From 3f9fd0ae7c2997e21f5b0fa3c3d1fab81a9f2db3 Mon Sep 17 00:00:00 2001 From: MUNET Claire Date: Tue, 23 Oct 2018 10:29:18 +0200 Subject: [PATCH] push des */*py de la version 1 du CIST --- Accas/A_ASSD.py | 2 +- Accas/A_AU_MOINS_UN.py | 2 +- Accas/A_AU_PLUS_UN.py | 2 +- Accas/A_AVANT.py | 2 +- Accas/A_A_CLASSER.py | 2 +- Accas/A_BLOC.py | 8 +- Accas/A_ENSEMBLE.py | 2 +- Accas/A_ETAPE.py | 8 +- Accas/A_EVAL.py | 2 +- Accas/A_EXCLUS.py | 2 +- Accas/A_FACT.py | 10 +- Accas/A_FICHIER.py | 2 +- Accas/A_FORM.py | 2 +- Accas/A_FORM_ETAPE.py | 2 +- Accas/A_JDC.py | 6 +- Accas/A_JDC_CATA.py | 5 +- Accas/A_MACRO.py | 2 +- Accas/A_MACRO_ETAPE.py | 4 +- Accas/A_MCBLOC.py | 10 +- Accas/A_MCFACT.py | 9 +- Accas/A_MCLIST.py | 6 +- Accas/A_MCNUPLET.py | 2 +- Accas/A_MCSIMP.py | 10 +- Accas/A_MEME_NOMBRE.py | 2 +- Accas/A_NUPLET.py | 2 +- Accas/A_OPER.py | 8 +- Accas/A_PRESENT_ABSENT.py | 2 +- Accas/A_PRESENT_PRESENT.py | 2 +- Accas/A_PROC.py | 11 +- Accas/A_PROC_ETAPE.py | 4 +- Accas/A_SALOME_ENTRY.py | 2 +- Accas/A_SENSIBILITE.py | 2 +- Accas/A_UN_PARMI.py | 2 +- Accas/A_VALIDATOR.py | 2 +- Accas/__init__.py | 2 +- Accas/old/__init__NonAster.py | 105 + Adao/ADAO_Cata_V0_V7_7_0.py | 1261 - Adao/ADAO_Cata_V0_V8_3_0_DEV.py | 1270 - Adao/configuration_Adao.py | 63 - Adao/monCode_Cata.py | 25 - Adao/prefs.py | 22 - Adao/prefs_Adao.py | 36 - Adao/properties.py | 5 - Adao/qtDico.py | 37 - Adao/qtEficas_Adao.py | 35 - Carmel3D/Carmel3D_Cata_V0.py | 553 - Carmel3D/Carmel3D_Cata_frequentiel_V0.py | 552 - Carmel3D/Carmel3D_Cata_frequentiel_V1.py | 903 - Carmel3D/__init__.py | 1 - Carmel3D/ajoutGroupe.py | 203 - Carmel3D/configuration_CARMEL3D.py | 43 - Carmel3D/opsCarmel.py | 38 - Carmel3D/prefs.py | 22 - Carmel3D/prefs_CARMEL3D.py | 39 - Carmel3D/properties.py | 25 - Carmel3D/style.py | 66 - Editeur/Eficas_utils.py | 12 +- Editeur/Objecttreeitem.py | 209 +- Editeur/TroisDPal.py | 4 +- Editeur/__init__.py | 2 +- Editeur/analyse_catalogue.py | 82 +- Editeur/analyse_catalogue_initial.py | 16 +- Editeur/autre_analyse_cata.py | 36 +- Editeur/basestyle.py | 2 +- Editeur/cata2Xml.py | 8 +- Editeur/catadesc.py | 2 +- Editeur/chercheBlocInto.py | 4 +- Editeur/chercheNbElem.py | 4 +- Editeur/comploader.py | 27 +- Editeur/fontes.py | 2 +- Editeur/import_code.py | 2 +- Editeur/listePatrons.py | 6 +- Editeur/old/comploaderqt4.py | 98 + Editeur/session.py | 62 +- Editeur/styles.py | 2 +- Editeur/titi.py | 141 + Editeur/uiinfo.py | 14 +- Efi2Xsd/AccasXsd.py | 281 - Efi2Xsd/MCAccasXsd.py | 408 - Efi2Xsd/__init__.py | 19 - Efi2Xsd/balises.py | 53 - Efi2Xsd/efficas.py | 2 - Efi2Xsd/introspect.py | 109 - Efi2Xsd/mapDesTypes.py | 122 - Efi2Xsd/readerEfiXsd.py | 310 - EssaiInit/efficas.py | 2 - EssaiInit/raw/efficas.py | 2685 -- EssaiInit/readerEfficas.py | 129 - Extensions/__init__.py | 2 +- Extensions/commande_comm.py | 68 +- Extensions/commentaire.py | 49 +- Extensions/etape_niveau.py | 38 +- Extensions/interpreteur_formule.py | 96 +- Extensions/jdc.py | 6 +- Extensions/jdc_include.py | 132 +- Extensions/localisation.py | 8 +- Extensions/mcnuplet.py | 54 +- Extensions/niveau.py | 4 +- Extensions/nuplet.py | 12 +- Extensions/param2.py | 3 +- Extensions/parametre.py | 98 +- Extensions/parametre_eval.py | 52 +- Extensions/pluginloader.py | 8 +- Extensions/translationQT4.py | 295 + Extensions/translationQT5.py | 6 +- Ihm/CONNECTOR.py | 2 +- Ihm/I_ASSD.py | 8 +- Ihm/I_AVANT.py | 4 +- Ihm/I_A_CLASSER.py | 4 +- Ihm/I_ENTITE.py | 30 +- Ihm/I_ETAPE.py | 188 +- Ihm/I_EVAL.py | 2 +- Ihm/I_EXCLUS.py | 8 +- Ihm/I_FICHIER.py | 4 +- Ihm/I_FONCTION.py | 14 +- Ihm/I_FORM_ETAPE.py | 108 +- Ihm/I_JDC.py | 396 +- Ihm/I_JDC_CATA.py | 6 +- Ihm/I_LASSD.py | 4 +- Ihm/I_MACRO_ETAPE.py | 487 +- Ihm/I_MCBLOC.py | 2 +- Ihm/I_MCCOMPO.py | 208 +- Ihm/I_MCFACT.py | 41 +- Ihm/I_MCLIST.py | 113 +- Ihm/I_MCSIMP.py | 265 +- Ihm/I_OBJECT.py | 46 +- Ihm/I_PRESENT_ABSENT.py | 6 +- Ihm/I_PRESENT_PRESENT.py | 4 +- Ihm/I_PROC_ETAPE.py | 26 +- Ihm/I_REGLE.py | 12 +- Ihm/I_UN_PARMI.py | 8 +- Ihm/I_VALIDATOR.py | 8 +- Ihm/__init__.py | 2 +- InterfaceQT4/__init__.py | 2 +- InterfaceQT4/aiemonWidgetPlusieursBase.py | 300 - InterfaceQT4/browser.py | 353 +- InterfaceQT4/compobloc.py | 12 +- InterfaceQT4/compocomm.py | 38 +- InterfaceQT4/compocommandecomm.py | 26 +- InterfaceQT4/compofact.py | 61 +- InterfaceQT4/compoformule.py | 54 +- InterfaceQT4/compojdc.py | 36 +- InterfaceQT4/compomacro.py | 32 +- InterfaceQT4/compomclist.py | 75 +- InterfaceQT4/compooper.py | 127 +- InterfaceQT4/compoparam.py | 32 +- InterfaceQT4/compoproc.py | 2 +- InterfaceQT4/composimp.py | 503 +- InterfaceQT4/configuration.py | 57 +- InterfaceQT4/determine.py | 30 + InterfaceQT4/editor.py | 1426 +- InterfaceQT4/editorJuillet.py | 1249 - InterfaceQT4/editorSsIhm.py | 1088 - InterfaceQT4/eficas_go.py | 65 +- InterfaceQT4/feuille.py | 79 +- InterfaceQT4/gereIcones.py | 75 +- InterfaceQT4/gereListe.py | 108 +- InterfaceQT4/gereListeAvril11.py | 349 - InterfaceQT4/gereRegles.py | 30 +- InterfaceQT4/gereTraduction.py | 2 +- InterfaceQT4/getVersion.py | 23 +- InterfaceQT4/groupe.py | 196 +- InterfaceQT4/monBoutonValide.py | 14 +- InterfaceQT4/monChoixCata.py | 9 +- InterfaceQT4/monChoixCode.py | 10 +- InterfaceQT4/monChoixCommande.py | 120 +- InterfaceQT4/monChoixLangue.py | 2 +- InterfaceQT4/monFonctionPanel.py | 56 +- InterfaceQT4/monGroupeOptionnel.py | 80 +- InterfaceQT4/monLabelClic.py | 2 +- InterfaceQT4/monLayoutBouton.py | 67 - InterfaceQT4/monRecherche.py | 6 +- InterfaceQT4/monRechercheCatalogue.py | 2 +- InterfaceQT4/monSelectVal.py | 41 +- InterfaceQT4/monViewRegles.py | 2 +- InterfaceQT4/monViewTexte.py | 6 +- InterfaceQT4/monWidget4a6RadioButton.py | 4 +- InterfaceQT4/monWidget4a6RadioButtonSD.py | 4 +- InterfaceQT4/monWidgetBloc.py | 4 +- InterfaceQT4/monWidgetCB.py | 29 +- InterfaceQT4/monWidgetCBIntoSug.py | 59 - InterfaceQT4/monWidgetCBSD.py | 18 +- InterfaceQT4/monWidgetCommande.py | 67 +- .../monWidgetCommandeDeplie1Niveau.py | 150 - InterfaceQT4/monWidgetCommentaire.py | 10 +- InterfaceQT4/monWidgetCreeParam.py | 28 +- InterfaceQT4/monWidgetDate.py | 2 +- InterfaceQT4/monWidgetFact.py | 34 +- InterfaceQT4/monWidgetFactPlie.py | 5 +- InterfaceQT4/monWidgetFormule.py | 65 +- InterfaceQT4/monWidgetHeure.py | 2 +- InterfaceQT4/monWidgetInactif.py | 2 +- InterfaceQT4/monWidgetInfo.py | 4 +- InterfaceQT4/monWidgetIntoSug.py | 38 +- InterfaceQT4/monWidgetMatrice.py | 48 +- InterfaceQT4/monWidgetNiveauFact.py | 180 - InterfaceQT4/monWidgetOptionnel.py | 24 +- InterfaceQT4/monWidgetParam.py | 22 +- .../monWidgetPlusieursASSDIntoOrdonne.py | 6 +- InterfaceQT4/monWidgetPlusieursBase.py | 111 +- InterfaceQT4/monWidgetPlusieursInto.py | 54 +- InterfaceQT4/monWidgetPlusieursIntoOrdonne.py | 54 +- InterfaceQT4/monWidgetPlusieursPlie.py | 26 +- InterfaceQT4/monWidgetPlusieursTuple.py | 308 +- InterfaceQT4/monWidgetPlusieursTuple2.py | 2 +- InterfaceQT4/monWidgetPlusieursTuple3.py | 2 +- .../monWidgetPlusieursTupleAvril11.py | 495 - InterfaceQT4/monWidgetPlusieursTupleN.py | 73 - InterfaceQT4/monWidgetRadioButton.py | 14 +- InterfaceQT4/monWidgetSDCOInto.py | 26 +- InterfaceQT4/monWidgetSimpBase.py | 18 +- InterfaceQT4/monWidgetSimpBool.py | 8 +- InterfaceQT4/monWidgetSimpComplexe.py | 40 +- InterfaceQT4/monWidgetSimpFichier.py | 2 +- InterfaceQT4/monWidgetSimpSalome.py | 10 +- InterfaceQT4/monWidgetSimpTuple.py | 17 +- InterfaceQT4/monWidgetSimpTuple2.py | 2 +- InterfaceQT4/monWidgetSimpTuple3.py | 2 +- InterfaceQT4/monWidgetSimpTupleN.py | 103 - InterfaceQT4/monWidgetSimpTxt.py | 2 +- InterfaceQT4/monWidgetTableau.py | 73 - InterfaceQT4/monWidgetUniqueSDCO.py | 4 +- InterfaceQT4/monWidgetVide.py | 10 +- InterfaceQT4/old/utilIcons.py | 78 + InterfaceQT4/politiquesValidation.py | 117 +- InterfaceQT4/qtEficas.py | 318 +- InterfaceQT4/qtEficasSsIhm.py | 173 - InterfaceQT4/qtEficas_with_log.py | 4 +- InterfaceQT4/qtSaisie.py | 55 +- InterfaceQT4/readercata.py | 367 +- InterfaceQT4/readercataXML.py | 83 - InterfaceQT4/ssIhm.py | 13 +- .../browser.py} | 337 +- InterfaceQT4/toto/groupe.py | 198 + InterfaceQT4/toto/monWidgetFact.py | 66 + .../toto/monWidgetFactPlie.py | 28 +- InterfaceQT4/typeNode.py | 84 +- InterfaceQT4/viewManager.py | 57 +- InterfaceQT4/viewManagerSsIhm.py | 416 - MAP/configuration_MAP.py | 60 - MAP/mapcata.py | 2283 - MAP/prefs.py | 22 - MAP/prefs_MAP.py | 59 - MAP/properties.py | 24 - MAP/style.py | 19 - MED/CataAZ.py | 210 - MED/Elementary_Lists_52996_Cata.py | 86 - MED/Elementary_Lists_53000_Cata.py | 52 - MED/Elementary_Lists_53013_Cata.py | 59 - MED/Elementary_Lists_53036_Cata.py | 59 - MED/Elementary_Lists_Cata.py | 59 - MED/Global_Condition_Cata.py | 53 - MED/Many_Concepts_52983_Cata.py | 39 - MED/Many_Concepts_52988_Cata.py | 76 - MED/Many_Concepts_52989_Cata.py | 77 - MED/Many_Concepts_52992_Cata.py | 76 - MED/Matrix_Cata.py | 87 - MED/Nested_Cond_52945_Cata.py | 61 - MED/Nested_Cond_52946_Cata.py | 62 - MED/Nested_Cond_52947_Cata.py | 17 - MED/Nested_Cond_52948_Cata.py | 21 - MED/Nested_Cond_52949_Cata.py | 19 - MED/Nested_Cond_52952_Cata.py | 60 - MED/Separate_Blocks_52958_Cata.py | 29 - MED/Separate_Blocks_52963_Cata.py | 40 - MED/Separate_Blocks_52966_Cata.py | 48 - MED/Separate_Blocks_52972_Cata.py | 66 - MED/Separate_Blocks_52975_Cata.py | 66 - MED/cata_diapo.py | 48 - MED/cata_med.py | 29 - MED/configuration_MED.py | 43 - MED/monCode_qtEficas.py | 33 - MED/prefs.py | 22 - MED/prefs_MED.py | 48 - MED/prefs_monCode.py | 68 - MED/properties.py | 24 - MED/qtEficas_AZ.py | 32 - MED/qtEficas_Med.py | 32 - MT/MT_Cata_V1.py | 944 - MT/MT_Cata_V2016.py | 1066 - MT/configuration_MT.py | 43 - MT/mesScripts_MT.py | 70 - MT/prefs.py | 22 - MT/prefs_MT.py | 42 - MT/properties.py | 24 - MT/qtEficasMT.py | 38 - MT/reecrit_comm.py_VOprofile.py | 58 - MT/txtZone.py | 227 - MT/txtZonePN.py | 227 - Noyau/N_ASSD.py | 36 +- Noyau/N_BLOC.py | 44 +- Noyau/N_CO.py | 6 +- Noyau/N_CONVERT.py | 12 +- Noyau/N_CR.py | 22 +- Noyau/N_ENTITE.py | 63 +- Noyau/N_ETAPE.py | 127 +- Noyau/N_Exception.py | 11 +- Noyau/N_FACT.py | 41 +- Noyau/N_FONCTION.py | 4 +- Noyau/N_FORM.py | 2 +- Noyau/N_FORM_ETAPE.py | 2 +- Noyau/N_GEOM.py | 10 +- Noyau/N_JDC.py | 148 +- Noyau/N_JDC_CATA.py | 22 +- Noyau/N_LASSD.py | 2 +- Noyau/N_MACRO.py | 37 +- Noyau/N_MACRO_ETAPE.py | 160 +- Noyau/N_MCBLOC.py | 27 +- Noyau/N_MCCOMPO.py | 177 +- Noyau/N_MCFACT.py | 24 +- Noyau/N_MCLIST.py | 45 +- Noyau/N_MCSIMP.py | 44 +- Noyau/N_OBJECT.py | 33 +- Noyau/N_OPER.py | 35 +- Noyau/N_OPS.py | 6 +- Noyau/N_PROC.py | 53 +- Noyau/N_PROC_ETAPE.py | 8 +- Noyau/N_REGLE.py | 4 +- Noyau/N_SENSIBILITE.py | 12 +- Noyau/N_SIMP.py | 79 +- Noyau/N_VALIDATOR.py | 332 +- Noyau/N__F.py | 2 +- Noyau/N_types.py | 46 +- Noyau/N_utils.py | 28 +- Noyau/__init__.py | 4 +- Noyau/context.py | 15 +- Noyau/nommage.py | 20 +- Noyau/old/N_ASSD_NonAster.py | 136 + Noyau/oldAster/N_info.py | 287 + Noyau/oldAster/ascheckers.py | 143 + Noyau/oldAster/asnom.py | 132 + Noyau/oldAster/asojb.py | 398 + Noyau/oldAster/basetype.py | 161 + Noyau/strfunc.py | 26 +- OldCodes/Aster/Cata/__init__.py | 19 - OldCodes/Aster/Cata/cataSTA11/__init__.py | 18 - OldCodes/Aster/Cata/cataSTA11/cata.py | 34413 ---------------- OldCodes/Aster/Cata/cataSTA11/ops.py | 507 - OldCodes/Aster/__init__.py | 19 - OldCodes/Aster/alphasdist.py | 147 - OldCodes/Aster/configuration_ASTER.py | 42 - OldCodes/Aster/eficasManager.py | 117 - OldCodes/Aster/eficas_aster.py | 35 - OldCodes/Aster/prefs.py | 22 - OldCodes/Aster/prefs_ASTER.py | 66 - OldCodes/Aster/properties.py | 21 - OldCodes/Aster/qtEficas_aster.py | 32 - OldCodes/Aster/qtGroup.py | 36 - OldCodes/Aster/reecrit_comm.py | 45 - OldCodes/Aster/sdist.py | 180 - OldCodes/Aster/style.py | 84 - OldCodes/Aster/test_eficas.py | 45 - OldCodes/CarmelCND/CarmelCND_Cata.py | 75 - OldCodes/CarmelCND/PourTraductionCarmel.py | 21 - OldCodes/CarmelCND/PrepareRunCarmel.py | 24 - OldCodes/CarmelCND/acquiertGroupes.py | 123 - OldCodes/CarmelCND/configuration_CARMELCND.py | 43 - OldCodes/CarmelCND/prefs.py | 22 - OldCodes/CarmelCND/prefs_CARMELCND.py | 43 - OldCodes/CarmelCND/qtEficas_CarmelCND.py | 32 - OldCodes/CarmelCS/CarmelCS_cata.py | 25 - OldCodes/CarmelCS/configuration_CARMELCS.py | 43 - OldCodes/CarmelCS/pilotyacsCS.py | 40 - OldCodes/CarmelCS/prefs.py | 22 - OldCodes/CarmelCS/prefs_CARMELCS.py | 45 - OldCodes/CarmelCS/qtEficas_CarmelCS.py | 33 - .../OpenTURNS_Cata_Study_V1.py | 1436 - .../OpenTURNS_Cata_Study_V10.py | 60 - .../OpenTURNS_Cata_Study_V2.py | 1486 - .../OpenTURNS_Cata_Study_V3.py | 1598 - .../OpenTURNS_Cata_Study_V4.py | 1630 - .../OpenTURNS_Cata_Study_V5.py | 1528 - .../OpenTURNS_Cata_Study_V6.py | 1726 - .../OpenTURNS_Cata_Study_V7.py | 1726 - .../OpenTURNS_Cata_Study_V8.py | 1748 - .../OpenTURNS_Cata_Study_V9.py | 1718 - .../configuration_OPENTURNS_STUDY.py | 59 - .../Openturns_Study/prefs_OPENTURNS_STUDY.py | 56 - OldCodes/Openturns_Study/properties.py | 25 - .../qtEficas_openturns_study.py | 33 - OldCodes/Openturns_Study/sdistOTqt.py | 103 - OldCodes/Openturns_Study/style.py | 1 - .../Openturns_Study/test/MinMax_ExpPlane.py | 68 - .../OpenTURNS_Cata_Wrapper_V1.py | 216 - .../OpenTURNS_Cata_Wrapper_V2.py | 206 - .../OpenTURNS_Cata_Wrapper_V3.py | 301 - .../OpenTURNS_Cata_Wrapper_V4.py | 326 - .../configuration_OPENTURNS_WRAPPER.py | 59 - .../prefs_OPENTURNS_WRAPPER.py | 55 - OldCodes/Openturns_Wrapper/properties.py | 25 - .../qtEficas_openturns_wrapper.py | 36 - OldCodes/Openturns_Wrapper/sdistOTqt.py | 103 - OldCodes/Openturns_Wrapper/style.py | 1 - OldCodes/PSEN_N1/PSEN_Cata_N1.py | 199 - OldCodes/PSEN_N1/configuration_PSEN_N1.py | 43 - OldCodes/PSEN_N1/mesScripts_PSEN_N1.py | 56 - OldCodes/PSEN_N1/opsPSEN_N1.py | 112 - OldCodes/PSEN_N1/prefs.py | 22 - OldCodes/PSEN_N1/prefs_PSEN_N1.py | 41 - OldCodes/PSEN_N1/properties.py | 24 - OldCodes/PSEN_N1/qtEficas_PSEN_N1.py | 34 - OldCodes/PSEN_N1/run.py | 15 - OldCodes/Sep/SEP_Cata_V0.py | 114 - OldCodes/Sep/SEP_Cata_V1.py | 127 - OldCodes/Sep/SEP_Cata_V1_2.py | 127 - OldCodes/Sep/SEP_Cata_V1_3.py | 126 - OldCodes/Sep/SEP_Cata_V1_4.py | 150 - OldCodes/Sep/__init__.py | 19 - OldCodes/Sep/configuration_SEP.py | 50 - OldCodes/Sep/prefs.py | 62 - OldCodes/Sep/prefs_SEP.py | 35 - OldCodes/Sep/properties.py | 24 - OldCodes/Sep/qtEficas_SEP.py | 30 - OldCodes/Sep/sdistSEP.py | 99 - OldCodes/Sep/style.py | 66 - OldCodes/ZCracks/configuration_ZCRACKS.py | 43 - OldCodes/ZCracks/mesScripts_ZCRACKS.py | 28 - OldCodes/ZCracks/monCode_Cata.py | 66 - OldCodes/ZCracks/prefs.py | 22 - OldCodes/ZCracks/prefs_ZCRACKS.py | 42 - OldCodes/ZCracks/properties.py | 24 - OldCodes/ZCracks/qtEficas_ZCracks.py | 33 - OldCodes/ts/Telemac_Cata.py | 2666 -- OldCodes/ts/a.py | 8 - OldCodes/ts/dicoparser.py | 160 - OldCodes/ts/prefs.py | 24 - OldCodes/ts/test_cata.py | 22 - OldCodes/ts/test_dicoparser.py | 140 - OldCodes/ts/test_translator.py | 19 - OldCodes/ts/translator.py | 89 - OldCodes/ts/tsparser.py | 127 - .../ExtractGeneratorLoadLineandTransfoDico.py | 290 +- PSEN_Eficas/ExtractGeneratorandLoadList.py | 70 - PSEN_Eficas/PSEN/OutLog.py | 2 + PSEN_Eficas/PSEN/PFWrapper.py | 950 + PSEN_Eficas/PSEN/PSEN_GUI.py | 1220 - PSEN_Eficas/PSEN/PSENconfig.py | 7 + PSEN_Eficas/PSEN/PSSEWrapper.py | 1909 +- PSEN_Eficas/PSEN/comfile.py | 1127 + PSEN_Eficas/PSEN/correct_comtask.py | 1138 + PSEN_Eficas/PSEN/ecd.py | 125 + PSEN_Eficas/PSEN/read_pfd_wrapper.py | 168 + PSEN_Eficas/PSEN/run_in_PFfunction.py | 510 + PSEN_Eficas/PSEN/runreadOPF.py | 116 + PSEN_Eficas/PSEN/support_functions.py | 3005 +- PSEN_Eficas/PSEN/support_functionsPF.py | 2380 ++ PSEN_Eficas/PSEN/usrCmd.py | 29 + PSEN_Eficas/PSEN/usrCmdPF.py | 29 + PSEN_Eficas/PSEN_Cata.py | 310 +- PSEN_Eficas/PSEN_Cata_PF.py | 2446 ++ {EssaiInit/raw => PSEN_Eficas}/__init__.py | 0 PSEN_Eficas/com.py | 607 + PSEN_Eficas/debugPFWrapper.py | 28 + PSEN_Eficas/mesScripts_PSEN.py | 113 - PSEN_Eficas/opsPSEN.py | 32 +- PSEN_Eficas/opsPSEN_PF.py | 112 + PSEN_Eficas/prefs_PSEN.py | 8 +- PSEN_Eficas/qtEficas_PSEN.py | 19 +- PSEN_Eficas/usrCmdPF.py | 29 + ProcessOutputs_Eficas/EssaiMulti.py | 88 - .../ExtractGeneratorLoadLineandTransfoDico.py | 1428 +- ...tGeneratorLoadLineandTransfoDicoProcess.py | 631 - ProcessOutputs_Eficas/PSEN_Cata_N1.py | 92 +- ProcessOutputs_Eficas/ProcessOutputs_Cata.py | 240 - ProcessOutputs_Eficas/TreatOutputs/Chart.py | 84 + ProcessOutputs_Eficas/TreatOutputs/Compute.py | 64 + .../TreatOutputs/Compute_save.py | 214 + ProcessOutputs_Eficas/TreatOutputs/Display.py | 844 + ProcessOutputs_Eficas/TreatOutputs/Options.py | 177 + .../TreatOutputs/Processor.py | 615 + ProcessOutputs_Eficas/TreatOutputs/Run.py | 744 + ProcessOutputs_Eficas/TreatOutputs/RunACCC.py | 886 + .../TreatOutputs/SplitandJoinOutputFile.py | 105 + .../TreatOutputs/TestACCCfile.py | 43 + .../TreatOutputs/Threshold.py | 137 + .../TreatOutputs/UpdateOptions.py | 388 + ProcessOutputs_Eficas/TreatOutputs/Utils.py | 391 + .../TreatOutputs/WriteFuncs.py | 609 + .../TreatOutputs/WriteFuncsCsv.py | 329 + .../TreatOutputs/__init__.py | 10 +- ProcessOutputs_Eficas/TreatOutputs/dico.py | 1 + ProcessOutputs_Eficas/TreatOutputs/dicoN1.py | 1 + .../TreatOutputs/dicoN1_process.py | 1 + .../TreatOutputs/dicoProcessor.py | 10 + ProcessOutputs_Eficas/TreatOutputs/dico_N2.py | 1 + .../TreatOutputs/dico_save.py | 1 + .../TreatOutputs/initPSSE.py | 33 + .../__init__.py | 14 +- .../configuration_PSEN_N1.py | 2 +- ProcessOutputs_Eficas/debugRun.py | 14 + ProcessOutputs_Eficas/dico_print.py | 30 + ProcessOutputs_Eficas/mesScripts_PSEN_N1.py | 35 +- ProcessOutputs_Eficas/opsPSEN_N1.py | 248 +- .../opsPSEN_N1_PF - save1906.py | 248 + ProcessOutputs_Eficas/opsPSEN_SUITE.py | 48 + .../opsOT.py => ProcessOutputs_Eficas/pn.py | 29 +- ProcessOutputs_Eficas/prefs_PSEN_N1.py | 7 +- ProcessOutputs_Eficas/qtEficas_PSEN_N1.py | 16 +- SPECA/SPECA_Cata_V1.py | 542 - SPECA/SPECA_Cata_V2016.py | 415 - SPECA/SPECA_Cata_V2_00.py | 458 - SPECA/configuration_SPECA.py | 43 - SPECA/prefs.py | 4 - SPECA/prefs_SPECA.py | 38 - SPECA/properties.py | 24 - Telemac/Telemac2d_Cata_auto.py | 4244 -- Telemac/__init__.py | 19 - Telemac/configuration_TELEMAC.py | 43 - Telemac/dicoCasEnToCata.py | 622 - Telemac/dicoCasFrToCata.py | 622 - Telemac/enum_Telemac2d_auto.py | 1435 - Telemac/prefs.py | 23 - Telemac/prefs_TELEMAC.py | 51 - Telemac/properties.py | 24 - Telemac/reecrit_cas_en_comm.py | 57 - Telemac/transforme/reEcrittsEn.py | 139 - Telemac/transforme/reEcrittsFr.py | 139 - Tests/EficasEngineTest.py | 249 - Tests/HTMLTestRunner.py | 824 - Tests/compare.py | 68 - Tests/config.py | 8 - Tests/eficas_aster.py | 32 - Tests/prefs.py | 115 - Tests/properties.py | 25 - Tests/run.py | 201 - Tests/style.py | 63 - Tests/testastest/basetest.py | 69 - Tests/testastest/testaster1.py | 5 - Tests/testastest/testaster10.py | 5 - Tests/testastest/testaster2.py | 6 - Tests/testastest/testaster3.py | 5 - Tests/testastest/testaster4.py | 5 - Tests/testastest/testaster5.py | 5 - Tests/testastest/testaster6.py | 5 - Tests/testastest/testaster7.py | 6 - Tests/testastest/testaster8.py | 5 - Tests/testastest/testaster9.py | 5 - Tests/testastest9/basetest.py | 69 - Tests/testastest9/testaster1.py | 5 - Tests/testastest9/testaster10.py | 5 - Tests/testastest9/testaster2.py | 6 - Tests/testastest9/testaster3.py | 5 - Tests/testastest9/testaster4.py | 5 - Tests/testastest9/testaster5.py | 5 - Tests/testastest9/testaster6.py | 5 - Tests/testastest9/testaster7.py | 6 - Tests/testastest9/testaster8.py | 5 - Tests/testastest9/testaster9.py | 5 - Tests/testcomm/testcomm.py | 70 - Tests/testcomm7/testcomm.py | 70 - Tests/testcomm9/testcomm.py | 70 - Tests/testelem/cata1.py | 82 - Tests/testelem/cata2.py | 67 - Tests/testelem/cata3.py | 83 - Tests/testelem/cata5.py | 205 - Tests/testelem/testaz76.py | 399 - Tests/testelem/testbloc1.py | 176 - Tests/testelem/testfact1.py | 97 - Tests/testelem/testfact2.py | 158 - Tests/testelem/testitem1.py | 73 - Tests/testelem/testjdc1.py | 455 - Tests/testelem/testjdc2.py | 166 - Tests/testelem/testjdc3.py | 141 - Tests/testelem/testjdc4.py | 60 - Tests/testelem/testmacro1.py | 67 - Tests/testelem/testoper1.py | 185 - Tests/testelem/testparseur.py | 108 - Tests/testelem/testposition1.py | 256 - Tests/testelem/testsimp0.py | 47 - Tests/testelem/testsimp1.py | 289 - Tests/testelem/testsimp2.py | 64 - Tests/testelem/testsimp3.py | 138 - Tests/testelem/testsimp4.py | 124 - Tests/testelem/testsimp5.py | 98 - Tests/testelem/testvalidator1.py | 215 - Tests/testelem/testvalidator2.py | 323 - Tests/testelem7/testaz76.py | 399 - Tests/testihm/common.py | 204 - Tests/testihm/testihm1.py | 337 - Tests/testihm/testihm2.py | 70 - Tests/testihm/testihm3.py | 93 - Tests/testihm/testihm4.py | 55 - Tests/testihm7/common.py | 206 - Tests/testihm7/testihm1.py | 334 - Tests/testihm7/testihm2.py | 70 - Tests/testihm7/testihm4.py | 55 - Tests/testihm9/common.py | 209 - Tests/testihm9/testihm1.py | 334 - Tests/testihm9/testihm2.py | 70 - Tests/testihm9/testihm3.py | 93 - Tests/testihm9/testihm4.py | 55 - Traducteur/__init__.py | 19 - Traducteur/calcG.py | 157 - Traducteur/changeValeur.py | 317 - Traducteur/dictErreurs.py | 110 - Traducteur/inseremocle.py | 289 - Traducteur/load.py | 147 - Traducteur/log.py | 48 - Traducteur/mocles.py | 164 - Traducteur/movemocle.py | 346 - Traducteur/parseur.py | 274 - Traducteur/regles.py | 524 - Traducteur/removemocle.py | 215 - Traducteur/renamemocle.py | 189 - Traducteur/traduitV10V11.py | 1631 - Traducteur/traduitV11V12.py | 619 - Traducteur/traduitV7V8.py | 520 - Traducteur/traduitV8V9.py | 437 - Traducteur/traduitV9V10.py | 749 - Traducteur/utils.py | 45 - Traducteur/visiteur.py | 85 - UiQT5/Tuple2.py | 85 + UiQT5/Tuple3.py | 96 + UiQT5/desBaseWidget.py | 74 + UiQT5/desChoixCata.py | 99 + UiQT5/desChoixCode.py | 96 + UiQT5/desChoixCommandes.py | 218 + UiQT5/desChoixLangue.py | 82 + UiQT5/desGroupeOptionnel.py | 86 + UiQT5/desPBOptionnelMT.py | 56 + UiQT5/desRecherche.py | 58 + UiQT5/desRechercheCatalogue.py | 65 + UiQT5/desSelectVal.py | 137 + UiQT5/desViewRegles.py | 56 + UiQT5/desViewTexte.py | 50 + UiQT5/desVisu.py | 41 + UiQT5/desWidget4a6RadioButton.py | 180 + UiQT5/desWidgetBloc.py | 49 + UiQT5/desWidgetCB.py | 142 + UiQT5/desWidgetCommande.py | 307 + UiQT5/desWidgetCommentaire.py | 226 + UiQT5/desWidgetCreeParam.py | 130 + UiQT5/desWidgetDate.py | 120 + UiQT5/desWidgetFact.py | 188 + UiQT5/desWidgetFactPlie.py | 105 + UiQT5/desWidgetFormule.py | 335 + UiQT5/desWidgetHeure.py | 110 + UiQT5/desWidgetInactif.py | 206 + UiQT5/desWidgetInformation.py | 58 + UiQT5/desWidgetIntoSug.py | 209 + UiQT5/desWidgetMatrice.py | 92 + UiQT5/desWidgetOptionnel.py | 111 + UiQT5/desWidgetOptionnelMC.py | 86 + UiQT5/desWidgetParam.py | 285 + UiQT5/desWidgetPlusieursBase.py | 340 + UiQT5/desWidgetPlusieursInto.py | 245 + UiQT5/desWidgetPlusieursIntoOrdonne.py | 351 + UiQT5/desWidgetPlusieursPlie.py | 132 + UiQT5/desWidgetPlusieursTuple.py | 277 + UiQT5/desWidgetRadioButton.py | 140 + UiQT5/desWidgetSDCOInto.py | 164 + UiQT5/desWidgetSimpBase.py | 123 + UiQT5/desWidgetSimpBool.py | 127 + UiQT5/desWidgetSimpComplexe.py | 171 + UiQT5/desWidgetSimpFichier.py | 157 + UiQT5/desWidgetSimpSalome.py | 158 + UiQT5/desWidgetSimpTxt.py | 123 + UiQT5/desWidgetTuple2.py | 152 + UiQT5/desWidgetTuple3.py | 161 + UiQT5/desWidgetUniqueSDCO.py | 119 + UiQT5/desWidgetVide.py | 140 + UiQT5/myMain.py | 302 + Validation/V_AU_MOINS_UN.py | 4 +- Validation/V_AU_PLUS_UN.py | 6 +- Validation/V_A_CLASSER.py | 6 +- Validation/V_ENSEMBLE.py | 4 +- Validation/V_ETAPE.py | 48 +- Validation/V_EXCLUS.py | 4 +- Validation/V_JDC.py | 16 +- Validation/V_MACRO_ETAPE.py | 36 +- Validation/V_MCBLOC.py | 12 +- Validation/V_MCCOMPO.py | 22 +- Validation/V_MCFACT.py | 12 +- Validation/V_MCLIST.py | 8 +- Validation/V_MCSIMP.py | 26 +- Validation/V_MEME_NOMBRE.py | 4 +- Validation/V_PRESENT_ABSENT.py | 4 +- Validation/V_PRESENT_PRESENT.py | 4 +- Validation/V_PROC_ETAPE.py | 14 +- Validation/V_UN_PARMI.py | 4 +- Validation/__init__.py | 2 +- VirtualPolymer/VP_Cata_V1.py | 413 - VirtualPolymer/VP_Cata_V2.py | 303 - VirtualPolymer/configuration_VP.py | 43 - VirtualPolymer/lienDB.py | 537 - VirtualPolymer/listesDB.py | 80 - VirtualPolymer/prefs.py | 22 - VirtualPolymer/prefs_VP.py | 45 - VirtualPolymer/properties.py | 24 - VirtualPolymer/qtEficasVP.py | 39 - boundary_conditions/__init__.py | 0 boundary_conditions/appli.py | 45 - .../boundary_conditions_cata.py | 59 - .../configuration_boundary_conditions.py | 48 - .../generator_boundary_conditions.py | 57 - boundary_conditions/prefs.py | 18 - .../prefs_boundary_conditions.py | 21 - convert/__init__.py | 2 +- convert/autre_parseur.py | 88 +- convert/convert_TELEMAC.py | 72 +- convert/convert_XML.py | 78 - convert/convert_dico.py | 100 - convert/convert_map.py | 6 +- convert/convert_pyth.py | 6 +- convert/convert_python.py | 20 +- .../oldTelemac/convert_SEP.py | 26 +- convert/oldTelemac/convert_TELEMAC2.py | 501 + convert/oldTelemac/convert_TELEMAC_V0py | 492 + convert/oldTelemac/convert_asterv5.py | 130 + .../oldTelemac/convert_cuve2dg.py | 26 +- .../oldTelemac/convert_file_from_template.py | 12 +- convert/oldTelemac/convert_homard.py | 125 + convert/oldTelemac/convert_ini.py | 117 + .../convert_openturns_study.py | 2 +- .../convert_openturns_wrapper.py | 2 +- .../oldTelemac/convert_perfect.py | 25 +- convert/oldTelemac/convert_python6.py | 62 + convert/oldTelemac/parseur_cas.py | 340 + convert/parseur_python.py | 83 +- convert/readXml.py | 8 - convert/sauve/convert_TELEMAC.py | 464 + generator/Formatage.py | 126 +- generator/__init__.py | 2 +- .../generator_CARMEL3D.py | 4 +- .../generator_CARMEL3D_frequentiel.py | 70 +- .../generator_CARMEL3D_temporel.py | 22 +- .../generator_CARMELCND.py | 2 +- .../generator_CARMELCS.py | 2 +- generator/generator_GroupMA.py | 2 +- generator/generator_PSEN.py | 2 +- generator/generator_ProcessOutputs.py | 2 +- generator/generator_TELEMAC.py | 139 +- generator/generator_XML.py | 86 - generator/{oldCodes => }/generator_ZCracks.py | 2 +- generator/generator_aplat.py | 16 +- generator/generator_dico.py | 13 +- generator/generator_dicoImbrique.py | 7 +- .../generator_file_from_template.py | 2 +- generator/{oldCodes => }/generator_ini.py | 2 +- generator/generator_map.py | 8 +- generator/generator_modification.py | 2 +- generator/{oldCodes => }/generator_pyth.py | 2 +- generator/generator_python.py | 54 +- generator/generator_vers3DSalome.py | 32 +- generator/oldCodes/generator_python6.py | 27 +- mascaret/__init__.py | 0 mascaret/appli.py | 76 - mascaret/configuration_mascaret.py | 46 - mascaret/mascaret_V7_cata.py | 107 - mascaret/prefs.py | 18 - mascaret/prefs_mascaret.py | 28 - monCode/Global_Condition_Cata.py | 53 - monCode/Many_Concepts_52992_Cata.py | 76 - monCode/Matrix_Cata.py | 87 - monCode/prefs_monCode.py | 69 - monCode/properties.py | 24 - 756 files changed, 40019 insertions(+), 116401 deletions(-) create mode 100644 Accas/old/__init__NonAster.py delete mode 100755 Adao/ADAO_Cata_V0_V7_7_0.py delete mode 100755 Adao/ADAO_Cata_V0_V8_3_0_DEV.py delete mode 100644 Adao/configuration_Adao.py delete mode 100644 Adao/monCode_Cata.py delete mode 100644 Adao/prefs.py delete mode 100644 Adao/prefs_Adao.py delete mode 100644 Adao/properties.py delete mode 100755 Adao/qtDico.py delete mode 100755 Adao/qtEficas_Adao.py delete mode 100644 Carmel3D/Carmel3D_Cata_V0.py delete mode 100755 Carmel3D/Carmel3D_Cata_frequentiel_V0.py delete mode 100644 Carmel3D/Carmel3D_Cata_frequentiel_V1.py delete mode 100644 Carmel3D/__init__.py delete mode 100644 Carmel3D/ajoutGroupe.py delete mode 100644 Carmel3D/configuration_CARMEL3D.py delete mode 100644 Carmel3D/opsCarmel.py delete mode 100644 Carmel3D/prefs.py delete mode 100644 Carmel3D/prefs_CARMEL3D.py delete mode 100644 Carmel3D/properties.py delete mode 100644 Carmel3D/style.py create mode 100644 Editeur/old/comploaderqt4.py create mode 100644 Editeur/titi.py delete mode 100755 Efi2Xsd/AccasXsd.py delete mode 100644 Efi2Xsd/MCAccasXsd.py delete mode 100644 Efi2Xsd/__init__.py delete mode 100644 Efi2Xsd/balises.py delete mode 100644 Efi2Xsd/efficas.py delete mode 100644 Efi2Xsd/introspect.py delete mode 100755 Efi2Xsd/mapDesTypes.py delete mode 100755 Efi2Xsd/readerEfiXsd.py delete mode 100644 EssaiInit/efficas.py delete mode 100644 EssaiInit/raw/efficas.py delete mode 100755 EssaiInit/readerEfficas.py create mode 100644 Extensions/translationQT4.py delete mode 100644 InterfaceQT4/aiemonWidgetPlusieursBase.py create mode 100644 InterfaceQT4/determine.py delete mode 100755 InterfaceQT4/editorJuillet.py delete mode 100755 InterfaceQT4/editorSsIhm.py delete mode 100644 InterfaceQT4/gereListeAvril11.py delete mode 100644 InterfaceQT4/monLayoutBouton.py delete mode 100644 InterfaceQT4/monWidgetCBIntoSug.py delete mode 100644 InterfaceQT4/monWidgetCommandeDeplie1Niveau.py delete mode 100644 InterfaceQT4/monWidgetNiveauFact.py delete mode 100644 InterfaceQT4/monWidgetPlusieursTupleAvril11.py delete mode 100644 InterfaceQT4/monWidgetPlusieursTupleN.py delete mode 100644 InterfaceQT4/monWidgetSimpTupleN.py delete mode 100644 InterfaceQT4/monWidgetTableau.py create mode 100644 InterfaceQT4/old/utilIcons.py delete mode 100755 InterfaceQT4/qtEficasSsIhm.py delete mode 100644 InterfaceQT4/readercataXML.py rename InterfaceQT4/{bizarreEditorDu5aout.py => toto/browser.py} (74%) create mode 100644 InterfaceQT4/toto/groupe.py create mode 100644 InterfaceQT4/toto/monWidgetFact.py rename Telemac/qtEficas_Telemac.py => InterfaceQT4/toto/monWidgetFactPlie.py (57%) mode change 100755 => 100644 delete mode 100644 InterfaceQT4/viewManagerSsIhm.py delete mode 100644 MAP/configuration_MAP.py delete mode 100755 MAP/mapcata.py delete mode 100644 MAP/prefs.py delete mode 100644 MAP/prefs_MAP.py delete mode 100644 MAP/properties.py delete mode 100644 MAP/style.py delete mode 100755 MED/CataAZ.py delete mode 100644 MED/Elementary_Lists_52996_Cata.py delete mode 100644 MED/Elementary_Lists_53000_Cata.py delete mode 100644 MED/Elementary_Lists_53013_Cata.py delete mode 100644 MED/Elementary_Lists_53036_Cata.py delete mode 100755 MED/Elementary_Lists_Cata.py delete mode 100755 MED/Global_Condition_Cata.py delete mode 100644 MED/Many_Concepts_52983_Cata.py delete mode 100644 MED/Many_Concepts_52988_Cata.py delete mode 100644 MED/Many_Concepts_52989_Cata.py delete mode 100644 MED/Many_Concepts_52992_Cata.py delete mode 100644 MED/Matrix_Cata.py delete mode 100644 MED/Nested_Cond_52945_Cata.py delete mode 100644 MED/Nested_Cond_52946_Cata.py delete mode 100644 MED/Nested_Cond_52947_Cata.py delete mode 100644 MED/Nested_Cond_52948_Cata.py delete mode 100644 MED/Nested_Cond_52949_Cata.py delete mode 100644 MED/Nested_Cond_52952_Cata.py delete mode 100644 MED/Separate_Blocks_52958_Cata.py delete mode 100644 MED/Separate_Blocks_52963_Cata.py delete mode 100644 MED/Separate_Blocks_52966_Cata.py delete mode 100644 MED/Separate_Blocks_52972_Cata.py delete mode 100644 MED/Separate_Blocks_52975_Cata.py delete mode 100644 MED/cata_diapo.py delete mode 100644 MED/cata_med.py delete mode 100644 MED/configuration_MED.py delete mode 100755 MED/monCode_qtEficas.py delete mode 100644 MED/prefs.py delete mode 100644 MED/prefs_MED.py delete mode 100644 MED/prefs_monCode.py delete mode 100644 MED/properties.py delete mode 100755 MED/qtEficas_AZ.py delete mode 100755 MED/qtEficas_Med.py delete mode 100644 MT/MT_Cata_V1.py delete mode 100644 MT/MT_Cata_V2016.py delete mode 100644 MT/configuration_MT.py delete mode 100644 MT/mesScripts_MT.py delete mode 100644 MT/prefs.py delete mode 100644 MT/prefs_MT.py delete mode 100644 MT/properties.py delete mode 100755 MT/qtEficasMT.py delete mode 100755 MT/reecrit_comm.py_VOprofile.py delete mode 100644 MT/txtZone.py delete mode 100644 MT/txtZonePN.py create mode 100644 Noyau/old/N_ASSD_NonAster.py create mode 100644 Noyau/oldAster/N_info.py create mode 100644 Noyau/oldAster/ascheckers.py create mode 100644 Noyau/oldAster/asnom.py create mode 100644 Noyau/oldAster/asojb.py create mode 100644 Noyau/oldAster/basetype.py delete mode 100644 OldCodes/Aster/Cata/__init__.py delete mode 100644 OldCodes/Aster/Cata/cataSTA11/__init__.py delete mode 100755 OldCodes/Aster/Cata/cataSTA11/cata.py delete mode 100644 OldCodes/Aster/Cata/cataSTA11/ops.py delete mode 100644 OldCodes/Aster/__init__.py delete mode 100644 OldCodes/Aster/alphasdist.py delete mode 100644 OldCodes/Aster/configuration_ASTER.py delete mode 100644 OldCodes/Aster/eficasManager.py delete mode 100755 OldCodes/Aster/eficas_aster.py delete mode 100644 OldCodes/Aster/prefs.py delete mode 100644 OldCodes/Aster/prefs_ASTER.py delete mode 100644 OldCodes/Aster/properties.py delete mode 100755 OldCodes/Aster/qtEficas_aster.py delete mode 100755 OldCodes/Aster/qtGroup.py delete mode 100755 OldCodes/Aster/reecrit_comm.py delete mode 100644 OldCodes/Aster/sdist.py delete mode 100644 OldCodes/Aster/style.py delete mode 100755 OldCodes/Aster/test_eficas.py delete mode 100644 OldCodes/CarmelCND/CarmelCND_Cata.py delete mode 100644 OldCodes/CarmelCND/PourTraductionCarmel.py delete mode 100644 OldCodes/CarmelCND/PrepareRunCarmel.py delete mode 100755 OldCodes/CarmelCND/acquiertGroupes.py delete mode 100644 OldCodes/CarmelCND/configuration_CARMELCND.py delete mode 100644 OldCodes/CarmelCND/prefs.py delete mode 100644 OldCodes/CarmelCND/prefs_CARMELCND.py delete mode 100755 OldCodes/CarmelCND/qtEficas_CarmelCND.py delete mode 100644 OldCodes/CarmelCS/CarmelCS_cata.py delete mode 100644 OldCodes/CarmelCS/configuration_CARMELCS.py delete mode 100644 OldCodes/CarmelCS/pilotyacsCS.py delete mode 100644 OldCodes/CarmelCS/prefs.py delete mode 100644 OldCodes/CarmelCS/prefs_CARMELCS.py delete mode 100755 OldCodes/CarmelCS/qtEficas_CarmelCS.py delete mode 100644 OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V1.py delete mode 100644 OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V10.py delete mode 100644 OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V2.py delete mode 100644 OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V3.py delete mode 100644 OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V4.py delete mode 100644 OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V5.py delete mode 100644 OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V6.py delete mode 100644 OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V7.py delete mode 100644 OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V8.py delete mode 100644 OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V9.py delete mode 100644 OldCodes/Openturns_Study/configuration_OPENTURNS_STUDY.py delete mode 100644 OldCodes/Openturns_Study/prefs_OPENTURNS_STUDY.py delete mode 100644 OldCodes/Openturns_Study/properties.py delete mode 100755 OldCodes/Openturns_Study/qtEficas_openturns_study.py delete mode 100644 OldCodes/Openturns_Study/sdistOTqt.py delete mode 100644 OldCodes/Openturns_Study/style.py delete mode 100644 OldCodes/Openturns_Study/test/MinMax_ExpPlane.py delete mode 100644 OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V1.py delete mode 100644 OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V2.py delete mode 100644 OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V3.py delete mode 100644 OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V4.py delete mode 100644 OldCodes/Openturns_Wrapper/configuration_OPENTURNS_WRAPPER.py delete mode 100644 OldCodes/Openturns_Wrapper/prefs_OPENTURNS_WRAPPER.py delete mode 100644 OldCodes/Openturns_Wrapper/properties.py delete mode 100755 OldCodes/Openturns_Wrapper/qtEficas_openturns_wrapper.py delete mode 100644 OldCodes/Openturns_Wrapper/sdistOTqt.py delete mode 100644 OldCodes/Openturns_Wrapper/style.py delete mode 100644 OldCodes/PSEN_N1/PSEN_Cata_N1.py delete mode 100644 OldCodes/PSEN_N1/configuration_PSEN_N1.py delete mode 100644 OldCodes/PSEN_N1/mesScripts_PSEN_N1.py delete mode 100644 OldCodes/PSEN_N1/opsPSEN_N1.py delete mode 100644 OldCodes/PSEN_N1/prefs.py delete mode 100644 OldCodes/PSEN_N1/prefs_PSEN_N1.py delete mode 100644 OldCodes/PSEN_N1/properties.py delete mode 100755 OldCodes/PSEN_N1/qtEficas_PSEN_N1.py delete mode 100644 OldCodes/PSEN_N1/run.py delete mode 100644 OldCodes/Sep/SEP_Cata_V0.py delete mode 100644 OldCodes/Sep/SEP_Cata_V1.py delete mode 100644 OldCodes/Sep/SEP_Cata_V1_2.py delete mode 100644 OldCodes/Sep/SEP_Cata_V1_3.py delete mode 100644 OldCodes/Sep/SEP_Cata_V1_4.py delete mode 100644 OldCodes/Sep/__init__.py delete mode 100644 OldCodes/Sep/configuration_SEP.py delete mode 100644 OldCodes/Sep/prefs.py delete mode 100644 OldCodes/Sep/prefs_SEP.py delete mode 100644 OldCodes/Sep/properties.py delete mode 100755 OldCodes/Sep/qtEficas_SEP.py delete mode 100644 OldCodes/Sep/sdistSEP.py delete mode 100644 OldCodes/Sep/style.py delete mode 100644 OldCodes/ZCracks/configuration_ZCRACKS.py delete mode 100644 OldCodes/ZCracks/mesScripts_ZCRACKS.py delete mode 100644 OldCodes/ZCracks/monCode_Cata.py delete mode 100644 OldCodes/ZCracks/prefs.py delete mode 100644 OldCodes/ZCracks/prefs_ZCRACKS.py delete mode 100644 OldCodes/ZCracks/properties.py delete mode 100755 OldCodes/ZCracks/qtEficas_ZCracks.py delete mode 100644 OldCodes/ts/Telemac_Cata.py delete mode 100644 OldCodes/ts/a.py delete mode 100644 OldCodes/ts/dicoparser.py delete mode 100644 OldCodes/ts/prefs.py delete mode 100644 OldCodes/ts/test_cata.py delete mode 100644 OldCodes/ts/test_dicoparser.py delete mode 100644 OldCodes/ts/test_translator.py delete mode 100755 OldCodes/ts/translator.py delete mode 100644 OldCodes/ts/tsparser.py delete mode 100755 PSEN_Eficas/ExtractGeneratorandLoadList.py create mode 100644 PSEN_Eficas/PSEN/OutLog.py create mode 100644 PSEN_Eficas/PSEN/PFWrapper.py delete mode 100755 PSEN_Eficas/PSEN/PSEN_GUI.py create mode 100644 PSEN_Eficas/PSEN/PSENconfig.py create mode 100644 PSEN_Eficas/PSEN/comfile.py create mode 100644 PSEN_Eficas/PSEN/correct_comtask.py create mode 100644 PSEN_Eficas/PSEN/ecd.py create mode 100644 PSEN_Eficas/PSEN/read_pfd_wrapper.py create mode 100644 PSEN_Eficas/PSEN/run_in_PFfunction.py create mode 100644 PSEN_Eficas/PSEN/runreadOPF.py create mode 100644 PSEN_Eficas/PSEN/support_functionsPF.py create mode 100644 PSEN_Eficas/PSEN/usrCmd.py create mode 100644 PSEN_Eficas/PSEN/usrCmdPF.py create mode 100644 PSEN_Eficas/PSEN_Cata_PF.py rename {EssaiInit/raw => PSEN_Eficas}/__init__.py (100%) create mode 100644 PSEN_Eficas/com.py create mode 100644 PSEN_Eficas/debugPFWrapper.py delete mode 100644 PSEN_Eficas/mesScripts_PSEN.py create mode 100644 PSEN_Eficas/opsPSEN_PF.py create mode 100644 PSEN_Eficas/usrCmdPF.py delete mode 100755 ProcessOutputs_Eficas/EssaiMulti.py delete mode 100644 ProcessOutputs_Eficas/ExtractGeneratorLoadLineandTransfoDicoProcess.py delete mode 100644 ProcessOutputs_Eficas/ProcessOutputs_Cata.py create mode 100644 ProcessOutputs_Eficas/TreatOutputs/Chart.py create mode 100644 ProcessOutputs_Eficas/TreatOutputs/Compute.py create mode 100644 ProcessOutputs_Eficas/TreatOutputs/Compute_save.py create mode 100644 ProcessOutputs_Eficas/TreatOutputs/Display.py create mode 100644 ProcessOutputs_Eficas/TreatOutputs/Options.py create mode 100644 ProcessOutputs_Eficas/TreatOutputs/Processor.py create mode 100644 ProcessOutputs_Eficas/TreatOutputs/Run.py create mode 100644 ProcessOutputs_Eficas/TreatOutputs/RunACCC.py create mode 100644 ProcessOutputs_Eficas/TreatOutputs/SplitandJoinOutputFile.py create mode 100644 ProcessOutputs_Eficas/TreatOutputs/TestACCCfile.py create mode 100644 ProcessOutputs_Eficas/TreatOutputs/Threshold.py create mode 100644 ProcessOutputs_Eficas/TreatOutputs/UpdateOptions.py create mode 100644 ProcessOutputs_Eficas/TreatOutputs/Utils.py create mode 100644 ProcessOutputs_Eficas/TreatOutputs/WriteFuncs.py create mode 100644 ProcessOutputs_Eficas/TreatOutputs/WriteFuncsCsv.py rename Telemac/aideAuxConvertisseurs.py => ProcessOutputs_Eficas/TreatOutputs/__init__.py (82%) create mode 100644 ProcessOutputs_Eficas/TreatOutputs/dico.py create mode 100644 ProcessOutputs_Eficas/TreatOutputs/dicoN1.py create mode 100644 ProcessOutputs_Eficas/TreatOutputs/dicoN1_process.py create mode 100644 ProcessOutputs_Eficas/TreatOutputs/dicoProcessor.py create mode 100644 ProcessOutputs_Eficas/TreatOutputs/dico_N2.py create mode 100644 ProcessOutputs_Eficas/TreatOutputs/dico_save.py create mode 100644 ProcessOutputs_Eficas/TreatOutputs/initPSSE.py rename OldCodes/Openturns_Wrapper/prefs.py => ProcessOutputs_Eficas/__init__.py (81%) create mode 100644 ProcessOutputs_Eficas/debugRun.py create mode 100644 ProcessOutputs_Eficas/dico_print.py create mode 100644 ProcessOutputs_Eficas/opsPSEN_N1_PF - save1906.py create mode 100644 ProcessOutputs_Eficas/opsPSEN_SUITE.py rename OldCodes/Openturns_Study/opsOT.py => ProcessOutputs_Eficas/pn.py (64%) delete mode 100644 SPECA/SPECA_Cata_V1.py delete mode 100644 SPECA/SPECA_Cata_V2016.py delete mode 100644 SPECA/SPECA_Cata_V2_00.py delete mode 100644 SPECA/configuration_SPECA.py delete mode 100644 SPECA/prefs.py delete mode 100644 SPECA/prefs_SPECA.py delete mode 100644 SPECA/properties.py delete mode 100644 Telemac/Telemac2d_Cata_auto.py delete mode 100644 Telemac/__init__.py delete mode 100644 Telemac/configuration_TELEMAC.py delete mode 100644 Telemac/dicoCasEnToCata.py delete mode 100644 Telemac/dicoCasFrToCata.py delete mode 100644 Telemac/enum_Telemac2d_auto.py delete mode 100644 Telemac/prefs.py delete mode 100644 Telemac/prefs_TELEMAC.py delete mode 100644 Telemac/properties.py delete mode 100755 Telemac/reecrit_cas_en_comm.py delete mode 100755 Telemac/transforme/reEcrittsEn.py delete mode 100755 Telemac/transforme/reEcrittsFr.py delete mode 100644 Tests/EficasEngineTest.py delete mode 100644 Tests/HTMLTestRunner.py delete mode 100644 Tests/compare.py delete mode 100644 Tests/config.py delete mode 100755 Tests/eficas_aster.py delete mode 100644 Tests/prefs.py delete mode 100644 Tests/properties.py delete mode 100644 Tests/run.py delete mode 100644 Tests/style.py delete mode 100644 Tests/testastest/basetest.py delete mode 100644 Tests/testastest/testaster1.py delete mode 100644 Tests/testastest/testaster10.py delete mode 100644 Tests/testastest/testaster2.py delete mode 100644 Tests/testastest/testaster3.py delete mode 100644 Tests/testastest/testaster4.py delete mode 100644 Tests/testastest/testaster5.py delete mode 100644 Tests/testastest/testaster6.py delete mode 100644 Tests/testastest/testaster7.py delete mode 100644 Tests/testastest/testaster8.py delete mode 100644 Tests/testastest/testaster9.py delete mode 100644 Tests/testastest9/basetest.py delete mode 100644 Tests/testastest9/testaster1.py delete mode 100644 Tests/testastest9/testaster10.py delete mode 100644 Tests/testastest9/testaster2.py delete mode 100644 Tests/testastest9/testaster3.py delete mode 100644 Tests/testastest9/testaster4.py delete mode 100644 Tests/testastest9/testaster5.py delete mode 100644 Tests/testastest9/testaster6.py delete mode 100644 Tests/testastest9/testaster7.py delete mode 100644 Tests/testastest9/testaster8.py delete mode 100644 Tests/testastest9/testaster9.py delete mode 100644 Tests/testcomm/testcomm.py delete mode 100644 Tests/testcomm7/testcomm.py delete mode 100644 Tests/testcomm9/testcomm.py delete mode 100644 Tests/testelem/cata1.py delete mode 100644 Tests/testelem/cata2.py delete mode 100644 Tests/testelem/cata3.py delete mode 100644 Tests/testelem/cata5.py delete mode 100644 Tests/testelem/testaz76.py delete mode 100644 Tests/testelem/testbloc1.py delete mode 100644 Tests/testelem/testfact1.py delete mode 100644 Tests/testelem/testfact2.py delete mode 100644 Tests/testelem/testitem1.py delete mode 100644 Tests/testelem/testjdc1.py delete mode 100644 Tests/testelem/testjdc2.py delete mode 100644 Tests/testelem/testjdc3.py delete mode 100644 Tests/testelem/testjdc4.py delete mode 100644 Tests/testelem/testmacro1.py delete mode 100644 Tests/testelem/testoper1.py delete mode 100644 Tests/testelem/testparseur.py delete mode 100644 Tests/testelem/testposition1.py delete mode 100644 Tests/testelem/testsimp0.py delete mode 100644 Tests/testelem/testsimp1.py delete mode 100644 Tests/testelem/testsimp2.py delete mode 100644 Tests/testelem/testsimp3.py delete mode 100644 Tests/testelem/testsimp4.py delete mode 100644 Tests/testelem/testsimp5.py delete mode 100644 Tests/testelem/testvalidator1.py delete mode 100644 Tests/testelem/testvalidator2.py delete mode 100644 Tests/testelem7/testaz76.py delete mode 100644 Tests/testihm/common.py delete mode 100644 Tests/testihm/testihm1.py delete mode 100644 Tests/testihm/testihm2.py delete mode 100644 Tests/testihm/testihm3.py delete mode 100644 Tests/testihm/testihm4.py delete mode 100644 Tests/testihm7/common.py delete mode 100644 Tests/testihm7/testihm1.py delete mode 100644 Tests/testihm7/testihm2.py delete mode 100644 Tests/testihm7/testihm4.py delete mode 100644 Tests/testihm9/common.py delete mode 100644 Tests/testihm9/testihm1.py delete mode 100644 Tests/testihm9/testihm2.py delete mode 100644 Tests/testihm9/testihm3.py delete mode 100644 Tests/testihm9/testihm4.py delete mode 100644 Traducteur/__init__.py delete mode 100644 Traducteur/calcG.py delete mode 100644 Traducteur/changeValeur.py delete mode 100644 Traducteur/dictErreurs.py delete mode 100644 Traducteur/inseremocle.py delete mode 100644 Traducteur/load.py delete mode 100644 Traducteur/log.py delete mode 100644 Traducteur/mocles.py delete mode 100644 Traducteur/movemocle.py delete mode 100644 Traducteur/parseur.py delete mode 100644 Traducteur/regles.py delete mode 100644 Traducteur/removemocle.py delete mode 100644 Traducteur/renamemocle.py delete mode 100755 Traducteur/traduitV10V11.py delete mode 100755 Traducteur/traduitV11V12.py delete mode 100644 Traducteur/traduitV7V8.py delete mode 100644 Traducteur/traduitV8V9.py delete mode 100755 Traducteur/traduitV9V10.py delete mode 100644 Traducteur/utils.py delete mode 100644 Traducteur/visiteur.py create mode 100644 UiQT5/Tuple2.py create mode 100644 UiQT5/Tuple3.py create mode 100644 UiQT5/desBaseWidget.py create mode 100644 UiQT5/desChoixCata.py create mode 100644 UiQT5/desChoixCode.py create mode 100644 UiQT5/desChoixCommandes.py create mode 100644 UiQT5/desChoixLangue.py create mode 100644 UiQT5/desGroupeOptionnel.py create mode 100644 UiQT5/desPBOptionnelMT.py create mode 100644 UiQT5/desRecherche.py create mode 100644 UiQT5/desRechercheCatalogue.py create mode 100644 UiQT5/desSelectVal.py create mode 100644 UiQT5/desViewRegles.py create mode 100644 UiQT5/desViewTexte.py create mode 100644 UiQT5/desVisu.py create mode 100644 UiQT5/desWidget4a6RadioButton.py create mode 100644 UiQT5/desWidgetBloc.py create mode 100644 UiQT5/desWidgetCB.py create mode 100644 UiQT5/desWidgetCommande.py create mode 100644 UiQT5/desWidgetCommentaire.py create mode 100644 UiQT5/desWidgetCreeParam.py create mode 100644 UiQT5/desWidgetDate.py create mode 100644 UiQT5/desWidgetFact.py create mode 100644 UiQT5/desWidgetFactPlie.py create mode 100644 UiQT5/desWidgetFormule.py create mode 100644 UiQT5/desWidgetHeure.py create mode 100644 UiQT5/desWidgetInactif.py create mode 100644 UiQT5/desWidgetInformation.py create mode 100644 UiQT5/desWidgetIntoSug.py create mode 100644 UiQT5/desWidgetMatrice.py create mode 100644 UiQT5/desWidgetOptionnel.py create mode 100644 UiQT5/desWidgetOptionnelMC.py create mode 100644 UiQT5/desWidgetParam.py create mode 100644 UiQT5/desWidgetPlusieursBase.py create mode 100644 UiQT5/desWidgetPlusieursInto.py create mode 100644 UiQT5/desWidgetPlusieursIntoOrdonne.py create mode 100644 UiQT5/desWidgetPlusieursPlie.py create mode 100644 UiQT5/desWidgetPlusieursTuple.py create mode 100644 UiQT5/desWidgetRadioButton.py create mode 100644 UiQT5/desWidgetSDCOInto.py create mode 100644 UiQT5/desWidgetSimpBase.py create mode 100644 UiQT5/desWidgetSimpBool.py create mode 100644 UiQT5/desWidgetSimpComplexe.py create mode 100644 UiQT5/desWidgetSimpFichier.py create mode 100644 UiQT5/desWidgetSimpSalome.py create mode 100644 UiQT5/desWidgetSimpTxt.py create mode 100644 UiQT5/desWidgetTuple2.py create mode 100644 UiQT5/desWidgetTuple3.py create mode 100644 UiQT5/desWidgetUniqueSDCO.py create mode 100644 UiQT5/desWidgetVide.py create mode 100644 UiQT5/myMain.py delete mode 100644 VirtualPolymer/VP_Cata_V1.py delete mode 100644 VirtualPolymer/VP_Cata_V2.py delete mode 100644 VirtualPolymer/configuration_VP.py delete mode 100644 VirtualPolymer/lienDB.py delete mode 100644 VirtualPolymer/listesDB.py delete mode 100644 VirtualPolymer/prefs.py delete mode 100644 VirtualPolymer/prefs_VP.py delete mode 100644 VirtualPolymer/properties.py delete mode 100755 VirtualPolymer/qtEficasVP.py delete mode 100644 boundary_conditions/__init__.py delete mode 100644 boundary_conditions/appli.py delete mode 100644 boundary_conditions/boundary_conditions_cata.py delete mode 100644 boundary_conditions/configuration_boundary_conditions.py delete mode 100644 boundary_conditions/generator_boundary_conditions.py delete mode 100644 boundary_conditions/prefs.py delete mode 100644 boundary_conditions/prefs_boundary_conditions.py delete mode 100644 convert/convert_XML.py delete mode 100644 convert/convert_dico.py rename MAP/qtEficas_map.py => convert/oldTelemac/convert_SEP.py (68%) mode change 100755 => 100644 create mode 100644 convert/oldTelemac/convert_TELEMAC2.py create mode 100644 convert/oldTelemac/convert_TELEMAC_V0py create mode 100644 convert/oldTelemac/convert_asterv5.py rename SPECA/qtEficasSPECA.py => convert/oldTelemac/convert_cuve2dg.py (68%) mode change 100755 => 100644 rename OldCodes/Openturns_Study/prefs.py => convert/oldTelemac/convert_file_from_template.py (77%) create mode 100644 convert/oldTelemac/convert_homard.py create mode 100644 convert/oldTelemac/convert_ini.py rename convert/{old => oldTelemac}/convert_openturns_study.py (97%) rename convert/{old => oldTelemac}/convert_openturns_wrapper.py (97%) rename Carmel3D/qtEficas_Carmel3D.py => convert/oldTelemac/convert_perfect.py (68%) mode change 100755 => 100644 create mode 100644 convert/oldTelemac/convert_python6.py create mode 100644 convert/oldTelemac/parseur_cas.py delete mode 100644 convert/readXml.py create mode 100644 convert/sauve/convert_TELEMAC.py rename generator/{oldCodes => carmel}/generator_CARMEL3D.py (99%) rename generator/{ => carmel}/generator_CARMEL3D_frequentiel.py (97%) mode change 100755 => 100644 rename generator/{ => carmel}/generator_CARMEL3D_temporel.py (98%) rename generator/{oldCodes => carmel}/generator_CARMELCND.py (99%) mode change 100755 => 100644 rename generator/{oldCodes => carmel}/generator_CARMELCS.py (99%) delete mode 100644 generator/generator_XML.py rename generator/{oldCodes => }/generator_ZCracks.py (99%) rename generator/{oldCodes => }/generator_file_from_template.py (99%) rename generator/{oldCodes => }/generator_ini.py (99%) rename generator/{oldCodes => }/generator_pyth.py (99%) delete mode 100644 mascaret/__init__.py delete mode 100644 mascaret/appli.py delete mode 100644 mascaret/configuration_mascaret.py delete mode 100644 mascaret/mascaret_V7_cata.py delete mode 100644 mascaret/prefs.py delete mode 100644 mascaret/prefs_mascaret.py delete mode 100755 monCode/Global_Condition_Cata.py delete mode 100644 monCode/Many_Concepts_52992_Cata.py delete mode 100644 monCode/Matrix_Cata.py delete mode 100644 monCode/prefs_monCode.py delete mode 100644 monCode/properties.py diff --git a/Accas/A_ASSD.py b/Accas/A_ASSD.py index afa935fa..92d1f6d4 100644 --- a/Accas/A_ASSD.py +++ b/Accas/A_ASSD.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Accas/A_AU_MOINS_UN.py b/Accas/A_AU_MOINS_UN.py index e8945759..7a58ed75 100644 --- a/Accas/A_AU_MOINS_UN.py +++ b/Accas/A_AU_MOINS_UN.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Accas/A_AU_PLUS_UN.py b/Accas/A_AU_PLUS_UN.py index 1cf38da6..74fdc74f 100644 --- a/Accas/A_AU_PLUS_UN.py +++ b/Accas/A_AU_PLUS_UN.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Accas/A_AVANT.py b/Accas/A_AVANT.py index 63aa2507..41a4ccda 100644 --- a/Accas/A_AVANT.py +++ b/Accas/A_AVANT.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Accas/A_A_CLASSER.py b/Accas/A_A_CLASSER.py index 70ec47a8..9ad290d5 100644 --- a/Accas/A_A_CLASSER.py +++ b/Accas/A_A_CLASSER.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Accas/A_BLOC.py b/Accas/A_BLOC.py index badd8d9d..e8a6f530 100644 --- a/Accas/A_BLOC.py +++ b/Accas/A_BLOC.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -20,11 +20,9 @@ from __future__ import absolute_import from Noyau import N_BLOC from Ihm import I_ENTITE -from Accas import A_MCBLOC -from Efi2Xsd.AccasXsd import X_BLOC +from . import A_MCBLOC - -class BLOC(N_BLOC.BLOC,X_BLOC,I_ENTITE.ENTITE): +class BLOC(N_BLOC.BLOC,I_ENTITE.ENTITE): class_instance=A_MCBLOC.MCBLOC def __init__(self,*tup,**args): I_ENTITE.ENTITE.__init__(self) diff --git a/Accas/A_ENSEMBLE.py b/Accas/A_ENSEMBLE.py index 8b4a3a78..1b1cf755 100644 --- a/Accas/A_ENSEMBLE.py +++ b/Accas/A_ENSEMBLE.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Accas/A_ETAPE.py b/Accas/A_ETAPE.py index a3dbd595..34c9e173 100644 --- a/Accas/A_ETAPE.py +++ b/Accas/A_ETAPE.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -21,10 +21,10 @@ from __future__ import absolute_import from Noyau import N_ETAPE from Validation import V_ETAPE from Ihm import I_ETAPE -from Efi2Xsd.MCAccasXsd import X_MCCOMPO -class ETAPE(I_ETAPE.ETAPE,V_ETAPE.ETAPE,X_MCCOMPO,N_ETAPE.ETAPE): +class ETAPE(I_ETAPE.ETAPE,V_ETAPE.ETAPE, + N_ETAPE.ETAPE): def __init__(self,oper=None,reuse=None,args={}): - print ('------------- ETAPE accas', oper.nom, args) + # Pas de constructeur pour B_ETAPE.ETAPE N_ETAPE.ETAPE.__init__(self,oper,reuse,args) V_ETAPE.ETAPE.__init__(self) diff --git a/Accas/A_EVAL.py b/Accas/A_EVAL.py index eb04237d..28a432b8 100644 --- a/Accas/A_EVAL.py +++ b/Accas/A_EVAL.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Accas/A_EXCLUS.py b/Accas/A_EXCLUS.py index 432dc45b..4a315b5e 100644 --- a/Accas/A_EXCLUS.py +++ b/Accas/A_EXCLUS.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Accas/A_FACT.py b/Accas/A_FACT.py index ebccc614..61b11d2e 100644 --- a/Accas/A_FACT.py +++ b/Accas/A_FACT.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -20,12 +20,10 @@ from __future__ import absolute_import from Noyau import N_FACT from Ihm import I_ENTITE -from Accas import A_MCFACT -from Accas import A_MCLIST -from Efi2Xsd.AccasXsd import X_FACT +from . import A_MCFACT +from . import A_MCLIST - -class FACT(N_FACT.FACT,X_FACT,I_ENTITE.ENTITE): +class FACT(N_FACT.FACT,I_ENTITE.ENTITE): class_instance=A_MCFACT.MCFACT list_instance=A_MCLIST.MCList def __init__(self,*tup,**args): diff --git a/Accas/A_FICHIER.py b/Accas/A_FICHIER.py index d7aab167..026207b6 100644 --- a/Accas/A_FICHIER.py +++ b/Accas/A_FICHIER.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Accas/A_FORM.py b/Accas/A_FORM.py index 06af6942..7036dee6 100644 --- a/Accas/A_FORM.py +++ b/Accas/A_FORM.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Accas/A_FORM_ETAPE.py b/Accas/A_FORM_ETAPE.py index 5eb2c1e0..75e9f13e 100644 --- a/Accas/A_FORM_ETAPE.py +++ b/Accas/A_FORM_ETAPE.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Accas/A_JDC.py b/Accas/A_JDC.py index d17bd234..c0213eb3 100644 --- a/Accas/A_JDC.py +++ b/Accas/A_JDC.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -22,14 +22,12 @@ from Noyau import N_JDC from Validation import V_JDC from Extensions import jdc from Ihm import I_JDC -from Efi2Xsd.MCAccasXsd import X_JDC -class JDC(jdc.JDC,I_JDC.JDC,X_JDC,V_JDC.JDC,N_JDC.JDC): +class JDC(jdc.JDC,I_JDC.JDC,V_JDC.JDC,N_JDC.JDC): from .A_ASSD import CO,assd def __init__(self,*pos,**args): N_JDC.JDC.__init__(self,*pos,**args) - X_JDC.__init__(self) V_JDC.JDC.__init__(self) I_JDC.JDC.__init__(self) jdc.JDC.__init__(self) diff --git a/Accas/A_JDC_CATA.py b/Accas/A_JDC_CATA.py index fd8a248d..06461569 100644 --- a/Accas/A_JDC_CATA.py +++ b/Accas/A_JDC_CATA.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -21,9 +21,8 @@ from __future__ import absolute_import from . import A_JDC from Noyau import N_JDC_CATA from Ihm import I_JDC_CATA -from Efi2Xsd.AccasXsd import X_JDC_CATA -class JDC_CATA(I_JDC_CATA.JDC_CATA,N_JDC_CATA.JDC_CATA,X_JDC_CATA): +class JDC_CATA(I_JDC_CATA.JDC_CATA,N_JDC_CATA.JDC_CATA): class_instance=A_JDC.JDC def __init__(self,*pos,**kw): #print pos diff --git a/Accas/A_MACRO.py b/Accas/A_MACRO.py index 2a059062..e3224bb4 100644 --- a/Accas/A_MACRO.py +++ b/Accas/A_MACRO.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Accas/A_MACRO_ETAPE.py b/Accas/A_MACRO_ETAPE.py index 2bba807e..7e014c51 100644 --- a/Accas/A_MACRO_ETAPE.py +++ b/Accas/A_MACRO_ETAPE.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -22,10 +22,8 @@ from Noyau import N_MACRO_ETAPE from Validation import V_MACRO_ETAPE from Ihm import I_MACRO_ETAPE from .A_ASSD import CO -from Efi2Xsd.MCAccasXsd import X_MCCOMPO class MACRO_ETAPE(I_MACRO_ETAPE.MACRO_ETAPE, - X_MCCOMPO, V_MACRO_ETAPE.MACRO_ETAPE, N_MACRO_ETAPE.MACRO_ETAPE): typeCO=CO diff --git a/Accas/A_MCBLOC.py b/Accas/A_MCBLOC.py index df125d12..9833b922 100644 --- a/Accas/A_MCBLOC.py +++ b/Accas/A_MCBLOC.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -21,10 +21,8 @@ from __future__ import absolute_import from Noyau import N_MCBLOC from Validation import V_MCBLOC from Ihm import I_MCBLOC -from Efi2Xsd.MCAccasXsd import X_MCBLOC - -class MCBLOC(I_MCBLOC.MCBLOC,N_MCBLOC.MCBLOC,X_MCBLOC,V_MCBLOC.MCBLOC): - def __init__(self,val,definition,nom,parent,dicoPyxbDeConstruction=None): - N_MCBLOC.MCBLOC.__init__(self,val,definition,nom,parent,dicoPyxbDeConstruction=dicoPyxbDeConstruction) +class MCBLOC(I_MCBLOC.MCBLOC,N_MCBLOC.MCBLOC,V_MCBLOC.MCBLOC): + def __init__(self,val,definition,nom,parent): + N_MCBLOC.MCBLOC.__init__(self,val,definition,nom,parent) V_MCBLOC.MCBLOC.__init__(self) diff --git a/Accas/A_MCFACT.py b/Accas/A_MCFACT.py index 50fd1a8d..e4b7faaa 100644 --- a/Accas/A_MCFACT.py +++ b/Accas/A_MCFACT.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -21,9 +21,8 @@ from __future__ import absolute_import from Noyau import N_MCFACT from Validation import V_MCFACT from Ihm import I_MCFACT -from Efi2Xsd.MCAccasXsd import X_MCFACT -class MCFACT(I_MCFACT.MCFACT,N_MCFACT.MCFACT,X_MCFACT,V_MCFACT.MCFACT): - def __init__(self,val,definition,nom,parent,dicoPyxbDeConstruction=None): - N_MCFACT.MCFACT.__init__(self,val,definition,nom,parent,dicoPyxbDeConstruction=dicoPyxbDeConstruction) +class MCFACT(I_MCFACT.MCFACT,N_MCFACT.MCFACT,V_MCFACT.MCFACT): + def __init__(self,val,definition,nom,parent): + N_MCFACT.MCFACT.__init__(self,val,definition,nom,parent) V_MCFACT.MCFACT.__init__(self) diff --git a/Accas/A_MCLIST.py b/Accas/A_MCLIST.py index 5554f5ec..cee510c7 100644 --- a/Accas/A_MCLIST.py +++ b/Accas/A_MCLIST.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -21,9 +21,7 @@ from __future__ import absolute_import from Noyau import N_MCLIST from Validation import V_MCLIST from Ihm import I_MCLIST -from Efi2Xsd.MCAccasXsd import X_MCLIST - -class MCList(I_MCLIST.MCList,N_MCLIST.MCList,X_MCLIST,V_MCLIST.MCList): +class MCList(I_MCLIST.MCList,N_MCLIST.MCList,V_MCLIST.MCList): def __init__(self): N_MCLIST.MCList.__init__(self) diff --git a/Accas/A_MCNUPLET.py b/Accas/A_MCNUPLET.py index 465eae7c..5084232f 100644 --- a/Accas/A_MCNUPLET.py +++ b/Accas/A_MCNUPLET.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Accas/A_MCSIMP.py b/Accas/A_MCSIMP.py index a3c63cb6..2fc86a53 100644 --- a/Accas/A_MCSIMP.py +++ b/Accas/A_MCSIMP.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -21,10 +21,8 @@ from __future__ import absolute_import from Noyau import N_MCSIMP from Validation import V_MCSIMP from Ihm import I_MCSIMP -from Efi2Xsd.MCAccasXsd import X_MCSIMP -class MCSIMP(I_MCSIMP.MCSIMP,N_MCSIMP.MCSIMP,X_MCSIMP,V_MCSIMP.MCSIMP): - def __init__(self,val,definition,nom,parent,objPyxbDeConstruction=None): - #def __init__(self,val,definition,nom,parent,objPyxbDeConstruction) quand cela sera correct dans les update_etape. pour l instant on laisse le defaut a None : 9 Aout 18: - N_MCSIMP.MCSIMP.__init__(self,val,definition,nom,parent,objPyxbDeConstruction) +class MCSIMP(I_MCSIMP.MCSIMP,N_MCSIMP.MCSIMP,V_MCSIMP.MCSIMP): + def __init__(self,val,definition,nom,parent): + N_MCSIMP.MCSIMP.__init__(self,val,definition,nom,parent) V_MCSIMP.MCSIMP.__init__(self) diff --git a/Accas/A_MEME_NOMBRE.py b/Accas/A_MEME_NOMBRE.py index 93efdd27..6ec0d0cf 100644 --- a/Accas/A_MEME_NOMBRE.py +++ b/Accas/A_MEME_NOMBRE.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Accas/A_NUPLET.py b/Accas/A_NUPLET.py index d9fbe353..2378debb 100644 --- a/Accas/A_NUPLET.py +++ b/Accas/A_NUPLET.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Accas/A_OPER.py b/Accas/A_OPER.py index c1a4f0a5..6699dfe0 100644 --- a/Accas/A_OPER.py +++ b/Accas/A_OPER.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -20,11 +20,9 @@ from __future__ import absolute_import from Noyau import N_OPER from Ihm import I_ENTITE -from Accas import A_ETAPE -from Efi2Xsd.AccasXsd import X_OPER +from . import A_ETAPE - -class OPER(N_OPER.OPER,X_OPER,I_ENTITE.ENTITE): +class OPER(N_OPER.OPER,I_ENTITE.ENTITE): class_instance=A_ETAPE.ETAPE def __init__(self,*tup,**args): I_ENTITE.ENTITE.__init__(self) diff --git a/Accas/A_PRESENT_ABSENT.py b/Accas/A_PRESENT_ABSENT.py index 00f6e2eb..928d146e 100644 --- a/Accas/A_PRESENT_ABSENT.py +++ b/Accas/A_PRESENT_ABSENT.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Accas/A_PRESENT_PRESENT.py b/Accas/A_PRESENT_PRESENT.py index 397bf769..273b365e 100644 --- a/Accas/A_PRESENT_PRESENT.py +++ b/Accas/A_PRESENT_PRESENT.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Accas/A_PROC.py b/Accas/A_PROC.py index 0ae8bb48..feb528b6 100644 --- a/Accas/A_PROC.py +++ b/Accas/A_PROC.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -20,14 +20,13 @@ from __future__ import absolute_import from Noyau import N_PROC from Ihm import I_ENTITE -from Accas import A_PROC_ETAPE -from Efi2Xsd.AccasXsd import X_PROC +from . import A_PROC_ETAPE -class PROC(N_PROC.PROC,X_PROC,I_ENTITE.ENTITE): +class PROC(N_PROC.PROC,I_ENTITE.ENTITE): class_instance=A_PROC_ETAPE.PROC_ETAPE def __init__(self,*tup,**args): - #print (tup) - #print (args) + #print tup + #print args I_ENTITE.ENTITE.__init__(self) N_PROC.PROC.__init__(self,*tup,**args) diff --git a/Accas/A_PROC_ETAPE.py b/Accas/A_PROC_ETAPE.py index 7db1db8b..99db10d8 100644 --- a/Accas/A_PROC_ETAPE.py +++ b/Accas/A_PROC_ETAPE.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -21,11 +21,9 @@ from __future__ import absolute_import from Noyau import N_PROC_ETAPE from Validation import V_PROC_ETAPE from Ihm import I_PROC_ETAPE -from Efi2Xsd.MCAccasXsd import X_MCCOMPO class PROC_ETAPE(I_PROC_ETAPE.PROC_ETAPE, V_PROC_ETAPE.PROC_ETAPE, - X_MCCOMPO, N_PROC_ETAPE.PROC_ETAPE): def __init__(self,oper=None,args={}): N_PROC_ETAPE.PROC_ETAPE.__init__(self,oper=oper,args=args) diff --git a/Accas/A_SALOME_ENTRY.py b/Accas/A_SALOME_ENTRY.py index e420831b..2a75dcb5 100644 --- a/Accas/A_SALOME_ENTRY.py +++ b/Accas/A_SALOME_ENTRY.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Accas/A_SENSIBILITE.py b/Accas/A_SENSIBILITE.py index 6bf30627..97e28823 100644 --- a/Accas/A_SENSIBILITE.py +++ b/Accas/A_SENSIBILITE.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Accas/A_UN_PARMI.py b/Accas/A_UN_PARMI.py index 109a3e76..f9220d25 100644 --- a/Accas/A_UN_PARMI.py +++ b/Accas/A_UN_PARMI.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Accas/A_VALIDATOR.py b/Accas/A_VALIDATOR.py index 725a9a7a..2f410cc7 100644 --- a/Accas/A_VALIDATOR.py +++ b/Accas/A_VALIDATOR.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Accas/__init__.py b/Accas/__init__.py index eadd2bb2..8fcd858f 100644 --- a/Accas/__init__.py +++ b/Accas/__init__.py @@ -1,5 +1,5 @@ # -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Accas/old/__init__NonAster.py b/Accas/old/__init__NonAster.py new file mode 100644 index 00000000..6499928b --- /dev/null +++ b/Accas/old/__init__NonAster.py @@ -0,0 +1,105 @@ +# -*- coding: iso-8859-1 -*- +# Copyright (C) 2007-2015 EDF R&D +# +# 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. +# +# 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 +# +""" + Ce package contient les classes qui seront effectivement utilisees dans les applications. + C'est dans ce package que sont realisees les combinaisons de classes de base + avec les classes MIXIN qui implementent les fonctionnalites qui ont ete separees + du noyau pour des raisons de modularite afin de faciliter la maintenance et + l'extensibilite. + + De plus toutes les classes utilisables par les applications sont remontees au + niveau du package afin de rendre le plus independant possible l'utilisation des + classes et leur implementation. +""" + +# permet de se proteger de l'oubli de carte coding +# ce warning deviendra fatal en python 2.4 +from __future__ import absolute_import +import warnings +warnings.filterwarnings('error','Non-ASCII character.*pep-0263',DeprecationWarning) + +from .A_JDC_CATA import JDC_CATA +from .A_OPER import OPER +from .A_PROC import PROC +from .A_MACRO import MACRO +from .A_FORM import FORM +from .A_BLOC import BLOC +from .A_FACT import FACT +from .A_SIMP import SIMP +from .A_EVAL import EVAL +from .A_NUPLET import NUPL + +from .A_JDC import JDC +from .A_ETAPE import ETAPE +from .A_PROC_ETAPE import PROC_ETAPE +from .A_MACRO_ETAPE import MACRO_ETAPE +from .A_FORM_ETAPE import FORM_ETAPE +from .A_MCFACT import MCFACT +from .A_MCLIST import MCList +from .A_MCBLOC import MCBLOC +from .A_MCSIMP import MCSIMP + +# Les regles +from .A_AU_MOINS_UN import AU_MOINS_UN +from .A_MEME_NOMBRE import MEME_NOMBRE +from .A_AU_PLUS_UN import AU_PLUS_UN +from .A_UN_PARMI import UN_PARMI +from .A_PRESENT_PRESENT import PRESENT_PRESENT +from .A_PRESENT_ABSENT import PRESENT_ABSENT +from .A_EXCLUS import EXCLUS +from .A_ENSEMBLE import ENSEMBLE +from .A_A_CLASSER import A_CLASSER +from .A_AVANT import AVANT + +from .A_ASSD import ASSD,assd +from .A_ASSD import GEOM,geom +# Pour le moment on laisse fonction (ceinture et bretelles) +from .A_ASSD import FONCTION, fonction +from .A_ASSD import formule +from .A_ASSD import formule_c +from .A_ASSD import CO + +from Noyau.N__F import _F + +from Noyau.N_Exception import AsException +from Noyau.N_utils import AsType + +from .A_VALIDATOR import OrVal,AndVal,OnlyStr +from .A_VALIDATOR import OrdList,NoRepeat,LongStr,Compulsory +from .A_VALIDATOR import RangeVal, EnumVal, TypeVal, PairVal +from .A_VALIDATOR import CardVal, InstanceVal +from .A_VALIDATOR import VerifTypeTuple + +# On remplace la factory des validateurs initialement dans Noyau par celle +# de A_VALIDATOR +from . import A_VALIDATOR +import Noyau.N_ENTITE +Noyau.N_ENTITE.ENTITE.factories['validator']=A_VALIDATOR.validatorFactory + +from .A_SENSIBILITE import CONCEPT_SENSIBLE, REUSE_SENSIBLE, DERIVABLE + +from Extensions.niveau import NIVEAU +from Extensions.etape_niveau import ETAPE_NIVEAU +from Extensions.commentaire import COMMENTAIRE +from Extensions.parametre import PARAMETRE +from Extensions.parametre_eval import PARAMETRE_EVAL +from Extensions.commande_comm import COMMANDE_COMM +from Extensions.mcnuplet import MCNUPLET + diff --git a/Adao/ADAO_Cata_V0_V7_7_0.py b/Adao/ADAO_Cata_V0_V7_7_0.py deleted file mode 100755 index b9e8c02b..00000000 --- a/Adao/ADAO_Cata_V0_V7_7_0.py +++ /dev/null @@ -1,1261 +0,0 @@ -#-*-coding:iso-8859-1-*- -# -# Copyright (C) 2008-2015 EDF R&D -# -# This file is part of SALOME ADAO module -# -# 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. -# -# 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 -# -# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D - -# -------------------------------------------------------- -# Generated by AdaoCatalogGenerator on 2015-10-08 07:57:55 -# -------------------------------------------------------- - -import os, re -import Accas -from Accas import * - -JdC = JDC_CATA ( - code = 'ADAO', - execmodul = None, - regles = ( AU_MOINS_UN ('ASSIMILATION_STUDY','CHECKING_STUDY'), AU_PLUS_UN ('ASSIMILATION_STUDY','CHECKING_STUDY')), - ) -VERSION_CATALOGUE='V7_7_0' - -def NoCheckInNS(filename): - return 1 -NoCheckInNS.info = "" -def DirectOperatorInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^def[\s]*DirectOperator[\s]*\(") - for ln in fc: - if cr.match(ln): return 1 - cr = re.compile("^DirectOperator[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -DirectOperatorInNS.info = u"The Python file has to contain explicitly a \"DirectOperator\" function definition with only one vector as argument." -def TangentOperatorInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^def[\s]*TangentOperator[\s]*\(") - for ln in fc: - if cr.match(ln): return 1 - cr = re.compile("^TangentOperator[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -TangentOperatorInNS.info = u"The Python file has to contain explicitly a \"TangentOperator\" function definition with only one pair of vectors as argument." -def AdjointOperatorInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^def[\s]*AdjointOperator[\s]*\(") - for ln in fc: - if cr.match(ln): return 1 - cr = re.compile("^AdjointOperator[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -AdjointOperatorInNS.info = u"The Python file has to contain explicitly an \"AdjointOperator\" function definition with only one pair of vectors as argument." - -def F_VectorSerie(statut, fv=NoCheckInNS) : return FACT( - statut = statut, - FROM = SIMP(statut = "o", typ = "TXM", into=("String", "Script", ), defaut="Script"), - SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si ariable interne de meme nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), - ), - STRING_DATA = BLOC ( condition = " FROM in ( 'String', ) ", - STRING = SIMP(statut = "o", typ = "TXM", fr="En attente d'une chaine de caractères entre guillements. Pour construire un vecteur ou une matrice, ce doit être une suite de nombres, utilisant un espace ou une virgule pour séparer deux éléments et un point-virgule pour séparer deux lignes", ang="Waiting for a string in quotes. To build a vector or a matrix, it has to be a float serie, using a space or comma to separate two elements in a line, a semi-colon to separate rows"), - ), - SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), - ), - SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), - DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), - CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), - EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), - NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), - ), - SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), - ), - TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", - Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), - AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), - ), - AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - ), - ) - -def F_Function(statut, fv=NoCheckInNS) : return FACT( - statut = statut, - FROM = SIMP(statut = "o", typ = "TXM", into=("ScriptWithOneFunction", "ScriptWithFunctions", "ScriptWithSwitch", "FunctionDict", ), defaut="ScriptWithOneFunction"), - SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), - ), - STRING_DATA = BLOC ( condition = " FROM in ( 'String', ) ", - STRING = SIMP(statut = "o", typ = "TXM", fr="En attente d'une chaine de caractères entre guillements. Pour construire un vecteur ou une matrice, ce doit être une suite de nombres, utilisant un espace ou une virgule pour séparer deux éléments et un point-virgule pour séparer deux lignes", ang="Waiting for a string in quotes. To build a vector or a matrix, it has to be a float serie, using a space or comma to separate two elements in a line, a semi-colon to separate rows"), - ), - SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), - ), - SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), - DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), - CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), - EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), - NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), - ), - SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), - ), - TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", - Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), - AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), - ), - AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - ), - ) - -def F_Matrix(statut, fv=NoCheckInNS) : return FACT( - statut = statut, - FROM = SIMP(statut = "o", typ = "TXM", into=("String", "Script", ), defaut="Script"), - SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), - ), - STRING_DATA = BLOC ( condition = " FROM in ( 'String', ) ", - STRING = SIMP(statut = "o", typ = "TXM", fr="En attente d'une chaine de caractères entre guillements. Pour construire un vecteur ou une matrice, ce doit être une suite de nombres, utilisant un espace ou une virgule pour séparer deux éléments et un point-virgule pour séparer deux lignes", ang="Waiting for a string in quotes. To build a vector or a matrix, it has to be a float serie, using a space or comma to separate two elements in a line, a semi-colon to separate rows"), - ), - SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), - ), - SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), - DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), - CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), - EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), - NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), - ), - SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), - ), - TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", - Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), - AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), - ), - AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - ), - ) - -def F_DiagonalSparseMatrix(statut, fv=NoCheckInNS) : return FACT( - statut = statut, - FROM = SIMP(statut = "o", typ = "TXM", into=("String", "Script", ), defaut="String"), - SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), - ), - STRING_DATA = BLOC ( condition = " FROM in ( 'String', ) ", - STRING = SIMP(statut = "o", typ = "TXM", fr="En attente d'une chaine de caractères entre guillements. Pour construire un vecteur ou une matrice, ce doit être une suite de nombres, utilisant un espace ou une virgule pour séparer deux éléments et un point-virgule pour séparer deux lignes", ang="Waiting for a string in quotes. To build a vector or a matrix, it has to be a float serie, using a space or comma to separate two elements in a line, a semi-colon to separate rows"), - ), - SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), - ), - SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), - DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), - CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), - EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), - NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), - ), - SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), - ), - TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", - Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), - AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), - ), - AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - ), - ) - -def F_Vector(statut, fv=NoCheckInNS) : return FACT( - statut = statut, - FROM = SIMP(statut = "o", typ = "TXM", into=("String", "Script", ), defaut="Script"), - SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), - ), - STRING_DATA = BLOC ( condition = " FROM in ( 'String', ) ", - STRING = SIMP(statut = "o", typ = "TXM", fr="En attente d'une chaine de caractères entre guillements. Pour construire un vecteur ou une matrice, ce doit être une suite de nombres, utilisant un espace ou une virgule pour séparer deux éléments et un point-virgule pour séparer deux lignes", ang="Waiting for a string in quotes. To build a vector or a matrix, it has to be a float serie, using a space or comma to separate two elements in a line, a semi-colon to separate rows"), - ), - SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), - ), - SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), - DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), - CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), - EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), - NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), - ), - SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), - ), - TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", - Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), - AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), - ), - AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - ), - ) - -def F_Dict(statut, fv=NoCheckInNS) : return FACT( - statut = statut, - FROM = SIMP(statut = "o", typ = "TXM", into=("String", "Script", ), defaut="Script"), - SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), - ), - STRING_DATA = BLOC ( condition = " FROM in ( 'String', ) ", - STRING = SIMP(statut = "o", typ = "TXM", fr="En attente d'une chaine de caractères entre guillements. Pour construire un vecteur ou une matrice, ce doit être une suite de nombres, utilisant un espace ou une virgule pour séparer deux éléments et un point-virgule pour séparer deux lignes", ang="Waiting for a string in quotes. To build a vector or a matrix, it has to be a float serie, using a space or comma to separate two elements in a line, a semi-colon to separate rows"), - ), - SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), - ), - SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), - DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), - CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), - EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), - NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), - ), - SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), - ), - TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", - Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), - AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), - ), - AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - ), - ) - -def F_ScalarSparseMatrix(statut, fv=NoCheckInNS) : return FACT( - statut = statut, - FROM = SIMP(statut = "o", typ = "TXM", into=("String", "Script", ), defaut="String"), - SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), - ), - STRING_DATA = BLOC ( condition = " FROM in ( 'String', ) ", - STRING = SIMP(statut = "o", typ = "TXM", defaut="1.", fr="En attente d'une chaine de caractères entre guillements. Pour construire un vecteur ou une matrice, ce doit être une suite de nombres, utilisant un espace ou une virgule pour séparer deux éléments et un point-virgule pour séparer deux lignes", ang="Waiting for a string in quotes. To build a vector or a matrix, it has to be a float serie, using a space or comma to separate two elements in a line, a semi-colon to separate rows"), - ), - SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), - ), - SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), - DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), - CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), - EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), - NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), - ), - SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), - ), - TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", - Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), - AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), - ), - AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - ), - ) - -def ObservationErrorInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^ObservationError[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -ObservationErrorInNS.info = u"The Python file has to contain explicitly a \"ObservationError\" variable." -def F_ObservationError(statut, fv=NoCheckInNS) : return FACT( - statut=statut, - Stored = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), - INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix", ), defaut="ScalarSparseMatrix"), - Matrix = BLOC ( condition = " INPUT_TYPE in ( 'Matrix', ) ", - data = F_Matrix("o", fv), - ), - ScalarSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'ScalarSparseMatrix', ) ", - data = F_ScalarSparseMatrix("o", fv), - ), - DiagonalSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'DiagonalSparseMatrix', ) ", - data = F_DiagonalSparseMatrix("o", fv), - ), - ) - -def ObservationInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^Observation[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -ObservationInNS.info = u"The Python file has to contain explicitly a \"Observation\" variable." -def F_Observation(statut, fv=NoCheckInNS) : return FACT( - statut=statut, - Stored = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), - INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Vector", "VectorSerie", ), defaut="Vector"), - Vector = BLOC ( condition = " INPUT_TYPE in ( 'Vector', ) ", - data = F_Vector("o", fv), - ), - VectorSerie = BLOC ( condition = " INPUT_TYPE in ( 'VectorSerie', ) ", - data = F_VectorSerie("o", fv), - ), - ) - -def BackgroundErrorInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^BackgroundError[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -BackgroundErrorInNS.info = u"The Python file has to contain explicitly a \"BackgroundError\" variable." -def F_BackgroundError(statut, fv=NoCheckInNS) : return FACT( - statut=statut, - Stored = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), - INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix", ), defaut="ScalarSparseMatrix"), - Matrix = BLOC ( condition = " INPUT_TYPE in ( 'Matrix', ) ", - data = F_Matrix("o", fv), - ), - ScalarSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'ScalarSparseMatrix', ) ", - data = F_ScalarSparseMatrix("o", fv), - ), - DiagonalSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'DiagonalSparseMatrix', ) ", - data = F_DiagonalSparseMatrix("o", fv), - ), - ) - -def ObservationOperatorInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^ObservationOperator[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -ObservationOperatorInNS.info = u"The Python file has to contain explicitly a \"ObservationOperator\" variable." -def F_ObservationOperator(statut, fv=NoCheckInNS) : return FACT( - statut=statut, - Stored = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), - INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Matrix", "Function", ), defaut="Function"), - Matrix = BLOC ( condition = " INPUT_TYPE in ( 'Matrix', ) ", - data = F_Matrix("o", fv), - ), - Function = BLOC ( condition = " INPUT_TYPE in ( 'Function', ) ", - data = F_Function("o", fv), - ), - ) - -def CheckingPointInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^CheckingPoint[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -CheckingPointInNS.info = u"The Python file has to contain explicitly a \"CheckingPoint\" variable." -def F_CheckingPoint(statut, fv=NoCheckInNS) : return FACT( - statut=statut, - Stored = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), - INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Vector", ), defaut="Vector"), - Vector = BLOC ( condition = " INPUT_TYPE in ( 'Vector', ) ", - data = F_Vector("o", fv), - ), - ) - -def ControlInputInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^ControlInput[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -ControlInputInNS.info = u"The Python file has to contain explicitly a \"ControlInput\" variable." -def F_ControlInput(statut, fv=NoCheckInNS) : return FACT( - statut=statut, - Stored = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), - INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Vector", "VectorSerie", ), defaut="Vector"), - Vector = BLOC ( condition = " INPUT_TYPE in ( 'Vector', ) ", - data = F_Vector("o", fv), - ), - VectorSerie = BLOC ( condition = " INPUT_TYPE in ( 'VectorSerie', ) ", - data = F_VectorSerie("o", fv), - ), - ) - -def BackgroundInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^Background[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -BackgroundInNS.info = u"The Python file has to contain explicitly a \"Background\" variable." -def F_Background(statut, fv=NoCheckInNS) : return FACT( - statut=statut, - Stored = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), - INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Vector", "VectorSerie", ), defaut="Vector"), - Vector = BLOC ( condition = " INPUT_TYPE in ( 'Vector', ) ", - data = F_Vector("o", fv), - ), - VectorSerie = BLOC ( condition = " INPUT_TYPE in ( 'VectorSerie', ) ", - data = F_VectorSerie("o", fv), - ), - ) - -def AlgorithmParametersInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^AlgorithmParameters[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -AlgorithmParametersInNS.info = u"The Python file has to contain explicitly a \"AlgorithmParameters\" variable." -def F_AlgorithmParameters(statut, fv=NoCheckInNS) : return FACT( - statut=statut, - - INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Dict", ), defaut="Dict"), - Dict = BLOC ( condition = " INPUT_TYPE in ( 'Dict', ) ", - data = F_Dict("o", fv), - ), - ) - -def EvolutionErrorInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^EvolutionError[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -EvolutionErrorInNS.info = u"The Python file has to contain explicitly a \"EvolutionError\" variable." -def F_EvolutionError(statut, fv=NoCheckInNS) : return FACT( - statut=statut, - Stored = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), - INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix", ), defaut="ScalarSparseMatrix"), - Matrix = BLOC ( condition = " INPUT_TYPE in ( 'Matrix', ) ", - data = F_Matrix("o", fv), - ), - ScalarSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'ScalarSparseMatrix', ) ", - data = F_ScalarSparseMatrix("o", fv), - ), - DiagonalSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'DiagonalSparseMatrix', ) ", - data = F_DiagonalSparseMatrix("o", fv), - ), - ) - -def UserDataInitInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^UserDataInit[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -UserDataInitInNS.info = u"The Python file has to contain explicitly a \"UserDataInit\" variable." -def F_UserDataInit(statut, fv=NoCheckInNS) : return FACT( - statut=statut, - - INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Dict", ), defaut="Dict"), - Dict = BLOC ( condition = " INPUT_TYPE in ( 'Dict', ) ", - data = F_Dict("o", fv), - ), - ) - -def EvolutionModelInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^EvolutionModel[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -EvolutionModelInNS.info = u"The Python file has to contain explicitly a \"EvolutionModel\" variable." -def F_EvolutionModel(statut, fv=NoCheckInNS) : return FACT( - statut=statut, - Stored = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), - INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Matrix", "Function", ), defaut="Function"), - Matrix = BLOC ( condition = " INPUT_TYPE in ( 'Matrix', ) ", - data = F_Matrix("o", fv), - ), - Function = BLOC ( condition = " INPUT_TYPE in ( 'Function', ) ", - data = F_Function("o", fv), - ), - ) - -def F_UserPostAnalysis(statut, fv=NoCheckInNS) : return FACT( - statut = statut, - FROM = SIMP(statut = "o", typ = "TXM", into=("String", "Script", "Template", ), defaut="Template"), - SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), - ), - STRING_DATA = BLOC ( condition = " FROM in ( 'String', ) ", - STRING = SIMP(statut = "o", typ = "TXM", fr="En attente d'une chaine de caractères entre guillements. Pour construire un vecteur ou une matrice, ce doit être une suite de nombres, utilisant un espace ou une virgule pour séparer deux éléments et un point-virgule pour séparer deux lignes", ang="Waiting for a string in quotes. To build a vector or a matrix, it has to be a float serie, using a space or comma to separate two elements in a line, a semi-colon to separate rows"), - ), - SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), - ), - SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), - DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), - CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), - EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), - NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), - ), - SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), - ), - TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", - Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), - AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), - ), - AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - ), - ) - -def F_InitChoice() : return ("Background", - "BackgroundError", - "Observation", - "ObservationError", - "ObservationOperator", - "EvolutionModel", - "EvolutionError", - "AlgorithmParameters", - "UserPostAnalysis", - ) - -def F_Init(statut) : return FACT(statut = statut, - INIT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]), - TARGET_LIST = SIMP(statut = "o", typ = "TXM", min=1, max="**", into=F_InitChoice(), validators=(VerifExiste(2))), - ) - -def F_ObserverTemplate() : return BLOC(condition = " NodeType == 'Template' ", - Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "ValuePrinter", into=("ValuePrinter", "ValueSeriePrinter", "ValueSaver", "ValueSerieSaver", "ValuePrinterAndSaver", "ValueSeriePrinterAndSaver", "ValueGnuPlotter", "ValueSerieGnuPlotter", "ValuePrinterAndGnuPlotter", "ValueSeriePrinterAndGnuPlotter", "ValuePrinterSaverAndGnuPlotter", "ValueSeriePrinterSaverAndGnuPlotter", "ValueMean", "ValueStandardError", "ValueVariance", "ValueL2Norm", "ValueRMS")), - ValuePrinter = BLOC (condition = " Template == 'ValuePrinter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print info, var[-1]", fr="Imprime sur la sortie standard la valeur courante de la variable", ang="Print on standard output the current value of the variable" ), - ), - ValueSeriePrinter = BLOC (condition = " Template == 'ValueSeriePrinter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print info, var[:]", fr="Imprime sur la sortie standard la série des valeurs de la variable", ang="Print on standard output the value serie of the variable" ), - ), - ValueSaver = BLOC (condition = " Template == 'ValueSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy, re\nv=numpy.array(var[-1], ndmin=1)\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\s','_',f)\nprint 'Value saved in \"%s\"'%f\nnumpy.savetxt(f,v)", fr="Enregistre la valeur courante de la variable dans un fichier du répertoire '/tmp' nommé 'value...txt' selon le nom de la variable et l'étape d'enregistrement", ang="Save the current value of the variable in a file of the '/tmp' directory named 'value...txt' from the variable name and the saving step" ), - ), - ValueSerieSaver = BLOC (condition = " Template == 'ValueSerieSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy, re\nv=numpy.array(var[:], ndmin=1)\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\s','_',f)\nprint 'Value saved in \"%s\"'%f\nnumpy.savetxt(f,v)", fr="Enregistre la série des valeurs de la variable dans un fichier du répertoire '/tmp' nommé 'value...txt' selon le nom de la variable et l'étape", ang="Save the value serie of the variable in a file of the '/tmp' directory named 'value...txt' from the variable name and the saving step" ), - ), - ValuePrinterAndSaver = BLOC (condition = " Template == 'ValuePrinterAndSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy, re\nv=numpy.array(var[-1], ndmin=1)\nprint info,v\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\s','_',f)\nprint 'Value saved in \"%s\"'%f\nnumpy.savetxt(f,v)", fr="Imprime sur la sortie standard et, en même temps, enregistre dans un fichier la valeur courante de la variable", ang="Print on standard output and, in the same time, save in a file the current value of the variable" ), - ), - ValueSeriePrinterAndSaver = BLOC (condition = " Template == 'ValueSeriePrinterAndSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy, re\nv=numpy.array(var[:], ndmin=1)\nprint info,v\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\s','_',f)\nprint 'Value saved in \"%s\"'%f\nnumpy.savetxt(f,v)", fr="Imprime sur la sortie standard et, en même temps, enregistre dans un fichier la série des valeurs de la variable", ang="Print on standard output and, in the same time, save in a file the value serie of the variable" ), - ), - ValueGnuPlotter = BLOC (condition = " Template == 'ValueGnuPlotter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy, Gnuplot\nv=numpy.array(var[-1], ndmin=1)\nglobal ifig, gp\ntry:\n ifig += 1\n gp(' set style data lines')\nexcept:\n ifig = 0\n gp = Gnuplot.Gnuplot(persist=1)\n gp(' set style data lines')\ngp('set title \"%s (Figure %i)\"'%(info,ifig))\ngp.plot( Gnuplot.Data( v, with_='lines lw 2' ) )", fr="Affiche graphiquement avec Gnuplot la valeur courante de la variable", ang="Graphically plot with Gnuplot the current value of the variable" ), - ), - ValueSerieGnuPlotter = BLOC (condition = " Template == 'ValueSerieGnuPlotter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy, Gnuplot\nv=numpy.array(var[:], ndmin=1)\nglobal ifig, gp\ntry:\n ifig += 1\n gp(' set style data lines')\nexcept:\n ifig = 0\n gp = Gnuplot.Gnuplot(persist=1)\n gp(' set style data lines')\ngp('set title \"%s (Figure %i)\"'%(info,ifig))\ngp.plot( Gnuplot.Data( v, with_='lines lw 2' ) )", fr="Affiche graphiquement avec Gnuplot la série des valeurs de la variable", ang="Graphically plot with Gnuplot the value serie of the variable" ), - ), - ValuePrinterAndGnuPlotter = BLOC (condition = " Template == 'ValuePrinterAndGnuPlotter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print info, var[-1]\nimport numpy, Gnuplot\nv=numpy.array(var[-1], ndmin=1)\nglobal ifig,gp\ntry:\n ifig += 1\n gp(' set style data lines')\nexcept:\n ifig = 0\n gp = Gnuplot.Gnuplot(persist=1)\n gp(' set style data lines')\ngp('set title \"%s (Figure %i)\"'%(info,ifig))\ngp.plot( Gnuplot.Data( v, with_='lines lw 2' ) )", fr="Imprime sur la sortie standard et, en même temps, affiche graphiquement avec Gnuplot la valeur courante de la variable", ang="Print on standard output and, in the same time, graphically plot with Gnuplot the current value of the variable" ), - ), - ValueSeriePrinterAndGnuPlotter = BLOC (condition = " Template == 'ValueSeriePrinterAndGnuPlotter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print info, var[:] \nimport numpy, Gnuplot\nv=numpy.array(var[:], ndmin=1)\nglobal ifig,gp\ntry:\n ifig += 1\n gp(' set style data lines')\nexcept:\n ifig = 0\n gp = Gnuplot.Gnuplot(persist=1)\n gp(' set style data lines')\ngp('set title \"%s (Figure %i)\"'%(info,ifig))\ngp.plot( Gnuplot.Data( v, with_='lines lw 2' ) )", fr="Imprime sur la sortie standard et, en même temps, affiche graphiquement avec Gnuplot la série des valeurs de la variable", ang="Print on standard output and, in the same time, graphically plot with Gnuplot the value serie of the variable" ), - ), - ValuePrinterSaverAndGnuPlotter = BLOC (condition = " Template == 'ValuePrinterSaverAndGnuPlotter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print info, var[-1]\nimport numpy, re\nv=numpy.array(var[-1], ndmin=1)\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\s','_',f)\nprint 'Value saved in \"%s\"'%f\nnumpy.savetxt(f,v)\nimport Gnuplot\nglobal ifig,gp\ntry:\n ifig += 1\n gp(' set style data lines')\nexcept:\n ifig = 0\n gp = Gnuplot.Gnuplot(persist=1)\n gp(' set style data lines')\ngp('set title \"%s (Figure %i)\"'%(info,ifig))\ngp.plot( Gnuplot.Data( v, with_='lines lw 2' ) )", fr="Imprime sur la sortie standard et, en même temps, enregistre dans un fichier et affiche graphiquement la valeur courante de la variable ", ang="Print on standard output and, in the same, time save in a file and graphically plot the current value of the variable" ), - ), - ValueSeriePrinterSaverAndGnuPlotter = BLOC (condition = " Template == 'ValueSeriePrinterSaverAndGnuPlotter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print info, var[:] \nimport numpy, re\nv=numpy.array(var[:], ndmin=1)\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\s','_',f)\nprint 'Value saved in \"%s\"'%f\nnumpy.savetxt(f,v)\nimport Gnuplot\nglobal ifig,gp\ntry:\n ifig += 1\n gp(' set style data lines')\nexcept:\n ifig = 0\n gp = Gnuplot.Gnuplot(persist=1)\n gp(' set style data lines')\ngp('set title \"%s (Figure %i)\"'%(info,ifig))\ngp.plot( Gnuplot.Data( v, with_='lines lw 2' ) )", fr="Imprime sur la sortie standard et, en même temps, enregistre dans un fichier et affiche graphiquement la série des valeurs de la variable", ang="Print on standard output and, in the same, time save in a file and graphically plot the value serie of the variable" ), - ), - ValueMean = BLOC (condition = " Template == 'ValueMean' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nprint info, numpy.nanmean(var[-1])", fr="Imprime sur la sortie standard la moyenne de la valeur courante de la variable", ang="Print on standard output the mean of the current value of the variable" ), - ), - ValueStandardError = BLOC (condition = " Template == 'ValueStandardError' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nprint info, numpy.nanstd(var[-1])", fr="Imprime sur la sortie standard l'écart-type de la valeur courante de la variable", ang="Print on standard output the standard error of the current value of the variable" ), - ), - ValueVariance = BLOC (condition = " Template == 'ValueVariance' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nprint info, numpy.nanvar(var[-1])", fr="Imprime sur la sortie standard la variance de la valeur courante de la variable", ang="Print on standard output the variance of the current value of the variable" ), - ), - ValueL2Norm = BLOC (condition = " Template == 'ValueL2Norm' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nv = numpy.matrix( numpy.ravel( var[-1] ) )\nprint info, float( numpy.linalg.norm(v) )", fr="Imprime sur la sortie standard la norme L2 de la valeur courante de la variable", ang="Print on standard output the L2 norm of the current value of the variable" ), - ), - ValueRMS = BLOC (condition = " Template == 'ValueRMS' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nv = numpy.matrix( numpy.ravel( var[-1] ) )\nprint info, float( numpy.sqrt((1./v.size)*(v*v.T)) )", fr="Imprime sur la sortie standard la racine de la moyenne des carrés (RMS), ou moyenne quadratique, de la valeur courante de la variable", ang="Print on standard output the root mean square (RMS), or quadratic mean, of the current value of the variable" ), - ), - ) - -def F_Observers(statut) : return FACT( - statut=statut, - SELECTION = SIMP(statut="o", defaut=[], typ="TXM", min=0, max="**", validators=NoRepeat(), into=(['Analysis', 'Innovation', 'InnovationAtCurrentState', 'CurrentState', 'CurrentOptimum', 'IndexOfOptimum', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum', 'SimulatedObservationAtCurrentOptimum', 'BMA', 'OMA', 'OMB', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'GradientOfCostFunctionJ', 'GradientOfCostFunctionJb', 'GradientOfCostFunctionJo', 'SigmaObs2', 'SigmaBck2', 'APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'Residu'])), - Analysis = BLOC (condition=" 'Analysis' in set(SELECTION) ", - Analysis_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "Analysis"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - Innovation = BLOC (condition=" 'Innovation' in set(SELECTION) ", - Innovation_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "Innovation"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - InnovationAtCurrentState = BLOC (condition=" 'InnovationAtCurrentState' in set(SELECTION) ", - InnovationAtCurrentState_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "InnovationAtCurrentState"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - CurrentState = BLOC (condition=" 'CurrentState' in set(SELECTION) ", - CurrentState_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "CurrentState"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - CurrentOptimum = BLOC (condition=" 'CurrentOptimum' in set(SELECTION) ", - CurrentOptimum_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "CurrentOptimum"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - IndexOfOptimum = BLOC (condition=" 'IndexOfOptimum' in set(SELECTION) ", - IndexOfOptimum_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "IndexOfOptimum"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - SimulatedObservationAtBackground = BLOC (condition=" 'SimulatedObservationAtBackground' in set(SELECTION) ", - SimulatedObservationAtBackground_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "SimulatedObservationAtBackground"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - SimulatedObservationAtCurrentState = BLOC (condition=" 'SimulatedObservationAtCurrentState' in set(SELECTION) ", - SimulatedObservationAtCurrentState_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "SimulatedObservationAtCurrentState"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - SimulatedObservationAtOptimum = BLOC (condition=" 'SimulatedObservationAtOptimum' in set(SELECTION) ", - SimulatedObservationAtOptimum_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "SimulatedObservationAtOptimum"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - SimulatedObservationAtCurrentOptimum = BLOC (condition=" 'SimulatedObservationAtCurrentOptimum' in set(SELECTION) ", - SimulatedObservationAtCurrentOptimum_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "SimulatedObservationAtCurrentOptimum"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - BMA = BLOC (condition=" 'BMA' in set(SELECTION) ", - BMA_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "BMA"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - OMA = BLOC (condition=" 'OMA' in set(SELECTION) ", - OMA_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "OMA"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - OMB = BLOC (condition=" 'OMB' in set(SELECTION) ", - OMB_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "OMB"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - CostFunctionJ = BLOC (condition=" 'CostFunctionJ' in set(SELECTION) ", - CostFunctionJ_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "CostFunctionJ"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - CostFunctionJb = BLOC (condition=" 'CostFunctionJb' in set(SELECTION) ", - CostFunctionJb_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "CostFunctionJb"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - CostFunctionJo = BLOC (condition=" 'CostFunctionJo' in set(SELECTION) ", - CostFunctionJo_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "CostFunctionJo"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - GradientOfCostFunctionJ = BLOC (condition=" 'GradientOfCostFunctionJ' in set(SELECTION) ", - GradientOfCostFunctionJ_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "GradientOfCostFunctionJ"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - GradientOfCostFunctionJb = BLOC (condition=" 'GradientOfCostFunctionJb' in set(SELECTION) ", - GradientOfCostFunctionJb_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "GradientOfCostFunctionJb"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - GradientOfCostFunctionJo = BLOC (condition=" 'GradientOfCostFunctionJo' in set(SELECTION) ", - GradientOfCostFunctionJo_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "GradientOfCostFunctionJo"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - SigmaObs2 = BLOC (condition=" 'SigmaObs2' in set(SELECTION) ", - SigmaObs2_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "SigmaObs2"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - SigmaBck2 = BLOC (condition=" 'SigmaBck2' in set(SELECTION) ", - SigmaBck2_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "SigmaBck2"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - APosterioriCorrelations = BLOC (condition=" 'APosterioriCorrelations' in set(SELECTION) ", - APosterioriCorrelations_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "APosterioriCorrelations"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - APosterioriCovariance = BLOC (condition=" 'APosterioriCovariance' in set(SELECTION) ", - APosterioriCovariance_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "APosterioriCovariance"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - APosterioriStandardDeviations = BLOC (condition=" 'APosterioriStandardDeviations' in set(SELECTION) ", - APosterioriStandardDeviations_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "APosterioriStandardDeviations"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - APosterioriVariances = BLOC (condition=" 'APosterioriVariances' in set(SELECTION) ", - APosterioriVariances_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "APosterioriVariances"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - Residu = BLOC (condition=" 'Residu' in set(SELECTION) ", - Residu_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "Residu"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - ) - -def AlgorithmParametersInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^AlgorithmParameters[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -AlgorithmParametersInNS.info = u"The Python file has to contain explicitly an \"AlgorithmParameters\" variable." -def F_AlgorithmParameters(statut, algos_names, fv=NoCheckInNS) : return FACT( - statut = statut, - Algorithm = SIMP(statut="o", typ = "TXM", into = algos_names ), - Parameters = SIMP(statut="f", typ = "TXM", into=("Defaults", "Dict") ), - Dict = BLOC ( condition = " Parameters == 'Dict' ", - statut="f", - data = F_Dict("o", fv), - ), - Parameters3DVAR = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == '3DVAR') ", - statut="f", - Bounds = SIMP(statut="f", typ="TXM", fr="Liste des valeurs de bornes"), - CostDecrementTolerance = SIMP(statut="f", typ="R", min=1, max=1, defaut=1e-07, fr="Diminution relative minimale du cout lors de l'arrêt"), - GradientNormTolerance = SIMP(statut="f", typ="R", min=1, max=1, defaut=1e-05, fr="Maximum des composantes du gradient lors de l'arrêt"), - MaximumNumberOfSteps = SIMP(statut="f", typ="I", val_min=-1, min=1, max=1, defaut=15000, fr="Nombre maximal de pas d'optimisation"), - Minimizer = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="LBFGSB", into=['LBFGSB', 'TNC', 'CG', 'NCG', 'BFGS'], fr="Minimiseur utilisé"), - NumberOfSamplesForQuantiles = SIMP(statut="f", typ="I", val_min=1, min=1, max=1, defaut=100, fr="Nombre d'échantillons simulés pour le calcul des quantiles"), - ProjectedGradientTolerance = SIMP(statut="f", typ="R", val_min=-1, min=1, max=1, defaut=-1.0, fr="Maximum des composantes du gradient projeté lors de l'arrêt"), - Quantiles = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Liste des valeurs de quantiles"), - SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), - SimulationForQuantiles = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="Linear", into=['Linear', 'NonLinear'], fr="Type de simulation pour l'estimation des quantiles"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'OMA', 'OMB', 'CostFunctionJ', 'CurrentState', 'CurrentOptimum', 'IndexOfOptimum', 'Innovation', 'InnovationAtCurrentState', 'CostFunctionJAtCurrentOptimum', 'SigmaObs2', 'MahalanobisConsistency', 'SimulationQuantiles', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum', 'SimulatedObservationAtCurrentOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - Parameters4DVAR = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == '4DVAR') ", - statut="f", - Bounds = SIMP(statut="f", typ="TXM", fr="Liste des valeurs de bornes"), - ConstrainedBy = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="EstimateProjection", into=['EstimateProjection'], fr="Prise en compte des contraintes"), - CostDecrementTolerance = SIMP(statut="f", typ="R", min=1, max=1, defaut=1e-07, fr="Diminution relative minimale du cout lors de l'arrêt"), - EstimationOf = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="State", into=['State', 'Parameters'], fr="Estimation d'etat ou de parametres"), - GradientNormTolerance = SIMP(statut="f", typ="R", min=1, max=1, defaut=1e-05, fr="Maximum des composantes du gradient lors de l'arrêt"), - MaximumNumberOfSteps = SIMP(statut="f", typ="I", val_min=-1, min=1, max=1, defaut=15000, fr="Nombre maximal de pas d'optimisation"), - Minimizer = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="LBFGSB", into=['LBFGSB', 'TNC', 'CG', 'NCG', 'BFGS'], fr="Minimiseur utilisé"), - ProjectedGradientTolerance = SIMP(statut="f", typ="R", val_min=-1, min=1, max=1, defaut=-1.0, fr="Maximum des composantes du gradient projeté lors de l'arrêt"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['BMA', 'CurrentState', 'CostFunctionJ', 'IndexOfOptimum', 'CurrentOptimum', 'CostFunctionJAtCurrentOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersBlue = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'Blue') ", - statut="f", - NumberOfSamplesForQuantiles = SIMP(statut="f", typ="I", val_min=1, min=1, max=1, defaut=100, fr="Nombre d'échantillons simulés pour le calcul des quantiles"), - Quantiles = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Liste des valeurs de quantiles"), - SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), - SimulationForQuantiles = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="Linear", into=['Linear', 'NonLinear'], fr="Type de simulation pour l'estimation des quantiles"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'Innovation', 'SigmaBck2', 'SigmaObs2', 'MahalanobisConsistency', 'SimulationQuantiles', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersDerivativeFreeOptimization = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'DerivativeFreeOptimization') ", - statut="f", - CostDecrementTolerance = SIMP(statut="f", typ="R", min=1, max=1, defaut=1e-07, fr="Diminution relative minimale du cout lors de l'arrêt"), - MaximumNumberOfFunctionEvaluations = SIMP(statut="f", typ="I", val_min=-1, min=1, max=1, defaut=15000, fr="Nombre maximal de d'évaluations de la function"), - MaximumNumberOfSteps = SIMP(statut="f", typ="I", val_min=-1, min=1, max=1, defaut=15000, fr="Nombre maximal de pas d'optimisation"), - Minimizer = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="POWELL", into=['POWELL', 'SIMPLEX'], fr="Minimiseur utilisé"), - QualityCriterion = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="AugmentedWeightedLeastSquares", into=['AugmentedWeightedLeastSquares', 'AWLS', 'DA', 'WeightedLeastSquares', 'WLS', 'LeastSquares', 'LS', 'L2', 'AbsoluteValue', 'L1', 'MaximumError', 'ME'], fr="Critère de qualité utilisé"), - StateVariationTolerance = SIMP(statut="f", typ="R", min=1, max=1, defaut=0.0001, fr="Variation relative maximale de l'état lors de l'arrêt"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['CurrentState', 'CostFunctionJ', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersEnsembleBlue = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'EnsembleBlue') ", - statut="f", - SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['CurrentState', 'Innovation', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersExtendedBlue = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'ExtendedBlue') ", - statut="f", - NumberOfSamplesForQuantiles = SIMP(statut="f", typ="I", val_min=1, min=1, max=1, defaut=100, fr="Nombre d'échantillons simulés pour le calcul des quantiles"), - Quantiles = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Liste des valeurs de quantiles"), - SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), - SimulationForQuantiles = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="Linear", into=['Linear', 'NonLinear'], fr="Type de simulation pour l'estimation des quantiles"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'Innovation', 'SigmaBck2', 'SigmaObs2', 'MahalanobisConsistency', 'SimulationQuantiles', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersExtendedKalmanFilter = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'ExtendedKalmanFilter') ", - statut="f", - Bounds = SIMP(statut="f", typ="TXM", fr="Liste des valeurs de bornes"), - ConstrainedBy = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="EstimateProjection", into=['EstimateProjection'], fr="Prise en compte des contraintes"), - EstimationOf = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="State", into=['State', 'Parameters'], fr="Estimation d'etat ou de parametres"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'CurrentState', 'CostFunctionJ', 'Innovation'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersKalmanFilter = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'KalmanFilter') ", - statut="f", - EstimationOf = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="State", into=['State', 'Parameters'], fr="Estimation d'etat ou de parametres"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'CurrentState', 'CostFunctionJ', 'Innovation'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersLinearLeastSquares = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'LinearLeastSquares') ", - statut="f", - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['OMA', 'CurrentState', 'CostFunctionJ', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersNonLinearLeastSquares = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'NonLinearLeastSquares') ", - statut="f", - Bounds = SIMP(statut="f", typ="TXM", fr="Liste des valeurs de bornes"), - CostDecrementTolerance = SIMP(statut="f", typ="R", min=1, max=1, defaut=1e-07, fr="Diminution relative minimale du cout lors de l'arrêt"), - GradientNormTolerance = SIMP(statut="f", typ="R", min=1, max=1, defaut=1e-05, fr="Maximum des composantes du gradient lors de l'arrêt"), - MaximumNumberOfSteps = SIMP(statut="f", typ="I", val_min=-1, min=1, max=1, defaut=15000, fr="Nombre maximal de pas d'optimisation"), - Minimizer = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="LBFGSB", into=['LBFGSB', 'TNC', 'CG', 'NCG', 'BFGS', 'LM'], fr="Minimiseur utilisé"), - ProjectedGradientTolerance = SIMP(statut="f", typ="R", val_min=-1, min=1, max=1, defaut=-1.0, fr="Maximum des composantes du gradient projeté lors de l'arrêt"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'Innovation', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersParticleSwarmOptimization = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'ParticleSwarmOptimization') ", - statut="f", - BoxBounds = SIMP(statut="f", typ="TXM", fr="Liste des valeurs de bornes d'incréments de paramètres"), - GroupRecallRate = SIMP(statut="f", typ="R", val_min=0.0, val_max=1.0, min=1, max=1, defaut=0.5, fr="Taux de rappel au meilleur insecte du groupe (entre 0 et 1)"), - MaximumNumberOfSteps = SIMP(statut="f", typ="I", val_min=1, min=1, max=1, defaut=50, fr="Nombre maximal de pas d'optimisation"), - NumberOfInsects = SIMP(statut="f", typ="I", val_min=-1, min=1, max=1, defaut=100, fr="Nombre d'insectes dans l'essaim"), - QualityCriterion = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="AugmentedWeightedLeastSquares", into=['AugmentedWeightedLeastSquares', 'AWLS', 'AugmentedPonderatedLeastSquares', 'APLS', 'DA', 'WeightedLeastSquares', 'WLS', 'PonderatedLeastSquares', 'PLS', 'LeastSquares', 'LS', 'L2', 'AbsoluteValue', 'L1', 'MaximumError', 'ME'], fr="Critère de qualité utilisé"), - SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'Innovation', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - SwarmVelocity = SIMP(statut="f", typ="R", val_min=0.0, min=1, max=1, defaut=1.0, fr="Vitesse de groupe imposée par l'essaim"), - ), - ParametersQuantileRegression = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'QuantileRegression') ", - statut="f", - Bounds = SIMP(statut="f", typ="TXM", fr="Liste des valeurs de bornes"), - CostDecrementTolerance = SIMP(statut="f", typ="R", min=1, max=1, defaut=1e-06, fr="Maximum de variation de la fonction d'estimation lors de l'arrêt"), - MaximumNumberOfSteps = SIMP(statut="f", typ="I", val_min=1, min=1, max=1, defaut=15000, fr="Nombre maximal de pas d'optimisation"), - Minimizer = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="MMQR", into=['MMQR'], fr="Minimiseur utilisé"), - Quantile = SIMP(statut="f", typ="R", val_min=0.0, val_max=1.0, min=1, max=1, defaut=0.5, fr="Quantile pour la regression de quantile"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'Innovation', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersUnscentedKalmanFilter = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'UnscentedKalmanFilter') ", - statut="f", - Alpha = SIMP(statut="f", typ="R", val_min=0.0001, val_max=1.0, min=1, max=1, defaut=1.0, fr=""), - Beta = SIMP(statut="f", typ="R", min=1, max=1, defaut=2.0, fr=""), - Bounds = SIMP(statut="f", typ="TXM", fr="Liste des valeurs de bornes"), - ConstrainedBy = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="EstimateProjection", into=['EstimateProjection'], fr="Prise en compte des contraintes"), - EstimationOf = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="State", into=['State', 'Parameters'], fr="Estimation d'etat ou de parametres"), - Kappa = SIMP(statut="f", typ="I", val_max=2, min=1, max=1, defaut=0, fr=""), - Reconditioner = SIMP(statut="f", typ="R", val_min=0.001, val_max=10.0, min=1, max=1, defaut=1.0, fr=""), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'CurrentState', 'CostFunctionJ', 'Innovation'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersAdjointTest = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'AdjointTest') ", - statut="f", - AmplitudeOfInitialDirection = SIMP(statut="f", typ="R", min=1, max=1, defaut=1.0, fr="Amplitude de la direction initiale de la dérivée directionnelle autour du point nominal"), - EpsilonMinimumExponent = SIMP(statut="f", typ="I", val_min=-20, val_max=0, min=1, max=1, defaut=-8, fr="Exposant minimal en puissance de 10 pour le multiplicateur d'incrément"), - InitialDirection = SIMP(statut="f", typ="TXM", fr="Direction initiale de la dérivée directionnelle autour du point nominal"), - ResiduFormula = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="ScalarProduct", into=['ScalarProduct'], fr="Formule de résidu utilisée"), - SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['CurrentState', 'Residu', 'SimulatedObservationAtCurrentState'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersFunctionTest = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'FunctionTest') ", - statut="f", - NumberOfPrintedDigits = SIMP(statut="f", typ="I", val_min=0, min=1, max=1, defaut=5, fr="Nombre de chiffres affichés pour les impressions de réels"), - NumberOfRepetition = SIMP(statut="f", typ="I", val_min=1, min=1, max=1, defaut=1, fr="Nombre de fois où l'exécution de la fonction est répétée"), - SetDebug = SIMP(statut="f", typ="I", min=1, max=1, defaut=0, fr="Activation du mode debug lors de l'exécution"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['CurrentState', 'SimulatedObservationAtCurrentState'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersGradientTest = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'GradientTest') ", - statut="f", - AmplitudeOfInitialDirection = SIMP(statut="f", typ="R", min=1, max=1, defaut=1.0, fr="Amplitude de la direction initiale de la dérivée directionnelle autour du point nominal"), - AmplitudeOfTangentPerturbation = SIMP(statut="f", typ="R", val_min=1e-10, val_max=1.0, min=1, max=1, defaut=0.01, fr="Amplitude de la perturbation pour le calcul de la forme tangente"), - EpsilonMinimumExponent = SIMP(statut="f", typ="I", val_min=-20, val_max=0, min=1, max=1, defaut=-8, fr="Exposant minimal en puissance de 10 pour le multiplicateur d'incrément"), - InitialDirection = SIMP(statut="f", typ="TXM", fr="Direction initiale de la dérivée directionnelle autour du point nominal"), - ResiduFormula = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="Taylor", into=['Norm', 'TaylorOnNorm', 'Taylor'], fr="Formule de résidu utilisée"), - SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['CurrentState', 'Residu', 'SimulatedObservationAtCurrentState'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersLinearityTest = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'LinearityTest') ", - statut="f", - AmplitudeOfInitialDirection = SIMP(statut="f", typ="R", min=1, max=1, defaut=1.0, fr="Amplitude de la direction initiale de la dérivée directionnelle autour du point nominal"), - AmplitudeOfTangentPerturbation = SIMP(statut="f", typ="R", val_min=1e-10, val_max=1.0, min=1, max=1, defaut=0.01, fr="Amplitude de la perturbation pour le calcul de la forme tangente"), - EpsilonMinimumExponent = SIMP(statut="f", typ="I", val_min=-20, val_max=0, min=1, max=1, defaut=-8, fr="Exposant minimal en puissance de 10 pour le multiplicateur d'incrément"), - InitialDirection = SIMP(statut="f", typ="TXM", fr="Direction initiale de la dérivée directionnelle autour du point nominal"), - ResiduFormula = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="CenteredDL", into=['CenteredDL', 'Taylor', 'NominalTaylor', 'NominalTaylorRMS'], fr="Formule de résidu utilisée"), - SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['CurrentState', 'Residu', 'SimulatedObservationAtCurrentState'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersSamplingTest = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'SamplingTest') ", - statut="f", - QualityCriterion = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="AugmentedWeightedLeastSquares", into=['AugmentedWeightedLeastSquares', 'AWLS', 'AugmentedPonderatedLeastSquares', 'APLS', 'DA', 'WeightedLeastSquares', 'WLS', 'PonderatedLeastSquares', 'PLS', 'LeastSquares', 'LS', 'L2', 'AbsoluteValue', 'L1', 'MaximumError', 'ME'], fr="Critère de qualité utilisé"), - SampleAsExplicitHyperCube = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Points de calcul définis par un hyper-cube dont on donne la liste des échantillonages de chaque variable comme une liste"), - SampleAsIndependantRandomVariables = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Points de calcul définis par un hyper-cube dont les points sur chaque axe proviennent de l'échantillonage indépendant de la variable selon la spécification ['distribution',[parametres],nombre]"), - SampleAsMinMaxStepHyperCube = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Points de calcul définis par un hyper-cube dont on donne la liste des échantillonages de chaque variable par un triplet [min,max,step]"), - SampleAsnUplet = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Points de calcul définis par une liste de n-uplet"), - SetDebug = SIMP(statut="f", typ="I", min=1, max=1, defaut=0, fr="Activation du mode debug lors de l'exécution"), - SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['CostFunctionJ', 'CurrentState', 'InnovationAtCurrentState', 'SimulatedObservationAtCurrentState'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersTangentTest = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'TangentTest') ", - statut="f", - AmplitudeOfInitialDirection = SIMP(statut="f", typ="R", min=1, max=1, defaut=1.0, fr="Amplitude de la direction initiale de la dérivée directionnelle autour du point nominal"), - AmplitudeOfTangentPerturbation = SIMP(statut="f", typ="R", val_min=1e-10, val_max=1.0, min=1, max=1, defaut=0.01, fr="Amplitude de la perturbation pour le calcul de la forme tangente"), - EpsilonMinimumExponent = SIMP(statut="f", typ="I", val_min=-20, val_max=0, min=1, max=1, defaut=-8, fr="Exposant minimal en puissance de 10 pour le multiplicateur d'incrément"), - InitialDirection = SIMP(statut="f", typ="TXM", fr="Direction initiale de la dérivée directionnelle autour du point nominal"), - ResiduFormula = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="Taylor", into=['Taylor'], fr="Formule de résidu utilisée"), - SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['CurrentState', 'Residu', 'SimulatedObservationAtCurrentState'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ) - -def F_variables(statut) : return FACT( - statut=statut, - regles = ( MEME_NOMBRE ('NAMES', 'SIZES')), - NAMES = SIMP(statut="o", typ="TXM", max="**", validators=NoRepeat()), - SIZES = SIMP(statut="o", typ="I", val_min=1, max="**") - ) -def ChDir(dirname): - os.chdir(os.path.abspath(dirname)) - return 1 -ChDir.info = u"This has to be a regular directory path." - -ASSIMILATION_STUDY = PROC(nom="ASSIMILATION_STUDY", - op=None, - repetable = "n", - StudyName = SIMP(statut="o", typ = "TXM", defaut="ADAO Calculation Case"), - StudyRepertory = SIMP(statut="f", typ = "Repertoire", validators=FunctionVal(ChDir), min=1, max=1), - Debug = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0), - AlgorithmParameters = F_AlgorithmParameters("o",("3DVAR", "4DVAR", "Blue", "DerivativeFreeOptimization", "EnsembleBlue", "ExtendedBlue", "ExtendedKalmanFilter", "KalmanFilter", "LinearLeastSquares", "NonLinearLeastSquares", "ParticleSwarmOptimization", "QuantileRegression", "UnscentedKalmanFilter", ), AlgorithmParametersInNS), - Background = F_Background("o", BackgroundInNS), - BackgroundError = F_BackgroundError("o", BackgroundErrorInNS), - Observation = F_Observation("o", ObservationInNS), - ObservationError = F_ObservationError("o", ObservationErrorInNS), - ObservationOperator = F_ObservationOperator("o"), - EvolutionModel = F_EvolutionModel("f"), - EvolutionError = F_EvolutionError("f", EvolutionErrorInNS), - ControlInput = F_ControlInput("f"), - UserDataInit = F_Init("f"), - UserPostAnalysis = F_UserPostAnalysis("o"), - InputVariables = F_variables("f"), - OutputVariables = F_variables("f"), - Observers = F_Observers("f") - ) - -CHECKING_STUDY = PROC(nom="CHECKING_STUDY", - op=None, - repetable = "n", - StudyName = SIMP(statut="o", typ = "TXM", defaut="ADAO Checking Case"), - StudyRepertory = SIMP(statut="f", typ = "Repertoire", validators=FunctionVal(ChDir), min=1, max=1), - Debug = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0), - AlgorithmParameters = F_AlgorithmParameters("o", ("AdjointTest", "FunctionTest", "GradientTest", "LinearityTest", "ObserverTest", "SamplingTest", "TangentTest", ), AlgorithmParametersInNS), - CheckingPoint = F_CheckingPoint("o", CheckingPointInNS), - BackgroundError = F_BackgroundError("f", BackgroundErrorInNS), - Observation = F_Observation("f", ObservationInNS), - ObservationError = F_ObservationError("f", ObservationErrorInNS), - ObservationOperator = F_ObservationOperator("o"), - UserDataInit = F_Init("f"), - Observers = F_Observers("f") - ) diff --git a/Adao/ADAO_Cata_V0_V8_3_0_DEV.py b/Adao/ADAO_Cata_V0_V8_3_0_DEV.py deleted file mode 100755 index 78beda68..00000000 --- a/Adao/ADAO_Cata_V0_V8_3_0_DEV.py +++ /dev/null @@ -1,1270 +0,0 @@ -#-*-coding:iso-8859-1-*- -# -# Copyright (C) 2008-2017 EDF R&D -# -# This file is part of SALOME ADAO module -# -# 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. -# -# 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 -# -# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D - -# -------------------------------------------------------- -# Generated by AdaoCatalogGenerator on 2017-03-06 09:14:06 -# -------------------------------------------------------- - -import os, re -import Accas -from Accas import * - -JdC = JDC_CATA ( - code = 'ADAO', - execmodul = None, - regles = ( AU_MOINS_UN ('ASSIMILATION_STUDY','CHECKING_STUDY'), AU_PLUS_UN ('ASSIMILATION_STUDY','CHECKING_STUDY')), - ) -VERSION_CATALOGUE='V8_3_0' - -def NoCheckInNS(filename): - return 1 -NoCheckInNS.info = "" -def DirectOperatorInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^def[\s]*DirectOperator[\s]*\(") - for ln in fc: - if cr.match(ln): return 1 - cr = re.compile("^DirectOperator[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -DirectOperatorInNS.info = u"The Python file has to contain explicitly a \"DirectOperator\" function definition with only one vector as argument." -def TangentOperatorInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^def[\s]*TangentOperator[\s]*\(") - for ln in fc: - if cr.match(ln): return 1 - cr = re.compile("^TangentOperator[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -TangentOperatorInNS.info = u"The Python file has to contain explicitly a \"TangentOperator\" function definition with only one pair of vectors as argument." -def AdjointOperatorInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^def[\s]*AdjointOperator[\s]*\(") - for ln in fc: - if cr.match(ln): return 1 - cr = re.compile("^AdjointOperator[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -AdjointOperatorInNS.info = u"The Python file has to contain explicitly an \"AdjointOperator\" function definition with only one pair of vectors as argument." - -def F_VectorSerie(statut, fv=NoCheckInNS) : return FACT( - statut = statut, - FROM = SIMP(statut = "o", typ = "TXM", into=("String", "Script", ), defaut="Script"), - SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), - ), - STRING_DATA = BLOC ( condition = " FROM in ( 'String', ) ", - STRING = SIMP(statut = "o", typ = "TXM", fr="En attente d'une chaine de caractères entre guillements. Pour construire un vecteur ou une matrice, ce doit être une suite de nombres, utilisant un espace ou une virgule pour séparer deux éléments et un point-virgule pour séparer deux lignes", ang="Waiting for a string in quotes. To build a vector or a matrix, it has to be a float serie, using a space or comma to separate two elements in a line, a semi-colon to separate rows"), - ), - SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), - ), - SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), - DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), - CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), - EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), - NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), - ), - SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), - ), - TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", - Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), - AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), - ), - AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - ), - ) - -def F_Function(statut, fv=NoCheckInNS) : return FACT( - statut = statut, - FROM = SIMP(statut = "o", typ = "TXM", into=("ScriptWithOneFunction", "ScriptWithFunctions", "ScriptWithSwitch", "FunctionDict", ), defaut="ScriptWithOneFunction"), - SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), - ), - STRING_DATA = BLOC ( condition = " FROM in ( 'String', ) ", - STRING = SIMP(statut = "o", typ = "TXM", fr="En attente d'une chaine de caractères entre guillements. Pour construire un vecteur ou une matrice, ce doit être une suite de nombres, utilisant un espace ou une virgule pour séparer deux éléments et un point-virgule pour séparer deux lignes", ang="Waiting for a string in quotes. To build a vector or a matrix, it has to be a float serie, using a space or comma to separate two elements in a line, a semi-colon to separate rows"), - ), - SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), - ), - SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), - DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), - CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), - EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), - NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), - ), - SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), - ), - TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", - Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), - AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), - ), - AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - ), - ) - -def F_Matrix(statut, fv=NoCheckInNS) : return FACT( - statut = statut, - FROM = SIMP(statut = "o", typ = "TXM", into=("String", "Script", ), defaut="Script"), - SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), - ), - STRING_DATA = BLOC ( condition = " FROM in ( 'String', ) ", - STRING = SIMP(statut = "o", typ = "TXM", fr="En attente d'une chaine de caractères entre guillements. Pour construire un vecteur ou une matrice, ce doit être une suite de nombres, utilisant un espace ou une virgule pour séparer deux éléments et un point-virgule pour séparer deux lignes", ang="Waiting for a string in quotes. To build a vector or a matrix, it has to be a float serie, using a space or comma to separate two elements in a line, a semi-colon to separate rows"), - ), - SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), - ), - SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), - DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), - CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), - EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), - NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), - ), - SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), - ), - TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", - Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), - AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), - ), - AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - ), - ) - -def F_DiagonalSparseMatrix(statut, fv=NoCheckInNS) : return FACT( - statut = statut, - FROM = SIMP(statut = "o", typ = "TXM", into=("String", "Script", ), defaut="String"), - SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), - ), - STRING_DATA = BLOC ( condition = " FROM in ( 'String', ) ", - STRING = SIMP(statut = "o", typ = "TXM", fr="En attente d'une chaine de caractères entre guillements. Pour construire un vecteur ou une matrice, ce doit être une suite de nombres, utilisant un espace ou une virgule pour séparer deux éléments et un point-virgule pour séparer deux lignes", ang="Waiting for a string in quotes. To build a vector or a matrix, it has to be a float serie, using a space or comma to separate two elements in a line, a semi-colon to separate rows"), - ), - SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), - ), - SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), - DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), - CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), - EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), - NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), - ), - SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), - ), - TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", - Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), - AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), - ), - AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - ), - ) - -def F_Vector(statut, fv=NoCheckInNS) : return FACT( - statut = statut, - FROM = SIMP(statut = "o", typ = "TXM", into=("String", "Script", ), defaut="Script"), - SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), - ), - STRING_DATA = BLOC ( condition = " FROM in ( 'String', ) ", - STRING = SIMP(statut = "o", typ = "TXM", fr="En attente d'une chaine de caractères entre guillements. Pour construire un vecteur ou une matrice, ce doit être une suite de nombres, utilisant un espace ou une virgule pour séparer deux éléments et un point-virgule pour séparer deux lignes", ang="Waiting for a string in quotes. To build a vector or a matrix, it has to be a float serie, using a space or comma to separate two elements in a line, a semi-colon to separate rows"), - ), - SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), - ), - SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), - DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), - CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), - EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), - NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), - ), - SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), - ), - TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", - Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), - AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), - ), - AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - ), - ) - -def F_Dict(statut, fv=NoCheckInNS) : return FACT( - statut = statut, - FROM = SIMP(statut = "o", typ = "TXM", into=("String", "Script", ), defaut="Script"), - SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), - ), - STRING_DATA = BLOC ( condition = " FROM in ( 'String', ) ", - STRING = SIMP(statut = "o", typ = "TXM", fr="En attente d'une chaine de caractères entre guillements. Pour construire un vecteur ou une matrice, ce doit être une suite de nombres, utilisant un espace ou une virgule pour séparer deux éléments et un point-virgule pour séparer deux lignes", ang="Waiting for a string in quotes. To build a vector or a matrix, it has to be a float serie, using a space or comma to separate two elements in a line, a semi-colon to separate rows"), - ), - SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), - ), - SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), - DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), - CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), - EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), - NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), - ), - SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), - ), - TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", - Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), - AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), - ), - AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - ), - ) - -def F_ScalarSparseMatrix(statut, fv=NoCheckInNS) : return FACT( - statut = statut, - FROM = SIMP(statut = "o", typ = "TXM", into=("String", "Script", ), defaut="String"), - SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), - ), - STRING_DATA = BLOC ( condition = " FROM in ( 'String', ) ", - STRING = SIMP(statut = "o", typ = "TXM", defaut="1.", fr="En attente d'une chaine de caractères entre guillements. Pour construire un vecteur ou une matrice, ce doit être une suite de nombres, utilisant un espace ou une virgule pour séparer deux éléments et un point-virgule pour séparer deux lignes", ang="Waiting for a string in quotes. To build a vector or a matrix, it has to be a float serie, using a space or comma to separate two elements in a line, a semi-colon to separate rows"), - ), - SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), - ), - SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), - DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), - CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), - EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), - NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), - ), - SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), - ), - TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", - Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), - AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), - ), - AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - ), - ) - -def ObservationErrorInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^ObservationError[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -ObservationErrorInNS.info = u"The Python file has to contain explicitly a \"ObservationError\" variable." -def F_ObservationError(statut, fv=NoCheckInNS) : return FACT( - statut=statut, - Stored = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), - INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix", ), defaut="ScalarSparseMatrix"), - Matrix = BLOC ( condition = " INPUT_TYPE in ( 'Matrix', ) ", - data = F_Matrix("o", fv), - ), - ScalarSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'ScalarSparseMatrix', ) ", - data = F_ScalarSparseMatrix("o", fv), - ), - DiagonalSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'DiagonalSparseMatrix', ) ", - data = F_DiagonalSparseMatrix("o", fv), - ), - ) - -def ObservationInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^Observation[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -ObservationInNS.info = u"The Python file has to contain explicitly a \"Observation\" variable." -def F_Observation(statut, fv=NoCheckInNS) : return FACT( - statut=statut, - Stored = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), - INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Vector", "VectorSerie", ), defaut="Vector"), - Vector = BLOC ( condition = " INPUT_TYPE in ( 'Vector', ) ", - data = F_Vector("o", fv), - ), - VectorSerie = BLOC ( condition = " INPUT_TYPE in ( 'VectorSerie', ) ", - data = F_VectorSerie("o", fv), - ), - ) - -def BackgroundErrorInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^BackgroundError[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -BackgroundErrorInNS.info = u"The Python file has to contain explicitly a \"BackgroundError\" variable." -def F_BackgroundError(statut, fv=NoCheckInNS) : return FACT( - statut=statut, - Stored = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), - INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix", ), defaut="ScalarSparseMatrix"), - Matrix = BLOC ( condition = " INPUT_TYPE in ( 'Matrix', ) ", - data = F_Matrix("o", fv), - ), - ScalarSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'ScalarSparseMatrix', ) ", - data = F_ScalarSparseMatrix("o", fv), - ), - DiagonalSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'DiagonalSparseMatrix', ) ", - data = F_DiagonalSparseMatrix("o", fv), - ), - ) - -def ObservationOperatorInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^ObservationOperator[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -ObservationOperatorInNS.info = u"The Python file has to contain explicitly a \"ObservationOperator\" variable." -def F_ObservationOperator(statut, fv=NoCheckInNS) : return FACT( - statut=statut, - Stored = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), - INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Matrix", "Function", ), defaut="Function"), - Matrix = BLOC ( condition = " INPUT_TYPE in ( 'Matrix', ) ", - data = F_Matrix("o", fv), - ), - Function = BLOC ( condition = " INPUT_TYPE in ( 'Function', ) ", - data = F_Function("o", fv), - ), - ) - -def CheckingPointInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^CheckingPoint[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -CheckingPointInNS.info = u"The Python file has to contain explicitly a \"CheckingPoint\" variable." -def F_CheckingPoint(statut, fv=NoCheckInNS) : return FACT( - statut=statut, - Stored = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), - INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Vector", ), defaut="Vector"), - Vector = BLOC ( condition = " INPUT_TYPE in ( 'Vector', ) ", - data = F_Vector("o", fv), - ), - ) - -def ControlInputInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^ControlInput[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -ControlInputInNS.info = u"The Python file has to contain explicitly a \"ControlInput\" variable." -def F_ControlInput(statut, fv=NoCheckInNS) : return FACT( - statut=statut, - Stored = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), - INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Vector", "VectorSerie", ), defaut="Vector"), - Vector = BLOC ( condition = " INPUT_TYPE in ( 'Vector', ) ", - data = F_Vector("o", fv), - ), - VectorSerie = BLOC ( condition = " INPUT_TYPE in ( 'VectorSerie', ) ", - data = F_VectorSerie("o", fv), - ), - ) - -def BackgroundInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^Background[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -BackgroundInNS.info = u"The Python file has to contain explicitly a \"Background\" variable." -def F_Background(statut, fv=NoCheckInNS) : return FACT( - statut=statut, - Stored = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), - INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Vector", "VectorSerie", ), defaut="Vector"), - Vector = BLOC ( condition = " INPUT_TYPE in ( 'Vector', ) ", - data = F_Vector("o", fv), - ), - VectorSerie = BLOC ( condition = " INPUT_TYPE in ( 'VectorSerie', ) ", - data = F_VectorSerie("o", fv), - ), - ) - -def AlgorithmParametersInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^AlgorithmParameters[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -AlgorithmParametersInNS.info = u"The Python file has to contain explicitly a \"AlgorithmParameters\" variable." -def F_AlgorithmParameters(statut, fv=NoCheckInNS) : return FACT( - statut=statut, - - INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Dict", ), defaut="Dict"), - Dict = BLOC ( condition = " INPUT_TYPE in ( 'Dict', ) ", - data = F_Dict("o", fv), - ), - ) - -def EvolutionErrorInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^EvolutionError[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -EvolutionErrorInNS.info = u"The Python file has to contain explicitly a \"EvolutionError\" variable." -def F_EvolutionError(statut, fv=NoCheckInNS) : return FACT( - statut=statut, - Stored = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), - INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Matrix", "ScalarSparseMatrix", "DiagonalSparseMatrix", ), defaut="ScalarSparseMatrix"), - Matrix = BLOC ( condition = " INPUT_TYPE in ( 'Matrix', ) ", - data = F_Matrix("o", fv), - ), - ScalarSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'ScalarSparseMatrix', ) ", - data = F_ScalarSparseMatrix("o", fv), - ), - DiagonalSparseMatrix = BLOC ( condition = " INPUT_TYPE in ( 'DiagonalSparseMatrix', ) ", - data = F_DiagonalSparseMatrix("o", fv), - ), - ) - -def UserDataInitInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^UserDataInit[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -UserDataInitInNS.info = u"The Python file has to contain explicitly a \"UserDataInit\" variable." -def F_UserDataInit(statut, fv=NoCheckInNS) : return FACT( - statut=statut, - - INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Dict", ), defaut="Dict"), - Dict = BLOC ( condition = " INPUT_TYPE in ( 'Dict', ) ", - data = F_Dict("o", fv), - ), - ) - -def EvolutionModelInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^EvolutionModel[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -EvolutionModelInNS.info = u"The Python file has to contain explicitly a \"EvolutionModel\" variable." -def F_EvolutionModel(statut, fv=NoCheckInNS) : return FACT( - statut=statut, - Stored = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), - INPUT_TYPE = SIMP(statut="o", typ = "TXM", into=("Matrix", "Function", ), defaut="Function"), - Matrix = BLOC ( condition = " INPUT_TYPE in ( 'Matrix', ) ", - data = F_Matrix("o", fv), - ), - Function = BLOC ( condition = " INPUT_TYPE in ( 'Function', ) ", - data = F_Function("o", fv), - ), - ) - -def F_UserPostAnalysis(statut, fv=NoCheckInNS) : return FACT( - statut = statut, - FROM = SIMP(statut = "o", typ = "TXM", into=("String", "Script", "Template", ), defaut="Template"), - SCRIPT_DATA = BLOC ( condition = " FROM in ( 'Script', ) ", - SCRIPT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(fv)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant si nécessaire la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing if necessary the definition of an internal variable of the same name as the parent concept"), - ), - STRING_DATA = BLOC ( condition = " FROM in ( 'String', ) ", - STRING = SIMP(statut = "o", typ = "TXM", fr="En attente d'une chaine de caractères entre guillements. Pour construire un vecteur ou une matrice, ce doit être une suite de nombres, utilisant un espace ou une virgule pour séparer deux éléments et un point-virgule pour séparer deux lignes", ang="Waiting for a string in quotes. To build a vector or a matrix, it has to be a float serie, using a space or comma to separate two elements in a line, a semi-colon to separate rows"), - ), - SCRIPTWITHFUNCTIONS_DATA = BLOC ( condition = " FROM in ( 'ScriptWithFunctions', ) ", - SCRIPTWITHFUNCTIONS_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS), FunctionVal(TangentOperatorInNS), FunctionVal(AdjointOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variables internes trois fonctions de calcul nommées DirectOperator, TangentOperator et AdjointOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variables three computation functions named DirectOperator, TangentOperator and AdjointOperator"), - ), - SCRIPTWITHONEFUNCTION_DATA = BLOC ( condition = " FROM in ( 'ScriptWithOneFunction', ) ", - SCRIPTWITHONEFUNCTION_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py'), FunctionVal(DirectOperatorInNS)], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant en variable interne une seule fonction de calcul nommée DirectOperator", ang="Waiting for a script file name, with or without the full path to find it, containing as internal variable only one function named DirectOperator"), - DifferentialIncrement = SIMP(statut="o", typ = "R", val_min=0, val_max=1, defaut=0.01, fr="Incrément de la perturbation dX pour calculer la dérivée, construite en multipliant X par l'incrément en évitant les valeurs nulles", ang="Increment of dX perturbation to calculate the derivative, build multiplying X by the increment avoiding null values"), - CenteredFiniteDifference = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Formulation centrée (1) ou décentrée (0) pour la méthode des différences finies", ang="Centered (1) or uncentered (0) formulation for the finite differences method"), - EnableMultiProcessing = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0, fr="Calculs élémentaires effectués en séquentiel (0) ou en parallèle (1) dans la méthode des différences finies", ang="Elementary calculations done sequentially (0) or in parallel (1) in the finite differences method"), - NumberOfProcesses = SIMP(statut="f", typ = "I", val_min=0, defaut=0, fr="Nombre de processus parallèles, 0 pour un contrôle automatique", ang="Number of parallel processes, 0 for automatic control"), - ), - SCRIPTWITHSWITCH_DATA = BLOC ( condition = " FROM in ( 'ScriptWithSwitch', ) ", - SCRIPTWITHSWITCH_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')], fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant un switch pour les calculs direct, tangent et adjoint", ang="Waiting for a script file name, with or without the full path to find it, containing a switch for direct, tangent and adjoint computations"), - ), - TEMPLATE_DATA = BLOC (condition = " FROM in ( 'Template', ) ", - Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "AnalysisPrinter", into=("AnalysisPrinter", "AnalysisSaver", "AnalysisPrinterAndSaver")), - AnalysisPrinter = BLOC (condition = " Template == 'AnalysisPrinter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa" ), - ), - AnalysisSaver = BLOC (condition = " Template == 'AnalysisSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - AnalysisPrinterAndSaver = BLOC (condition = " Template == 'AnalysisPrinterAndSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nxa=numpy.ravel(ADD.get('Analysis')[-1])\nprint 'Analysis:',xa\nf='/tmp/analysis.txt'\nprint 'Analysis saved in \"%s\"'%f\nnumpy.savetxt(f,xa)" ), - ), - ), - ) - -def F_InitChoice() : return ("Background", - "BackgroundError", - "Observation", - "ObservationError", - "ObservationOperator", - "EvolutionModel", - "EvolutionError", - "AlgorithmParameters", - "UserPostAnalysis", - ) - -def F_Init(statut) : return FACT(statut = statut, - INIT_FILE = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]), - TARGET_LIST = SIMP(statut = "o", typ = "TXM", min=1, max="**", into=F_InitChoice(), validators=(VerifExiste(2))), - ) - -def F_ObserverTemplate() : return BLOC(condition = " NodeType == 'Template' ", - Template = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "ValuePrinter", into=("ValuePrinter", "ValueAndIndexPrinter", "ValueSeriePrinter", "ValueSaver", "ValueSerieSaver", "ValuePrinterAndSaver", "ValueIndexPrinterAndSaver", "ValueSeriePrinterAndSaver", "ValueGnuPlotter", "ValueSerieGnuPlotter", "ValuePrinterAndGnuPlotter", "ValueSeriePrinterAndGnuPlotter", "ValuePrinterSaverAndGnuPlotter", "ValueSeriePrinterSaverAndGnuPlotter", "ValueMean", "ValueStandardError", "ValueVariance", "ValueL2Norm", "ValueRMS")), - ValuePrinter = BLOC (condition = " Template == 'ValuePrinter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print(str(info)+\" \"+str(var[-1]))", fr="Imprime sur la sortie standard la valeur courante de la variable", ang="Print on standard output the current value of the variable" ), - ), - ValueAndIndexPrinter = BLOC (condition = " Template == 'ValueAndIndexPrinter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print(str(info)+(\" index %i:\"%(len(var)-1))+\" \"+str(var[-1]))", fr="Imprime sur la sortie standard la valeur courante de la variable, en ajoutant son index", ang="Print on standard output the current value of the variable, adding its index" ), - ), - ValueSeriePrinter = BLOC (condition = " Template == 'ValueSeriePrinter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print(str(info)+\" \"+str(var[:]))", fr="Imprime sur la sortie standard la série des valeurs de la variable", ang="Print on standard output the value series of the variable" ), - ), - ValueSaver = BLOC (condition = " Template == 'ValueSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy, re\nv=numpy.array(var[-1], ndmin=1)\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\s','_',f)\nprint('Value saved in \"%s\"'%f)\nnumpy.savetxt(f,v)", fr="Enregistre la valeur courante de la variable dans un fichier du répertoire '/tmp' nommé 'value...txt' selon le nom de la variable et l'étape d'enregistrement", ang="Save the current value of the variable in a file of the '/tmp' directory named 'value...txt' from the variable name and the saving step" ), - ), - ValueSerieSaver = BLOC (condition = " Template == 'ValueSerieSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy, re\nv=numpy.array(var[:], ndmin=1)\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\s','_',f)\nprint('Value saved in \"%s\"'%f)\nnumpy.savetxt(f,v)", fr="Enregistre la série des valeurs de la variable dans un fichier du répertoire '/tmp' nommé 'value...txt' selon le nom de la variable et l'étape", ang="Save the value series of the variable in a file of the '/tmp' directory named 'value...txt' from the variable name and the saving step" ), - ), - ValuePrinterAndSaver = BLOC (condition = " Template == 'ValuePrinterAndSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy, re\nv=numpy.array(var[-1], ndmin=1)\nprint(str(info)+\" \"+str(v))\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\s','_',f)\nprint('Value saved in \"%s\"'%f)\nnumpy.savetxt(f,v)", fr="Imprime sur la sortie standard et, en même temps enregistre dans un fichier, la valeur courante de la variable", ang="Print on standard output and, in the same time save in a file, the current value of the variable" ), - ), - ValueIndexPrinterAndSaver = BLOC (condition = " Template == 'ValueIndexPrinterAndSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy, re\nv=numpy.array(var[-1], ndmin=1)\nprint(str(info)+(\" index %i:\"%(len(var)-1))+\" \"+str(v))\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\s','_',f)\nprint('Value saved in \"%s\"'%f)\nnumpy.savetxt(f,v)", fr="Imprime sur la sortie standard et, en même temps enregistre dans un fichier, la valeur courante de la variable, en ajoutant son index", ang="Print on standard output and, in the same time save in a file, the current value of the variable, adding its index" ), - ), - ValueSeriePrinterAndSaver = BLOC (condition = " Template == 'ValueSeriePrinterAndSaver' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy, re\nv=numpy.array(var[:], ndmin=1)\nprint(str(info)+\" \"+str(v))\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\s','_',f)\nprint('Value saved in \"%s\"'%f)\nnumpy.savetxt(f,v)", fr="Imprime sur la sortie standard et, en même temps, enregistre dans un fichier la série des valeurs de la variable", ang="Print on standard output and, in the same time, save in a file the value series of the variable" ), - ), - ValueGnuPlotter = BLOC (condition = " Template == 'ValueGnuPlotter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy, Gnuplot\nv=numpy.array(var[-1], ndmin=1)\nglobal ifig, gp\ntry:\n ifig += 1\n gp(' set style data lines')\nexcept:\n ifig = 0\n gp = Gnuplot.Gnuplot(persist=1)\n gp(' set style data lines')\ngp('set title \"%s (Figure %i)\"'%(info,ifig))\ngp.plot( Gnuplot.Data( v, with_='lines lw 2' ) )", fr="Affiche graphiquement avec Gnuplot la valeur courante de la variable", ang="Graphically plot with Gnuplot the current value of the variable" ), - ), - ValueSerieGnuPlotter = BLOC (condition = " Template == 'ValueSerieGnuPlotter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy, Gnuplot\nv=numpy.array(var[:], ndmin=1)\nglobal ifig, gp\ntry:\n ifig += 1\n gp(' set style data lines')\nexcept:\n ifig = 0\n gp = Gnuplot.Gnuplot(persist=1)\n gp(' set style data lines')\ngp('set title \"%s (Figure %i)\"'%(info,ifig))\ngp.plot( Gnuplot.Data( v, with_='lines lw 2' ) )", fr="Affiche graphiquement avec Gnuplot la série des valeurs de la variable", ang="Graphically plot with Gnuplot the value series of the variable" ), - ), - ValuePrinterAndGnuPlotter = BLOC (condition = " Template == 'ValuePrinterAndGnuPlotter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print(str(info)+\" \"+str(var[-1]))\nimport numpy, Gnuplot\nv=numpy.array(var[-1], ndmin=1)\nglobal ifig,gp\ntry:\n ifig += 1\n gp(' set style data lines')\nexcept:\n ifig = 0\n gp = Gnuplot.Gnuplot(persist=1)\n gp(' set style data lines')\ngp('set title \"%s (Figure %i)\"'%(info,ifig))\ngp.plot( Gnuplot.Data( v, with_='lines lw 2' ) )", fr="Imprime sur la sortie standard et, en même temps, affiche graphiquement avec Gnuplot la valeur courante de la variable", ang="Print on standard output and, in the same time, graphically plot with Gnuplot the current value of the variable" ), - ), - ValueSeriePrinterAndGnuPlotter = BLOC (condition = " Template == 'ValueSeriePrinterAndGnuPlotter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print(str(info)+\" \"+str(var[:]))\nimport numpy, Gnuplot\nv=numpy.array(var[:], ndmin=1)\nglobal ifig,gp\ntry:\n ifig += 1\n gp(' set style data lines')\nexcept:\n ifig = 0\n gp = Gnuplot.Gnuplot(persist=1)\n gp(' set style data lines')\ngp('set title \"%s (Figure %i)\"'%(info,ifig))\ngp.plot( Gnuplot.Data( v, with_='lines lw 2' ) )", fr="Imprime sur la sortie standard et, en même temps, affiche graphiquement avec Gnuplot la série des valeurs de la variable", ang="Print on standard output and, in the same time, graphically plot with Gnuplot the value series of the variable" ), - ), - ValuePrinterSaverAndGnuPlotter = BLOC (condition = " Template == 'ValuePrinterSaverAndGnuPlotter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print(str(info)+\" \"+str(var[-1]))\nimport numpy, re\nv=numpy.array(var[-1], ndmin=1)\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\s','_',f)\nprint('Value saved in \"%s\"'%f)\nnumpy.savetxt(f,v)\nimport Gnuplot\nglobal ifig,gp\ntry:\n ifig += 1\n gp(' set style data lines')\nexcept:\n ifig = 0\n gp = Gnuplot.Gnuplot(persist=1)\n gp(' set style data lines')\ngp('set title \"%s (Figure %i)\"'%(info,ifig))\ngp.plot( Gnuplot.Data( v, with_='lines lw 2' ) )", fr="Imprime sur la sortie standard et, en même temps, enregistre dans un fichier et affiche graphiquement la valeur courante de la variable ", ang="Print on standard output and, in the same, time save in a file and graphically plot the current value of the variable" ), - ), - ValueSeriePrinterSaverAndGnuPlotter = BLOC (condition = " Template == 'ValueSeriePrinterSaverAndGnuPlotter' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "print(str(info)+\" \"+str(var[:]))\nimport numpy, re\nv=numpy.array(var[:], ndmin=1)\nglobal istep\ntry:\n istep += 1\nexcept:\n istep = 0\nf='/tmp/value_%s_%05i.txt'%(info,istep)\nf=re.sub('\s','_',f)\nprint('Value saved in \"%s\"'%f)\nnumpy.savetxt(f,v)\nimport Gnuplot\nglobal ifig,gp\ntry:\n ifig += 1\n gp(' set style data lines')\nexcept:\n ifig = 0\n gp = Gnuplot.Gnuplot(persist=1)\n gp(' set style data lines')\ngp('set title \"%s (Figure %i)\"'%(info,ifig))\ngp.plot( Gnuplot.Data( v, with_='lines lw 2' ) )", fr="Imprime sur la sortie standard et, en même temps, enregistre dans un fichier et affiche graphiquement la série des valeurs de la variable", ang="Print on standard output and, in the same, time save in a file and graphically plot the value series of the variable" ), - ), - ValueMean = BLOC (condition = " Template == 'ValueMean' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nprint(str(info)+\" \"+str(numpy.nanmean(var[-1])))", fr="Imprime sur la sortie standard la moyenne de la valeur courante de la variable", ang="Print on standard output the mean of the current value of the variable" ), - ), - ValueStandardError = BLOC (condition = " Template == 'ValueStandardError' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nprint(str(info)+\" \"+str(numpy.nanstd(var[-1])))", fr="Imprime sur la sortie standard l'écart-type de la valeur courante de la variable", ang="Print on standard output the standard error of the current value of the variable" ), - ), - ValueVariance = BLOC (condition = " Template == 'ValueVariance' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nprint(str(info)+\" \"+str(numpy.nanvar(var[-1])))", fr="Imprime sur la sortie standard la variance de la valeur courante de la variable", ang="Print on standard output the variance of the current value of the variable" ), - ), - ValueL2Norm = BLOC (condition = " Template == 'ValueL2Norm' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nv = numpy.matrix( numpy.ravel( var[-1] ) )\nprint(str(info)+\" \"+str(float( numpy.linalg.norm(v) )))", fr="Imprime sur la sortie standard la norme L2 de la valeur courante de la variable", ang="Print on standard output the L2 norm of the current value of the variable" ), - ), - ValueRMS = BLOC (condition = " Template == 'ValueRMS' ", - ValueTemplate = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "import numpy\nv = numpy.matrix( numpy.ravel( var[-1] ) )\nprint(str(info)+\" \"+str(float( numpy.sqrt((1./v.size)*(v*v.T)) )))", fr="Imprime sur la sortie standard la racine de la moyenne des carrés (RMS), ou moyenne quadratique, de la valeur courante de la variable", ang="Print on standard output the root mean square (RMS), or quadratic mean, of the current value of the variable" ), - ), - ) - -def F_Observers(statut) : return FACT( - statut=statut, - SELECTION = SIMP(statut="o", defaut=[], typ="TXM", min=0, max="**",homo="SansOrdreNiDoublon", validators=NoRepeat(), into=(['Analysis', 'Innovation', 'InnovationAtCurrentState', 'CurrentState', 'CurrentOptimum', 'IndexOfOptimum', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum', 'SimulatedObservationAtCurrentOptimum', 'BMA', 'OMA', 'OMB', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'GradientOfCostFunctionJ', 'GradientOfCostFunctionJb', 'GradientOfCostFunctionJo', 'SigmaObs2', 'SigmaBck2', 'APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'Residu'])), - #SELECTION = SIMP(statut="o", defaut=[], typ="TXM", min=0, max="**", validators=NoRepeat(), into=(['Analysis', 'Innovation', 'InnovationAtCurrentState', 'CurrentState', 'CurrentOptimum', 'IndexOfOptimum', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum', 'SimulatedObservationAtCurrentOptimum', 'BMA', 'OMA', 'OMB', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'GradientOfCostFunctionJ', 'GradientOfCostFunctionJb', 'GradientOfCostFunctionJo', 'SigmaObs2', 'SigmaBck2', 'APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'Residu'])), - Analysis = BLOC (condition=" 'Analysis' in set(SELECTION) ", - Analysis_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "Analysis"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - Innovation = BLOC (condition=" 'Innovation' in set(SELECTION) ", - Innovation_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "Innovation"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - InnovationAtCurrentState = BLOC (condition=" 'InnovationAtCurrentState' in set(SELECTION) ", - InnovationAtCurrentState_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "InnovationAtCurrentState"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - CurrentState = BLOC (condition=" 'CurrentState' in set(SELECTION) ", - CurrentState_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "CurrentState"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - CurrentOptimum = BLOC (condition=" 'CurrentOptimum' in set(SELECTION) ", - CurrentOptimum_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "CurrentOptimum"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - IndexOfOptimum = BLOC (condition=" 'IndexOfOptimum' in set(SELECTION) ", - IndexOfOptimum_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "IndexOfOptimum"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - SimulatedObservationAtBackground = BLOC (condition=" 'SimulatedObservationAtBackground' in set(SELECTION) ", - SimulatedObservationAtBackground_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "SimulatedObservationAtBackground"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - SimulatedObservationAtCurrentState = BLOC (condition=" 'SimulatedObservationAtCurrentState' in set(SELECTION) ", - SimulatedObservationAtCurrentState_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "SimulatedObservationAtCurrentState"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - SimulatedObservationAtOptimum = BLOC (condition=" 'SimulatedObservationAtOptimum' in set(SELECTION) ", - SimulatedObservationAtOptimum_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "SimulatedObservationAtOptimum"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - SimulatedObservationAtCurrentOptimum = BLOC (condition=" 'SimulatedObservationAtCurrentOptimum' in set(SELECTION) ", - SimulatedObservationAtCurrentOptimum_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "SimulatedObservationAtCurrentOptimum"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - BMA = BLOC (condition=" 'BMA' in set(SELECTION) ", - BMA_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "BMA"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - OMA = BLOC (condition=" 'OMA' in set(SELECTION) ", - OMA_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "OMA"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - OMB = BLOC (condition=" 'OMB' in set(SELECTION) ", - OMB_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "OMB"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - CostFunctionJ = BLOC (condition=" 'CostFunctionJ' in set(SELECTION) ", - CostFunctionJ_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "CostFunctionJ"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - CostFunctionJb = BLOC (condition=" 'CostFunctionJb' in set(SELECTION) ", - CostFunctionJb_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "CostFunctionJb"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - CostFunctionJo = BLOC (condition=" 'CostFunctionJo' in set(SELECTION) ", - CostFunctionJo_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "CostFunctionJo"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - GradientOfCostFunctionJ = BLOC (condition=" 'GradientOfCostFunctionJ' in set(SELECTION) ", - GradientOfCostFunctionJ_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "GradientOfCostFunctionJ"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - GradientOfCostFunctionJb = BLOC (condition=" 'GradientOfCostFunctionJb' in set(SELECTION) ", - GradientOfCostFunctionJb_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "GradientOfCostFunctionJb"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - GradientOfCostFunctionJo = BLOC (condition=" 'GradientOfCostFunctionJo' in set(SELECTION) ", - GradientOfCostFunctionJo_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "GradientOfCostFunctionJo"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - SigmaObs2 = BLOC (condition=" 'SigmaObs2' in set(SELECTION) ", - SigmaObs2_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "SigmaObs2"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - SigmaBck2 = BLOC (condition=" 'SigmaBck2' in set(SELECTION) ", - SigmaBck2_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "SigmaBck2"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - APosterioriCorrelations = BLOC (condition=" 'APosterioriCorrelations' in set(SELECTION) ", - APosterioriCorrelations_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "APosterioriCorrelations"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - APosterioriCovariance = BLOC (condition=" 'APosterioriCovariance' in set(SELECTION) ", - APosterioriCovariance_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "APosterioriCovariance"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - APosterioriStandardDeviations = BLOC (condition=" 'APosterioriStandardDeviations' in set(SELECTION) ", - APosterioriStandardDeviations_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "APosterioriStandardDeviations"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - APosterioriVariances = BLOC (condition=" 'APosterioriVariances' in set(SELECTION) ", - APosterioriVariances_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "APosterioriVariances"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - Residu = BLOC (condition=" 'Residu' in set(SELECTION) ", - Residu_data = FACT(statut = "o", - Scheduler = SIMP(statut = "f", typ = "TXM"), - Info = SIMP(statut = "o", typ = "TXM", defaut = "Residu"), - NodeType = SIMP(statut = "o", typ = "TXM", min=1, max=1, defaut = "Template", into=("String", "Script", "Template")), - PythonScript = BLOC (condition = " NodeType == 'String' ", - Value = SIMP(statut = "o", typ = "TXM") - ), - UserFile = BLOC (condition = " NodeType == 'Script' ", - Value = SIMP(statut = "o", typ = "FichierNoAbs", validators=[OnlyStr(), FileExtVal('py')]) - ), - ObserverTemplate = F_ObserverTemplate(), - ), - ), - ) - -def AlgorithmParametersInNS(filename): - if os.path.exists(filename): - fc = open(filename, 'r').readlines() - cr = re.compile("^AlgorithmParameters[\s]*=") - for ln in fc: - if cr.match(ln): return 1 - return 0 -AlgorithmParametersInNS.info = u"The Python file has to contain explicitly an \"AlgorithmParameters\" variable." -def F_AlgorithmParameters(statut, algos_names, fv=NoCheckInNS) : return FACT( - statut = statut, - Algorithm = SIMP(statut="o", typ = "TXM", into = algos_names ), - Parameters = SIMP(statut="f", typ = "TXM", into=("Defaults", "Dict") ), - Dict = BLOC ( condition = " Parameters == 'Dict' ", - statut="f", - data = F_Dict("o", fv), - ), - Parameters3DVAR = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == '3DVAR') ", - statut="f", - Bounds = SIMP(statut="f", typ="TXM", fr="Liste des valeurs de bornes"), - CostDecrementTolerance = SIMP(statut="f", typ="R", min=1, max=1, defaut=1e-07, fr="Diminution relative minimale du cout lors de l'arrêt"), - GradientNormTolerance = SIMP(statut="f", typ="R", min=1, max=1, defaut=1e-05, fr="Maximum des composantes du gradient lors de l'arrêt"), - MaximumNumberOfSteps = SIMP(statut="f", typ="I", val_min=-1, min=1, max=1, defaut=15000, fr="Nombre maximal de pas d'optimisation"), - Minimizer = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="LBFGSB", into=['LBFGSB', 'TNC', 'CG', 'NCG', 'BFGS'], fr="Minimiseur utilisé"), - NumberOfSamplesForQuantiles = SIMP(statut="f", typ="I", val_min=1, min=1, max=1, defaut=100, fr="Nombre d'échantillons simulés pour le calcul des quantiles"), - ProjectedGradientTolerance = SIMP(statut="f", typ="R", val_min=-1, min=1, max=1, defaut=-1.0, fr="Maximum des composantes du gradient projeté lors de l'arrêt"), - Quantiles = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Liste des valeurs de quantiles"), - SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), - SimulationForQuantiles = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="Linear", into=['Linear', 'NonLinear'], fr="Type de simulation pour l'estimation des quantiles"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'OMA', 'OMB', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'CurrentState', 'CurrentOptimum', 'IndexOfOptimum', 'Innovation', 'InnovationAtCurrentState', 'CostFunctionJAtCurrentOptimum', 'SigmaObs2', 'MahalanobisConsistency', 'SimulationQuantiles', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum', 'SimulatedObservationAtCurrentOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - Parameters4DVAR = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == '4DVAR') ", - statut="f", - Bounds = SIMP(statut="f", typ="TXM", fr="Liste des valeurs de bornes"), - ConstrainedBy = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="EstimateProjection", into=['EstimateProjection'], fr="Prise en compte des contraintes"), - CostDecrementTolerance = SIMP(statut="f", typ="R", min=1, max=1, defaut=1e-07, fr="Diminution relative minimale du cout lors de l'arrêt"), - EstimationOf = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="State", into=['State', 'Parameters'], fr="Estimation d'etat ou de parametres"), - GradientNormTolerance = SIMP(statut="f", typ="R", min=1, max=1, defaut=1e-05, fr="Maximum des composantes du gradient lors de l'arrêt"), - MaximumNumberOfSteps = SIMP(statut="f", typ="I", val_min=-1, min=1, max=1, defaut=15000, fr="Nombre maximal de pas d'optimisation"), - Minimizer = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="LBFGSB", into=['LBFGSB', 'TNC', 'CG', 'NCG', 'BFGS'], fr="Minimiseur utilisé"), - ProjectedGradientTolerance = SIMP(statut="f", typ="R", val_min=-1, min=1, max=1, defaut=-1.0, fr="Maximum des composantes du gradient projeté lors de l'arrêt"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['BMA', 'CurrentState', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'IndexOfOptimum', 'CurrentOptimum', 'CostFunctionJAtCurrentOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersBlue = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'Blue') ", - statut="f", - NumberOfSamplesForQuantiles = SIMP(statut="f", typ="I", val_min=1, min=1, max=1, defaut=100, fr="Nombre d'échantillons simulés pour le calcul des quantiles"), - Quantiles = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Liste des valeurs de quantiles"), - SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), - SimulationForQuantiles = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="Linear", into=['Linear', 'NonLinear'], fr="Type de simulation pour l'estimation des quantiles"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'Innovation', 'SigmaBck2', 'SigmaObs2', 'MahalanobisConsistency', 'SimulationQuantiles', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersDerivativeFreeOptimization = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'DerivativeFreeOptimization') ", - statut="f", - Bounds = SIMP(statut="f", typ="TXM", fr="Liste des valeurs de bornes"), - CostDecrementTolerance = SIMP(statut="f", typ="R", min=1, max=1, defaut=1e-07, fr="Diminution relative minimale du cout lors de l'arrêt"), - MaximumNumberOfFunctionEvaluations = SIMP(statut="f", typ="I", val_min=-1, min=1, max=1, defaut=15000, fr="Nombre maximal d'évaluations de la fonction"), - MaximumNumberOfSteps = SIMP(statut="f", typ="I", val_min=-1, min=1, max=1, defaut=15000, fr="Nombre maximal de pas d'optimisation"), - Minimizer = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="BOBYQA", into=['BOBYQA', 'COBYLA', 'NEWUOA', 'POWELL', 'SIMPLEX', 'SUBPLEX'], fr="Minimiseur utilisé"), - QualityCriterion = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="AugmentedWeightedLeastSquares", into=['AugmentedWeightedLeastSquares', 'AWLS', 'DA', 'WeightedLeastSquares', 'WLS', 'LeastSquares', 'LS', 'L2', 'AbsoluteValue', 'L1', 'MaximumError', 'ME'], fr="Critère de qualité utilisé"), - StateVariationTolerance = SIMP(statut="f", typ="R", min=1, max=1, defaut=0.0001, fr="Variation relative maximale de l'état lors de l'arrêt"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['CurrentState', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'CostFunctionJAtCurrentOptimum', 'CurrentOptimum', 'IndexOfOptimum', 'InnovationAtCurrentState', 'BMA', 'OMA', 'OMB', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentOptimum', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersEnsembleBlue = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'EnsembleBlue') ", - statut="f", - SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['CurrentState', 'Innovation', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersExtendedBlue = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'ExtendedBlue') ", - statut="f", - NumberOfSamplesForQuantiles = SIMP(statut="f", typ="I", val_min=1, min=1, max=1, defaut=100, fr="Nombre d'échantillons simulés pour le calcul des quantiles"), - Quantiles = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Liste des valeurs de quantiles"), - SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), - SimulationForQuantiles = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="Linear", into=['Linear', 'NonLinear'], fr="Type de simulation pour l'estimation des quantiles"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'Innovation', 'SigmaBck2', 'SigmaObs2', 'MahalanobisConsistency', 'SimulationQuantiles', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersExtendedKalmanFilter = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'ExtendedKalmanFilter') ", - statut="f", - Bounds = SIMP(statut="f", typ="TXM", fr="Liste des valeurs de bornes"), - ConstrainedBy = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="EstimateProjection", into=['EstimateProjection'], fr="Prise en compte des contraintes"), - EstimationOf = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="State", into=['State', 'Parameters'], fr="Estimation d'etat ou de parametres"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'CurrentState', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'Innovation'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersKalmanFilter = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'KalmanFilter') ", - statut="f", - EstimationOf = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="State", into=['State', 'Parameters'], fr="Estimation d'etat ou de parametres"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'CurrentState', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'Innovation'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersLinearLeastSquares = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'LinearLeastSquares') ", - statut="f", - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['OMA', 'CurrentState', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersNonLinearLeastSquares = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'NonLinearLeastSquares') ", - statut="f", - Bounds = SIMP(statut="f", typ="TXM", fr="Liste des valeurs de bornes"), - CostDecrementTolerance = SIMP(statut="f", typ="R", min=1, max=1, defaut=1e-07, fr="Diminution relative minimale du cout lors de l'arrêt"), - GradientNormTolerance = SIMP(statut="f", typ="R", min=1, max=1, defaut=1e-05, fr="Maximum des composantes du gradient lors de l'arrêt"), - MaximumNumberOfSteps = SIMP(statut="f", typ="I", val_min=-1, min=1, max=1, defaut=15000, fr="Nombre maximal de pas d'optimisation"), - Minimizer = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="LBFGSB", into=['LBFGSB', 'TNC', 'CG', 'NCG', 'BFGS', 'LM'], fr="Minimiseur utilisé"), - ProjectedGradientTolerance = SIMP(statut="f", typ="R", val_min=-1, min=1, max=1, defaut=-1.0, fr="Maximum des composantes du gradient projeté lors de l'arrêt"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'Innovation', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersParticleSwarmOptimization = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'ParticleSwarmOptimization') ", - statut="f", - BoxBounds = SIMP(statut="f", typ="TXM", fr="Liste des valeurs de bornes d'incréments de paramètres"), - GroupRecallRate = SIMP(statut="f", typ="R", val_min=0.0, val_max=1.0, min=1, max=1, defaut=0.5, fr="Taux de rappel au meilleur insecte du groupe (entre 0 et 1)"), - MaximumNumberOfFunctionEvaluations = SIMP(statut="f", typ="I", val_min=-1, min=1, max=1, defaut=15000, fr="Nombre maximal d'évaluations de la fonction"), - MaximumNumberOfSteps = SIMP(statut="f", typ="I", val_min=0, min=1, max=1, defaut=50, fr="Nombre maximal de pas d'optimisation"), - NumberOfInsects = SIMP(statut="f", typ="I", val_min=-1, min=1, max=1, defaut=100, fr="Nombre d'insectes dans l'essaim"), - QualityCriterion = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="AugmentedWeightedLeastSquares", into=['AugmentedWeightedLeastSquares', 'AWLS', 'AugmentedPonderatedLeastSquares', 'APLS', 'DA', 'WeightedLeastSquares', 'WLS', 'PonderatedLeastSquares', 'PLS', 'LeastSquares', 'LS', 'L2', 'AbsoluteValue', 'L1', 'MaximumError', 'ME'], fr="Critère de qualité utilisé"), - SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'Innovation', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - SwarmVelocity = SIMP(statut="f", typ="R", val_min=0.0, min=1, max=1, defaut=1.0, fr="Vitesse de groupe imposée par l'essaim"), - ), - ParametersQuantileRegression = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'QuantileRegression') ", - statut="f", - Bounds = SIMP(statut="f", typ="TXM", fr="Liste des valeurs de bornes"), - CostDecrementTolerance = SIMP(statut="f", typ="R", min=1, max=1, defaut=1e-06, fr="Maximum de variation de la fonction d'estimation lors de l'arrêt"), - MaximumNumberOfSteps = SIMP(statut="f", typ="I", val_min=1, min=1, max=1, defaut=15000, fr="Nombre maximal de pas d'optimisation"), - Minimizer = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="MMQR", into=['MMQR'], fr="Minimiseur utilisé"), - Quantile = SIMP(statut="f", typ="R", val_min=0.0, val_max=1.0, min=1, max=1, defaut=0.5, fr="Quantile pour la regression de quantile"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['BMA', 'OMA', 'OMB', 'CurrentState', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'Innovation', 'SimulatedObservationAtBackground', 'SimulatedObservationAtCurrentState', 'SimulatedObservationAtOptimum'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersUnscentedKalmanFilter = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'UnscentedKalmanFilter') ", - statut="f", - Alpha = SIMP(statut="f", typ="R", val_min=0.0001, val_max=1.0, min=1, max=1, defaut=1.0, fr=""), - Beta = SIMP(statut="f", typ="R", min=1, max=1, defaut=2.0, fr=""), - Bounds = SIMP(statut="f", typ="TXM", fr="Liste des valeurs de bornes"), - ConstrainedBy = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="EstimateProjection", into=['EstimateProjection'], fr="Prise en compte des contraintes"), - EstimationOf = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="State", into=['State', 'Parameters'], fr="Estimation d'etat ou de parametres"), - Kappa = SIMP(statut="f", typ="I", val_max=2, min=1, max=1, defaut=0, fr=""), - Reconditioner = SIMP(statut="f", typ="R", val_min=0.001, val_max=10.0, min=1, max=1, defaut=1.0, fr=""), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['APosterioriCorrelations', 'APosterioriCovariance', 'APosterioriStandardDeviations', 'APosterioriVariances', 'BMA', 'CurrentState', 'CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'Innovation'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersAdjointTest = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'AdjointTest') ", - statut="f", - AmplitudeOfInitialDirection = SIMP(statut="f", typ="R", min=1, max=1, defaut=1.0, fr="Amplitude de la direction initiale de la dérivée directionnelle autour du point nominal"), - EpsilonMinimumExponent = SIMP(statut="f", typ="I", val_min=-20, val_max=0, min=1, max=1, defaut=-8, fr="Exposant minimal en puissance de 10 pour le multiplicateur d'incrément"), - InitialDirection = SIMP(statut="f", typ="TXM", fr="Direction initiale de la dérivée directionnelle autour du point nominal"), - ResiduFormula = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="ScalarProduct", into=['ScalarProduct'], fr="Formule de résidu utilisée"), - SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['CurrentState', 'Residu', 'SimulatedObservationAtCurrentState'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersFunctionTest = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'FunctionTest') ", - statut="f", - NumberOfPrintedDigits = SIMP(statut="f", typ="I", val_min=0, min=1, max=1, defaut=5, fr="Nombre de chiffres affichés pour les impressions de réels"), - NumberOfRepetition = SIMP(statut="f", typ="I", val_min=1, min=1, max=1, defaut=1, fr="Nombre de fois où l'exécution de la fonction est répétée"), - SetDebug = SIMP(statut="f", typ="I", min=1, max=1, defaut=0, fr="Activation du mode debug lors de l'exécution"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['CurrentState', 'SimulatedObservationAtCurrentState'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersGradientTest = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'GradientTest') ", - statut="f", - AmplitudeOfInitialDirection = SIMP(statut="f", typ="R", min=1, max=1, defaut=1.0, fr="Amplitude de la direction initiale de la dérivée directionnelle autour du point nominal"), - AmplitudeOfTangentPerturbation = SIMP(statut="f", typ="R", val_min=1e-10, val_max=1.0, min=1, max=1, defaut=0.01, fr="Amplitude de la perturbation pour le calcul de la forme tangente"), - EpsilonMinimumExponent = SIMP(statut="f", typ="I", val_min=-20, val_max=0, min=1, max=1, defaut=-8, fr="Exposant minimal en puissance de 10 pour le multiplicateur d'incrément"), - InitialDirection = SIMP(statut="f", typ="TXM", fr="Direction initiale de la dérivée directionnelle autour du point nominal"), - ResiduFormula = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="Taylor", into=['Norm', 'TaylorOnNorm', 'Taylor'], fr="Formule de résidu utilisée"), - SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['CurrentState', 'Residu', 'SimulatedObservationAtCurrentState'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersLinearityTest = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'LinearityTest') ", - statut="f", - AmplitudeOfInitialDirection = SIMP(statut="f", typ="R", min=1, max=1, defaut=1.0, fr="Amplitude de la direction initiale de la dérivée directionnelle autour du point nominal"), - AmplitudeOfTangentPerturbation = SIMP(statut="f", typ="R", val_min=1e-10, val_max=1.0, min=1, max=1, defaut=0.01, fr="Amplitude de la perturbation pour le calcul de la forme tangente"), - EpsilonMinimumExponent = SIMP(statut="f", typ="I", val_min=-20, val_max=0, min=1, max=1, defaut=-8, fr="Exposant minimal en puissance de 10 pour le multiplicateur d'incrément"), - InitialDirection = SIMP(statut="f", typ="TXM", fr="Direction initiale de la dérivée directionnelle autour du point nominal"), - ResiduFormula = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="CenteredDL", into=['CenteredDL', 'Taylor', 'NominalTaylor', 'NominalTaylorRMS'], fr="Formule de résidu utilisée"), - SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['CurrentState', 'Residu', 'SimulatedObservationAtCurrentState'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersSamplingTest = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'SamplingTest') ", - statut="f", - QualityCriterion = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="AugmentedWeightedLeastSquares", into=['AugmentedWeightedLeastSquares', 'AWLS', 'AugmentedPonderatedLeastSquares', 'APLS', 'DA', 'WeightedLeastSquares', 'WLS', 'PonderatedLeastSquares', 'PLS', 'LeastSquares', 'LS', 'L2', 'AbsoluteValue', 'L1', 'MaximumError', 'ME'], fr="Critère de qualité utilisé"), - SampleAsExplicitHyperCube = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Points de calcul définis par un hyper-cube dont on donne la liste des échantillonages de chaque variable comme une liste"), - SampleAsIndependantRandomVariables = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Points de calcul définis par un hyper-cube dont les points sur chaque axe proviennent de l'échantillonage indépendant de la variable selon la spécification ['distribution',[parametres],nombre]"), - SampleAsMinMaxStepHyperCube = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Points de calcul définis par un hyper-cube dont on donne la liste des échantillonages de chaque variable par un triplet [min,max,step]"), - SampleAsnUplet = SIMP(statut="f", typ="TXM", max="**", into=None, fr="Points de calcul définis par une liste de n-uplet"), - SetDebug = SIMP(statut="f", typ="I", min=1, max=1, defaut=0, fr="Activation du mode debug lors de l'exécution"), - SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['CostFunctionJ', 'CostFunctionJb', 'CostFunctionJo', 'CurrentState', 'InnovationAtCurrentState', 'SimulatedObservationAtCurrentState'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ParametersTangentTest = BLOC (condition = " (Parameters == 'Defaults') and (Algorithm == 'TangentTest') ", - statut="f", - AmplitudeOfInitialDirection = SIMP(statut="f", typ="R", min=1, max=1, defaut=1.0, fr="Amplitude de la direction initiale de la dérivée directionnelle autour du point nominal"), - AmplitudeOfTangentPerturbation = SIMP(statut="f", typ="R", val_min=1e-10, val_max=1.0, min=1, max=1, defaut=0.01, fr="Amplitude de la perturbation pour le calcul de la forme tangente"), - EpsilonMinimumExponent = SIMP(statut="f", typ="I", val_min=-20, val_max=0, min=1, max=1, defaut=-8, fr="Exposant minimal en puissance de 10 pour le multiplicateur d'incrément"), - InitialDirection = SIMP(statut="f", typ="TXM", fr="Direction initiale de la dérivée directionnelle autour du point nominal"), - ResiduFormula = SIMP(statut="f", typ="TXM", min=1, max=1, defaut="Taylor", into=['Taylor'], fr="Formule de résidu utilisée"), - SetSeed = SIMP(statut="f", typ="TXM", fr="Graine fixée pour le générateur aléatoire"), - StoreSupplementaryCalculations = SIMP(statut="f", typ="TXM", max="**", into=['CurrentState', 'Residu', 'SimulatedObservationAtCurrentState'], fr="Liste de calculs supplémentaires à stocker et/ou effectuer"), - ), - ) - -def F_variables(statut) : return FACT( - statut=statut, - regles = ( MEME_NOMBRE ('NAMES', 'SIZES')), - NAMES = SIMP(statut="o", typ="TXM", max="**", validators=NoRepeat()), - SIZES = SIMP(statut="o", typ="I", val_min=1, max="**") - ) -def ChDir(dirname): - os.chdir(os.path.abspath(dirname)) - return 1 -ChDir.info = u"This has to be a regular directory path." - -ASSIMILATION_STUDY = PROC(nom="ASSIMILATION_STUDY", - op=None, - repetable = "n", - StudyName = SIMP(statut="o", typ = "TXM", defaut="ADAO Calculation Case"), - StudyRepertory = SIMP(statut="f", typ = "Repertoire", validators=FunctionVal(ChDir), min=1, max=1), - Debug = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0), - AlgorithmParameters = F_AlgorithmParameters("o",("3DVAR", "4DVAR", "Blue", "DerivativeFreeOptimization", "EnsembleBlue", "ExtendedBlue", "ExtendedKalmanFilter", "KalmanFilter", "LinearLeastSquares", "NonLinearLeastSquares", "ParticleSwarmOptimization", "QuantileRegression", "UnscentedKalmanFilter", ), AlgorithmParametersInNS), - Background = F_Background("o", BackgroundInNS), - BackgroundError = F_BackgroundError("o", BackgroundErrorInNS), - Observation = F_Observation("o", ObservationInNS), - ObservationError = F_ObservationError("o", ObservationErrorInNS), - ObservationOperator = F_ObservationOperator("o"), - EvolutionModel = F_EvolutionModel("f"), - EvolutionError = F_EvolutionError("f", EvolutionErrorInNS), - ControlInput = F_ControlInput("f"), - UserDataInit = F_Init("f"), - UserPostAnalysis = F_UserPostAnalysis("o"), - InputVariables = F_variables("f"), - OutputVariables = F_variables("f"), - Observers = F_Observers("f") - ) - -CHECKING_STUDY = PROC(nom="CHECKING_STUDY", - op=None, - repetable = "n", - StudyName = SIMP(statut="o", typ = "TXM", defaut="ADAO Checking Case"), - StudyRepertory = SIMP(statut="f", typ = "Repertoire", validators=FunctionVal(ChDir), min=1, max=1), - Debug = SIMP(statut="f", typ = "I", into=(0, 1), defaut=0), - AlgorithmParameters = F_AlgorithmParameters("o", ("AdjointTest", "FunctionTest", "GradientTest", "LinearityTest", "ObserverTest", "SamplingTest", "TangentTest", ), AlgorithmParametersInNS), - CheckingPoint = F_CheckingPoint("o", CheckingPointInNS), - BackgroundError = F_BackgroundError("f", BackgroundErrorInNS), - Observation = F_Observation("f", ObservationInNS), - ObservationError = F_ObservationError("f", ObservationErrorInNS), - ObservationOperator = F_ObservationOperator("o"), - UserDataInit = F_Init("f"), - Observers = F_Observers("f") - ) diff --git a/Adao/configuration_Adao.py b/Adao/configuration_Adao.py deleted file mode 100644 index 02bd5390..00000000 --- a/Adao/configuration_Adao.py +++ /dev/null @@ -1,63 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Copyright (C) 2008-2016 EDF R&D -# -# This file is part of SALOME ADAO module -# -# 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. -# -# 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 -# - -""" -""" -# Modules Python -# print "passage dans la surcharge de configuration pour Adao" -import os, sys, string, types, re - - -# Modules Eficas - - -#from Editeur import Eficas_utils -from InterfaceQT4 import configuration - -# Classe de base permettant de lire, afficher -# et sauvegarder les fichiers utilisateurs -class CONFIG(configuration.configBase): - - def __init__(self,appli,repIni): - - self.labels_eficas=['lang','rep_cata','catalogues','closeAutreCommande','closeFrameRechercheCommande','closeEntete','taille'] - configuration.configBase.__init__(self,appli,repIni) - - self.rep_user = os.environ["HOME"] - self.appli = appli - self.code = appli.code - # self.lang = "fr" - self.rep_ini = repIni - self.rep_mat=" " # Compatbilite Aster - self.savedir = self.rep_user - self.generator_module = "generator_adao" - self.convert_module = "convert_adao" - - # Format des catalogues... - # (code, version, catalogue, formatIn, formatOut) - # Il faut les mettre dans un tuple - #self.catalogues = (("ADAO", "V0", os.path.join(self.rep_ini, 'ADAO_Cata_V0.py'), "adao"),) - -def make_config(appli,rep): - return CONFIG(appli,rep) - diff --git a/Adao/monCode_Cata.py b/Adao/monCode_Cata.py deleted file mode 100644 index 2f370716..00000000 --- a/Adao/monCode_Cata.py +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -from Accas import * - -JdC = JDC_CATA (code = 'ADAO', - execmodul = None, - ) -JdC = JDC_CATA (code = 'ADAO', - execmodul = None, - regles = ( AU_MOINS_UN ('ASSIMILATION_STUDY','CHECKING_STUDY'), AU_PLUS_UN ('ASSIMILATION_STUDY','CHECKING_STUDY')), - ) - - -ASSIMILATION_STUDY = PROC(nom="ASSIMILATION_STUDY", op=None, repetable = "n", - Study_name = SIMP(statut="o", typ = "TXM"), - Study_repertory = SIMP(statut="f", typ = "Repertoire", min=1, max=1), - Debug = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0), - Algorithm = SIMP(statut="o", typ = "TXM", into=("3DVAR", "Blue", "EnsembleBlue", "KalmanFilter", "LinearLeastSquares", "NonLinearLeastSquares", "ParticleSwarmOptimization", "QuantileRegression", )), - Background = FACT(statut="o", - regles=(UN_PARMI('SCRIPT_DATA_FILE','VECTOR_STRING'),), - Stored = SIMP(statut="o", typ = "I", into=(0, 1), defaut=0, fr="Choix de stockage interne ou non du concept parent", ang="Choice of the storage or not of the parent concept"), - SCRIPT_DATA_FILE = SIMP(statut = "f", typ = "FichierNoAbs", validators=(OnlyStr()), fr="En attente d'un nom de fichier script, avec ou sans le chemin complet pour le trouver, contenant la définition d'une variable interne de même nom que le concept parent", ang="Waiting for a script file name, with or without the full path to find it, containing the definition of an internal variable of the same name as the parent concept"), - VECTOR_STRING = SIMP(statut = "f", typ = "TXM", fr="En attente d'une chaine de caractères entre guillements. Pour construire un vecteur, ce doit être une suite de nombres, utilisant un espace ou une virgule pour séparer deux éléments et un point-virgule pour séparer deux lignes", ang="Waiting for a string in quotes. To build a vector, it has to be a float serie, using a space or comma to separate two elements in a line, a semi-colon to separate rows"), - ), - -) diff --git a/Adao/prefs.py b/Adao/prefs.py deleted file mode 100644 index 5cbdc263..00000000 --- a/Adao/prefs.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (C) 2007-2017 EDF R&D -# -# 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. -# -# 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 -# -code="Adao" -import sys, os -if os.path.dirname(os.path.abspath(__file__)) not in sys.path : - sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/Adao/prefs_Adao.py b/Adao/prefs_Adao.py deleted file mode 100644 index 4e758db6..00000000 --- a/Adao/prefs_Adao.py +++ /dev/null @@ -1,36 +0,0 @@ -# -*- coding: utf-8 -*- -import os,sys - -# repIni sert a localiser le fichier editeur.ini - -repIni=os.path.dirname(os.path.abspath(__file__)) -INSTALLDIR=os.path.join(repIni,'..') -sys.path[:0]=[INSTALLDIR] - - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -encoding='iso-8859-1' - -# Choix des catalogues -# format du Tuple (code,version,catalogue,formatOut, finit par defaut eventuellement) -catalogues = ( -# ('Adao','V1',os.path.join(repIni,'ADAO_Cata_V1.py'),'python','python'), -# ('Adao','V770',os.path.join(repIni,'ADAO_Cata_V0_V7_7_0.py'),'python','python'), -# ('Adao','V83',os.path.join(repIni,'ADAO_Cata_V0_V8_3_0_DEV.py'),'dicoImbrique','dico'), -# ('Adao','dico',os.path.join(repIni,'ADAO_Cata_V0_V8_3_0_DEV.py'),'dico','dico'), - ('Adao','V83',os.path.join(repIni,'ADAO_Cata_V0_V8_3_0_DEV.py'),'python','python'), -# ('Adao','V83',os.path.join(repIni,'ADAO_Cata_PN.py'),'python','python'), -# ('Adao','V751',os.path.join(repIni,'ADAO_Cata_V0_V7_5_1.py'),'python','python'), -) - -# lang indique la langue utilisee pour les chaines d'aide : fr ou ang - -lang='fr' -closeAutreCommande = True -closeFrameRechercheCommande = True -#closeEntete = True -closeArbre = True -translatorFichier = os.path.join(repIni,'Adao') -nombreDeBoutonParLigne=1 -#dumpXSD=True - diff --git a/Adao/properties.py b/Adao/properties.py deleted file mode 100644 index f8ee7110..00000000 --- a/Adao/properties.py +++ /dev/null @@ -1,5 +0,0 @@ -# ====================================================================== -# VERSION DU CODE -#---------------------------------------------------------------------- -version = "6.6" -date = "19/09/2012" diff --git a/Adao/qtDico.py b/Adao/qtDico.py deleted file mode 100755 index 51156caa..00000000 --- a/Adao/qtDico.py +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D -# -# 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. -# -# 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 -# -""" - Ce module sert à lancer EFICAS configuré pour Code_Aster -""" -# Modules Python - -# Modules Eficas -import prefs -name='prefs_'+prefs.code -__import__(name) - -from InterfaceQT4 import eficas_go - -dico=eficas_go.lanceEficas_param(code=prefs.code,fichier="/local00/home/A96028/GitEficas/eficas/Adao/exemple01.comm",version="V760",macro="ASSIMILATION_STUDY") -#print dico - -import pprint -pprint.pprint(dico) diff --git a/Adao/qtEficas_Adao.py b/Adao/qtEficas_Adao.py deleted file mode 100755 index 43605163..00000000 --- a/Adao/qtEficas_Adao.py +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D -# -# 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. -# -# 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 -# -""" -""" -# Modules Python - -# Modules Eficas -import prefs -name='prefs_'+prefs.code -__import__(name) - -#import sys -#reload(sys) -#sys.setdefaultencoding('latin1') - -from InterfaceQT4 import eficas_go -eficas_go.lanceEficas(code=prefs.code) diff --git a/Carmel3D/Carmel3D_Cata_V0.py b/Carmel3D/Carmel3D_Cata_V0.py deleted file mode 100644 index 6fe6de90..00000000 --- a/Carmel3D/Carmel3D_Cata_V0.py +++ /dev/null @@ -1,553 +0,0 @@ -# -*- coding: utf-8 -*- -# -------------------------------------------------- -# Copyright (C) 2007-2013 EDF R&D -# -# 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. -# -# 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 -# -# -------------------------------------------------- - -import os -import sys -from Accas import * -import types -from decimal import Decimal -# repertoire ou sont stockés le catalogue carmel3d -# et les fichiers de donnees des materiaux de reference -from prefs_CARMEL3D import repIni - -#print "catalogue carmel" -#print "repIni = ", repIni - -# Version du catalogue -VERSION_CATA = "2.3.1 for harmonic problems" -# -------------------------------------------------- -# definition d une classe pour les materiaux -# definition d une classe pour les sources -# definition d une classe pour les groupes de mailles -# -------------------------------------------------- -class material ( ASSD ) : pass -class source ( ASSD ) : pass -class grmaille ( ASSD ) : pass - -#CONTEXT.debug = 1 -# -------------------------------------------------- -# déclaration du jeu de commandes : 1ere instruction du catalogue obligatoire -#--------------------------------------------------- - -JdC = JDC_CATA ( code = 'CARMEL3D', -# execmodul = None, - regles =( - AU_MOINS_UN ('MATERIAL','INCLUDE'), - ENSEMBLE ('SOURCE','MESHGROUP'), - ), - ) # Fin JDC_CATA -##========================================================= -# création d'une macro pour traiter les INCLUDE -# -#---------------------------------------------------------- - -import opsCarmel -INCLUDE = MACRO ( nom = "INCLUDE", - op = None, - UIinfo = { "groupes" : ( "Gestion du travail", ) }, - sd_prod = opsCarmel.INCLUDE, - op_init = opsCarmel.INCLUDE_context, - fichier_ini = 1, - - FileName = SIMP ( statut = "o", - typ = ('Fichier', 'comm Files (*.comm);;All Files (*)',), - fr = u"bibliothèque des matériaux", - ang = "material library file", - ), - - ) # Fin MACRO - -# -------------------------------------------------- -# definition de groupe de mailles -# il est associe a un materiau ou a une source -#--------------------------------------------------- - -MESHGROUP = OPER (nom = "MESHGROUP", - op = None, - repetable = 'n', - UIinfo= {"groupes":("Definition",)}, - fr= u"attribution d'un matériau ou d'une source à un groupe du maillage", - ang = "mesh group association to material or source", - sd_prod= grmaille, - regles =( - EXCLUS ('MATERIAL','SOURCE'), - ), - -# ---------------------------------------------------------- -# le mot cle SIMP doit etre facultatif sinon la recuperation -# des groupes de mailles sous SALOME ne fonctionne pas car -# le concept ne peut pas etre nomme car non valide -#----------------------------------------------------------- - MATERIAL = SIMP (statut="f", - typ=(material,), - ang="name of the linked material", - fr =u"nom du matériau associé", - ), - SOURCE = SIMP (statut="f", - typ=(source,), - ang="name of the linked source", - fr =u"nom de la source associée", - ), - ) - - -#====================================================================== -# le fichier .PHYS contient 3 blocs et jusqu'a 3 niveaux de sous-blocs -# -#====================================================================== -# 1er bloc : bloc VERSION -# ce bloc est volontairement cache dans l IHM -#=================================================== - -VERSION = PROC ( nom = "VERSION", - op = None, - repetable = 'n', - UIinfo= {"groupes":("CACHE",)}, - ang= "version block definition", - -#---------------------- -# Liste des parametres -#---------------------- - - NUM = SIMP (statut="o", - typ="I", - defaut=1, - ang="version number of the physical model", - into=( 1,), - ), - FILETYPE = SIMP (statut="o", - typ="TXM", - defaut="PHYS", - ang="file type", - into=( "PHYS",), - ), - -) # Fin PROC VERSION - -#=================================================================== -# 2eme bloc : bloc MATERIALS -#=================================================================== -# definition des matériaux utilisateurs -# a partir des materiaux de reference ou de materiaux generiques -#------------------------------------------------------------------- -# -MATERIAL = OPER (nom = "MATERIAL", - op = None, - repetable = 'n', - ang= "material block definition", - fr= u"définition d'un matériau", - sd_prod= material, - regles=EXCLUS('PERMITTIVITY','CONDUCTIVITY'), - -#--------------------------------------------------------------------- -# liste des matériaux de reference fournis par THEMIS et des -# materiaux generiques (les materiaux generiques peuvent etre utilises -# si aucun materiau de reference ne convient) -#--------------------------------------------------------------------- -# debut commentaire PN pour que le fichier materiaux soit valide -# TYPE = SIMP(statut='o', - MAT_REF = SIMP(statut='f', - typ='TXM', - into=( -# matériaux génériques - "DIELECTRIC", - "CONDUCTOR", - "ZINSULATOR","ZSURFACIC", - "NILMAT","EM_ISOTROPIC","EM_ANISOTROPIC", - ), - ang = "generic materials list", - fr = u"liste des matériaux génériques", - ), - -############################################################################## -# Remarque generale a tous les materiaux : -# pour conserver l'affichage scientifique le nombre derriere l'exposant doit -# etre strictement superieur au nombre de decimales -# - -##---------------------------------------------------------------------------------------------- -# Données de perméabilité, utilisée pour les diélectriques, conducteurs et impédances de surface -#----------------------------------------------------------------------------------------------- - #HAS_PERMEABILITY = BLOC(condition="TYPE in ('DIELECTRIC','CONDUCTOR','ZSURFACIC')", - -#------------------------------------------------ -# sous bloc niveau 2 : PERMEABILITY -#------------------------------------------------ -# - PERMEABILITY = FACT ( statut="f", - ang ="Permeability properties", - fr =u"propriétés de perméabilité du matériau", - HOMOGENEOUS = SIMP (statut="o", - typ="TXM", - defaut="TRUE", - into = ("TRUE","FALSE"), - ang = "the material is homogeneous or not", - fr = u"le matériau est homogène ou non", - ), - ISOTROPIC = SIMP (statut="o", - typ="TXM", - defaut="TRUE", - into = ("TRUE","FALSE"), - ang = "the material is isotropic or not", - fr = u"le matériau est isotrope ou non", - ), - HOMOGENEOUS_ISOTROPIC_PROPERTIES = BLOC (condition="HOMOGENEOUS=='TRUE' and ISOTROPIC=='TRUE'", - TYPE_LAW = SIMP (statut="o", - typ="TXM", - defaut="LINEAR_REAL", - into = ("LINEAR_REAL","NONLINEAR"), - ang = "harmonic or time-domain linear or nonlinear law only for homogeneous and isotropic materials", - fr = u"loi linéaire (fréquentielle ou temporelle) ou non (homogène et isotrope seulement)", - ), - VALUE = SIMP (statut="o", - typ="C", - defaut=('RI',1,0), - ang = "Relative linear permeability value, also used at first nonlinear iteration", - fr = u"Valeur de la perméabilité relative à l'air utilisée pour une loi linéaire ou pour la première itération non-linéaire", - ), - NONLINEAR_LAW_PROPERTIES = BLOC (condition="LAW=='NONLINEAR'", - NATURE = SIMP (statut="o", - typ="TXM", - defaut="MARROCCO", - into = ("SPLINE","MARROCCO","MARROCCO+SATURATION"), - ang = "nature law", - fr = u"nature de la loi", - ), - SPLINE_LAW_PROPERTIES = BLOC (condition="NATURE=='SPLINE'", - FILENAME = SIMP (statut="o", - typ=("FichierNoAbs",'All Files (*)',), # l'existence du fichier n'est pas vérifiée - ang="data file name", - fr =u"nom du fichier contenant les mesures expérimentales B(H)", - ), - ), # Fin BLOC SPLINE_PROPERTIES - MARROCCO_LAW_PROPERTIES = BLOC (condition="NATURE in ('MARROCCO','MARROCCO+SATURATION')", - ALPHA = SIMP (statut="o", - typ="R", - defaut=0, - val_min=0, - ang="alpha parameter", - fr =u"paramètre alpha de la loi de Marrocco" , - ), - TAU = SIMP (statut="o", - typ="R", - defaut=0, - val_min=0, - ang="tau parameter", - fr =u"paramètre tau de la loi de Marrocco" , - ), - C = SIMP (statut="o", - typ="R", - defaut=0, - val_min=0, - ang="c parameter", - fr =u"paramètre c de la loi de Marrocco" , - ), - EPSILON = SIMP (statut="o", - typ="R", - defaut=0, - val_min=0, - ang="epsilon parameter", - fr =u"paramètre epsilon de la loi de Marrocco" , - ), - ), # Fin BLOC MARROCCO_LAW_PROPERTIES - SATURATION_LAW_PROPERTIES = BLOC (condition="NATURE=='MARROCCO+SATURATION'", - BMAX = SIMP (statut="o", - typ="R", - defaut=0, - val_min=0, - ang="intersection B", - fr = u"valeur de B marquant la fin de la loi de Marrocco et le début du raccord à la loi de saturation", - ), - HSAT = SIMP (statut="o", - typ="R", - defaut=0, - val_min=0, - ang="H value", - fr = u"valeur de H définissant la loi de saturation", - ), - BSAT = SIMP (statut="o", - typ="R", - defaut=0, - val_min=0, - ang="B value", - fr = u"valeur de B définissant la loi de saturation", - ), - JOIN = SIMP (statut="o", - typ="TXM", - defaut="SPLINE", - into= ("SPLINE","PARABOLIC","LINEAR"), - ang="type of join between laws", - fr =u"type de raccord entre la loi choisie et la loi de saturation" , - ), - ), # Fin BLOC SATURATION_LAW_PROPERTIES - APPLIEDTO = SIMP (statut="o", - typ="TXM", - into=("B(H)&H(B)","B(H)","H(B)"), - defaut="B(H)&H(B)", - ang="join applied to", - fr =u"Le raccord tel que défini est appliqué à la courbe B(H) seulement, à la courbe H(B) seulement ou aux deux courbes à la fois. Dans les deux premiers cas, le raccord de la courbe H(B) est inversé numériquement à partir du raccord défini pour la courbe B(H), et vice-versa.", - ), - ), # Fin BLOC NONLINEAR_LAW_PROPERTIES - ), # Fin BLOC HOMOGENEOUS_ISOTROPIC_PROPERTIES - ), # fin FACT PERMEABILITY - #), # Fin BLOC HAS_PERMEABILITY - -##------------------------------------------------------------------ -# Données de permittivité, utilisée pour les diélectriques seulement -#------------------------------------------------------------------- - #HAS_PERMITTIVITY = BLOC(condition="TYPE == 'DIELECTRIC'", - -#------------------------------------------------ -# sous bloc niveau 2 : PERMITTIVITY -#------------------------------------------------ - PERMITTIVITY = FACT ( statut="f", - ang ="Permittivity properties", - fr = u"propriétés de permittivité du matériau", - HOMOGENEOUS = SIMP (statut="o", - typ="TXM", - defaut="TRUE", - into = ("TRUE","FALSE"), - ang = "the material is homogeneous or not", - fr = u"le matériau est homogène ou non", - ), - ISOTROPIC = SIMP (statut="o", - typ="TXM", - defaut="TRUE", - into = ("TRUE","FALSE"), - ang = "the material is isotropic or not", - fr = u"le matériau est isotrope ou non", - ), - HOMOGENEOUS_ISOTROPIC_PROPERTIES = BLOC (condition="HOMOGENEOUS=='TRUE' and ISOTROPIC=='TRUE'", - LAW = SIMP (statut="o", - typ="TXM", - defaut="LINEAR", - into = ("LINEAR",), - ang = "linear law", - fr = u"loi linéaire", - ), - VALUE = SIMP (statut="o", - typ="C", - defaut=('RI',1,0), - ang = "enter a complex relative value", - fr = u"saisir une valeur complexe relative", - ), - ), # Fin BLOC HOMOGENEOUS_ISOTROPIC_PROPERTIES - ), # fin FACT PERMITTIVITY - - #), # Fin BLOC HAS_PERMITTIVITY - -##---------------------------------------------------------------------------------------------- -# Données de conductivité, utilisée pour les conducteurs et impédances de surface -#----------------------------------------------------------------------------------------------- - #HAS_CONDUCTIVITY = BLOC(condition="TYPE in ('CONDUCTOR','ZSURFACIC')", -#------------------------------------------------ -# sous bloc niveau 2 : CONDUCTIVITY -#------------------------------------------------ - CONDUCTIVITY = FACT ( statut="f", - ang ="Permittivity properties", - fr = u"propriétés de permittivité du matériau", - HOMOGENEOUS = SIMP (statut="o", - typ="TXM", - defaut="TRUE", - into = ("TRUE","FALSE"), - ang = "the material is homogeneous or not", - fr = u"le matériau est homogène ou non", - ), - ISOTROPIC = SIMP (statut="o", - typ="TXM", - defaut="TRUE", - into = ("TRUE","FALSE"), - ang = "the material is isotropic or not", - fr = u"le matériau est isotrope ou non", - ), - HOMOGENEOUS_ISOTROPIC_PROPERTIES = BLOC (condition="HOMOGENEOUS=='TRUE' and ISOTROPIC=='TRUE'", - LAW = SIMP (statut="o", - typ="TXM", - defaut="LINEAR", - into = ("LINEAR",), - ang = "linear law", - fr = u"loi linéaire", - ), - VALUE = SIMP (statut="o", - typ="C", - defaut=('RI',1,0), - ang = "enter a complex relative value", - fr = u"saisir une valeur complexe relative", - ), - ), # Fin BLOC HOMOGENEOUS_ISOTROPIC_PROPERTIES - ), # fin FACT CONDUCTIVITY - - #), # Fin BLOC HAS_CONDUCTICITY - -################################################################################################### -#--------------------------------------------- -# sous bloc niveau 1 -#--------------------------------------- -# matériau generique de type ZINSULATOR -#--------------------------------------- - -# aucun parametre a saisir pour ce materiau - - -################################################################################################### -#--------------------------------------------- -# sous bloc niveau 1 -#--------------------------------------------- -# matériau generique de type NILMAT (fictif) -#--------------------------------------------- - -# aucun parametre a saisir pour ce materiau - - -################################################################################################### -#---------------------------------------------------------- -# sous bloc niveau 1 : EM_ISOTROPIC_FILES -#------------------------------------------------- -# matériau isotropique non homogene generique -#------------------------------------------------- - EM_ISOTROPIC_properties=BLOC(condition="TYPE=='EM_ISOTROPIC'", - - CONDUCTIVITY_File = SIMP (statut="o", - typ=("FichierNoAbs",'MED Files (*.med)',), - ang="CONDUCTIVITY MED data file name", - fr = u"nom du fichier MED CONDUCTIVITY", - ), - PERMEABILITY_File = SIMP (statut="o", - typ=("FichierNoAbs",'MED Files (*.med)',), - ang="PERMEABILITY MED data file name", - fr = u"nom du fichier MED PERMEABILITY", - ), - ), # fin bloc EM_ISOTROPIC_properties - - -#--------------------------------------------------- -# matériau anisotropique non homogene generique -#--------------------------------------------------- - EM_ANISOTROPIC_properties=BLOC(condition="TYPE=='EM_ANISOTROPIC'", - - PERMEABILITY_File = SIMP (statut="o", - #typ=("Fichier",'.mater Files (*.mater)'), # le fichier doit exister dans le répertoire d'où on lancer Eficas si le fichier est défini par un nom relatif, ce qui est trop contraignant - #typ=("Fichier",'.mater Files (*.mater)','Sauvegarde'), # Le fichier peut ne pas exister, mais on propose de le sauvegarder et d'écraser un fichier existant : pas approprié - typ=("FichierNoAbs",'.mater Files (*.mater)'), # l'existence du fichier n'est pas vérifiée, mais on peut le sélectionner quand même via la navigateur. C'est suffisant et permet une bibliothèque de matériaux. - ang="PERMEABILITY .mater data file name", - fr ="nom du fichier .mater PERMEABILITY", - ), - CONDUCTIVITY_File = SIMP (statut="o", - typ=("FichierNoAbs",'.mater Files (*.mater)'), - ang="CONDUCTIVITY .mater data file name", - fr ="nom du fichier .mater CONDUCTIVITY", - ), - ), # fin bloc EM_ANISOTROPIC_properties - - -) # fin OPER MATERIAL - -#=================================================================== -# 3eme bloc : bloc SOURCES -#==================================================================== -# definition des differentes sources qui seront dans le bloc SOURCES -#------------------------------------------------------------------- -# - -SOURCE = OPER ( nom = "SOURCE", - op = None, - repetable = 'n', - ang = "source definition", - fr = u"définition d'une source", - sd_prod = source, - regles = (UN_PARMI('STRANDED_INDUCTOR','HPORT','EPORT'), # choix d'un type de source - UN_PARMI('WAVEFORM_CONSTANT','WAVEFORM_SINUS'), # choix d'une forme de source - ), - -#---------------------------------------------------------- -# sous bloc niveau 1 : stranded inductor source -##--------------------------------------------------------- - STRANDED_INDUCTOR = FACT(statut='f', - ang="Stranded inductor source", - fr=u"source de type inducteur bobiné", - NTURNS = SIMP (statut="o", - typ="I", - defaut=1, - ang="number of turns in the inductor", - fr= u"nombre de tours dans l'inducteur bobiné", - ), - TYPE = SIMP (statut="o", - typ="TXM", - defaut="CURRENT", - into=("CURRENT",), - fr= u"source de type courant", - ang="current source type", - ), - ), # FIN de FACT STRANDED_INDUCTOR - HPORT = FACT(statut='f', - ang="Magnetic port source", - fr=u"source de type port magnétique", - TYPE = SIMP (statut="o", - typ="TXM", - into=("VOLTAGE","CURRENT"), - fr= u"source de type tension ou courant", - ang="voltage or current source type", - ), - ), # FIN de FACT HPORT - EPORT = FACT(statut='f', - ang="Electric port source", - fr=u"source de type port électrique", - TYPE = SIMP (statut="o", - typ="TXM", - into=("VOLTAGE","CURRENT"), - fr= u"source de type tension ou courant", - ang="voltage or current source type", - ), - ), # FIN de FACT EPORT - WAVEFORM_CONSTANT = FACT(statut='f', - ang="constant source", - fr=u"source constante", - AMPLITUDE = SIMP (statut="o", - typ="R", - defaut=1, - ang = "enter the source magnitude value, in A or V units", - fr = u"saisir la valeur de l'amplitude de la source, en unités A ou V", - ), - ), # FIN de FACT WAVEFORM_CONSTANT - WAVEFORM_SINUS = FACT(statut='f', - ang="sinus variation source", - fr=u"source variant avec une forme sinusoïdale, définie par son amplitude, sa fréquence et sa phase", - AMPLITUDE = SIMP (statut="o", - typ="R", - defaut=1, - ang = "enter the source magnitude value, in A or V units", - fr = u"saisir la valeur de l'amplitude de la source, en unités A ou V", - ), - FREQUENCY = SIMP (statut="o", - typ="R", - defaut=50.0, - ang = "enter the source frequency value, in Hz units", - fr = u"saisir la valeur de la fréquence de la source, en Hz", - ), - PHASE = SIMP (statut="o", - typ="R", - defaut=0.0, - ang = "enter the source phase value, in degrees units", - fr = u"saisir la valeur de la phase de la source, en degrés", - ), - ), # FIN de FACT WAVEFORM_SINUS -) # Fin OPER SOURCE diff --git a/Carmel3D/Carmel3D_Cata_frequentiel_V0.py b/Carmel3D/Carmel3D_Cata_frequentiel_V0.py deleted file mode 100755 index a90c5626..00000000 --- a/Carmel3D/Carmel3D_Cata_frequentiel_V0.py +++ /dev/null @@ -1,552 +0,0 @@ -# -*- coding: utf-8 -*- -# -------------------------------------------------- -# Copyright (C) 2007-2013 EDF R&D -# -# 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. -# -# 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 -# -# -------------------------------------------------- - -import os -import sys -from Accas import * -import types -from decimal import Decimal -# repertoire ou sont stockés le catalogue carmel3d -# et les fichiers de donnees des materiaux de reference -from prefs_CARMEL3D import repIni - -#print "catalogue carmel" -#print "repIni = ", repIni - -# Version du catalogue -VERSION_CATA = "2.3.1 for harmonic problems" -# -------------------------------------------------- -# definition d une classe pour les materiaux -# definition d une classe pour les sources -# definition d une classe pour les groupes de mailles -# -------------------------------------------------- -class material ( ASSD ) : pass -class source ( ASSD ) : pass -class grmaille ( ASSD ) : pass - -#CONTEXT.debug = 1 -# -------------------------------------------------- -# déclaration du jeu de commandes : 1ere instruction du catalogue obligatoire -#--------------------------------------------------- - -##========================================================= -JdC = JDC_CATA ( code = 'CARMEL3D', -# execmodul = None, - regles =( - AU_MOINS_UN ('MATERIAL','INCLUDE'), - AU_MOINS_UN ('SOURCE','INCLUDE'), - AU_MOINS_UN ('MESHGROUP'), - ), - ) # Fin JDC_CATA -##========================================================= -# création d'une macro pour traiter les INCLUDE -# -#---------------------------------------------------------- - -import opsCarmel -INCLUDE = MACRO ( nom = "INCLUDE", - op = None, - UIinfo = { "groupes" : ( "Gestion du travail", ) }, - sd_prod = opsCarmel.INCLUDE, - op_init = opsCarmel.INCLUDE_context, - fichier_ini = 1, - - FileName = SIMP ( statut = "o", - typ = ('Fichier', 'comm Files (*.comm);;All Files (*)',), - fr = u"bibliothèque des matériaux", - ang = "material library file", - ), - - ) # Fin MACRO -# -------------------------------------------------- -# definition de groupe de mailles -# il est associe a un materiau ou a une source -#--------------------------------------------------- - -MESHGROUP = OPER (nom = "MESHGROUP", - op = None, - repetable = 'n', - UIinfo= {"groupes":("Definition",)}, - fr= u"attribution d'un matériau ou d'une source à un groupe du maillage", - ang = "mesh group association to material or source", - sd_prod= grmaille, - regles =( - EXCLUS ('MATERIAL','SOURCE'), - ), - -# ---------------------------------------------------------- -# le mot cle SIMP doit etre facultatif sinon la recuperation -# des groupes de mailles sous SALOME ne fonctionne pas car -# le concept ne peut pas etre nomme car non valide -#----------------------------------------------------------- - MATERIAL = SIMP (statut="f", - typ=(material,), - ang="name of the linked material", - fr =u"nom du matériau associé", - ), - SOURCE = SIMP (statut="f", - typ=(source,), - ang="name of the linked source", - fr =u"nom de la source associée", - ), - ) - - -#====================================================================== -# le fichier .PHYS contient 3 blocs et jusqu'a 3 niveaux de sous-blocs -# -#====================================================================== -# 1er bloc : bloc VERSION -# ce bloc est volontairement cache dans l IHM -#=================================================== - -VERSION = PROC ( nom = "VERSION", - op = None, - repetable = 'n', - UIinfo= {"groupes":("CACHE",)}, - ang= "version block definition", - -#---------------------- -# Liste des parametres -#---------------------- - - NUM = SIMP (statut="o", - typ="I", - defaut=1, - ang="version number of the physical model", - into=( 1,), - ), - FILETYPE = SIMP (statut="o", - typ="TXM", - defaut="PHYS", - ang="file type", - into=( "PHYS",), - ), - -) # Fin PROC VERSION - -#=================================================================== -# 2eme bloc : bloc MATERIALS -#=================================================================== -# definition des matériaux utilisateurs -# a partir des materiaux de reference ou de materiaux generiques -#------------------------------------------------------------------- -# -MATERIAL = OPER (nom = "MATERIAL", - op = None, - repetable = 'n', - ang= "material block definition", - fr= u"définition d'un matériau", - sd_prod= material, - regles=EXCLUS('PERMITTIVITY','CONDUCTIVITY'), - -#--------------------------------------------------------------------- -# liste des matériaux de reference fournis par THEMIS et des -# materiaux generiques (les materiaux generiques peuvent etre utilises -# si aucun materiau de reference ne convient) -#--------------------------------------------------------------------- - TYPE = SIMP(statut='o', - typ='TXM', - into=( -# matériaux génériques - "DIELECTRIC", - "CONDUCTOR", - "ZINSULATOR","ZSURFACIC", - "NILMAT","EM_ISOTROPIC","EM_ANISOTROPIC", - ), - ang = "generic materials list", - fr = u"liste des matériaux génériques", - ), - -############################################################################## -# Remarque generale a tous les materiaux : -# pour conserver l'affichage scientifique le nombre derriere l'exposant doit -# etre strictement superieur au nombre de decimales -# - -##---------------------------------------------------------------------------------------------- -# Données de perméabilité, utilisée pour les diélectriques, conducteurs et impédances de surface -#----------------------------------------------------------------------------------------------- - #HAS_PERMEABILITY = BLOC(condition="TYPE in ('DIELECTRIC','CONDUCTOR','ZSURFACIC')", - -#------------------------------------------------ -# sous bloc niveau 2 : PERMEABILITY -#------------------------------------------------ -# - PERMEABILITY = FACT ( statut="f", - ang ="Permeability properties", - fr =u"propriétés de perméabilité du matériau", - HOMOGENEOUS = SIMP (statut="o", - typ="TXM", - defaut="TRUE", - into = ("TRUE","FALSE"), - ang = "the material is homogeneous or not", - fr = u"le matériau est homogène ou non", - ), - ISOTROPIC = SIMP (statut="o", - typ="TXM", - defaut="TRUE", - into = ("TRUE","FALSE"), - ang = "the material is isotropic or not", - fr = u"le matériau est isotrope ou non", - ), - HOMOGENEOUS_ISOTROPIC_PROPERTIES = BLOC (condition="HOMOGENEOUS=='TRUE' and ISOTROPIC=='TRUE'", - LAW = SIMP (statut="o", - typ="TXM", - defaut="LINEAR", - into = ("LINEAR","NONLINEAR"), - ang = "harmonic or time-domain linear or nonlinear law only for homogeneous and isotropic materials", - fr = u"loi linéaire (fréquentielle ou temporelle) ou non (homogène et isotrope seulement)", - ), - VALUE = SIMP (statut="o", - typ="C", - defaut=('RI',1,0), - ang = "Relative linear permeability value, also used at first nonlinear iteration", - fr = u"Valeur de la perméabilité relative à l'air utilisée pour une loi linéaire ou pour la première itération non-linéaire", - ), - NONLINEAR_LAW_PROPERTIES = BLOC (condition="LAW=='NONLINEAR'", - NATURE = SIMP (statut="o", - typ="TXM", - defaut="MARROCCO", - into = ("SPLINE","MARROCCO","MARROCCO+SATURATION"), - ang = "nature law", - fr = u"nature de la loi", - ), - SPLINE_LAW_PROPERTIES = BLOC (condition="NATURE=='SPLINE'", - FILENAME = SIMP (statut="o", - typ=("FichierNoAbs",'All Files (*)',), # l'existence du fichier n'est pas vérifiée - ang="data file name", - fr =u"nom du fichier contenant les mesures expérimentales B(H)", - ), - ), # Fin BLOC SPLINE_PROPERTIES - MARROCCO_LAW_PROPERTIES = BLOC (condition="NATURE in ('MARROCCO','MARROCCO+SATURATION')", - ALPHA = SIMP (statut="o", - typ="R", - defaut=0, - val_min=0, - ang="alpha parameter", - fr =u"paramètre alpha de la loi de Marrocco" , - ), - TAU = SIMP (statut="o", - typ="R", - defaut=0, - val_min=0, - ang="tau parameter", - fr =u"paramètre tau de la loi de Marrocco" , - ), - C = SIMP (statut="o", - typ="R", - defaut=0, - val_min=0, - ang="c parameter", - fr =u"paramètre c de la loi de Marrocco" , - ), - EPSILON = SIMP (statut="o", - typ="R", - defaut=0, - val_min=0, - ang="epsilon parameter", - fr =u"paramètre epsilon de la loi de Marrocco" , - ), - ), # Fin BLOC MARROCCO_LAW_PROPERTIES - SATURATION_LAW_PROPERTIES = BLOC (condition="NATURE=='MARROCCO+SATURATION'", - BMAX = SIMP (statut="o", - typ="R", - defaut=0, - val_min=0, - ang="intersection B", - fr = u"valeur de B marquant la fin de la loi de Marrocco et le début du raccord à la loi de saturation", - ), - HSAT = SIMP (statut="o", - typ="R", - defaut=0, - val_min=0, - ang="H value", - fr = u"valeur de H définissant la loi de saturation", - ), - BSAT = SIMP (statut="o", - typ="R", - defaut=0, - val_min=0, - ang="B value", - fr = u"valeur de B définissant la loi de saturation", - ), - JOIN = SIMP (statut="o", - typ="TXM", - defaut="SPLINE", - into= ("SPLINE","PARABOLIC","LINEAR"), - ang="type of join between laws", - fr =u"type de raccord entre la loi choisie et la loi de saturation" , - ), - ), # Fin BLOC SATURATION_LAW_PROPERTIES - APPLIEDTO = SIMP (statut="o", - typ="TXM", - into=("B(H)&H(B)","B(H)","H(B)"), - defaut="B(H)&H(B)", - ang="join applied to", - fr =u"Le raccord tel que défini est appliqué à la courbe B(H) seulement, à la courbe H(B) seulement ou aux deux courbes à la fois. Dans les deux premiers cas, le raccord de la courbe H(B) est inversé numériquement à partir du raccord défini pour la courbe B(H), et vice-versa.", - ), - ), # Fin BLOC NONLINEAR_LAW_PROPERTIES - ), # Fin BLOC HOMOGENEOUS_ISOTROPIC_PROPERTIES - ), # fin FACT PERMEABILITY - #), # Fin BLOC HAS_PERMEABILITY - -##------------------------------------------------------------------ -# Données de permittivité, utilisée pour les diélectriques seulement -#------------------------------------------------------------------- - #HAS_PERMITTIVITY = BLOC(condition="TYPE == 'DIELECTRIC'", - -#------------------------------------------------ -# sous bloc niveau 2 : PERMITTIVITY -#------------------------------------------------ - PERMITTIVITY = FACT ( statut="f", - ang ="Permittivity properties", - fr = u"propriétés de permittivité du matériau", - HOMOGENEOUS = SIMP (statut="o", - typ="TXM", - defaut="TRUE", - into = ("TRUE","FALSE"), - ang = "the material is homogeneous or not", - fr = u"le matériau est homogène ou non", - ), - ISOTROPIC = SIMP (statut="o", - typ="TXM", - defaut="TRUE", - into = ("TRUE","FALSE"), - ang = "the material is isotropic or not", - fr = u"le matériau est isotrope ou non", - ), - HOMOGENEOUS_ISOTROPIC_PROPERTIES = BLOC (condition="HOMOGENEOUS=='TRUE' and ISOTROPIC=='TRUE'", - LAW = SIMP (statut="o", - typ="TXM", - defaut="LINEAR", - into = ("LINEAR",), - ang = "linear law", - fr = u"loi linéaire", - ), - VALUE = SIMP (statut="o", - typ="C", - defaut=('RI',1,0), - ang = "enter a complex relative value", - fr = u"saisir une valeur complexe relative", - ), - ), # Fin BLOC HOMOGENEOUS_ISOTROPIC_PROPERTIES - ), # fin FACT PERMITTIVITY - - #), # Fin BLOC HAS_PERMITTIVITY - -##---------------------------------------------------------------------------------------------- -# Données de conductivité, utilisée pour les conducteurs et impédances de surface -#----------------------------------------------------------------------------------------------- - #HAS_CONDUCTIVITY = BLOC(condition="TYPE in ('CONDUCTOR','ZSURFACIC')", -#------------------------------------------------ -# sous bloc niveau 2 : CONDUCTIVITY -#------------------------------------------------ - CONDUCTIVITY = FACT ( statut="f", - ang ="Permittivity properties", - fr = u"propriétés de permittivité du matériau", - HOMOGENEOUS = SIMP (statut="o", - typ="TXM", - defaut="TRUE", - into = ("TRUE","FALSE"), - ang = "the material is homogeneous or not", - fr = u"le matériau est homogène ou non", - ), - ISOTROPIC = SIMP (statut="o", - typ="TXM", - defaut="TRUE", - into = ("TRUE","FALSE"), - ang = "the material is isotropic or not", - fr = u"le matériau est isotrope ou non", - ), - HOMOGENEOUS_ISOTROPIC_PROPERTIES = BLOC (condition="HOMOGENEOUS=='TRUE' and ISOTROPIC=='TRUE'", - LAW = SIMP (statut="o", - typ="TXM", - defaut="LINEAR", - into = ("LINEAR",), - ang = "linear law", - fr = u"loi linéaire", - ), - VALUE = SIMP (statut="o", - typ="C", - defaut=('RI',1,0), - ang = "enter a complex relative value", - fr = u"saisir une valeur complexe relative", - ), - ), # Fin BLOC HOMOGENEOUS_ISOTROPIC_PROPERTIES - ), # fin FACT CONDUCTIVITY - - #), # Fin BLOC HAS_CONDUCTICITY - -################################################################################################### -#--------------------------------------------- -# sous bloc niveau 1 -#--------------------------------------- -# matériau generique de type ZINSULATOR -#--------------------------------------- - -# aucun parametre a saisir pour ce materiau - - -################################################################################################### -#--------------------------------------------- -# sous bloc niveau 1 -#--------------------------------------------- -# matériau generique de type NILMAT (fictif) -#--------------------------------------------- - -# aucun parametre a saisir pour ce materiau - - -################################################################################################### -#---------------------------------------------------------- -# sous bloc niveau 1 : EM_ISOTROPIC_FILES -#------------------------------------------------- -# matériau isotropique non homogene generique -#------------------------------------------------- - EM_ISOTROPIC_properties=BLOC(condition="TYPE=='EM_ISOTROPIC'", - - CONDUCTIVITY_File = SIMP (statut="o", - typ=("FichierNoAbs",'MED Files (*.med)',), - ang="CONDUCTIVITY MED data file name", - fr = u"nom du fichier MED CONDUCTIVITY", - ), - PERMEABILITY_File = SIMP (statut="o", - typ=("FichierNoAbs",'MED Files (*.med)',), - ang="PERMEABILITY MED data file name", - fr = u"nom du fichier MED PERMEABILITY", - ), - ), # fin bloc EM_ISOTROPIC_properties - - -#--------------------------------------------------- -# matériau anisotropique non homogene generique -#--------------------------------------------------- - EM_ANISOTROPIC_properties=BLOC(condition="TYPE=='EM_ANISOTROPIC'", - - PERMEABILITY_File = SIMP (statut="o", - #typ=("Fichier",'.mater Files (*.mater)'), # le fichier doit exister dans le répertoire d'où on lancer Eficas si le fichier est défini par un nom relatif, ce qui est trop contraignant - #typ=("Fichier",'.mater Files (*.mater)','Sauvegarde'), # Le fichier peut ne pas exister, mais on propose de le sauvegarder et d'écraser un fichier existant : pas approprié - typ=("FichierNoAbs",'.mater Files (*.mater)'), # l'existence du fichier n'est pas vérifiée, mais on peut le sélectionner quand même via la navigateur. C'est suffisant et permet une bibliothèque de matériaux. - ang="PERMEABILITY .mater data file name", - fr ="nom du fichier .mater PERMEABILITY", - ), - CONDUCTIVITY_File = SIMP (statut="o", - typ=("FichierNoAbs",'.mater Files (*.mater)'), - ang="CONDUCTIVITY .mater data file name", - fr ="nom du fichier .mater CONDUCTIVITY", - ), - ), # fin bloc EM_ANISOTROPIC_properties - - -) # fin OPER MATERIAL - -#=================================================================== -# 3eme bloc : bloc SOURCES -#==================================================================== -# definition des differentes sources qui seront dans le bloc SOURCES -#------------------------------------------------------------------- -# - -SOURCE = OPER ( nom = "SOURCE", - op = None, - repetable = 'n', - ang = "source definition", - fr = u"définition d'une source", - sd_prod = source, - regles = (UN_PARMI('STRANDED_INDUCTOR','HPORT','EPORT'), # choix d'un type de source - UN_PARMI('WAVEFORM_CONSTANT','WAVEFORM_SINUS'), # choix d'une forme de source - ), - -#---------------------------------------------------------- -# sous bloc niveau 1 : stranded inductor source -##--------------------------------------------------------- - STRANDED_INDUCTOR = FACT(statut='f', - ang="Stranded inductor source", - fr=u"source de type inducteur bobiné", - NTURNS = SIMP (statut="o", - typ="I", - defaut=1, - ang="number of turns in the inductor", - fr= u"nombre de tours dans l'inducteur bobiné", - ), - TYPE = SIMP (statut="o", - typ="TXM", - defaut="CURRENT", - into=("CURRENT",), - fr= u"source de type courant", - ang="current source type", - ), - ), # FIN de FACT STRANDED_INDUCTOR - HPORT = FACT(statut='f', - ang="Magnetic port source", - fr=u"source de type port magnétique", - TYPE = SIMP (statut="o", - typ="TXM", - into=("VOLTAGE","CURRENT"), - fr= u"source de type tension ou courant", - ang="voltage or current source type", - ), - ), # FIN de FACT HPORT - EPORT = FACT(statut='f', - ang="Electric port source", - fr=u"source de type port électrique", - TYPE = SIMP (statut="o", - typ="TXM", - into=("VOLTAGE","CURRENT"), - fr= u"source de type tension ou courant", - ang="voltage or current source type", - ), - ), # FIN de FACT EPORT - WAVEFORM_CONSTANT = FACT(statut='f', - ang="constant source", - fr=u"source constante", - AMPLITUDE = SIMP (statut="o", - typ="R", - defaut=1, - ang = "enter the source magnitude value, in A or V units", - fr = u"saisir la valeur de l'amplitude de la source, en unités A ou V", - ), - ), # FIN de FACT WAVEFORM_CONSTANT - WAVEFORM_SINUS = FACT(statut='f', - ang="sinus variation source", - fr=u"source variant avec une forme sinusoïdale, définie par son amplitude, sa fréquence et sa phase", - AMPLITUDE = SIMP (statut="o", - typ="R", - defaut=1, - ang = "enter the source magnitude value, in A or V units", - fr = u"saisir la valeur de l'amplitude de la source, en unités A ou V", - ), - FREQUENCY = SIMP (statut="o", - typ="R", - defaut=50.0, - ang = "enter the source frequency value, in Hz units", - fr = u"saisir la valeur de la fréquence de la source, en Hz", - ), - PHASE = SIMP (statut="o", - typ="R", - defaut=0.0, - ang = "enter the source phase value, in degrees units", - fr = u"saisir la valeur de la phase de la source, en degrés", - ), - ), # FIN de FACT WAVEFORM_SINUS -) # Fin OPER SOURCE diff --git a/Carmel3D/Carmel3D_Cata_frequentiel_V1.py b/Carmel3D/Carmel3D_Cata_frequentiel_V1.py deleted file mode 100644 index b70bb964..00000000 --- a/Carmel3D/Carmel3D_Cata_frequentiel_V1.py +++ /dev/null @@ -1,903 +0,0 @@ -# -*- coding: utf-8 -*- -# -------------------------------------------------- -# Copyright (C) 2007-2013 EDF R&D -# -# 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. -# -# 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 -# -# -------------------------------------------------- - -import os -import sys -from Accas import * -import types -from decimal import Decimal -# repertoire ou sont stockés le catalogue carmel3d -# et les fichiers de donnees des materiaux de reference -from prefs_CARMEL3D import repIni - -class Tuple: - def __init__(self,ntuple): - self.ntuple=ntuple - - def __convert__(self,valeur): - if type(valeur) == types.StringType: - return None - if len(valeur) != self.ntuple: - return None - return valeur - - def info(self): - return "Tuple de %s elements" % self.ntuple - - - -#print "catalogue carmel" -#print "repIni = ", repIni - -# Version du catalogue -VERSION_CATA = "Code_Carmel3D 2.4.0 for harmonic problems" -# -------------------------------------------------- -# definition d une classe pour les materiaux -# definition d une classe pour les sources -# definition d une classe pour les groupes de mailles -# -------------------------------------------------- -class material ( ASSD ) : pass -class source ( ASSD ) : pass -class grmaille ( ASSD ) : pass -class stranded_inductor_geometry ( ASSD ) : pass -class macro_groupe ( ASSD ) : pass - -#CONTEXT.debug = 1 -# -------------------------------------------------- -# déclaration du jeu de commandes : 1ere instruction du catalogue obligatoire -#--------------------------------------------------- - -##========================================================= -JdC = JDC_CATA ( code = 'CARMEL3D', - execmodul = None, - regles =( - AU_MOINS_UN ('PARAMETERS'), - AU_PLUS_UN ('PARAMETERS'), - AU_MOINS_UN ('SOLVEUR'), - AU_PLUS_UN ('SOLVEUR'), - AU_MOINS_UN ('POST_COMMANDS'), - AU_PLUS_UN ('POST_COMMANDS'), - AU_MOINS_UN ('MATERIAL','INCLUDE'), - AU_MOINS_UN ('SOURCE','INCLUDE'), - AU_MOINS_UN ('MESHGROUP'), - ), - ) # Fin JDC_CATA - -import opsCarmel - -#====================================================================== -# 1er bloc : bloc VERSION -# ce bloc est volontairement cache dans l IHM -#=================================================== - -VERSION = PROC ( nom = "VERSION", - op = None, - repetable = 'n', - UIinfo= {"groupes":("CACHE",)}, - ang= "version block definition", - -#---------------------- -# Liste des parametres -#---------------------- - - NUM = SIMP (statut="o", - typ="I", - defaut=1, - ang="version number of the physical model", - into=( 1,), - ), - FILETYPE = SIMP (statut="o", - typ="TXM", - defaut="PHYS", - ang="file type", - into=( "PHYS",), - ), - -) # Fin PROC VERSION - -PARAMETERS= PROC ( nom = "PARAMETERS", - op = None, - repetable = 'n', - UIinfo = { "groupes" : ( "1) Parametres", ) }, - ang= "General parameters for this study", - fr= u"Paramètres généraux de l'étude", -#---------------------- -# Liste des parametres -#---------------------- - RepCarmel=SIMP(typ='Repertoire', statut='o', - ang= "Code_Carmel3D executables directory", - fr= u"Répertoire contenant les programmes de Code_Carmel3D", - ), - Fichier_maillage = SIMP (statut="o", typ=("FichierNoAbs",'All Files (*)',), # l'existence du fichier n'est pas vérifiée - ang="Mesh file path (relative, aka file name, or absolute path).", - fr =u"Emplacement du fichier contenant le maillage (relatif, i.e., nom du fichier, ou absolu, i.e., chemin complet).", - ), - - Echelle_du_maillage = SIMP (statut='o', typ="TXM", defaut= "Millimetre", into = ("Metre", "Millimetre"), - ang="Mesh geometry units.", - fr =u"Unités géométriques du maillage.", - ), - - Formulation=SIMP(statut='o', typ='TXM', into=("TOMEGA","APHI"), - ang="Problem formulation.", - fr =u"Formulation du problème.", - ), - - FREQUENCY = SIMP (statut="o", - typ="R", - defaut=50.0, - ang = "enter the source frequency value, in Hz units", - fr = u"saisir la valeur de la fréquence de la source, en Hz", - val_min=0.0, - ), - - Realiser_topologie_gendof = SIMP (statut='o', typ="TXM", defaut="TRUE", into=("TRUE", "FALSE"), - ang="Build topology (.car file) using gendof.exe.", - fr =u"Construction de la topologie (fichier .car) en éxécutant gendof.exe.", - ), - Resoudre_probleme = SIMP (statut='o', typ="TXM", defaut="TRUE", into=("TRUE", "FALSE"), - ang="Solve the problem using fcarmel.exe.", - fr =u"Résolution du problème en éxécutant fcarmel.exe.", - ), - - Realiser_post_traitement_aposteriori = SIMP (statut='o', typ="TXM", defaut="TRUE", into=("TRUE", "FALSE"), - ang="Make post-processing using postprocess.exe.", - fr =u"Réalisation du post-traitement en éxécutant postprocess.exe.", - ), -) # Fin PROC PARAMETERS - -SOLVEUR = PROC ( nom ="SOLVEUR", - op=None, - repetable = 'n', - UIinfo= {"groupes":("1) Parametres",)}, - ang= "Solver parameters for this study", - fr= u"Paramètres liés au solveur de l'étude", - - Type= SIMP (statut="o", - typ="TXM", - into=("Solveur_lineaire"), - defaut='Solveur_lineaire', - ang="Linear solver only for harmonic problems.", - fr =u"Solveur linéaire seulement pour les problèmes fréquentiels.", - ), - - Solveur_lineaire=BLOC(condition="Type=='Solveur_lineaire'", - ang="This block contains whole linear solver properties.", - fr =u"Ce bloc contient toutes les propriétés du solveur linéaire.", - Methode_lineaire=SIMP(statut='o', typ='TXM', into=("Methode iterative BICGCR", "Methode directe MUMPS"), - ang="Algorithm used for this linear solver.", - fr =u"Méthode (algorithme) utilisée par ce solveur linéaire.", - ), - - Parametres_methode_iterative_BICGCR=BLOC(condition="Methode_lineaire=='Methode iterative BICGCR'", - ang="This block contains whole BICGCR algorithm properties used for the linear solver.", - fr =u"Ce bloc contient toutes les propriétés de la méthode BICGCR utilisée par le solveur linéaire.", - Precision=SIMP(statut='o', typ='R', defaut=1e-9, - ang="Accuracy on linear computations.", - fr =u"Précision du calcul linéaire.", - ), - Nombre_iterations_max=SIMP(statut='o', typ='I',defaut=10000, - ang="Maximal number of iterations.", - fr =u"Nombre maximal d'itérations.", - ), - Preconditionneur=SIMP(statut='f', typ='TXM', into=("Jacobi"), defaut='Jacobi', - ang="Preconditioner choice. Jacobi only.", - fr =u"Choix du préconditioneur. Jacobi disponible seulement.", - ), - ), - - Parametres_methode_directe_MUMPS=BLOC(condition="Methode_lineaire=='Methode directe MUMPS'", - ang="This block contains whole MUMPS properties used for the linear solver.", - fr =u"Ce bloc contient toutes les propriétés de la méthode MUMPS utilisée par le solveur linéaire.", - Type_de_matrice=SIMP(statut='o', typ='I', defaut=2, - ang="Matrix type (symetry). 2: symetric. Please refer to MUMPS documentation.", - fr =u"Type de matrice (symétrie). Choisir 2 pour une matrice symétrique. Expliqué dans la documentation MUMPS.", - ), - ICNTL_Control_Parameters=SIMP(statut='o', typ='I', defaut=7, - ang="ICNTL control parameter. Please refer to MUMPS documentation.", - fr =u"Paramètre de contrôle ICNTL. Expliqué dans la documentation MUMPS.", - ), - CNTL_Control_Parameters=SIMP(statut='o', typ='I', defaut=5, - ang="CNTL control parameter. Please refer to MUMPS documentation.", - fr =u"Paramètre de contrôle CNTL. Expliqué dans la documentation MUMPS.", - ), - ), - ), - ) - -POST_COMMANDS = PROC ( nom = "POST_COMMANDS", - op = None, - repetable = 'n', - UIinfo = { "groupes" : ( "1) Parametres", ) }, - ang= "post-processing commands .cmd or .post file", - fr= u"fichiers .cmd ou .post de commandes de post-traitement", - # Sous-parties, moins indentées pour améliorer la lisibilité - # Grandeurs globales - GLOBAL = FACT ( statut="f", - ang ="Post-processing of global quantities", - fr =u"Post-traitement des grandeurs globales", - ), - # Carte de tous les champs possibles - VISU = FACT ( statut="f", - ang ="Post-processing of field maps", - fr =u"Post-traitement des cartes de champ", - VISU_Format=SIMP(statut='o', typ='TXM', into=("MED", "VTK"), defaut="MED"), - VISU_Type=SIMP(statut='o', typ='TXM', into=("ELEMENT", "NOEUD"), defaut="ELEMENT"), - ), - # Ligne de coupe - CUTLINE = FACT ( statut="f", - ang = "Post-processing of one cutline", - fr = u"Post-traitement d'une ligne de coupe", - first_point = SIMP(statut='o', - typ = Tuple(3),validators = VerifTypeTuple(('R','R','R')), - ang="First point of the cutline (cartesian coordinates).", - fr=u"Point de départ (premier point) de la ligne de coupe (coordonnées cartésiennes).", - ), - - last_point = SIMP(statut='o', typ='R', min=3, max=3, - ang="Last point of the cutline (cartesian coordinates).", - fr=u"Point d'arrivée (dernier point) de la ligne de coupe (coordonnées cartésiennes)." - ), - number_of_points = SIMP(statut='o', typ='I', - ang="Number of points of the cutline.", - fr=u"Nombre de points de la ligne de coupe." - ), - name = SIMP(statut='o', typ='TXM', - ang="Name of the cutline, used in the output filename.", - fr=u"Nom de la ligne de coupe, utilisé dans le nom du fichier de sortie." - ), - field = SIMP(statut='o', typ='TXM', into=("H", "B", "J", "E"), - ang="Field on which the cutline is applied.", - fr=u"Champ pour lequel la ligne de coupe est définie." - ), - ), - # Plan de coupe - CUTPLANE = FACT ( statut="f", - ang = "Post-processing of one cutplane", - fr = u"Post-traitement d'un plan de coupe", - normal_vector = SIMP(statut='o', typ='TXM', into=("Ox", "Oy", "Oz"), - ang="Cutplane normal vector, i.e., perpendicular axis, 3 possible cartesian values: Ox, Oy, Oz.", - fr=u"Vecteur normal au plan de coupe, i.e., son axe perpendiculaire, parmi les 3 valeurs cartésiennes Ox, Oy et Oz." - ), - plane_position = SIMP(statut='o', typ='R', - ang="Cutplane position, i.e., its coordinate along the normal vector axis.", - fr=u"Position du plan de coupe, i.e., coordonnée le long de l'axe de vecteur normal." - ), - number_of_points = SIMP(statut='o', typ='I', min=2, max=2, - ang="Number of points on the cutplane, which define a cartesian grid along its canonical directions, e.g., Ox and Oy if plane normal to Oz.", - fr=u"Nombre de points sur le plan de coupe dans les deux directions (grille cartésienne), e.g., Ox et Oy si le plan est normal à Oz." - ), - name = SIMP(statut='o', typ='TXM', - ang="Name of the cutplane, used in the output filename.", - fr=u"Nom du plan de coupe, utilisé dans le nom du fichier de sortie." - ), - field = SIMP(statut='o', typ='TXM', into=("H", "B", "J", "E"), - ang="Field on which the cutplane is applied.", - fr=u"Champ pour lequel le plan de coupe est défini." - ), - ), - -) # Fin PROC POST_COMMANDS - - -#====================================================================== -# le fichier .PHYS contient 3 blocs et jusqu'a 3 niveaux de sous-blocs -# -#====================================================================== - -#=================================================================== -# 2eme bloc : bloc MATERIALS -#=================================================================== -# definition des matériaux utilisateurs -# a partir des materiaux de reference ou de materiaux generiques -#------------------------------------------------------------------- - -MATERIAL = OPER (nom = "MATERIAL", - op = None, - repetable = 'n', - UIinfo = { "groupes" : ( "2) Proprietes", ) }, - ang= "real material block definition", - fr= u"définition d'un matériau réel", - sd_prod= material, - # regles=EXCLUS('PERMITTIVITY','CONDUCTIVITY'), - -#--------------------------------------------------------------------- -# liste des matériaux de reference fournis par THEMIS et des -# materiaux generiques (les materiaux generiques peuvent etre utilises -# si aucun materiau de reference ne convient) -#--------------------------------------------------------------------- - TYPE = SIMP(statut='o', - typ='TXM', - into=( -# matériaux génériques - "DIELECTRIC", - "CONDUCTOR", - "ZINSULATOR","ZSURFACIC", - "NILMAT","EM_ISOTROPIC","EM_ANISOTROPIC", - ), - ang = "generic materials list", - fr = u"liste des matériaux génériques", - ), - -############################################################################## -# Remarque generale a tous les materiaux : -# pour conserver l'affichage scientifique le nombre derriere l'exposant doit -# etre strictement superieur au nombre de decimales -# - -##---------------------------------------------------------------------------------------------- -# Données de perméabilité, utilisée pour les diélectriques, conducteurs et impédances de surface -#----------------------------------------------------------------------------------------------- - #HAS_PERMEABILITY = BLOC(condition="TYPE in ('DIELECTRIC','CONDUCTOR','ZSURFACIC')", - -#------------------------------------------------ -# sous bloc niveau 2 : PERMEABILITY -#------------------------------------------------ -# - PERMEABILITY_properties = BLOC (condition="TYPE=='DIELECTRIC' or TYPE=='CONDUCTOR'", - PERMEABILITY = FACT ( statut="o", - ang ="Permeability properties", - fr =u"propriétés de perméabilité du matériau", - HOMOGENEOUS = SIMP (statut="o", - typ="TXM", - defaut="TRUE", - into = ("TRUE","FALSE"), - ang = "the material is homogeneous or not", - fr = u"le matériau est homogène ou non", - ), - ISOTROPIC = SIMP (statut="o", - typ="TXM", - defaut="TRUE", - into = ("TRUE","FALSE"), - ang = "the material is isotropic or not", - fr = u"le matériau est isotrope ou non", - ), - HOMOGENEOUS_ISOTROPIC_PROPERTIES = BLOC (condition="HOMOGENEOUS=='TRUE' and ISOTROPIC=='TRUE'", - LAW = SIMP (statut="o", - typ="TXM", - defaut="LINEAR", - into = ("LINEAR","NONLINEAR"), - ang = "harmonic or time-domain linear or nonlinear law only for homogeneous and isotropic materials", - fr = u"loi linéaire (fréquentielle ou temporelle) ou non (homogène et isotrope seulement)", - ), - VALUE = SIMP (statut="o", - typ="C", - defaut=1, - ang = "Relative linear permeability value, also used at first nonlinear iteration", - fr = u"Valeur de la perméabilité relative à l'air utilisée pour une loi linéaire ou pour la première itération non-linéaire", - ), - - NONLINEAR_LAW_PROPERTIES = BLOC (condition="LAW=='NONLINEAR'", - NATURE = SIMP (statut="o", - typ="TXM", - defaut="MARROCCO", - into = ("SPLINE","MARROCCO","MARROCCO+SATURATION"), - ang = "nature law", - fr = u"nature de la loi", - ), - SPLINE_LAW_PROPERTIES = BLOC (condition="NATURE=='SPLINE'", - FILENAME = SIMP (statut="o", - typ=("FichierNoAbs",'All Files (*)',), # l'existence du fichier n'est pas vérifiée - ang="data file name", - fr =u"nom du fichier contenant les mesures expérimentales B(H)", - ), - ), # Fin BLOC SPLINE_PROPERTIES - MARROCCO_LAW_PROPERTIES = BLOC (condition="NATURE in ('MARROCCO','MARROCCO+SATURATION')", - ALPHA = SIMP (statut="o", - typ="R", - defaut=0, - val_min=0, - ang="alpha parameter", - fr =u"paramètre alpha de la loi de Marrocco" , - ), - TAU = SIMP (statut="o", - typ="R", - defaut=0, - val_min=0, - ang="tau parameter", - fr =u"paramètre tau de la loi de Marrocco" , - ), - C = SIMP (statut="o", - typ="R", - defaut=0, - val_min=0, - ang="c parameter", - fr =u"paramètre c de la loi de Marrocco" , - ), - EPSILON = SIMP (statut="o", - typ="R", - defaut=0, - val_min=0, - ang="epsilon parameter", - fr =u"paramètre epsilon de la loi de Marrocco" , - ), - ), # Fin BLOC MARROCCO_LAW_PROPERTIES - SATURATION_LAW_PROPERTIES = BLOC (condition="NATURE=='MARROCCO+SATURATION'", - BMAX = SIMP (statut="o", - typ="R", - defaut=0, - val_min=0, - ang="intersection B", - fr = u"valeur de B marquant la fin de la loi de Marrocco et le début du raccord à la loi de saturation", - ), - HSAT = SIMP (statut="o", - typ="R", - defaut=0, - val_min=0, - ang="H value", - fr = u"valeur de H définissant la loi de saturation", - ), - BSAT = SIMP (statut="o", - typ="R", - defaut=0, - val_min=0, - ang="B value", - fr = u"valeur de B définissant la loi de saturation", - ), - JOIN = SIMP (statut="o", - typ="TXM", - defaut="SPLINE", - into= ("SPLINE","PARABOLIC","LINEAR"), - ang="type of join between laws", - fr =u"type de raccord entre la loi choisie et la loi de saturation" , - ), - ), # Fin BLOC SATURATION_LAW_PROPERTIES - APPLIEDTO = SIMP (statut="o", - typ="TXM", - into=("B(H)&H(B)","B(H)","H(B)"), - defaut="B(H)&H(B)", - ang="join applied to", - fr =u"Le raccord tel que défini est appliqué à la courbe B(H) seulement, à la courbe H(B) seulement ou aux deux courbes à la fois. Dans les deux premiers cas, le raccord de la courbe H(B) est inversé numériquement à partir du raccord défini pour la courbe B(H), et vice-versa.", - ), - ), # Fin BLOC NONLINEAR_LAW_PROPERTIES - ), # Fin BLOC HOMOGENEOUS_ISOTROPIC_PROPERTIES - ), - ),# fin FACT PERMEABILITY - - -##---------------------------------------------------------------------------------------------- -# Données de conductivité, utilisée pour les conducteurs et impédances de surface -#----------------------------------------------------------------------------------------------- - #HAS_CONDUCTIVITY = BLOC(condition="TYPE in ('CONDUCTOR','ZSURFACIC')", -#------------------------------------------------ -# sous bloc niveau 2 : CONDUCTIVITY -#------------------------------------------------ - - CONDUCTIVITY_properties= BLOC (condition="TYPE=='CONDUCTOR'", - CONDUCTIVITY = FACT ( statut="o", - ang ="Permittivity properties", - fr = u"propriétés de permittivité du matériau", - HOMOGENEOUS = SIMP (statut="o", - typ="TXM", - defaut="TRUE", - into = ("TRUE","FALSE"), - ang = "the material is homogeneous or not", - fr = u"le matériau est homogène ou non", - ), - ISOTROPIC = SIMP (statut="o", - typ="TXM", - defaut="TRUE", - into = ("TRUE","FALSE"), - ang = "the material is isotropic or not", - fr = u"le matériau est isotrope ou non", - ), - HOMOGENEOUS_ISOTROPIC_PROPERTIES = BLOC (condition="HOMOGENEOUS=='TRUE' and ISOTROPIC=='TRUE'", - LAW = SIMP (statut="o", - typ="TXM", - defaut="LINEAR", - into = ("LINEAR",), - ang = "linear law", - fr = u"loi linéaire", - ), - VALUE = SIMP (statut="o", - typ="C", - defaut=1, - ang = "enter a complex relative value", - fr = u"saisir une valeur complexe relative", - ), - ), # Fin BLOC HOMOGENEOUS_ISOTROPIC_PROPERTIES - ), - - ), - - - # fin FACT CONDUCTIVITY - - - -################################################################################################### -#--------------------------------------------- -# sous bloc niveau 1 -#--------------------------------------- -# matériau generique de type ZINSULATOR -#--------------------------------------- - -# aucun parametre a saisir pour ce materiau - - -################################################################################################### -#--------------------------------------------- -# sous bloc niveau 1 -#--------------------------------------------- -# matériau generique de type NILMAT (fictif) -#--------------------------------------------- - -# aucun parametre a saisir pour ce materiau - - -################################################################################################### -#---------------------------------------------------------- -# sous bloc niveau 1 : EM_ISOTROPIC_FILES -#------------------------------------------------- -# matériau isotropique non homogene generique -#------------------------------------------------- - EM_ISOTROPIC_properties=BLOC(condition="TYPE=='EM_ISOTROPIC'", - regles =( - AU_MOINS_UN ('CONDUCTIVITY_File','PERMEABILITY_File'), - ), - CONDUCTIVITY_File = SIMP (statut="f", - typ=("FichierNoAbs",'MED Files (*.med)',), - ang="CONDUCTIVITY MED data file name", - fr = u"nom du fichier MED CONDUCTIVITY", - ), - PERMEABILITY_File = SIMP (statut="f", - typ=("FichierNoAbs",'MED Files (*.med)',), - ang="PERMEABILITY MED data file name", - fr = u"nom du fichier MED PERMEABILITY", - ), - ), # fin bloc EM_ISOTROPIC_properties - - -#--------------------------------------------------- -# matériau anisotropique non homogene generique -#--------------------------------------------------- - EM_ANISOTROPIC_properties=BLOC(condition="TYPE=='EM_ANISOTROPIC'", - regles =( - AU_MOINS_UN ('CONDUCTIVITY_File','PERMEABILITY_File'), - ), - PERMEABILITY_File = SIMP (statut="f", - #typ=("Fichier",'.mater Files (*.mater)'), # le fichier doit exister dans le répertoire d'où on lancer Eficas si le fichier est défini par un nom relatif, ce qui est trop contraignant - #typ=("Fichier",'.mater Files (*.mater)','Sauvegarde'), # Le fichier peut ne pas exister, mais on propose de le sauvegarder et d'écraser un fichier existant : pas approprié - typ=("FichierNoAbs",'.mater Files (*.mater)'), # l'existence du fichier n'est pas vérifiée, mais on peut le sélectionner quand même via la navigateur. C'est suffisant et permet une bibliothèque de matériaux. - ang="PERMEABILITY .mater data file name", - fr ="nom du fichier .mater PERMEABILITY", - ), - CONDUCTIVITY_File = SIMP (statut="f", - typ=("FichierNoAbs",'.mater Files (*.mater)'), - ang="CONDUCTIVITY .mater data file name", - fr ="nom du fichier .mater CONDUCTIVITY", - ), - ), # fin bloc EM_ANISOTROPIC_properties - - -#------------------------------------------------------------------ -# Données de permittivité, utilisée pour les diélectriques seulement -#------------------------------------------------------------------- - #HAS_PERMITTIVITY = BLOC(condition="TYPE == 'DIELECTRIC'", - -#------------------------------------------------ -# sous bloc niveau 2 : PERMITTIVITY -#------------------------------------------------ - - Utiliser_la_permittivite = SIMP (statut='o', - typ='TXM', - into = ("OUI","NON"), - defaut="NON", - ang ="Optionnaly use permittivity or not (default)", - fr = u"Utilisation optionnelle de la permittivité du matériau. Pas d'utilisation par défaut.", - ), - PERMITTIVITY_properties = BLOC (condition="Utiliser_la_permittivite=='OUI'", - PERMITTIVITY = FACT ( statut="o", - ang ="Permittivity properties", - fr = u"propriétés de permittivité du matériau", - HOMOGENEOUS = SIMP (statut="o", - typ="TXM", - defaut="TRUE", - into = ("TRUE","FALSE"), - ang = "the material is homogeneous or not", - fr = u"le matériau est homogène ou non", - ), - ISOTROPIC = SIMP (statut="o", - typ="TXM", - defaut="TRUE", - into = ("TRUE","FALSE"), - ang = "the material is isotropic or not", - fr = u"le matériau est isotrope ou non", - ), - HOMOGENEOUS_ISOTROPIC_PROPERTIES = BLOC (condition="HOMOGENEOUS=='TRUE' and ISOTROPIC=='TRUE'", - LAW = SIMP (statut="o", - typ="TXM", - defaut="LINEAR", - into = ("LINEAR",), - ang = "linear law", - fr = u"loi linéaire", - ), - VALUE = SIMP (statut="o", - typ="C", - defaut=1, - ang = "enter a complex relative value", - fr = u"saisir une valeur complexe relative", - ), - ), # Fin BLOC HOMOGENEOUS_ISOTROPIC_PROPERTIES - ), - ),# fin FACT PERMITTIVITY - - ) # fin OPER MATERIAL - - - -############################################################################## -# Remarque generale a tous les materiaux : -# pour conserver l'affichage scientifique le nombre derriere l'exposant doit -# etre strictement superieur au nombre de decimales - - -#=================================================================== -# 3eme bloc : bloc SOURCES -#==================================================================== -# definition des differentes sources qui seront dans le bloc SOURCES -#------------------------------------------------------------------- - - - -SOURCE = OPER ( nom = "SOURCE", - op = None, - repetable = 'n', - UIinfo = { "groupes" : ( "2) Proprietes", ) }, - ang = "source definition", - fr = u"définition d'une source", - sd_prod = source, -# regles = (UN_PARMI('STRANDED_INDUCTOR','HPORT','EPORT'), # choix d'un type de source -# UN_PARMI('WAVEFORM_CONSTANT','WAVEFORM_SINUS'), # choix d'une forme de source - - -#---------------------------------------------------------- -# sous bloc niveau 1 : stranded inductor source -##--------------------------------------------------------- - Type=SIMP(statut='o', - typ='TXM', - into=("STRANDED_INDUCTOR", "HPORT", "EPORT"), - ang = "Source type", - fr = u"Type de source", - ), - - STRANDED_INDUCTOR_properties = BLOC (condition="Type=='STRANDED_INDUCTOR'", - STRANDED_INDUCTOR = FACT(statut='o', - ang="Stranded inductor source", - fr=u"source de type inducteur bobiné", - NTURNS = SIMP (statut="o", - typ="I", - defaut=1, - ang="number of turns in the inductor", - fr= u"nombre de tours dans l'inducteur bobiné", - ), - TYPE = SIMP (statut="o", - typ="TXM", - defaut="CURRENT", - into=("CURRENT",), - fr= u"source de type courant", - ang="current source type", - ), - ), - ),# FIN de FACT STRANDED_INDUCTOR - HPORT_properties = BLOC (condition="Type=='HPORT'", - HPORT = FACT(statut='o', - ang="Magnetic port source", - fr=u"source de type port magnétique", - TYPE = SIMP (statut="o", - typ="TXM", - into=("VOLTAGE","CURRENT"), - fr= u"source de type tension ou courant", - ang="voltage or current source type", - ), - ), - ),# FIN de FACT HPORT - EPORT_properties = BLOC (condition="Type=='EPORT'", - EPORT = FACT(statut='o', - ang="Electric port source", - fr=u"source de type port électrique", - TYPE = SIMP (statut="o", - typ="TXM", - into=("VOLTAGE","CURRENT"), - fr= u"source de type tension ou courant", - ang="voltage or current source type", - ), - ), - ),# FIN de FACT EPORT - - Signal=SIMP(statut='o', - typ='TXM', - into=("WAVEFORM_CONSTANT", "WAVEFORM_SINUS"), - ang = "Signal type, i.e., source evolution shape", - fr = u"Type de signal, i.e., forme de la source", - ), - WAVEFORM_CONSTANT_properties = BLOC (condition="Signal=='WAVEFORM_CONSTANT'", - WAVEFORM_CONSTANT = FACT(statut='o', - ang="constant source", - fr=u"source constante", - AMPLITUDE = SIMP (statut="o", - typ="R", - defaut=1, - ang = "enter the source magnitude value, in A or V units", - fr = u"saisir la valeur de l'amplitude de la source, en unités A ou V", - ), - ), - ),# FIN de FACT WAVEFORM_CONSTANT - - WAVEFORM_SINUS_properties = BLOC (condition="Signal=='WAVEFORM_SINUS'", - WAVEFORM_SINUS = FACT(statut='o', - ang="sinus variation source", - fr=u"source variant avec une forme sinusoïdale, définie par son amplitude, sa fréquence et sa phase", - AMPLITUDE = SIMP (statut="o", - typ="R", - defaut=1, - ang = "enter the source magnitude value, in A or V units", - fr = u"saisir la valeur de l'amplitude de la source, en unités A ou V", - ), - FREQUENCY = SIMP (statut="o", - typ="R", - defaut=0.0, - ang = "enter the source frequency value, in Hz units", - fr = u"saisir la valeur de la fréquence de la source, en Hz", - ), - PHASE = SIMP (statut="o", - typ="R", - defaut=0.0, - ang = "enter the source phase value, in degrees units", - fr = u"saisir la valeur de la phase de la source, en degrés", - ), - ), - ),# FIN de FACT WAVEFORM_SINUS - - -)# Fin OPER SOURCE - - -STRANDED_INDUCTOR_GEOMETRY=OPER(nom="STRANDED_INDUCTOR_GEOMETRY", - op=None, - repetable = 'n', - sd_prod=stranded_inductor_geometry, - UIinfo = { "groupes" : ( "2) Proprietes", ) }, - ang = "Geometry properties (shape, direction, etc.) for this stranded inductor", - fr = u"Propriétés géométriques de cet inducteur bobiné, e.g., forme, direction, sens", - - Forme=SIMP(statut='o', typ="TXM", into=("Droit", "Circulaire"), - ang = "Stranded inductor shape. Straight or circular.", - fr = u"Forme de l'inducteur bobiné (complet ou morceau) : droit ou circulaire.", - ), - Propriete= BLOC (condition="Forme=='Circulaire'", - Centre=SIMP(statut='o',typ='R',min=3,max=3, - ang = "Circular stranded inductor rotation center (cartesian coordinates).", - fr = u"Centre de rotation, en coordonnées cartésiennes, de l'inducteur bobiné (complet ou morceau) circulaire.", - ), - ), - Direction=SIMP(statut='o',typ='R',min=3,max=3, - ang = "Stranded inductor direction (or rotation) axis for the straight (circular) inductor (cartesian coordinates).", - fr = u"Axe indiquant la direction de l'inducteur bobiné droit, ou l'axe de rotation (support : Centre) de l'inducteur circulaire, en coordonnées cartésiennes.", - ), - Section=SIMP(statut='o', typ='R', - ang = "Stranded inductor section (m^2).", - fr = u"Section de l'inducteur bobiné, en m^2.", - ), -) - -#========================================================= -# création d'une macro pour traiter les INCLUDE -# -#---------------------------------------------------------- - -INCLUDE = MACRO ( nom = "INCLUDE", - op = None, - UIinfo = { "groupes" : ( "3) Bibliotheque", ) }, - sd_prod = opsCarmel.INCLUDE, - op_init = opsCarmel.INCLUDE_context, - fichier_ini = 1, - ang = "Used in order to add external material, source, etc. libraries to the study.", - fr = u"Permet d'utiliser des bibliothèques de matériaux, sources, etc., dans l'étude.", - - FileName = SIMP ( statut = "o", - typ = ('Fichier', 'comm Files (*.comm);;All Files (*)',), - fr = u"Emplacement du fichier (chemin absolu ou relatif) contenant la bibliothèque des matériaux, etc.", - ang = "material library file (full or relative path)", - ), - - ) # Fin MACRO - -MESHGROUP = OPER (nom = "MESHGROUP", - op = None, - repetable = 'n', - UIinfo= {"groupes":("4) Maillage",)}, - fr= u"attribution d'un matériau ou d'une source à un groupe du maillage", - ang = "mesh group association to material or source", - sd_prod= grmaille, - regles =( - EXCLUS ('MATERIAL','SOURCE'), - ), - -# ---------------------------------------------------------- -# le mot cle SIMP doit etre facultatif sinon la recuperation -# des groupes de mailles sous SALOME ne fonctionne pas car -# le concept ne peut pas etre nomme car non valide -#----------------------------------------------------------- - Domaine = SIMP (statut="f", - typ=(grmaille, 'TXM'), - defaut="default", - ang="Domain used with stranded inductors or topological holes.", - fr =u"Domaine utilisé par les inducteurs bobinés ou les trous topologiques.", - ), - - MATERIAL = SIMP (statut="f", - typ=(material), - ang="name of the linked real or imaginary material", - fr =u"nom du matériau réel ou imaginaire associé", - ), - SOURCE = SIMP (statut="f", - typ=(source,), - ang="name of the linked source", - fr =u"nom de la source associée", - ), - STRANDED_INDUCTOR_GEOMETRY = SIMP ( statut="f", - typ=(stranded_inductor_geometry), - ang="name of the linked stranded inductor geometry", - fr =u"nom de la géométrie d'inducteur bobiné associée", - ) - ) - -# -------------------------------------------------- -# definition de macro-groupe de mailles -# il est associe a un materiau, source ou inducteur bobiné en morceaux -#--------------------------------------------------- - -MACRO_GROUPE = OPER (nom="MACRO_GROUPE", - op=None, - repetable='n', - sd_prod=macro_groupe, - UIinfo = { "groupes" : ( "4) Maillage", ) }, - fr=u"Macro-groupe = liste de groupes de maillage, e.g., inducteur bobiné en morceaux.", - ang=u"Macro-groupe = liste of mesh groups, e.g., stranded inductor defined as several parts.", - regles =( - EXCLUS ('MATERIAL','SOURCE'), - ), - Domaine = SIMP (statut='f', - typ=(grmaille, 'TXM'), - defaut="default", - ang="Domain used with stranded inductors or topological holes.", - fr =u"Domaine utilisé par les inducteurs bobinés ou les trous topologiques.", - ), - - MATERIAL = SIMP (statut="f", - typ=(material,), - ang="name of the linked real or imaginary material", - fr =u"nom du matériau réel ou imaginaire associé", - ), - SOURCE = SIMP (statut="f", - typ=(source,), - ang="name of the linked source", - fr =u"nom de la source associée", - ), - LISTE_MESHGROUP=SIMP(statut='f',# facultatif pour l'acquisition automatique des groupes du maillage - typ=(grmaille,), - min=1,max=100, - ang="Ordered list of associated mesh groups, e.g., stranded inductor parts or topological hole parts.", - fr =u"Liste ordonnée de groupes de maillage associés entre eux, e.g., morceaux d'un inducteur bobiné ou d'un trou topologique.", - ), -) # Fin OPER diff --git a/Carmel3D/__init__.py b/Carmel3D/__init__.py deleted file mode 100644 index 40a96afc..00000000 --- a/Carmel3D/__init__.py +++ /dev/null @@ -1 +0,0 @@ -# -*- coding: utf-8 -*- diff --git a/Carmel3D/ajoutGroupe.py b/Carmel3D/ajoutGroupe.py deleted file mode 100644 index 7179c9e3..00000000 --- a/Carmel3D/ajoutGroupe.py +++ /dev/null @@ -1,203 +0,0 @@ -# -*- coding: iso-8859-1 -*- - -import re # module interne utilisé pour vérifier la validité du nom du maillage - -concept_re=re.compile(r'[a-zA-Z_]\w*$') # nom de maillage valide s'il correspond à un identifiant (variable) Python possible. Basé sur Ihm/I_Etape.py:nomme_sd, qui fait foi - -def handleAjoutGroupSansFiltre(editor,listeGroup): - """code_Carmel temporel : obtention des groupes de maille du maillage selectionne dans Salome - Les groupes de mailles ne sont pas filtrés. - La creation du MESH_GROUPE n'est donc pas typé. - ATTENTION! Le nom devenant un concept, i.e. une variable Python, certains signes sont interdits dans le nom du groupe, - e.g. les signes moins (-), plus (+), etc. Une erreur est retournee en ce cas. - """ - # retourne le dernier element du JdC, ou None si le JdC est vide, afin de savoir a quelle place ajouter les MESH_GROUPE (en dernier) - debug = True - try: - dernier=editor.tree.racine.children[-1] - except: - dernier=None - for groupe in listeGroup: # parcours de la liste de tous les groupes de maille trouves (volumiques et les autres), puis ecriture du MESHGROUP systématique sans analyse de nom multiple - if debug: print 'groupe=', groupe - if not concept_re.match(groupe): # Le nom du groupe de maillage doit etre un identificateur Python - raise ValueError, "Ce nom de groupe ("+groupe+") ne peut pas etre utilise car il ne peut pas servir de concept a cause de caracteres interdits, e.g. signes moins (-), plus (+), etc." - try: # test de conformite du nom pour un concept, i.e. une variable Python - #exec(groupe+'=None') # le test consiste a tenter de creer une variable, initialisee a None, a partir du nom, e.g. toto=None est bon mais toto-foo=None ne fonctionne pas. - # creation du groupe MESH_GROUPE - if dernier != None: - new_node = dernier.append_brother("MESHGROUP",'after') - else: - new_node=editor.tree.racine.append_child("MESHGROUP",pos='first') - test,mess = new_node.item.nomme_sd(groupe) # precision du nom (de concept) du groupe - if debug: print u"ce nom de groupe ("+groupe+") est utilise..." - dernier=new_node # mise a jour du dernier noeud du JdC, afin de rajouter les autres MESH_GROUPE eventuels a sa suite - except: - raise ValueError, "Ce nom de groupe ("+groupe+") pose un probleme inconnu" - -def handleAjoutGroupAvecFiltre(editor,listeGroup): - """CARMEL3D : obtention des groupes de maille du maillage selectionne dans Salome - Les groupes de mailles sont filtres en utilisant une liste des prefixes autorises pour code Code_Carmel3D, - i.e. un nom de groupe de mailles est DIEL_toto_foo par exemple, qui deviendra toto_foo. - La creation du MESH_GROUPE est type (materiau ou source), d'après le prefixe. - ATTENTION! Le nom devenant un concept, i.e. une variable Python, certains signes sont interdits dans le nom du groupe, - e.g. les signes moins (-), plus (+), etc. Une erreur est retournee en ce cas. - """ - from string import join - debug = False #True - listePrefixesMateriaux = ('DIEL', 'NOCOND','COND', 'ZS', 'ZJ', 'NILMAT') # liste des prefixes pour les materiaux - listePrefixesSourcesHorsInducteur = ('EPORT', 'HPORT') # liste des prefixes pour les sources - listePrefixesInducteurBobine = ('CURRENT', ) # listes des prefixes autorises pour definir la geometrie d'un inducteur bobiné complet ou en morceaux - listePrefixesTrous = ('TOPO', ) # listes des prefixes autorises pour definir la geometrie d'un trou complet ou en morceaux - listePrefixesBBK = ('BBK', ) # listes des prefixes autorises pour definir le groupe d'éléments servant de boîte englobante dans laquelle est calculée K (inducteur bobiné ou topo). - listePrefixes = listePrefixesMateriaux + listePrefixesSourcesHorsInducteur +listePrefixesInducteurBobine + listePrefixesTrous + listePrefixesBBK # liste de tous les prefixes autorises - listePrefixesGroupesMultiples = ('CURRENT', 'TOPO' ) # listes des prefixes autorises pour groupes multiples, i.e. plusieurs groupes de mailles associes en une seule caracteistique materiau ou source - if debug: - print "listePrefixes=", listePrefixes - print "listePrefixesGroupesMultiples=", listePrefixesGroupesMultiples - sep = '_' # separateur entre le prefixe et le nom reel du groupe (qui peut lui aussi contenir ce separateur) - dictGroupesMultiples = {} # dictionnaire contenant les noms reels possibles de groupes multiples et leur occurence dans la liste, i.e. 1 par defaut et > 1 pour une groupe multiple, e.g. pour un inducteur bobine en plusieurs morceaux CURRENT_toto_1, CURRENT_toto_2, ce dictionnaire contiendra 'toto':2 - for groupe in listeGroup: - partiesGroupe = groupe.split(sep) # parties du nom, separees initialement par le separateur du prefixe, e.g. 'CURRENT_toto_foo' devient ['CURRENT','toto','foo'] et 'toto' devient ['toto'] - prefix = partiesGroupe[0] # prefixe possible de ce nom, ou nom lui-meme - if len(partiesGroupe) >= 3 and prefix in listePrefixesGroupesMultiples: # prefixe existant et autorise - nomGroupeMultiple = partiesGroupe[1] # nom possible d'un groupe multiple - if dictGroupesMultiples.has_key(nomGroupeMultiple): # comptage du nombre d'occurrences de ce nom de groupe multiple possible - dictGroupesMultiples[nomGroupeMultiple]['nombre'] += 1 - dictGroupesMultiples[nomGroupeMultiple]['membres'].append(join(partiesGroupe[1:], sep)) - else: - dictGroupesMultiples[nomGroupeMultiple] = {'type': prefix,'nombre':1, 'membres':[join(partiesGroupe[1:], sep)]} - for groupe in dictGroupesMultiples.keys(): # recherche de tous les groupes multiples. Boucle ignorée si aucun groupe multiple. - dictGroupesMultiples[groupe]['membres'].sort() # tri alphabétique des membres du groupe multiple, qui est l'ordre lu par gendof.exe/MED (ordre lexicographique). - dictGroupesMultiples[groupe]['membres'] = tuple(dictGroupesMultiples[groupe]['membres']) # transformation en tuple, qui est le format attendu par le catalogue (LISTE_MESHGROUP) - if debug: - print "dictGroupesMultiples=", dictGroupesMultiples - # retourne le dernier element du JdC, ou None si le JdC est vide, afin de savoir a quelle place ajouter les MESH_GROUPE (en dernier) - try: - dernier=editor.tree.racine.children[-1] - except: - dernier=None - for groupe in listeGroup: # parcours de la liste de tous les groupes de maille trouves (volumiques et les autres), puis ecriture du MESHGROUP systématique sans analyse de nom multiple - if debug: print 'groupe=', groupe - partiesGroupe = groupe.split(sep) # parties du nom, separees initialement par le separateur du prefixe, e.g. 'CURRENT_toto_foo' devient ['CURRENT','toto','foo'] et 'toto' devient ['toto'] - if len(partiesGroupe) == 1: # pas de prefixe - print u"ERREUR: ce nom de groupe ("+groupe+") ne peut pas etre utilise car il n'a pas de prefixe" - elif len(partiesGroupe) >= 2 and partiesGroupe[0] in listePrefixes: # prefixe existant et autorise - prefix = partiesGroupe[0] # prefixe possible de ce nom, ou nom lui-meme - nom = partiesGroupe[1] # nom du groupe ou du macro-groupe si défini. - nomReel = join(partiesGroupe[1:], sep) # reconstruction du nom reel, i.e. sans le prefixe, pour la plupart des groupes - if prefix in listePrefixesBBK: nomReel = groupe # pour la boite englobante, il faut le nom avec préfixe - if not concept_re.match(nomReel): # Le nom du groupe de maillage doit etre un identificateur Python - raise ValueError, "Ce nom de groupe ("+nomReel+") ne peut pas etre utilise car il ne peut pas servir de concept a cause de caracteres interdits, e.g. signes moins (-), plus (+), etc." - try: # test de conformite du nom pour un concept, i.e. une variable Python - #exec(nomReel+'=None') # le test consiste a tenter de creer une variable, initialisee a None, a partir du nom, e.g. toto=None est bon mais toto-foo=None ne fonctionne pas. - # creation du groupe MESH_GROUPE - if dernier != None: - new_node = dernier.append_brother("MESHGROUP",'after') - else: - new_node=editor.tree.racine.append_child("MESHGROUP",pos='first') - test,mess = new_node.item.nomme_sd(nomReel) # precision du nom (de concept) du groupe - if debug: print u"ce nom de groupe ("+nomReel+") est utilise..." - if prefix in listePrefixesMateriaux: # ce groupe est associe a un materiau - new_node.append_child('MATERIAL') # on rajoute la propriete de materiau, qu'il suffit d'associer ensuite a la liste des materiaux presents - if debug: print u" et c'est un materiau." - elif prefix in listePrefixesSourcesHorsInducteur: # ce groupe est associe a une source - new_node.append_child('SOURCE') # on rajoute la propriete de la source, qu'il suffit d'associer ensuite a la liste des sources presentes - if debug: print u" et c'est une source." - elif prefix in listePrefixesInducteurBobine: # ce groupe est associe a une source - new_node.append_child('STRANDED_INDUCTOR_GEOMETRY') # on rajoute la propriete de géométrie de l'inducteur bobiné - if debug: print u" et c'est un inducteur bobine dont on definit la geometrie." - if nom not in dictGroupesMultiples.keys(): # il ne fait pas partie d'un macro-groupe. La source est définie ici, ainsi que le domaine. - new_node.append_child('SOURCE') # on rajoute la propriete de la source, qu'il suffit d'associer ensuite a la liste des sources presentes - new_node.append_child('Domaine') # on rajoute la propriete du domaine (default automatique), qu'il suffit d'associer ensuite a la liste des domaines présents - if debug: print u" et c'est une source en un seul morceau." - else: # ce cas ne devrait pas se produire - pass - dernier=new_node # mise a jour du dernier noeud du JdC, afin de rajouter les autres MESH_GROUPE eventuels a sa suite - except: - raise ValueError, "Ce nom de groupe ("+nomReel+") pose un probleme inconnu" - #print u"ERREUR: ce nom de groupe ("+nomReel+") ne peut pas etre utilise car il ne peut pas servir de concept a cause de caractères interdits, e.g. signes moins (-), plus (+), etc." - else: # prefixe existant mais non autorise - print u"ERREUR: ce nom de groupe ("+groupe+") ne peut pas etre utilise car son prefixe ("+partiesGroupe[0]+") n'est pas dans la liste autorisee "+str(listePrefixes) - if len(dictGroupesMultiples) > 0: # on a des groupes à nom multiples, e.g., inducteur bobiné en morceaux. - for groupe, contenu in dictGroupesMultiples.iteritems(): # parcours de la liste de tous les groupes de maille trouves (volumiques et les autres), et sélection des groupes à nom multiple - if debug: print 'groupe, contenu=', groupe, contenu - nomReel = groupe - prefix = contenu['type'] - try: # test de conformite du nom pour un concept, i.e. une variable Python - exec(nomReel+'=None') # le test consiste a tenter de creer une variable, initialisee a None, a partir du nom, e.g. toto=None est bon mais toto-foo=None ne fonctionne pas. - # creation du groupe MACRO_GROUPE - if dernier != None: - new_node = dernier.append_brother("MACRO_GROUPE",'after') - else: - new_node=editor.tree.racine.append_child("MACRO_GROUPE",pos='first') - test,mess = new_node.item.nomme_sd(nomReel) # precision du nom (de concept) du groupe - if debug: print u"ce nom de groupe ("+nomReel+") est utilise..." - if debug: print u" et on ajoute la liste LISTE_MESHGROUP." - node_list=new_node.append_child('LISTE_MESHGROUP') # Ajout de la liste des membres du groupe multiple - if debug: - print 'Liste possible pour LISTE_MESHGROUP :' - print '_____________________' - print node_list.item.get_liste_possible(()) - print '_____________________' - print dir(node_list.item) - listeNom=node_list.item.get_sd_avant_du_bon_type() - listeObjet=[] - for nom in listeNom: - if nom in dictGroupesMultiples[groupe]['membres']: - #--> transformation du nom en objet - obj,valide=node_list.item.eval_valeur(nom) - listeObjet.append(obj) - node_list.item.set_valeur(listeObjet) - node_list.affichePanneau() - if prefix in listePrefixesMateriaux: # ce groupe est associe a un materiau - new_node.append_child('MATERIAL') # on rajoute la propriete de materiau, qu'il suffit d'associer ensuite a la liste des materiaux presents - if debug: print u" et c'est un materiau." - elif prefix in listePrefixesSourcesHorsInducteur: # ce groupe est associe a une source - new_node.append_child('SOURCE') # on rajoute la propriete de la source, qu'il suffit d'associer ensuite a la liste des sources presentes - if debug: print u" et c'est une source hors inducteur." - elif prefix in listePrefixesInducteurBobine: # ce groupe est associe a une source - new_node.append_child('SOURCE') # on rajoute la propriete de la source, qu'il suffit d'associer ensuite a la liste des sources presentes - new_node.append_child('Domaine') # on rajoute la propriete du domaine (default automatique), qu'il suffit d'associer ensuite a la liste des domaines présents - if debug: print u" et c'est une source inducteur." - elif prefix in listePrefixesTrous: # ce groupe est associe a un trou - new_node.append_child('Domaine') # on rajoute la propriete du domaine (default automatique), qu'il suffit d'associer ensuite a la liste des domaines présents - if debug: print u" et c'est un trou." - else: # ce cas ne devrait pas se produire - pass - dernier=new_node # mise a jour du dernier noeud du JdC, afin de rajouter les autres MESH_GROUPE eventuels a sa suite - except: - print u"ERREUR: ce nom de groupe ("+nomReel+") ne peut pas etre utilise car il ne peut pas servir de concept a cause de caractères interdits, e.g. signes moins (-), plus (+), etc." - -def handleAjoutGroupFiltre(editor,listeGroup): - """CARMEL3D : obtention des groupes de maille du maillage selectionne dans Salome - Les groupes de mailles sont filtres en utilisant une liste des prefixes autorises pour code Code_Carmel3D, - i.e. un nom de groupe de mailles est DIEL_toto_foo par exemple, qui deviendra toto_foo. - La creation du MESH_GROUPE est type (materiau ou source), d'après le prefixe. - ATTENTION! Le nom devenant un concept, i.e. une variable Python, certains signes sont interdits dans le nom du groupe, - e.g. les signes moins (-), plus (+), etc. Une erreur est retournee en ce cas. - """ - from string import join - debug = True - #print 'DEBUG listeGroup manuel' # Il faut aussi commenter la ligne Msg,listeGroup=self.ChercheGrpMailleInSalome() dans la routine ChercheGrpMaille de qtEficas.py - #listeGroup = ['DIEL_air', 'COND_plaque', 'CURRENT_bobine' ] # cas-test plaque Rodger avec DIEL_ - #listeGroup = ['NOCOND_air', 'COND_plaque', 'CURRENT_bobine' ] # cas-test plaque Rodger - #listeGroup = ['DIEL_air', 'COND_plaque', 'NOCOND_noyau', 'CURRENT_bobine_1', 'CURRENT_bobine_2', 'CURRENT_bobine_3' ] - #listeGroup = ['DIEL_air', 'COND_plaque', 'NOCOND_noyau', 'CURRENT_bobine' ] - #listeGroup = ['BBK_bobine', 'DIEL_air', 'COND_plaque', 'NOCOND_noyau', 'CURRENT_bobine' ] # avec BBK - #listeGroup = ['EPORT+_dom', 'EPORT-_dom', 'H', 'COND_cyl', 'EPORT_dom'] # cas-test CSS_Tempimpo - #listeGroup= ['BBK_spire', 'CURRENT_spire_4', 'NOCOND_air', 'CURRENT_spire_3', 'CURRENT_spire_1', 'CURRENT_spire_2'] # cas-test spire_dans l'air en 4 morceaux - #listeGroup= ['BBK_bobine', 'CURRENT_ind_2', 'DIEL_air', 'CURRENT_ind_8', 'CURRENT_ind_6', 'CURRENT_ind_1', 'CURRENT_ind_3', 'CURRENT_ind_7', 'CURRENT_ind_5', 'CURRENT_ind_4', 'BBK_topo', 'COND_plaque', 'TOPO_trou_1', 'TOPO_trou_3', 'TOPO_trou_2', 'TOPO_trou_8', 'TOPO_trou_4', 'TOPO_trou_7', 'TOPO_trou_5', 'TOPO_trou_6'] # cas-test T.E.A.M. Workshop 7 - if debug: - print "listeGroup=", listeGroup - version_catalogue = editor.CONFIGURATION.appli.readercata.version_code # détermination si le catalogue est fréquentiel ou temporel, d'après la deuxième entrée de la liste catalogues dans prefs_CARMEL3D.py - if debug: - print "Version catalogue=", version_catalogue - type_code = version_catalogue.split(' ')[0] # on garde le premier mot de la version du catalogue : 'frequentiel' ou 'temporel' - if debug: - print "Type de code=", type_code - if type_code not in ('frequentiel', 'temporel'): # test de cohérence du type de code - raise ValueError("Ce catalogue n'est ni frequentiel ni temporel") - if type_code == 'frequentiel': - handleAjoutGroupAvecFiltre(editor, listeGroup) - if type_code == 'temporel': - handleAjoutGroupSansFiltre(editor, listeGroup) diff --git a/Carmel3D/configuration_CARMEL3D.py b/Carmel3D/configuration_CARMEL3D.py deleted file mode 100644 index e5597115..00000000 --- a/Carmel3D/configuration_CARMEL3D.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# 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. -# -# 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 -# -""" - Ce module sert pour charger les paramètres de configuration d'EFICAS -""" -# Modules Python -import configuration -import os - - -class CONFIG(configuration.CONFIG_BASE): - - #----------------------------------- - def __init__(self,appli,repIni): - #----------------------------------- - - self.labels_user=['exec_acrobat', 'catalogues','savedir'] - self.labels_eficas=['path_doc','exec_acrobat','lang','rep_cata','catalogues'] - - self.INSTALLDIR =os.path.dirname(__file__) - configuration.CONFIG_BASE.__init__(self,appli,repIni) - - -def make_config(appli,rep): - return CONFIG(appli,rep) - diff --git a/Carmel3D/opsCarmel.py b/Carmel3D/opsCarmel.py deleted file mode 100644 index 8270d474..00000000 --- a/Carmel3D/opsCarmel.py +++ /dev/null @@ -1,38 +0,0 @@ -# -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# 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. -# -# 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 -# - -def INCLUDE(self,FileName,**args): - """ - Fonction sd_prod pour la macro INCLUDE - """ - if hasattr(self,'change_fichier'): - delattr(self,'change_fichier') - delattr(self,'fichier_ini') - - self.make_includeCarmel(fichier=FileName) - -def INCLUDE_context(self,d): - """ - Fonction op_init pour macro INCLUDE - """ - for k,v in self.g_context.items(): - d[k]=v - - diff --git a/Carmel3D/prefs.py b/Carmel3D/prefs.py deleted file mode 100644 index a69b761b..00000000 --- a/Carmel3D/prefs.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (C) 2007-2013 EDF R&D -# -# 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. -# -# 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 -# -code="CARMEL3D" -import sys, os -if os.path.dirname(os.path.abspath(__file__)) not in sys.path : - sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/Carmel3D/prefs_CARMEL3D.py b/Carmel3D/prefs_CARMEL3D.py deleted file mode 100644 index 41e26ee1..00000000 --- a/Carmel3D/prefs_CARMEL3D.py +++ /dev/null @@ -1,39 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# 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. -# -# 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 -# - -import os - -# repIni sert a localiser le fichier editeur.ini -repIni=os.path.dirname(os.path.abspath(__file__)) - -# lang indique la langue utilisee pour les chaines d'aide : fr ou ang -lang='fr' - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -encoding='utf-8' - -# Choix des catalogues -# format du Tuple (code,version,catalogue,formatOut, finit par defaut Ăventuellement) -catalogues = ( - -# catalogue avec generation Phys et materiaux reels - ('CARMEL3D','temporel (dev)',os.path.join(repIni,'Carmel3D_Cata_temporel_V0.py'),'CARMEL3DTV0','defaut'), - ('CARMEL3D','frequentiel',os.path.join(repIni,'Carmel3D_Cata_frequentiel_V1.py'),'CARMEL3DFV0','defaut') -) diff --git a/Carmel3D/properties.py b/Carmel3D/properties.py deleted file mode 100644 index 3db8254b..00000000 --- a/Carmel3D/properties.py +++ /dev/null @@ -1,25 +0,0 @@ -#@ MODIF properties Accas DATE 02/06/2010 AUTEUR aster M.ADMINISTRATEUR -# CONFIGURATION MANAGEMENT OF EDF VERSION -# RESPONSABLE D6BHHHH J-P.LEFEBVRE -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR -# DE LA VERSION DU CODE_ASTER ASSOCIE -#---------------------------------------------------------------------- -version = "10.1.27" -date = "02/06/2010" -exploit = False diff --git a/Carmel3D/style.py b/Carmel3D/style.py deleted file mode 100644 index d4855725..00000000 --- a/Carmel3D/style.py +++ /dev/null @@ -1,66 +0,0 @@ -# -*- coding: utf-8 -*- -""" -Pour modifier le style d'EFICAS il faut ajouter un fichier style.py qui contiendra les -informations sur le style voulu dans son repertoire Eficas_install. - -La methode la plus simple consiste à modifier directement les attributs de l'objet style dans le -fichier style.py d'Eficas_install. Exemple:: - - style.background='yellow' - -pour modifier la couleur du background. - -Il existe une autre méthode qui peut être utilisée quand on veut modifier plusieurs propriétés à la fois. - -Le fichier style.py doit définir une nouvelle classe qui dérive de la classe de base STYLE avec des attributs -de classe qui définiront le nouveau style (par exemple, si on veut modifier le background):: - - class STYLE(STYLE): - background='yellow' - -Il faut ensuite instancier cette classe, dans ce meme fichier, en donnant le nom style à l'objet cree:: - - style=STYLE() - -Tous les attributs de classe possibles sont visibles dans le module Editeur/basestyle.py:: - - background='gray90' - foreground='black' - entry_background='white' - list_background='white' - list_select_background='#00008b' - list_select_foreground='grey' - tooltip_background="yellow" - - standard = ("Helvetica",12) - standard_italique = ("Helvetica",12,'italic') - standard_gras = ("Helvetica",12,'bold') - standard_gras_souligne = ("Helvetica",12,'bold','underline') - - canvas = ('Helvetica',10) - canvas_italique = ('Helvetica',10,'italic') - canvas_gras = ("Helvetica",10,'bold') - canvas_gras_italique = ("Helvetica",12,'bold','italic') - - standard12 = ("Helvetica",14) - standard12_gras = ("Helvetica",14,'bold') - standard12_gras_italique = ( "Helvetica",14,'bold','italic') - - -Le fichier style.py contenu dans le répertoire Aster permet de spécifier des propriétés globales pour une installation. -Les modifications de style contenues dans ce fichier et dans le fichier style.py d'Eficas_install -sont prises en compte dans cet ordre. -""" - -p1=10 -p2=14 -f1="Helvetica" - -style.background='gray90' -style.foreground='black' -style.standard = (f1,p1) -style.standard_italique = (f1,p1,'italic') -style.standard_gras = (f1,p1,'bold') -style.canvas_italique = (f1,p1,'italic') -style.canvas_gras = (f1,p1,'bold') -style.statusfont = (f1,p2) diff --git a/Editeur/Eficas_utils.py b/Editeur/Eficas_utils.py index 89c601c5..dd5ac0cd 100644 --- a/Editeur/Eficas_utils.py +++ b/Editeur/Eficas_utils.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -27,7 +27,7 @@ import codecs,types from Extensions.i18n import tr -def substractList(liste1,liste2): +def substract_list(liste1,liste2): """ Enleve tous les elements de liste2 presents dans liste1 et retourne liste1 """ @@ -38,7 +38,7 @@ def substractList(liste1,liste2): pass return liste1 -def getRepUser(dir): +def get_rep_user(dir): """ Determine sur quelle plate-forme s'execute Eficas et recherche le repertoire de l'utilisateur /$home/Eficas_install @@ -92,7 +92,7 @@ def stripPath(pathAndFile): """ Return filename.ext if path/filename.ext is given """ return os.path.split(pathAndFile)[1] -def initRep_CataDev(fic_cata,rep_goal): +def init_rep_cata_dev(fic_cata,rep_goal): """ Initialise le repertoire des catalogues developpeurs (chemin d'acces donne dans le fichier eficas.ini cad : @@ -106,7 +106,7 @@ def initRep_CataDev(fic_cata,rep_goal): try : if not os.path.isdir(rep_goal) : os.mkdir(rep_goal) - #texte_entete = getEnteteCata(fic_cata) + #texte_entete = get_entete_cata(fic_cata) texte_entete="" # rep_goal doit contenir les catalogues du developpeur sous la forme *.capy # il faut creer le catalogue developpeur par concatenation de entete,declaration_concepts @@ -127,7 +127,7 @@ def initRep_CataDev(fic_cata,rep_goal): traceback.print_exc() print ( tr("Impossible de transferer les fichiers requis dans : %s", str(rep_goal))) -def getEnteteCata(fic_cata): +def get_entete_cata(fic_cata): """ Retrouve l'entete du catalogue """ l_lignes = open(fic_cata,'r').readlines() txt = '' diff --git a/Editeur/Objecttreeitem.py b/Editeur/Objecttreeitem.py index 7d419ca9..0d974573 100644 --- a/Editeur/Objecttreeitem.py +++ b/Editeur/Objecttreeitem.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -33,7 +33,7 @@ from six.moves.reprlib import Repr from copy import copy,deepcopy # import du chargeur de composants -from .comploader import makeObjecttreeitem +from .comploader import make_objecttreeitem from Ihm import CONNECTOR from Extensions.i18n import tr from Extensions.eficas_exception import EficasException @@ -65,29 +65,29 @@ class TreeItem(object): def __init__(self): """Constructor. Do whatever you need to do.""" - def getText(self): + def GetText(self): """Return text string to display.""" - def getLabelText(self): + def GetLabelText(self): """Return label text string to display in front of text (if any).""" expandable = None - def _isExpandable(self): + def _IsExpandable(self): """Do not override! Called by TreeNode.""" if self.expandable is None: - self.expandable = self.isExpandable() + self.expandable = self.IsExpandable() return self.expandable - def isExpandable(self): + def IsExpandable(self): """Return whether there are subitems.""" return 1 - def _getSubList(self): + def _GetSubList(self): """Do not override! Called by TreeNode.""" - if not self.isExpandable(): + if not self.IsExpandable(): return [] - sublist = self.getSubList() + sublist = self.GetSubList() if not sublist: self.expandable = 0 return sublist @@ -98,16 +98,16 @@ class TreeItem(object): def SetText(self, text): """Change the item's text (if it is editable).""" - def getIconName(self): + def GetIconName(self): """Return name of icon to be displayed normally.""" - def getSelectedIconName(self): + def GetSelectedIconName(self): """Return name of icon to be displayed when selected.""" - def getSubList(self): + def GetSubList(self): """Return list of items forming sublist.""" - def onDoubleClick(self): + def OnDoubleClick(self): """Called on a double-click on the item.""" class Delegate(object): @@ -115,11 +115,11 @@ class Delegate(object): self.object = delegate self.__cache = {} - def setDelegate(self, delegate): + def setdelegate(self, delegate): self.resetcache() self.object = delegate - def getDelegate(self): + def getdelegate(self): return self.object def __getattr__(self, name): @@ -143,7 +143,7 @@ class Delegate(object): class ObjectTreeItem(TreeItem,Delegate): - def __init__(self, appli, labeltext, object, setFunction=None): + def __init__(self, appli, labeltext, object, setfunction=None): self.labeltext = labeltext self.appli = appli # L'objet delegue est stocke dans l'attribut object @@ -156,7 +156,7 @@ class ObjectTreeItem(TreeItem,Delegate): # On cache l'objet initial (pour destruction eventuelle # ulterieure) self._object = object - self.setFunction = setFunction + self.setfunction = setfunction self.expandable = 1 self.sublist=[] self.init() @@ -182,11 +182,11 @@ class ObjectTreeItem(TreeItem,Delegate): object = self._object.copy() appli = copy(self.appli) labeltext = copy(self.labeltext) - fonction = deepcopy(self.setFunction) - item = makeObjecttreeitem(appli,labeltext,object,fonction) + fonction = deepcopy(self.setfunction) + item = make_objecttreeitem(appli,labeltext,object,fonction) return item - def isActif(self): + def isactif(self): if hasattr(self.object,'actif'): return self.object.actif else: @@ -199,33 +199,33 @@ class ObjectTreeItem(TreeItem,Delegate): """ pass - def getLabelText(self): + def GetLabelText(self): """ Retourne 3 valeurs : - le texte a afficher dans le noeud representant l'item - la fonte dans laquelle afficher ce texte - la couleur du texte """ # None --> fonte et couleur par defaut - return tr(self.labeltext),None,None + return self.labeltext,None,None - def getNature(self) : + def get_nature(self) : """ Retourne la nature de l'item et de l'objet """ return self.object.nature - def getRegles(self): + def get_regles(self): """ retourne les regles de l'objet pointe par self """ - return self.object.getRegles() + return self.object.get_regles() - def getListeMcPresents(self): + def get_liste_mc_presents(self): """ Retourne la liste des mots-cles fils de l'objet pointe par self """ - return self.object.listeMcPresents() + return self.object.liste_mc_presents() - def getVal(self): + def get_val(self): """ Retourne le nom de la valeur de l'objet pointe par self dans le cas ou celle-ci est un objet (ASSD) """ - return self.object.getVal() + return self.object.getval() def get_definition(self): """ @@ -233,45 +233,45 @@ class ObjectTreeItem(TreeItem,Delegate): """ return self.object.definition - def getListeMcOrdonnee(self,liste,dico): + def get_liste_mc_ordonnee(self,liste,dico): """ retourne la liste ordonnee (suivant le catalogue) brute des mots-cles d'une entite composee dont le chemin complet est donne sous forme d'une liste du type :ETAPE + MCFACT ou MCBLOC + ... il faut encore rearranger cette liste (certains mots-cles deja presents ne doivent plus etre proposes, regles ...)""" - return self.object.getListeMcOrdonnee(liste,dico) + return self.object.get_liste_mc_ordonnee(liste,dico) - def getListeMcOrdonneeBrute(self,liste,dico): + def get_liste_mc_ordonnee_brute(self,liste,dico): """ retourne la liste ordonnee (suivant le catalogue) BRUTE des mots-cles d'une entite composee dont le chemin complet est donne sous forme d'une liste du type :ETAPE + MCFACT ou MCBLOC + ... """ - return self.object.getListeMcOrdonneeBrute(liste,dico) + return self.object.get_liste_mc_ordonnee_brute(liste,dico) - def getGenealogie(self): + def get_genealogie(self): """ Retourne la liste des noms des ascendants (noms de MCSIMP,MCFACT,MCBLOC ou ETAPE) de l'objet pointe par self """ - return self.object.getGenealogie() + return self.object.get_genealogie() - def getIndexChild(self,nom_fils): + def get_index_child(self,nom_fils): """ Retourne l'index dans la liste des fils de self du nouveau fils de nom nom_fils Necessaire pour savoir a quelle position dans la liste des fils il faut ajouter le nouveau mot-cle """ - return self.object.getIndexChild(nom_fils) + return self.object.get_index_child(nom_fils) - def getIndexChild_old(self,nom_fils): + def get_index_child_old(self,nom_fils): """ Retourne l'index dans la liste des fils de self du nouveau fils de nom nom_fils Necessaire pour savoir a quelle position dans la liste des fils il faut ajouter le nouveau mot-cle """ - liste_noms_mc_ordonnee = self.getListeMcOrdonneeBrute(self.getGenealogie(),self.getJdc().cata_ordonne_dico) - liste_noms_mc_presents = self.object.listeMcPresents() + liste_noms_mc_ordonnee = self.get_liste_mc_ordonnee_brute(self.get_genealogie(),self.get_jdc().cata_ordonne_dico) + liste_noms_mc_presents = self.object.liste_mc_presents() l=[] for nom in liste_noms_mc_ordonnee: if nom in liste_noms_mc_presents or nom == nom_fils: @@ -279,48 +279,50 @@ class ObjectTreeItem(TreeItem,Delegate): # l contient les anciens mots-cles + le nouveau dans l'ordre return l.index(nom_fils) - def appendChild(self,name,pos=None): + def append_child(self,name,pos=None): """ Permet d'ajouter un item fils a self """ if pos == 'first': index = 0 elif pos == 'last': - index = len(self.listeMcPresents()) + index = len(self.liste_mc_presents()) elif type(pos) == int : # la position est fixee index = pos - #elif type(pos) == types.InstanceType: - elif type(pos) == object : + elif type(pos) == types.InstanceType: # pos est un item. Il faut inserer name apres pos - index = self.getIndex(pos) +1 - #elif type(name) == types.InstanceType: - elif type(name) == object : - index = self.getIndexChild(name.nom) + index = self.get_index(pos) +1 + elif type(name) == types.InstanceType: + index = self.get_index_child(name.nom) else: - index = self.getIndexChild(name) + index = self.get_index_child(name) return self.addobject(name,index) - def appendBrother(self,name,pos='after'): + def append_brother(self,name,pos='after'): """ Permet d'ajouter un frere a self par defaut on l'ajoute apres self """ - index = self._object.parent.getIndex(self.getObject()) + index = self._object.parent.get_index(self.getObject()) if pos == 'before': index = index elif pos == 'after': index = index +1 else: - print((tr("%d n'est pas un index valide pour appendBrother", pos))) + print((tr("%d n'est pas un index valide pour append_brother", pos))) return return self.parent.addobject(name,index) - def getCopieObjet(self): + def get_nom_etape(self): + """Retourne le nom de self """ + return self.object.get_nom_etape() + + def get_copie_objet(self): """ Retourne une copie de l'objet pointe par self """ return self.object.copy() - def getPosition(self): + def get_position(self): """ Retourne la valeur de l'attribut position de l'objet pointe par self """ definition = self.get_definition() try: @@ -328,79 +330,79 @@ class ObjectTreeItem(TreeItem,Delegate): except AttributeError: return 'local' - def getNom(self): + def get_nom(self): """ Retourne le nom de l'objet pointe par self """ return self.object.nom - def getJdc(self): + def get_jdc(self): """ Retourne le jdc auquel appartient l'objet pointe par self """ return self.object.jdc - def getValeur(self): + def get_valeur(self): """ Retourne la valeur de l'objet pointe par self """ return self.object.valeur - def getCr(self): + def get_cr(self): """ Retourne le compte-rendu CR de self """ return self.object.report() - def getObjetCommentarise(self): + def get_objet_commentarise(self): """ Cette methode retourne un objet commentarise representatif de self.object --> a surcharger par les differents items """ raise EficasException("MESSAGE AU DEVELOPPEUR : il faut \ - surcharger la methode getObjetCommentarise() \ + surcharger la methode get_objet_commentarise() \ pour la classe %s", self.__class__.__name__) - def isValid(self): + def isvalid(self): """ Retourne 1 si l'objet pointe par self est valide, 0 sinon""" - return self.object.isValid() + return self.object.isvalid() - def isCopiable(self): + def iscopiable(self): """ Retourne 1 si l'objet est copiable, 0 sinon Par defaut retourne 0 """ return 0 - def getMcPresents(self): + def get_mc_presents(self): """ Retourne le dictionnaire des mots-cles presents de l'objet pointe par self """ - return self.object.dictMcPresents() + return self.object.dict_mc_presents() - def verifConditionRegles(self,l_mc_presents): - return self.object.verifConditionRegles(l_mc_presents) + def verif_condition_regles(self,l_mc_presents): + return self.object.verif_condition_regles(l_mc_presents) - def getFr(self): + def get_fr(self): """ Retourne le fr de l'objet pointe par self """ try: - return self.object.getFr() + return self.object.get_fr() except: return "" - def getDocu(self): + def get_docu(self): """ Retourne la cle de doc de l'objet pointe par self """ - return self.object.getDocu() + return self.object.get_docu() - def setValeur(self,new_valeur): + def set_valeur(self,new_valeur): """ Remplace la valeur de l'objet pointe par self par new_valeur """ - return self.object.setValeur(new_valeur) + return self.object.set_valeur(new_valeur) - def getText(self): + def GetText(self): return myrepr.repr(self.object) - def getIconName(self): - if not self.isExpandable(): + def GetIconName(self): + if not self.IsExpandable(): return "python" def IsEditable(self): - return self.setFunction is not None + return self.setfunction is not None def SetText(self, text): try: value = eval(text) - self.setFunction(value) + self.setfunction(value) except: pass # Modif de ma part CCar : je ne comprend pas a quoi ca sert @@ -408,10 +410,10 @@ class ObjectTreeItem(TreeItem,Delegate): # else: # self.object = value - def isExpandable(self): + def IsExpandable(self): return 1 - def getSubList(self): + def GetSubList(self): keys = dir(self.object) sublist = [] for key in keys: @@ -419,7 +421,7 @@ class ObjectTreeItem(TreeItem,Delegate): value = getattr(self.object, key) except AttributeError: continue - item = makeObjecttreeitem( + item = make_objecttreeitem( self.appli, str(key) + " =", value, @@ -428,28 +430,27 @@ class ObjectTreeItem(TreeItem,Delegate): sublist.append(item) return sublist - # a piori inutile PN 06 11 17 - #def wait_fichier_init(self): + def wait_fichier_init(self): """ Retourne 1 si l'object pointe par self attend un fichier d'initialisation (ex: macros POURSUITE et INCLUDE de Code_Aster), 0 SINON """ - # return self.object.definition.fichier_ini + return self.object.definition.fichier_ini - def makeObjecttreeitem(self,appli,labeltext, object, setFunction=None): + def make_objecttreeitem(self,appli,labeltext, object, setfunction=None): """ Cette methode, globale pour les objets de type item, permet de construire et de retourner un objet de type item associe a l'object passe en argument. """ - return makeObjecttreeitem(appli,labeltext,object,setFunction) + return make_objecttreeitem(appli,labeltext,object,setfunction) #def __del__(self): # print "__del__",self class AtomicObjectTreeItem(ObjectTreeItem): - def isExpandable(self): + def IsExpandable(self): return 0 class SequenceTreeItem(ObjectTreeItem): - def isExpandable(self): + def IsExpandable(self): return len(self._object) > 0 def __len__(self) : @@ -458,40 +459,40 @@ class SequenceTreeItem(ObjectTreeItem): def keys(self): return list(range(len(self._object))) - def getIconName(self): - if self._object.isValid(): + def GetIconName(self): + if self._object.isvalid(): return "ast-green-los" - elif self._object.isOblig(): + elif self._object.isoblig(): return "ast-red-los" else: return "ast-yel-los" - def ajoutPossible(self): - return self._object.ajoutPossible() + def ajout_possible(self): + return self._object.ajout_possible() - def getIndex(self,child): + def get_index(self,child): """ Retourne le numero de child dans la liste des enfants de self """ - return self._object.getIndex(child.getObject()) + return self._object.get_index(child.getObject()) - def getText(self): + def GetText(self): return " " - def addItem(self,obj,pos): + def additem(self,obj,pos): self._object.insert(pos,obj) - item = self.makeObjecttreeitem(self.appli, obj.nom + ":", obj) + item = self.make_objecttreeitem(self.appli, obj.nom + ":", obj) return item - def suppItem(self,item): + def suppitem(self,item): try : self._object.remove(item.getObject()) # la liste peut etre retournee vide ! message = "Mot-clef " + item.getObject().nom + " supprime" - self.appli.afficheInfos(message) + self.appli.affiche_infos(message) return 1 except: return 0 - def getSubList(self): + def GetSubList(self): isublist=iter(self.sublist) liste=self._object.data iliste=iter(liste) @@ -506,9 +507,9 @@ class SequenceTreeItem(ObjectTreeItem): for obj in iliste: if obj is old_obj:break # nouvel objet : on cree un nouvel item - def setFunction(value, object=obj): + def setfunction(value, object=obj): object=value - it = self.makeObjecttreeitem(self.appli, obj.nom + " : ", obj, setFunction) + it = self.make_objecttreeitem(self.appli, obj.nom + " : ", obj, setfunction) self.sublist.append(it) if old_obj is None and obj is None:break if old_obj is obj: self.sublist.append(item) diff --git a/Editeur/TroisDPal.py b/Editeur/TroisDPal.py index 6d42efa0..2e79a801 100644 --- a/Editeur/TroisDPal.py +++ b/Editeur/TroisDPal.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -43,7 +43,7 @@ class TroisDPilote(object): if format in generator.plugins : # Le generateur existe on l'utilise g=generator.plugins[format]() - g.initJdc(self.node.getJdc()) + g.init_jdc(self.node.get_jdc()) texte=g.gener(self.node) else: print ("Le generateur n'a pas ete trouve") diff --git a/Editeur/__init__.py b/Editeur/__init__.py index b32d290b..74c8fed7 100644 --- a/Editeur/__init__.py +++ b/Editeur/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Editeur/analyse_catalogue.py b/Editeur/analyse_catalogue.py index c9974282..474593a4 100644 --- a/Editeur/analyse_catalogue.py +++ b/Editeur/analyse_catalogue.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -34,7 +34,7 @@ from Noyau.N_CR import CR from six.moves import range # -__Id__="$Id: analyseCatalogue.py,v 1.9.8.1.2.1.2.6 2014-01-23 09:14:44 pnoyret Exp $" +__Id__="$Id: analyse_catalogue.py,v 1.9.8.1.2.1.2.6 2014-01-23 09:14:44 pnoyret Exp $" __version__="$Name: $" # l_noms_commandes = ['OPER','PROC','MACRO','FORM'] @@ -42,20 +42,20 @@ l_noms_composes=['FACT','BLOC','NUPL','FORM'] l_noms_simples=['SIMP',] l_noms=l_noms_composes+l_noms_simples -def elimineCommentaires(text): +def elimine_commentaires(text): """ Elimine les lignes de commentaires dans text Attention : supprime sauvagement tous les caracteres entre # et le retour chariot ...""" comments = re.compile(r'#[^\n]*') return comments.sub(u'',text) -def chercheNom(text): +def cherche_nom(text): Whitespace = r'[ \f\t]*' Name = r'[a-zA-Z_]\w*' myexpr = '(u'+Name+')'+Whitespace+'='+Whitespace+'$' a=re.search(myexpr,text) return a.group(1) -def chercheArgs(text): +def cherche_args(text): text = text.strip() longueur = len(text) if text[0] != '(u': @@ -80,7 +80,7 @@ def chercheArgs(text): return text[1:i],'' class ENTITE(object): - def chercheEnfants(self): + def cherche_enfants(self): try : self.text = self.text.strip() liste = re.split(u'=',self.text,1) @@ -89,19 +89,19 @@ class ENTITE(object): reste=liste[1] reste = reste.strip() if reste[0:4] in l_noms : - nom_mc = chercheNom(arg1+'=') - arg_mc, self.text = chercheArgs(reste[4:]) - self.creeMc(nom_mc,arg_mc,reste[0:4]) + nom_mc = cherche_nom(arg1+'=') + arg_mc, self.text = cherche_args(reste[4:]) + self.cree_mc(nom_mc,arg_mc,reste[0:4]) else : self.text = reste - self.chercheEnfants() + self.cherche_enfants() else : # pas de = rencontre return except Exception as e: - self.cr.fatal(tr("Erreur rencontree dans rechercheEnfants : %s", e.__str())) + self.cr.fatal(tr("Erreur rencontree dans recherche_enfants : %s", e.__str())) - def creeMc(self,nom_mc,arg_mc,test): + def cree_mc(self,nom_mc,arg_mc,test): if test in l_noms_composes : mc = FACT_CATA(nom_mc,arg_mc,self) self.children.append(mc) @@ -111,7 +111,7 @@ class ENTITE(object): else : print (tr("Erreur dans la creation du mot-cle : %s", nom_mc) ) - def construitListeDico(self): + def construit_liste_dico(self): l=[] d={} if len(self.children)==0: @@ -136,8 +136,8 @@ class COMMANDE_CATA(ENTITE) : self.cr = CR() self.cr.debut = "Debut commande %s" %self.nom self.cr.fin = "Fin commande %s" %self.nom - self.chercheEnfants() - self.construitListeDico() + self.cherche_enfants() + self.construit_liste_dico() parent.cr.add(self.cr) def affiche(self): @@ -168,8 +168,8 @@ class FACT_CATA(ENTITE) : self.cr = CR() self.cr.debut = "Debut mot-cle facteur ou bloc %s" %self.nom self.cr.fin = "Fin mot-cle facteur ou bloc %s" %self.nom - self.chercheEnfants() - self.construitListeDico() + self.cherche_enfants() + self.construit_liste_dico() parent.cr.add(self.cr) def affiche(self,ind): @@ -187,11 +187,11 @@ class CATALOGUE_CATA(object): self.cr = CR() self.cr.debut = "Debut compte-rendu catalogue %s" %self.fichier self.cr.fin = "Fin compte-rendu catalogue %s" %self.fichier - self.ouvrirFichier() + self.ouvrir_fichier() self.liste_commandes=[] self.liste_textes_commandes=[] - def ouvrirFichier(self): + def ouvrir_fichier(self): try : f=open(self.fichier,'r') self.texte_complet=f.read() @@ -200,14 +200,14 @@ class CATALOGUE_CATA(object): print((tr("Impossible d'ouvrir le fichier : %s ", str(self.fichier)))) self.cr.fatal(tr("Impossible d'ouvrir le fichier : %s ", str(self.fichier))) - def constrListTxtCmd(self,text): - text = elimineCommentaires(text) + def constr_list_txt_cmd(self,text): + text = elimine_commentaires(text) pattern = '\) *;' liste=re.split(pattern,text) for i in range(0,len(liste)-1): self.liste_textes_commandes.append(liste[i]+')') - def analyseCommandeOld(self,text): + def analyse_commande_old(self,text): liste = re.split(u'OPER *\(u',text,1) if len(liste) < 2 : liste = re.split(u'PROC *\(u',text,1) @@ -220,16 +220,16 @@ class CATALOGUE_CATA(object): return debut = liste[0] fin = liste[1] - nom_cmd = chercheNom(debut) + nom_cmd = cherche_nom(debut) if nom_cmd == 'erreur !': print((tr("Erreur dans la recherche du nom de la commande : "), debut)) - args_cmd,toto = chercheArgs(u'(u'+fin) + args_cmd,toto = cherche_args(u'(u'+fin) if args_cmd == 'erreur !': print((tr("Erreur dans la recherche des args de la commande :") , debut)) cmd=COMMANDE_CATA(nom_cmd,args_cmd,self) self.liste_commandes.append(cmd) - def analyseCommande(self,text): + def analyse_commande(self,text): for nom_cmd in l_noms_commandes: liste = re.split(nom_cmd+' *\(u',text,1) if len(liste) == 2 : break @@ -241,18 +241,18 @@ class CATALOGUE_CATA(object): return debut = liste[0] fin = liste[1] - nom_cmd = chercheNom(debut) + nom_cmd = cherche_nom(debut) if nom_cmd == 'erreur !': print(( tr("Erreur dans la recherche du nom de la commande : "), debut)) - args_cmd,toto = chercheArgs(u'(u'+fin) + args_cmd,toto = cherche_args(u'(u'+fin) if args_cmd == 'erreur !': print(( tr("Erreur dans la recherche des args de la commande : "), debut)) print((tr(fin))) cmd=COMMANDE_CATA(nom_cmd,args_cmd,self) self.liste_commandes.append(cmd) - def analyseTexte(self,texte): - self.constrListTxtCmd(texte) + def analyse_texte(self,texte): + self.constr_list_txt_cmd(texte) try: self.parent.configure_barre(len(self.liste_textes_commandes)) except: @@ -262,16 +262,16 @@ class CATALOGUE_CATA(object): self.parent.update_barre() except: pass - self.analyseCommande(texte_commande) - self.construitListeDico() + self.analyse_commande(texte_commande) + self.construit_liste_dico() - def ecritLcmd(self): + def ecrit_lcmd(self): f=open(u'U:\\EFICAS\\Accas\\cata.txt','w') for cmd in self.liste_commandes : f.write(cmd.affiche()) f.close() - def construitListeDico(self): + def construit_liste_dico(self): l=[] d={} for cmd in self.liste_commandes: @@ -284,26 +284,26 @@ class CATALOGUE_CATA(object): """ retourne l'objet rapport du catalogue de commande """ return self.cr -def analyseCatalogue(parent,nom_cata): +def analyse_catalogue(parent,nom_cata): cata = CATALOGUE_CATA(parent,nom_cata) - cata.analyseTexte(cata.texte_complet) + cata.analyse_texte(cata.texte_complet) return cata -def analyseCatalogueCommande(parent,nom_cata): +def analyse_catalogue_commande(parent,nom_cata): cata = CATALOGUE_CATA(parent,nom_cata) - cata.analyseCommande(cata.texte_complet) - cata.construitListeDico() + cata.analyse_commande(cata.texte_complet) + cata.construit_liste_dico() return cata -def makeCataPickle(fic_cata): +def make_cata_pickle(fic_cata): """ Lance l'analyse de l'ordre des mots-cles dans le catalogue dont le nom est passe en argument et sauvegarde ces infos dans le fichier pickle relu par Eficas """ fic_cata_p = os.path.splitext(fic_cata)[0]+'_pickled.py' - cata_ordonne = analyseCatalogue(None,fic_cata) + cata_ordonne = analyse_catalogue(None,fic_cata) f = open(fic_cata_p,'w+') p = six.moves.cPickle.Pickler(f) p.dump(cata_ordonne.entites) @@ -311,7 +311,7 @@ def makeCataPickle(fic_cata): if __name__ == "__main__" : import profile - profile.run(u"analyseCatalogue(None,'U:\\EFICAS\\Cata\\cata_saturne.py')") + profile.run(u"analyse_catalogue(None,'U:\\EFICAS\\Cata\\cata_saturne.py')") diff --git a/Editeur/analyse_catalogue_initial.py b/Editeur/analyse_catalogue_initial.py index 95c8b43f..b0ea99f8 100644 --- a/Editeur/analyse_catalogue_initial.py +++ b/Editeur/analyse_catalogue_initial.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -28,7 +28,7 @@ import re,os from Extensions.i18n import tr # -__Id__="$Id: analyseCatalogue_initial.py,v 1.2.4.1.2.2.2.4 2017-04-09 14:04:44 pnoyret Exp $" +__Id__="$Id: analyse_catalogue_initial.py,v 1.2.4.1.2.2.2.4 2013-04-09 14:04:44 pnoyret Exp $" __version__="$Name: V7_main $" # @@ -38,10 +38,10 @@ class Catalogue_initial(object): self.liste_commandes=[] self.lignes=[] self.fichier=fichier - self.ouvrirFichier() - self.constrListTxtCmd() + self.ouvrir_fichier() + self.constr_list_txt_cmd() - def ouvrirFichier(self): + def ouvrir_fichier(self): try : f=open(self.fichier,'r') self.lignes=f.readlines() @@ -49,7 +49,7 @@ class Catalogue_initial(object): except : print(tr("Impossible d'ouvrir le fichier : %s", str(self.fichier))) - def constrListTxtCmd(self): + def constr_list_txt_cmd(self): pattern = '^# Ordre Catalogue ' for i in self.lignes : if (re.search(pattern,i)): @@ -58,14 +58,14 @@ class Catalogue_initial(object): self.liste_commandes.append(i) -def analyseCatalogue(nom_cata): +def analyse_catalogue(nom_cata): cata = Catalogue_initial(nom_cata) return cata.liste_commandes if __name__ == "__main__" : monCata="/local/noyret/Install_Eficas/EficasQT4/Openturns_StudyOpenTURNS_Cata_Study_V4.py" - analyseCatalogue(monCata) + analyse_catalogue(monCata) diff --git a/Editeur/autre_analyse_cata.py b/Editeur/autre_analyse_cata.py index 0848eb14..d6411f7c 100644 --- a/Editeur/autre_analyse_cata.py +++ b/Editeur/autre_analyse_cata.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -31,7 +31,7 @@ if __name__ == "__main__" : from Accas import NUPL -def traiteEntiteNUPL(entite): +def traite_entiteNUPL(entite): """ Fonction speciale pour les nuplets (classe NUPL) Cette fonction ajoute a l'objet entite un attribut de nom ordre_mc @@ -39,7 +39,7 @@ def traiteEntiteNUPL(entite): """ entite.ordre_mc=[] -def traiteEntite(entite,liste_simp_reel): +def traite_entite(entite,liste_simp_reel): """ Cette fonction ajoute a l'objet entite un attribut de nom ordre_mc qui est une liste contenant le nom des sous entites dans l'ordre @@ -52,16 +52,16 @@ def traiteEntite(entite,liste_simp_reel): l=[] for k,v in list(entite.entites.items()): if isinstance(v,NUPL): - traiteEntiteNUPL(v) + traite_entiteNUPL(v) else: - traiteReel(v,liste_simp_reel) - traiteEntite(v,liste_simp_reel) - traiteCache(v) + traite_reel(v,liste_simp_reel) + traite_entite(v,liste_simp_reel) + traite_cache(v) l.append((v._no,k)) l.sort() entite.ordre_mc=[ item for index, item in l ] -def traiteCache(objet): +def traite_cache(objet): if not hasattr(objet, "cache"): return if objet.cache == 0 :return clef=objet.nom @@ -72,29 +72,29 @@ def traiteCache(objet): objet.pere.mcOblig={} objet.pere.mcOblig[clef]=objet.defaut -def traiteReel(objet,liste_simp_reel): +def traite_reel(objet,liste_simp_reel): if objet.__class__.__name__ == "SIMP": if ( 'R' in objet.type): if objet.nom not in liste_simp_reel : liste_simp_reel.append(objet.nom) -def analyseNiveau(cata_ordonne_dico,niveau,liste_simp_reel): +def analyse_niveau(cata_ordonne_dico,niveau,liste_simp_reel): """ Analyse un niveau dans un catalogue de commandes """ if niveau.l_niveaux == (): # Il n'y a pas de sous niveaux for oper in niveau.entites: - traiteEntite(oper,liste_simp_reel) + traite_entite(oper,liste_simp_reel) cata_ordonne_dico[oper.nom]=oper else: for niv in niveau.l_niveaux: - analyseNiveau(cata_ordonne_dico,niv) + analyse_niveau(cata_ordonne_dico,niv) -def analyseCatalogue(cata): +def analyse_catalogue(cata): """ Cette fonction analyse le catalogue cata pour construire avec l'aide - de traiteEntite la structure de donnees ordre_mc qui donne l'ordre + de traite_entite la structure de donnees ordre_mc qui donne l'ordre d'apparition des mots cles dans le catalogue Elle retourne un dictionnaire qui contient toutes les commandes du catalogue indexees par leur nom @@ -104,19 +104,19 @@ def analyseCatalogue(cata): if cata.JdC.l_niveaux == (): # Il n'y a pas de niveaux for oper in cata.JdC.commandes: - traiteEntite(oper,liste_simp_reel) + traite_entite(oper,liste_simp_reel) cata_ordonne_dico[oper.nom]=oper else: for niv in cata.JdC.l_niveaux: - analyseNiveau(cata_ordonne_dico,niv,liste_simp_reel) + analyse_niveau(cata_ordonne_dico,niv,liste_simp_reel) return cata_ordonne_dico,liste_simp_reel if __name__ == "__main__" : from Cata import cata_STA6 - dico=analyseCatalogue(cata_STA6) + dico=analyse_catalogue(cata_STA6) #import cata_saturne - #dico=analyseCatalogue(cata_saturne) + #dico=analyse_catalogue(cata_saturne) def print_entite(entite,dec=' '): print (dec,entite.nom,entite.__class__.__name__) diff --git a/Editeur/basestyle.py b/Editeur/basestyle.py index ca7943ad..3448a567 100644 --- a/Editeur/basestyle.py +++ b/Editeur/basestyle.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Editeur/cata2Xml.py b/Editeur/cata2Xml.py index e5d3dcac..f739cba7 100755 --- a/Editeur/cata2Xml.py +++ b/Editeur/cata2Xml.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -56,7 +56,7 @@ class CatalogueXML(object): self.first.append(comment) self.reglesUtilisees=[] self.validatorsUtilises=[] - self.constrListTxtCmd() + self.constr_list_txt_cmd() self.ecrire_fichier() @@ -70,7 +70,7 @@ class CatalogueXML(object): except : print(("Impossible d'ecrire le fichier : "+ str(self.fichier))) - def constrListTxtCmd(self): + def constr_list_txt_cmd(self): mesCommandes=self.cata.JdC.commandes self.commandes=ET.SubElement(self.first,'commandes') for maCommande in mesCommandes: @@ -100,7 +100,7 @@ if __name__ == "__main__" : import readercata monreadercata = readercata.READERCATA( parent, parent ) Eficas.readercata=monreadercata - monCata=monreadercata.cata + monCata=monreadercata.cata[0] monCataXML=CatalogueXML(monCata,code) diff --git a/Editeur/catadesc.py b/Editeur/catadesc.py index 89b70599..9be0229e 100644 --- a/Editeur/catadesc.py +++ b/Editeur/catadesc.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Editeur/chercheBlocInto.py b/Editeur/chercheBlocInto.py index 40287971..c27779d3 100755 --- a/Editeur/chercheBlocInto.py +++ b/Editeur/chercheBlocInto.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -68,7 +68,7 @@ if __name__ == "__main__" : import readercata monreadercata = readercata.READERCATA( parent, parent ) Eficas.readercata=monreadercata - monCata=monreadercata.cata + monCata=monreadercata.cata[0] monConstruitInto=ChercheInto(monCata,code) diff --git a/Editeur/chercheNbElem.py b/Editeur/chercheNbElem.py index a00f3e14..b53952cf 100755 --- a/Editeur/chercheNbElem.py +++ b/Editeur/chercheNbElem.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -70,7 +70,7 @@ if __name__ == "__main__" : import readercata monreadercata = readercata.READERCATA( parent, parent ) Eficas.readercata=monreadercata - monCata=monreadercata.cata + monCata=monreadercata.cata[0] monConstruitInto=ChercheInto(monCata,code) diff --git a/Editeur/comploader.py b/Editeur/comploader.py index 40ba093f..03f3633d 100644 --- a/Editeur/comploader.py +++ b/Editeur/comploader.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -23,11 +23,11 @@ - composants : dictionnaire de stockage des relations entre types d'objet du noyau et types d'item - - chargerComposants() : fonction de chargement des composants. Retourne + - charger_composants() : fonction de chargement des composants. Retourne le dictionnaire composants. - gettreeitem(object) -> type d'item : fonction qui retourne un type d'item correspondant au type de l'objet noyau fourni. - - makeObjecttreeitem(appli,labeltext, object, setFunction=None) -> item : fonction qui retourne un item + - make_objecttreeitem(appli,labeltext, object, setfunction=None) -> item : fonction qui retourne un item correspondant a l'objet noyau fourni. """ # import generaux @@ -35,18 +35,24 @@ from __future__ import absolute_import import os,glob,types # Dictionnaire {object : item} permettant d'associer un item a un object -# Ce dictionnaire est renseigne par la methode chargerComposants +# Ce dictionnaire est renseigne par la methode charger_composants composants = {} -def chargerComposants(Ihm="QT"): +def charger_composants(Ihm="TK"): """ Cette fonction a pour but de charger tous les modules composants graphiques (fichiers compo*.py dans le meme repertoire que ce module ) - et de remplir le dictionnaire composants utilise par makeObjecttreeitem + et de remplir le dictionnaire composants utilise par make_objecttreeitem """ reper=os.path.dirname(__file__) - repertoire=reper+"/../InterfaceQT4" - package="InterfaceQT4" + if Ihm == "TK" : + repertoire=reper+"/../InterfaceTK" + package="InterfaceTK" + else : + repertoire=reper+"/../InterfaceQT4" + package="InterfaceQT4" + #repertoire=reper+"/../InterfaceQT" + #package="InterfaceQT" listfich=glob.glob(os.path.join(repertoire, "compo*.py")) for fichier in listfich: m= os.path.basename(fichier)[:-3] @@ -85,11 +91,12 @@ def gettreeitem(object): itemtype=composants[None] return itemtype -def makeObjecttreeitem(appli,labeltext, object, setFunction=None): +def make_objecttreeitem(appli,labeltext, object, setfunction=None): """ Cette fonction permet de construire et de retourner un objet de type item associe a l'object passe en argument. """ c = gettreeitem(object) - return c(appli,labeltext, object, setFunction) + #print appli,labeltext, object, setfunction + return c(appli,labeltext, object, setfunction) diff --git a/Editeur/fontes.py b/Editeur/fontes.py index d3f6e8a9..d90bcd88 100644 --- a/Editeur/fontes.py +++ b/Editeur/fontes.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Editeur/import_code.py b/Editeur/import_code.py index 690e02bf..bf207e7a 100644 --- a/Editeur/import_code.py +++ b/Editeur/import_code.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Editeur/listePatrons.py b/Editeur/listePatrons.py index f1cf08b4..66e406bf 100644 --- a/Editeur/listePatrons.py +++ b/Editeur/listePatrons.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -40,9 +40,9 @@ class listePatrons(object) : self.sous_menu=sous_menus[code] self.code=code self.liste={} - self.traiteListe() + self.traite_liste() - def traiteListe(self): + def traite_liste(self): if not (self.code in sous_menus) : return if not (os.path.exists(self.rep_patrons)) : return for file in os.listdir(self.rep_patrons): diff --git a/Editeur/old/comploaderqt4.py b/Editeur/old/comploaderqt4.py new file mode 100644 index 00000000..eae5049d --- /dev/null +++ b/Editeur/old/comploaderqt4.py @@ -0,0 +1,98 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2013 EDF R&D +# +# 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. +# +# 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 +# +""" + Module de chargement des composants et de mapping des objets du noyau + Accas vers les items d'EFICAS + + - composants : dictionnaire de stockage des relations entre types + d'objet du noyau et types d'item + - charger_composants() : fonction de chargement des composants. Retourne + le dictionnaire composants. + - gettreeitem(object) -> type d'item : fonction qui retourne un type + d'item correspondant au type de l'objet noyau fourni. + - make_objecttreeitem(appli,labeltext, object, setfunction=None) -> item : fonction qui retourne un item + correspondant à l'objet noyau fourni. +""" +# import généraux +import os,glob,types + +# Dictionnaire {object : item} permettant d'associer un item à un object +# Ce dictionnaire est renseigné par la méthode charger_composants +composants = {} + +def charger_composants(Ihm="TK"): + """ + Cette fonction a pour but de charger tous les modules composants graphiques + (fichiers compo*.py dans le même répertoire que ce module ) + et de remplir le dictionnaire composants utilisé par make_objecttreeitem + """ + reper=os.path.dirname(__file__) + if Ihm == "TK" : + repertoire=reper+"/../InterfaceTK" + package="InterfaceTK" + else : + repertoire=reper+"/../InterfaceQT4" + package="InterfaceQT4" + listfich=glob.glob(os.path.join(repertoire, "compo*.py")) + for fichier in listfich: + m= os.path.basename(fichier)[:-3] + module=__import__(package,globals(),locals(),[m]) + module = getattr(module, m) + composants[module.objet]=module.treeitem + return composants + +def gettreeitem(object): + """ + Cette fonction retourne la classe item associée à l'objet object. + Cette classe item dépend bien sûr de la nature de object, d'où + l'interrogation du dictionnaire composants + """ + # Si la definition de l'objet a un attribut itemeditor, il indique + # la classe a utiliser pour l'item + try: + return object.definition.itemeditor + except: + pass + + # On cherche ensuite dans les composants (plugins) + try: + itemtype= composants[object.__class__] + return itemtype + except: + pass + + # Puis une eventuelle classe heritee (aleatoire car sans ordre) + for e in list(composants.keys()): + if e and isinstance(object,e): + itemtype= composants[e] + return itemtype + + # Si on n'a rien trouve dans les composants on utilise l'objet par defaut + itemtype=composants[None] + return itemtype + +def make_objecttreeitem(appli,labeltext, object, setfunction=None): + """ + Cette fonction permet de construire et de retourner un objet + de type item associé à l'object passé en argument. + """ + c = gettreeitem(object) + return c(appli,labeltext, object, setfunction) + diff --git a/Editeur/session.py b/Editeur/session.py index ebbf40a9..1f7bb5a3 100644 --- a/Editeur/session.py +++ b/Editeur/session.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -34,7 +34,7 @@ qui a lui meme un include (22,ii). Le deuxieme bb est un jeu de commandes simple. Le troisieme est decrit dans le fichier ff de type .ini -qui est parse par le module Configparser. +qui est parse par le module ConfigParser. Chaque section du fichier decrit un jeu de commandes. Un include est specifie par: numero logique=nom du fichier Une poursuite est specifiee par: poursuite=reference a un jeu de commande @@ -94,7 +94,7 @@ d_env={} # sont stockees hierarchiquement # -def checkComm(option, opt_str, value, parser): +def check_comm(option, opt_str, value, parser): if not hasattr(parser.values,"studies"): parser.values.studies=[] parser.values.comm=[] @@ -105,7 +105,7 @@ def checkComm(option, opt_str, value, parser): parser.values.current=d_study parser.values.studies.append(d_study) -def checkPoursuite(option, opt_str, value, parser): +def check_poursuite(option, opt_str, value, parser): if parser.values.comm is None: raise OptionValueError(tr("un fichier de commandes doit etre defini avant une poursuite %s", value)) if not os.path.isfile(value): @@ -116,7 +116,7 @@ def checkPoursuite(option, opt_str, value, parser): comm["pours"]=d_study parser.values.current=d_study -def checkInclude(option, opt_str, value, parser): +def check_include(option, opt_str, value, parser): try: args=[int(parser.rargs[0]),parser.rargs[1]] except: @@ -134,7 +134,7 @@ def checkInclude(option, opt_str, value, parser): comm[args[0]]=args[1] -def checkJdc(config,jdc,parser,fich): +def check_jdc(config,jdc,parser,fich): """ Fonction : analyse une section de fichier .ini pour en extraire les informations sur les fichiers poursuite et includes @@ -142,7 +142,7 @@ def checkJdc(config,jdc,parser,fich): parser : objet analyseur de la ligne de commande fich : nom du fichier .ini en cours d'analyse - config : objet de la classe Configparser permettant de parser le fichier fich + config : objet de la classe ConfigParser permettant de parser le fichier fich jdc : nom de la section du fichier fich a analyser """ d_study={} @@ -161,7 +161,7 @@ def checkJdc(config,jdc,parser,fich): de commandes %(v_2)s n'existe pas", \ {'v_1': fich, 'v_2': comm})) - pours=checkJdc(config,p,parser,fich) + pours=check_jdc(config,p,parser,fich) pours["comm"]=comm d_study["pours"]=pours continue @@ -181,7 +181,7 @@ def checkJdc(config,jdc,parser,fich): return d_study -def checkFich(option, opt_str, fich, parser): +def check_fich(option, opt_str, fich, parser): """ Fonction : parse le fichier fich (format .ini) @@ -198,7 +198,7 @@ def checkFich(option, opt_str, fich, parser): if not hasattr(parser.values,"studies"): parser.values.studies=[] parser.values.comm=[] - config = six.moves.configparser.configparser() + config = six.moves.configparser.ConfigParser() config.read([fich]) if not config.has_option(u"jdc","jdc"): raise OptionValueError(tr(" jdc %s manque option jdc dans section jdc", str(fich))) @@ -213,11 +213,11 @@ def checkFich(option, opt_str, fich, parser): %(v_2)s n'existe pas", {'v_1': fich, 'v_2': comm})) parser.values.comm.append(comm) - d_study=checkJdc(config,jdc,parser,fich) + d_study=check_jdc(config,jdc,parser,fich) d_study["comm"]=comm parser.values.studies.append(d_study) -def printPours(d_pours,dec=''): +def print_pours(d_pours,dec=''): # Les fichiers includes d'abord for k,v in list(d_pours.items()): if k in (u"pours","comm"):continue @@ -226,42 +226,38 @@ def printPours(d_pours,dec=''): if "pours" in d_pours: # Description de la poursuite print((tr("%(v_1)s fichier poursuite: %(v_2)s", {'v_1': dec, 'v_2': d_pours["pours"]["comm"]}))) - printPours(d_pours["pours"],dec=dec+"++") + print_pours(d_pours["pours"],dec=dec+"++") -def printDEnv(): +def print_d_env(): if d_env.studies is None:return for study in d_env.studies: print((tr("nom etude : %s", study["comm"]))) - printPours(study,dec="++") + print_pours(study,dec="++") -def createparser(): +def create_parser(): # creation du parser des options de la ligne de commande #import prefs parser=optparse.OptionParser(usage=tr("utilisation : %prog [options]"), version="%prog 1.13") parser.add_option(u"-j","--jdc",dest="comm",type='string', - action="callback",callback=checkComm, + action="callback",callback=check_comm, help=tr("nom du fichier de commandes")) parser.add_option(u"-p","--poursuite", type="string",dest="pours", - action="callback", callback=checkPoursuite, + action="callback", callback=check_poursuite, help=tr("nom du fichier poursuite")) parser.add_option(u"-i","--include", - action="callback", callback=checkInclude, + action="callback", callback=check_include, nargs=2, help=tr("numero d'unite suivi du nom du fichier include")) parser.add_option(u"-f","--fich", type="string",dest="fich", - action="callback", callback=checkFich, + action="callback", callback=check_fich, help=tr("fichier decrivant une etude")) parser.add_option(u"-c","--cata", action="store", type="string",dest="cata", help=tr("version de catalogue a utiliser")) - parser.add_option(u"-v","--version_cata", action="store", type="string",dest="version_cata", - help=tr("version de catalogue a utiliser")) - - parser.add_option(u"-k","--kode", action="store", type="string",dest="code", help=tr("nom du code a utiliser")) @@ -278,7 +274,7 @@ def createparser(): return parser def parse(args): - parser=createparser() + parser=create_parser() (options,args)=parser.parse_args(args[1:]) if not hasattr(options,"studies"): options.studies=[] @@ -307,10 +303,10 @@ def parse(args): global d_env d_env=options - #printDEnv() + #print_d_env() return options -def getUnit(d_study,appli): +def get_unit(d_study,appli): """ Fonction : construit et retourne un dictionnaire contenant les informations sur les fichiers poursuite et includes sous la forme adaptee @@ -321,22 +317,22 @@ def getUnit(d_study,appli): ...] d_study : dictionnaire de l'etude - appli : objet application EFICAS (permet d'acceder aux services comme getSource) + appli : objet application EFICAS (permet d'acceder aux services comme get_source) """ - return getDunit(d_study,appli) + return get_dunit(d_study,appli) -def getDunit(d_unit,appli): +def get_dunit(d_unit,appli): d={} if 'pours' in d_unit: # on a une poursuite comm=d_unit["pours"]["comm"] - g=getDunit(d_unit["pours"],appli) - text=appli.getSource(comm) + g=get_dunit(d_unit["pours"],appli) + text=appli.get_source(comm) d[None]=comm,text,g for k,v in list(d_unit.items()): if k in (u"pours","comm"): continue - text=appli.getSource(v) + text=appli.get_source(v) d[k]=v,text,d return d diff --git a/Editeur/styles.py b/Editeur/styles.py index 53f7bafc..2853600c 100644 --- a/Editeur/styles.py +++ b/Editeur/styles.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Editeur/titi.py b/Editeur/titi.py new file mode 100644 index 00000000..dd5ac0cd --- /dev/null +++ b/Editeur/titi.py @@ -0,0 +1,141 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2013 EDF R&D +# +# 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. +# +# 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 +# +""" + Ce module contient des utilitaires divers +""" +import os,re +import glob +import traceback +import codecs,types + +from Extensions.i18n import tr + +def substract_list(liste1,liste2): + """ + Enleve tous les elements de liste2 presents dans liste1 et retourne liste1 + """ + for item in liste2: + try: + liste1.remove(item) + except: + pass + return liste1 + +def get_rep_user(dir): + """ + Determine sur quelle plate-forme s'execute Eficas et recherche + le repertoire de l'utilisateur /$home/Eficas_install + """ + + rep_user_eficas= os.path.join(os.environ['HOME'],dir) + if os.path.exists(rep_user_eficas): + if os.path.isfile(rep_user_eficas) : + print (tr("Un fichier de nom %s existe deja : impossible de creer un repertoire de meme nom", rep_user_eficas)) + rep_user_eficas=None + else : + try: + os.mkdir(rep_user_eficas) + except: + print (tr("Creation du repertoire %s impossible\n Verifiez vos droits d'acces", rep_user_eficas)) + return rep_user_eficas + +def read_file(file): + """ + ouvre le fichier file et retourne son contenu + si pbe retourne None + """ + try : + f=open(file) + text=f.read() + f.close() + return text + except: + return None + +def save_in_file(file,text,dir=None): + """ + cree le fichier file (ou l'ecrase s'il existe) et ecrit text dedans + retourne 1 si OK 0 sinon + """ + try : + if dir != None: + os.chdir(dir) + f=open(file,'w') + f.write(text) + f.close() + return 1 + except: + return 0 + +def extension_fichier(pathAndFile): + """ Return ext if path/filename.ext is given """ + return os.path.splitext(pathAndFile)[1][1:] + +def stripPath(pathAndFile): + """ Return filename.ext if path/filename.ext is given """ + return os.path.split(pathAndFile)[1] + +def init_rep_cata_dev(fic_cata,rep_goal): + """ + Initialise le repertoire des catalogues developpeurs (chemin d'acces donne + dans le fichier eficas.ini cad : + - le cree s'il n'existe pas encore + - copie dedans les 3 fichiers necessaires : + * __init__.py (pour que ce repertoire puisse etre interprete comme un package) + * entete.py (pour realiser les import necessaires a l'interpretation des catalogues) + * declaration_concepts.py (idem) + - cree le fichier cata_developpeur.py qui sera par la suite importe + """ + try : + if not os.path.isdir(rep_goal) : + os.mkdir(rep_goal) + #texte_entete = get_entete_cata(fic_cata) + texte_entete="" + # rep_goal doit contenir les catalogues du developpeur sous la forme *.capy + # il faut creer le catalogue developpeur par concatenation de entete,declaration_concepts + # et de tous ces fichiers + cur_dir = os.getcwd() + os.chdir(rep_goal) + l_cata_dev = glob.glob('*.capy') + if os.path.isfile('cata_developpeur.py') : os.remove('cata_developpeur.py') + if len(l_cata_dev) : + # des catalogues developpeurs sont effectivement presents : on cree cata_dev.py dans rep_goal + str = '' + str = str + texte_entete+'\n' + for file in l_cata_dev : + str = str + open(file,'r').read() +'\n' + open('cata_developpeur.py','w+').write(str) + os.chdir(cur_dir) + except: + traceback.print_exc() + print ( tr("Impossible de transferer les fichiers requis dans : %s", str(rep_goal))) + +def get_entete_cata(fic_cata): + """ Retrouve l'entete du catalogue """ + l_lignes = open(fic_cata,'r').readlines() + txt = '' + flag = 0 + for ligne in l_lignes : + if re.match(u"# debut entete",ligne) : flag = 1 + if re.match(u"# fin entete",ligne) : break + if not flag : continue + txt = txt + ligne + return txt + diff --git a/Editeur/uiinfo.py b/Editeur/uiinfo.py index 4e30351f..98922e62 100644 --- a/Editeur/uiinfo.py +++ b/Editeur/uiinfo.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -45,7 +45,7 @@ class UIINFO: if type(self.groupes) != tuple: self.groupes=(self.groupes,) -def traiteCommande(commande,niveau): +def traite_commande(commande,niveau): """ Cette fonction cree l'attribut UI de l'objet commande a partir des informations contenues dans UIinfo @@ -63,12 +63,12 @@ def traiteCommande(commande,niveau): if not grp in niveau.dict_groupes: niveau.dict_groupes[grp]=[] niveau.dict_groupes[grp].append(commande.nom) -def traiteNiveau(niveau): +def traite_niveau(niveau): if niveau.l_niveaux == (): # Il n'y a pas de sous niveaux. niveau.entites ne contient que des commandes niveau.dict_groupes={} for oper in niveau.entites: - traiteCommande(oper,niveau) + traite_commande(oper,niveau) # A la fin les cles du dictionnaire dict_groupes donnent la liste des groupes # sans doublon niveau.liste_groupes=list(niveau.dict_groupes.keys()) @@ -79,7 +79,7 @@ def traiteNiveau(niveau): #print niveau.dict_groupes else: for niv in niveau.l_niveaux: - traiteNiveau(niv) + traite_niveau(niv) def traite_UIinfo(cata): """ @@ -95,7 +95,7 @@ def traite_UIinfo(cata): # dans les attributs liste_groupes et dict_groupes cata.JdC.dict_groupes={} for commande in cata.JdC.commandes: - traiteCommande(commande,cata.JdC) + traite_commande(commande,cata.JdC) # A la fin les cles du dictionnaire dict_groupes donnent la liste des groupes # sans doublon cata.JdC.liste_groupes=list(cata.JdC.dict_groupes.keys()) @@ -107,7 +107,7 @@ def traite_UIinfo(cata): else: # Le catalogue de commandes contient des definitions de niveau for niv in cata.JdC.l_niveaux: - traiteNiveau(niv) + traite_niveau(niv) diff --git a/Efi2Xsd/AccasXsd.py b/Efi2Xsd/AccasXsd.py deleted file mode 100755 index a9d7e576..00000000 --- a/Efi2Xsd/AccasXsd.py +++ /dev/null @@ -1,281 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -import sys,os -import types - -# CONTEXT est accessible (__init__.py de Noyau) - -#import raw.efficas as efficas -sys.path.insert(0,os.path.abspath(os.path.join(os.getcwd(),'..'))) - -# ds l init du SIMP il manque siValide et fenetreIhm - -from .mapDesTypes import dictSIMPEficasXML, dictSIMPXMLEficas -from .mapDesTypes import dictFACTEficasXML, dictFACTXMLEficas -from .mapDesTypes import dictPROCEficasXML, dictPROCXMLEficas -from .mapDesTypes import dictOPEREficasXML, dictOPERXMLEficas -from .mapDesTypes import dictBLOCEficasXML, dictBLOCXMLEficas -from .mapDesTypes import dictPourCast, dictNomsDesTypes -from .mapDesTypes import listeParamDeTypeTypeAttendu, listeParamDeTypeStr, dictPourCast -from .mapDesTypes import listeParamTjsSequence, listeParamSelonType -from .mapDesTypes import Tuple - - -from .balises import * - -# ----------------- -class X_definition: -# ----------------- - - def getCode(self): - if hasattr(self,'code') : return - obj=self - while ( not hasattr(obj,'code') ): obj=obj.pere - self.code = obj.code - - #def genealogie(self,n): - # texte=self.nom - # obj=self - # j=1 - # while ( hasattr(obj,'pere') ): - # texte=obj.pere.nom+'_'+texte - # obj=obj.pere - # j=j+1 - # if j > n : return (True, 'T_'+texte) - # return (False, 'T_'+texte) - - def definitNomDuTypePyxb(self): - self.aCreer = True - cata = CONTEXT.getCurrentCata() - nom='T_'+self.nom - if not (nom in cata.dictTypesXSD.keys()) : - cata.dictTypesXSD[nom] = [self,] - return nom - self.aCreer = False - if nom == 'T_Consigne' : return nom - listePossible=cata.dictTypesXSD[nom] - indice=0 - while (indice < len(listePossible)) : - objAComparer=listePossible[indice] - if self.compare(objAComparer) : return objAComparer.nomDuTypePyxb - indice += 1 - self.aCreer = True - cata.dictTypesXSD[nom].append(self) - nomAlter='T_'+self.nom+'_'+str(indice) - return nomAlter - - # def existeDeja(self,nom): - # if nom in cata.dictTypesXSD.keys() : - # self.aCreer = False - # return cata.dictTypesXSD[nom] - # else : - # cata.dictTypesXSD[nom] = self - # return None - -# ---------------------------------------- -class X_definitionComposee (X_definition): -# ---------------------------------------- - - def CreeTexteComplexeVenantDesFils(self): - texteComplexeVenantDesFils="" - for nom in self.ordre_mc: - mcFils = self.entites[nom] - mcFils.dumpXsd() - self.texteComplexe += mcFils.texteElt - self.texteSimple += mcFils.texteSimple - texteComplexeVenantDesFils += mcFils.texteComplexe - return texteComplexeVenantDesFils - - def dumpXsd(self): - #print ('------------------------------------------------') - #print ('dumpXsd de ' , self.nom) - - self.getCode() - self.nomDuTypePyxb = self.definitNomDuTypePyxb() - self.texteSimple = "" # on n ajoute pas de type simple - - self.traduitMinMax() - # pour accepter les PROC et ... - # - if self.aCreer : - self.texteComplexe = debutTypeCompo.format(self.nomDuTypePyxb,self.minOccurs,self.maxOccurs) - texteComplexeVenantDesFils=self.CreeTexteComplexeVenantDesFils() - self.texteComplexe = texteComplexeVenantDesFils + self.texteComplexe - self.texteComplexe += finTypeCompo - else : - self.texteComplexe = "" - - minDsSequence=0 - if hasattr(self, 'statut') and self.statut=='f' : minDsSequence=0 - maxDsSequence=1 - if self.label in ('BLOC', 'FACT'): - self.texteElt=eltCompoDsSequence.format(self.nom,self.code,self.nomDuTypePyxb,minDsSequence,maxDsSequence) - else : - self.texteElt=eltCompoDsSequenceSiProc.format(self.nom,self.code,self.nomDuTypePyxb) - #print (self.texteComplexe) - #print ('------------------------------------------------') - - def traduitMinMax(self): - # ____________________ - # valable pour bloc, proc et oper - self.minOccurs = 0 - self.maxOccurs = 1 - - def compare(self,autreMC): - if self.label != autreMC.label : return False - for attr in ( 'regles', 'fr', 'defaut', 'min' ,'max', 'position' , 'docu' ) : - val1=getattr(self,attr) - val2=getattr(autreMC,attr) - if val1 != val2 : return False - for defFille in self.entites.keys(): - if defFille not in autreMC.entites.keys() : return False - if not self.entites[defFille].compare(autreMC.entites[defFille]) : return False - return True - -# --------------------------------- -class X_FACT (X_definitionComposee): -#--------- ------------------------ - def traduitMinMax(self): - if self.max == '**' or self.max == float('inf') : self.maxOccurs="unbounded" - else : self.maxOccurs = self.max - self.minOccurs = self.min - if self.statut =='f' : self.minOccurs=0 - -# --------------------------------- -class X_OPER (X_definitionComposee): -# --------------------------------- - pass - -# ---------------------------------- -class X_PROC (X_definitionComposee): -#----------------------------------- - pass - -#----------------------------------- -class X_BLOC (X_definitionComposee): -#----------------------------------- - def dumpXsd(self): - #print ('------------------------------------------------') - #print ('dumpXsd de ' , self.nom) - - self.getCode() - self.nomDuTypePyxb = self.definitNomDuTypePyxb() - self.texteSimple = "" # on n ajoute pas de type simple - - # Pour les blocs le minOccurs vaut 0 et le max 1 - if self.aCreer : - self.texteComplexe = debutTypeSubst.format(self.nomDuTypePyxb) - texteComplexeVenantDesFils=self.CreeTexteComplexeVenantDesFils() - self.texteComplexe = texteComplexeVenantDesFils + self.texteComplexe - self.texteComplexe += finTypeSubst - else : - self.texteComplexe = "" - - self.texteElt=substDsSequence.format(self.code,self.nomDuTypePyxb,0,1) - - #print ('------------------------------------------------') - - def compare(self,autreMC): - if self.label != autreMC.label : return False - for attr in ( 'condition', 'regles', ): - val1=getattr(self,attr) - val2=getattr(autreMC,attr) - if val1 != val2 : return False - for defFille in self.entites.keys(): - if defFille not in autreMC.entites.keys() : return False - if not self.entites[defFille].compare(autreMC.entites[defFille]) : return False - return True - - -#-------------------------------- -class X_SIMP (X_definition): -#-------------------------------- - def dumpXsd(self): - #print ('exploreObjet SIMP') - self.getCode() - self.aCreer = True - - # --> homonymie on peut utiliser genealogie - #self.traduitMinMax() - #self.traduitValMinValMax() - self.nomDuTypeDeBase = self.traduitType() - self.nomDuTypePyxb = self.definitNomDuTypePyxb() - if self.aCreer == True : - if self.into != None: - self.texteSimple = debutTypeSimpleWithInto.format (self.nomDuTypePyxb, self.nomDuTypeDeBase) - for val in self.into : - self.texteSimple += typeSimpleWithInto.format(val) - self.texteSimple += finTypeSimpleWithInto - else : - self.texteSimple = typeSimple.format(self.nomDuTypePyxb, self.nomDuTypeDeBase) - else : - # le type existe deja - self.texteSimple="" - self.texteComplexe = "" - - # on se sert des listes si maxOccurs est > 0 - # a gerer dans le dump - if self.statut =='f' : minOccurs = 0 - else : minOccurs = 1 - self.texteElt = eltDsSequence.format(self.nom,self.code,self.nomDuTypePyxb,minOccurs,1) - - - def traduitType(self): - # il faut traduire le min et le max - # il faut ajouter les regles - # il faut gerer les types tuple et fichier - - if hasattr(self.type[0], 'label') and self.type[0].label == "Tuple" : return ('XXXXXXXX') - return dictNomsDesTypes[self.type[0]] - - def traduitValMinValMax(self): - self.maxInclusive=self.val_max - self.minInclusive=self.val_min - if self.val_min == float('-inf') and val_max== float('inf') : return - print ('il faut affiner le type du SIMP ', self.nom) - if self.val_max == '**' or self.val_max == float('inf') : self.maxInclusive=None - else : self.maxInclusive = self.val_max - if self.val_min == '**' or self.val_max == float('-inf') : self.maxInclusive=None - else : self.minInclusive = self.val_min - - def traduitMinMax(self): - if self.min == 1 and self.max == 1 : return - print ('il faut creer une liste ' , self.nom) - - def compare(self,autreMC): - if self.label != autreMC.label : return False - for attr in ( 'type', 'ang', 'fr', 'into', 'intoSug' , 'siValide', 'defaut', 'min' ,'max' ,'homo' ,'position' ,'val_min' , 'val_max' , 'docu' , 'validators' , 'sug' ) : - val1=getattr(self,attr) - val2=getattr(autreMC,attr) - if val1 != val2 : return False - return True - -#----------------- -class X_JDC_CATA : -#----------------- - - def dumpXsd(self): - - self.texteSimple = "" - self.texteComplexe = "" - self.nomDuTypePyxb='T_'+self.code - self.texteCata = debutTypeCata.format(self.nomDuTypePyxb) - for commande in self.commandes : - commande.code=self.code - commande.dumpXsd() - self.texteSimple += commande.texteSimple - self.texteSimple += commande.texteComplexe - self.texteCata += commande.texteElt - self.texteCata += finTypeCata - self.texteElt=eltCata.format(self.code,self.code, self.nomDuTypePyxb) - - self.texteXSD = texteDebut.format(self.code,self.code,self.code) - self.texteXSD += self.texteSimple - self.texteXSD += self.texteCata - self.texteXSD += self.texteElt - self.texteXSD += texteFin - #print (self.texteSimple) - #print (self.texteCata) - #print (self.texteElt) - print (self.texteXSD) - diff --git a/Efi2Xsd/MCAccasXsd.py b/Efi2Xsd/MCAccasXsd.py deleted file mode 100644 index 13656852..00000000 --- a/Efi2Xsd/MCAccasXsd.py +++ /dev/null @@ -1,408 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -import sys,os -import traceback -#import raw.efficas as efficas -import types - -sys.path.insert(0,os.path.abspath(os.path.join(os.getcwd(),'..'))) - -try : - import pyxb - import pyxb.binding - import pyxb.binding.basis -except : - pass -#import pyxb.utils.utility -#import pyxb.utils.domutils - -class X_OBJECT: -# ------------- - - def deletePyxbObject(self): - if not self.cata or not self.cata.modeleMetier : return - print ('----------- deletePyxbObject', self.nom) - indice = 0 - trouve = False - for i in self.perePyxb.objPyxb.orderedContent(): - if id(self.objPyxb) == id(i._Content__value) : trouve = True ;break - indice = indice + 1 - if not trouve : print ('objet pas trouve') - print (self.perePyxb.objPyxb.description) - del self.perePyxb.objPyxb.__dict__[self.nom] - print (self.perePyxb.objPyxb.__delattr__) - #delattr(self.perePyxb.objPyxb,self.nom) - # PNPN - - print ('delattr', self.perePyxb.objPyxb,self.nom) - del self.perePyxb.objPyxb.orderedContent()[indice] - - -class X_MCSIMP(X_OBJECT): -# ----------------------- - - def buildObjPyxb(self) : - # self.valeur tient compte de la valeur par defaut - # utiliser getValeur ? expression numpy - if not self.cata or not self.cata.modeleMetier : return - #print ('X_MCSIMP buildObjPyxb', self.nom, self,self.valeur) - #if self.nom == 'diameter' : - # traceback.print_stack() - # print ('****************************************************') - # print ('objPyxbDeConstruction', self.objPyxbDeConstruction) - #if self.objPyxbDeConstruction == None : print (self.nom, ' pas de pyxb') - if self.objPyxbDeConstruction != None : - self.objPyxb = self.objPyxbDeConstruction - self.maClasseModeleMetier =type(self.objPyxb) - #print (self.maClasseModeleMetier) - self.objPyxbDeConstruction = None - else : - self.monNomClasseModeleMetier='T_'+self.nom - self.maClasseModeleMetier=getattr(self.cata.modeleMetier,self.monNomClasseModeleMetier) - #print (self.maClasseModeleMetier) - #print (self.valeur) - #print (type(self.valeur)) - if self.valeur != None : self.objPyxb=self.maClasseModeleMetier(self.valeur) - elif self.definition.into != None and 'TXM' in self.definition.type : self.objPyxb = None - else : self.objPyxb=self.maClasseModeleMetier(); - self.filsPyxb=None - #print ('X_MCSIMP', self.nom, self.objPyxb) - #print ('fin X_MCSIMP', self.objPyxb, self.nom,self) - - - def setValeurObjPyxb(self,newVal): - if not self.cata or not self.cata.modeleMetier : return - print ('dans setValeurObjPyxb MCSIMP') - # print (self.nom , ' a pour pere', self.perePyxb, self.perePyxb.nom, self.perePyxb.objPyxb) - if newVal != None : nvlObj=self.maClasseModeleMetier(newVal) - else : nvlObj=self.maClasseModeleMetier() - self.val=newVal - setattr(self.perePyxb.objPyxb,self.nom,nvlObj) - print ('setattr', self.perePyxb.objPyxb,self.nom) - trouve=False - indice=0 - for i in self.perePyxb.objPyxb.orderedContent(): - if isinstance(i._Content__value, self.maClasseModeleMetier) : - self.perePyxb.objPyxb.orderedContent()[indice]=self.perePyxb.objPyxb.orderedContent()[-1] - del(self.perePyxb.objPyxb.orderedContent()[-1]) - trouve=True - break - indice+=1 - if not trouve : print ('Attention souci au changement de valeur de ', self.nom) - self.objPyxb=nvlObj - print ('iiiiiiiiiiiiiiiiiiiiiiiiiiiiii', nvlObj, id(nvlObj)) - #for i in self.perePyxb.objPyxb.orderedContent(): - # print ('ds le for pour i') - # print (i._Content__value) - # print (id(i._Content__value)) - # print (type((i._Content__value))) - # if id(i._Content__value) == id(self.objPyxb) : break - # indexOC +=1 - - #maValeur = getattr(self.perePyxb.objPyxb, self.nom) - #print ('je change', indexOC) - #if isinstance(maValeur, pyxb.binding.basis.simpleTypeDefinition): - #if 1 : - # print ('jkjkljkljklj') - # setattr(self.perePyxb.objPyxb,self.nom,nvlObj) - # self.perePyxb.objPyxb.orderedContent()[indexOC]=self.perePyxb.objPyxb.orderedContent()[-1] - # del(self.perePyxb.objPyxb.orderedContent()[-1]) - #print ('apres',self.nom, self.perePyxb.objPyxb.orderedContent()) - #else : - # index=0 - # trouve=False - # try : - # for i in maValeur: - # if id(i) == id(self.objPyxb) :trouve = True ; break - # index=index+1 - # maValeur[index]=nvlObj - # self.perePyxb.objPyxb.orderedContent()[indexOC]._Content__value=nvlObj - # except : pass - # if not trouve : print (self.nom , 'pas trouve') - - #print ('arret programme'); exit() - - #print ('id objPyxb',id(self.objPyxb)) - #print ('id objPyxb[0]',id(self.objPyxb[0])) - #print ('id elt ', id(self.objPyxb._element), self.objPyxb._element, type(self.objPyxb._element), type(self.objPyxb._element())) - #print (' perePyxb _ElementMap') - #print (self.perePyxb.objPyxb._ElementMap) - #index=0 - #for i in self.perePyxb.objPyxb._ElementMap.keys() : - # print (id(i), ' ', id(self.perePyxb.objPyxb._ElementMap[i])) - #print (dir(self.perePyxb.objPyxb._ElementMap[i])) - # print (id(self.perePyxb.objPyxb._ElementMap[i])) -# index=index+1 - #print (' objPyxb monBinding id') - #monBinding = getattr(self.perePyxb.objPyxb, self.nom) - #for i in monBinding : print id(i) - #print (' perePyxb orderedContent') - #for i in self.perePyxb.objPyxb.orderedContent(): - # print id(i._Content__value) - # print (i._Content__value, type(i._Content__value)) - #print (' perePyxb orderedContent') - #for i in self.perePyxb.objPyxb.content(): print id(i) - - #print (self.perePyxb.objPyxb.orderedContent()) - #print (monBinding) - - - def addPyxbObject(self, indiceDsLeContenu): - if not self.cata or not self.cata.modeleMetier : return - - # adherence Accas sur le parent - parent=self.parent - while (parent.isBLOC() ): parent=parent.parent - self.perePyxb=parent - - self.monNomClasseModeleMetier='T_'+self.nom - self.maClasseModeleMetier=getattr(self.cata.modeleMetier,self.monNomClasseModeleMetier) - nvlObj=self.maClasseModeleMetier() - print ('setattr', self.perePyxb.objPyxb,self.nom) - setattr(self.perePyxb.objPyxb,self.nom,nvlObj) - tampon=self.perePyxb.objPyxb.orderedContent()[-1] - self.objPyxb = nvlObj - indexOC=-1 - longueur=len(self.perePyxb.objPyxb.orderedContent()) - for i in reversed(range(longueur)): - self.perePyxb.objPyxb.orderedContent()[i]=self.perePyxb.objPyxb.orderedContent()[i-1] - if i == indiceDsLeContenu + 1 : break - self.perePyxb.objPyxb.orderedContent()[indiceDsLeContenu]=tampon - - - #for i in self.perePyxb.objPyxb.orderedContent() : - # print (i._Content__value, type(i._Content__value)) - #print ('----------------') - - #print self.perePyxb.objPyxb.orderedContent() - #for i in self.perePyxb.objPyxb.orderedContent(): - # print ('valeur de ', i) - # print (i._Content__value) - # print (type(i._Content__value)) - # if isinstance(i._Content__value, self.maClasseModeleMetier) : - # print dir(i._Content__value) - # self.objPyxb = i._Content__value - # setattr(self.perePyxb.objPyxb, self.nom, nvlObj) - # self.perePyxb.objPyxb.orderedContent()[indexOC]=self.perePyxb.objPyxb.orderedContent()[-1] - # del(self.perePyxb.objPyxb.orderedContent()[-1]) - # indexOC+=1 - #PNPNPNPNPNPNPNPNP - -class X_MCCOMPO(X_OBJECT) : -# ------------------------- -# - def buildObjPyxb(self,mc_list) : - #print ('________________________________________________') - #print ('X_MCCOMPO buildObjPyxb', self.nom, self, mc_list) - if not self.cata or not self.cata.modeleMetier : return - - self.listArg=[] - for objAccas in mc_list : - if objAccas.nature == 'MCBLOC' : - self.exploreBLOC(objAccas) - elif objAccas.nature == 'MCList' : - for fils in objAccas : - fils.perePyxb=self - self.listArg.append(fils.objPyxb) - else : - self.listArg.append(objAccas.objPyxb) - objAccas.perePyxb=self - print (objAccas.nom ,' a pour pere Pyxb', self, self.nom) - - self.monNomClasseModeleMetier='T_'+self.nom - self.maClasseModeleMetier=getattr(self.cata.modeleMetier,self.monNomClasseModeleMetier) - if self.objPyxbDeConstruction != None : - self.objPyxb = self.objPyxbDeConstruction - self.objPyxbDeConstruction = None - #print ('je passe dans le if pour ', self.nom, self.objPyxb, self) - else : - self.objPyxb=self.maClasseModeleMetier(*self.listArg) - #print ('Fin __________ ', self.nom, self.objPyxb) - #print ('X_MCCOMPO', self.nom, self.objPyxb) - #print ('_______________________________________') - - def deletePyxbObject(self): - if not self.cata or not self.cata.modeleMetier : return - print ('******************************************') - print ('je passe ds deletePyxbObject pour ', self, self.nom) - print (self.perePyxb) - print (dir(self)) - print ('******************************************') - - def exploreBLOC(self,objAccas): - if not self.cata or not self.cata.modeleMetier : return - laListeSsLesBlocs=[] - for fils in objAccas.mcListe: - if fils.nature == 'MCBLOC' : - self.exploreBLOC(fils) - elif fils.nature == 'MCList' : - for objFils in fils : - fils.perePyxb=self - self.listArg.append(fils.objPyxb) - #print (fils.nom ,' a pour pere Pyxb', self, self.nom) - else : - self.listArg.append(fils.objPyxb) - fils.perePyxb=self - #print (fils.nom ,' a pour pere Pyxb', self, self.nom) - - - - -class X_MCBLOC (X_MCCOMPO): -# -------------------------- - def buildObjPyxb(self,mc_list): - if not self.cata or not self.cata.modeleMetier : return - # mise a none ? le bloc n a pas d existence en pyxb - self.perePyxb=None - #print ('_______________________________________') - #print ('X_MCBLOC buildObjPyxb', self.nom, self, mc_list) - # on rattache ses fils au bloc mais leur pere sera ensuite le MCCOMPO qui contient le bloc - # Pas sur d en avoir besoin du filsPyxb - self.filsPyxb=[] - self.objPyxb=None - for objAccas in mc_list : - self.filsPyxb.append(objAccas.objPyxb) - #print (self.filsPyxb) - #print ('Fin ', self.nom, self.objPyxb) - #print ('_______________________________________') - - - - -class X_MCLIST (X_MCCOMPO): -# -------------------------- - - def buildObjPyxb(self,mc_list): - #print ('__________________________________________________________________') - #print ('X_MCLIST buildObjPyxb traite ds X_MCLIST', self.nom, self) - #print ('on ne fait rien pour les MCLISTs, cela sera fait dans chaque MCFACT') - #print ('__________________________________________________________________') - pass - - -class X_MCFACT (X_MCCOMPO): -# ------------------------- -# on gere au niveau du MCCOMPO - pass - - -class X_JDC (X_MCCOMPO): -# --------------------- - - def __init__(self): - #print ('_______________________________________') - #print ('X_JDC buildObjPyxb', self) - if not self.cata or not self.cata.modeleMetier : return - self.monNomClasseModeleMetier=self.code - self.maClasseModeleMetier=getattr(self.cata.modeleMetier,self.monNomClasseModeleMetier) - self.objPyxb=self.maClasseModeleMetier() - pyxb.GlobalValidationConfig._setContentInfluencesGeneration(pyxb.GlobalValidationConfig.ALWAYS) - pyxb.GlobalValidationConfig._setInvalidElementInContent(pyxb.GlobalValidationConfig.RAISE_EXCEPTION) - pyxb.GlobalValidationConfig._setOrphanElementInContent(pyxb.GlobalValidationConfig.RAISE_EXCEPTION) - #print ('fin buildObjPyxb _______________________________________') - - def enregistreEtapePyxb(self,etape): - # OK seulement si sequence (choice ? ...) - if not self.cata or not self.cata.modeleMetier : return - print ('enregistreEtapePyxb' , etape) - self.objPyxb.append(etape.objPyxb) - etape.perePyxb = self - #self.toXml() - - def toXml(self): - if not self.cata or not self.cata.modeleMetier : return - print ('***************',self.objPyxb,'***************',) - print ('***************',self.objPyxb.orderedContent(),'***************',) - print(self.objPyxb.toDOM().toprettyxml()) - print(self.objPyxb.toxml()) - return (self.objPyxb.toDOM().toprettyxml()) - - - def analyseFromXML(self): - print ("je suis ds analyseFromXML -- > appel ds analyse de I_JDC.py") - if not self.cata or not self.cata.modeleMetier : return - if self.procedure == "" : return - self.objPyxb=self.cata.modeleMetier.CreateFromDocument(self.procedure) - for objEtape in self.objPyxb.content(): - objEtape.dictArgs= (self.pyxbToDict(objEtape)) - objEtape.monNomClasseAccas=objEtape._ExpandedName.localName() - objEtape.monNomClasseAccas=objEtape.monNomClasseAccas[2:] - objEtape.dictPyxb['objEnPyxb']=objEtape - objEtape.dictArgs['dicoPyxbDeConstruction']=objEtape.dictPyxb - maClasseAccas=getattr(self.cata,objEtape.monNomClasseAccas) - objAccasEtape=maClasseAccas(**(objEtape.dictArgs)) - # attention objAccasEtape = None normal (cf buildSd) - - #print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh') - #print (objEtape , type(objEtape)) - #print (objEtape.dictPyxb) - #print (maClasseAccas) - #print (objAccasEtape) - - #print (objEtape.monNomClasseAccas, type(objEtape.monNomClasseAccas)) - #print (objEtape._ExpandedName, type(objEtape._ExpandedName)) - #print (objEtape.dictPyxb[u'experience']) - #print (objEtape.dictArgs) - #print (objEtape.dictPyxb) - #print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh') - #exit() - - - def pyxbToDict(self,objAAnalyser): - # la transformation de l objAAnalyser en type lu par eficas ne fonctionne pas pour tout - # faudrait - il travailler sur les types des objets ? - # c est a revoir -> fonction cast a prevoir ds les 2 sens - if not self.cata or not self.cata.modeleMetier : return - if objAAnalyser is None: return - #print ('debut pour ',objAAnalyser) - dictArgs = {} - if isinstance(objAAnalyser, pyxb.binding.basis.simpleTypeDefinition): - objAAnalyser.dictPyxb=objAAnalyser - #print (objAAnalyser.dictPyxb , type(objAAnalyser.dictPyxb)) - if isinstance(objAAnalyser, pyxb.binding.basis.enumeration_mixin): return str(objAAnalyser) - if isinstance(objAAnalyser, types.StringTypes): return str(objAAnalyser) - if isinstance(objAAnalyser, types.FloatType): return float(objAAnalyser) - if isinstance(objAAnalyser, (types.IntType, types.LongType)): return int(objAAnalyser) - #if isinstance(objAAnalyser, (types.NoneType, types.BooleanType, types.FloatType, types.IntType, types.LongType)): - return repr(objAAnalyser) - # ou ? return objAAnalyser - #if isinstance(objAAnalyser, types.StringTypes): return pyxb.utils.utility.QuotedEscaped(objAAnalyser,) - #pour une enum getattr(value dans le type) - # return pythonLiteral(ReferenceFacet(facet=value, **kw)) - objAAnalyser.dictPyxb = {} - for expandedName, elementDeclaration in objAAnalyser._ElementMap.items(): - objPyxbName = expandedName.localName() - objPyxbValue = getattr(objAAnalyser, objPyxbName) - if objPyxbValue == None or objPyxbValue == [] : continue - if elementDeclaration.isPlural(): - dictArgs[objPyxbName] = [] - #objAAnalyser.dictPyxb[objPyxbName]={} - objAAnalyser.dictPyxb[objPyxbName]=[] - #objAAnalyser.dictPyxb['objEnPyxb']=objAAnalyser - for objPyxb in objPyxbValue : - #print ('-------------',objPyxb) - dictArgs[objPyxbName].append(self.pyxbToDict(objPyxb)) - objPyxb.dictPyxb['objEnPyxb'] = objPyxb - objAAnalyser.dictPyxb[objPyxbName].append(objPyxb.dictPyxb) - else: - dictArgs[objPyxbName] = self.pyxbToDict(getattr(objAAnalyser, objPyxbName)) - #print ('ajout ds dico de ', objAAnalyser , 'de', objPyxbName, objPyxbValue) - objAAnalyser.dictPyxb[objPyxbName] = objPyxbValue.dictPyxb - #print ('ajout ds dico de ', objPyxbValue.dictPyxb, 'de', objPyxbName) - objAAnalyser.dictPyxb['objEnPyxb']=objAAnalyser - #print ("***********************************") - #print ('pyxbToDict fin pour ********** ', objAAnalyser) - #print ('pyxbToDict ', objAAnalyser, objAAnalyser.dictPyxb) - #print ('pyxbToDict fin pour ********** ', objAAnalyser) - #print ("***********************************") - #print (dictArgs) - #print (dictPyxb) - #for i in dictArgs.keys(): print (i, " ", dictArgs[i], " ", type(dictArgs[i])) - #print ('fin pour ',objAAnalyser) - return dictArgs - - - - -if __name__ == "__main__": - print ('a faire') diff --git a/Efi2Xsd/__init__.py b/Efi2Xsd/__init__.py deleted file mode 100644 index df53d551..00000000 --- a/Efi2Xsd/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# 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. -# -# 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 -# diff --git a/Efi2Xsd/balises.py b/Efi2Xsd/balises.py deleted file mode 100644 index 4f2a4636..00000000 --- a/Efi2Xsd/balises.py +++ /dev/null @@ -1,53 +0,0 @@ -texteDebut='\n' -texteFin='' - -# SIMP -typeSimple = '\t\n\t\t\n\t\n' -debutTypeSimpleWithInto = '\t\n\t\t\n' -typeSimpleWithInto = '\t\t\t\n' -finTypeSimpleWithInto = '\t\t\n\t\n' -eltDsSequence = '\t\t\t\n' - -# COMPO -debutTypeCompo = '\t\n\t\t\n' -finTypeCompo = '\t\t\n\t\n' -eltCompoDsSequence = '\t\t\t\n' -eltCompoDsSequenceSiProc = '\t\t\t\n' - -# BLOC -debutTypeSubst = '\t \n\t\t\n' -finTypeSubst = '\t\t\n\t\n' -substDsSequence = '\t\t\t\n' - - -# CATA -debutTypeCata = '\t\n\t\t\n' -finTypeCata = '\t\t\n\t ' -eltCata = '\t\n' - - -if __name__ == '__main__' : - nomElt='Simple' - nomDuType='T_Simple' - nomDuTypeBase='int' - nomDuComplexe='T_Complexe' - nomDuCode='monCode' - minOccurs=1 - maxOccurs=1 - - texteSimple=typeSimple.format(nomDuType, nomDuTypeBase) - texteElt=eltDsSequence.format(nomElt,nomDuCode,nomDuType,minOccurs,maxOccurs) - - minOccurs=0 - texteComplexe=debutTypeComplexe.format(nomDuComplexe) - texteComplexe+=texteElt - texteComplexe+=finTypeComplexe - texteEltComplexe=eltDsSequence.format(nomElt,nomDuCode,nomDuType,minOccurs,maxOccurs) - - texteCata=debutTypeCata.format(nomDuCode) - texteCata+=texteEltComplexe - texteCata+=finTypeCata - - eltRacine=eltCata.format(nomDuCode, 'T_'+nomDuCode) - print (texteSimple+texteComplexe+texteCata+eltRacine) - diff --git a/Efi2Xsd/efficas.py b/Efi2Xsd/efficas.py deleted file mode 100644 index 3304e8af..00000000 --- a/Efi2Xsd/efficas.py +++ /dev/null @@ -1,2 +0,0 @@ -# -*- coding: utf-8 -*- -from raw.efficas import * diff --git a/Efi2Xsd/introspect.py b/Efi2Xsd/introspect.py deleted file mode 100644 index cf099b11..00000000 --- a/Efi2Xsd/introspect.py +++ /dev/null @@ -1,109 +0,0 @@ -# Demonstrate alternatives for bindings customization -import sys, os -sys.path.append(os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)),".."))) - -# Introspection-based customization. -#from raw.custom import * -#import raw.custom as raw_custom -from Atmo.raw.atmo_test3 import * -import Atmo.raw.atmo_test3 as raw_custom - -#class ta04 (raw_custom.ta04): -# def xa04 (self): -# return 'extend ta04' -#raw_custom.ta04._SetSupersedingClass(ta04) - -import inspect -def creationAccasSimp(c): - print c - -class toto -def __init__(self,*args): - print dir(self) - mro = type(self).mro() - for next_class in mro[mro.index(ChildB) + 1:] : - if hasattr(next_class, '__init__'): - next_class.__init__(self,args) - -# Utility function to identify classes of interest -def _isSupersedable (cls): - return inspect.isclass(cls) and issubclass(cls, pyxb.binding.basis._DynamicCreate_mixin) - -def _injectClasses (): - import sys - import pyxb.binding.basis - - # All PyXB complex type definitions in the original module - raw_classes = set([_o for (_, _o) in inspect.getmembers(raw_custom) if _isSupersedable(_o)]) - raw_classes_compo=set() - raw_classes_simp=set() - for c in raw_classes : - if issubclass(c,pyxb.binding.basis.complexTypeDefinition) : raw_classes_compo.add(c) - else : raw_classes_simp.add(c) - #print 'Original classes complex type: %s' % (raw_classes_compo,) - print 'Original classes simple type: %s' % (raw_classes_simp,) - for c in raw_classes_simp: - setattr(c,'creationAccasSimp',creationAccasSimp) - oldInit=c.__init__ - print c.__class__ - #setattr(c,'__init__',__init__) - print c.__mro__ - - # PyXB complex type definitions in this module that did not come - # from the original import *. - this_module = sys.modules[__name__] - this_classes = set([_o for (_, _o) in inspect.getmembers(this_module) if _isSupersedable(_o) and _o not in raw_classes]) - this_classes_tuple = tuple(this_classes) - #print 'This classes: %s' % (this_classes,) - - # Raw classes superseded by something in this module - superseded_classes = set([ _o for _o in raw_classes if _o._SupersedingClass() in this_classes ]) - superseded_classes_tuple = tuple(superseded_classes) - print 'Superseded classes: %s' % (superseded_classes,) - - # Raw classes that are subclasses of something superseded by this - # module, but that are not themselves superseded by this module - need_supersedure_classes = set([_o for _o in raw_classes if issubclass(_o, superseded_classes_tuple) and _o not in superseded_classes]) - print 'Need supersedure classes: %s' % (need_supersedure_classes,) - - # Add local definitions to supersede classes all of whose - # ancestors have been superseded as necessary. - while need_supersedure_classes: - did_replacement = False - new_need_supersedure_classes = set() - for o in need_supersedure_classes: - candidate = True - # Build the new sequence of base classes while we check them. - new_mro = [] - for super_o in o.__mro__: - if super_o == o: - # Put the superseded class in its original position (probably first) - new_mro.append(o) - continue - if super_o in need_supersedure_classes: - # Subclass of a class we haven't gotten to yet; put it off - candidate = False - break - # Append the replacement or the original, as needed - if super_o in superseded_classes: - new_mro.append(super_o._SupersedingClass()) - else: - new_mro.append(super_o) - if not candidate: - new_need_supersedure_classes.add(o) - continue - # Create a new class that subclasses the replacements - name = o.__name__ - new_o = type(name, tuple(new_mro), o.__dict__.copy()) - # Install it in the module - setattr(this_module, name, new_o) - # Tell PyXB to use it as the superseding class - o._SetSupersedingClass(new_o) - # Record it so future passes will find it - superseded_classes.add(o) - assert need_supersedure_classes != new_need_supersedure_classes - need_supersedure_classes = new_need_supersedure_classes - -_injectClasses() -m=T_Unit1(1) -print m diff --git a/Efi2Xsd/mapDesTypes.py b/Efi2Xsd/mapDesTypes.py deleted file mode 100755 index d90cbc12..00000000 --- a/Efi2Xsd/mapDesTypes.py +++ /dev/null @@ -1,122 +0,0 @@ -class Tuple: - def __init__(self,ntuple): - self.ntuple=ntuple - - def __convert__(self,valeur): - if type(valeur) == types.StringType: - return None - if len(valeur) != self.ntuple: - return None - return valeur - - def info(self): - return "Tuple de %s elements" % self.ntuple - - __repr__=info - __str__=info - - - -def inverseDico(dicoSource) : -#--------------------------- - dicoInverse = {} - for (clef,valeur) in dicoSource.items(): - if not(type(valeur) is tuple): - dicoInverse[valeur]=clef - continue - (elt,att)=valeur - if elt not in dicoInverse : dicoInverse[elt]={} - dicoInverse[elt][att]=clef - return dicoInverse - -dictSIMPEficasXML= { 'typ' : 'nomTypeAttendu', - 'statut' : 'statut', - 'min' : 'minOccurences', - 'max' : 'maxOccurences', - 'homo' : 'homo' , - 'position' : 'portee', - 'validators' : 'validators' , - 'sug' : 'valeurSugg', - 'defaut' : 'valeurDef' , - 'into' : ('plageValeur','into'), - 'val_min' : ('plageValeur','borneInf'), - 'val_max' : ('plageValeur','borneSup'), - 'ang' : ('doc','ang'), - 'fr' : ('doc','fr',), - 'docu' : ('doc','docu'), - } - -dictSIMPXMLEficas= inverseDico(dictSIMPEficasXML) - - - -dictFACTEficasXML = { 'statut' : 'statut', - 'min' : 'minOccurences', - 'max' : 'maxOccurences', - 'ang' : ('doc','ang'), - 'fr' : ('doc','fr',), - 'docu' : ('doc','docu'), - 'regles' : 'regles', - 'validators' : 'validators' , - } - -dictFACTXMLEficas = inverseDico(dictFACTEficasXML) - -dictBLOCEficasXML = { 'statut' : 'statut', - 'ang' : ('doc','ang'), - 'fr' : ('doc','fr',), - 'regles' : 'regles', - 'condition' : 'condition' , - } - -dictBLOCXMLEficas = inverseDico(dictBLOCEficasXML) - -dictPROCEficasXML = { 'nom' : 'nom', - 'regles' : 'regles', - 'ang' : ('doc','ang'), - 'fr' : ('doc','fr',), - 'docu' : ('doc','docu'), - } - # 'UIinfo' : 'UIinfo' - # 'reentrant' - # 'repetable' - # 'op_init' - # 'fenetreIhm' : 'fenetreIhm' - -dictPROCXMLEficas = inverseDico(dictPROCEficasXML) - -dictOPEREficasXML = dictPROCEficasXML -dictOPERXMLEficas = dictPROCXMLEficas - -dictPourCast = { 'I' : int, 'R' : float, 'bool' : bool , } -dictNomsDesTypes = { 'I' : 'int', 'R' : 'float', bool : 'boolean' , 'TXM' : 'string', 'Fichier' : 'string', 'Repertoire':'string', 'FichierNoAbs' : 'string', 'FichierOuRepertoire':'string' } - -listeParamDeTypeTypeAttendu = ( 'defaut', 'sug', 'val_min', 'val_max', 'into', 'intoSug') -listeParamDeTypeStr = ('fr', 'docu', 'ang', 'nom' ) - -listeParamTjsSequence = ('into' , 'intoSug') -listeParamSelonType = ('defaut', 'sug', 'into', 'intoSug') - -if __name__ == "__main__": - import pprint - pp=pprint.PrettyPrinter(indent=4) - print ('dictSIMPEficasXML') - pp.pprint(dictSIMPEficasXML) - print ('\n\n') - print ('dictSIMPXMLEficas') - pp.pprint(dictSIMPXMLEficas) - print ('\n\n') - print ('dictFACTEficasXML') - pp.pprint(dictFACTEficasXML) - print ('\n\n') - print ('dictFACTXMLEficas') - pp.pprint(dictFACTXMLEficas) - print ('\n\n') - print ('dictPROCEficasXML') - pp.pprint(dictPROCEficasXML) - print ('\n\n') - print ('dictPROCXMLEficas') - pp.pprint(dictPROCXMLEficas) - print ('\n\n') - print ('dictNomsDesTypes') - pp.pprint(dictNomsDesTypes ) diff --git a/Efi2Xsd/readerEfiXsd.py b/Efi2Xsd/readerEfiXsd.py deleted file mode 100755 index c98a16cd..00000000 --- a/Efi2Xsd/readerEfiXsd.py +++ /dev/null @@ -1,310 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -import sys,os -import raw.efficas as efficas -import types - -sys.path.insert(0,os.path.abspath(os.path.join(os.getcwd(),'..'))) - - -from Accas import * - - -# ds l init du SIMP il manque siValide et fenetreIhm - -from mapDesTypes import dictSIMPEficasXML, dictSIMPXMLEficas -from mapDesTypes import dictFACTEficasXML, dictFACTXMLEficas -from mapDesTypes import dictPROCEficasXML, dictPROCXMLEficas -from mapDesTypes import dictOPEREficasXML, dictOPERXMLEficas -from mapDesTypes import dictBLOCEficasXML, dictBLOCXMLEficas -from mapDesTypes import dictPourCast -from mapDesTypes import listeParamDeTypeTypeAttendu, listeParamDeTypeStr, dictPourCast -from mapDesTypes import listeParamTjsSequence, listeParamSelonType - - -# ------------------------------ -class objetDefinitionAccas: -# ------------------------------ - - def argumentXMLToEficas(self): - # --------------------------- - # Attention, pas de validation pour l instant - # il faut verifier la coherence entre les types contenus dans defaut, sug ... et le typeAttendu - # tout cela dans une fonction verifie pas faite -) - - # Recuperation parametres - self.dictArgsEficas={} - for nomXMLArg in dir(self) : - if nomXMLArg in self.dictATraiter : - nomEficasArg=self.dictATraiter[nomXMLArg] - argu=getattr(self,nomXMLArg) - if argu==None : continue - - if type(nomEficasArg) == types.DictionaryType: - for nomXML in list(nomEficasArg.keys()): - arguDecoupe=getattr(argu,nomXML) - nomEficasDecoupe=nomEficasArg[nomXML] - if arguDecoupe == None : continue - self.dictArgsEficas[nomEficasDecoupe]=arguDecoupe - else : - self.dictArgsEficas[nomEficasArg] = argu - - # Cast dans le bon type des parametres si necessaire - if 'min' in list(self.dictArgsEficas.keys()): - self.dictArgsEficas['min']=int(self.dictArgsEficas['min']) - - if 'max' in list(self.dictArgsEficas.keys()): - if self.dictArgsEficas['max']== -1 : self.dictArgsEficas['max']="**" - else : self.dictArgsEficas['max']=int(self.dictArgsEficas['max']) - - for param in list(self.dictArgsEficas.keys()): - if param in listeParamDeTypeStr : - self.dictArgsEficas[param]=unicode(self.dictArgsEficas[param]) - - # En 2.7 a revoir en 3 ? necessaire - self.nomObj=str(self.nom) - - def getAccasEquivalent(self): - # --------------------------- - return self.nomObj, self.objAccas -# - -# --------------------------------------------------------- -class objetComposeDefinitionAccas (objetDefinitionAccas): -# --------------------------------------------------------- - def exploreArbre(self,cata): - # -------------------------- - liste=[] - for obj in self.content(): liste.append(obj) - #liste.reverse() - # PNPNPN essayer de comprendre reverse ou non - - for obj in liste: - if hasattr(obj,'explore') : obj.explore(cata) - if hasattr(obj,'getAccasEquivalent') : - nom,objetAccas=obj.getAccasEquivalent() - self.dictArgsEficas[nom]=objetAccas - -# ---------------------------------------------------- -class monSIMP (efficas.T_SIMP, objetDefinitionAccas): -# ---------------------------------------------------- - - def explore(self,cata): - # -------------------- - #print ("je passe dans explore pour SIMP ", self.nom) - self.dictATraiter= dictSIMPXMLEficas - self.argumentXMLToEficas() - #print (self.dictArgsEficas) - - - self.objAccas=A_SIMP.SIMP(**self.dictArgsEficas) - self.objAccas.nom=self.nomObj - - def argumentXMLToEficas(self): - # ---------------------------- - #print self.nom - objetDefinitionAccas.argumentXMLToEficas(self) - - if self.attendTuple() : - #nbDElts=type(listeDElt[0]) - print self.nomTypeAttendu - - - self.traiteLesSequences() - #self.convertitLesTypes() - - def attendListe(self): - # --------------- - if 'max' in self.dictArgsEficas : - if self.dictArgsEficas['max'] > 1 : return True - if self.dictArgsEficas['max'] == "**" : return True - return False - - def attendTuple(self): - # ----------------- - if self.dictArgsEficas['typ'] != 'tuple' : return False - return True - - def attendTXM(self): - # ---------------- - if self.dictArgsEficas['typ'] == 'TXM' : return True - return False - - - def traiteLesSequences(self): - # --------------------------- - listeDeListe=self.attendListe() - for param in listeParamTjsSequence : - if param in self.dictArgsEficas : - if listeDeListe == False: - #print ('________________________________') - listeDElt=[] - for i in range(len(self.dictArgsEficas[param])): - # ou typesimple ? - # ici on ne sait pas si on est un type simple ou complexe ? - listeDElt.append(self.dictArgsEficas[param][i].content()[0]) - listeRetour=self.convertitListeDsLeBonType(listeDElt) - #print (listeRetour) - #print ('________________________________') - self.dictArgsEficas[param]=listeRetour - else : - listeResultat=[] - # on transforme en liste pour traiter chaque elt de la liste - for i in range(len(self.dictArgsEficas[param])): - if self.dictArgsEficas[param][i].typesimple != None : - lesElts=self.dictArgsEficas[param][i].typesimple - else : - lesElts=self.dictArgsEficas[param][i].content() - if (not(isinstance(lesElts,list)) and not (isinstance(lesElts,tuple))): - lesElts=(lesElts,) - lesEltsTransformes=self.convertitListeDsLeBonType(lesElts) - lesEltsTransformes=self.convertitListeDsLeBonType(lesElts) - listeResultat.append(lesEltsTransformes) - self.dictArgsEficas[param]=listeResultat - #print ('fin de traiteLesSequences pour', self.nom, ' param :', param, 'listeResultat',self.dictArgsEficas[param]) - - - def convertitListeDsLeBonType(self,listeDElt): - # ------------------------------------------- - # Cas des Tuples non traites - typeAttendu = self.dictArgsEficas['typ'] - if typeAttendu in list(dictPourCast.keys()): - nouvelleListe=[] - castDsLeTypeAttendu=dictPourCast[typeAttendu] - for valeurACaster in listeDElt : - val=castDsLeTypeAttendu(valeurACaster) - nouvelleListe.append(val) - return nouvelleListe - elif self.attendTuple() : - nbDElts=type(listeDElt[0]).n - - else : return listeDElt - - - - def convertitLesTypes(self): - # ------------------------ - # Cas des Tuples non traites - # Cas des fonctions utilisateurs non traites - - typeAttendu = self.dictArgsEficas['typ'] - if typeAttendu in list(dictPourCast.keys()): - castDsLeTypeAttendu=dictPourCast[typeAttendu] - for param in listeParamDeTypeTypeAttendu : - if param in list(self.dictArgsEficas.keys()): - if param in listeParamEnListeSelonType or param in listeParamTjsEnListe : - print ('typeAttendu',typeAttendu) - print (self.dictArgsEficas[param]) - print (self.dictArgsEficas[param].content()) - print (self.dictArgsEficas[param].content()) - return - valeurACaster=self.dictArgsEficas[param].typesimple - if not isinstance(valeurACaster, (list, tuple)) : - val=castDsLeTypeAttendu(valeurACaster) - self.dictArgsEficas[param]=val - else : - liste=[] - for val in valeurACaster : liste.append(castDsLeTypeAttendu(val)) - self.dictArgsEficas[param]=liste - - -# ------------------------------------------------------- -class monFACT(efficas.T_FACT, objetComposeDefinitionAccas): -# ------------------------------------------------------- - def explore(self,cata): - # -------------------- - #print "je passe dans explore pour FACT ", self.nom - - self.dictATraiter= dictFACTXMLEficas - self.argumentXMLToEficas() - self.exploreArbre(cata) - self.objAccas=A_FACT.FACT(**self.dictArgsEficas) - - -# --------------------------------------------------------- -class monPROC(efficas.T_PROC, objetComposeDefinitionAccas): -# --------------------------------------------------------- - def explore(self,cata): - # -------------------- - print "je passe dans explore pour PROC ", self.nom - self.dictATraiter= dictPROCXMLEficas - self.argumentXMLToEficas() - self.exploreArbre(cata) - self.dictArgsEficas['op']=None - - self.objAccas=A_PROC.PROC(**self.dictArgsEficas) - setattr(cata, self.nomObj,self.objAccas) - cata.contexteXML[self.nomObj]=self.objAccas - -# --------------------------------------------------------- -class monOPER(efficas.T_OPER, objetComposeDefinitionAccas): -# --------------------------------------------------------- - def explore(self,cata): -# ------------------------ - print "je passe dans explore pour OPER", self.nom - self.cata=cata - self.dictATraiter= dictOPERXMLEficas - self.argumentXMLToEficas() - self.exploreArbre(cata) - - textCreationClasse='class '+str(self.typeCree)+'(ASSD): pass\n' - exec(textCreationClasse,globals()) - maClasseCreee=globals()[self.typeCree] - self.dictArgsEficas['sd_prod'] = maClasseCreee - cata.contexteXML[self.typeCree] = maClasseCreee - - self.dictArgsEficas['op'] = None - self.objAccas=A_OPER.OPER(**self.dictArgsEficas) - setattr(cata, self.nomObj,self.objAccas) - cata.contexteXML[self.nomObj] = self.objAccas - -# --------------------------------------------------------- -class monBLOC(efficas.T_BLOC, objetComposeDefinitionAccas): -# --------------------------------------------------------- - def explore(self,cata): -# ------------------------ - print ('je passe dans explore pour BLOC', self.nom) - self.cata=cata - self.dictATraiter= dictBLOCXMLEficas - self.argumentXMLToEficas() - self.exploreArbre(cata) - self.objAccas=A_BLOC.BLOC(**self.dictArgsEficas) - setattr(cata, self.nomObj,self.objAccas) - cata.contexteXML[self.nomObj] = self.objAccas - -# ------------------------------ -class monCata(efficas.T_cata): -# ------------------------------ - def exploreCata(self): - # PNPNPN --> il faut revoir ce mecanisme - self.modeleMetier = None - # On positionne le contexte ACCAS - self.JdC = JDC_CATA (code = 'Atmo', execmodul = None,) - self.contexteXML={} - objAExplorer=self.commandes[0] - for obj in objAExplorer.content(): - if hasattr(obj,'explore') : obj.explore(self) - #print dir(self.JdC) - - - #def dumpXSD(self): - # for etape in self.contexteXML.values() : - # etape.dumpXSD() - -efficas.T_SIMP._SetSupersedingClass(monSIMP) -efficas.T_FACT._SetSupersedingClass(monFACT) -efficas.T_PROC._SetSupersedingClass(monPROC) -efficas.T_OPER._SetSupersedingClass(monOPER) -efficas.T_BLOC._SetSupersedingClass(monBLOC) -efficas.T_cata._SetSupersedingClass(monCata) - -if __name__ == "__main__": -# print dir(efficas) -# print dir(efficas.T_SIMP) - - #xml = open('cata_test1.xml').read() - xml = open('cata.xml').read() - SchemaMed = efficas.CreateFromDocument(xml) - SchemaMed.exploreCata() - #SchemaMed.dumpXSD() - diff --git a/EssaiInit/efficas.py b/EssaiInit/efficas.py deleted file mode 100644 index 3304e8af..00000000 --- a/EssaiInit/efficas.py +++ /dev/null @@ -1,2 +0,0 @@ -# -*- coding: utf-8 -*- -from raw.efficas import * diff --git a/EssaiInit/raw/efficas.py b/EssaiInit/raw/efficas.py deleted file mode 100644 index de150a9a..00000000 --- a/EssaiInit/raw/efficas.py +++ /dev/null @@ -1,2685 +0,0 @@ -# ./raw/efficas.py -# -*- coding: utf-8 -*- -# PyXB bindings for NM:759f40938b7670cd6d5941e706557eb2115fb17f -# Generated 2016-11-23 16:51:37.568270 by PyXB version 1.2.3 -# Namespace http://chercheurs.edf.com/logiciels/efficas - -import pyxb -import pyxb.binding -import pyxb.binding.saxer -import io -import pyxb.utils.utility -import pyxb.utils.domutils -import sys - -# Unique identifier for bindings created at the same time -_GenerationUID = pyxb.utils.utility.UniqueIdentifier('urn:uuid:b79c3f70-b194-11e6-bb0f-b05adafd94d6') - -# Version of PyXB used to generate the bindings -_PyXBVersion = '1.2.3' -# Generated bindings are not compatible across PyXB versions -if pyxb.__version__ != _PyXBVersion: - raise pyxb.PyXBVersionError(_PyXBVersion) - -# Import bindings for namespaces imported into schema -import pyxb.binding.datatypes - -# NOTE: All namespace declarations are reserved within the binding -Namespace = pyxb.namespace.NamespaceForURI(u'http://chercheurs.edf.com/logiciels/efficas', create_if_missing=True) -Namespace.configureCategories(['typeBinding', 'elementBinding']) - -def CreateFromDocument (xml_text, default_namespace=None, location_base=None): - """Parse the given XML and use the document element to create a - Python instance. - - @param xml_text An XML document. This should be data (Python 2 - str or Python 3 bytes), or a text (Python 2 unicode or Python 3 - str) in the L{pyxb._InputEncoding} encoding. - - @keyword default_namespace The L{pyxb.Namespace} instance to use as the - default namespace where there is no default namespace in scope. - If unspecified or C{None}, the namespace of the module containing - this function will be used. - - @keyword location_base: An object to be recorded as the base of all - L{pyxb.utils.utility.Location} instances associated with events and - objects handled by the parser. You might pass the URI from which - the document was obtained. - """ - - if pyxb.XMLStyle_saxer != pyxb._XMLStyle: - dom = pyxb.utils.domutils.StringToDOM(xml_text) - return CreateFromDOM(dom.documentElement) - if default_namespace is None: - default_namespace = Namespace.fallbackNamespace() - saxer = pyxb.binding.saxer.make_parser(fallback_namespace=default_namespace, location_base=location_base) - handler = saxer.getContentHandler() - xmld = xml_text - if isinstance(xmld, unicode): - xmld = xmld.encode(pyxb._InputEncoding) - saxer.parse(io.BytesIO(xmld)) - instance = handler.rootObject() - return instance - -def CreateFromDOM (node, default_namespace=None): - """Create a Python instance from the given DOM node. - The node tag must correspond to an element declaration in this module. - - @deprecated: Forcing use of DOM interface is unnecessary; use L{CreateFromDocument}.""" - if default_namespace is None: - default_namespace = Namespace.fallbackNamespace() - return pyxb.binding.basis.element.AnyCreateFromDOM(node, default_namespace) - - -# Atomic simple type: {http://chercheurs.edf.com/logiciels/efficas}T_fonction_python -class T_fonction_python (pyxb.binding.datatypes.string): - - """An atomic simple type.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_fonction_python') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 154, 1) - _Documentation = None -T_fonction_python._InitializeFacetMap() -Namespace.addCategoryObject('typeBinding', u'T_fonction_python', T_fonction_python) - -# Atomic simple type: {http://chercheurs.edf.com/logiciels/efficas}AT_statut -class AT_statut (pyxb.binding.datatypes.string, pyxb.binding.basis.enumeration_mixin): - - """An atomic simple type.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'AT_statut') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 190, 1) - _Documentation = None -AT_statut._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=AT_statut, enum_prefix=None) -AT_statut.f = AT_statut._CF_enumeration.addEnumeration(unicode_value=u'f', tag=u'f') -AT_statut.o = AT_statut._CF_enumeration.addEnumeration(unicode_value=u'o', tag=u'o') -AT_statut._InitializeFacetMap(AT_statut._CF_enumeration) -Namespace.addCategoryObject('typeBinding', u'AT_statut', AT_statut) - -# Atomic simple type: {http://chercheurs.edf.com/logiciels/efficas}T_portee -class T_portee (pyxb.binding.datatypes.string, pyxb.binding.basis.enumeration_mixin): - - """An atomic simple type.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_portee') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 202, 1) - _Documentation = None -T_portee._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=T_portee, enum_prefix=None) -T_portee.None_ = T_portee._CF_enumeration.addEnumeration(unicode_value=u'None', tag=u'None_') -T_portee.Global = T_portee._CF_enumeration.addEnumeration(unicode_value=u'Global', tag=u'Global') -T_portee._InitializeFacetMap(T_portee._CF_enumeration) -Namespace.addCategoryObject('typeBinding', u'T_portee', T_portee) - -# Atomic simple type: {http://chercheurs.edf.com/logiciels/efficas}AT_max_occurs -class AT_max_occurs (pyxb.binding.datatypes.long): - - """An atomic simple type.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'AT_max_occurs') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 208, 1) - _Documentation = None -AT_max_occurs._CF_minInclusive = pyxb.binding.facets.CF_minInclusive(value_datatype=AT_max_occurs, value=pyxb.binding.datatypes.long(-1L)) -AT_max_occurs._InitializeFacetMap(AT_max_occurs._CF_minInclusive) -Namespace.addCategoryObject('typeBinding', u'AT_max_occurs', AT_max_occurs) - -# Atomic simple type: {http://chercheurs.edf.com/logiciels/efficas}AT_min_occurs -class AT_min_occurs (pyxb.binding.datatypes.long): - - """An atomic simple type.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'AT_min_occurs') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 213, 1) - _Documentation = None -AT_min_occurs._CF_minExclusive = pyxb.binding.facets.CF_minExclusive(value_datatype=pyxb.binding.datatypes.long, value=pyxb.binding.datatypes.integer(0L)) -AT_min_occurs._InitializeFacetMap(AT_min_occurs._CF_minExclusive) -Namespace.addCategoryObject('typeBinding', u'AT_min_occurs', AT_min_occurs) - -# Atomic simple type: {http://chercheurs.edf.com/logiciels/efficas}AT_ag -class AT_ag (pyxb.binding.datatypes.string, pyxb.binding.basis.enumeration_mixin): - - """An atomic simple type.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'AT_ag') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 226, 1) - _Documentation = None -AT_ag._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=AT_ag, enum_prefix=None) -AT_ag.No_comment = AT_ag._CF_enumeration.addEnumeration(unicode_value=u'No comment', tag=u'No_comment') -AT_ag._InitializeFacetMap(AT_ag._CF_enumeration) -Namespace.addCategoryObject('typeBinding', u'AT_ag', AT_ag) - -# Atomic simple type: {http://chercheurs.edf.com/logiciels/efficas}AT_docu -class AT_docu (pyxb.binding.datatypes.string): - - """Référence une position dans un fichier maître contenant une liste de références à des pages de documentations""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'AT_docu') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 231, 1) - _Documentation = u'R\xe9f\xe9rence une position dans un fichier ma\xeetre contenant une liste de r\xe9f\xe9rences \xe0 des pages de documentations' -AT_docu._InitializeFacetMap() -Namespace.addCategoryObject('typeBinding', u'AT_docu', AT_docu) - -# Atomic simple type: {http://chercheurs.edf.com/logiciels/efficas}AT_valeur_sugg -class AT_valeur_sugg (pyxb.binding.datatypes.string): - - """An atomic simple type.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'AT_valeur_sugg') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 237, 1) - _Documentation = None -AT_valeur_sugg._InitializeFacetMap() -Namespace.addCategoryObject('typeBinding', u'AT_valeur_sugg', AT_valeur_sugg) - -# Atomic simple type: {http://chercheurs.edf.com/logiciels/efficas}AT_nom -class AT_nom (pyxb.binding.datatypes.string): - - """An atomic simple type.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'AT_nom') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 241, 1) - _Documentation = None -AT_nom._CF_pattern = pyxb.binding.facets.CF_pattern() -AT_nom._CF_pattern.addPattern(pattern=u'([A-Z]|[a-z]|_)([A-Z]|[a-z]|_|[0-9])*') -AT_nom._InitializeFacetMap(AT_nom._CF_pattern) -Namespace.addCategoryObject('typeBinding', u'AT_nom', AT_nom) - -# Atomic simple type: {http://chercheurs.edf.com/logiciels/efficas}T_validators -class T_validators (pyxb.binding.datatypes.string, pyxb.binding.basis.enumeration_mixin): - - """An atomic simple type.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_validators') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 303, 1) - _Documentation = None -T_validators._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=T_validators, enum_prefix=None) -T_validators.NoRepeat = T_validators._CF_enumeration.addEnumeration(unicode_value=u'NoRepeat', tag=u'NoRepeat') -T_validators.OnlyStr = T_validators._CF_enumeration.addEnumeration(unicode_value=u'OnlyStr', tag=u'OnlyStr') -T_validators.VerifExiste = T_validators._CF_enumeration.addEnumeration(unicode_value=u'VerifExiste', tag=u'VerifExiste') -T_validators.VerifTypeTuple = T_validators._CF_enumeration.addEnumeration(unicode_value=u'VerifTypeTuple', tag=u'VerifTypeTuple') -T_validators._InitializeFacetMap(T_validators._CF_enumeration) -Namespace.addCategoryObject('typeBinding', u'T_validators', T_validators) - -# Atomic simple type: {http://chercheurs.edf.com/logiciels/efficas}T_Bool -class T_Bool (pyxb.binding.datatypes.boolean): - - """An atomic simple type.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_Bool') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 311, 1) - _Documentation = None -T_Bool._InitializeFacetMap() -Namespace.addCategoryObject('typeBinding', u'T_Bool', T_Bool) - -# Atomic simple type: {http://chercheurs.edf.com/logiciels/efficas}T_I -class T_I (pyxb.binding.datatypes.int): - - """An atomic simple type.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_I') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 317, 1) - _Documentation = None -T_I._InitializeFacetMap() -Namespace.addCategoryObject('typeBinding', u'T_I', T_I) - -# Atomic simple type: {http://chercheurs.edf.com/logiciels/efficas}T_R -class T_R (pyxb.binding.datatypes.double): - - """An atomic simple type.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_R') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 323, 1) - _Documentation = None -T_R._InitializeFacetMap() -Namespace.addCategoryObject('typeBinding', u'T_R', T_R) - -# List simple type: [anonymous] -# superclasses pyxb.binding.datatypes.anySimpleType -class STD_ANON (pyxb.binding.basis.STD_list): - - """Simple type that is a list of pyxb.binding.datatypes.double.""" - - _ExpandedName = None - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 338, 3) - _Documentation = None - - _ItemType = pyxb.binding.datatypes.double -STD_ANON._InitializeFacetMap() - -# List simple type: {http://chercheurs.edf.com/logiciels/efficas}T_list_C -# superclasses pyxb.binding.datatypes.anySimpleType -class T_list_C (pyxb.binding.basis.STD_list): - - """Simple type that is a list of pyxb.binding.datatypes.double.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_list_C') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 347, 1) - _Documentation = None - - _ItemType = pyxb.binding.datatypes.double -T_list_C._InitializeFacetMap() -Namespace.addCategoryObject('typeBinding', u'T_list_C', T_list_C) - -# Atomic simple type: [anonymous] -class STD_ANON_ (pyxb.binding.datatypes.string): - - """An atomic simple type.""" - - _ExpandedName = None - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 402, 3) - _Documentation = None -STD_ANON_._CF_whiteSpace = pyxb.binding.facets.CF_whiteSpace(value=pyxb.binding.facets._WhiteSpace_enum.preserve) -STD_ANON_._InitializeFacetMap(STD_ANON_._CF_whiteSpace) - -# List simple type: {http://chercheurs.edf.com/logiciels/efficas}T_list_double -# superclasses pyxb.binding.datatypes.anySimpleType -class T_list_double (pyxb.binding.basis.STD_list): - - """Simple type that is a list of pyxb.binding.datatypes.double.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_list_double') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 428, 1) - _Documentation = None - - _ItemType = pyxb.binding.datatypes.double -T_list_double._InitializeFacetMap() -Namespace.addCategoryObject('typeBinding', u'T_list_double', T_list_double) - -# List simple type: {http://chercheurs.edf.com/logiciels/efficas}T_predicat1 -# superclasses pyxb.binding.datatypes.anySimpleType -class T_predicat1 (pyxb.binding.basis.STD_list): - - """Simple type that is a list of AT_nom.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_predicat1') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 246, 1) - _Documentation = None - - _ItemType = AT_nom -T_predicat1._InitializeFacetMap() -Namespace.addCategoryObject('typeBinding', u'T_predicat1', T_predicat1) - -# Atomic simple type: {http://chercheurs.edf.com/logiciels/efficas}AT_subroutine -class AT_subroutine (AT_nom): - - """An atomic simple type.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'AT_subroutine') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 300, 1) - _Documentation = None -AT_subroutine._InitializeFacetMap() -Namespace.addCategoryObject('typeBinding', u'AT_subroutine', AT_subroutine) - -# List simple type: {http://chercheurs.edf.com/logiciels/efficas}T_list_Bool -# superclasses pyxb.binding.datatypes.anySimpleType -class T_list_Bool (pyxb.binding.basis.STD_list): - - """Simple type that is a list of T_Bool.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_list_Bool') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 314, 1) - _Documentation = None - - _ItemType = T_Bool -T_list_Bool._InitializeFacetMap() -Namespace.addCategoryObject('typeBinding', u'T_list_Bool', T_list_Bool) - -# List simple type: {http://chercheurs.edf.com/logiciels/efficas}T_list_I -# superclasses pyxb.binding.datatypes.anySimpleType -class T_list_I (pyxb.binding.basis.STD_list): - - """Simple type that is a list of T_I.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_list_I') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 320, 1) - _Documentation = None - - _ItemType = T_I -T_list_I._InitializeFacetMap() -Namespace.addCategoryObject('typeBinding', u'T_list_I', T_list_I) - -# List simple type: {http://chercheurs.edf.com/logiciels/efficas}T_list_R -# superclasses pyxb.binding.datatypes.anySimpleType -class T_list_R (pyxb.binding.basis.STD_list): - - """Simple type that is a list of T_R.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_list_R') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 326, 1) - _Documentation = None - - _ItemType = T_R -T_list_R._InitializeFacetMap() -Namespace.addCategoryObject('typeBinding', u'T_list_R', T_list_R) - -# Atomic simple type: {http://chercheurs.edf.com/logiciels/efficas}T_TXM -class T_TXM (AT_nom): - - """An atomic simple type.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_TXM') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 329, 1) - _Documentation = None -T_TXM._InitializeFacetMap() -Namespace.addCategoryObject('typeBinding', u'T_TXM', T_TXM) - -# List simple type: {http://chercheurs.edf.com/logiciels/efficas}T_C -# superclasses STD_ANON -class T_C (pyxb.binding.basis.STD_list): - - """Simple type that is a list of pyxb.binding.datatypes.double.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_C') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 336, 1) - _Documentation = None - - _ItemType = pyxb.binding.datatypes.double -T_C._CF_maxLength = pyxb.binding.facets.CF_maxLength(value=pyxb.binding.datatypes.nonNegativeInteger(2L)) -T_C._CF_minLength = pyxb.binding.facets.CF_minLength(value=pyxb.binding.datatypes.nonNegativeInteger(2L)) -T_C._InitializeFacetMap(T_C._CF_maxLength, - T_C._CF_minLength) -Namespace.addCategoryObject('typeBinding', u'T_C', T_C) - -# Atomic simple type: {http://chercheurs.edf.com/logiciels/efficas}T_name_base -class T_name_base (AT_nom): - - """An atomic simple type.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_name_base') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 350, 1) - _Documentation = None -T_name_base._InitializeFacetMap() -Namespace.addCategoryObject('typeBinding', u'T_name_base', T_name_base) - -# Atomic simple type: [anonymous] -class STD_ANON_2 (AT_nom, pyxb.binding.basis.enumeration_mixin): - - """An atomic simple type.""" - - _ExpandedName = None - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 385, 3) - _Documentation = None -STD_ANON_2._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=STD_ANON_2, enum_prefix=None) -STD_ANON_2.T_Matrice_double = STD_ANON_2._CF_enumeration.addEnumeration(unicode_value=u'T_Matrice_double', tag=u'T_Matrice_double') -STD_ANON_2.T_Matrice_Symetrique_double = STD_ANON_2._CF_enumeration.addEnumeration(unicode_value=u'T_Matrice_Symetrique_double', tag=u'T_Matrice_Symetrique_double') -STD_ANON_2.T_tuple = STD_ANON_2._CF_enumeration.addEnumeration(unicode_value=u'T_tuple', tag=u'T_tuple') -STD_ANON_2.T_classe_utilisateur = STD_ANON_2._CF_enumeration.addEnumeration(unicode_value=u'T_classe_utilisateur', tag=u'T_classe_utilisateur') -STD_ANON_2._InitializeFacetMap(STD_ANON_2._CF_enumeration) - -# List simple type: {http://chercheurs.edf.com/logiciels/efficas}T_Repertoire -# superclasses pyxb.binding.datatypes.anySimpleType -class T_Repertoire (pyxb.binding.basis.STD_list): - - """Simple type that is a list of STD_ANON_.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_Repertoire') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 400, 1) - _Documentation = None - - _ItemType = STD_ANON_ -T_Repertoire._InitializeFacetMap() -Namespace.addCategoryObject('typeBinding', u'T_Repertoire', T_Repertoire) - -# Atomic simple type: {http://chercheurs.edf.com/logiciels/efficas}T_classe_utilisateur -class T_classe_utilisateur (AT_nom): - - """An atomic simple type.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_classe_utilisateur') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 461, 1) - _Documentation = None -T_classe_utilisateur._InitializeFacetMap() -Namespace.addCategoryObject('typeBinding', u'T_classe_utilisateur', T_classe_utilisateur) - -# List simple type: {http://chercheurs.edf.com/logiciels/efficas}T_list_TXM -# superclasses pyxb.binding.datatypes.anySimpleType -class T_list_TXM (pyxb.binding.basis.STD_list): - - """Simple type that is a list of T_TXM.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_list_TXM') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 332, 1) - _Documentation = None - - _ItemType = T_TXM -T_list_TXM._InitializeFacetMap() -Namespace.addCategoryObject('typeBinding', u'T_list_TXM', T_list_TXM) - -# Atomic simple type: {http://chercheurs.edf.com/logiciels/efficas}T_simple_name -class T_simple_name (T_name_base, pyxb.binding.basis.enumeration_mixin): - - """An atomic simple type.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_simple_name') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 353, 1) - _Documentation = None -T_simple_name._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=T_simple_name, enum_prefix=None) -T_simple_name.Fichier = T_simple_name._CF_enumeration.addEnumeration(unicode_value=u'Fichier', tag=u'Fichier') -T_simple_name.Repertoire = T_simple_name._CF_enumeration.addEnumeration(unicode_value=u'Repertoire', tag=u'Repertoire') -T_simple_name.TXM = T_simple_name._CF_enumeration.addEnumeration(unicode_value=u'TXM', tag=u'TXM') -T_simple_name.I = T_simple_name._CF_enumeration.addEnumeration(unicode_value=u'I', tag=u'I') -T_simple_name.R = T_simple_name._CF_enumeration.addEnumeration(unicode_value=u'R', tag=u'R') -T_simple_name.C = T_simple_name._CF_enumeration.addEnumeration(unicode_value=u'C', tag=u'C') -T_simple_name.Bool = T_simple_name._CF_enumeration.addEnumeration(unicode_value=u'Bool', tag=u'Bool') -T_simple_name.grma = T_simple_name._CF_enumeration.addEnumeration(unicode_value=u'grma', tag=u'grma') -T_simple_name.grno = T_simple_name._CF_enumeration.addEnumeration(unicode_value=u'grno', tag=u'grno') -T_simple_name.SalomeEntry = T_simple_name._CF_enumeration.addEnumeration(unicode_value=u'SalomeEntry', tag=u'SalomeEntry') -T_simple_name._InitializeFacetMap(T_simple_name._CF_enumeration) -Namespace.addCategoryObject('typeBinding', u'T_simple_name', T_simple_name) - -# Union simple type: {http://chercheurs.edf.com/logiciels/efficas}T_name -# superclasses pyxb.binding.datatypes.anySimpleType -class T_name (pyxb.binding.basis.STD_union): - - """Simple type that is a union of T_simple_name, STD_ANON_2.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_name') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 383, 1) - _Documentation = None - - _MemberTypes = ( T_simple_name, STD_ANON_2, ) -T_name._CF_pattern = pyxb.binding.facets.CF_pattern() -T_name._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=T_name) -T_name.Fichier = u'Fichier' # originally T_simple_name.Fichier -T_name.Repertoire = u'Repertoire' # originally T_simple_name.Repertoire -T_name.TXM = u'TXM' # originally T_simple_name.TXM -T_name.I = u'I' # originally T_simple_name.I -T_name.R = u'R' # originally T_simple_name.R -T_name.C = u'C' # originally T_simple_name.C -T_name.Bool = u'Bool' # originally T_simple_name.Bool -T_name.grma = u'grma' # originally T_simple_name.grma -T_name.grno = u'grno' # originally T_simple_name.grno -T_name.SalomeEntry = u'SalomeEntry' # originally T_simple_name.SalomeEntry -T_name.T_Matrice_double = u'T_Matrice_double' # originally STD_ANON_2.T_Matrice_double -T_name.T_Matrice_Symetrique_double = u'T_Matrice_Symetrique_double'# originally STD_ANON_2.T_Matrice_Symetrique_double -T_name.T_tuple = u'T_tuple' # originally STD_ANON_2.T_tuple -T_name.T_classe_utilisateur = u'T_classe_utilisateur'# originally STD_ANON_2.T_classe_utilisateur -T_name._InitializeFacetMap(T_name._CF_pattern, - T_name._CF_enumeration) -Namespace.addCategoryObject('typeBinding', u'T_name', T_name) - -# Union simple type: {http://chercheurs.edf.com/logiciels/efficas}T_simple -# superclasses pyxb.binding.datatypes.anySimpleType -class T_simple (pyxb.binding.basis.STD_union): - - """Simple type that is a union of T_I, T_list_I, T_R, T_list_R, T_C, T_list_C, T_TXM, T_list_TXM, T_Bool, T_list_Bool, T_Repertoire.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_simple') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 409, 1) - _Documentation = None - - _MemberTypes = ( T_I, T_list_I, T_R, T_list_R, T_C, T_list_C, T_TXM, T_list_TXM, T_Bool, T_list_Bool, T_Repertoire, ) -T_simple._CF_pattern = pyxb.binding.facets.CF_pattern() -T_simple._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=T_simple) -T_simple._InitializeFacetMap(T_simple._CF_pattern, - T_simple._CF_enumeration) -Namespace.addCategoryObject('typeBinding', u'T_simple', T_simple) - -# Union simple type: {http://chercheurs.edf.com/logiciels/efficas}T_classe_utilisateur_name -# superclasses T_name, pyxb.binding.basis.enumeration_mixin -class T_classe_utilisateur_name (pyxb.binding.basis.STD_union): - - """Simple type that is a union of T_simple_name, STD_ANON_2.""" - - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_classe_utilisateur_name') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 371, 1) - _Documentation = None - - _MemberTypes = ( T_simple_name, STD_ANON_2, ) -T_classe_utilisateur_name._CF_enumeration = pyxb.binding.facets.CF_enumeration(value_datatype=T_classe_utilisateur_name, enum_prefix=None) -T_classe_utilisateur_name.T_classe_utilisateur = T_classe_utilisateur_name._CF_enumeration.addEnumeration(unicode_value=u'T_classe_utilisateur', tag=u'T_classe_utilisateur') -T_classe_utilisateur_name._InitializeFacetMap(T_classe_utilisateur_name._CF_enumeration) -Namespace.addCategoryObject('typeBinding', u'T_classe_utilisateur_name', T_classe_utilisateur_name) - -# Complex type {http://chercheurs.edf.com/logiciels/efficas}T_cata with content type ELEMENT_ONLY -class T_cata (pyxb.binding.basis.complexTypeDefinition): - """Complex type {http://chercheurs.edf.com/logiciels/efficas}T_cata with content type ELEMENT_ONLY""" - _TypeDefinition = None - _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY - _Abstract = False - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_cata') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 66, 1) - _ElementMap = {} - _AttributeMap = {} - # Base type is pyxb.binding.datatypes.anyType - - # Element {http://chercheurs.edf.com/logiciels/efficas}commandes uses Python identifier commandes - __commandes = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'commandes'), 'commandes', '__httpchercheurs_edf_comlogicielsefficas_T_cata_httpchercheurs_edf_comlogicielsefficascommandes', True, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 11, 1), ) - - - commandes = property(__commandes.value, __commandes.set, None, None) - - _ElementMap.update({ - __commandes.name() : __commandes - }) - _AttributeMap.update({ - - }) -Namespace.addCategoryObject('typeBinding', u'T_cata', T_cata) - - -# Complex type {http://chercheurs.edf.com/logiciels/efficas}T_commandes with content type ELEMENT_ONLY -class T_commandes (pyxb.binding.basis.complexTypeDefinition): - """Complex type {http://chercheurs.edf.com/logiciels/efficas}T_commandes with content type ELEMENT_ONLY""" - _TypeDefinition = None - _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY - _Abstract = False - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_commandes') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 71, 1) - _ElementMap = {} - _AttributeMap = {} - # Base type is pyxb.binding.datatypes.anyType - - # Element {http://chercheurs.edf.com/logiciels/efficas}OPER uses Python identifier OPER - __OPER = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'OPER'), 'OPER', '__httpchercheurs_edf_comlogicielsefficas_T_commandes_httpchercheurs_edf_comlogicielsefficasOPER', True, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 99, 1), ) - - - OPER = property(__OPER.value, __OPER.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}PROC uses Python identifier PROC - __PROC = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'PROC'), 'PROC', '__httpchercheurs_edf_comlogicielsefficas_T_commandes_httpchercheurs_edf_comlogicielsefficasPROC', True, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 110, 1), ) - - - PROC = property(__PROC.value, __PROC.set, None, None) - - _ElementMap.update({ - __OPER.name() : __OPER, - __PROC.name() : __PROC - }) - _AttributeMap.update({ - - }) -Namespace.addCategoryObject('typeBinding', u'T_commandes', T_commandes) - - -# Complex type {http://chercheurs.edf.com/logiciels/efficas}T_Cardinalite with content type EMPTY -class T_Cardinalite (pyxb.binding.basis.complexTypeDefinition): - """Complex type {http://chercheurs.edf.com/logiciels/efficas}T_Cardinalite with content type EMPTY""" - _TypeDefinition = None - _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_EMPTY - _Abstract = False - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_Cardinalite') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 77, 1) - _ElementMap = {} - _AttributeMap = {} - # Base type is pyxb.binding.datatypes.anyType - _ElementMap.update({ - - }) - _AttributeMap.update({ - - }) -Namespace.addCategoryObject('typeBinding', u'T_Cardinalite', T_Cardinalite) - - -# Complex type {http://chercheurs.edf.com/logiciels/efficas}T_PlageValeur with content type ELEMENT_ONLY -class T_PlageValeur (pyxb.binding.basis.complexTypeDefinition): - """Complex type {http://chercheurs.edf.com/logiciels/efficas}T_PlageValeur with content type ELEMENT_ONLY""" - _TypeDefinition = None - _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY - _Abstract = False - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_PlageValeur') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 78, 1) - _ElementMap = {} - _AttributeMap = {} - # Base type is pyxb.binding.datatypes.anyType - - # Element {http://chercheurs.edf.com/logiciels/efficas}borne_sup uses Python identifier borne_sup - __borne_sup = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'borne_sup'), 'borne_sup', '__httpchercheurs_edf_comlogicielsefficas_T_PlageValeur_httpchercheurs_edf_comlogicielsefficasborne_sup', False, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 46, 1), ) - - - borne_sup = property(__borne_sup.value, __borne_sup.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}borne_inf uses Python identifier borne_inf - __borne_inf = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'borne_inf'), 'borne_inf', '__httpchercheurs_edf_comlogicielsefficas_T_PlageValeur_httpchercheurs_edf_comlogicielsefficasborne_inf', False, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 47, 1), ) - - - borne_inf = property(__borne_inf.value, __borne_inf.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}into uses Python identifier into - __into = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'into'), 'into', '__httpchercheurs_edf_comlogicielsefficas_T_PlageValeur_httpchercheurs_edf_comlogicielsefficasinto', False, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 49, 1), ) - - - into = property(__into.value, __into.set, None, None) - - _ElementMap.update({ - __borne_sup.name() : __borne_sup, - __borne_inf.name() : __borne_inf, - __into.name() : __into - }) - _AttributeMap.update({ - - }) -Namespace.addCategoryObject('typeBinding', u'T_PlageValeur', T_PlageValeur) - - -# Complex type {http://chercheurs.edf.com/logiciels/efficas}T_predicat2 with content type ELEMENT_ONLY -class T_predicat2 (pyxb.binding.basis.complexTypeDefinition): - """Complex type {http://chercheurs.edf.com/logiciels/efficas}T_predicat2 with content type ELEMENT_ONLY""" - _TypeDefinition = None - _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY - _Abstract = False - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_predicat2') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 250, 1) - _ElementMap = {} - _AttributeMap = {} - # Base type is pyxb.binding.datatypes.anyType - - # Element {http://chercheurs.edf.com/logiciels/efficas}p1 uses Python identifier p1 - __p1 = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'p1'), 'p1', '__httpchercheurs_edf_comlogicielsefficas_T_predicat2_httpchercheurs_edf_comlogicielsefficasp1', False, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 252, 3), ) - - - p1 = property(__p1.value, __p1.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}p2 uses Python identifier p2 - __p2 = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'p2'), 'p2', '__httpchercheurs_edf_comlogicielsefficas_T_predicat2_httpchercheurs_edf_comlogicielsefficasp2', False, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 253, 3), ) - - - p2 = property(__p2.value, __p2.set, None, None) - - _ElementMap.update({ - __p1.name() : __p1, - __p2.name() : __p2 - }) - _AttributeMap.update({ - - }) -Namespace.addCategoryObject('typeBinding', u'T_predicat2', T_predicat2) - - -# Complex type {http://chercheurs.edf.com/logiciels/efficas}T_regles with content type ELEMENT_ONLY -class T_regles (pyxb.binding.basis.complexTypeDefinition): - """Complex type {http://chercheurs.edf.com/logiciels/efficas}T_regles with content type ELEMENT_ONLY""" - _TypeDefinition = None - _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY - _Abstract = False - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_regles') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 291, 1) - _ElementMap = {} - _AttributeMap = {} - # Base type is pyxb.binding.datatypes.anyType - - # Element {http://chercheurs.edf.com/logiciels/efficas}A_CLASSER uses Python identifier A_CLASSER - __A_CLASSER = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'A_CLASSER'), 'A_CLASSER', '__httpchercheurs_edf_comlogicielsefficas_T_regles_httpchercheurs_edf_comlogicielsefficasA_CLASSER', True, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 257, 1), ) - - - A_CLASSER = property(__A_CLASSER.value, __A_CLASSER.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}AU_MOINS_UN uses Python identifier AU_MOINS_UN - __AU_MOINS_UN = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'AU_MOINS_UN'), 'AU_MOINS_UN', '__httpchercheurs_edf_comlogicielsefficas_T_regles_httpchercheurs_edf_comlogicielsefficasAU_MOINS_UN', True, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 258, 1), ) - - - AU_MOINS_UN = property(__AU_MOINS_UN.value, __AU_MOINS_UN.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}AU_PLUS_UN uses Python identifier AU_PLUS_UN - __AU_PLUS_UN = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'AU_PLUS_UN'), 'AU_PLUS_UN', '__httpchercheurs_edf_comlogicielsefficas_T_regles_httpchercheurs_edf_comlogicielsefficasAU_PLUS_UN', True, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 259, 1), ) - - - AU_PLUS_UN = property(__AU_PLUS_UN.value, __AU_PLUS_UN.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}ENSEMBLE uses Python identifier ENSEMBLE - __ENSEMBLE = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'ENSEMBLE'), 'ENSEMBLE', '__httpchercheurs_edf_comlogicielsefficas_T_regles_httpchercheurs_edf_comlogicielsefficasENSEMBLE', True, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 260, 1), ) - - - ENSEMBLE = property(__ENSEMBLE.value, __ENSEMBLE.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}EXCLUS uses Python identifier EXCLUS - __EXCLUS = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'EXCLUS'), 'EXCLUS', '__httpchercheurs_edf_comlogicielsefficas_T_regles_httpchercheurs_edf_comlogicielsefficasEXCLUS', True, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 261, 1), ) - - - EXCLUS = property(__EXCLUS.value, __EXCLUS.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}PRESENT_ABSENT uses Python identifier PRESENT_ABSENT - __PRESENT_ABSENT = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'PRESENT_ABSENT'), 'PRESENT_ABSENT', '__httpchercheurs_edf_comlogicielsefficas_T_regles_httpchercheurs_edf_comlogicielsefficasPRESENT_ABSENT', True, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 269, 1), ) - - - PRESENT_ABSENT = property(__PRESENT_ABSENT.value, __PRESENT_ABSENT.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}PRESENT_PRESENT uses Python identifier PRESENT_PRESENT - __PRESENT_PRESENT = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'PRESENT_PRESENT'), 'PRESENT_PRESENT', '__httpchercheurs_edf_comlogicielsefficas_T_regles_httpchercheurs_edf_comlogicielsefficasPRESENT_PRESENT', True, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 270, 1), ) - - - PRESENT_PRESENT = property(__PRESENT_PRESENT.value, __PRESENT_PRESENT.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}UN_PARMI uses Python identifier UN_PARMI - __UN_PARMI = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'UN_PARMI'), 'UN_PARMI', '__httpchercheurs_edf_comlogicielsefficas_T_regles_httpchercheurs_edf_comlogicielsefficasUN_PARMI', True, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 271, 1), ) - - - UN_PARMI = property(__UN_PARMI.value, __UN_PARMI.set, None, None) - - _ElementMap.update({ - __A_CLASSER.name() : __A_CLASSER, - __AU_MOINS_UN.name() : __AU_MOINS_UN, - __AU_PLUS_UN.name() : __AU_PLUS_UN, - __ENSEMBLE.name() : __ENSEMBLE, - __EXCLUS.name() : __EXCLUS, - __PRESENT_ABSENT.name() : __PRESENT_ABSENT, - __PRESENT_PRESENT.name() : __PRESENT_PRESENT, - __UN_PARMI.name() : __UN_PARMI - }) - _AttributeMap.update({ - - }) -Namespace.addCategoryObject('typeBinding', u'T_regles', T_regles) - - -# Complex type {http://chercheurs.edf.com/logiciels/efficas}T_grma with content type EMPTY -class T_grma (pyxb.binding.basis.complexTypeDefinition): - """Complex type {http://chercheurs.edf.com/logiciels/efficas}T_grma with content type EMPTY""" - _TypeDefinition = None - _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_EMPTY - _Abstract = False - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_grma') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 395, 1) - _ElementMap = {} - _AttributeMap = {} - # Base type is pyxb.binding.datatypes.anyType - _ElementMap.update({ - - }) - _AttributeMap.update({ - - }) -Namespace.addCategoryObject('typeBinding', u'T_grma', T_grma) - - -# Complex type {http://chercheurs.edf.com/logiciels/efficas}T_grno with content type EMPTY -class T_grno (pyxb.binding.basis.complexTypeDefinition): - """Complex type {http://chercheurs.edf.com/logiciels/efficas}T_grno with content type EMPTY""" - _TypeDefinition = None - _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_EMPTY - _Abstract = False - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_grno') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 396, 1) - _ElementMap = {} - _AttributeMap = {} - # Base type is pyxb.binding.datatypes.anyType - _ElementMap.update({ - - }) - _AttributeMap.update({ - - }) -Namespace.addCategoryObject('typeBinding', u'T_grno', T_grno) - - -# Complex type {http://chercheurs.edf.com/logiciels/efficas}T_SalomeEntry with content type EMPTY -class T_SalomeEntry (pyxb.binding.basis.complexTypeDefinition): - """Complex type {http://chercheurs.edf.com/logiciels/efficas}T_SalomeEntry with content type EMPTY""" - _TypeDefinition = None - _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_EMPTY - _Abstract = False - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_SalomeEntry') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 397, 1) - _ElementMap = {} - _AttributeMap = {} - # Base type is pyxb.binding.datatypes.anyType - _ElementMap.update({ - - }) - _AttributeMap.update({ - - }) -Namespace.addCategoryObject('typeBinding', u'T_SalomeEntry', T_SalomeEntry) - - -# Complex type {http://chercheurs.edf.com/logiciels/efficas}T_Fichier with content type EMPTY -class T_Fichier (pyxb.binding.basis.complexTypeDefinition): - """Complex type {http://chercheurs.edf.com/logiciels/efficas}T_Fichier with content type EMPTY""" - _TypeDefinition = None - _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_EMPTY - _Abstract = False - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_Fichier') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 398, 1) - _ElementMap = {} - _AttributeMap = {} - # Base type is pyxb.binding.datatypes.anyType - _ElementMap.update({ - - }) - _AttributeMap.update({ - - }) -Namespace.addCategoryObject('typeBinding', u'T_Fichier', T_Fichier) - - -# Complex type {http://chercheurs.edf.com/logiciels/efficas}T_tuple with content type SIMPLE -class T_tuple (pyxb.binding.basis.complexTypeDefinition): - """Complex type {http://chercheurs.edf.com/logiciels/efficas}T_tuple with content type SIMPLE""" - _TypeDefinition = pyxb.binding.datatypes.anySimpleType - _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_SIMPLE - _Abstract = False - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_tuple') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 454, 1) - _ElementMap = {} - _AttributeMap = {} - # Base type is pyxb.binding.datatypes.anySimpleType - - # Attribute n uses Python identifier n - __n = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, u'n'), 'n', '__httpchercheurs_edf_comlogicielsefficas_T_tuple_n', pyxb.binding.datatypes.int, required=True) - __n._DeclarationLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 457, 4) - __n._UseLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 457, 4) - - n = property(__n.value, __n.set, None, None) - - _ElementMap.update({ - - }) - _AttributeMap.update({ - __n.name() : __n - }) -Namespace.addCategoryObject('typeBinding', u'T_tuple', T_tuple) - - -# Complex type {http://chercheurs.edf.com/logiciels/efficas}T_into with content type ELEMENT_ONLY -class T_into (pyxb.binding.basis.complexTypeDefinition): - """Complex type {http://chercheurs.edf.com/logiciels/efficas}T_into with content type ELEMENT_ONLY""" - _TypeDefinition = None - _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY - _Abstract = False - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_into') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 501, 1) - _ElementMap = {} - _AttributeMap = {} - # Base type is pyxb.binding.datatypes.anyType - - # Element {http://chercheurs.edf.com/logiciels/efficas}fonction_utilisateur uses Python identifier fonction_utilisateur - __fonction_utilisateur = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'fonction_utilisateur'), 'fonction_utilisateur', '__httpchercheurs_edf_comlogicielsefficas_T_into_httpchercheurs_edf_comlogicielsefficasfonction_utilisateur', True, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 10, 1), ) - - - fonction_utilisateur = property(__fonction_utilisateur.value, __fonction_utilisateur.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}typesimple uses Python identifier typesimple - __typesimple = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'typesimple'), 'typesimple', '__httpchercheurs_edf_comlogicielsefficas_T_into_httpchercheurs_edf_comlogicielsefficastypesimple', True, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 464, 1), ) - - - typesimple = property(__typesimple.value, __typesimple.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}matrice_double uses Python identifier matrice_double - __matrice_double = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'matrice_double'), 'matrice_double', '__httpchercheurs_edf_comlogicielsefficas_T_into_httpchercheurs_edf_comlogicielsefficasmatrice_double', True, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 465, 1), ) - - - matrice_double = property(__matrice_double.value, __matrice_double.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}matrice_symetrique_double uses Python identifier matrice_symetrique_double - __matrice_symetrique_double = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'matrice_symetrique_double'), 'matrice_symetrique_double', '__httpchercheurs_edf_comlogicielsefficas_T_into_httpchercheurs_edf_comlogicielsefficasmatrice_symetrique_double', True, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 466, 1), ) - - - matrice_symetrique_double = property(__matrice_symetrique_double.value, __matrice_symetrique_double.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}tuple uses Python identifier tuple - __tuple = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'tuple'), 'tuple', '__httpchercheurs_edf_comlogicielsefficas_T_into_httpchercheurs_edf_comlogicielsefficastuple', True, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 467, 1), ) - - - tuple = property(__tuple.value, __tuple.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}classe_utilisateur uses Python identifier classe_utilisateur - __classe_utilisateur = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'classe_utilisateur'), 'classe_utilisateur', '__httpchercheurs_edf_comlogicielsefficas_T_into_httpchercheurs_edf_comlogicielsefficasclasse_utilisateur', True, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 468, 1), ) - - - classe_utilisateur = property(__classe_utilisateur.value, __classe_utilisateur.set, None, None) - - _ElementMap.update({ - __fonction_utilisateur.name() : __fonction_utilisateur, - __typesimple.name() : __typesimple, - __matrice_double.name() : __matrice_double, - __matrice_symetrique_double.name() : __matrice_symetrique_double, - __tuple.name() : __tuple, - __classe_utilisateur.name() : __classe_utilisateur - }) - _AttributeMap.update({ - - }) -Namespace.addCategoryObject('typeBinding', u'T_into', T_into) - - -# Complex type {http://chercheurs.edf.com/logiciels/efficas}T_doc with content type EMPTY -class T_doc (pyxb.binding.basis.complexTypeDefinition): - """Complex type {http://chercheurs.edf.com/logiciels/efficas}T_doc with content type EMPTY""" - _TypeDefinition = None - _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_EMPTY - _Abstract = False - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_doc') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 61, 1) - _ElementMap = {} - _AttributeMap = {} - # Base type is pyxb.binding.datatypes.anyType - - # Attribute {http://chercheurs.edf.com/logiciels/efficas}fr uses Python identifier fr - __fr = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(Namespace, u'fr'), 'fr', '__httpchercheurs_edf_comlogicielsefficas_T_doc_httpchercheurs_edf_comlogicielsefficasfr', pyxb.binding.datatypes.string) - __fr._DeclarationLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 53, 1) - __fr._UseLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 62, 2) - - fr = property(__fr.value, __fr.set, None, None) - - - # Attribute {http://chercheurs.edf.com/logiciels/efficas}ang uses Python identifier ang - __ang = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(Namespace, u'ang'), 'ang', '__httpchercheurs_edf_comlogicielsefficas_T_doc_httpchercheurs_edf_comlogicielsefficasang', pyxb.binding.datatypes.string) - __ang._DeclarationLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 54, 1) - __ang._UseLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 63, 2) - - ang = property(__ang.value, __ang.set, None, None) - - - # Attribute {http://chercheurs.edf.com/logiciels/efficas}docu uses Python identifier docu - __docu = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(Namespace, u'docu'), 'docu', '__httpchercheurs_edf_comlogicielsefficas_T_doc_httpchercheurs_edf_comlogicielsefficasdocu', AT_docu) - __docu._DeclarationLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 55, 1) - __docu._UseLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 64, 2) - - docu = property(__docu.value, __docu.set, None, None) - - _ElementMap.update({ - - }) - _AttributeMap.update({ - __fr.name() : __fr, - __ang.name() : __ang, - __docu.name() : __docu - }) -Namespace.addCategoryObject('typeBinding', u'T_doc', T_doc) - - -# Complex type {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common with content type ELEMENT_ONLY -class T_Accas_Common (pyxb.binding.basis.complexTypeDefinition): - """Complex type {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common with content type ELEMENT_ONLY""" - _TypeDefinition = None - _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY - _Abstract = False - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_Accas.Common') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 87, 1) - _ElementMap = {} - _AttributeMap = {} - # Base type is pyxb.binding.datatypes.anyType - - # Element {http://chercheurs.edf.com/logiciels/efficas}doc uses Python identifier doc - __doc = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'doc'), 'doc', '__httpchercheurs_edf_comlogicielsefficas_T_Accas_Common_httpchercheurs_edf_comlogicielsefficasdoc', False, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 4, 1), ) - - - doc = property(__doc.value, __doc.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}regles uses Python identifier regles - __regles = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'regles'), 'regles', '__httpchercheurs_edf_comlogicielsefficas_T_Accas_Common_httpchercheurs_edf_comlogicielsefficasregles', False, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 6, 1), ) - - - regles = property(__regles.value, __regles.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}SIMP uses Python identifier SIMP - __SIMP = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'SIMP'), 'SIMP', '__httpchercheurs_edf_comlogicielsefficas_T_Accas_Common_httpchercheurs_edf_comlogicielsefficasSIMP', True, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 43, 1), ) - - - SIMP = property(__SIMP.value, __SIMP.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}FACT uses Python identifier FACT - __FACT = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'FACT'), 'FACT', '__httpchercheurs_edf_comlogicielsefficas_T_Accas_Common_httpchercheurs_edf_comlogicielsefficasFACT', True, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 123, 1), ) - - - FACT = property(__FACT.value, __FACT.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}BLOC uses Python identifier BLOC - __BLOC = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'BLOC'), 'BLOC', '__httpchercheurs_edf_comlogicielsefficas_T_Accas_Common_httpchercheurs_edf_comlogicielsefficasBLOC', True, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 157, 1), ) - - - BLOC = property(__BLOC.value, __BLOC.set, None, None) - - - # Attribute {http://chercheurs.edf.com/logiciels/efficas}nom uses Python identifier nom - __nom = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(Namespace, u'nom'), 'nom', '__httpchercheurs_edf_comlogicielsefficas_T_Accas_Common_httpchercheurs_edf_comlogicielsefficasnom', AT_nom, required=True) - __nom._DeclarationLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 51, 1) - __nom._UseLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 97, 2) - - nom = property(__nom.value, __nom.set, None, None) - - _ElementMap.update({ - __doc.name() : __doc, - __regles.name() : __regles, - __SIMP.name() : __SIMP, - __FACT.name() : __FACT, - __BLOC.name() : __BLOC - }) - _AttributeMap.update({ - __nom.name() : __nom - }) -Namespace.addCategoryObject('typeBinding', u'T_Accas.Common', T_Accas_Common) - - -# Complex type {http://chercheurs.edf.com/logiciels/efficas}T_SIMP with content type ELEMENT_ONLY -class T_SIMP (pyxb.binding.basis.complexTypeDefinition): - """Complex type {http://chercheurs.edf.com/logiciels/efficas}T_SIMP with content type ELEMENT_ONLY""" - _TypeDefinition = None - _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY - _Abstract = False - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_SIMP') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 167, 1) - _ElementMap = {} - _AttributeMap = {} - # Base type is pyxb.binding.datatypes.anyType - - # Element {http://chercheurs.edf.com/logiciels/efficas}doc uses Python identifier doc - __doc = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'doc'), 'doc', '__httpchercheurs_edf_comlogicielsefficas_T_SIMP_httpchercheurs_edf_comlogicielsefficasdoc', False, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 4, 1), ) - - - doc = property(__doc.value, __doc.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}ValeurDef uses Python identifier ValeurDef - __ValeurDef = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'ValeurDef'), 'ValeurDef', '__httpchercheurs_edf_comlogicielsefficas_T_SIMP_httpchercheurs_edf_comlogicielsefficasValeurDef', False, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 8, 1), ) - - - ValeurDef = property(__ValeurDef.value, __ValeurDef.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}ValeurSugg uses Python identifier ValeurSugg - __ValeurSugg = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'ValeurSugg'), 'ValeurSugg', '__httpchercheurs_edf_comlogicielsefficas_T_SIMP_httpchercheurs_edf_comlogicielsefficasValeurSugg', False, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 9, 1), ) - - - ValeurSugg = property(__ValeurSugg.value, __ValeurSugg.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}validators uses Python identifier validators - __validators = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'validators'), 'validators', '__httpchercheurs_edf_comlogicielsefficas_T_SIMP_httpchercheurs_edf_comlogicielsefficasvalidators', False, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 39, 1), ) - - - validators = property(__validators.value, __validators.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}PlageValeur uses Python identifier PlageValeur - __PlageValeur = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'PlageValeur'), 'PlageValeur', '__httpchercheurs_edf_comlogicielsefficas_T_SIMP_httpchercheurs_edf_comlogicielsefficasPlageValeur', False, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 40, 1), ) - - - PlageValeur = property(__PlageValeur.value, __PlageValeur.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}typeAttendu uses Python identifier typeAttendu - __typeAttendu = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'typeAttendu'), 'typeAttendu', '__httpchercheurs_edf_comlogicielsefficas_T_SIMP_httpchercheurs_edf_comlogicielsefficastypeAttendu', False, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 41, 1), ) - - - typeAttendu = property(__typeAttendu.value, __typeAttendu.set, None, None) - - - # Element {http://chercheurs.edf.com/logiciels/efficas}portee uses Python identifier portee - __portee = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'portee'), 'portee', '__httpchercheurs_edf_comlogicielsefficas_T_SIMP_httpchercheurs_edf_comlogicielsefficasportee', False, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 44, 1), ) - - - portee = property(__portee.value, __portee.set, None, None) - - - # Attribute {http://chercheurs.edf.com/logiciels/efficas}nom uses Python identifier nom - __nom = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(Namespace, u'nom'), 'nom', '__httpchercheurs_edf_comlogicielsefficas_T_SIMP_httpchercheurs_edf_comlogicielsefficasnom', AT_nom, required=True) - __nom._DeclarationLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 51, 1) - __nom._UseLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 181, 2) - - nom = property(__nom.value, __nom.set, None, None) - - - # Attribute {http://chercheurs.edf.com/logiciels/efficas}statut uses Python identifier statut - __statut = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(Namespace, u'statut'), 'statut', '__httpchercheurs_edf_comlogicielsefficas_T_SIMP_httpchercheurs_edf_comlogicielsefficasstatut', AT_statut, unicode_default=u'o') - __statut._DeclarationLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 57, 1) - __statut._UseLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 182, 2) - - statut = property(__statut.value, __statut.set, None, None) - - - # Attribute {http://chercheurs.edf.com/logiciels/efficas}max_occurs uses Python identifier max_occurs - __max_occurs = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(Namespace, u'max_occurs'), 'max_occurs', '__httpchercheurs_edf_comlogicielsefficas_T_SIMP_httpchercheurs_edf_comlogicielsefficasmax_occurs', AT_max_occurs, unicode_default=u'1') - __max_occurs._DeclarationLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 58, 1) - __max_occurs._UseLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 184, 2) - - max_occurs = property(__max_occurs.value, __max_occurs.set, None, None) - - - # Attribute {http://chercheurs.edf.com/logiciels/efficas}min_occurs uses Python identifier min_occurs - __min_occurs = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(Namespace, u'min_occurs'), 'min_occurs', '__httpchercheurs_edf_comlogicielsefficas_T_SIMP_httpchercheurs_edf_comlogicielsefficasmin_occurs', AT_min_occurs, unicode_default=u'1') - __min_occurs._DeclarationLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 59, 1) - __min_occurs._UseLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 183, 2) - - min_occurs = property(__min_occurs.value, __min_occurs.set, None, None) - - _ElementMap.update({ - __doc.name() : __doc, - __ValeurDef.name() : __ValeurDef, - __ValeurSugg.name() : __ValeurSugg, - __validators.name() : __validators, - __PlageValeur.name() : __PlageValeur, - __typeAttendu.name() : __typeAttendu, - __portee.name() : __portee - }) - _AttributeMap.update({ - __nom.name() : __nom, - __statut.name() : __statut, - __max_occurs.name() : __max_occurs, - __min_occurs.name() : __min_occurs - }) -Namespace.addCategoryObject('typeBinding', u'T_SIMP', T_SIMP) - - -# Complex type {http://chercheurs.edf.com/logiciels/efficas}T_Matrice_double with content type SIMPLE -class T_Matrice_double (pyxb.binding.basis.complexTypeDefinition): - """Complex type {http://chercheurs.edf.com/logiciels/efficas}T_Matrice_double with content type SIMPLE""" - _TypeDefinition = T_list_double - _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_SIMPLE - _Abstract = False - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_Matrice_double') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 432, 1) - _ElementMap = {} - _AttributeMap = {} - # Base type is T_list_double - - # Attribute n uses Python identifier n - __n = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, u'n'), 'n', '__httpchercheurs_edf_comlogicielsefficas_T_Matrice_double_n', pyxb.binding.datatypes.integer, required=True) - __n._DeclarationLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 435, 4) - __n._UseLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 435, 4) - - n = property(__n.value, __n.set, None, None) - - - # Attribute m uses Python identifier m - __m = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, u'm'), 'm', '__httpchercheurs_edf_comlogicielsefficas_T_Matrice_double_m', pyxb.binding.datatypes.integer, required=True) - __m._DeclarationLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 436, 4) - __m._UseLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 436, 4) - - m = property(__m.value, __m.set, None, None) - - _ElementMap.update({ - - }) - _AttributeMap.update({ - __n.name() : __n, - __m.name() : __m - }) -Namespace.addCategoryObject('typeBinding', u'T_Matrice_double', T_Matrice_double) - - -# Complex type {http://chercheurs.edf.com/logiciels/efficas}T_Matrice_Symetrique_double with content type SIMPLE -class T_Matrice_Symetrique_double (pyxb.binding.basis.complexTypeDefinition): - """Complex type {http://chercheurs.edf.com/logiciels/efficas}T_Matrice_Symetrique_double with content type SIMPLE""" - _TypeDefinition = T_list_double - _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_SIMPLE - _Abstract = False - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_Matrice_Symetrique_double') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 441, 1) - _ElementMap = {} - _AttributeMap = {} - # Base type is T_list_double - - # Attribute n uses Python identifier n - __n = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(None, u'n'), 'n', '__httpchercheurs_edf_comlogicielsefficas_T_Matrice_Symetrique_double_n', pyxb.binding.datatypes.int, required=True) - __n._DeclarationLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 444, 4) - __n._UseLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 444, 4) - - n = property(__n.value, __n.set, None, None) - - _ElementMap.update({ - - }) - _AttributeMap.update({ - __n.name() : __n - }) -Namespace.addCategoryObject('typeBinding', u'T_Matrice_Symetrique_double', T_Matrice_Symetrique_double) - - -# Complex type {http://chercheurs.edf.com/logiciels/efficas}T_typeAttendu with content type ELEMENT_ONLY -class T_typeAttendu (T_into): - """Complex type {http://chercheurs.edf.com/logiciels/efficas}T_typeAttendu with content type ELEMENT_ONLY""" - _TypeDefinition = None - _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY - _Abstract = False - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_typeAttendu') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 512, 1) - _ElementMap = T_into._ElementMap.copy() - _AttributeMap = T_into._AttributeMap.copy() - # Base type is T_into - - # Element typesimple ({http://chercheurs.edf.com/logiciels/efficas}typesimple) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_into - - # Element matrice_double ({http://chercheurs.edf.com/logiciels/efficas}matrice_double) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_into - - # Element matrice_symetrique_double ({http://chercheurs.edf.com/logiciels/efficas}matrice_symetrique_double) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_into - - # Element tuple ({http://chercheurs.edf.com/logiciels/efficas}tuple) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_into - - # Element classe_utilisateur ({http://chercheurs.edf.com/logiciels/efficas}classe_utilisateur) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_into - _ElementMap.update({ - - }) - _AttributeMap.update({ - - }) -Namespace.addCategoryObject('typeBinding', u'T_typeAttendu', T_typeAttendu) - - -# Complex type {http://chercheurs.edf.com/logiciels/efficas}T_OPER with content type ELEMENT_ONLY -class T_OPER (T_Accas_Common): - """Complex type {http://chercheurs.edf.com/logiciels/efficas}T_OPER with content type ELEMENT_ONLY""" - _TypeDefinition = None - _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY - _Abstract = False - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_OPER') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 100, 1) - _ElementMap = T_Accas_Common._ElementMap.copy() - _AttributeMap = T_Accas_Common._AttributeMap.copy() - # Base type is T_Accas_Common - - # Element doc ({http://chercheurs.edf.com/logiciels/efficas}doc) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - - # Element regles ({http://chercheurs.edf.com/logiciels/efficas}regles) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - - # Element {http://chercheurs.edf.com/logiciels/efficas}typeCree uses Python identifier typeCree - __typeCree = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'typeCree'), 'typeCree', '__httpchercheurs_edf_comlogicielsefficas_T_OPER_httpchercheurs_edf_comlogicielsefficastypeCree', False, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 7, 1), ) - - - typeCree = property(__typeCree.value, __typeCree.set, None, None) - - - # Element SIMP ({http://chercheurs.edf.com/logiciels/efficas}SIMP) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - - # Element FACT ({http://chercheurs.edf.com/logiciels/efficas}FACT) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - - # Element BLOC ({http://chercheurs.edf.com/logiciels/efficas}BLOC) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - - # Attribute nom inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - - # Attribute {http://chercheurs.edf.com/logiciels/efficas}subroutine uses Python identifier subroutine - __subroutine = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(Namespace, u'subroutine'), 'subroutine', '__httpchercheurs_edf_comlogicielsefficas_T_OPER_httpchercheurs_edf_comlogicielsefficassubroutine', AT_subroutine, unicode_default=u'None') - __subroutine._DeclarationLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 60, 1) - __subroutine._UseLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 106, 4) - - subroutine = property(__subroutine.value, __subroutine.set, None, None) - - _ElementMap.update({ - __typeCree.name() : __typeCree - }) - _AttributeMap.update({ - __subroutine.name() : __subroutine - }) -Namespace.addCategoryObject('typeBinding', u'T_OPER', T_OPER) - - -# Complex type {http://chercheurs.edf.com/logiciels/efficas}T_PROC with content type ELEMENT_ONLY -class T_PROC (T_Accas_Common): - """Complex type {http://chercheurs.edf.com/logiciels/efficas}T_PROC with content type ELEMENT_ONLY""" - _TypeDefinition = None - _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY - _Abstract = False - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_PROC') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 116, 1) - _ElementMap = T_Accas_Common._ElementMap.copy() - _AttributeMap = T_Accas_Common._AttributeMap.copy() - # Base type is T_Accas_Common - - # Element doc ({http://chercheurs.edf.com/logiciels/efficas}doc) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - - # Element regles ({http://chercheurs.edf.com/logiciels/efficas}regles) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - - # Element SIMP ({http://chercheurs.edf.com/logiciels/efficas}SIMP) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - - # Element FACT ({http://chercheurs.edf.com/logiciels/efficas}FACT) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - - # Element BLOC ({http://chercheurs.edf.com/logiciels/efficas}BLOC) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - - # Attribute nom inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - - # Attribute {http://chercheurs.edf.com/logiciels/efficas}subroutine uses Python identifier subroutine - __subroutine = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(Namespace, u'subroutine'), 'subroutine', '__httpchercheurs_edf_comlogicielsefficas_T_PROC_httpchercheurs_edf_comlogicielsefficassubroutine', AT_subroutine, unicode_default=u'None') - __subroutine._DeclarationLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 60, 1) - __subroutine._UseLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 119, 4) - - subroutine = property(__subroutine.value, __subroutine.set, None, None) - - _ElementMap.update({ - - }) - _AttributeMap.update({ - __subroutine.name() : __subroutine - }) -Namespace.addCategoryObject('typeBinding', u'T_PROC', T_PROC) - - -# Complex type {http://chercheurs.edf.com/logiciels/efficas}T_FACT with content type ELEMENT_ONLY -class T_FACT (T_Accas_Common): - """Complex type {http://chercheurs.edf.com/logiciels/efficas}T_FACT with content type ELEMENT_ONLY""" - _TypeDefinition = None - _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY - _Abstract = False - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_FACT') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 139, 1) - _ElementMap = T_Accas_Common._ElementMap.copy() - _AttributeMap = T_Accas_Common._AttributeMap.copy() - # Base type is T_Accas_Common - - # Element doc ({http://chercheurs.edf.com/logiciels/efficas}doc) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - - # Element regles ({http://chercheurs.edf.com/logiciels/efficas}regles) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - - # Element SIMP ({http://chercheurs.edf.com/logiciels/efficas}SIMP) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - - # Element FACT ({http://chercheurs.edf.com/logiciels/efficas}FACT) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - - # Element BLOC ({http://chercheurs.edf.com/logiciels/efficas}BLOC) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - - # Attribute nom inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - - # Attribute {http://chercheurs.edf.com/logiciels/efficas}statut uses Python identifier statut - __statut = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(Namespace, u'statut'), 'statut', '__httpchercheurs_edf_comlogicielsefficas_T_FACT_httpchercheurs_edf_comlogicielsefficasstatut', AT_statut, unicode_default=u'o') - __statut._DeclarationLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 57, 1) - __statut._UseLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 142, 4) - - statut = property(__statut.value, __statut.set, None, None) - - - # Attribute {http://chercheurs.edf.com/logiciels/efficas}max_occurs uses Python identifier max_occurs - __max_occurs = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(Namespace, u'max_occurs'), 'max_occurs', '__httpchercheurs_edf_comlogicielsefficas_T_FACT_httpchercheurs_edf_comlogicielsefficasmax_occurs', AT_max_occurs, unicode_default=u'1') - __max_occurs._DeclarationLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 58, 1) - __max_occurs._UseLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 144, 4) - - max_occurs = property(__max_occurs.value, __max_occurs.set, None, None) - - - # Attribute {http://chercheurs.edf.com/logiciels/efficas}min_occurs uses Python identifier min_occurs - __min_occurs = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(Namespace, u'min_occurs'), 'min_occurs', '__httpchercheurs_edf_comlogicielsefficas_T_FACT_httpchercheurs_edf_comlogicielsefficasmin_occurs', AT_min_occurs, unicode_default=u'1') - __min_occurs._DeclarationLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 59, 1) - __min_occurs._UseLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 143, 4) - - min_occurs = property(__min_occurs.value, __min_occurs.set, None, None) - - _ElementMap.update({ - - }) - _AttributeMap.update({ - __statut.name() : __statut, - __max_occurs.name() : __max_occurs, - __min_occurs.name() : __min_occurs - }) -Namespace.addCategoryObject('typeBinding', u'T_FACT', T_FACT) - - -# Complex type {http://chercheurs.edf.com/logiciels/efficas}T_BLOC with content type ELEMENT_ONLY -class T_BLOC (T_Accas_Common): - """Complex type {http://chercheurs.edf.com/logiciels/efficas}T_BLOC with content type ELEMENT_ONLY""" - _TypeDefinition = None - _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_ELEMENT_ONLY - _Abstract = False - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_BLOC') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 158, 1) - _ElementMap = T_Accas_Common._ElementMap.copy() - _AttributeMap = T_Accas_Common._AttributeMap.copy() - # Base type is T_Accas_Common - - # Element doc ({http://chercheurs.edf.com/logiciels/efficas}doc) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - - # Element regles ({http://chercheurs.edf.com/logiciels/efficas}regles) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - - # Element SIMP ({http://chercheurs.edf.com/logiciels/efficas}SIMP) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - - # Element {http://chercheurs.edf.com/logiciels/efficas}condition uses Python identifier condition - __condition = pyxb.binding.content.ElementDeclaration(pyxb.namespace.ExpandedName(Namespace, u'condition'), 'condition', '__httpchercheurs_edf_comlogicielsefficas_T_BLOC_httpchercheurs_edf_comlogicielsefficascondition', False, pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 45, 1), ) - - - condition = property(__condition.value, __condition.set, None, None) - - - # Element FACT ({http://chercheurs.edf.com/logiciels/efficas}FACT) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - - # Element BLOC ({http://chercheurs.edf.com/logiciels/efficas}BLOC) inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - - # Attribute nom inherited from {http://chercheurs.edf.com/logiciels/efficas}T_Accas.Common - _ElementMap.update({ - __condition.name() : __condition - }) - _AttributeMap.update({ - - }) -Namespace.addCategoryObject('typeBinding', u'T_BLOC', T_BLOC) - - -# Complex type {http://chercheurs.edf.com/logiciels/efficas}T_classe_utilisateur_username with content type SIMPLE -class T_classe_utilisateur_username (pyxb.binding.basis.complexTypeDefinition): - """Complex type {http://chercheurs.edf.com/logiciels/efficas}T_classe_utilisateur_username with content type SIMPLE""" - _TypeDefinition = T_classe_utilisateur_name - _ContentTypeTag = pyxb.binding.basis.complexTypeDefinition._CT_SIMPLE - _Abstract = False - _ExpandedName = pyxb.namespace.ExpandedName(Namespace, u'T_classe_utilisateur_username') - _XSDLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 376, 1) - _ElementMap = {} - _AttributeMap = {} - # Base type is T_classe_utilisateur_name - - # Attribute {http://chercheurs.edf.com/logiciels/efficas}nom uses Python identifier nom - __nom = pyxb.binding.content.AttributeUse(pyxb.namespace.ExpandedName(Namespace, u'nom'), 'nom', '__httpchercheurs_edf_comlogicielsefficas_T_classe_utilisateur_username_httpchercheurs_edf_comlogicielsefficasnom', AT_nom, required=True) - __nom._DeclarationLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 51, 1) - __nom._UseLocation = pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 379, 4) - - nom = property(__nom.value, __nom.set, None, None) - - _ElementMap.update({ - - }) - _AttributeMap.update({ - __nom.name() : __nom - }) -Namespace.addCategoryObject('typeBinding', u'T_classe_utilisateur_username', T_classe_utilisateur_username) - - -cata = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'cata'), T_cata, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 5, 1)) -Namespace.addCategoryObject('elementBinding', cata.name().localName(), cata) - -regles = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'regles'), T_regles, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 6, 1)) -Namespace.addCategoryObject('elementBinding', regles.name().localName(), regles) - -fonction_utilisateur = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'fonction_utilisateur'), T_fonction_python, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 10, 1)) -Namespace.addCategoryObject('elementBinding', fonction_utilisateur.name().localName(), fonction_utilisateur) - -commandes = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'commandes'), T_commandes, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 11, 1)) -Namespace.addCategoryObject('elementBinding', commandes.name().localName(), commandes) - -validators = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'validators'), T_validators, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 39, 1)) -Namespace.addCategoryObject('elementBinding', validators.name().localName(), validators) - -PlageValeur = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'PlageValeur'), T_PlageValeur, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 40, 1)) -Namespace.addCategoryObject('elementBinding', PlageValeur.name().localName(), PlageValeur) - -portee = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'portee'), T_portee, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 44, 1), unicode_default=u'None') -Namespace.addCategoryObject('elementBinding', portee.name().localName(), portee) - -condition = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'condition'), T_fonction_python, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 45, 1)) -Namespace.addCategoryObject('elementBinding', condition.name().localName(), condition) - -into = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'into'), T_into, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 49, 1)) -Namespace.addCategoryObject('elementBinding', into.name().localName(), into) - -A_CLASSER = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'A_CLASSER'), T_predicat2, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 257, 1)) -Namespace.addCategoryObject('elementBinding', A_CLASSER.name().localName(), A_CLASSER) - -tuple = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'tuple'), T_tuple, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 467, 1)) -Namespace.addCategoryObject('elementBinding', tuple.name().localName(), tuple) - -doc = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'doc'), T_doc, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 4, 1)) -Namespace.addCategoryObject('elementBinding', doc.name().localName(), doc) - -typeCree = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'typeCree'), T_classe_utilisateur, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 7, 1)) -Namespace.addCategoryObject('elementBinding', typeCree.name().localName(), typeCree) - -ValeurDef = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'ValeurDef'), T_typeAttendu, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 8, 1)) -Namespace.addCategoryObject('elementBinding', ValeurDef.name().localName(), ValeurDef) - -ValeurSugg = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'ValeurSugg'), T_typeAttendu, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 9, 1)) -Namespace.addCategoryObject('elementBinding', ValeurSugg.name().localName(), ValeurSugg) - -SIMP = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'SIMP'), T_SIMP, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 43, 1)) -Namespace.addCategoryObject('elementBinding', SIMP.name().localName(), SIMP) - -borne_sup = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'borne_sup'), T_typeAttendu, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 46, 1)) -Namespace.addCategoryObject('elementBinding', borne_sup.name().localName(), borne_sup) - -borne_inf = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'borne_inf'), T_typeAttendu, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 47, 1)) -Namespace.addCategoryObject('elementBinding', borne_inf.name().localName(), borne_inf) - -AU_MOINS_UN = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'AU_MOINS_UN'), T_predicat1, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 258, 1)) -Namespace.addCategoryObject('elementBinding', AU_MOINS_UN.name().localName(), AU_MOINS_UN) - -AU_PLUS_UN = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'AU_PLUS_UN'), T_predicat1, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 259, 1)) -Namespace.addCategoryObject('elementBinding', AU_PLUS_UN.name().localName(), AU_PLUS_UN) - -ENSEMBLE = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'ENSEMBLE'), T_predicat1, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 260, 1)) -Namespace.addCategoryObject('elementBinding', ENSEMBLE.name().localName(), ENSEMBLE) - -EXCLUS = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'EXCLUS'), T_predicat1, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 261, 1)) -Namespace.addCategoryObject('elementBinding', EXCLUS.name().localName(), EXCLUS) - -PRESENT_ABSENT = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'PRESENT_ABSENT'), T_predicat1, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 269, 1)) -Namespace.addCategoryObject('elementBinding', PRESENT_ABSENT.name().localName(), PRESENT_ABSENT) - -PRESENT_PRESENT = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'PRESENT_PRESENT'), T_predicat1, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 270, 1)) -Namespace.addCategoryObject('elementBinding', PRESENT_PRESENT.name().localName(), PRESENT_PRESENT) - -UN_PARMI = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'UN_PARMI'), T_predicat1, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 271, 1)) -Namespace.addCategoryObject('elementBinding', UN_PARMI.name().localName(), UN_PARMI) - -matrice_double = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'matrice_double'), T_Matrice_double, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 465, 1)) -Namespace.addCategoryObject('elementBinding', matrice_double.name().localName(), matrice_double) - -matrice_symetrique_double = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'matrice_symetrique_double'), T_Matrice_Symetrique_double, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 466, 1)) -Namespace.addCategoryObject('elementBinding', matrice_symetrique_double.name().localName(), matrice_symetrique_double) - -classe_utilisateur = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'classe_utilisateur'), T_classe_utilisateur, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 468, 1)) -Namespace.addCategoryObject('elementBinding', classe_utilisateur.name().localName(), classe_utilisateur) - -OPER = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'OPER'), T_OPER, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 99, 1)) -Namespace.addCategoryObject('elementBinding', OPER.name().localName(), OPER) - -PROC = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'PROC'), T_PROC, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 110, 1)) -Namespace.addCategoryObject('elementBinding', PROC.name().localName(), PROC) - -FACT = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'FACT'), T_FACT, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 123, 1)) -Namespace.addCategoryObject('elementBinding', FACT.name().localName(), FACT) - -BLOC = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'BLOC'), T_BLOC, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 157, 1)) -Namespace.addCategoryObject('elementBinding', BLOC.name().localName(), BLOC) - -typeAttendu = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'typeAttendu'), T_name, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 41, 1)) -Namespace.addCategoryObject('elementBinding', typeAttendu.name().localName(), typeAttendu) - -typesimple = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'typesimple'), T_simple, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 464, 1)) -Namespace.addCategoryObject('elementBinding', typesimple.name().localName(), typesimple) - -classeUtilisateurName = pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'classeUtilisateurName'), T_classe_utilisateur_username, abstract=pyxb.binding.datatypes.boolean(1), location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 42, 1)) -Namespace.addCategoryObject('elementBinding', classeUtilisateurName.name().localName(), classeUtilisateurName) - - - -T_cata._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'commandes'), T_commandes, scope=T_cata, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 11, 1))) - -def _BuildAutomaton (): - # Remove this helper function from the namespace after it is invoked - global _BuildAutomaton - del _BuildAutomaton - import pyxb.utils.fac as fac - - counters = set() - cc_0 = fac.CounterCondition(min=0L, max=None, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 68, 3)) - counters.add(cc_0) - states = [] - final_update = set() - final_update.add(fac.UpdateInstruction(cc_0, False)) - symbol = pyxb.binding.content.ElementUse(T_cata._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'commandes')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 68, 3)) - st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_0) - transitions = [] - transitions.append(fac.Transition(st_0, [ - fac.UpdateInstruction(cc_0, True) ])) - st_0._set_transitionSet(transitions) - return fac.Automaton(states, counters, True, containing_state=None) -T_cata._Automaton = _BuildAutomaton() - - - - -T_commandes._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'OPER'), T_OPER, scope=T_commandes, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 99, 1))) - -T_commandes._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'PROC'), T_PROC, scope=T_commandes, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 110, 1))) - -def _BuildAutomaton_ (): - # Remove this helper function from the namespace after it is invoked - global _BuildAutomaton_ - del _BuildAutomaton_ - import pyxb.utils.fac as fac - - counters = set() - cc_0 = fac.CounterCondition(min=0L, max=None, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 72, 2)) - counters.add(cc_0) - states = [] - final_update = set() - final_update.add(fac.UpdateInstruction(cc_0, False)) - symbol = pyxb.binding.content.ElementUse(T_commandes._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'OPER')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 73, 3)) - st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_0) - final_update = set() - final_update.add(fac.UpdateInstruction(cc_0, False)) - symbol = pyxb.binding.content.ElementUse(T_commandes._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'PROC')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 74, 3)) - st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_1) - transitions = [] - transitions.append(fac.Transition(st_0, [ - fac.UpdateInstruction(cc_0, True) ])) - transitions.append(fac.Transition(st_1, [ - fac.UpdateInstruction(cc_0, True) ])) - st_0._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_0, [ - fac.UpdateInstruction(cc_0, True) ])) - transitions.append(fac.Transition(st_1, [ - fac.UpdateInstruction(cc_0, True) ])) - st_1._set_transitionSet(transitions) - return fac.Automaton(states, counters, True, containing_state=None) -T_commandes._Automaton = _BuildAutomaton_() - - - - -T_PlageValeur._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'borne_sup'), T_typeAttendu, scope=T_PlageValeur, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 46, 1))) - -T_PlageValeur._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'borne_inf'), T_typeAttendu, scope=T_PlageValeur, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 47, 1))) - -T_PlageValeur._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'into'), T_into, scope=T_PlageValeur, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 49, 1))) - -def _BuildAutomaton_2 (): - # Remove this helper function from the namespace after it is invoked - global _BuildAutomaton_2 - del _BuildAutomaton_2 - import pyxb.utils.fac as fac - - counters = set() - cc_0 = fac.CounterCondition(min=0L, max=1, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 81, 4)) - counters.add(cc_0) - cc_1 = fac.CounterCondition(min=0L, max=1, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 82, 4)) - counters.add(cc_1) - states = [] - final_update = set() - final_update.add(fac.UpdateInstruction(cc_0, False)) - symbol = pyxb.binding.content.ElementUse(T_PlageValeur._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'borne_sup')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 81, 4)) - st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_0) - final_update = set() - final_update.add(fac.UpdateInstruction(cc_1, False)) - symbol = pyxb.binding.content.ElementUse(T_PlageValeur._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'borne_inf')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 82, 4)) - st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_1) - final_update = set() - symbol = pyxb.binding.content.ElementUse(T_PlageValeur._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'into')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 84, 3)) - st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_2) - transitions = [] - transitions.append(fac.Transition(st_0, [ - fac.UpdateInstruction(cc_0, True) ])) - transitions.append(fac.Transition(st_1, [ - fac.UpdateInstruction(cc_0, False) ])) - st_0._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_1, [ - fac.UpdateInstruction(cc_1, True) ])) - st_1._set_transitionSet(transitions) - transitions = [] - st_2._set_transitionSet(transitions) - return fac.Automaton(states, counters, True, containing_state=None) -T_PlageValeur._Automaton = _BuildAutomaton_2() - - - - -T_predicat2._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'p1'), T_predicat1, scope=T_predicat2, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 252, 3))) - -T_predicat2._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'p2'), AT_nom, scope=T_predicat2, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 253, 3))) - -def _BuildAutomaton_3 (): - # Remove this helper function from the namespace after it is invoked - global _BuildAutomaton_3 - del _BuildAutomaton_3 - import pyxb.utils.fac as fac - - counters = set() - states = [] - final_update = None - symbol = pyxb.binding.content.ElementUse(T_predicat2._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'p1')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 252, 3)) - st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_0) - final_update = set() - symbol = pyxb.binding.content.ElementUse(T_predicat2._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'p2')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 253, 3)) - st_1 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False) - states.append(st_1) - transitions = [] - transitions.append(fac.Transition(st_1, [ - ])) - st_0._set_transitionSet(transitions) - transitions = [] - st_1._set_transitionSet(transitions) - return fac.Automaton(states, counters, False, containing_state=None) -T_predicat2._Automaton = _BuildAutomaton_3() - - - - -T_regles._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'A_CLASSER'), T_predicat2, scope=T_regles, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 257, 1))) - -T_regles._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'AU_MOINS_UN'), T_predicat1, scope=T_regles, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 258, 1))) - -T_regles._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'AU_PLUS_UN'), T_predicat1, scope=T_regles, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 259, 1))) - -T_regles._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'ENSEMBLE'), T_predicat1, scope=T_regles, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 260, 1))) - -T_regles._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'EXCLUS'), T_predicat1, scope=T_regles, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 261, 1))) - -T_regles._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'PRESENT_ABSENT'), T_predicat1, scope=T_regles, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 269, 1))) - -T_regles._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'PRESENT_PRESENT'), T_predicat1, scope=T_regles, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 270, 1))) - -T_regles._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'UN_PARMI'), T_predicat1, scope=T_regles, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 271, 1))) - -def _BuildAutomaton_4 (): - # Remove this helper function from the namespace after it is invoked - global _BuildAutomaton_4 - del _BuildAutomaton_4 - import pyxb.utils.fac as fac - - counters = set() - states = [] - final_update = set() - symbol = pyxb.binding.content.ElementUse(T_regles._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'A_CLASSER')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 274, 3)) - st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_0) - final_update = set() - symbol = pyxb.binding.content.ElementUse(T_regles._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'AU_MOINS_UN')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 275, 3)) - st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_1) - final_update = set() - symbol = pyxb.binding.content.ElementUse(T_regles._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'AU_PLUS_UN')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 276, 3)) - st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_2) - final_update = set() - symbol = pyxb.binding.content.ElementUse(T_regles._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'ENSEMBLE')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 277, 3)) - st_3 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_3) - final_update = set() - symbol = pyxb.binding.content.ElementUse(T_regles._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'EXCLUS')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 278, 3)) - st_4 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_4) - final_update = set() - symbol = pyxb.binding.content.ElementUse(T_regles._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'PRESENT_ABSENT')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 286, 3)) - st_5 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_5) - final_update = set() - symbol = pyxb.binding.content.ElementUse(T_regles._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'PRESENT_PRESENT')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 287, 3)) - st_6 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_6) - final_update = set() - symbol = pyxb.binding.content.ElementUse(T_regles._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'UN_PARMI')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 288, 3)) - st_7 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_7) - transitions = [] - transitions.append(fac.Transition(st_0, [ - ])) - transitions.append(fac.Transition(st_1, [ - ])) - transitions.append(fac.Transition(st_2, [ - ])) - transitions.append(fac.Transition(st_3, [ - ])) - transitions.append(fac.Transition(st_4, [ - ])) - transitions.append(fac.Transition(st_5, [ - ])) - transitions.append(fac.Transition(st_6, [ - ])) - transitions.append(fac.Transition(st_7, [ - ])) - st_0._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_0, [ - ])) - transitions.append(fac.Transition(st_1, [ - ])) - transitions.append(fac.Transition(st_2, [ - ])) - transitions.append(fac.Transition(st_3, [ - ])) - transitions.append(fac.Transition(st_4, [ - ])) - transitions.append(fac.Transition(st_5, [ - ])) - transitions.append(fac.Transition(st_6, [ - ])) - transitions.append(fac.Transition(st_7, [ - ])) - st_1._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_0, [ - ])) - transitions.append(fac.Transition(st_1, [ - ])) - transitions.append(fac.Transition(st_2, [ - ])) - transitions.append(fac.Transition(st_3, [ - ])) - transitions.append(fac.Transition(st_4, [ - ])) - transitions.append(fac.Transition(st_5, [ - ])) - transitions.append(fac.Transition(st_6, [ - ])) - transitions.append(fac.Transition(st_7, [ - ])) - st_2._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_0, [ - ])) - transitions.append(fac.Transition(st_1, [ - ])) - transitions.append(fac.Transition(st_2, [ - ])) - transitions.append(fac.Transition(st_3, [ - ])) - transitions.append(fac.Transition(st_4, [ - ])) - transitions.append(fac.Transition(st_5, [ - ])) - transitions.append(fac.Transition(st_6, [ - ])) - transitions.append(fac.Transition(st_7, [ - ])) - st_3._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_0, [ - ])) - transitions.append(fac.Transition(st_1, [ - ])) - transitions.append(fac.Transition(st_2, [ - ])) - transitions.append(fac.Transition(st_3, [ - ])) - transitions.append(fac.Transition(st_4, [ - ])) - transitions.append(fac.Transition(st_5, [ - ])) - transitions.append(fac.Transition(st_6, [ - ])) - transitions.append(fac.Transition(st_7, [ - ])) - st_4._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_0, [ - ])) - transitions.append(fac.Transition(st_1, [ - ])) - transitions.append(fac.Transition(st_2, [ - ])) - transitions.append(fac.Transition(st_3, [ - ])) - transitions.append(fac.Transition(st_4, [ - ])) - transitions.append(fac.Transition(st_5, [ - ])) - transitions.append(fac.Transition(st_6, [ - ])) - transitions.append(fac.Transition(st_7, [ - ])) - st_5._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_0, [ - ])) - transitions.append(fac.Transition(st_1, [ - ])) - transitions.append(fac.Transition(st_2, [ - ])) - transitions.append(fac.Transition(st_3, [ - ])) - transitions.append(fac.Transition(st_4, [ - ])) - transitions.append(fac.Transition(st_5, [ - ])) - transitions.append(fac.Transition(st_6, [ - ])) - transitions.append(fac.Transition(st_7, [ - ])) - st_6._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_0, [ - ])) - transitions.append(fac.Transition(st_1, [ - ])) - transitions.append(fac.Transition(st_2, [ - ])) - transitions.append(fac.Transition(st_3, [ - ])) - transitions.append(fac.Transition(st_4, [ - ])) - transitions.append(fac.Transition(st_5, [ - ])) - transitions.append(fac.Transition(st_6, [ - ])) - transitions.append(fac.Transition(st_7, [ - ])) - st_7._set_transitionSet(transitions) - return fac.Automaton(states, counters, False, containing_state=None) -T_regles._Automaton = _BuildAutomaton_4() - - - - -T_into._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'fonction_utilisateur'), T_fonction_python, scope=T_into, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 10, 1))) - -T_into._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'typesimple'), T_simple, scope=T_into, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 464, 1))) - -T_into._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'matrice_double'), T_Matrice_double, scope=T_into, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 465, 1))) - -T_into._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'matrice_symetrique_double'), T_Matrice_Symetrique_double, scope=T_into, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 466, 1))) - -T_into._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'tuple'), T_tuple, scope=T_into, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 467, 1))) - -T_into._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'classe_utilisateur'), T_classe_utilisateur, scope=T_into, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 468, 1))) - -def _BuildAutomaton_5 (): - # Remove this helper function from the namespace after it is invoked - global _BuildAutomaton_5 - del _BuildAutomaton_5 - import pyxb.utils.fac as fac - - counters = set() - cc_0 = fac.CounterCondition(min=0L, max=None, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 504, 3)) - counters.add(cc_0) - cc_1 = fac.CounterCondition(min=0L, max=None, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 505, 3)) - counters.add(cc_1) - cc_2 = fac.CounterCondition(min=0L, max=None, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 506, 3)) - counters.add(cc_2) - cc_3 = fac.CounterCondition(min=0L, max=None, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 507, 3)) - counters.add(cc_3) - cc_4 = fac.CounterCondition(min=0L, max=None, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 508, 3)) - counters.add(cc_4) - states = [] - final_update = set() - final_update.add(fac.UpdateInstruction(cc_0, False)) - symbol = pyxb.binding.content.ElementUse(T_into._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'typesimple')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 504, 3)) - st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_0) - final_update = set() - final_update.add(fac.UpdateInstruction(cc_1, False)) - symbol = pyxb.binding.content.ElementUse(T_into._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'matrice_double')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 505, 3)) - st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_1) - final_update = set() - final_update.add(fac.UpdateInstruction(cc_2, False)) - symbol = pyxb.binding.content.ElementUse(T_into._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'matrice_symetrique_double')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 506, 3)) - st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_2) - final_update = set() - final_update.add(fac.UpdateInstruction(cc_3, False)) - symbol = pyxb.binding.content.ElementUse(T_into._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'tuple')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 507, 3)) - st_3 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_3) - final_update = set() - final_update.add(fac.UpdateInstruction(cc_4, False)) - symbol = pyxb.binding.content.ElementUse(T_into._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'classe_utilisateur')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 508, 3)) - st_4 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_4) - final_update = set() - symbol = pyxb.binding.content.ElementUse(T_into._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'fonction_utilisateur')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 509, 3)) - st_5 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_5) - transitions = [] - transitions.append(fac.Transition(st_0, [ - fac.UpdateInstruction(cc_0, True) ])) - st_0._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_1, [ - fac.UpdateInstruction(cc_1, True) ])) - st_1._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_2, [ - fac.UpdateInstruction(cc_2, True) ])) - st_2._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_3, [ - fac.UpdateInstruction(cc_3, True) ])) - st_3._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_4, [ - fac.UpdateInstruction(cc_4, True) ])) - st_4._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_5, [ - ])) - st_5._set_transitionSet(transitions) - return fac.Automaton(states, counters, True, containing_state=None) -T_into._Automaton = _BuildAutomaton_5() - - - - -T_Accas_Common._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'doc'), T_doc, scope=T_Accas_Common, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 4, 1))) - -T_Accas_Common._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'regles'), T_regles, scope=T_Accas_Common, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 6, 1))) - -T_Accas_Common._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'SIMP'), T_SIMP, scope=T_Accas_Common, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 43, 1))) - -T_Accas_Common._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'FACT'), T_FACT, scope=T_Accas_Common, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 123, 1))) - -T_Accas_Common._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'BLOC'), T_BLOC, scope=T_Accas_Common, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 157, 1))) - -def _BuildAutomaton_6 (): - # Remove this helper function from the namespace after it is invoked - global _BuildAutomaton_6 - del _BuildAutomaton_6 - import pyxb.utils.fac as fac - - counters = set() - cc_0 = fac.CounterCondition(min=0L, max=1, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 89, 3)) - counters.add(cc_0) - cc_1 = fac.CounterCondition(min=0L, max=1, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 90, 3)) - counters.add(cc_1) - states = [] - final_update = None - symbol = pyxb.binding.content.ElementUse(T_Accas_Common._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'regles')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 89, 3)) - st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_0) - final_update = None - symbol = pyxb.binding.content.ElementUse(T_Accas_Common._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'doc')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 90, 3)) - st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_1) - final_update = set() - symbol = pyxb.binding.content.ElementUse(T_Accas_Common._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'BLOC')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 92, 4)) - st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_2) - final_update = set() - symbol = pyxb.binding.content.ElementUse(T_Accas_Common._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'FACT')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 93, 4)) - st_3 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_3) - final_update = set() - symbol = pyxb.binding.content.ElementUse(T_Accas_Common._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'SIMP')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 94, 4)) - st_4 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_4) - transitions = [] - transitions.append(fac.Transition(st_0, [ - fac.UpdateInstruction(cc_0, True) ])) - transitions.append(fac.Transition(st_1, [ - fac.UpdateInstruction(cc_0, False) ])) - transitions.append(fac.Transition(st_2, [ - fac.UpdateInstruction(cc_0, False) ])) - transitions.append(fac.Transition(st_3, [ - fac.UpdateInstruction(cc_0, False) ])) - transitions.append(fac.Transition(st_4, [ - fac.UpdateInstruction(cc_0, False) ])) - st_0._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_1, [ - fac.UpdateInstruction(cc_1, True) ])) - transitions.append(fac.Transition(st_2, [ - fac.UpdateInstruction(cc_1, False) ])) - transitions.append(fac.Transition(st_3, [ - fac.UpdateInstruction(cc_1, False) ])) - transitions.append(fac.Transition(st_4, [ - fac.UpdateInstruction(cc_1, False) ])) - st_1._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_2, [ - ])) - transitions.append(fac.Transition(st_3, [ - ])) - transitions.append(fac.Transition(st_4, [ - ])) - st_2._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_2, [ - ])) - transitions.append(fac.Transition(st_3, [ - ])) - transitions.append(fac.Transition(st_4, [ - ])) - st_3._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_2, [ - ])) - transitions.append(fac.Transition(st_3, [ - ])) - transitions.append(fac.Transition(st_4, [ - ])) - st_4._set_transitionSet(transitions) - return fac.Automaton(states, counters, False, containing_state=None) -T_Accas_Common._Automaton = _BuildAutomaton_6() - - - - -T_SIMP._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'doc'), T_doc, scope=T_SIMP, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 4, 1))) - -T_SIMP._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'ValeurDef'), T_typeAttendu, scope=T_SIMP, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 8, 1))) - -T_SIMP._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'ValeurSugg'), T_typeAttendu, scope=T_SIMP, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 9, 1))) - -T_SIMP._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'validators'), T_validators, scope=T_SIMP, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 39, 1))) - -T_SIMP._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'PlageValeur'), T_PlageValeur, scope=T_SIMP, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 40, 1))) - -T_SIMP._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'typeAttendu'), T_name, scope=T_SIMP, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 41, 1))) - -T_SIMP._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'portee'), T_portee, scope=T_SIMP, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 44, 1), unicode_default=u'None')) - -def _BuildAutomaton_7 (): - # Remove this helper function from the namespace after it is invoked - global _BuildAutomaton_7 - del _BuildAutomaton_7 - import pyxb.utils.fac as fac - - counters = set() - cc_0 = fac.CounterCondition(min=0L, max=1, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 169, 3)) - counters.add(cc_0) - cc_1 = fac.CounterCondition(min=0L, max=1, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 170, 3)) - counters.add(cc_1) - cc_2 = fac.CounterCondition(min=0L, max=1, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 175, 3)) - counters.add(cc_2) - cc_3 = fac.CounterCondition(min=0L, max=1, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 176, 3)) - counters.add(cc_3) - cc_4 = fac.CounterCondition(min=0L, max=1, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 177, 3)) - counters.add(cc_4) - cc_5 = fac.CounterCondition(min=0L, max=1, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 179, 3)) - counters.add(cc_5) - states = [] - final_update = None - symbol = pyxb.binding.content.ElementUse(T_SIMP._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'doc')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 169, 3)) - st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_0) - final_update = None - symbol = pyxb.binding.content.ElementUse(T_SIMP._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'portee')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 170, 3)) - st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_1) - final_update = None - symbol = pyxb.binding.content.ElementUse(T_SIMP._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'ValeurDef')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 175, 3)) - st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_2) - final_update = None - symbol = pyxb.binding.content.ElementUse(T_SIMP._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'ValeurSugg')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 176, 3)) - st_3 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_3) - final_update = None - symbol = pyxb.binding.content.ElementUse(T_SIMP._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'PlageValeur')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 177, 3)) - st_4 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_4) - final_update = set() - symbol = pyxb.binding.content.ElementUse(T_SIMP._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'typeAttendu')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 178, 3)) - st_5 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_5) - final_update = set() - final_update.add(fac.UpdateInstruction(cc_5, False)) - symbol = pyxb.binding.content.ElementUse(T_SIMP._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'validators')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 179, 3)) - st_6 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False) - states.append(st_6) - transitions = [] - transitions.append(fac.Transition(st_0, [ - fac.UpdateInstruction(cc_0, True) ])) - transitions.append(fac.Transition(st_1, [ - fac.UpdateInstruction(cc_0, False) ])) - transitions.append(fac.Transition(st_2, [ - fac.UpdateInstruction(cc_0, False) ])) - transitions.append(fac.Transition(st_3, [ - fac.UpdateInstruction(cc_0, False) ])) - transitions.append(fac.Transition(st_4, [ - fac.UpdateInstruction(cc_0, False) ])) - transitions.append(fac.Transition(st_5, [ - fac.UpdateInstruction(cc_0, False) ])) - st_0._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_1, [ - fac.UpdateInstruction(cc_1, True) ])) - transitions.append(fac.Transition(st_2, [ - fac.UpdateInstruction(cc_1, False) ])) - transitions.append(fac.Transition(st_3, [ - fac.UpdateInstruction(cc_1, False) ])) - transitions.append(fac.Transition(st_4, [ - fac.UpdateInstruction(cc_1, False) ])) - transitions.append(fac.Transition(st_5, [ - fac.UpdateInstruction(cc_1, False) ])) - st_1._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_2, [ - fac.UpdateInstruction(cc_2, True) ])) - transitions.append(fac.Transition(st_3, [ - fac.UpdateInstruction(cc_2, False) ])) - transitions.append(fac.Transition(st_4, [ - fac.UpdateInstruction(cc_2, False) ])) - transitions.append(fac.Transition(st_5, [ - fac.UpdateInstruction(cc_2, False) ])) - st_2._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_3, [ - fac.UpdateInstruction(cc_3, True) ])) - transitions.append(fac.Transition(st_4, [ - fac.UpdateInstruction(cc_3, False) ])) - transitions.append(fac.Transition(st_5, [ - fac.UpdateInstruction(cc_3, False) ])) - st_3._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_4, [ - fac.UpdateInstruction(cc_4, True) ])) - transitions.append(fac.Transition(st_5, [ - fac.UpdateInstruction(cc_4, False) ])) - st_4._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_6, [ - ])) - st_5._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_6, [ - fac.UpdateInstruction(cc_5, True) ])) - st_6._set_transitionSet(transitions) - return fac.Automaton(states, counters, False, containing_state=None) -T_SIMP._Automaton = _BuildAutomaton_7() - - - - -def _BuildAutomaton_8 (): - # Remove this helper function from the namespace after it is invoked - global _BuildAutomaton_8 - del _BuildAutomaton_8 - import pyxb.utils.fac as fac - - counters = set() - cc_0 = fac.CounterCondition(min=0L, max=None, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 516, 5)) - counters.add(cc_0) - cc_1 = fac.CounterCondition(min=0L, max=None, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 517, 5)) - counters.add(cc_1) - cc_2 = fac.CounterCondition(min=0L, max=None, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 518, 5)) - counters.add(cc_2) - cc_3 = fac.CounterCondition(min=0L, max=None, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 519, 5)) - counters.add(cc_3) - cc_4 = fac.CounterCondition(min=0L, max=None, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 520, 5)) - counters.add(cc_4) - states = [] - final_update = set() - final_update.add(fac.UpdateInstruction(cc_0, False)) - symbol = pyxb.binding.content.ElementUse(T_typeAttendu._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'typesimple')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 516, 5)) - st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_0) - final_update = set() - final_update.add(fac.UpdateInstruction(cc_1, False)) - symbol = pyxb.binding.content.ElementUse(T_typeAttendu._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'matrice_double')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 517, 5)) - st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_1) - final_update = set() - final_update.add(fac.UpdateInstruction(cc_2, False)) - symbol = pyxb.binding.content.ElementUse(T_typeAttendu._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'matrice_symetrique_double')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 518, 5)) - st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_2) - final_update = set() - final_update.add(fac.UpdateInstruction(cc_3, False)) - symbol = pyxb.binding.content.ElementUse(T_typeAttendu._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'tuple')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 519, 5)) - st_3 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_3) - final_update = set() - final_update.add(fac.UpdateInstruction(cc_4, False)) - symbol = pyxb.binding.content.ElementUse(T_typeAttendu._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'classe_utilisateur')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 520, 5)) - st_4 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_4) - transitions = [] - transitions.append(fac.Transition(st_0, [ - fac.UpdateInstruction(cc_0, True) ])) - st_0._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_1, [ - fac.UpdateInstruction(cc_1, True) ])) - st_1._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_2, [ - fac.UpdateInstruction(cc_2, True) ])) - st_2._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_3, [ - fac.UpdateInstruction(cc_3, True) ])) - st_3._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_4, [ - fac.UpdateInstruction(cc_4, True) ])) - st_4._set_transitionSet(transitions) - return fac.Automaton(states, counters, True, containing_state=None) -T_typeAttendu._Automaton = _BuildAutomaton_8() - - - - -T_OPER._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'typeCree'), T_classe_utilisateur, scope=T_OPER, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 7, 1))) - -def _BuildAutomaton_9 (): - # Remove this helper function from the namespace after it is invoked - global _BuildAutomaton_9 - del _BuildAutomaton_9 - import pyxb.utils.fac as fac - - counters = set() - cc_0 = fac.CounterCondition(min=0L, max=1, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 89, 3)) - counters.add(cc_0) - cc_1 = fac.CounterCondition(min=0L, max=1, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 90, 3)) - counters.add(cc_1) - states = [] - final_update = None - symbol = pyxb.binding.content.ElementUse(T_OPER._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'regles')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 89, 3)) - st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_0) - final_update = None - symbol = pyxb.binding.content.ElementUse(T_OPER._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'doc')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 90, 3)) - st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_1) - final_update = None - symbol = pyxb.binding.content.ElementUse(T_OPER._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'BLOC')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 92, 4)) - st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_2) - final_update = None - symbol = pyxb.binding.content.ElementUse(T_OPER._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'FACT')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 93, 4)) - st_3 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_3) - final_update = None - symbol = pyxb.binding.content.ElementUse(T_OPER._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'SIMP')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 94, 4)) - st_4 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_4) - final_update = set() - symbol = pyxb.binding.content.ElementUse(T_OPER._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'typeCree')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 104, 5)) - st_5 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False) - states.append(st_5) - transitions = [] - transitions.append(fac.Transition(st_0, [ - fac.UpdateInstruction(cc_0, True) ])) - transitions.append(fac.Transition(st_1, [ - fac.UpdateInstruction(cc_0, False) ])) - transitions.append(fac.Transition(st_2, [ - fac.UpdateInstruction(cc_0, False) ])) - transitions.append(fac.Transition(st_3, [ - fac.UpdateInstruction(cc_0, False) ])) - transitions.append(fac.Transition(st_4, [ - fac.UpdateInstruction(cc_0, False) ])) - st_0._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_1, [ - fac.UpdateInstruction(cc_1, True) ])) - transitions.append(fac.Transition(st_2, [ - fac.UpdateInstruction(cc_1, False) ])) - transitions.append(fac.Transition(st_3, [ - fac.UpdateInstruction(cc_1, False) ])) - transitions.append(fac.Transition(st_4, [ - fac.UpdateInstruction(cc_1, False) ])) - st_1._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_2, [ - ])) - transitions.append(fac.Transition(st_3, [ - ])) - transitions.append(fac.Transition(st_4, [ - ])) - transitions.append(fac.Transition(st_5, [ - ])) - st_2._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_2, [ - ])) - transitions.append(fac.Transition(st_3, [ - ])) - transitions.append(fac.Transition(st_4, [ - ])) - transitions.append(fac.Transition(st_5, [ - ])) - st_3._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_2, [ - ])) - transitions.append(fac.Transition(st_3, [ - ])) - transitions.append(fac.Transition(st_4, [ - ])) - transitions.append(fac.Transition(st_5, [ - ])) - st_4._set_transitionSet(transitions) - transitions = [] - st_5._set_transitionSet(transitions) - return fac.Automaton(states, counters, False, containing_state=None) -T_OPER._Automaton = _BuildAutomaton_9() - - - - -def _BuildAutomaton_10 (): - # Remove this helper function from the namespace after it is invoked - global _BuildAutomaton_10 - del _BuildAutomaton_10 - import pyxb.utils.fac as fac - - counters = set() - cc_0 = fac.CounterCondition(min=0L, max=1, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 89, 3)) - counters.add(cc_0) - cc_1 = fac.CounterCondition(min=0L, max=1, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 90, 3)) - counters.add(cc_1) - states = [] - final_update = None - symbol = pyxb.binding.content.ElementUse(T_PROC._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'regles')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 89, 3)) - st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_0) - final_update = None - symbol = pyxb.binding.content.ElementUse(T_PROC._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'doc')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 90, 3)) - st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_1) - final_update = set() - symbol = pyxb.binding.content.ElementUse(T_PROC._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'BLOC')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 92, 4)) - st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_2) - final_update = set() - symbol = pyxb.binding.content.ElementUse(T_PROC._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'FACT')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 93, 4)) - st_3 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_3) - final_update = set() - symbol = pyxb.binding.content.ElementUse(T_PROC._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'SIMP')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 94, 4)) - st_4 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_4) - transitions = [] - transitions.append(fac.Transition(st_0, [ - fac.UpdateInstruction(cc_0, True) ])) - transitions.append(fac.Transition(st_1, [ - fac.UpdateInstruction(cc_0, False) ])) - transitions.append(fac.Transition(st_2, [ - fac.UpdateInstruction(cc_0, False) ])) - transitions.append(fac.Transition(st_3, [ - fac.UpdateInstruction(cc_0, False) ])) - transitions.append(fac.Transition(st_4, [ - fac.UpdateInstruction(cc_0, False) ])) - st_0._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_1, [ - fac.UpdateInstruction(cc_1, True) ])) - transitions.append(fac.Transition(st_2, [ - fac.UpdateInstruction(cc_1, False) ])) - transitions.append(fac.Transition(st_3, [ - fac.UpdateInstruction(cc_1, False) ])) - transitions.append(fac.Transition(st_4, [ - fac.UpdateInstruction(cc_1, False) ])) - st_1._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_2, [ - ])) - transitions.append(fac.Transition(st_3, [ - ])) - transitions.append(fac.Transition(st_4, [ - ])) - st_2._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_2, [ - ])) - transitions.append(fac.Transition(st_3, [ - ])) - transitions.append(fac.Transition(st_4, [ - ])) - st_3._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_2, [ - ])) - transitions.append(fac.Transition(st_3, [ - ])) - transitions.append(fac.Transition(st_4, [ - ])) - st_4._set_transitionSet(transitions) - return fac.Automaton(states, counters, False, containing_state=None) -T_PROC._Automaton = _BuildAutomaton_10() - - - - -def _BuildAutomaton_11 (): - # Remove this helper function from the namespace after it is invoked - global _BuildAutomaton_11 - del _BuildAutomaton_11 - import pyxb.utils.fac as fac - - counters = set() - cc_0 = fac.CounterCondition(min=0L, max=1, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 89, 3)) - counters.add(cc_0) - cc_1 = fac.CounterCondition(min=0L, max=1, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 90, 3)) - counters.add(cc_1) - states = [] - final_update = None - symbol = pyxb.binding.content.ElementUse(T_FACT._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'regles')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 89, 3)) - st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_0) - final_update = None - symbol = pyxb.binding.content.ElementUse(T_FACT._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'doc')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 90, 3)) - st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_1) - final_update = set() - symbol = pyxb.binding.content.ElementUse(T_FACT._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'BLOC')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 92, 4)) - st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_2) - final_update = set() - symbol = pyxb.binding.content.ElementUse(T_FACT._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'FACT')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 93, 4)) - st_3 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_3) - final_update = set() - symbol = pyxb.binding.content.ElementUse(T_FACT._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'SIMP')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 94, 4)) - st_4 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_4) - transitions = [] - transitions.append(fac.Transition(st_0, [ - fac.UpdateInstruction(cc_0, True) ])) - transitions.append(fac.Transition(st_1, [ - fac.UpdateInstruction(cc_0, False) ])) - transitions.append(fac.Transition(st_2, [ - fac.UpdateInstruction(cc_0, False) ])) - transitions.append(fac.Transition(st_3, [ - fac.UpdateInstruction(cc_0, False) ])) - transitions.append(fac.Transition(st_4, [ - fac.UpdateInstruction(cc_0, False) ])) - st_0._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_1, [ - fac.UpdateInstruction(cc_1, True) ])) - transitions.append(fac.Transition(st_2, [ - fac.UpdateInstruction(cc_1, False) ])) - transitions.append(fac.Transition(st_3, [ - fac.UpdateInstruction(cc_1, False) ])) - transitions.append(fac.Transition(st_4, [ - fac.UpdateInstruction(cc_1, False) ])) - st_1._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_2, [ - ])) - transitions.append(fac.Transition(st_3, [ - ])) - transitions.append(fac.Transition(st_4, [ - ])) - st_2._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_2, [ - ])) - transitions.append(fac.Transition(st_3, [ - ])) - transitions.append(fac.Transition(st_4, [ - ])) - st_3._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_2, [ - ])) - transitions.append(fac.Transition(st_3, [ - ])) - transitions.append(fac.Transition(st_4, [ - ])) - st_4._set_transitionSet(transitions) - return fac.Automaton(states, counters, False, containing_state=None) -T_FACT._Automaton = _BuildAutomaton_11() - - - - -T_BLOC._AddElement(pyxb.binding.basis.element(pyxb.namespace.ExpandedName(Namespace, u'condition'), T_fonction_python, scope=T_BLOC, location=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 45, 1))) - -def _BuildAutomaton_12 (): - # Remove this helper function from the namespace after it is invoked - global _BuildAutomaton_12 - del _BuildAutomaton_12 - import pyxb.utils.fac as fac - - counters = set() - cc_0 = fac.CounterCondition(min=0L, max=1, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 89, 3)) - counters.add(cc_0) - cc_1 = fac.CounterCondition(min=0L, max=1, metadata=pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 90, 3)) - counters.add(cc_1) - states = [] - final_update = None - symbol = pyxb.binding.content.ElementUse(T_BLOC._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'regles')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 89, 3)) - st_0 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_0) - final_update = None - symbol = pyxb.binding.content.ElementUse(T_BLOC._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'doc')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 90, 3)) - st_1 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_1) - final_update = None - symbol = pyxb.binding.content.ElementUse(T_BLOC._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'BLOC')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 92, 4)) - st_2 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_2) - final_update = None - symbol = pyxb.binding.content.ElementUse(T_BLOC._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'FACT')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 93, 4)) - st_3 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_3) - final_update = None - symbol = pyxb.binding.content.ElementUse(T_BLOC._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'SIMP')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 94, 4)) - st_4 = fac.State(symbol, is_initial=True, final_update=final_update, is_unordered_catenation=False) - states.append(st_4) - final_update = set() - symbol = pyxb.binding.content.ElementUse(T_BLOC._UseForTag(pyxb.namespace.ExpandedName(Namespace, u'condition')), pyxb.utils.utility.Location('/home/A96028/EchangesEric/EssaiExt/model.xsd', 162, 5)) - st_5 = fac.State(symbol, is_initial=False, final_update=final_update, is_unordered_catenation=False) - states.append(st_5) - transitions = [] - transitions.append(fac.Transition(st_0, [ - fac.UpdateInstruction(cc_0, True) ])) - transitions.append(fac.Transition(st_1, [ - fac.UpdateInstruction(cc_0, False) ])) - transitions.append(fac.Transition(st_2, [ - fac.UpdateInstruction(cc_0, False) ])) - transitions.append(fac.Transition(st_3, [ - fac.UpdateInstruction(cc_0, False) ])) - transitions.append(fac.Transition(st_4, [ - fac.UpdateInstruction(cc_0, False) ])) - st_0._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_1, [ - fac.UpdateInstruction(cc_1, True) ])) - transitions.append(fac.Transition(st_2, [ - fac.UpdateInstruction(cc_1, False) ])) - transitions.append(fac.Transition(st_3, [ - fac.UpdateInstruction(cc_1, False) ])) - transitions.append(fac.Transition(st_4, [ - fac.UpdateInstruction(cc_1, False) ])) - st_1._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_2, [ - ])) - transitions.append(fac.Transition(st_3, [ - ])) - transitions.append(fac.Transition(st_4, [ - ])) - transitions.append(fac.Transition(st_5, [ - ])) - st_2._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_2, [ - ])) - transitions.append(fac.Transition(st_3, [ - ])) - transitions.append(fac.Transition(st_4, [ - ])) - transitions.append(fac.Transition(st_5, [ - ])) - st_3._set_transitionSet(transitions) - transitions = [] - transitions.append(fac.Transition(st_2, [ - ])) - transitions.append(fac.Transition(st_3, [ - ])) - transitions.append(fac.Transition(st_4, [ - ])) - transitions.append(fac.Transition(st_5, [ - ])) - st_4._set_transitionSet(transitions) - transitions = [] - st_5._set_transitionSet(transitions) - return fac.Automaton(states, counters, False, containing_state=None) -T_BLOC._Automaton = _BuildAutomaton_12() - - -classeUtilisateurName._setSubstitutionGroup(typeAttendu) diff --git a/EssaiInit/readerEfficas.py b/EssaiInit/readerEfficas.py deleted file mode 100755 index afd12497..00000000 --- a/EssaiInit/readerEfficas.py +++ /dev/null @@ -1,129 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -import sys,os -import raw.efficas as efficas -import types - -sys.path.insert(0,os.path.abspath(os.path.join(os.getcwd(),'..'))) -sys.path.insert(0,os.path.abspath(os.path.join(os.getcwd(),'..','UiQT5'))) - - -from Accas import * - - -# Attention pas d heritage possible (cf doc pyxbe) - -dictSIMPEficasXML= { 'typ' : 'typeAttendu', 'statut' : 'statut', - 'min_occurs': 'min' , 'max_occurs' : 'max', - 'homo' : 'homo' , 'position' : 'portee', - 'validators': 'validators' , 'sug' : 'valeur_sugg', - 'defaut' : 'ValeurDef' , 'into' : ('PlageValeur','into'), - 'val_min' : ('PlageValeur','borne_inf') , 'val_max' : ('PlageValeur','borne_sup'), - 'ang' : ('doc','ang') , 'fr' : ('doc','fr',) , - 'docu' : ('doc','docu'),} - -dictSIMPXMLEficas = {'doc' : {'fr' : 'fr' , 'ang' : 'ang' , 'docu' : 'docu' }, - 'PlageValeur' : {'borne_sup' : 'val_max' , 'into' : 'into' , 'borne_inf' : 'val_min' ,}, - 'statut' : 'statut' , 'validators' : 'validators' , 'homo' : 'homo' , - 'ValeurDef' : 'defaut' , 'min' : 'min_occurs' , - 'valeur_sugg' : 'sug' , 'portee' : 'position' , 'max' : 'max_occurs' , } - - -# ------------------------------ -class monSIMP (efficas.T_SIMP): -# ------------------------------ - - def explore(self): - print "je passe dans explore pour SIMP ", self.nom - self.dictArgsEficas={} - self.dictArgsEficas['typ']=self.typeAttendu - for nomXMLArg in dir(self) : - if nomXMLArg in dictSIMPXMLEficas.keys() : - nomEficasArg=dictSIMPXMLEficas[nomXMLArg] - argu=getattr(self,nomXMLArg) - if argu==None : continue - if type(nomEficasArg) == types.DictionaryType: - for nomXML in nomEficasArg.keys(): - arguDecoupe=getattr(argu,nomXML) - nomEficasDecoupe=nomEficasArg[nomXML] - self.dictArgsEficas[nomEficasDecoupe]=arguDecoupe - else : - self.dictArgsEficas[nomEficasArg] = argu - - #if argNew != None : print argNew - self.objAccas=A_SIMP.SIMP(**self.dictArgsEficas) - self.objAccas.nom=self.nom - - def getAccasEquivalent(self): - return self.nom, self.objAccas - -# ------------------------------ -class monPROC(efficas.T_PROC): -# ------------------------------ - def explore(self): - print "je passe dans explore pour PROC ", self.nom - self.dictConstruction={} - self.dictConstruction['nom']=self.nom - - for obj in self.content(): - if hasattr(obj,'explore') : obj.explore () - if hasattr(obj,'getAccasEquivalent') : - nom,objetAccas=obj.getAccasEquivalent() - self.dictConstruction[nom]=objetAccas - self.dictConstruction['op']=None - self.objAccas=A_PROC.PROC(**self.dictConstruction) - print dir(self.objAccas) - print self.objAccas.entites - - -# ------------------------------ -class monFACT(efficas.T_FACT): -# ------------------------------ - def explore(self): - #print "je passe dans explore pour FACT ", self.nom - self.dictConstruction={} - for obj in self.content(): - if hasattr(obj,'explore') : obj.explore - if hasattr(obj,'creeAccasEquivalent') : - nom,objetAccas=obj.creeAccasEquivalent() - self.dictConstruction[nom]=objetAccas - self.objAccas=A_FACT.FACT(**self.dictConstruction) - - def getAccasEquivalent(self): - return self.nom, self.objAccas - - -# ------------------------------ -class monCata(efficas.T_cata): -# ------------------------------ - def exploreCata(self): - # On positionne le contexte ACCAS - self.JdC = JDC_CATA (code = 'MED', execmodul = None,) - objAExplorer=self.commandes[0] - for obj in objAExplorer.content(): - if hasattr(obj,'explore') : obj.explore() - - - -efficas.T_SIMP._SetSupersedingClass(monSIMP) -efficas.T_FACT._SetSupersedingClass(monFACT) -efficas.T_PROC._SetSupersedingClass(monPROC) -efficas.T_cata._SetSupersedingClass(monCata) - -if __name__ == "__main__": -# print dir(efficas) -# print dir(efficas.T_SIMP) - - - xml = open('Cata_MED_FAM.xml').read() - SchemaMed = efficas.CreateFromDocument(xml) - SchemaMed.exploreCata() - - #print dir(efficas.T_SIMP) - #print dir(efficas.T_SIMP) - - #for maCommande in monCata.commandes : - # for monProc in maCommande.PROC: - # for monFact in monProc.FACT: - # for simp in monFact.SIMP: - # simp.creeAccasEquivalent() diff --git a/Extensions/__init__.py b/Extensions/__init__.py index e4044aec..df53d551 100644 --- a/Extensions/__init__.py +++ b/Extensions/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Extensions/commande_comm.py b/Extensions/commande_comm.py index 31439d93..e9458c6f 100644 --- a/Extensions/commande_comm.py +++ b/Extensions/commande_comm.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -41,7 +41,7 @@ class COMMANDE_COMM(N_OBJECT.OBJECT,I_OBJECT.OBJECT) : def __init__(self,texte='',parent=None,reg='oui'): self.valeur = texte if not parent : - self.jdc = self.parent = CONTEXT.getCurrentStep() + self.jdc = self.parent = CONTEXT.get_current_step() else: self.jdc = self.parent = parent if hasattr(self.parent,'etape'): @@ -53,10 +53,10 @@ class COMMANDE_COMM(N_OBJECT.OBJECT,I_OBJECT.OBJECT) : self.niveau = self.parent.niveau self.actif=1 self.state="unchanged" - #self.appel = N_utils.calleeWhere(niveau=2) + #self.appel = N_utils.callee_where(niveau=2) if reg=='oui' : self.register() - def isValid(self): + def isvalid(self): return 1 def report(self): @@ -64,7 +64,7 @@ class COMMANDE_COMM(N_OBJECT.OBJECT,I_OBJECT.OBJECT) : Genere l'objet rapport (classe CR) """ self.cr=CR() - if not self.isValid(): self.cr.warn(tr("Objet commande commentarise invalide")) + if not self.isvalid(): self.cr.warn(tr("Objet commande commentarise invalide")) return self.cr def copy(self): @@ -74,18 +74,18 @@ class COMMANDE_COMM(N_OBJECT.OBJECT,I_OBJECT.OBJECT) : # XXX self.texte ne semble pas exister ??? return COMMANDE_COMM(self.texte,parent = self.parent,reg='non') - def initModif(self): + def init_modif(self): self.state = 'modified' - self.parent.initModif() + self.parent.init_modif() - def setValeur(self,new_valeur): + def set_valeur(self,new_valeur): """ Remplace la valeur de self(si elle existe) par new_valeur) """ self.valeur = new_valeur - self.initModif() + self.init_modif() - def getValeur(self) : + def get_valeur(self) : """ Retourne la valeur de self, cad le texte de la commande commentarisee """ @@ -98,7 +98,7 @@ class COMMANDE_COMM(N_OBJECT.OBJECT,I_OBJECT.OBJECT) : """ self.parent.register(self) - def isOblig(self): + def isoblig(self): """ Indique si self est obligatoire ou non : retourne toujours 0 """ @@ -111,13 +111,13 @@ class COMMANDE_COMM(N_OBJECT.OBJECT,I_OBJECT.OBJECT) : """ return self.nom - def isRepetable(self): + def isrepetable(self): """ Indique si self est repetable ou non : retourne toujours 1 """ return 1 - def getAttribut(self,nom_attribut) : + def get_attribut(self,nom_attribut) : """ Retourne l'attribut de nom nom_attribut de self (ou herite) """ @@ -126,7 +126,7 @@ class COMMANDE_COMM(N_OBJECT.OBJECT,I_OBJECT.OBJECT) : else : return None - def getFr(self): + def get_fr(self): """ Retourne l'attribut fr de self.definition """ @@ -136,7 +136,7 @@ class COMMANDE_COMM(N_OBJECT.OBJECT,I_OBJECT.OBJECT) : except: return '' - def listeMcPresents(self): + def liste_mc_presents(self): return [] def supprime(self): @@ -153,26 +153,26 @@ class COMMANDE_COMM(N_OBJECT.OBJECT,I_OBJECT.OBJECT) : self.val = None self.appel = None - def supprimeSdProds(self): + def supprime_sdprods(self): pass - def updateContext(self,d): + def update_context(self,d): """ Update le dictionnaire d avec les concepts ou objets produits par self --> ne fait rien pour une commande en commentaire """ pass - def deleteConcept(self,sd): + def delete_concept(self,sd): pass - def replaceConcept (self,old_sd,sd): + def replace_concept (self,old_sd,sd): pass - def getSdprods(self,nom_sd): + def get_sdprods(self,nom_sd): return None - def unComment(self): + def uncomment(self): """ Cette methode a pour but de decommentariser l'objet courant, cad de retourner un tuple contenant : @@ -180,10 +180,10 @@ class COMMANDE_COMM(N_OBJECT.OBJECT,I_OBJECT.OBJECT) : - le nom de la sdprod eventuellement produite (sinon None) """ # on recupere le contexte avant la commande commentarisee - context_ini = self.jdc.getContexteAvant(self) + context_ini = self.jdc.get_contexte_avant(self) try: # on essaie de creer un objet JDC... - CONTEXT.unsetCurrentStep() + CONTEXT.unset_current_step() if re.search('Fin Commentaire',self.valeur) : self.valeur=self.valeur.replace('Fin Commentaire','') J=self.jdc.__class__(procedure=self.valeur, @@ -213,12 +213,12 @@ class COMMANDE_COMM(N_OBJECT.OBJECT,I_OBJECT.OBJECT) : else: nom_sd = None #new_etape=new_etape.copy() - #print "unComment",new_etape.sd + #print "uncomment",new_etape.sd pos=self.parent.etapes.index(self) - # L'ordre d'appel est important : suppEntite fait le menage des concepts dans les etapes suivantes - self.parent.addEntite(new_etape,pos) - self.parent.suppEntite(self) + # L'ordre d'appel est important : suppentite fait le menage des concepts dans les etapes suivantes + self.parent.addentite(new_etape,pos) + self.parent.suppentite(self) return new_etape,nom_sd def active(self): @@ -233,13 +233,13 @@ class COMMANDE_COMM(N_OBJECT.OBJECT,I_OBJECT.OBJECT) : """ self.actif = 0 - def isActif(self): + def isactif(self): """ Booleenne qui retourne 1 si self est valide, 0 sinon """ return self.actif - def verifConditionBloc(self): + def verif_condition_bloc(self): """ Evalue les conditions de tous les blocs fils possibles (en fonction du catalogue donc de la definition) de self et @@ -249,7 +249,7 @@ class COMMANDE_COMM(N_OBJECT.OBJECT,I_OBJECT.OBJECT) : """ return [],[] - def verifConditionRegles(self,liste_presents): + def verif_condition_regles(self,liste_presents): """ Retourne la liste des mots-cles a rajouter pour satisfaire les regles en fonction de la liste des mots-cles presents @@ -261,10 +261,10 @@ class COMMANDE_COMM(N_OBJECT.OBJECT,I_OBJECT.OBJECT) : Cette methode sert a reinitialiser la parente de l'objet """ self.parent=parent - self.jdc=parent.getJdcRoot() + self.jdc=parent.get_jdc_root() self.etape=self - def verifExistenceSd(self): + def verif_existence_sd(self): """ Verifie que les structures de donnees utilisees dans self existent bien dans le contexte avant etape, sinon enleve la reference a ces concepts @@ -272,13 +272,13 @@ class COMMANDE_COMM(N_OBJECT.OBJECT,I_OBJECT.OBJECT) : """ pass - def controlSdprods(self,d): + def control_sdprods(self,d): """sans objet pour les commandes commentarisees""" pass def close(self): pass - def resetContext(self): + def reset_context(self): pass diff --git a/Extensions/commentaire.py b/Extensions/commentaire.py index 5decbe1f..4e68dcc4 100644 --- a/Extensions/commentaire.py +++ b/Extensions/commentaire.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -39,7 +39,7 @@ class COMMENTAIRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT) : # parent est un objet de type OBJECT (ETAPE ou MC ou JDC...) self.valeur=valeur if not parent : - self.jdc = self.parent = CONTEXT.getCurrentStep() + self.jdc = self.parent = CONTEXT.get_current_step() else: self.jdc = self.parent = parent # La classe COMMENTAIRE n'a pas de definition. On utilise self @@ -50,7 +50,6 @@ class COMMENTAIRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT) : self.actif=1 self.state="unchanged" self.register() - self.fenetreIhm=None def register(self): """ @@ -66,18 +65,18 @@ class COMMENTAIRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT) : c=COMMENTAIRE(valeur=self.valeur,parent=self.jdc) return c - def isValid(self): + def isvalid(self): """ Retourne 1 si self est valide, 0 sinon Retourne toujours 1 car un commentaire est toujours valide """ return 1 - def isOblig(self): + def isoblig(self): """ Indique si self est obligatoire ou non : retourne toujours 0 """ return 0 - def isRepetable(self): + def isrepetable(self): """ Indique si self est repetable ou non : retourne toujours 1 """ return 1 @@ -94,7 +93,7 @@ class COMMENTAIRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT) : """ self.actif = 1 - def isActif(self): + def isactif(self): """ Booleenne qui retourne 1 si self est valide, 0 sinon """ @@ -110,32 +109,32 @@ class COMMENTAIRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT) : self.definition = None self.niveau = None - def listeMcPresents(self): + def liste_mc_presents(self): return [] - def getValeur(self) : + def get_valeur(self) : """ Retourne la valeur de self, cad le contenu du commentaire """ try : return self.valeur except: return None - def setValeur(self,new_valeur): + def set_valeur(self,new_valeur): """ Remplace la valeur de self(si elle existe) par new_valeur """ self.valeur = new_valeur - self.initModif() + self.init_modif() - def initModif(self): + def init_modif(self): self.state = 'modified' if self.parent: - self.parent.initModif() + self.parent.init_modif() - def supprimeSdProds(self): + def supprime_sdprods(self): pass - def updateContext(self,d): + def update_context(self,d): """ Update le dictionnaire d avec les concepts ou objets produits par self --> ne fait rien pour un commentaire @@ -145,7 +144,7 @@ class COMMENTAIRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT) : def report(self): """ Genere l'objet rapport (classe CR) """ self.cr=CR() - if not self.isValid(): self.cr.warn(tr("Objet commentaire non valorise")) + if not self.isvalid(): self.cr.warn(tr("Objet commentaire non valorise")) return self.cr def ident(self): @@ -154,13 +153,13 @@ class COMMENTAIRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT) : """ return self.nom - def deleteConcept(self,sd): + def delete_concept(self,sd): pass - def replaceConcept (self,old_sd,sd): + def replace_concept (self,old_sd,sd): pass - def verifConditionBloc(self): + def verif_condition_bloc(self): """ Evalue les conditions de tous les blocs fils possibles (en fonction du catalogue donc de la definition) de self et @@ -170,36 +169,36 @@ class COMMENTAIRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT) : """ return [],[] - def verifConditionRegles(self,liste_presents): + def verif_condition_regles(self,liste_presents): """ Retourne la liste des mots-cles a rajouter pour satisfaire les regles en fonction de la liste des mots-cles presents """ return [] - def getSdprods(self,nom_sd): + def get_sdprods(self,nom_sd): """ Retourne les concepts produits par la commande """ return None - def verifExistenceSd(self): + def verif_existence_sd(self): pass - def getFr(self): + def get_fr(self): """ Retourne le commentaire lui meme tronque a la 1ere ligne """ return self.valeur.split('\n',1)[0] - def controlSdprods(self,d): + def control_sdprods(self,d): """sans objet """ pass def close(self): pass - def resetContext(self): + def reset_context(self): pass diff --git a/Extensions/etape_niveau.py b/Extensions/etape_niveau.py index b7a6f003..bae8234f 100644 --- a/Extensions/etape_niveau.py +++ b/Extensions/etape_niveau.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -30,7 +30,7 @@ class ETAPE_NIVEAU(N_OBJECT.OBJECT): def __init__(self,niveau,parent): self.parent = parent - self.jdc = self.parent.getJdcRoot() + self.jdc = self.parent.get_jdc_root() self.niveau = self self.definition = niveau self.etapes=[] @@ -38,9 +38,9 @@ class ETAPE_NIVEAU(N_OBJECT.OBJECT): self.dict_niveaux={} self.editmode = 0 self.state="undetermined" - self.buildNiveaux() + self.build_niveaux() - def buildNiveaux(self): + def build_niveaux(self): for niveau in self.definition.l_niveaux: etape_niveau = ETAPE_NIVEAU(niveau,self) self.etapes_niveaux.append(etape_niveau) @@ -52,7 +52,7 @@ class ETAPE_NIVEAU(N_OBJECT.OBJECT): - si editmode = 0 : on est en mode relecture d'un fichier de commandes auquel cas on ajoute etape a la fin de la liste self.etapes - si editmode = 1 : on est en mode ajout d'etape depuis eficas auquel cas - cette methode ne fait rien, c'est addEntite qui enregistre etape + cette methode ne fait rien, c'est addentite qui enregistre etape a la bonne place dans self.etapes """ if self.editmode : return @@ -67,14 +67,14 @@ class ETAPE_NIVEAU(N_OBJECT.OBJECT): def ident(self): return self.definition.label - def isActif(self): + def isactif(self): #print 'Niveau : ',self.definition.nom #print '\tactif =',self.definition.actif if self.definition.actif == 1 : return 1 else : # self.actif est une condition a evaluer dans un certain contexte ... - d = self.creeDictValeurs() + d = self.cree_dict_valeurs() try: t=eval(self.definition.actif,d) return t @@ -82,39 +82,39 @@ class ETAPE_NIVEAU(N_OBJECT.OBJECT): traceback.print_exc() return 0 - def creeDictValeurs(self): + def cree_dict_valeurs(self): """ Retourne le dictionnaire des freres aines de self compose des couples : - {nom_frere isValid()} + {nom_frere isvalid()} """ d={} for niveau in self.parent.etapes_niveaux: if niveau is self : break - d[niveau.definition.nom]=niveau.isValid() + d[niveau.definition.nom]=niveau.isvalid() return d - def isValid(self): + def isvalid(self): """ Methode booleenne qui retourne 0 si le niveau est invalide, 1 sinon """ if self.etapes_niveaux == []: if len(self.etapes) == 0: return self.definition.valide_vide else: for etape in self.etapes : - if not etape.isValid() : return 0 + if not etape.isvalid() : return 0 return 1 else: for etape_niveau in self.etapes_niveaux : - if not etape_niveau.isValid() : return 0 + if not etape_niveau.isvalid() : return 0 return 1 def accept(self,visitor): visitor.visitETAPE_NIVEAU(self) - def addEntite(self,name,pos_rel): + def addentite(self,name,pos_rel): self.editmode = 1 try : - pos_abs=self.jdc.getNbEtapesAvant(self)+pos_rel - cmd = self.jdc.addEntite(name,pos_abs) + pos_abs=self.jdc.get_nb_etapes_avant(self)+pos_rel + cmd = self.jdc.addentite(name,pos_abs) self.etapes.insert(pos_rel,cmd) self.editmode = 0 return cmd @@ -123,14 +123,14 @@ class ETAPE_NIVEAU(N_OBJECT.OBJECT): self.editmode = 0 return None - def suppEntite(self,etape) : + def suppentite(self,etape) : """ Classe ETAPE_NIVEAU Supprime une etape """ - self.jdc.suppEntite(etape) + self.jdc.suppentite(etape) - def getFr(self): + def get_fr(self): """ Retourne le texte d'aide dans la langue choisie """ diff --git a/Extensions/interpreteur_formule.py b/Extensions/interpreteur_formule.py index 9afdbaff..ee956e89 100644 --- a/Extensions/interpreteur_formule.py +++ b/Extensions/interpreteur_formule.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -94,11 +94,11 @@ class Interpreteur_Formule(object): self.parent = parent self.l_children = [] if formule : - self.setFormule(formule) + self.set_formule(formule) if self.parent : self.parent.enregistre(self) - def setFormule(self,formule): + def set_formule(self,formule): """ Stocke formule (tuple) dans l'attribut t_formule Methode externe @@ -107,11 +107,11 @@ class Interpreteur_Formule(object): if type(formule) != types.tuple: raise InterpreteurException(tr("La formule passee a l'interpreteur doit etre sous forme de tuple")) self.t_formule = formule - #self.initCr() - self.modifyListes() - self.ordonneListes() + #self.init_cr() + self.modify_listes() + self.ordonne_listes() - def initCr(self): + def init_cr(self): """ Initialise le cr,cad valorise les chaines debut et fin """ @@ -149,18 +149,18 @@ class Interpreteur_Formule(object): self.l_children.append(fils) self.cr.add(fils.cr) - def isValid(self): + def isvalid(self): """ Booleenne qui retourne 1 si la formule est valide, 0 sinon Methode externe """ self.l_operateurs = [] self.cr.purge() # on vide le cr - self.initCr() # on initialise le cr - self.interpreteFormule() + self.init_cr() # on initialise le cr + self.interprete_formule() return self.cr.estvide() - def interpreteFormule(self): + def interprete_formule(self): """ Realise l'interpretation du corps de la formule """ @@ -173,11 +173,11 @@ class Interpreteur_Formule(object): # Enleve les espaces text_arg = text_arg.replace(' ','') try: - self.l_operateurs.append(self.splitOperateurs(text_arg)) + self.l_operateurs.append(self.split_operateurs(text_arg)) except InterpreteurException as e: self.cr.fatal(e.__str__()) - def modifyListes(self): + def modify_listes(self): """ Modifie la liste des constantes en lui ajoutant le nom des parametres de la fonction a interpreter @@ -202,11 +202,11 @@ class Interpreteur_Formule(object): self.l_constantes.append(cte) # on ajoute les fonctions unaires externes au dictionnaire des fonctions unaires for new_fonc in self.new_fonctions_unaires: - self.d_fonctions_unaires[new_fonc[0]] = self.getNbArgs(new_fonc) + self.d_fonctions_unaires[new_fonc[0]] = self.get_nb_args(new_fonc) #self.d_fonctions_unaires.update(self.new_fonctions_unaires) self.l_fonctions_unaires = list(self.d_fonctions_unaires.keys()) - def ordonneListes(self): + def ordonne_listes(self): """ Ordonne les listes de fonctions unaires et binaires """ @@ -215,7 +215,7 @@ class Interpreteur_Formule(object): self.l_constantes.sort(cmp_function) - def splitOperateurs(self,texte): + def split_operateurs(self,texte): """ Splite le texte passe en argument en operateurs plus elementaires. N'analyse pas l'interieur des operateurs (ne fait qu'une passe) @@ -224,29 +224,29 @@ class Interpreteur_Formule(object): texte = texte.strip() # on recherche un nombre en debut de texte try: - oper,reste = self.chercheNombre(texte) + oper,reste = self.cherche_nombre(texte) except InterpreteurException as e: raise InterpreteurException (e.__str__()) if not oper : # on recherche une constante en debut de texte try: - oper,reste = self.chercheConstante(texte) + oper,reste = self.cherche_constante(texte) except InterpreteurException as e: raise InterpreteurException (e.__str__()) if not oper : # on recherche une expression entre parentheses... try: - oper,reste = self.chercheExpressionEntreParentheses(texte) + oper,reste = self.cherche_expression_entre_parentheses(texte) except InterpreteurException as e: raise InterpreteurException(e.__str__()) if not oper : # on recherche le debut d'un operateur unaire en debut de texte try: - oper,reste = self.chercheOperateurUnaire(texte) + oper,reste = self.cherche_operateur_unaire(texte) except InterpreteurException as e: raise InterpreteurException(e.__str__()) if not oper : - type_objet,nom_objet = self.getType(texte) + type_objet,nom_objet = self.get_type(texte) if type_objet == 'constante': raise InterpreteurException( "Constante %s inconnue" %nom_objet) elif type_objet == 'fonction': @@ -259,16 +259,16 @@ class Interpreteur_Formule(object): l_operateurs.append(oper) if reste : texte = reste.strip() - oper,reste = self.chercheOperateurBinaire(texte) + oper,reste = self.cherche_operateur_binaire(texte) if not oper : # on a un reste et pas d'operateur binaire --> erreur raise InterpreteurException("L'operateur %s doit etre suivi d'un operateur binaire" %l_operateurs[-1]) else: # on a bien trouve un operateur binaire: l_operateurs.append(oper) - # il faut recommencer l'analyse du reste par splitOperateurs ... + # il faut recommencer l'analyse du reste par split_operateurs ... try: - l_op = self.splitOperateurs(reste) + l_op = self.split_operateurs(reste) except InterpreteurException as e: raise InterpreteurException(e.__str__()) l_operateurs.extend(l_op) @@ -277,7 +277,7 @@ class Interpreteur_Formule(object): # on a fini d'analyser texte return l_operateurs - def chercheNombre(self,texte): + def cherche_nombre(self,texte): """ Cherche un nombre en debut de texte Retourne ce nombre et le reste ou None et le texte initial @@ -318,7 +318,7 @@ class Interpreteur_Formule(object): # on n'a pas trouve de nombre return None,texte - def chercheConstanteOld(self,texte): + def cherche_constante_old(self,texte): """ Recherche une constante en debut de texte parmi la liste des constantes. Retourne le texte representant la constante et le reste du texte ou @@ -339,7 +339,7 @@ class Interpreteur_Formule(object): # aucune constante trouvee return None,texte - def chercheConstante(self,texte): + def cherche_constante(self,texte): """ Recherche une constante en debut de texte parmi la liste des constantes. Retourne le texte representant la constante et le reste du texte ou @@ -368,7 +368,7 @@ class Interpreteur_Formule(object): # aucune constante trouvee return None,texte - def chercheArgs(self,texte): + def cherche_args(self,texte): """ Cherche au debut de texte une liste d'arguments entre parentheses """ @@ -392,7 +392,7 @@ class Interpreteur_Formule(object): # on a fini d'analyser le texte : reste = None return texte,None - def chercheOperateurUnaireOld(self,texte): + def cherche_operateur_unaire_old(self,texte): """ Cherche dans texte un operateur unaire """ @@ -409,7 +409,7 @@ class Interpreteur_Formule(object): operateur = txt texte = reste try: - args,reste = self.chercheArgs(texte) + args,reste = self.cherche_args(texte) except InterpreteurException as e: raise InterpreteurException(e.__str__()) if not args : @@ -417,20 +417,20 @@ class Interpreteur_Formule(object): raise InterpreteurException('operateur unaire %s sans arguments' %operateur) else: #operateur = operateur+args - args = self.splitArgs(txt,args,self.d_fonctions_unaires[operateur]) + args = self.split_args(txt,args,self.d_fonctions_unaires[operateur]) formule_operateur = (txt,'',self.t_formule[2],args) operateur = Interpreteur_Formule(formule = formule_operateur, constantes = self.new_constantes, fonctions_unaires = self.new_fonctions_unaires, parent = self) - operateur.interpreteFormule() + operateur.interprete_formule() texte = reste return operateur,reste else: # aucun operateur unaire trouve return None,texte - def chercheOperateurUnaire(self,texte): + def cherche_operateur_unaire(self,texte): """ Cherche dans texte un operateur unaire """ @@ -445,30 +445,30 @@ class Interpreteur_Formule(object): identificateur = l_groups[1].strip() reste = l_groups[2] try: - args,reste = self.chercheArgs(reste) + args,reste = self.cherche_args(reste) except InterpreteurException as e: raise InterpreteurException (e.__str__()) if not args : # operateur unaire sans arguments - # en principe on ne doit jamais etre dans ce cas car il est deja trappe par chercheConstante ... + # en principe on ne doit jamais etre dans ce cas car il est deja trappe par cherche_constante ... raise InterpreteurException ('Fonction %s sans arguments !' %identificateur) else: # il faut encore verifier que l'on a bien a faire a une fonction connue if identificateur not in self.l_fonctions_unaires: raise InterpreteurException ('Fonction %s inconnue dans %s !' %(identificateur,texte)) - args = self.splitArgs(identificateur,args,self.d_fonctions_unaires[identificateur]) + args = self.split_args(identificateur,args,self.d_fonctions_unaires[identificateur]) formule_operateur = (sgn+identificateur,'',self.t_formule[2],args) operateur = Interpreteur_Formule(formule = formule_operateur, constantes = self.new_constantes, fonctions = self.new_fonctions_unaires, parent = self) - operateur.interpreteFormule() + operateur.interprete_formule() texte = reste return operateur,reste elif texte[0] == '-': # Il faut pouvoir trapper les expressions du type exp(-(x+1)) ... try : - args,reste = self.chercheArgs(texte[1:]) + args,reste = self.cherche_args(texte[1:]) except InterpreteurException as e: raise InterpreteurException (e.__str__()) if not args : @@ -476,19 +476,19 @@ class Interpreteur_Formule(object): return None,texte else: identificateur = '-' - args = self.splitArgs(identificateur,args,self.d_fonctions_unaires[identificateur]) + args = self.split_args(identificateur,args,self.d_fonctions_unaires[identificateur]) formule_operateur = (identificateur,'',self.t_formule[2],args) operateur = Interpreteur_Formule(formule = formule_operateur, constantes = self.new_constantes, fonctions = self.new_fonctions_unaires, parent = self) - operateur.interpreteFormule() + operateur.interprete_formule() texte = reste return operateur,reste else: return None,texte - def chercheOperateurBinaire(self,texte): + def cherche_operateur_binaire(self,texte): """ Cherche dans texte un operateur unaire """ @@ -507,11 +507,11 @@ class Interpreteur_Formule(object): # aucun operateur unaire trouve return None,texte - def chercheExpressionEntreParentheses(self,texte): + def cherche_expression_entre_parentheses(self,texte): """ Cherche en debut de texte une expression entre parentheses """ - args,reste = self.chercheArgs(texte.strip()) + args,reste = self.cherche_args(texte.strip()) if not args : return None,texte else: @@ -522,11 +522,11 @@ class Interpreteur_Formule(object): constantes = self.new_constantes, fonctions = self.new_fonctions_unaires, parent = self) - operateur.interpreteFormule() + operateur.interprete_formule() texte = reste return operateur,reste - def splitArgs(self,nom_fonction,args,nb_args): + def split_args(self,nom_fonction,args,nb_args): """ Tente de partager args en nb_args elements Retourne une liste de chaines de caracteres (liste de longueur nb_args) @@ -539,7 +539,7 @@ class Interpreteur_Formule(object): else: return l_args - def getType(self,texte): + def get_type(self,texte): """ Retourne le type de l'objet defini dans texte, a savoir: - constante @@ -555,7 +555,7 @@ class Interpreteur_Formule(object): nom_oper,args = texte.split('(',1) return 'fonction',nom_oper - def getNbArgs(self,formule): + def get_nb_args(self,formule): """ Retourne le nombre d'arguments dans la definition de formule (sous forme de tuple) """ @@ -582,7 +582,7 @@ if __name__ == '__main__': fonctions = fonctions_unaires) txt = i.str() print(('\nformule %s = %s' %(str(formule),txt))) - #if i.isValid() : + #if i.isvalid() : # print "\n\tPas d'erreur !" #else: # print i.report() diff --git a/Extensions/jdc.py b/Extensions/jdc.py index e984c864..c838b54f 100644 --- a/Extensions/jdc.py +++ b/Extensions/jdc.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -31,9 +31,9 @@ from . import etape_niveau class JDC(object): def __init__(self): self.dict_niveaux={} - self.buildNiveaux() + self.build_niveaux() - def buildNiveaux(self): + def build_niveaux(self): for niveau in self.definition.l_niveaux: etape_niv = etape_niveau.ETAPE_NIVEAU(niveau,self) self.etapes_niveaux.append(etape_niv) diff --git a/Extensions/jdc_include.py b/Extensions/jdc_include.py index b6fe4fe2..2e5a9ab7 100644 --- a/Extensions/jdc_include.py +++ b/Extensions/jdc_include.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -96,14 +96,14 @@ class JDC_POURSUITE(JDC): # On pourrait verifier que le jdc_pere apres l'etape etape_include # ne contient pas deja un concept de ce nom - #if self.jdc_pere.getSdApresEtapeAvecDetruire(sdnom,etape=self.etape_include): + #if self.jdc_pere.get_sd_apres_etape_avec_detruire(sdnom,etape=self.etape_include): # Il existe un concept apres self => impossible d'inserer # raise AsException("Nom de concept deja defini : %s" % sdnom) # On a choisi de ne pas faire ce test ici mais de le faire en bloc - # si necessaire apres en appelant la methode verifContexte + # si necessaire apres en appelant la methode verif_contexte # ATTENTION : Il ne faut pas ajouter sd dans sds car il s y trouve deja. - # Ajoute a la creation (appel de regSD). + # Ajoute a la creation (appel de reg_sd). self.sds_dict[sdnom]=sd sd.nom=sdnom @@ -111,27 +111,27 @@ class JDC_POURSUITE(JDC): if restrict == 'non': self.g_context[sdnom]=sd - def getVerifContexte(self): - #print "getVerifContexte" - j_context=self.getContexteAvant(None) - self.verifContexte(j_context) + def get_verif_contexte(self): + #print "get_verif_contexte" + j_context=self.get_contexte_avant(None) + self.verif_contexte(j_context) return j_context - def forceContexte(self,contexte): + def force_contexte(self,contexte): for nom_sd,sd in list(contexte.items()): if not isinstance(sd,ASSD):continue - autre_sd= self.jdc_pere.getSdApresEtapeAvecDetruire(nom_sd,sd, + autre_sd= self.jdc_pere.get_sd_apres_etape_avec_detruire(nom_sd,sd, etape=self.etape_include) if autre_sd is None:continue if sd is not autre_sd: # Il existe un autre concept de meme nom produit par une etape apres self # on detruit ce concept pour pouvoir inserer les etapes du jdc_include if sd.etape: - sd.etape.supprimeSdprod(sd) + sd.etape.supprime_sdprod(sd) return contexte - def verifContexte(self,context): + def verif_contexte(self,context): """ Cette methode verifie si le contexte passe en argument (context) peut etre insere dans le jdc pere de l'include. @@ -141,10 +141,10 @@ class JDC_POURSUITE(JDC): Si le contexte ne peut pas etre insere, la methode leve une exception sinon elle retourne le contexte inchange """ - #print "verifContexte" + #print "verif_contexte" for nom_sd,sd in list(context.items()): if not isinstance(sd,ASSD):continue - autre_sd= self.jdc_pere.getSdApresEtapeAvecDetruire(nom_sd,sd, + autre_sd= self.jdc_pere.get_sd_apres_etape_avec_detruire(nom_sd,sd, etape=self.etape_include) if autre_sd is None:continue if sd is not autre_sd: @@ -155,47 +155,47 @@ class JDC_POURSUITE(JDC): return context - def getListeCmd(self): + def get_liste_cmd(self): """ Retourne la liste des commandes du catalogue """ if self.jdc_pere is None: - return JDC.getListeCmd(self) - return self.jdc_pere.getListeCmd() + return JDC.get_liste_cmd(self) + return self.jdc_pere.get_liste_cmd() - def getGroups(self): + def get_groups(self): """ Retourne la liste des commandes du catalogue par groupes """ if self.jdc_pere is None: - return JDC.getGroups(self) - return self.jdc_pere.getGroups() + return JDC.get_groups(self) + return self.jdc_pere.get_groups() - def initModif(self): + def init_modif(self): """ Met l'etat de l'etape a : modifie Propage la modification au parent - Attention : initModif doit etre appele avant de realiser une modification + Attention : init_modif doit etre appele avant de realiser une modification La validite devra etre recalculee apres cette modification - mais par un appel a finModif pour preserver l'etat modified + mais par un appel a fin_modif pour preserver l'etat modified de tous les objets entre temps """ - #print "jdc_include.initModif",self,self.etape_include + #print "jdc_include.init_modif",self,self.etape_include self.state = 'modified' if self.etape_include: - self.etape_include.initModif() + self.etape_include.init_modif() - def finModif(self): + def fin_modif(self): """ Methode appelee une fois qu'une modification a ete faite afin de declencher d'eventuels traitements post-modification ex : INCLUDE et POURSUITE """ - #print "jdc_include.finModif",self,self.etape_include + #print "jdc_include.fin_modif",self,self.etape_include CONNECTOR.Emit(self,"valid") if self.etape_include: - self.etape_include.finModif() + self.etape_include.fin_modif() def supprime(self): """ @@ -214,7 +214,7 @@ class JDC_POURSUITE(JDC): # self.context_ini={} # self.procedure=None - def getContexteAvant(self,etape): + def get_contexte_avant(self,etape): """ Retourne le dictionnaire des concepts connus avant etape On tient compte des concepts produits par le jdc pere @@ -223,33 +223,33 @@ class JDC_POURSUITE(JDC): comme DETRUIRE ou les macros Si etape == None, on retourne le contexte en fin de JDC """ - #print "jdc_include.getContexteAvant",etape,etape and etape.nom + #print "jdc_include.get_contexte_avant",etape,etape and etape.nom if self.etape_include: - new_context=self.etape_include.parent.getContexteAvant(self.etape_include).copy() + new_context=self.etape_include.parent.get_contexte_avant(self.etape_include).copy() self.context_ini=new_context - d= JDC.getContexteAvant(self,etape) + d= JDC.get_contexte_avant(self,etape) return d - def resetContext(self): - #print "jdc_include.resetContext",self,self.nom + def reset_context(self): + #print "jdc_include.reset_context",self,self.nom if self.etape_include: - self.etape_include.parent.resetContext() - new_context=self.etape_include.parent.getContexteAvant(self.etape_include).copy() + self.etape_include.parent.reset_context() + new_context=self.etape_include.parent.get_contexte_avant(self.etape_include).copy() self.context_ini=new_context - JDC.resetContext(self) + JDC.reset_context(self) - def getSdApresEtape(self,nom_sd,etape,avec='non'): + def get_sd_apres_etape(self,nom_sd,etape,avec='non'): """ Cette methode retourne la SD de nom nom_sd qui est eventuellement definie apres etape Si avec vaut 'non' exclut etape de la recherche """ if self.etape_include: - sd=self.etape_include.parent.getSdApresEtape(nom_sd,self.etape_include,'non') + sd=self.etape_include.parent.get_sd_apres_etape(nom_sd,self.etape_include,'non') if sd:return sd - return JDC.getSdApresEtape(self,nom_sd,etape,avec) + return JDC.get_sd_apres_etape(self,nom_sd,etape,avec) - def getSdApresEtapeAvecDetruire(self,nom_sd,sd,etape,avec='non'): + def get_sd_apres_etape_avec_detruire(self,nom_sd,sd,etape,avec='non'): """ On veut savoir ce que devient le concept sd de nom nom_sd apres etape. Il peut etre detruit, remplace ou conserve @@ -257,17 +257,17 @@ class JDC_POURSUITE(JDC): definie apres etape en tenant compte des concepts detruits Si avec vaut 'non' exclut etape de la recherche """ - #print "jdc_include.getSdApresEtapeAvecDetruire",nom_sd,sd,id(sd) - autre_sd=JDC.getSdApresEtapeAvecDetruire(self,nom_sd,sd,etape,avec) + #print "jdc_include.get_sd_apres_etape_avec_detruire",nom_sd,sd,id(sd) + autre_sd=JDC.get_sd_apres_etape_avec_detruire(self,nom_sd,sd,etape,avec) # si autre_sd vaut None le concept sd a ete detruit. On peut terminer # la recherche en retournant None # Si autre_sd ne vaut pas sd, le concept a ete redefini. On peut terminer # la recherche en retournant le concept nouvellement defini # Sinon, on poursuit la recherche dans les etapes du niveau superieur. if autre_sd is None or autre_sd is not sd :return autre_sd - return self.etape_include.parent.getSdApresEtapeAvecDetruire(nom_sd,sd,self.etape_include,'non') + return self.etape_include.parent.get_sd_apres_etape_avec_detruire(nom_sd,sd,self.etape_include,'non') - def deleteConcept(self,sd): + def delete_concept(self,sd): """ Fonction : Mettre a jour les etapes du JDC suite a la disparition du concept sd @@ -275,48 +275,48 @@ class JDC_POURSUITE(JDC): que de transmettre aux fils """ # Nettoyage des etapes de l'include - JDC.deleteConcept(self,sd) + JDC.delete_concept(self,sd) # Nettoyage des etapes du parent if self.etape_include: - self.etape_include.parent.deleteConceptAfterEtape(self.etape_include,sd) + self.etape_include.parent.delete_concept_after_etape(self.etape_include,sd) - def deleteConceptAfterEtape(self,etape,sd): + def delete_concept_after_etape(self,etape,sd): """ Fonction : Mettre a jour les etapes du JDC qui sont apres etape suite a la disparition du concept sd """ # Nettoyage des etapes de l'include - JDC.deleteConceptAfterEtape(self,etape,sd) + JDC.delete_concept_after_etape(self,etape,sd) # Nettoyage des etapes du parent if self.etape_include: - self.etape_include.parent.deleteConceptAfterEtape(self.etape_include,sd) + self.etape_include.parent.delete_concept_after_etape(self.etape_include,sd) - def updateConceptAfterEtape(self,etape,sd): + def update_concept_after_etape(self,etape,sd): """ Fonction : mettre a jour les etapes du JDC suite a une modification du concept sd (principalement renommage) """ - JDC.updateConceptAfterEtape(self,etape,sd) + JDC.update_concept_after_etape(self,etape,sd) if self.etape_include: - self.etape_include.parent.updateConceptAfterEtape(self.etape_include,sd) + self.etape_include.parent.update_concept_after_etape(self.etape_include,sd) - def replaceConceptAfterEtape(self,etape,old_sd,sd): + def replace_concept_after_etape(self,etape,old_sd,sd): """ Fonction : Mettre a jour les etapes du JDC qui sont apres etape suite au remplacement du concept old_sd par sd """ # Nettoyage des etapes de l'include - JDC.replaceConceptAfterEtape(self,etape,old_sd,sd) + JDC.replace_concept_after_etape(self,etape,old_sd,sd) # Nettoyage des etapes du parent if self.etape_include: - self.etape_include.parent.replaceConceptAfterEtape(self.etape_include,old_sd,sd) + self.etape_include.parent.replace_concept_after_etape(self.etape_include,old_sd,sd) - def changeFichier(self,fichier): + def changefichier(self,fichier): if self.etape_include: self.etape_include.fichier_ini=fichier - self.finModif() + self.fin_modif() - def controlContextApres(self,etape): + def control_context_apres(self,etape): """ Cette methode verifie que les etapes apres l'etape etape ont bien des concepts produits acceptables (pas de conflit de @@ -325,24 +325,24 @@ class JDC_POURSUITE(JDC): Effectue les verifications sur les etapes du jdc mais aussi sur les jdc parents s'ils existent. """ - #print "jdc_include.controlContextApres",self,etape + #print "jdc_include.control_context_apres",self,etape #Regularise les etapes du jdc apres l'etape etape - self.controlJdcContextApres(etape) + self.control_jdc_context_apres(etape) if self.etape_include: #print "CONTROL_INCLUDE:",self.etape_include,self.etape_include.nom # il existe un jdc pere. On propage la regularisation - self.etape_include.parent.controlContextApres(self.etape_include) + self.etape_include.parent.control_context_apres(self.etape_include) class JDC_INCLUDE(JDC_POURSUITE): - def getListeCmd(self): + def get_liste_cmd(self): """ Retourne la liste des commandes du catalogue """ if self.jdc_pere is None: - return JDC.getListeCmd(self) - return [e for e in self.jdc_pere.getListeCmd() if e not in ("DEBUT","POURSUITE","FIN") ] + return JDC.get_liste_cmd(self) + return [e for e in self.jdc_pere.get_liste_cmd() if e not in ("DEBUT","POURSUITE","FIN") ] - def activeEtapes(self): + def active_etapes(self): for e in self.etapes: e.active() diff --git a/Extensions/localisation.py b/Extensions/localisation.py index e846fe1f..cde31ae8 100644 --- a/Extensions/localisation.py +++ b/Extensions/localisation.py @@ -41,26 +41,26 @@ def localise(application, locale=None,file=None,translatorFichier=None, debug=Tr if locale=="ang" : locale="en" + print (locale) if file != None and debug : print ('chargement de ', file,monPath) print (eficas_translator.load(file,monPath)) print (QApplication.installTranslator(eficas_translator)) elif eficas_translator.load("eficas_" + locale, monPath): - QApplication.installTranslator(eficas_translator) + print ("eficas_" + locale, monPath) + print (QApplication.installTranslator(eficas_translator)) elif debug: print ("Unable to load Eficas translator!") global code_translator - if debug : print ('translatorFichier :' ,translatorFichier) if translatorFichier != None : if (code_translator.load(translatorFichier)) and debug: print (translatorFichier, ' loaded') elif (code_translator.load(translatorFichier+'_'+locale) and debug): print(translatorFichier+'_'+locale+ ' loaded') elif debug : - print ("Unable to load Code translator! No file or No translation" + translatorFichier) + print ("Unable to load Code translator! No file or No translation" + translatorFichier+'_'+locale) if debug : print (QApplication.installTranslator(code_translator)) - else : QApplication.installTranslator(code_translator) if __name__ == "__main__": diff --git a/Extensions/mcnuplet.py b/Extensions/mcnuplet.py index 81e623d3..d7eb0e12 100644 --- a/Extensions/mcnuplet.py +++ b/Extensions/mcnuplet.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -57,16 +57,16 @@ class MCNUPLET(V_MCCOMPO.MCCOMPO,N_MCCOMPO.MCCOMPO): self.etape = None self.state = 'undetermined' self.actif=1 - self.mcListe=self.buildMc() + self.mc_liste=self.build_mc() - def buildMc(self): + def build_mc(self): """ Construit la liste des sous-entites de MCNUPLET a partir de la liste des arguments (valeur) """ args = self.valeur if args ==None : args =() - mcListe=[] + mc_liste=[] # on cree les sous entites du NUPLET a partir des valeurs initiales k=0 @@ -80,13 +80,13 @@ class MCNUPLET(V_MCCOMPO.MCCOMPO,N_MCCOMPO.MCCOMPO): if objet.definition.position == 'global' : self.append_mc_global(objet) #XXX et global_jdc ?? - mcListe.append(objet) + mc_liste.append(objet) k=k+1 # Un nuplet n'a pas de mots inconnus self.reste_val={} - return mcListe + return mc_liste - def isValid(self,cr='non'): + def isvalid(self,cr='non'): """ Indique si self (MCNUPLET) est un objet valide ou non : retourne 1 si oui, 0 sinon """ @@ -98,18 +98,18 @@ class MCNUPLET(V_MCCOMPO.MCCOMPO,N_MCCOMPO.MCCOMPO): old_valid = self.valid else: old_valid = None - for child in self.mcListe : - if not child.isValid(): + for child in self.mc_liste : + if not child.isvalid(): valid = 0 break - if len(self.mcListe) != len(self.definition.entites): + if len(self.mc_liste) != len(self.definition.entites): valid=0 if cr == 'oui' : self.cr.fatal(''.join(("Nuplet : ",self.nom,tr("Longueur incorrecte")))) self.valid = valid self.state = 'unchanged' if old_valid: - if old_valid != self.valid : self.initModifUp() + if old_valid != self.valid : self.init_modif_up() return self.valid def __getitem__(self,key): @@ -118,7 +118,7 @@ class MCNUPLET(V_MCCOMPO.MCCOMPO,N_MCCOMPO.MCCOMPO): """ # Un nuplet est toujours une liste de mots cles simples # On retourne donc la valeur - return self.mcListe[key].valeur + return self.mc_liste[key].valeur def __str__(self): """ @@ -126,7 +126,7 @@ class MCNUPLET(V_MCCOMPO.MCCOMPO,N_MCCOMPO.MCCOMPO): de caracteres """ s='(' - for e in self.mcListe: + for e in self.mc_liste: s=s + str(e.valeur) + ',' return s + ')' @@ -136,17 +136,17 @@ class MCNUPLET(V_MCCOMPO.MCCOMPO,N_MCCOMPO.MCCOMPO): de caracteres """ s='(' - for e in self.mcListe: + for e in self.mc_liste: s=s + str(e.valeur) + ',' return s + ')' - def getRegles(self): + def get_regles(self): """ Retourne la liste des regles attachees au nuplet """ return [] - def verifConditionBloc(self): + def verif_condition_bloc(self): """ Verifie s'il y a des blocs sous le nuplet et retourne les blocs en question @@ -154,7 +154,7 @@ class MCNUPLET(V_MCCOMPO.MCCOMPO,N_MCCOMPO.MCCOMPO): # Il n y a pas de BLOCs sous un NUPLET return [],[] - def isRepetable(self): + def isrepetable(self): """ Indique si le NUPLET peut etre repete. Retourne 1 si c'est le cas. @@ -169,33 +169,33 @@ class MCNUPLET(V_MCCOMPO.MCCOMPO,N_MCCOMPO.MCCOMPO): def makeobjet(self): return self.definition(val = None, nom = self.nom,parent = self.parent) - def getValeur(self): + def get_valeur(self): """ Cette methode doit retourner la valeur de l'objet. Elle est utilisee par - creeDictValeurs pour construire un dictionnaire contenant les mots cles + cree_dict_valeurs pour construire un dictionnaire contenant les mots cles d'une etape. Dans le cas d'un nuplet, on retournera comme valeur une liste des valeurs des mots cle simples contenus. """ l=[] - for v in self.mcListe: + for v in self.mc_liste: l.append(v.valeur) return l - def getVal(self): + def get_val(self): """ Une autre methode qui retourne une "autre" valeur du mot cle facteur. - Elle est utilisee par la methode getMocle + Elle est utilisee par la methode get_mocle """ l=[] - for v in self.mcListe: + for v in self.mc_liste: l.append(v.valeur) return l - def isOblig(self): + def isoblig(self): return self.definition.statut=='o' - def getFr(self): + def get_fr(self): """ Retourne le texte d'aide dans la langue choisie """ @@ -204,11 +204,11 @@ class MCNUPLET(V_MCCOMPO.MCCOMPO,N_MCCOMPO.MCCOMPO): except: return '' - def creeDictValeurs(self,liste=[],condition=0): + def cree_dict_valeurs(self,liste=[],condition=0): dico={} return dico - def updateConditionBloc(self): + def update_condition_bloc(self): """ Realise l'update des blocs conditionnels fils de self et propage au parent (rien a faire pour nuplet) diff --git a/Extensions/niveau.py b/Extensions/niveau.py index 9ca012e9..903ec213 100644 --- a/Extensions/niveau.py +++ b/Extensions/niveau.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -47,7 +47,7 @@ class NIVEAU(object): self.entites.append(commande) self.l_noms_entites.append(commande.nom) - def getListeCmd(self): + def get_liste_cmd(self): self.l_noms_entites.sort() return self.l_noms_entites diff --git a/Extensions/nuplet.py b/Extensions/nuplet.py index fad34c6d..81774ec6 100644 --- a/Extensions/nuplet.py +++ b/Extensions/nuplet.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -62,7 +62,7 @@ class NUPL(N_ENTITE.ENTITE,I_ENTITE.ENTITE): self.idracine="NUPLET" self.affecter_parente() - def verifCata(self): + def verif_cata(self): """ Cette methode sert a valider les attributs de l'objet de definition de la classe NUPL @@ -75,13 +75,13 @@ class NUPL(N_ENTITE.ENTITE,I_ENTITE.ENTITE): self.cr.fatal(tr("L'attribut 'max' doit etre un entier : ")+str(self.max)) if self.min > self.max : self.cr.fatal(tr("Nombres d'occurrence min et max invalides :") +str(self.min)+","+str(self.max)) - if type(self.fr) != bytes and type(self.fr) != str : + if type(self.fr) != bytes : self.cr.fatal(tr("L'attribut 'fr' doit etre une chaine de caracteres")) if self.statut not in ['o','f','c','d']: self.cr.fatal(tr("L'attribut 'statut' doit valoir 'o','f','c' ou 'd'")) - if type(self.docu) != bytes and type(self.docu) != str : + if type(self.docu) != bytes : self.cr.fatal(tr("L'attribut 'docu' doit etre une chaine de caracteres")) - self.verifCataRegles() + self.verif_cata_regles() def __call__(self,val,nom,parent): """ @@ -105,7 +105,7 @@ class NUPL(N_ENTITE.ENTITE,I_ENTITE.ENTITE): Methode qui cree le rapport de verification du catalogue du nuplet """ self.cr = self.CR() - self.verifCata() + self.verif_cata() for v in self.entites : cr = v.report() cr.debut =tr("Debut ")+v.__class__.__name__+ ' : ' diff --git a/Extensions/param2.py b/Extensions/param2.py index fa5ea0db..d5a84a62 100644 --- a/Extensions/param2.py +++ b/Extensions/param2.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -303,3 +303,4 @@ class OriginalMath(object): originalMath=OriginalMath() +originalMath.toOriginal() diff --git a/Extensions/parametre.py b/Extensions/parametre.py index f99b8bdc..c7d45168 100644 --- a/Extensions/parametre.py +++ b/Extensions/parametre.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -64,18 +64,18 @@ class PARAMETRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT,Formula) : # completude self.definition=self # parent ne peut etre qu'un objet de type JDC - self.jdc = self.parent = CONTEXT.getCurrentStep() + self.jdc = self.parent = CONTEXT.get_current_step() self.niveau=self.parent.niveau self.actif=1 self.state='undetermined' self.register() self.dict_valeur=[] - #self.valeur = self.interpreteValeur(valeur) + #self.valeur = self.interprete_valeur(valeur) #self.val=valeur self.valeur = valeur self.val=repr(valeur) - def interpreteValeur(self,val): + def interprete_valeur(self,val): """ Essaie d'interpreter val (chaine de caracteres)comme : - un entier @@ -99,10 +99,10 @@ class PARAMETRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT,Formula) : return None return l_new_val - if type(val) == bytes or type(val) == str: + if type(val) == bytes: # on tente l'evaluation dans un contexte fourni par le parent s'il existe if self.parent: - valeur=self.parent.evalInContext(val,self) + valeur=self.parent.eval_in_context(val,self) else: try : valeur = eval(val) @@ -137,7 +137,7 @@ class PARAMETRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT,Formula) : # on retourne val comme une string car on n'a pas su l'interpreter return val - def getValeurs(self): + def get_valeurs(self): valeurretour=[] if self.dict_valeur != []: for val in self.dict_valeur: @@ -146,35 +146,35 @@ class PARAMETRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT,Formula) : valeurretour.append(self.valeur) return valeurretour - def setValeur(self,new_valeur): + def set_valeur(self,new_valeur): """ Remplace la valeur de self par new_valeur interpretee """ - self.valeur = self.interpreteValeur(new_valeur) + self.valeur = self.interprete_valeur(new_valeur) self.val=repr(self.valeur) - self.parent.updateConceptAfterEtape(self,self) - self.initModif() + self.parent.update_concept_after_etape(self,self) + self.init_modif() - def setNom(self,new_nom): + def set_nom(self,new_nom): """ Change le nom du parametre """ - self.initModif() + self.init_modif() self.nom=new_nom - self.finModif() + self.fin_modif() - def initModif(self): + def init_modif(self): """ Methode qui declare l'objet courant comme modifie et propage cet etat modifie a ses ascendants """ self.state = 'modified' if self.parent: - self.parent.initModif() + self.parent.init_modif() - def getJdcRoot(self): + def get_jdc_root(self): if self.parent: - return self.parent.getJdcRoot() + return self.parent.get_jdc_root() else: return self @@ -182,10 +182,10 @@ class PARAMETRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT,Formula) : """ Enregistre le parametre dans la liste des etapes de son parent (JDC) """ - self.parent.registerParametre(self) + self.parent.register_parametre(self) self.parent.register(self) - def isValid(self,cr='non'): + def isvalid(self,cr='non'): """ Retourne 1 si self est valide, 0 sinon Un parametre est considere comme valide si : @@ -203,19 +203,19 @@ class PARAMETRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT,Formula) : return 0 return 1 - def isOblig(self): + def isoblig(self): """ Indique si self est obligatoire ou non : retourne toujours 0 """ return 0 - def isRepetable(self): + def isrepetable(self): """ Indique si self est repetable ou non : retourne toujours 1 """ return 1 - def listeMcPresents(self): + def liste_mc_presents(self): return [] def supprime(self): @@ -235,7 +235,7 @@ class PARAMETRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT,Formula) : """ self.actif = 1 try: - self.jdc.appendParam(self) + self.jdc.append_param(self) except: pass CONNECTOR.Emit(self,"add",None) @@ -247,34 +247,34 @@ class PARAMETRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT,Formula) : Il faut supprimer le parametre du contexte global du JDC """ self.actif = 0 - self.jdc.delParam(self) - self.jdc.deleteConceptAfterEtape(self,self) + self.jdc.del_param(self) + self.jdc.delete_concept_after_etape(self,self) CONNECTOR.Emit(self,"supp",None) CONNECTOR.Emit(self,"valid") - def isActif(self): + def isactif(self): """ Booleenne qui retourne 1 si self est actif, 0 sinon """ return self.actif - def setAttribut(self,nom_attr,new_valeur): + def set_attribut(self,nom_attr,new_valeur): """ Remplace la valeur de self.nom_attr par new_valeur) """ if hasattr(self,nom_attr): setattr(self,nom_attr,new_valeur) - self.initModif() + self.init_modif() - def supprimeSdProds(self): + def supprime_sdprods(self): """ Il faut supprimer le parametre qui a ete entre dans la liste des parametres du JDC """ - self.jdc.deleteParam(self) - self.parent.deleteConcept(self) + self.jdc.delete_param(self) + self.parent.delete_concept(self) - def updateContext(self,d): + def update_context(self,d): """ Update le dictionnaire d avec le parametre que produit self """ @@ -284,7 +284,7 @@ class PARAMETRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT,Formula) : """ Donne un echo de self sous la forme nom = valeur """ - if type(self.valeur) == bytes or type(self.valeur) == str : + if type(self.valeur) == bytes: if self.valeur.find('\n') == -1: # pas de retour chariot, on utilise repr return self.nom+' = '+ repr(self.valeur) @@ -308,7 +308,7 @@ class PARAMETRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT,Formula) : """ return self.nom - def getSdprods(self,nom_sd): + def get_sdprods(self,nom_sd): """ Retourne les concepts produits par la commande """ @@ -317,7 +317,7 @@ class PARAMETRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT,Formula) : def report(self): """ Genere l'objet rapport (classe CR) """ self.cr=CR() - self.isValid(cr='oui') + self.isvalid(cr='oui') return self.cr def ident(self): @@ -327,13 +327,13 @@ class PARAMETRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT,Formula) : """ return self.nom - def deleteConcept(self,sd): + def delete_concept(self,sd): pass - def replaceConcept(self,old_sd,sd): + def replace_concept(self,old_sd,sd): pass - def verifConditionBloc(self): + def verif_condition_bloc(self): """ Evalue les conditions de tous les blocs fils possibles (en fonction du catalogue donc de la definition) de self et @@ -343,24 +343,24 @@ class PARAMETRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT,Formula) : """ return [],[] - def verifConditionRegles(self,liste_presents): + def verif_condition_regles(self,liste_presents): """ Retourne la liste des mots-cles a rajouter pour satisfaire les regles en fonction de la liste des mots-cles presents """ return [] - def verifExistenceSd(self): + def verif_existence_sd(self): pass - def controlSdprods(self,d): + def control_sdprods(self,d): """sans objet """ pass def close(self): pass - def resetContext(self): + def reset_context(self): pass def eval(self): @@ -380,7 +380,7 @@ class COMBI_PARAMETRE(object) : def __repr__(self): return self.chainevaleur - def isValid(self): + def isvalid(self): if self.valeur and self.chainevaleur: return 1 @@ -394,14 +394,14 @@ class ITEM_PARAMETRE(object) : return self.param_pere.nom+'['+str(self.item)+']' - def isValid(self): - isValid = 1 + def isvalid(self): + isvalid = 1 if self.item < 0: - isValid = 0 + isvalid = 0 try: longueur= len(self.param_pere.dict_valeur) - 1 except: longueur=0 if self.item > longueur : - isValid= 0 - return isValid + isvalid= 0 + return isvalid diff --git a/Extensions/parametre_eval.py b/Extensions/parametre_eval.py index 4bb03cd6..abe71d5c 100644 --- a/Extensions/parametre_eval.py +++ b/Extensions/parametre_eval.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -52,16 +52,16 @@ class PARAMETRE_EVAL(parametre.PARAMETRE) : # parent ne peut etre qu'un objet de type JDC import Accas self.Accas_EVAL=Accas.EVAL - self.valeur = self.interpreteValeur(valeur) + self.valeur = self.interprete_valeur(valeur) self.val = valeur self.nom = nom - self.jdc = self.parent = CONTEXT.getCurrentStep() + self.jdc = self.parent = CONTEXT.get_current_step() self.definition=self self.niveau = self.parent.niveau self.actif=1 self.state='undetermined' # Ceci est-il indispensable ??? - #self.appel = N_utils.calleeWhere(niveau=2) + #self.appel = N_utils.callee_where(niveau=2) self.register() def __repr__(self): @@ -76,7 +76,7 @@ class PARAMETRE_EVAL(parametre.PARAMETRE) : """ return self.nom - def interpreteValeur(self,val): + def interprete_valeur(self,val): """ Essaie d'interpreter val (chaine de caracteres ou None) comme : une instance de Accas.EVAL @@ -95,21 +95,21 @@ class PARAMETRE_EVAL(parametre.PARAMETRE) : print(("Le texte %s n'est pas celui d'un parametre evalue" %val)) return None - def setValeur(self,new_valeur): + def set_valeur(self,new_valeur): """ Remplace la valeur de self par new_valeur interpretee. """ - self.valeur = self.interpreteValeur(new_valeur) + self.valeur = self.interprete_valeur(new_valeur) self.val = new_valeur - self.initModif() + self.init_modif() - def getNom(self) : + def get_nom(self) : """ Retourne le nom du parametre """ return self.nom - def getValeur(self): + def get_valeur(self): """ Retourne la valeur de self, cad le texte de l'objet class_eval.EVAL """ @@ -118,7 +118,7 @@ class PARAMETRE_EVAL(parametre.PARAMETRE) : else: return '' - def verifEval(self,exp_eval=None,cr='non'): + def verif_eval(self,exp_eval=None,cr='non'): """ Cette methode a pour but de verifier si l'expression EVAL est syntaxiquement correcte. @@ -136,22 +136,22 @@ class PARAMETRE_EVAL(parametre.PARAMETRE) : formule=(self.nom,'',None,exp_eval) # on recupere la liste des constantes et des autres fonctions predefinies # et qui peuvent etre utilisees dans le corps de la formule courante - l_ctes,l_form = self.jdc.getParametresFonctionsAvantEtape(self) + l_ctes,l_form = self.jdc.get_parametres_fonctions_avant_etape(self) # on cree un objet verificateur verificateur = interpreteur_formule.Interpreteur_Formule(formule=formule, constantes = l_ctes, fonctions = l_form) if cr == 'oui' : if not verificateur.cr.estvide(): - self.cr.fatal(verificateur.cr.getMessFatal()) - return verificateur.isValid(),''.join(verificateur.cr.crfatal) + self.cr.fatal(verificateur.cr.get_mess_fatal()) + return verificateur.isvalid(),''.join(verificateur.cr.crfatal) else: # pas d'expression EVAL --> self non valide if cr == 'oui' : self.cr.fatal(tr("Le parametre EVAL %s ne peut valoir None") , self.nom) return 0,tr("Le parametre EVAL ne peut valoir None") - def verifNom(self,nom=None,cr='non'): + def verif_nom(self,nom=None,cr='non'): """ Verifie si le nom passe en argument (si aucun prend le nom courant) est un nom valide pour un parametre EVAL @@ -167,13 +167,13 @@ class PARAMETRE_EVAL(parametre.PARAMETRE) : if len(nom) > 8 : if cr == 'oui' : self.cr.fatal(tr("Un nom de parametre ne peut depasser 8 caracteres")) return 0,"Un nom de parametre ne peut depasser 8 caracteres" - sd = self.parent.getSdAutourEtape(nom,self) + sd = self.parent.get_sd_autour_etape(nom,self) if sd : if cr == 'oui' : self.cr.fatal(tr("Un concept de nom %s existe deja !"), nom) return 0,"Un concept de nom %s existe deja !" %nom return 1,'' - def verifParametreEval(self,param=None,cr='non'): + def verif_parametre_eval(self,param=None,cr='non'): """ Verifie la validite du parametre EVAL passe en argument. Ce nouveau parametre est passe sous la forme d'un tuple : (nom,valeur) @@ -187,8 +187,8 @@ class PARAMETRE_EVAL(parametre.PARAMETRE) : param = (self.nom,self.valeur.valeur) else: param = (self.nom,None) - test_nom,erreur_nom = self.verifNom(param[0],cr=cr) - test_eval,erreur_eval = self.verifEval(param[1],cr=cr) + test_nom,erreur_nom = self.verif_nom(param[0],cr=cr) + test_eval,erreur_eval = self.verif_eval(param[1],cr=cr) # test global = produit des tests partiels test = test_nom*test_eval # message d'erreurs global = concatenation des messages partiels @@ -205,18 +205,18 @@ class PARAMETRE_EVAL(parametre.PARAMETRE) : par les nouvelles valeurs passees dans le tuple formule. On stocke les valeurs SANS verifications. """ - self.initModif() - self.setNom(param[0]) - self.setValeur('EVAL("""'+param[1]+'""")') + self.init_modif() + self.set_nom(param[0]) + self.set_valeur('EVAL("""'+param[1]+'""")') - def isValid(self,cr='non'): + def isvalid(self,cr='non'): """ Retourne 1 si self est valide, 0 sinon Un parametre evalue est considere comme valide si : - il a un nom - il a une valeur qui est interpretable par l'interpreteur de FORMULEs """ - resu,erreur= self.verifParametreEval(cr=cr) + resu,erreur= self.verif_parametre_eval(cr=cr) return resu def report(self): @@ -224,10 +224,10 @@ class PARAMETRE_EVAL(parametre.PARAMETRE) : Genere l'objet rapport (classe CR) """ self.cr = CR() - self.isValid(cr='oui') + self.isvalid(cr='oui') return self.cr - def setNom(self,new_nom): + def set_nom(self,new_nom): """ Remplace le nom de self par new_nom """ diff --git a/Extensions/pluginloader.py b/Extensions/pluginloader.py index 49b47bd9..3efe0a03 100644 --- a/Extensions/pluginloader.py +++ b/Extensions/pluginloader.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -33,9 +33,9 @@ class PluginLoader(UserDict): def __init__(self,module): UserDict.__init__(self) self.plugin_dir=module.__path__[0] - self.plugin_setName=module.__name__ + self.plugin_set_name=module.__name__ _module_list = glob.glob( os.path.join( self.plugin_dir, - '%s*py' % self.plugin_setName, + '%s*py' % self.plugin_set_name, ) ) _module_list.sort() @@ -43,7 +43,7 @@ class PluginLoader(UserDict): for _module_name in _module_list: _module_name = os.path.basename(_module_name)[:-3] - _import_name = '%s.%s' % ( self.plugin_setName, + _import_name = '%s.%s' % ( self.plugin_set_name, _module_name ) try: diff --git a/Extensions/translationQT4.py b/Extensions/translationQT4.py new file mode 100644 index 00000000..ba4940f4 --- /dev/null +++ b/Extensions/translationQT4.py @@ -0,0 +1,295 @@ +# -*- coding: utf-8 -*- +# copyright 2012 LOGILAB S.A. (Paris, FRANCE), all rights reserved. +# contact http://www.logilab.fr -- mailto:contact@logilab.fr +# +# This program 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 program 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 program. If not, see . +""" +Main module of the ``i18n`` package, for internationalizing strings via the Qt +mechanism, in the ``Eficas`` application of EDF. Handles unformatted and +formatted strings, according to all formatting schemes: via dictionaries, +tuples, or atoms. + +``PyQt4`` is currently supported. +""" +from Extensions.eficas_exception import EficasException +def _reformat_qstring_from_tuple(qstring, params): + """ + _reformat_qstring_from_tuple(QString, tuple) -> QString + + Module-internal method. + Returns a formatted QString from an unformatted QString + and a tuple specifying the parameters of the QString. + """ + from PyQt4.QtCore import QRegExp, QString + reg = QRegExp("\%\.[1-9]{1,2}f") + for p, j in zip(params, range(len(params))): + try: + i += 1 + qstring[i + 1:].indexOf("%") + except NameError: + i = qstring.indexOf("%") + if i == reg.indexIn(qstring): + precision = reg.cap(0).split('.')[1].split('f')[0] + qstring = qstring[:i + 2 + len(precision)].\ + replace("%." + precision, "%" + unicode(1 + j)) + \ + qstring[i + 3 + len(precision):] + qstring = qstring.arg(QString.number(float(params[j]), 'f',\ + int(precision))) + else: + qstring = qstring[:i + 1].replace("%", "%" + unicode(1 + j)) + \ + qstring[i + 2:] + if isinstance(params[j], unicode): + qstring = qstring.arg(params[j]) + elif isinstance(params[j], float): + qstring = qstring.arg(QString.number(params[j], 'f',\ + len(unicode(params[j]).\ + split('.')[1]))) + elif isinstance(params[j], int): + qstring = qstring.arg(QString.number(params[j], 10)) + elif isinstance(params[j], list): + qstring = qstring.arg(repr(params[j])) + else: + raise EficasException("TypeError: i18n.translation: \ + Unicode, list or number expected!") + return qstring + +def _reformat_qstring_from_dict(qstring, params): + """ + _reformat_qstring_from_dict(QString, dict) -> QString + + Module-internal method. + Returns a formatted QString from an unformatted QString + and a dictionary specifying the parameters of the QString. + """ + from PyQt4.QtCore import QRegExp, QString + for p, j in zip(params, range(len(params))): + p_reg = QRegExp("\%\("+ p + "\)\.[1-9]{1,2}f") + p_index = p_reg.indexIn(qstring) + if p_index != -1: + precision = p_reg.cap(0).split('.')[1].split('f')[0] + qstring = qstring.replace("%(" + p + ")." + precision + "f",\ + "%" + unicode(1 + j)).\ + arg(QString.number(float(params[p]), \ + 'f', \ + int(precision))) + else: + qstring.remove(QRegExp("\\)[sdf]{1}")) + qstring = qstring.replace("%(" + p, "%" + unicode(1 + j)) + if isinstance(params[p], unicode): + qstring = qstring.arg(params[p]) + elif isinstance(params[p], float): + qstring = qstring.arg(QString.number(params[p], 'f', \ + len(unicode(params[p]).split('.')[1]))) + elif isinstance(params[p], int): + qstring = qstring.arg(QString.number(params[p], 10)) + elif isinstance(params[p], list): + qstring = qstring.arg(repr(params[p])) + else: + raise EficasException("TypeError: i18n.translation: \ + Improper string parameter type.") + return qstring + +def _reformat_qstring_from_atom(qstring, params): + """ + _reformat_qstring_from_atom(QString, int-or-float) -> QString + + Module-internal method. + Returns a formatted QString from an unformatted QString + and an integer or a float specifying the parameter of + the QString. + """ + from PyQt4.QtCore import QRegExp, QString + reg = QRegExp("\%\.[1-9]{1,2}f") + if qstring.count("%") == 0: + qstring.append("%1") + try: + qstring = qstring.arg(unicode(params)) + except AttributeError: + qstring = qstring.arg(params) + elif qstring.count("%") == 1: + i = qstring.indexOf("%") + if i == reg.indexIn(qstring): + precision = reg.cap(0).split('.')[1].split('f')[0] + qstring = qstring[: i + 2 + len(precision)].\ + replace("%." + precision, "%1") + \ + qstring[i + 3 + len(precision):] + qstring = qstring.arg(QString.number(float(params), 'f',\ + int(precision))) + else: + qstring = qstring[:i + 1].replace("%", "%1") + \ + qstring[i + 2:] + if isinstance(params, (unicode, str)): + qstring = qstring.arg(_preprocess_atom(params)) + elif isinstance(params, float): + qstring = qstring.arg(QString.number(params, 'f', \ + len(unicode(params).\ + split('.')[1]))) + elif isinstance(params, int): + qstring = qstring.arg(QString.number(params, 10)) + else: + raise EficasException("TypeError: i18n.translation: Unicode, \ + string or number expected!") + return qstring + +def _reformat_qstring_from_list(qstring, params): + """ + _reformat_qstring_from_list(QString, tuple) -> QString + + Module-internal method. + Returns a formatted QString from an unformatted QString + and a list whose concatenation specifies the parameter + of the QString. + """ + # XXX to add further functionality, e.g. list processing + # when ``%`` not at the end. + if qstring.count("%") == 1 and \ + unicode(qstring).strip()[:-1].endswith("%"): + qstring = qstring[:qstring.indexOf("%") + 1].append("1") + qstring = qstring.arg(u' '.join(map(unicode, params))) + elif qstring.count("%") == 0: + qstring.append("%1") + qstring = qstring.arg(u' '.join(map(unicode, params))) + else: + raise EficasException("ValueError: i18n.translation: \ + At most one '%' expected!") + return qstring + +def _preprocess_atom(string): + """ + _preprocess_atom(string-or-number-or-unicode) -> unicode + Test if input is a Unicode object or a number; if so, then return it; + otherwise, test if the input is a string; if so, then try to create + a Unicode object out of it. To this end, assume the string is encoded + in utf-8; if this fails, then assume the string is encoded in Latin-9. + """ + if isinstance(string, (unicode, int, float, complex)): + return string + elif isinstance(string, str): + return _str_to_unicode(string) + else: + raise EficasException("TypeError: Expected number, string or\ + Unicode object!") + +def _str_to_unicode(string): + """ + _str_to_unicode(string) -> unicode + Tries to create a Unicode object out of the input string; assumes + the string is UTF-8 encoded; if not, then assume the string is + Latin-9 encoded. + """ + try: + string = unicode(string, "utf-8") + except UnicodeDecodeError: + try: + string = unicode(string, "iso-8859-15") + except UnicodeDecodeError: + raise EficasException("UnicodeDecodeError: UTF-8, Latin-1 \ + or Latin-9 expected") + return string + +def tr(string, *args): + """tr(string-or-unicode, iterable-or-float-or-int) -> unicode + tr(string-or-unicode) -> unicode + + Returns a formatted Unicode object from an unformatted + string or Unicode object with formatting specifications, and, + optionally, an iterable or an int or float. + Lets Python do the string formatting.""" + from PyQt4.QtGui import QApplication + string = _preprocess_atom(string) + if len(args) == 0: + r = unicode(QApplication.translate("@default", string)) + elif len(args) == 1: + if isinstance(args[0], (dict, tuple)): + if string.count("%") == len(args[0]): + r = unicode(QApplication.translate("@default", string)) % args[0] + elif string.count("%") == 1 and string.count("%(") == 0: + r = unicode(QApplication.translate("@default", string))\ + % _preprocess_atom(repr(args[0])) + elif string.count("%") == 0: + r = (unicode(QApplication.translate("@default", string)), args[0]) + else: + raise EficasException("ValueError: i18n.translate.tr: \ + Improper input string formatting") + elif isinstance(args[0], (unicode, str, int, float, complex)): + if string.count("%") == 1: + r = unicode(QApplication.translate("@default", string))\ + % _preprocess_atom(args[0]) + else: + r = unicode(QApplication.translate("@default", string)) +\ + unicode(_preprocess_atom(args[0])) + elif isinstance(args[0], list) or args[0] is None: + if string.count("%") == 1: + r = unicode(QApplication.translate("@default", string))\ + % _preprocess_atom(repr(args[0])) + else: + r = (unicode(QApplication.translate("@default", string)), args[0]) + + else: + raise EficasException("ValueError: i18n.translation.tr: \ + Wrong type for formatted string \ + arguments: %s" % type(args[0])) + else: + raise EficasException("ValueError: i18n.translation.tr: \ + Wrong formatted string arguments") + return r + + +def tr_qt(string, *args): + """tr_qt(string, iterable-or-float-or-int) -> unicode + t_qtr(string) -> unicode + + Returns a formatted string from an unformatted + Unicode string with formatting specifications, and, + optionally, an iterable or an int or float. + Lets PyQt4 do the string formatting. To this end, + a conversion from Python to Qt string formatting + syntax is performed.""" + string = _preprocess_atom(string) + from PyQt4.QtGui import QApplication + if len(args) == 0: + r = QApplication.translate("@default", string) + elif len(args) == 1: + r = QApplication.translate("@default", string) + if isinstance(args[0], (dict, tuple)): + if r.count("%") == len(args[0]): + if isinstance(args[0], dict): + r = _reformat_qstring_from_dict(r, args[0]) + elif isinstance(args[0], tuple): + r = _reformat_qstring_from_tuple(r, args[0]) + # XXX Pay attention to this: distinguish between tuple, + # dict and dict with key given in string. + elif r.count("%") in range(2) and r.count("%(") == 0: + r = _reformat_qstring_from_atom(r, _preproces_atom(repr(args[0]))) + else: + raise EficasException("ValueError: i18n.translation.tr_qt: \ + Improper formatting string parameters") + elif isinstance(args[0], (unicode, str, int, float, complex)): + r = _reformat_qstring_from_atom(r, args[0]) + elif isinstance(args[0], list): + r = _reformat_qstring_from_list(r, args[0]) + elif args[0] is None: + r = _reformat_qstring_from_atom(r, _preprocess_string_from_atom(repr(args[0]))) + else: + raise EficasException("ValueError: i18n.translation.tr_qt: \ + Wrong string formatting parameter types") + else: + raise EficasException("ValueError: i18n.translation.tr_qt: \ + Improper formatted string parameter set") + return unicode(r) + + +if __name__ == "__main__": + import sys + tr(sys.argv[1], *args) + tr_qt(sys.argv[1], *args) diff --git a/Extensions/translationQT5.py b/Extensions/translationQT5.py index e8116f5f..12222088 100644 --- a/Extensions/translationQT5.py +++ b/Extensions/translationQT5.py @@ -216,14 +216,14 @@ def _preprocess_atom(string): if isinstance(string, (six.text_type, int, float, complex)): return string elif isinstance(string, str): - return _str_toUnicode(string) + return _str_to_unicode(string) else: raise EficasException("TypeError: Expected number, string or\ Unicode object!") -def _str_toUnicode(string): +def _str_to_unicode(string): """ - _str_toUnicode(string) -> unicode + _str_to_unicode(string) -> unicode Tries to create a Unicode object out of the input string; assumes the string is UTF-8 encoded; if not, then assume the string is Latin-9 encoded. diff --git a/Ihm/CONNECTOR.py b/Ihm/CONNECTOR.py index 5c066074..45c09921 100644 --- a/Ihm/CONNECTOR.py +++ b/Ihm/CONNECTOR.py @@ -1,5 +1,5 @@ #i -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Ihm/I_ASSD.py b/Ihm/I_ASSD.py index ba384b0e..9c9fc948 100644 --- a/Ihm/I_ASSD.py +++ b/Ihm/I_ASSD.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -28,11 +28,11 @@ from Noyau.N_VALIDATOR import ValError class ASSD: def __repr__(self): return tr("concept %(inst_name)s de type %(class_name)s", \ - {'inst_name': self.getName(), \ + {'inst_name': self.get_name(), \ 'class_name': self.__class__.__name__}) def __str__(self): - return self.getName() or "" + return self.get_name() or "" #def __del__(self): # print "__del__",self @@ -53,7 +53,7 @@ class geom(GEOM): class CO(ASSD): def __convert__(cls,valeur): if hasattr(valeur,'_etape') : - # valeur est un concept CO qui a ete transforme par typeSDProd + # valeur est un concept CO qui a ete transforme par type_sdprod if valeur.etape == valeur._etape: # le concept est bien produit par l'etape return valeur diff --git a/Ihm/I_AVANT.py b/Ihm/I_AVANT.py index c783cb38..d3ad628a 100644 --- a/Ihm/I_AVANT.py +++ b/Ihm/I_AVANT.py @@ -1,5 +1,5 @@ # -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -67,7 +67,7 @@ class I_AVANT: return text,boolOK - def getText(self): + def gettext(self): text = "Regle de classement "' :\n' for mc in self.listeAvant : text = text + mc + ', ' diff --git a/Ihm/I_A_CLASSER.py b/Ihm/I_A_CLASSER.py index aa46e117..b94d794e 100644 --- a/Ihm/I_A_CLASSER.py +++ b/Ihm/I_A_CLASSER.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -26,7 +26,7 @@ from . import I_REGLE import six class A_CLASSER(I_REGLE.REGLE): - def getText(self): + def gettext(self): text = 'Regle ' + self.__class__.__name__+ ' :\n' t=" D'abord :\n"+' '*8 for arg in self.args0: diff --git a/Ihm/I_ENTITE.py b/Ihm/I_ENTITE.py index 922f8796..1b3b08d3 100644 --- a/Ihm/I_ENTITE.py +++ b/Ihm/I_ENTITE.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -22,7 +22,7 @@ import six _no=0 import Accas -def numberEntite(entite): +def number_entite(entite): """ Fonction qui attribue un numero unique a tous les objets du catalogue Ce numero permet de conserver l'ordre des objets @@ -33,25 +33,25 @@ def numberEntite(entite): class ENTITE: def __init__(self): - numberEntite(self) + number_entite(self) - def getDocu(self): + def get_docu(self): if hasattr(self,'docu') : if self.docu != "" : return self.docu else: if hasattr(self,'pere'): - return self.pere.getDocu() + return self.pere.get_docu() else: return None else: return None - def getSug(self): + def get_sug(self): if hasattr(self,'sug') : if self.sug != "" : return self.sug return None - def checkDefinition(self, parent): + def check_definition(self, parent): """Verifie la definition d'un objet composite (commande, fact, bloc).""" args = self.entites.copy() mcs = set() @@ -62,7 +62,7 @@ class ENTITE: #if val.max != 1 and val.type == 'TXM': #print "#CMD", parent, nom elif val.label == 'FACT': - val.checkDefinition(parent) + val.check_definition(parent) #PNPNPN surcharge # CALC_SPEC ! #assert self.label != 'FACT', \ @@ -74,7 +74,7 @@ class ENTITE: # seuls les blocs peuvent entrer en conflit avec les mcs du plus haut niveau for nom, val in args.items(): if val.label == 'BLOC': - mcbloc = val.checkDefinition(parent) + mcbloc = val.check_definition(parent) #XXX #print "#BLOC", parent, re.sub('\s+', ' ', val.condition) #assert mcs.isdisjoint(mcbloc), "Commande %s : Mot(s)-clef(s) vu(s) plusieurs fois : %s" \ @@ -98,17 +98,17 @@ class ENTITE: regle.enregistreXML(moi,catalogueXml) catalogueXml.reglesUtilisees.append(self.regles) - if ((self.getDocu() !="" and self.getDocu() !=None) or \ + if ((self.get_docu() !="" and self.get_docu() !=None) or \ (self.fr != "" and self.fr != None) or \ (self.ang != "" and self.ang != None) ): dico={} - if self.getDocu() !=None : dico["docu"]=self.getDocu() + if self.get_docu() !=None : dico["docu"]=self.get_docu() if self.fr != None : dico["fr"]=six.text_type(self.fr,"iso-8859-1") if self.ang != None : dico["ang"]=self.ang doc=ET.SubElement(moi,'doc') doc.attrib=dico - if ((self.getSug() !=None) or \ + if ((self.get_sug() !=None) or \ (hasattr(self,'defaut') and (self.defaut != None) and (self.defaut != 'None'))) : # il faut ajouter des sug dans le catalogue # les attributs sont toujours du texte @@ -116,9 +116,9 @@ class ENTITE: if (self.defaut != None) and (self.defaut != 'None') : if isinstance(self.defaut,str ) : dico["defaut"]=six.text_type(self.defaut,"iso-8859-1") else :dico["defaut"]=str(self.defaut) - if self.getSug() !=None: - if isinstance(self.getSug(),str ) : dico["sug"]=six.text_type(self.getSug(),"iso-8859-1") - else :dico["sug"]=str(self.getSug()) + if self.get_sug() !=None: + if isinstance(self.get_sug(),str ) : dico["sug"]=six.text_type(self.get_sug(),"iso-8859-1") + else :dico["sug"]=str(self.get_sug()) doc=ET.SubElement(moi,'ValeurDef') doc.attrib=dico diff --git a/Ihm/I_ETAPE.py b/Ihm/I_ETAPE.py index 43bbbb8f..7ece4b6f 100644 --- a/Ihm/I_ETAPE.py +++ b/Ihm/I_ETAPE.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -32,7 +32,7 @@ from Extensions.eficas_exception import EficasException # Objet re pour controler les identificateurs Python concept_re=re.compile(r'[a-zA-Z_]\w*$') -# import rajoute suite a l'ajout de buildSd --> a resorber +# import rajoute suite a l'ajout de Build_sd --> a resorber import traceback import Noyau from Noyau import N_Exception @@ -50,41 +50,41 @@ class ETAPE(I_MCCOMPO.MCCOMPO): def ident(self): return self.nom - def getSdname(self): - #print "SDNAME ",self.reuse,self.sd,self.sd.getName() + def get_sdname(self): + #print "SDNAME ",self.reuse,self.sd,self.sd.get_name() if CONTEXT.debug : - print(("SDNAME ", self.reuse, self.sd, self.sd.getName())) + print(("SDNAME ", self.reuse, self.sd, self.sd.get_name())) sdname='' if self.reuse != None: - sdname= self.reuse.getName() + sdname= self.reuse.get_name() else: - if self.sd:sdname=self.sd.getName() + if self.sd:sdname=self.sd.get_name() if sdname.find('sansnom') != -1 or sdname.find('SD_') != -1: # dans le cas ou la SD est 'sansnom' ou 'SD_' on retourne la chaine vide return '' return sdname - def isReentrant(self): + def is_reentrant(self): """ Indique si la commande est reentrante """ return self.definition.reentrant == 'o' - def initModif(self): + def init_modif(self): """ Met l'etat de l'etape a : modifie Propage la modification au parent """ - # initModif doit etre appele avant de realiser une modification + # init_modif doit etre appele avant de realiser une modification # La validite devra etre recalculee apres cette modification - # mais dans l'appel a finModif pour preserver l'etat modified + # mais dans l'appel a fin_modif pour preserver l'etat modified # de tous les objets entre temps - #print "initModif",self,self.parent + #print "init_modif",self,self.parent self.state = 'modified' if self.parent: - self.parent.initModif() + self.parent.init_modif() - def finModif(self): + def fin_modif(self): """ Methode appelee une fois qu'une modification a ete faite afin de declencher d'eventuels traitements post-modification @@ -93,9 +93,9 @@ class ETAPE(I_MCCOMPO.MCCOMPO): """ CONNECTOR.Emit(self,"valid") if self.parent: - self.parent.finModif() + self.parent.fin_modif() - def nommeSd(self,nom) : + def nomme_sd(self,nom) : """ Cette methode a pour fonction de donner un nom (nom) au concept produit par l'etape (self). @@ -109,26 +109,22 @@ class ETAPE(I_MCCOMPO.MCCOMPO): if not concept_re.match(nom): return 0, tr("Un nom de concept doit etre un identificateur Python") - # pour eviter que le nom du concept soit le nom de la classe --> souci pour utiliser le concept - if (nom == self.definition.nom) : return (0, tr("un concept de type ")+ nom + tr(" ne peut pas se nommer ") + nom) - if ( nom in dir(self.jdc.cata)) : return (0, nom + tr("est un not reserve")) - #if (not isinstance(nom,str)) : return (0, tr("Le nom ") + nom + tr(" est un mot reserve")) #if len(nom) > 8 and self.jdc.definition.code == 'ASTER': # return 0, tr("Nom de concept trop long (maxi 8 caracteres)") - self.initModif() + self.init_modif() # # On verifie d'abord si les mots cles sont valides # - if not self.isValid(sd='non') : return 0,"Nommage du concept refuse : l'operateur n'est pas valide" + if not self.isvalid(sd='non') : return 0,"Nommage du concept refuse : l'operateur n'est pas valide" # # Cas particulier des operateurs obligatoirement reentrants # if self.definition.reentrant == 'o': - self.sd = self.reuse = self.jdc.getSdAvantEtape(nom,self) + self.sd = self.reuse = self.jdc.get_sd_avant_etape(nom,self) if self.sd != None : self.sdnom=self.sd.nom - self.finModif() + self.fin_modif() return 1, tr("Concept existant") else: return 0, tr("Operateur reentrant mais concept non existant") @@ -137,12 +133,12 @@ class ETAPE(I_MCCOMPO.MCCOMPO): # old_reuse=None if self.definition.reentrant == 'f' : - sd = self.jdc.getSdAvantEtape(nom,self) + sd = self.jdc.get_sd_avant_etape(nom,self) if sd != None : - if isinstance(sd,self.getType_produit()) : + if isinstance(sd,self.get_type_produit()) : self.sd = self.reuse = sd self.sdnom = sd.nom - self.finModif() + self.fin_modif() return 1, tr("Operateur reentrant et concept existant trouve") else: return 0, tr("Concept deja existant et de mauvais type") @@ -159,7 +155,7 @@ class ETAPE(I_MCCOMPO.MCCOMPO): # if self.sd == None : #Pas de concept produit preexistant - if self.parent.getSdAutourEtape(nom,self): + if self.parent.get_sd_autour_etape(nom,self): # Un concept de ce nom existe dans le voisinage de l'etape courante # On retablit l'ancien concept reentrant s'il existait if old_reuse: @@ -171,12 +167,12 @@ class ETAPE(I_MCCOMPO.MCCOMPO): # On peut donc creer le concept retourne # Il est cree sans nom mais enregistre dans la liste des concepts existants try: - self.getSdProd() + self.get_sd_prod() # Renommage du concept : Il suffit de changer son attribut nom pour le nommer self.sd.nom = nom self.sdnom=nom - self.parent.updateConceptAfterEtape(self,self.sd) - self.finModif() + self.parent.update_concept_after_etape(self,self.sd) + self.fin_modif() return 1, tr("Nommage du concept effectue") except: return 0, tr("Nommage impossible %s", str(sys.exc_info()[1])) @@ -184,36 +180,36 @@ class ETAPE(I_MCCOMPO.MCCOMPO): #Un concept produit preexiste old_nom=self.sd.nom if old_nom.find('sansnom') : - # Dans le cas ou old_nom == sansnom, isValid retourne 0 alors que ... + # Dans le cas ou old_nom == sansnom, isvalid retourne 0 alors que ... # par contre si le concept existe et qu'il s'appelle sansnom c'est que l'etape est valide # on peut donc le nommer sans test prealable - if self.parent.getSdAutourEtape(nom,self): + if self.parent.get_sd_autour_etape(nom,self): return 0, tr("Nommage du concept refuse : un concept de meme nom existe deja") else: # Renommage du concept : Il suffit de changer son attribut nom pour le nommer self.sd.nom=nom self.sdnom=nom - self.parent.updateConceptAfterEtape(self,self.sd) - self.finModif() + self.parent.update_concept_after_etape(self,self.sd) + self.fin_modif() return 1, tr("Nommage du concept effectue") - if self.isValid() : - # Normalement l appel de isValid a mis a jour le concept produit (son type) + if self.isvalid() : + # Normalement l appel de isvalid a mis a jour le concept produit (son type) # Il suffit de specifier l attribut nom de sd pour le nommer si le nom n est pas # deja attribue - if self.parent.getSdAutourEtape(nom,self): + if self.parent.get_sd_autour_etape(nom,self): return 0, tr("Nommage du concept refuse : un concept de meme nom existe deja") else: # Renommage du concept : Il suffit de changer son attribut nom pour le nommer self.sd.nom=nom self.sdnom=nom - self.parent.updateConceptAfterEtape(self,self.sd) - self.finModif() + self.parent.update_concept_after_etape(self,self.sd) + self.fin_modif() return 1, tr("Nommage du concept effectue") else: # Normalement on ne devrait pas passer ici return 0, 'Normalement on ne devrait pas passer ici' - def getSdprods(self,nom_sd): + def get_sdprods(self,nom_sd): """ Fonction : retourne le concept produit par l etape de nom nom_sd s il existe sinon None @@ -229,10 +225,10 @@ class ETAPE(I_MCCOMPO.MCCOMPO): """ if self.actif:return self.actif = 1 - self.initModif() + self.init_modif() if self.sd : try: - self.jdc.appendSdProd(self.sd) + self.jdc.append_sdprod(self.sd) except: pass CONNECTOR.Emit(self,"add",None) @@ -245,20 +241,20 @@ class ETAPE(I_MCCOMPO.MCCOMPO): et de la liste des sd """ self.actif = 0 - self.initModif() + self.init_modif() if self.sd : - self.jdc.delSdprod(self.sd) - self.jdc.deleteConceptAfterEtape(self,self.sd) + self.jdc.del_sdprod(self.sd) + self.jdc.delete_concept_after_etape(self,self.sd) CONNECTOR.Emit(self,"supp",None) CONNECTOR.Emit(self,"valid") - def controlSdprods(self,d): + def control_sdprods(self,d): """ Cette methode doit verifier que ses concepts produits ne sont pas deja definis dans le contexte Si c'est le cas, les concepts produits doivent etre supprimes """ - #print "controlSdprods",d.keys(),self.sd and self.sd.nom,self.nom + #print "control_sdprods",d.keys(),self.sd and self.sd.nom,self.nom if self.sd: if self.sd.nom in d : # Le concept est deja defini @@ -269,26 +265,26 @@ class ETAPE(I_MCCOMPO.MCCOMPO): # Redefinition du concept, on l'annule #XXX on pourrait simplement annuler son nom pour conserver les objets # l'utilisateur n'aurait alors qu'a renommer le concept (faisable??) - self.initModif() + self.init_modif() sd=self.sd self.sd=self.reuse=self.sdnom=None #supprime les references a sd dans les etapes suivantes - self.parent.deleteConceptAfterEtape(self,sd) - self.finModif() + self.parent.delete_concept_after_etape(self,sd) + self.fin_modif() - def supprimeSdprod(self,sd): + def supprime_sdprod(self,sd): """ Supprime le concept produit sd s'il est produit par l'etape """ if sd is not self.sd:return if self.sd != None : - self.initModif() - self.parent.delSdprod(sd) + self.init_modif() + self.parent.del_sdprod(sd) self.sd=None - self.finModif() - self.parent.deleteConcept(sd) + self.fin_modif() + self.parent.delete_concept(sd) - def supprimeSdProds(self): + def supprime_sdprods(self): """ Fonction: Lors d'une destruction d'etape, detruit tous les concepts produits @@ -296,23 +292,23 @@ class ETAPE(I_MCCOMPO.MCCOMPO): Une procedure n'en a aucun Une macro en a en general plus d'un """ - #print "supprimeSdProds",self + #print "supprime_sdprods",self if self.reuse is self.sd :return # l'etape n'est pas reentrante # le concept retourne par l'etape est a supprimer car il etait # cree par l'etape if self.sd != None : - self.parent.delSdprod(self.sd) - self.parent.deleteConcept(self.sd) + self.parent.del_sdprod(self.sd) + self.parent.delete_concept(self.sd) def close(self): return - def updateConcept(self,sd): - for child in self.mcListe : - child.updateConcept(sd) + def update_concept(self,sd): + for child in self.mc_liste : + child.update_concept(sd) - def deleteConcept(self,sd): + def delete_concept(self,sd): """ Inputs : - sd=concept detruit @@ -325,11 +321,11 @@ class ETAPE(I_MCCOMPO.MCCOMPO): """ if self.reuse and self.reuse == sd: self.sd=self.reuse=None - self.initModif() - for child in self.mcListe : - child.deleteConcept(sd) + self.init_modif() + for child in self.mc_liste : + child.delete_concept(sd) - def replaceConcept(self,old_sd,sd): + def replace_concept(self,old_sd,sd): """ Inputs : - old_sd=concept remplace @@ -341,22 +337,22 @@ class ETAPE(I_MCCOMPO.MCCOMPO): """ if self.reuse and self.reuse == old_sd: self.sd=self.reuse=sd - self.initModif() - for child in self.mcListe : - child.replaceConcept(old_sd,sd) + self.init_modif() + for child in self.mc_liste : + child.replace_concept(old_sd,sd) - def resetContext(self): + def reset_context(self): pass - def getNomsSdOperReentrant(self): + def get_noms_sd_oper_reentrant(self): """ Retourne la liste des noms de concepts utilisesa l'interieur de la commande qui sont du type que peut retourner cette commande """ - liste_sd = self.getSd_utilisees() + liste_sd = self.get_sd_utilisees() l_noms = [] if type(self.definition.sd_prod) == types.FunctionType: - d=self.creeDictValeurs(self.mcListe) + d=self.cree_dict_valeurs(self.mc_liste) try: classe_sd_prod = self.definition.sd_prod(*(), **d) except: @@ -368,26 +364,26 @@ class ETAPE(I_MCCOMPO.MCCOMPO): l_noms.sort() return l_noms - def getGenealogiePrecise(self): + def get_genealogie_precise(self): return [self.nom] - def getGenealogie(self): + def get_genealogie(self): """ Retourne la liste des noms des ascendants de l'objet self en s'arretant a la premiere ETAPE rencontree """ return [self.nom] - def verifExistenceSd(self): + def verif_existence_sd(self): """ Verifie que les structures de donnees utilisees dans self existent bien dans le contexte avant etape, sinon enleve la referea ces concepts """ - #print "verifExistenceSd",self.sd - for motcle in self.mcListe : - motcle.verifExistenceSd() + #print "verif_existence_sd",self.sd + for motcle in self.mc_liste : + motcle.verif_existence_sd() - def updateMcGlobal(self): + def update_mc_global(self): """ Met a jour les mots cles globaux enregistres dans l'etape et dans le jdc parent. @@ -396,15 +392,15 @@ class ETAPE(I_MCCOMPO.MCCOMPO): des mots cles globaux. """ self.mc_globaux={} - I_MCCOMPO.MCCOMPO.updateMcGlobal(self) + I_MCCOMPO.MCCOMPO.update_mc_global(self) - def updateConditionBloc(self): + def update_condition_bloc(self): """ Realise l'update des blocs conditionnels fils de self """ - self._updateConditionBloc() + self._update_condition_bloc() - def getObjetCommentarise(self,format): + def get_objet_commentarise(self,format): """ Cette methode retourne un objet commande commentarisee representant la commande self @@ -423,26 +419,26 @@ class ETAPE(I_MCCOMPO.MCCOMPO): commande_comment = commande_comm.COMMANDE_COMM(texte=texte_commande, reg='non', parent=parent) - self.parent.suppEntite(self) - parent.addEntite(commande_comment,pos) + self.parent.suppentite(self) + parent.addentite(commande_comment,pos) return commande_comment def modified(self): """Le contenu de l'etape (mots cles, ...) a ete modifie""" if self.nom=="DETRUIRE": - self.parent.controlContextApres(self) + self.parent.control_context_apres(self) #ATTENTION SURCHARGE: a garder en synchro ou a reintegrer dans le Noyau - def buildSd(self,nom): + def Build_sd(self,nom): """ Methode de Noyau surchargee pour poursuivre malgre tout si une erreur se produit pendant la creation du concept produit """ try: - sd=Noyau.N_ETAPE.ETAPE.buildSd(self,nom) + sd=Noyau.N_ETAPE.ETAPE.Build_sd(self,nom) except AsException as e : # Une erreur s'est produite lors de la construction du concept # Comme on est dans EFICAS, on essaie de poursuivre quand meme @@ -458,15 +454,15 @@ class ETAPE(I_MCCOMPO.MCCOMPO): return self.sd #ATTENTION SURCHARGE: cette methode doit etre gardee en synchronisation avec Noyau - def makeRegister(self): + def make_register(self): """ Initialise les attributs jdc, id, niveau et realise les enregistrements necessaires Pour EFICAS, on tient compte des niveaux - Surcharge la methode makeRegister du package Noyau + Surcharge la methode make_register du package Noyau """ if self.parent : - self.jdc = self.parent.getJdcRoot() + self.jdc = self.parent.get_jdc_root() self.id= self.parent.register(self) self.UserError=self.jdc.UserError if self.definition.niveau : @@ -488,8 +484,8 @@ class ETAPE(I_MCCOMPO.MCCOMPO): def report(self): cr= Validation.V_ETAPE.ETAPE.report(self) #rafraichisst de la validite de l'etape (probleme avec l'ordre dans les macros : etape puis mots cles) - self.isValid() - if not self.isValid() and self.nom == "INCLUDE" : + self.isvalid() + if not self.isvalid() and self.nom == "INCLUDE" : self.cr.fatal(('Etape : %s ligne : %r %s'), self.nom, self.appel[0], tr("\n Include Invalide. \n ne sera pas pris en compte")) return cr diff --git a/Ihm/I_EVAL.py b/Ihm/I_EVAL.py index 426c9c88..d6edf9ce 100644 --- a/Ihm/I_EVAL.py +++ b/Ihm/I_EVAL.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Ihm/I_EXCLUS.py b/Ihm/I_EXCLUS.py index d1ddee60..e15c7208 100644 --- a/Ihm/I_EXCLUS.py +++ b/Ihm/I_EXCLUS.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -24,9 +24,9 @@ from __future__ import absolute_import from . import I_REGLE class EXCLUS(I_REGLE.REGLE): - def purgeListe(self,liste_a_purger,listeMcPresents): + def purge_liste(self,liste_a_purger,liste_mc_presents): regle_active=0 - for mc_present in listeMcPresents: + for mc_present in liste_mc_presents: if mc_present in self.mcs: regle_active=1 break @@ -34,7 +34,7 @@ class EXCLUS(I_REGLE.REGLE): for mc in self.mcs: # Il ne faut pas purger un mot cle present. Sa cardinalite est verifiee par ailleurs - if mc in liste_a_purger and mc not in listeMcPresents: + if mc in liste_a_purger and mc not in liste_mc_presents: liste_a_purger.remove(mc) return liste_a_purger diff --git a/Ihm/I_FICHIER.py b/Ihm/I_FICHIER.py index 31b12cae..b309e9a5 100644 --- a/Ihm/I_FICHIER.py +++ b/Ihm/I_FICHIER.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -30,7 +30,7 @@ class Fichier: def __convert__(self,valeur): # Attention ne verifie pas grand chose # cela vaut-il la peine de refaire ce que Qt fait tres bien - if type(valeur) != bytes and type(valeur) != str: + if type(valeur) != bytes : return None return valeur diff --git a/Ihm/I_FONCTION.py b/Ihm/I_FONCTION.py index 9efb621b..53a7fc3e 100644 --- a/Ihm/I_FONCTION.py +++ b/Ihm/I_FONCTION.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -26,16 +26,16 @@ from Extensions.eficas_exception import EficasException class FONCTION(ASSD): def __init__(self,etape=None,sd=None,reg='oui'): if reg=='oui': - self.jdc.registerFonction(self) + self.jdc.register_fonction(self) - def getFormule(self): + def get_formule(self): """ Retourne une formule decrivant self sous la forme d'un tuple : (nom,type_retourne,arguments,corps) """ - if hasattr(self.etape,'getFormule'): + if hasattr(self.etape,'get_formule'): # on est dans le cas d'une formule Aster - return self.etape.getFormule() + return self.etape.get_formule() else: # on est dans le cas d'une fonction return (self.nom,'REEL','(REEL:x)','''bidon''') @@ -50,9 +50,9 @@ class formule(FONCTION) : def __call__(self,*val): if len(val) != len(self.nompar): raise TypeError(" %s() takes exactly %d argument (%d given)" % (self.nom,len(self.nompar),len(val))) - return param2.Unop2(self.nom,self.realCall,val) + return param2.Unop2(self.nom,self.real_call,val) - def realCall(self,*val): + def real_call(self,*val): if hasattr(self.parent,'contexte_fichier_init'): context=self.parent.contexte_fichier_init else : context={} diff --git a/Ihm/I_FORM_ETAPE.py b/Ihm/I_FORM_ETAPE.py index b97ac8f8..8318bee3 100644 --- a/Ihm/I_FORM_ETAPE.py +++ b/Ihm/I_FORM_ETAPE.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -36,17 +36,17 @@ class FORM_ETAPE(MACRO_ETAPE): interpreteur = interpreteur_formule.Interpreteur_Formule - def MCBuild(self): - self.mcListe=self.buildMc() + def McBuild(self): + self.mc_liste=self.build_mc() # on cree la liste des types autorises (liste des noms de mots-cles # simples dans le catalogue de FORMULE) self.l_types_autorises = list(self.definition.entites.keys()) # en plus de la construction traditionnelle des fils de self # il faut pour les FORMULE decortiquer l'expression ... - self.type_retourne,self.arguments,self.corps = self.analyseFormule() + self.type_retourne,self.arguments,self.corps = self.analyse_formule() - def analyseFormule(self): + def analyse_formule(self): """ Cette methode decortique l'expression de la FORMULE. Elle retourne 3 valeurs: @@ -54,42 +54,42 @@ class FORM_ETAPE(MACRO_ETAPE): - les arguments de la FORMULE - le corps de la FORMULE, cad son expression """ - if len(self.mcListe) == 0: + if len(self.mc_liste) == 0: # pas de fils pour self --> la FORMULE est incomplete return None,None,None type_retourne="REEL" - if len(self.mcListe) > 0: - child = self.mcListe[0] # child est un MCSIMP - corps = child.getVal() + if len(self.mc_liste) > 0: + child = self.mc_liste[0] # child est un MCSIMP + corps = child.getval() else: corps = None - if len(self.mcListe) > 1: - child = self.mcListe[1] - l_args= child.getVal() + if len(self.mc_liste) > 1: + child = self.mc_liste[1] + l_args= child.getval() else : l_args=None return type_retourne,l_args,corps - def getNom(self): + def get_nom(self): """ Retourne le nom de la FORMULE, cad le nom de la SD si elle existe, la string vide sinon """ if self.sd : - return self.sd.getName() + return self.sd.get_name() else: return '' - def getFormule(self): + def get_formule(self): """ Retourne un tuple decrivant la formule : (nom,type_retourne,arguments,corps) """ - t,a,c = self.analyseFormule() - n = self.getNom() + t,a,c = self.analyse_formule() + n = self.get_nom() return (n,t,a,c) - def verifArguments(self,arguments = None): + def verif_arguments(self,arguments = None): """ Verifie si les arguments passes en argument (si aucun prend les arguments courants) sont des arguments valide pour une FORMULE. @@ -117,7 +117,7 @@ class FORM_ETAPE(MACRO_ETAPE): if not re.match(identifier,str(a)) : return 0, str(a)+" n est pas un identifiant" return test,erreur - def verifCorps(self,corps=None,arguments=None): + def verif_corps(self,corps=None,arguments=None): """ Cette methode a pour but de verifier si le corps de la FORMULE est syntaxiquement correct. @@ -129,10 +129,10 @@ class FORM_ETAPE(MACRO_ETAPE): corps = self.corps if not arguments : arguments = self.arguments - formule=(self.getNom(),self.type_retourne,arguments,corps) + formule=(self.get_nom(),self.type_retourne,arguments,corps) # on recupere la liste des constantes et des autres fonctions predefinies # et qui peuvent etre utilisees dans le corps de la formule courante - l_ctes,l_form = self.jdc.getParametresFonctionsAvantEtape(self) + l_ctes,l_form = self.jdc.get_parametres_fonctions_avant_etape(self) # on cree un objet verificateur try: verificateur = self.interpreteur(formule=formule, @@ -141,9 +141,9 @@ class FORM_ETAPE(MACRO_ETAPE): except : traceback.print_exc() return 0,tr("Impossible de realiser la verification de la formule") - return verificateur.isValid(),verificateur.report() + return verificateur.isvalid(),verificateur.report() - def verifNom(self,nom=None): + def verif_nom(self,nom=None): """ Verifie si le nom passe en argument (si aucun prend le nom courant) est un nom valide pour une FORMULE. @@ -152,19 +152,19 @@ class FORM_ETAPE(MACRO_ETAPE): - un message d'erreurs ('' si illicite) """ if not nom : - nom = self.getNom() + nom = self.get_nom() if nom == "" : return 0,tr("Pas de nom donne a la FORMULE") if len(nom) > 8 : return 0,tr("Un nom de FORMULE ne peut depasser 8 caracteres") if nom[0] > "0" and nom[0] < "9" : return 0,tr("Un nom de FORMULE ne peut pas commencer par un chiffre") - sd = self.parent.getSdAutourEtape(nom,self) + sd = self.parent.get_sd_autour_etape(nom,self) if sd : return 0,tr("Un concept de nom %s existe deja !" %nom) return 1,'' - def verifType(self,type=None): + def verif_type(self,type=None): """ Verifie si le type passe en argument (si aucun prend le type courant) est un type valide pour une FORMULE. @@ -180,7 +180,7 @@ class FORM_ETAPE(MACRO_ETAPE): return 0,tr("Une formule ne peut retourner une valeur de type : %s" %type) return 1,'' - def verifFormule(self,formule=None): + def verif_formule(self,formule=None): """ Verifie la validite de la formule passee en argument. Cette nouvelle formule est passee sous la forme d'un tuple : (nom,type_retourne,arguments,corps) @@ -191,14 +191,14 @@ class FORM_ETAPE(MACRO_ETAPE): """ if not formule : formule = (None,None,None,None) - test_nom,erreur_nom = self.verifNom(formule[0]) - test_type,erreur_type = self.verifType(formule[1]) + test_nom,erreur_nom = self.verif_nom(formule[0]) + test_type,erreur_type = self.verif_type(formule[1]) if formule[2]: args = '('+formule[2]+')' else: args = None - test_arguments,erreur_arguments = self.verifArguments(args) - test_corps,erreur_corps = self.verifCorps(corps = formule[3], arguments = args) + test_arguments,erreur_arguments = self.verif_arguments(args) + test_corps,erreur_corps = self.verif_corps(corps = formule[3], arguments = args) # test global = produit des tests partiels test = test_nom*test_type*test_arguments*test_corps # message d'erreurs global = concatenation des messages partiels @@ -208,7 +208,7 @@ class FORM_ETAPE(MACRO_ETAPE): erreur = erreur+(len(mess) > 0)*'\n'+mess return test,erreur - def verifFormule_python(self,formule=None): + def verif_formule_python(self,formule=None): """ Pour l instant ne fait qu un compile python il serait possible d ajouter des tests sur les arguments @@ -216,12 +216,12 @@ class FORM_ETAPE(MACRO_ETAPE): """ if not formule : formule = (None,None,None,None) - test_nom,erreur_nom = self.verifNom(formule[0]) + test_nom,erreur_nom = self.verif_nom(formule[0]) if formule[2]: args = '('+formule[2]+')' else: args = None - test_arguments,erreur_arguments = self.verifArguments(args) + test_arguments,erreur_arguments = self.verif_arguments(args) corps=formule[3] erreur_formule= '' test_formule=1 @@ -248,13 +248,13 @@ class FORM_ETAPE(MACRO_ETAPE): self.type_retourne = formule[1] self.arguments = '('+formule[2]+')' self.corps = formule[3] - # il faut ajouter le mot-cle simple correspondant dans mcListe - # pour cela on utilise la methode generale buildMc + # il faut ajouter le mot-cle simple correspondant dans mc_liste + # pour cela on utilise la methode generale build_mc # du coup on est oblige de modifier le dictionnaire valeur de self ... self.valeur = {} self.valeur[self.type_retourne] = self.arguments+' = ' + self.corps - self.MCBuild() - sd = self.getSdProd() + self.McBuild() + sd = self.get_sd_prod() if sd: sd.nom = formule[0] @@ -265,9 +265,9 @@ class FORM_ETAPE(MACRO_ETAPE): # parametres # corps de la fonction # il faut aussi que les arguments soient sous forme de tuple - def updateFormulePython(self,formule): - self.buildMc() - self.mcListe=[] + def update_formule_python(self,formule): + self.build_mc() + self.mc_liste=[] if len(formule) < 4 : return 0 arguments=formule[3] @@ -288,14 +288,14 @@ class FORM_ETAPE(MACRO_ETAPE): child=self.definition.entites[k](None,nom=k,parent=self) child.valeur=mocles[k] child.state = 'modified' - self.mcListe.append(child) + self.mc_liste.append(child) self.corps = formule[2] self.type_retourne = formule[1] - sd = self.getSdProd() + sd = self.get_sd_prod() if sd: sd.nom = formule[0] - self.initModif() + self.init_modif() return 1 def active(self): @@ -304,11 +304,11 @@ class FORM_ETAPE(MACRO_ETAPE): Il faut ajouter la formule au contexte global du JDC """ self.actif = 1 - self.initModif() - nom = self.getNom() + self.init_modif() + nom = self.get_nom() if nom == '' : return try: - self.jdc.appendFonction(self.sd) + self.jdc.append_fonction(self.sd) except: pass @@ -318,14 +318,14 @@ class FORM_ETAPE(MACRO_ETAPE): Il faut supprimer la formule du contexte global du JDC """ self.actif = 0 - self.initModif() + self.init_modif() if not self.sd : return - self.jdc.delFonction(self.sd) + self.jdc.del_fonction(self.sd) - def updateConcept(self,sd): + def update_concept(self,sd): return - def deleteConcept(self,sd): + def delete_concept(self,sd): """ Inputs : - sd=concept detruit @@ -336,9 +336,9 @@ class FORM_ETAPE(MACRO_ETAPE): sauf les objets FORM_ETAPE qui doivent verifier que le concept detruit n'est pas utilise dans le corps de la fonction """ - self.initModif() + self.init_modif() - def replaceConcept(self,old_sd,sd): + def replace_concept(self,old_sd,sd): """ Inputs : - old_sd=concept remplace @@ -347,5 +347,5 @@ class FORM_ETAPE(MACRO_ETAPE): Les objets FORM_ETAPE devraient verifier que le concept remplace n'est pas utilise dans le corps de la fonction """ - self.initModif() + self.init_modif() diff --git a/Ihm/I_JDC.py b/Ihm/I_JDC.py index 5d8c3641..445c0cb3 100644 --- a/Ihm/I_JDC.py +++ b/Ihm/I_JDC.py @@ -1,5 +1,5 @@ # -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -39,11 +39,6 @@ from Extensions import commentaire ,parametre ,parametre_eval from . import CONNECTOR import Validation -try: - basestring -except NameError: - basestring = str - class LASSD: pass @@ -61,44 +56,43 @@ class JDC(I_OBJECT.OBJECT): self.old_recorded_units={} - def getIndex(self,objet): + def get_index(self,objet): """ Retourne la position d'objet dans la liste self """ return self.etapes.index(objet) - def getSdAvantDuBonType(self,etape,types_permis): + def get_sd_avant_du_bon_type(self,etape,types_permis): """ Retourne la liste des concepts avant etape d'un type acceptable """ - d=self.getContexteAvant(etape) + d=self.get_contexte_avant(etape) l=[] for k,v in d.items(): - #if type(v) != types.InstanceType and not isinstance(v,object): continue - if not isinstance(v,object): continue + if type(v) != types.InstanceType and not isinstance(v,object): continue # On considere que seul assd indique un type quelconque pas CO elif self.assd in types_permis : if v.etape.sdnom != "sansnom" : l.append(k) - elif self.estPermis(v,types_permis): + elif self.est_permis(v,types_permis): if v.etape.sdnom != "sansnom" : l.append(k) l.sort() return l - def getVariables(self,etape): + def get_variables(self,etape): etapeStop=etape l=[] for etapeTraitee in self.etapes : if etapeTraitee==etapeStop: break if etapeTraitee.nom == 'VARIABLE' : - variable=etapeTraitee.getMocle('ModelVariable') + variable=etapeTraitee.get_mocle('ModelVariable') if variable != None : l.append(variable.nom) return l - def getDistributions(self,etape): + def get_distributions(self,etape): etapeStop=etape l=[] for etapeTraitee in self.etapes : @@ -110,68 +104,68 @@ class JDC(I_OBJECT.OBJECT): #def set_Copules_recalcule_etat(self): # for etapeTraitee in self.etapes : # if etapeTraitee.nom == 'CORRELATION' : - #Matrix=etapeTraitee.getChild('Matrix') + #Matrix=etapeTraitee.get_child('Matrix') #if Matrix !=None : - # Correlation=etapeTraitee.getChild('CorrelationMatrix') + # Correlation=etapeTraitee.get_child('CorrelationMatrix') # if Correlation !=None : Correlation.state='arecalculer' # Matrix.state='arecalculer' - #def recalculeEtatCorrelation(self): + #def recalcule_etat_correlation(self): # for etapeTraitee in self.etapes : # if etapeTraitee.nom == 'CORRELATION' : - #Matrix=etapeTraitee.getChild('Matrix') + #Matrix=etapeTraitee.get_child('Matrix') #if Matrix !=None : # Matrix.state='arecalculer' - # Correlation=Matrix.getChild('CorrelationMatrix') + # Correlation=Matrix.get_child('CorrelationMatrix') # if Correlation !=None : Correlation.state='arecalculer' - # Correlation.isValid() - # Matrix.isValid() + # Correlation.isvalid() + # Matrix.isvalid() # etapeTraitee.state='arecalculer' - # if etapeTraitee.state=='arecalculer': etapeTraitee.isValid() + # if etapeTraitee.state=='arecalculer': etapeTraitee.isvalid() - def recalculeEtatCorrelation(self): + def recalcule_etat_correlation(self): for etapeTraitee in self.etapes : if etapeTraitee.nom == 'CORRELATION' : - Correlation=etapeTraitee.getChild('CorrelationMatrix') + Correlation=etapeTraitee.get_child('CorrelationMatrix') if Correlation !=None : Correlation.state='arecalculer' - Correlation.isValid() - etapeTraitee.isValid() + Correlation.isvalid() + etapeTraitee.isvalid() - def recalculeValiditeApresChangementGlobalJdc(self): - #print "je passe dans recalculeValiditeApresChangementGlobalJdc" + def recalcule_validite_apres_changement_global_jdc(self): + #print "je passe dans recalcule_validite_apres_changement_global_jdc" try : - liste=self.getJdcRoot().cata.liste_condition + liste=self.get_jdc_root().cata[0].liste_condition except : liste=() for etapeTraitee in self.etapes : if etapeTraitee.nom not in liste: continue self.forceRecalculBloc(etapeTraitee) etapeTraitee.state='arecalculer' - etapeTraitee.isValid() + etapeTraitee.isvalid() def forceRecalculBloc(self,objet): # Attention : certains objets deviennent None quand on recalcule # les conditions d existence des blocs if objet != None: objet.state='arecalculer' - if hasattr(objet,'listeMcPresents'): - for childNom in objet.listeMcPresents(): - child=objet.getChild(childNom) - if hasattr(objet,'_updateConditionBloc'):objet._updateConditionBloc() + if hasattr(objet,'liste_mc_presents'): + for childNom in objet.liste_mc_presents(): + child=objet.get_child(childNom) + if hasattr(objet,'_update_condition_bloc'):objet._update_condition_bloc() self.forceRecalculBloc(child) - def getSdAvantDuBonTypePourTypeDeBase(self,etape,type): + def get_sd_avant_du_bon_type_pour_type_de_base(self,etape,type): """ Retourne la liste des concepts avant etape d'1 type de base acceptable Attention different de la routine precedente : 1 seul type passe en parametre Teste sur issubclass et par sur le type permis """ - d=self.getContexteAvant(etape) + d=self.get_contexte_avant(etape) l=[] try : - typeverif=self.cata.__dict__[type] + typeverif=self.cata[0].__dict__[type] except : return l for k,v in d.items(): @@ -180,8 +174,8 @@ class JDC(I_OBJECT.OBJECT): l.sort() return l - def chercheListAvant(self,etape,valeur): - d=self.getContexteAvant(etape) + def cherche_list_avant(self,etape,valeur): + d=self.get_contexte_avant(etape) for k,v in d.items(): if issubclass(v.__class__,LASSD): if k == valeur : @@ -191,7 +185,7 @@ class JDC(I_OBJECT.OBJECT): return v return None - def estPermis(self,v,types_permis): + def est_permis(self,v,types_permis): for type_ok in types_permis: if type_ok in ('R','I','C','TXM') and v in self.params : return 1 @@ -209,19 +203,19 @@ class JDC(I_OBJECT.OBJECT): return 1 return 0 - def addEntite(self,name,pos): + def addentite(self,name,pos): """ Ajoute une entite : Si name est le nom d une commande ou un commentaire ajoute une etape au JDC Sinon remonte une erreur """ - self.initModif() + self.init_modif() self.editmode=1 if name == "COMMENTAIRE" : from Extensions import commentaire # ajout d'un commentaire - self.setCurrentStep() + self.set_current_step() ind = 1 for child in self.etapes : if isinstance(child,commentaire.COMMENTAIRE): @@ -230,37 +224,37 @@ class JDC(I_OBJECT.OBJECT): objet.nom = "_comm_"+repr(ind) if pos == None : pos = 0 self.etapes.insert(pos,objet) - self.resetContext() + self.reset_context() self.editmode=0 - self.activeEtapes() + self.active_etapes() CONNECTOR.Emit(self,"add",objet) - self.finModif() + self.fin_modif() return objet elif name == "PARAMETRE": # ajout d'un parametre - self.setCurrentStep() + self.set_current_step() nom_param = '_param_'+str(len(self.params)+1) objet = parametre.PARAMETRE(nom=nom_param) if pos == None : pos = 0 self.etapes.insert(pos,objet) - self.resetContext() + self.reset_context() self.editmode=0 - self.activeEtapes() + self.active_etapes() CONNECTOR.Emit(self,"add",objet) - self.finModif() + self.fin_modif() return objet elif name == "PARAMETRE_EVAL": # ajout d'un parametre EVAL - self.setCurrentStep() + self.set_current_step() nom_param = '_param_'+str(len(self.params)+1) objet = parametre_eval.PARAMETRE_EVAL(nom=nom_param) if pos == None : pos = 0 self.etapes.insert(pos,objet) - self.resetContext() + self.reset_context() self.editmode=0 - self.activeEtapes() + self.active_etapes() CONNECTOR.Emit(self,"add",objet) - self.finModif() + self.fin_modif() return objet elif not( isinstance(name, basestring)): #elif type(name)==types.InstanceType: @@ -273,7 +267,7 @@ class JDC(I_OBJECT.OBJECT): from Extensions import commentaire if not( isinstance (objet,commentaire.COMMENTAIRE)): objet.reparent(self) - self.setCurrentStep() + self.set_current_step() if isinstance(objet,ETAPE): if objet.nom_niveau_definition == 'JDC': # l'objet depend directement du JDC @@ -284,43 +278,43 @@ class JDC(I_OBJECT.OBJECT): objet.parent.dict_niveaux[objet.nom_niveau_definition].register(objet) objet.niveau = objet.parent.dict_niveaux[objet.nom_niveau_definition] self.etapes.insert(pos,objet) - self.resetContext() + self.reset_context() # il faut verifier que les concepts utilises par objet existent bien # a ce niveau d'arborescence - objet.verifExistenceSd() - objet.updateMcGlobal() + objet.verif_existence_sd() + objet.update_mc_global() self.editmode=0 - self.activeEtapes() + self.active_etapes() CONNECTOR.Emit(self,"add",objet) - self.finModif() + self.fin_modif() return objet else : # On veut ajouter une nouvelle commande try: - self.setCurrentStep() - cmd=self.getCmd(name) + self.set_current_step() + cmd=self.get_cmd(name) # L'appel a make_objet n'a pas pour effet d'enregistrer l'etape # aupres du step courant car editmode vaut 1 - # Par contre elle a le bon parent grace a setCurrentStep + # Par contre elle a le bon parent grace a set_current_step e=cmd.make_objet() if pos == None : pos = 0 self.etapes.insert(pos,e) - self.resetCurrentStep() - self.resetContext() + self.reset_current_step() + self.reset_context() self.editmode=0 - self.activeEtapes() + self.active_etapes() CONNECTOR.Emit(self,"add",e) - self.finModif() + self.fin_modif() return e except AsException as e: traceback.print_exc() - self.resetCurrentStep() + self.reset_current_step() self.editmode=0 raise AsException(tr("Impossible d'ajouter la commande")+name + '\n') except: #else : traceback.print_exc() - self.resetCurrentStep() + self.reset_current_step() self.editmode=0 raise AsException(tr("Impossible d ajouter la commande")+name) @@ -330,32 +324,32 @@ class JDC(I_OBJECT.OBJECT): if hasattr(etape,"close"):etape.close() CONNECTOR.Emit(self,"close") - def setCurrentStep(self): - CONTEXT.unsetCurrentStep() - CONTEXT.setCurrentStep(self) + def set_current_step(self): + CONTEXT.unset_current_step() + CONTEXT.set_current_step(self) - def resetCurrentStep(self): - CONTEXT.unsetCurrentStep() + def reset_current_step(self): + CONTEXT.unset_current_step() - def listeMcPresents(self): + def liste_mc_presents(self): return [] - def getSdAvantEtape(self,nom_sd,etape): - return self.getContexteAvant(etape).get(nom_sd,None) + def get_sd_avant_etape(self,nom_sd,etape): + return self.get_contexte_avant(etape).get(nom_sd,None) - def getSdApresEtapeAvecDetruire(self,nom_sd,sd,etape,avec='non'): + def get_sd_apres_etape_avec_detruire(self,nom_sd,sd,etape,avec='non'): """ Cette methode retourne la SD sd de nom nom_sd qui est eventuellement definie apres etape en tenant compte des concepts detruits Si avec vaut 'non' exclut etape de la recherche """ - #print "JDC.getSdApresEtapeAvecDetruire",nom_sd,sd + #print "JDC.get_sd_apres_etape_avec_detruire",nom_sd,sd ietap=self.etapes.index(etape) if avec == 'non':ietap=ietap+1 d={nom_sd:sd} for e in self.etapes[ietap:]: - if e.isActif(): - e.updateContext(d) + if e.isactif(): + e.update_context(d) autre_sd=d.get(nom_sd,None) if autre_sd is None: # Le concept a ete detruit. On interrompt la recherche car il n'y a @@ -380,7 +374,7 @@ class JDC(I_OBJECT.OBJECT): # concept initial return sd - def getSdApresEtape(self,nom_sd,etape,avec='non'): + def get_sd_apres_etape(self,nom_sd,etape,avec='non'): """ Cette methode retourne la SD de nom nom_sd qui est eventuellement definie apres etape @@ -389,14 +383,14 @@ class JDC(I_OBJECT.OBJECT): ietap=self.etapes.index(etape) if avec == 'non':ietap=ietap+1 for e in self.etapes[ietap:]: - sd=e.getSdprods(nom_sd) + sd=e.get_sdprods(nom_sd) if sd: if hasattr(e,'reuse'): if e.reuse != sd: return sd return None - def getSdAutourEtape(self,nom_sd,etape,avec='non'): + def get_sd_autour_etape(self,nom_sd,etape,avec='non'): """ Fonction: retourne la SD de nom nom_sd qui est eventuellement definie avant ou apres etape @@ -404,46 +398,46 @@ class JDC(I_OBJECT.OBJECT): d'une etape Si avec vaut 'non' exclut etape de la recherche """ - sd=self.getSdAvantEtape(nom_sd,etape) + sd=self.get_sd_avant_etape(nom_sd,etape) if sd:return sd - return self.getSdApresEtape(nom_sd,etape,avec) + return self.get_sd_apres_etape(nom_sd,etape,avec) - def getContexte_apres(self,etape): + def get_contexte_apres(self,etape): """ Retourne le dictionnaire des concepts connus apres etape On tient compte des commandes qui modifient le contexte comme DETRUIRE ou les macros Si etape == None, on retourne le contexte en fin de JDC """ - if not etape: return self.getContexteAvant(etape) + if not etape: return self.get_contexte_avant(etape) - d=self.getContexteAvant(etape) - if etape.isActif():etape.updateContext(d) + d=self.get_contexte_avant(etape) + if etape.isactif():etape.update_context(d) self.index_etape_courante=self.index_etape_courante+1 return d - def activeEtapes(self): + def active_etapes(self): """ Cette methode a pour fonction de desactiver les etapes qui doivent l'etre cad, dans le cas d'ASTER, les etapes qui ne sont pas comprises entre le premier DEBUT/POURSUITE et le premier FIN et rendre actives les autres """ - #if self.definition.code == 'ASTER' : + if self.definition.code == 'ASTER' : # Seulement pour ASTER : # Avant DEBUT actif vaut 0 # Apres DEBUT et avant le 1er FIN actif vaut 1 # Apres le 1er FIN actif vaut -1 - # actif=0 - #actif=1 + actif=0 + else: + actif=1 for etape in self.etapes: - #if actif == 0 and etape.nom in ['DEBUT','POURSUITE']:actif=1 - #if actif == 1: + if actif == 0 and etape.nom in ['DEBUT','POURSUITE']:actif=1 + if actif == 1: etape.active() - #self.enregistreEtapePyxb(etape) - #else: - # etape.inactive() - #if etape.nom == 'FIN':actif=-1 + else: + etape.inactive() + if etape.nom == 'FIN':actif=-1 def deplaceEntite(self,indexNoeudACopier,indexNoeudOuColler,pos): """ @@ -463,15 +457,15 @@ class JDC(I_OBJECT.OBJECT): self.etapes2=self.etapes[0:indexNoeudOuColler+1]+[etapeACopier,]+self.etapes[indexNoeudOuColler+1:indexNoeudACopier]+self.etapes[indexNoeudACopier+1:] self.etapes=self.etapes2 if indexNoeudACopier < indexNoeudOuColler : - self.deleteConceptEntreEtapes(indexNoeudACopier,indexNoeudOuColler,sd) - self.resetContext() + self.delete_concept_entre_etapes(indexNoeudACopier,indexNoeudOuColler,sd) + self.reset_context() for e in self.etapes : e.state = 'modified' - self.controlContextApres(None) + self.control_context_apres(None) return 1 - def suppEntite(self,etape) : + def suppentite(self,etape) : """ Cette methode a pour fonction de supprimer une etape dans un jeu de commandes @@ -481,10 +475,9 @@ class JDC(I_OBJECT.OBJECT): #PN correction de bugs if etape not in self.etapes: return 0 - self.initModif() + self.init_modif() index_etape=self.etapes.index(etape) - #etape.deletePyxbObject() self.etapes.remove(etape) if etape.niveau is not self: @@ -492,10 +485,10 @@ class JDC(I_OBJECT.OBJECT): # Il faut la desenregistrer etape.niveau.unregister(etape) - etape.supprimeSdProds() + etape.supprime_sdprods() etape.close() etape.supprime() - self.activeEtapes() + self.active_etapes() # Apres suppression de l'etape il faut controler que les etapes # suivantes ne produisent pas des concepts DETRUITS dans op_init de etape @@ -504,14 +497,14 @@ class JDC(I_OBJECT.OBJECT): etape=self.etapes[index_etape] else: etape=None - self.controlContextApres(etape) + self.control_context_apres(etape) - self.resetContext() + self.reset_context() CONNECTOR.Emit(self,"supp",etape) - self.finModif() + self.fin_modif() return 1 - def controlContextApres(self,etape): + def control_context_apres(self,etape): """ Cette methode verifie que les etapes apres l'etape etape ont bien des concepts produits acceptables (pas de conflit de @@ -520,16 +513,16 @@ class JDC(I_OBJECT.OBJECT): Effectue les verifications sur les etapes du jdc mais aussi sur les jdc parents s'ils existent. """ - #print "controlContextApres",self,etape + #print "control_context_apres",self,etape #Regularise les etapes du jdc apres l'etape etape - self.controlJdcContextApres(etape) + self.control_jdc_context_apres(etape) - def controlJdcContextApres(self,etape): + def control_jdc_context_apres(self,etape): """ - Methode semblable a controlContextApres mais ne travaille + Methode semblable a control_context_apres mais ne travaille que sur les etapes et sous etapes du jdc """ - #print "controlJdcContextApres",self,etape + #print "control_jdc_context_apres",self,etape if etape is None: # on demarre de la premiere etape index_etape=0 @@ -542,38 +535,31 @@ class JDC(I_OBJECT.OBJECT): #derniere etape du jdc : rien a faire return - context=self.getContexteAvant(etape) + context=self.get_contexte_avant(etape) for e in self.etapes[index_etape:]: - e.controlSdprods(context) - e.updateContext(context) + e.control_sdprods(context) + e.update_context(context) def analyse(self): - if self.editor.format == 'xml' : - # il ne faut pas le faire quand le jeu de donnees est vide - self.setCurrentContext() - self.analyseFromXML() - #print ('stop demande'); exit() - #self.execCompileFromXML() - else : - self.compile() - self.execCompile() - if not self.cr.estvide():return - self.activeEtapes() - - def registerParametre(self,param): + self.compile() + if not self.cr.estvide():return + self.exec_compile() + self.active_etapes() + + def register_parametre(self,param): """ Cette methode sert a ajouter un parametre dans la liste des parametres """ self.params.append(param) - def registerFonction(self,fonction): + def register_fonction(self,fonction): """ Cette methode sert a ajouter une fonction dans la liste des fonctions """ self.fonctions.append(fonction) - def deleteParam(self,param): + def delete_param(self,param): """ Supprime le parametre param de la liste des parametres et du contexte gobal @@ -581,7 +567,7 @@ class JDC(I_OBJECT.OBJECT): if param in self.params : self.params.remove(param) if param.nom in self.g_context : del self.g_context[param.nom] - def getParametresFonctionsAvantEtape(self,etape): + def get_parametres_fonctions_avant_etape(self,etape): """ Retourne deux elements : - une liste contenant les noms des parametres (constantes ou EVAL) @@ -592,7 +578,7 @@ class JDC(I_OBJECT.OBJECT): l_fonctions = [] # on recupere le contexte avant etape # on ne peut mettre dans les deux listes que des elements de ce contexte - d=self.getContexteAvant(etape) + d=self.get_contexte_avant(etape) # construction de l_constantes for param in self.params: nom = param.nom @@ -602,7 +588,7 @@ class JDC(I_OBJECT.OBJECT): for form in self.fonctions: nom = form.nom if not nom : continue - if nom in d: l_fonctions.append(form.getFormule()) + if nom in d: l_fonctions.append(form.get_formule()) # on ajoute les concepts produits par DEFI_VALEUR # XXX On pourrait peut etre faire plutot le test sur le type @@ -614,7 +600,7 @@ class JDC(I_OBJECT.OBJECT): # on retourne les deux listes return l_constantes,l_fonctions - def getNbEtapesAvant(self,niveau): + def get_nb_etapes_avant(self,niveau): """ Retourne le nombre d etapes avant le debut de niveau """ @@ -624,78 +610,78 @@ class JDC(I_OBJECT.OBJECT): nb=nb+len(niv.etapes) return nb - def initModif(self): + def init_modif(self): """ Methode appelee au moment ou une modification va etre faite afin de declencher d'eventuels traitements pre-modification """ - #print "initModif",self + #print "init_modif",self self.state = 'modified' - def finModif(self): - #print "finModif",self + def fin_modif(self): + #print "fin_modif",self CONNECTOR.Emit(self,"valid") - self.isValid() + self.isvalid() pass - def deepUpdateConditionBloc(self): + def deep_update_condition_bloc(self): # pour le moment, on ne fait rien - self.getJdcRoot().recalculeValiditeApresChangementGlobalJdc() + self.get_jdc_root().recalcule_validite_apres_changement_global_jdc() #raise EficasException(tr("Pas implemente")) - def updateConditionBloc(self): + def update_condition_bloc(self): # pour le moment, on ne fait rien raise EficasException(tr("Pas implemente")) - def getListeMcInconnus(self): + def get_liste_mc_inconnus(self): """ Retourne une liste contenant les mots-cles inconnus a la relecture du JDC """ # cette liste a le format suivant : [etape,(bloc,mcfact,...),nom_mc,valeur_mc] l_mc = [] for etape in self.etapes : - if etape.isActif() : - if not etape.isValid() : - l = etape.getListeMcInconnus() + if etape.isactif() : + if not etape.isvalid() : + l = etape.get_liste_mc_inconnus() if l : l_mc.extend(l) return l_mc - def getGenealogiePrecise(self): + def get_genealogie_precise(self): return [] - def getGenealogie(self): + def get_genealogie(self): """ Retourne la liste des noms des ascendants de l'objet self jusqu'a la premiere ETAPE parent. """ return [] - def getListeCmd(self): + def get_liste_cmd(self): """ Retourne la liste des commandes du catalogue """ - return self.niveau.definition.getListeCmd() + return self.niveau.definition.get_liste_cmd() - def getGroups(self): + def get_groups(self): """ Retourne la liste des groupes """ return self.niveau.definition.liste_groupes,self.niveau.definition.dict_groupes - def setEtapeContext(self,etape): + def set_etape_context(self,etape): """ Positionne l'etape qui sera utilisee dans NommerSdProd pour decider si le concept passe pourra etre nomme """ self._etape_context=etape - def resetContext(self): + def reset_context(self): """ Cette methode reinitialise le contexte glissant pour pouvoir tenir compte des modifications de l'utilisateur : craation de commandes, nommage de concepts, etc. """ - #print "resetContext",self,self.nom + #print "reset_context",self,self.nom self.current_context={} self.index_etape_courante=0 ind={} @@ -704,21 +690,21 @@ class JDC(I_OBJECT.OBJECT): self.index_etapes=ind # for etape in self.etapes: - # etape.resetContext() + # etape.reset_context() - def delSdprod(self,sd): + def del_sdprod(self,sd): """ Supprime la SD sd de la liste des sd et des dictionnaires de contexte """ - #print "delSdprod",self,sd - #print "delSdprod",self.sds - #print "delSdprod",self.g_context - #print "delSdprod",self.sds_dict + #print "del_sdprod",self,sd + #print "del_sdprod",self.sds + #print "del_sdprod",self.g_context + #print "del_sdprod",self.sds_dict #if sd in self.sds : self.sds.remove(sd) if sd.nom in self.g_context : del self.g_context[sd.nom] if sd.nom in self.sds_dict : del self.sds_dict[sd.nom] - def delParam(self,param): + def del_param(self,param): """ Supprime le parametre param de la liste des paramatres et du contexte gobal @@ -726,7 +712,7 @@ class JDC(I_OBJECT.OBJECT): if param in self.params : self.params.remove(param) if param.nom in self.g_context : del self.g_context[param.nom] - def delFonction(self,fonction): + def del_fonction(self,fonction): """ Supprime la fonction fonction de la liste des fonctions et du contexte gobal @@ -734,7 +720,7 @@ class JDC(I_OBJECT.OBJECT): if fonction in self.fonctions : self.fonctions.remove(fonction) if fonction.nom in self.g_context: del self.g_context[fonction.nom] - def appendSdProd(self,sd): + def append_sdprod(self,sd): """ Ajoute la SD sd a la liste des sd en verifiant au prealable qu'une SD de meme nom n'existe pas deja @@ -748,7 +734,7 @@ class JDC(I_OBJECT.OBJECT): self.g_context[sd.nom] = sd #if sd not in self.sds : self.sds.append(sd) - def appendParam(self,param): + def append_param(self,param): """ Ajoute le parametre param a la liste des params et au contexte global @@ -757,7 +743,7 @@ class JDC(I_OBJECT.OBJECT): if param not in self.params : self.params.append(param) self.g_context[param.nom]=param - def appendFonction(self,fonction): + def append_fonction(self,fonction): """ Ajoute la fonction fonction a la liste des fonctions et au contexte global @@ -766,7 +752,7 @@ class JDC(I_OBJECT.OBJECT): if fonction not in self.fonctions : self.fonctions.append(fonction) self.g_context[fonction.nom]=fonction - def deleteConcept(self,sd): + def delete_concept(self,sd): """ Inputs : - sd=concept detruit @@ -777,11 +763,11 @@ class JDC(I_OBJECT.OBJECT): que de transmettre aux fils """ for etape in self.etapes : - etape.deleteConcept(sd) + etape.delete_concept(sd) #PN PN PN pour les matrices ???? - #self.getVariables_avant(etape) + #self.get_variables_avant(etape) - def replaceConceptAfterEtape(self,etape,old_sd,sd): + def replace_concept_after_etape(self,etape,old_sd,sd): """ Met a jour les etapes du JDC qui sont apres etape en fonction du remplacement du concept sd @@ -790,9 +776,9 @@ class JDC(I_OBJECT.OBJECT): if index == len(self.etapes) : return # etape est la derniere etape du jdc ...on ne fait rien ! for child in self.etapes[index:]: - child.replaceConcept(old_sd,sd) + child.replace_concept(old_sd,sd) - def updateConceptAfterEtape(self,etape,sd): + def update_concept_after_etape(self,etape,sd): """ Met a jour les etapes du JDC qui sont apres etape en fonction de la modification (principalement nommage) du concept sd @@ -805,22 +791,22 @@ class JDC(I_OBJECT.OBJECT): if index == len(self.etapes) : return # etape est la derniere etape du jdc ...on ne fait rien ! for child in self.etapes[index:]: - child.updateConcept(sd) + child.update_concept(sd) - def dumpState(self): + def dump_state(self): print(("JDC.state: ",self.state)) for etape in self.etapes : print((etape.nom+".state: ",etape.state)) - def changeUnit(self,unit,etape,old_unit): - #print "changeUnit",unit,etape,old_unit + def change_unit(self,unit,etape,old_unit): + #print "change_unit",unit,etape,old_unit #print id(self.recorded_units),self.recorded_units #if self.recorded_units.has_key(old_unit):del self.recorded_units[old_unit] - self.recordUnit(unit,etape) + self.record_unit(unit,etape) - def recordUnit(self,unit,etape): + def record_unit(self,unit,etape): """Enregistre les unites logiques incluses et les infos relatives a l'etape""" - #print "recordUnit",unit,etape + #print "record_unit",unit,etape if unit is None: # Cas de POURSUITE self.recorded_units[None]=(etape.fichier_ini ,etape.fichier_text,etape.recorded_units) @@ -830,17 +816,17 @@ class JDC(I_OBJECT.OBJECT): #print self.recorded_units.get(None,(None,"",{}))[2] #print self.recorded_units.get(None,(None,"",{}))[2].get(None,(None,"",{})) - def changeFichier(self,fichier): - self.finModif() + def changefichier(self,fichier): + self.fin_modif() - def evalInContext(self,valeur,etape): + def eval_in_context(self,valeur,etape): """ Tente d'evaluer valeur dans le contexte courant de etape Retourne le parametre valeur inchange si l'evaluation est impossible """ #contexte initial du jdc context=self.condition_context.copy() #contexte courant des concepts. Il contient les parametres - context.update(self.getContexteAvant(etape)) + context.update(self.get_contexte_avant(etape)) try : objet = eval(valeur,context) return objet @@ -873,13 +859,13 @@ class JDC(I_OBJECT.OBJECT): """ Cette methode ajoute etape dans la liste des etapes self.etapes et retourne l identificateur d'etape - fourni par l appel a gRegister + fourni par l appel a g_register A quoi sert editmode ? - Si editmode vaut 1, on est en mode edition de JDC. On cherche a enregistrer une etape que l'on a creee avec eficas (en passant - par addEntite) auquel cas on ne veut recuperer que son numero - d'enregistrement et c'est addEntite qui l'enregistre dans + par addentite) auquel cas on ne veut recuperer que son numero + d'enregistrement et c'est addentite qui l'enregistre dans self.etapes a la bonne place... - Si editmode vaut 0, on est en mode relecture d'un fichier de commandes et on doit enregistrer l'etape a la fin de self.etapes @@ -891,7 +877,7 @@ class JDC(I_OBJECT.OBJECT): self.index_etapes[etape] = len(self.etapes) - 1 else: pass - return self.gRegister(etape) + return self.g_register(etape) #ATTENTION SURCHARGE : cette methode doit etre gardee en synchronisation avec celle de Noyau def NommerSdprod(self,sd,sdnom,restrict='non'): @@ -904,15 +890,15 @@ class JDC(I_OBJECT.OBJECT): # XXX En mode editeur dans EFICAS, le nommage doit etre gere differemment # Le dictionnaire g_context ne represente pas le contexte # effectif avant une etape. - # Il faut utiliser getContexteAvant avec indication de l'etape + # Il faut utiliser get_contexte_avant avec indication de l'etape # traitee. # Cette etape est indiquee par l'attribut _etape_context qui a ete - # positionne prealablement par un appel a setEtapeContext + # positionne prealablement par un appel a set_etape_context if CONTEXT.debug : print(("JDC.NommerSdprod ",sd,sdnom)) if self._etape_context: - o=self.getContexteAvant(self._etape_context).get(sdnom,None) + o=self.get_contexte_avant(self._etape_context).get(sdnom,None) else: o=self.sds_dict.get(sdnom,None) @@ -920,7 +906,7 @@ class JDC(I_OBJECT.OBJECT): raise AsException(tr(" Nom de concept deja defini : "+ sdnom)) # ATTENTION : Il ne faut pas ajouter sd dans sds car il s y trouve deja. - # Ajoute a la creation (appel de regSD). + # Ajoute a la creation (appel de reg_sd). self.sds_dict[sdnom]=sd sd.nom=sdnom @@ -928,12 +914,12 @@ class JDC(I_OBJECT.OBJECT): if restrict == 'non': self.g_context[sdnom]=sd - def deleteConceptEntreEtapes(self,index1,index2,sd): + def delete_concept_entre_etapes(self,index1,index2,sd): if index2 <= index1 :return for child in self.etapes[index1:index2]: - child.deleteConcept(sd) + child.delete_concept(sd) - def deleteConceptAfterEtape(self,etape,sd): + def delete_concept_after_etape(self,etape,sd): """ Met a jour les etapes du JDC qui sont apres etape en fonction de la disparition du concept sd @@ -942,18 +928,18 @@ class JDC(I_OBJECT.OBJECT): if index == len(self.etapes) : return # etape est la derniere etape du jdc ...on ne fait rien ! for child in self.etapes[index:]: - child.deleteConcept(sd) + child.delete_concept(sd) #ATTENTION SURCHARGE : les methodes ci-dessus surchargent des methodes de Noyau et Validation : a reintegrer - def getFile(self,unite=None,fic_origine=''): + def get_file(self,unite=None,fic_origine=''): """ Retourne le nom du fichier correspondant a un numero d'unite logique (entier) ainsi que le source contenu dans le fichier """ if self.appli is not None: # Si le JDC est relie a une application maitre, on delegue la recherche - file,text= self.appli.getFile(unite,fic_origine) + file,text= self.appli.get_file(unite,fic_origine) else: file = None if unite != None: @@ -972,15 +958,15 @@ class JDC(I_OBJECT.OBJECT): linecache.cache[file]=0,0,text.split('\n'),file return file,text - def isValid(self,cr='non'): + def isvalid(self,cr='non'): if hasattr(self,'valid'): old_valid=self.valid else:old_valid=0 - valid=Validation.V_JDC.JDC.isValid(self,cr) + valid=Validation.V_JDC.JDC.isvalid(self,cr) if valid != old_valid: CONNECTOR.Emit(self,"valid") return valid - def getLNomsEtapes(self): + def get_l_noms_etapes(self): """ Retourne la liste des noms des etapes de self """ diff --git a/Ihm/I_JDC_CATA.py b/Ihm/I_JDC_CATA.py index b8de9558..fadcf680 100644 --- a/Ihm/I_JDC_CATA.py +++ b/Ihm/I_JDC_CATA.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -24,11 +24,11 @@ class JDC_CATA: def __init__(self): self.l_noms_entites=[] - def getListeCmd(self): + def get_liste_cmd(self): self.l_noms_entites.sort() return self.l_noms_entites - def getDocu(self): + def get_docu(self): return diff --git a/Ihm/I_LASSD.py b/Ihm/I_LASSD.py index bdeba371..2317379f 100644 --- a/Ihm/I_LASSD.py +++ b/Ihm/I_LASSD.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -20,4 +20,4 @@ class LASSD: def __repr__(self): - return self.getName() + return self.get_name() diff --git a/Ihm/I_MACRO_ETAPE.py b/Ihm/I_MACRO_ETAPE.py index 0de991d8..ac91964a 100644 --- a/Ihm/I_MACRO_ETAPE.py +++ b/Ihm/I_MACRO_ETAPE.py @@ -1,5 +1,5 @@ # -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -29,15 +29,16 @@ import traceback,types # Modules Eficas from Extensions.i18n import tr from Extensions.eficas_exception import EficasException -from Ihm import I_ETAPE -from Ihm import I_ENTITE -from Ihm import I_OBJECT +from . import I_ETAPE +from . import I_ENTITE +from . import I_OBJECT import Noyau from Noyau.N_ASSD import ASSD from Noyau import N__F +import convert from Extensions import param2 -# import rajoutes suite a l'ajout de buildSd --> a resorber +# import rajoutes suite a l'ajout de Build_sd --> a resorber import Noyau, Validation.V_MACRO_ETAPE from Noyau import N_Exception from Noyau.N_Exception import AsException @@ -56,7 +57,7 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): self.text_error="" self.recorded_units={} - def getSdprods(self,nom_sd): + def get_sdprods(self,nom_sd): """ Fonction : retourne le concept produit par l etape de nom nom_sd s il existe sinon None @@ -70,7 +71,7 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): return d.get(nom_sd,None) return None - def getContexteJdc(self,fichier,text,doitEtreValide=1): + def get_contexte_jdc(self,fichier,text): """ Interprete text comme un texte de jdc et retourne le contexte final. @@ -79,19 +80,20 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): ou leve une exception --> utilisee par ops.POURSUITE et INCLUDE """ - #print ("getContexteJdc",self,self.nom, text) + #print ("get_contexte_jdc",self,self.nom) # On recupere l'etape courante - step=CONTEXT.getCurrentStep() - #try: - if 1 : + step=CONTEXT.get_current_step() + try: + #if 1 : # on essaie de creer un objet JDC auxiliaire avec un contexte initial - # Attention getContexteAvant retourne un dictionnaire qui contient + # Attention get_contexte_avant retourne un dictionnaire qui contient # le contexte courant. Ce dictionnaire est reactualise regulierement. # Si on veut garder l'etat du contexte fige, il faut en faire une copie. - context_ini = self.parent.getContexteAvant(self).copy() + context_ini = self.parent.get_contexte_avant(self).copy() + #print "get_contexte_jdc",context_ini.keys() # Indispensable avant de creer un nouveau JDC - CONTEXT.unsetCurrentStep() + CONTEXT.unset_current_step() args=self.jdc.args prefix_include=None if hasattr(self,'prefix'): @@ -115,10 +117,12 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): self.text_converted=0 self.text_error="" if self.nom != "INCLUDE_MATERIAU": - format=self.parent.appli.appliEficas.format_fichier + if self.parent.appli.ihm == "QT" : + format=self.parent.appli.appliEficas.format_fichier + else : + format=self.jdc.appli.format_fichier.get() #on force a python pour Carmel if format=="CARMEL3D" : format="python" - import convert if format in convert.plugins : # Le convertisseur existe on l'utilise p=convert.plugins[format]() @@ -133,7 +137,6 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): self.text_converted=1 - if hasattr(self,'sd') and self.sd != None : context_ini[self.sd.nom]=self.sd j=self.JdC_aux( procedure=text, nom=fichier, appli=self.jdc.appli, cata=self.jdc.cata, @@ -150,49 +153,46 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): self.jdc_aux=j self.jdc.jdcDict=self.jdc_aux - #except: - else : + except: + #else : traceback.print_exc() # On retablit l'etape courante step - CONTEXT.unsetCurrentStep() - CONTEXT.setCurrentStep(step) + CONTEXT.unset_current_step() + CONTEXT.set_current_step(step) return None - - if not j.cr.estvide() and doitEtreValide: + if not j.cr.estvide(): # Erreurs dans l'INCLUDE. On garde la memoire du fichier # mais on n'insere pas les concepts # On retablit l'etape courante step - #print (j.cr) - #print ("valid ",j.isValid()) - CONTEXT.unsetCurrentStep() - CONTEXT.setCurrentStep(step) + #print j.cr + #print j.isvalid() + CONTEXT.unset_current_step() + CONTEXT.set_current_step(step) raise EficasException(tr("Impossible de relire le fichier %s \n ")+ six.text_type(j.cr)) - if not j.isValid() and doitEtreValide: + if not j.isvalid(): # L'INCLUDE n'est pas valide. # on produit un rapport d'erreurs cr=j.report() - #print ('cr', cr) # On retablit l'etape courante step - CONTEXT.unsetCurrentStep() - CONTEXT.setCurrentStep(step) + CONTEXT.unset_current_step() + CONTEXT.set_current_step(step) self.jdc.cr.fatal("Le fichier include contient des erreurs ") raise EficasException(tr("Le fichier include contient des erreurs ")) # Si aucune erreur rencontree - # ou qu on accepte un jdc incomplet # On recupere le contexte de l'include verifie try: - j_context=j.getVerifContexte() + j_context=j.get_verif_contexte() #print j_context.keys() #print j.g_context.keys() except: # On retablit l'etape courante step - CONTEXT.unsetCurrentStep() - CONTEXT.setCurrentStep(step) + CONTEXT.unset_current_step() + CONTEXT.set_current_step(step) raise EficasException(" ") # Si on est arrive ici, le texte du fichier inclus (INCLUDE, POURSUITE, ...) @@ -230,24 +230,24 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): self.jdc_aux=j # On retablit l'etape courante step - CONTEXT.unsetCurrentStep() - CONTEXT.setCurrentStep(step) + CONTEXT.unset_current_step() + CONTEXT.set_current_step(step) return j_context - def reevalueSdJdc(self): + def reevalue_sd_jdc(self): """ Avec la liste des SD qui ont ete supprimees, propage la disparition de ces SD dans toutes les etapes et descendants """ - #print "reevalueSdJdc" - l_sd_supp,l_sd_repl = self.diffContextes() + #print "reevalue_sd_jdc" + l_sd_supp,l_sd_repl = self.diff_contextes() for sd in l_sd_supp: - self.parent.deleteConceptAfterEtape(self,sd) + self.parent.delete_concept_after_etape(self,sd) for old_sd,sd in l_sd_repl: - self.parent.replaceConceptAfterEtape(self,old_sd,sd) + self.parent.replace_concept_after_etape(self,old_sd,sd) - def diffContextes(self): + def diff_contextes(self): """ Realise la difference entre les 2 contextes old_contexte_fichier_init et contexte_fichier_init @@ -272,15 +272,15 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): l_sd_replaced.append((self.old_contexte_fichier_init[old_key],self.contexte_fichier_init[old_key])) return l_sd_suppressed,l_sd_replaced - def controlSdprods(self,d): + def control_sdprods(self,d): """ Cette methode doit verifier que les concepts produits par la commande ne sont pas incompatibles avec le contexte fourni (d). Si c'est le cas, le concept produit doit etre supprime Si la macro a elle meme des etapes, elle doit propager - le traitement (voir methode controlJdcContextApres de I_JDC) + le traitement (voir methode control_jdc_context_apres de I_JDC) """ - #print ("I_MACRO_ETAPE.controlSdprods",d.keys(),self,self.nom,self.sd and self.sd.nom) + #print ("I_MACRO_ETAPE.control_sdprods",d.keys(),self,self.nom,self.sd and self.sd.nom) if self.sd: if self.sd.nom in d: # Le concept est deja defini @@ -291,74 +291,74 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): # Redefinition du concept, on l'annule #XXX on pourrait simplement annuler son nom pour conserver les objets # l'utilisateur n'aurait alors qu'a renommer le concept (faisable??) - self.initModif() + self.init_modif() sd=self.sd self.sd=self.reuse=self.sdnom=None - self.parent.deleteConceptAfterEtape(self,sd) - self.finModif() + self.parent.delete_concept_after_etape(self,sd) + self.fin_modif() # On verifie les concepts a droite du signe = - self.initModif() + self.init_modif() sdprods=self.sdprods[:] self.sdprods=[] for co in sdprods: if co.nom in d and co is not d[co.nom] : #nettoie les mots cles de l'etape qui ont comme valeur co - self.deleteConcept(co) + self.delete_concept(co) #supprime les references a co dans les etapes suivantes - self.parent.deleteConceptAfterEtape(self,co) + self.parent.delete_concept_after_etape(self,co) else: self.sdprods.append(co) - self.finModif() + self.fin_modif() for e in self.etapes: - e.controlSdprods(d) - e.updateContext(d) + e.control_sdprods(d) + e.update_context(d) - def supprimeSdprod(self,sd): + def supprime_sdprod(self,sd): """ Supprime le concept produit sd s'il est produit par l'etape """ if sd in self.sdprods: - self.initModif() - self.parent.delSdprod(sd) + self.init_modif() + self.parent.del_sdprod(sd) self.sdprods.remove(sd) - self.finModif() - self.parent.deleteConcept(sd) + self.fin_modif() + self.parent.delete_concept(sd) return if sd is not self.sd :return if self.sd is not None : - self.initModif() - self.parent.delSdprod(sd) + self.init_modif() + self.parent.del_sdprod(sd) self.sd=None - self.finModif() - self.parent.deleteConcept(sd) + self.fin_modif() + self.parent.delete_concept(sd) - def supprimeSdProds(self): + def supprime_sdprods(self): """ Fonction: Lors de la destruction de la macro-etape, detruit tous les concepts produits Un operateur n a qu un concept produit Une procedure n'en a aucun Une macro en a en general plus d'un """ - #print "supprimeSdProds" + #print "supprime_sdprods" if self.reuse is not self.sd : # l'etape n'est pas reentrante # le concept retourne par l'etape est a supprimer car il etait # cree par l'etape if self.sd != None : - self.parent.delSdprod(self.sd) - self.parent.deleteConcept(self.sd) + self.parent.del_sdprod(self.sd) + self.parent.delete_concept(self.sd) # On detruit les concepts a droite du signe = for co in self.sdprods: - self.parent.delSdprod(co) - self.parent.deleteConcept(co) + self.parent.del_sdprod(co) + self.parent.delete_concept(co) # Si la macro a des etapes et des concepts inclus, on les detruit for nom_sd,co in self.g_context.items(): if not isinstance(co,ASSD):continue - self.parent.delSdprod(co) - self.parent.deleteConcept(co) + self.parent.del_sdprod(co) + self.parent.delete_concept(co) # On met g_context a blanc self.g_context={} @@ -368,39 +368,39 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): # La macro a un jdc auxiliaire inclus. On demande sa fermeture self.jdc_aux.close() - def resetContext(self): + def reset_context(self): if hasattr(self,"jdc_aux") and self.jdc_aux: # La macro a un jdc auxiliaire inclus. On demande la reinitialisation du contexte - self.jdc_aux.resetContext() + self.jdc_aux.reset_context() - def updateConcept(self,sd): - I_ETAPE.ETAPE.updateConcept(self,sd) + def update_concept(self,sd): + I_ETAPE.ETAPE.update_concept(self,sd) for etape in self.etapes: - etape.updateConcept(sd) + etape.update_concept(sd) - def deleteConcept(self,sd): + def delete_concept(self,sd): """ Fonction : Mettre a jour les mots cles de l etape et eventuellement le concept produit si reuse suite a la disparition du concept sd Seuls les mots cles simples MCSIMP font un traitement autre que de transmettre aux fils """ - #print "deleteConcept",sd - I_ETAPE.ETAPE.deleteConcept(self,sd) + #print "delete_concept",sd + I_ETAPE.ETAPE.delete_concept(self,sd) for etape in self.etapes: - etape.deleteConcept(sd) + etape.delete_concept(sd) - def replaceConcept(self,old_sd,sd): + def replace_concept(self,old_sd,sd): """ Fonction : Mettre a jour les mots cles de l etape et le concept produit si reuse suite au remplacement du concept old_sd par sd """ - #print "replaceConcept",old_sd,sd - I_ETAPE.ETAPE.replaceConcept(self,old_sd,sd) + #print "replace_concept",old_sd,sd + I_ETAPE.ETAPE.replace_concept(self,old_sd,sd) for etape in self.etapes: - etape.replaceConcept(old_sd,sd) + etape.replace_concept(old_sd,sd) - def changeFichierInit(self,new_fic,text): + def change_fichier_init(self,new_fic,text): """ Tente de changer le fichier include. Le precedent include est conserve dans old_xxx @@ -428,7 +428,7 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): self.fichier_text=text try: - self.makeContexteInclude(new_fic,text) + self.make_contexte_include(new_fic,text) except: l=traceback.format_exception_only(tr("Fichier invalide %s", sys.exc_info()[1])) self.fichier_err=''.join(l) @@ -436,23 +436,23 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): # L'evaluation de text dans un JDC auxiliaire s'est bien passe # on peut poursuivre le traitement - self.initModif() + self.init_modif() self.state="undetermined" self.fichier_err=None # On enregistre la modification de fichier - self.recordUnite() + self.record_unite() # Le contexte du parent doit etre reinitialise car les concepts produits ont change - self.parent.resetContext() + self.parent.reset_context() # Si des concepts ont disparu lors du changement de fichier, on demande leur suppression self.old_contexte_fichier_init=self.old_context - self.reevalueSdJdc() + self.reevalue_sd_jdc() - self.finModif() + self.fin_modif() if self.old_jdc_aux: self.old_jdc_aux.close() - def restoreFichierInit(self): + def restore_fichier_init(self): """ Restaure le fichier init enregistre dans old_xxx """ @@ -464,7 +464,7 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): self.etapes=self.old_etapes self.jdc_aux=self.old_jdc_aux - def forceFichierInit(self): + def force_fichier_init(self): """ Force le remplacement du fichier init meme si le remplacant est en erreur """ @@ -475,7 +475,7 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): # On ajoute egalement le concept produit dans le sds_dict du parent # sans verification car on est sur (verification integree) que # le nommage est possible - j_context=self.jdc_aux.getContexteAvant(None) + j_context=self.jdc_aux.get_contexte_avant(None) self.g_context.clear() context_ini=self.jdc_aux.context_ini for k,v in j_context.items(): @@ -489,79 +489,79 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): self.fichier_err = None # On enregistre la modification de fichier - self.initModif() + self.init_modif() self.state="undetermined" - self.recordUnite() + self.record_unite() # Le contexte du parent doit etre reinitialise car les concepts produits ont change - self.parent.resetContext() + self.parent.reset_context() # On remplace les anciens concepts par les nouveaux (y compris ajouts # et suppression) et on propage les modifications aux etapes precedentes et suivantes - # reevalueSdJdc construit la liste des differences entre les contextes contexte_fichier_init + # reevalue_sd_jdc construit la liste des differences entre les contextes contexte_fichier_init # et old_contexte_fichier_init et effectue les destructions et remplacements de concept # necessaires self.old_contexte_fichier_init=self.old_context - self.reevalueSdJdc() - self.finModif() + self.reevalue_sd_jdc() + self.fin_modif() if self.old_jdc_aux: self.old_jdc_aux.close() - self.jdc_aux.forceContexte(self.g_context) + self.jdc_aux.force_contexte(self.g_context) - def buildInclude(self,fichier,text): + def build_include(self,fichier,text): import Extensions.jdc_include self.JdC_aux=Extensions.jdc_include.JdC_include # un include partage la table des unites avec son parent (jdc) self.recorded_units=self.parent.recorded_units - self.buildJdcaux(fichier,text) + self.build_jdcaux(fichier,text) - def buildPoursuite(self,fichier,text): + def build_poursuite(self,fichier,text): import Extensions.jdc_include self.JdC_aux=Extensions.jdc_include.JdC_poursuite # une poursuite a sa propre table d'unites self.recorded_units={} - self.buildJdcaux(fichier,text) + self.build_jdcaux(fichier,text) - def buildIncludeInclude(self,text): + def build_includeInclude(self,text): import Extensions.jdc_include self.JdC_aux=Extensions.jdc_include.JdC_include # un include partage la table des unites avec son parent (jdc) + self.build_jdcauxInclude(text) + - def buildIncludeEtape(self,text,doitEtreValide = 0): + def build_includeEtape(self,text): import Extensions.jdc_include self.JdC_aux=Extensions.jdc_include.JdC_include # un include partage la table des unites avec son parent (jdc) - #self.buildJdcauxInclude(text) + #self.build_jdcauxInclude(text) # Attention fonctionne pour import_Zone de MT # a adapter eventuellement try : - #if 1 : - contexte = self.getContexteJdc(None,text,doitEtreValide) + contexte = self.get_contexte_jdc(None,text) except EficasException: return 0 for e in self.etapes: e.niveau=self.niveau e.parent=self.parent - e.state='change' index=self.jdc.etapes.index(self) self.jdc.etapes=self.jdc.etapes[:index+1]+self.etapes+self.jdc.etapes[index+1:] self.g_context={} self.etapes=[] - self.jdc.resetContext() + self.jdc.reset_context() self.jdc_aux=None - CONTEXT.unsetCurrentStep() + CONTEXT.unset_current_step() return 1 - def buildJdcauxInclude(self,text): + def build_jdcauxInclude(self,text): try : - contexte = self.getContexteJdc(None,text) + contexte = self.get_contexte_jdc(None,text) except EficasException: pass index=self.jdc.etapes.index(self) @@ -571,9 +571,9 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): self.g_context={} self.etapes=[] self.jdc_aux=None - CONTEXT.unsetCurrentStep() + CONTEXT.unset_current_step() - def buildJdcaux(self,fichier,text): + def build_jdcaux(self,fichier,text): """ Cree un jdc auxiliaire initialise avec text. Initialise le nom du fichier associe avec fichier @@ -584,7 +584,7 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): self.fichier_unite=None self.fichier_err = None try: - contexte = self.getContexteJdc(fichier,text) + contexte = self.get_contexte_jdc(fichier,text) if contexte is None : # Impossible de construire le jdc auxiliaire (sortie par None) # On simule une sortie par exception @@ -592,13 +592,13 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): else: # La construction du jdc auxiliaire est allee au bout self.contexte_fichier_init = contexte - self.initModif() - self.finModif() + self.init_modif() + self.fin_modif() except: # Impossible de construire le jdc auxiliaire (sortie par exception) l=traceback.format_exception_only("Fichier invalide",sys.exc_info()[1]) if self.jdc.appli is not None: - self.jdc.appli.afficheAlerte(tr("Erreur lors de l'evaluation du fichier inclus"), + self.jdc.appli.affiche_alerte(tr("Erreur lors de l'evaluation du fichier inclus"), message= tr("Ce fichier ne sera pas pris en compte\n %s",''.join(l))) self.g_context={} @@ -606,17 +606,18 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): self.jdc_aux=None self.fichier_err = ''.join(l) self.contexte_fichier_init={} - self.initModif() - self.finModif() + self.init_modif() + self.fin_modif() raise EficasException(" ") - def makeContexteInclude(self,fichier,text): + def make_contexte_include(self,fichier,text): """ Cette methode sert a craer un contexte en interpratant un texte source Python. """ - #print ("makeContexteInclude",fichier) + # print ("make_contexte_include",fichier) # on recupere le contexte d'un nouveau jdc dans lequel on interprete text - contexte = self.getContexteJdc(fichier,text) + contexte = self.get_contexte_jdc(fichier,text) + # print ("make_contexte_include",fichier) if contexte == None : raise EficasException("Impossible de construire le jeu de commandes correspondant au fichier") else: @@ -624,18 +625,18 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): # l'attribut g_context est un dictionnaire qui contient les concepts produits par inclusion # l'attribut contexte_fichier_init est un dictionnaire qui contient les concepts produits # en sortie de macro. g_context est obtenu en retirant de contexte_fichier_init les concepts - # existants en debut de macro contenus dans context_ini (dans getContexteJdc) + # existants en debut de macro contenus dans context_ini (dans get_contexte_jdc) # g_context est utilise pour avoir les concepts produits par la macro # contexte_fichier_init est utilise pour avoir les concepts supprimes par la macro self.contexte_fichier_init = contexte - #print ("fin makeContexteInclude",fichier) + # print ("fin make_contexte_include",fichier) - def reevalueFichierInitObsolete(self): + def reevalue_fichier_init_OBSOLETE(self): """Recalcule les concepts produits par le fichier enregistre""" #print "reevalue_fichier_init" old_context=self.contexte_fichier_init try: - self.makeContexteInclude(self.fichier_ini ,self.fichier_text) + self.make_contexte_include(self.fichier_ini ,self.fichier_text) except: l=traceback.format_exception_only("Fichier invalide",sys.exc_info()[1]) self.fichier_err = ''.join(l) @@ -644,67 +645,67 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): self.jdc_aux=None self.old_contexte_fichier_init=old_context self.contexte_fichier_init={} - self.reevalueSdJdc() + self.reevalue_sd_jdc() return # L'evaluation s'est bien passee self.fichier_err = None self.old_contexte_fichier_init=old_context - self.reevalueSdJdc() + self.reevalue_sd_jdc() - def updateFichierInit(self,unite): + def update_fichier_init(self,unite): """Reevalue le fichier init sans demander (dans la mesure du possible) a l'utilisateur les noms des fichiers Ceci suppose que les relations entre unites et noms ont ete memorisees prealablement L'include a ete initialise precedemment. Le jdc auxiliaire existe. """ - #print "updateFichierInit",unite,self.fichier_unite + #print "update_fichier_init",unite,self.fichier_unite self.old_contexte_fichier_init=self.contexte_fichier_init old_fichier_ini=self.fichier_ini if not hasattr(self,"jdc_aux"):self.jdc_aux=None old_jdc_aux=self.jdc_aux - #print "updateFichierInit",self,self.parent,self.parent.recorded_units + #print "update_fichier_init",self,self.parent,self.parent.recorded_units if self.fichier_unite is None: # L'unite n'etait pas definie precedemment. On ne change que l'unite - #print "updateFichierInit","pas de changement dans include" + #print "update_fichier_init","pas de changement dans include" self.fichier_unite=unite return elif unite == self.fichier_unite : # L'unite n'a pas change - #print "updateFichierInit","pas de changement dans include 3" + #print "update_fichier_init","pas de changement dans include 3" return elif unite != self.fichier_unite : # L'unite etait definie precedemment. On remplace l'include # - f,text=self.getFileMemo(unite=unite,fic_origine=self.parent.nom) + f,text=self.get_file_memo(unite=unite,fic_origine=self.parent.nom) if f is None: # Le fichier associe n'a pas pu etre defini # on change l'unite associee mais pas l'include - #print "updateFichierInit","pas de changement dans include 2" + #print "update_fichier_init","pas de changement dans include 2" self.fichier_unite=unite return else: self.fichier_ini = f self.fichier_text=text self.fichier_unite=unite - #print "updateFichierInit",self.recorded_units + #print "update_fichier_init",self.recorded_units - #print "updateFichierInit",self.fichier_ini,self.fichier_text,self.fichier_unite + #print "update_fichier_init",self.fichier_ini,self.fichier_text,self.fichier_unite if old_fichier_ini == self.fichier_ini: # Le fichier inclus n'a pas change. On ne recree pas le contexte # mais on enregistre le changement d'association unite <-> fichier - #print "updateFichierInit.fichier inchange",self.jdc_aux.context_ini - self.parent.recordUnit(unite,self) + #print "update_fichier_init.fichier inchange",self.jdc_aux.context_ini + self.parent.record_unit(unite,self) return try: self.fichier_err=None - self.makeContexteInclude(self.fichier_ini,self.fichier_text) + self.make_contexte_include(self.fichier_ini,self.fichier_text) # Les 3 attributs fichier_ini fichier_text recorded_units doivent etre corrects - # avant d'appeler changeUnit + # avant d'appeler change_unit except: # Erreurs lors de l'evaluation de text dans un JDC auxiliaire l=traceback.format_exception_only("Fichier invalide",sys.exc_info()[1]) @@ -719,28 +720,28 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): if old_jdc_aux: old_jdc_aux.close() - self.parent.recordUnit(unite,self) + self.parent.record_unit(unite,self) # Le contexte du parent doit etre reinitialise car les concepts # produits ont change - self.parent.resetContext() + self.parent.reset_context() # Si des concepts ont disparu lors du changement de fichier, on # demande leur suppression - self.reevalueSdJdc() - #print "updateFichierInit",self.jdc_aux.context_ini.keys() + self.reevalue_sd_jdc() + #print "update_fichier_init",self.jdc_aux.context_ini.keys() - def recordUnite(self): - #print "recordUnite",self.nom + def record_unite(self): + #print "record_unite",self.nom if self.nom == "POURSUITE": - self.parent.recordUnit(None,self) + self.parent.record_unit(None,self) else: if hasattr(self,'fichier_unite') : - self.parent.recordUnit(self.fichier_unite,self) + self.parent.record_unit(self.fichier_unite,self) - def getFileMemo(self, unite=None, fname=None, fic_origine=''): + def get_file_memo(self, unite=None, fname=None, fic_origine=''): """Retourne le nom du fichier et le source correspondant a l'unite unite Initialise en plus recorded_units """ - #print "getFileMemo",unite,fic_origine,self,self.parent + #print "get_file_memo",unite,fic_origine,self,self.parent #print self.parent.recorded_units if unite is None: # On est dans le cas d'une poursuite. On ne reutilise aucune unite de parent @@ -758,38 +759,38 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): f = fname text = open(fname, 'r').read() else: - f,text=self.jdc.getFile(unite=unite, fic_origine=fic_origine) + f,text=self.jdc.get_file(unite=unite, fic_origine=fic_origine) else: f,text=None,None self.recorded_units=units if f is None and self.jdc.appli: - self.jdc.appli.afficheAlerte(tr("Erreur lors de l'evaluation du fichier inclus"), + self.jdc.appli.affiche_alerte(tr("Erreur lors de l'evaluation du fichier inclus"), message= tr("Ce fichier ne sera pas pris en compte\nLe fichier associe n'est pas defini")) return f,text - def updateContext(self,d): + def update_context(self,d): """ Met a jour le contexte contenu dans le dictionnaire d Une MACRO_ETAPE peut ajouter plusieurs concepts dans le contexte Une fonction enregistree dans op_init peut egalement modifier le contexte """ - #print ("updateContext",self,self.nom,d.keys()) + #print ("update_context",self,self.nom,d.keys()) if hasattr(self,"jdc_aux") and self.jdc_aux: - #ATTENTION: updateContext NE DOIT PAS appeler resetContext - # car il appelle directement ou indirectement updateContext - # equivalent a resetContext. Evite les recursions + #ATTENTION: update_context NE DOIT PAS appeler reset_context + # car il appelle directement ou indirectement update_context + # equivalent a reset_context. Evite les recursions self.jdc_aux.context_ini=d.copy() self.jdc_aux.current_context={} self.jdc_aux.index_etape_courante=0 - #ATTENTION: il ne faut pas utiliser self.jdc_aux.getContexteAvant + #ATTENTION: il ne faut pas utiliser self.jdc_aux.get_contexte_avant #car cet appel conduit a des remontees multiples incoherentes dans le # ou les parents. - #get_context_avant appelle updateContext qui NE DOIT PAS appeler getContexteAvant + #get_context_avant appelle update_context qui NE DOIT PAS appeler get_contexte_avant #On n'a besoin que d'un update local connaissant # le contexte amont : d qui sert a reinitialiser self.context_ini for e in self.etapes: - e.updateContext(d) + e.update_context(d) return if type(self.definition.op_init) == types.FunctionType: @@ -797,7 +798,7 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): if self.sd != None :d[self.sd.nom]=self.sd for co in self.sdprods: d[co.nom]=co - #print "updateContext.fin",d.keys() + #print "update_context.fin",d.keys() #ATTENTION SURCHARGE : cette methode surcharge celle de Noyau (a garder en synchro) def copy(self): @@ -816,21 +817,21 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): Noyau.N_MACRO_ETAPE.MACRO_ETAPE.supprime(self) #ATTENTION SURCHARGE : cette methode surcharge celle de Noyau (a garder en synchro) - def getFile(self,unite=None,fic_origine=''): + def get_file(self,unite=None,fic_origine=''): """Retourne le nom du fichier et le source correspondant a l'unite unite """ if self.jdc : - f,text=self.jdc.getFile(unite=unite,fic_origine=fic_origine) + f,text=self.jdc.get_file(unite=unite,fic_origine=fic_origine) else: f,text=None,None return f,text - def makeInclude3(self,fichier=None): - self.makeIncludeCarmel(fichier) + def make_include3(self,fichier=None): + self.make_includeCarmel(fichier) - def makeIncludeCND(self,fichier=None): + def make_includeCND(self,fichier=None): unite=999 if fichier==None : return if hasattr(self,'fichier_ini') : print((self.fichier_ini)) @@ -851,30 +852,30 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): if groupe[0:5]=='VCUT_': texteVcut +='V_'+groupe[5:]+"=VCUT();\n" texte=texteSources+texteCond+texteNoCond+texteVcut #print (texte) - self.buildIncludeInclude(texte) - if CONTEXT.getCurrentStep()==None : CONTEXT.setCurrentStep(self) + self.build_includeInclude(texte) + if CONTEXT.get_current_step()==None : CONTEXT.set_current_step(self) reevalue=0 - def makeIncludeCarmel(self,fichier=None): + def make_includeCarmel(self,fichier=None): # Pour Carmel - #print "je suis dans makeIncludeCarmel" + #print "je suis dans make_includeCarmel" unite=999 if hasattr(self,'fichier_ini') : return reevalue=0 if hasattr(self,'old_context_fichier_init' ): reevalue=1 for concept in self.old_context_fichier_init.values(): - self.jdc.deleteConcept(concept) + self.jdc.delete_concept(concept) if fichier == None : - fichier=str(self.jdc.appli.getFile_dictDonnees()) + fichier=str(self.jdc.appli.get_file_dictDonnees()) if fichier == str("") : self.fichier_ini="badfile" self.fichier_text="" self.fichier_err=tr("Le fichier n est pas defini") - self.parent.recordUnit(999,self) + self.parent.record_unit(999,self) try : - MCFils=self.getChild('FileName') - MCFils.setValeur(None) + MCFils=self.get_child('FileName') + MCFils.set_valeur(None) except : pass raise EficasException(self.fichier_err) @@ -894,18 +895,18 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): except: #else: traceback.print_exc() - self.makeIncl2Except() + self.make_incl2_except() raise EficasException(" ") try: #if 1 : - self.makeContexteInclude(self.fichier_ini ,self.fichier_text) + self.make_contexte_include(self.fichier_ini ,self.fichier_text) self.old_context_fichier_init=self.contexte_fichier_init - self.parent.recordUnit(unite,self) + self.parent.record_unit(unite,self) try : - MCFils=self.getChild('FileName') - #MCFils.setValeur(fichier) - #on appelle pas setValeur qui modifie le contexte ce qui fout le bazar + MCFils=self.get_child('FileName') + #MCFils.set_valeur(fichier) + #on appelle pas set_valeur qui modifie le contexte ce qui fout le bazar #pas de modification de bloc MCFils.valeur=fichier MCFils.val=fichier @@ -913,12 +914,12 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): pass except: #else: - self.makeIncl2Except() + self.make_incl2_except() # Cette P*** de ligne suivante ne fonctionne que pour Aster # si quelqu un a une idee merci de m en parler - #CONTEXT.setCurrentStep(self) + #CONTEXT.set_current_step(self) - def makeInclude2(self,fichier=None): + def make_include2(self,fichier=None): # Pour OT # gestion de l unicite SVP unite=999 @@ -928,18 +929,18 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): if hasattr(self,'old_context_fichier_init' ): reevalue=1 for concept in self.old_context_fichier_init.values(): - self.jdc.deleteConcept(concept) + self.jdc.delete_concept(concept) if fichier == None : - fichier=str(self.jdc.appli.getFileVariable()) + fichier=str(self.jdc.appli.get_file_variable()) if fichier == str("") : self.fichier_ini="badfile" self.fichier_text="" self.fichier_err=tr("Le fichier n est pas defini") - self.parent.recordUnit(999,self) + self.parent.record_unit(999,self) try : - MCFils=self.getChild('FileName') - MCFils.setValeur(None) + MCFils=self.get_child('FileName') + MCFils.set_valeur(None) except : pass raise EficasException(self.fichier_err) @@ -967,12 +968,12 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): ligneTexte="%s=DETERMINISTICVARIABLE(N='%s',T='in',R=%d);\n" % (nom, nom, i) self.fichier_text = self.fichier_text + ligneTexte except: - self.makeIncl2Except() + self.make_incl2_except() raise EficasException(" ") if nbVariableOut != 1 : print((nbVariableOut ,"nbVariableOut")) - self.makeIncl2Except(mess=tr("le fichier doit contenir une unique variable de sortie")) + self.make_incl2_except(mess=tr("le fichier doit contenir une unique variable de sortie")) raise EficasException(" ") try: @@ -980,21 +981,21 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): self.JdC_aux=Extensions.jdc_include.JdC_include except: traceback.print_exc() - self.makeIncl2Except() + self.make_incl2_except() raise EficasException(" ") try: print((self.fichier_ini ,self.fichier_text)) - self.makeContexteInclude(self.fichier_ini ,self.fichier_text) + self.make_contexte_include(self.fichier_ini ,self.fichier_text) self.old_context_fichier_init=self.contexte_fichier_init - self.parent.recordUnit(unite,self) + self.parent.record_unit(unite,self) try : - MCFils=self.getChild('FileName') - MCFils.setValeur(fichier) + MCFils=self.get_child('FileName') + MCFils.set_valeur(fichier) except : pass except: - self.makeIncl2Except() + self.make_incl2_except() # recalcul validite pour la matrice eventuelle if reevalue : @@ -1002,47 +1003,47 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): if e.nom == "VARIABLE" : e.state="modified" try : - mc=e.getChild('ModelVariable') + mc=e.get_child('ModelVariable') mc.state="modified" except : pass if e.nom == "CORRELATION" : e.state="modified" try : - mc=e.getChild('Matrix') + mc=e.get_child('Matrix') mc.state="modified" - mcFeuille=mc.getChild('CorrelationMatrix') + mcFeuille=mc.get_child('CorrelationMatrix') mcFeuille.state="modified" except : pass - e.isValid() + e.isvalid() - def makeIncl2Except(self,mess=None): + def make_incl2_except(self,mess=None): l=traceback.format_exception_only(tr("Fichier invalide"),sys.exc_info()[1]) if self.jdc.appli is not None: if mess == None : - self.jdc.appli.afficheAlerte(tr("Erreur lors de l'evaluation du fichier inclus"), + self.jdc.appli.affiche_alerte(tr("Erreur lors de l'evaluation du fichier inclus"), message= tr("Le contenu de ce fichier ne sera pas pris en compte\n %s",\ ''.join(l))) else : - self.jdc.appli.afficheAlerte(tr("Erreur lors de l'evaluation du fichier inclus"), + self.jdc.appli.affiche_alerte(tr("Erreur lors de l'evaluation du fichier inclus"), message=tr(mess)) - #self.parent.recordUnit(unite,self) + #self.parent.record_unit(unite,self) self.g_context={} self.etapes=[] self.jdc_aux=None self.fichier_err = ''.join(l) self.contexte_fichier_init={} try : - MCFils=self.getChild('FileName') - MCFils.setValeur(None) + MCFils=self.get_child('FileName') + MCFils.set_valeur(None) except : pass #ATTENTION SURCHARGE : cette methode surcharge celle de Noyau (a garder en synchro) - def makeInclude(self, unite=None, fname=None): + def make_include(self, unite=None, fname=None): """ Inclut un fichier dont l'unite logique est unite Cette methode est appelee par la fonction sd_prod de la macro INCLUDE @@ -1050,7 +1051,7 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): Sinon on retourne None. Les concepts produits par l'INCLUDE sont pris en compte par le JDC parent lors du calcul du contexte (appel de ???) """ - #print "makeInclude",unite + #print "make_include",unite # On supprime l'attribut unite qui bloque l'evaluation du source de l'INCLUDE # car on ne s'appuie pas sur lui dans EFICAS mais sur l'attribut fichier_ini # Si unite n'a pas de valeur, l'etape est forcement invalide. On peut retourner None @@ -1059,7 +1060,7 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): if not hasattr(self,'fichier_ini') : # Si le fichier n'est pas defini on le demande - f,text=self.getFileMemo(unite=unite, fname=fname, fic_origine=self.parent.nom) + f,text=self.get_file_memo(unite=unite, fname=fname, fic_origine=self.parent.nom) # On memorise le fichier retourne self.fichier_ini = f self.fichier_text = text @@ -1073,21 +1074,21 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): raise EficasException("pb import Extensions") self.JdC_aux=Extensions.jdc_include.JdC_include - #print "makeInclude",self.fichier_ini,self.fichier_text + #print "make_include",self.fichier_ini,self.fichier_text if f is None and not text: self.fichier_err=tr("Le fichier INCLUDE n est pas defini") - self.parent.recordUnit(unite,self) + self.parent.record_unit(unite,self) raise EficasException(self.fichier_err) try: - self.makeContexteInclude(self.fichier_ini ,self.fichier_text) - self.parent.recordUnit(unite,self) + self.make_contexte_include(self.fichier_ini ,self.fichier_text) + self.parent.record_unit(unite,self) except: l=traceback.format_exception_only(tr("Fichier invalide %s",sys.exc_info()[1])) if self.jdc.appli: - self.jdc.appli.afficheAlerte(tr("Erreur lors de l'evaluation du fichier inclus"), + self.jdc.appli.affiche_alerte(tr("Erreur lors de l'evaluation du fichier inclus"), message=tr("Le contenu de ce fichier ne sera pas pris en compte\n"+''.join(l))) - self.parent.recordUnit(unite,self) + self.parent.record_unit(unite,self) self.g_context={} self.etapes=[] self.jdc_aux=None @@ -1098,19 +1099,19 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): else: # Si le fichier est deja defini on ne reevalue pas le fichier # et on leve une exception si une erreur a ete enregistree - self.updateFichierInit(unite) + self.update_fichier_init(unite) self.fichier_unite=unite if self.fichier_err is not None: raise EficasException(self.fichier_err) #ATTENTION SURCHARGE : cette methode surcharge celle de Noyau (a garder en synchro) - def makeContexte(self,fichier,text): + def make_contexte(self,fichier,text): """ Cette methode sert a creer un contexte pour INCLUDE_MATERIAU en interpretant un texte source Python Elle est appelee par la fonction sd_prod d'INCLUDE_MATERIAU """ - #print "makeContexte",fichier + #print "make_contexte",fichier # On supprime l'attribut mat qui bloque l'evaluation du source de l'INCLUDE_MATERIAU # car on ne s'appuie pas sur lui dans EFICAS mais sur l'attribut fichier_ini if hasattr(self,'mat'):del self.mat @@ -1129,7 +1130,7 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): except: raise EficasException(" ") try: - self.makeContexteInclude(self.fichier_ini ,self.fichier_text) + self.make_contexte_include(self.fichier_ini ,self.fichier_text) if not self.nom_mater in self.g_context : #Pour permettre de lire un jeu de commandes avec des INCLUDE_MATERIAU errones self.g_context[self.nom_mater]=None @@ -1153,25 +1154,25 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): if self.fichier_err is not None: raise EficasException(self.fichier_err) #ATTENTION SURCHARGE : cette methode surcharge celle de Noyau (a garder en synchro) - def updateSdprod(self,cr='non'): + def update_sdprod(self,cr='non'): # Cette methode peut etre appelee dans EFICAS avec des mots cles de # la commande modifies. Ceci peut conduire a la construction ou # a la reconstruction d'etapes dans le cas d'INCLUDE ou d'INCLUDE_MATERIAU # Il faut donc positionner le current_step avant l'appel - CONTEXT.unsetCurrentStep() - CONTEXT.setCurrentStep(self) - valid=Validation.V_MACRO_ETAPE.MACRO_ETAPE.updateSdprod(self,cr=cr) - CONTEXT.unsetCurrentStep() + CONTEXT.unset_current_step() + CONTEXT.set_current_step(self) + valid=Validation.V_MACRO_ETAPE.MACRO_ETAPE.update_sdprod(self,cr=cr) + CONTEXT.unset_current_step() return valid #ATTENTION SURCHARGE: cette methode surcharge celle de Noyau a garder en synchro - def buildSd(self,nom): + def Build_sd(self,nom): """ Methode de Noyau surchargee pour poursuivre malgre tout si une erreur se produit pendant la creation du concept produit """ try: - sd=Noyau.N_MACRO_ETAPE.MACRO_ETAPE.buildSd(self,nom) + sd=Noyau.N_MACRO_ETAPE.MACRO_ETAPE.Build_sd(self,nom) except : # return None #except AsException,e: @@ -1190,13 +1191,13 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): return self.sd #ATTENTION SURCHARGE: cette methode surcharge celle de Noyau a garder en synchro - def makePoursuite(self): + def make_poursuite(self): """ Cette methode est appelee par la fonction sd_prod de la macro POURSUITE """ - #print "makePoursuite" + #print "make_poursuite" if not hasattr(self,'fichier_ini') : # Si le fichier n'est pas defini on le demande - f,text=self.getFileMemo(fic_origine=self.parent.nom) + f,text=self.get_file_memo(fic_origine=self.parent.nom) # On memorise le fichier retourne self.fichier_ini = f self.fichier_unite = None @@ -1209,23 +1210,23 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): raise EficasException(" ") self.JdC_aux=Extensions.jdc_include.JdC_poursuite self.contexte_fichier_init={} - #print "makePoursuite",self.fichier_ini,self.fichier_text + #print "make_poursuite",self.fichier_ini,self.fichier_text if f is None: self.fichier_err="Le fichier POURSUITE n'est pas defini" self.jdc_aux=None - self.parent.recordUnit(None,self) + self.parent.record_unit(None,self) raise EficasException(self.fichier_err) try: - self.makeContexteInclude(self.fichier_ini,self.fichier_text) - self.parent.recordUnit(None,self) + self.make_contexte_include(self.fichier_ini,self.fichier_text) + self.parent.record_unit(None,self) except: l=traceback.format_exception_only("Fichier invalide",sys.exc_info()[1]) if self.jdc.appli: - self.jdc.appli.afficheAlerte(tr("Erreur lors de l'evaluation du fichier poursuite"), + self.jdc.appli.affiche_alerte(tr("Erreur lors de l'evaluation du fichier poursuite"), message=tr("Ce fichier ne sera pas pris en compte\n %s",''.join(l))) - self.parent.recordUnit(None,self) + self.parent.record_unit(None,self) self.g_context={} self.etapes=[] self.jdc_aux=None @@ -1236,5 +1237,5 @@ class MACRO_ETAPE(I_ETAPE.ETAPE): else: # Si le fichier est deja defini on ne reevalue pas le fichier # et on leve une exception si une erreur a ete enregistree - self.updateFichierInit(None) + self.update_fichier_init(None) if self.fichier_err is not None: raise EficasException(self.fichier_err) diff --git a/Ihm/I_MCBLOC.py b/Ihm/I_MCBLOC.py index 46f53502..1ee8c2fe 100644 --- a/Ihm/I_MCBLOC.py +++ b/Ihm/I_MCBLOC.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Ihm/I_MCCOMPO.py b/Ihm/I_MCCOMPO.py index cf92a936..4e94ca6b 100644 --- a/Ihm/I_MCCOMPO.py +++ b/Ihm/I_MCCOMPO.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -36,14 +36,14 @@ from . import I_OBJECT from . import CONNECTOR class MCCOMPO(I_OBJECT.OBJECT): - def getLabelText(self): + def getlabeltext(self): """ Retourne le label de self utilise pour l'affichage dans l'arbre """ - return tr(self.nom) + return self.nom - def getListeMcOrdonnee(self,liste,dico): + def get_liste_mc_ordonnee(self,liste,dico): """ Retourne la liste ordonnee (suivant le catalogue) des mots-cles d'une entite composee dont le chemin complet est donne sous forme @@ -51,9 +51,9 @@ class MCCOMPO(I_OBJECT.OBJECT): il faut encore rearranger cette liste (certains mots-cles deja presents ne doivent plus etre proposes, regles ...) """ - return self.filtreListeMc(self.getListeMcOrdonneeBrute(liste,dico)) + return self.filtre_liste_mc(self.get_liste_mc_ordonnee_brute(liste,dico)) - def getListeMcOrdonneeBrute(self,liste,dico): + def get_liste_mc_ordonnee_brute(self,liste,dico): """ Retourne la liste ordonnee (suivant le catalogue) BRUTE des mots-cles d'une entite composee dont le chemin complet est donne sous forme @@ -72,7 +72,7 @@ class MCCOMPO(I_OBJECT.OBJECT): if specifique == 1 : return l return objet_cata.ordre_mc - def filtreListeMc(self,liste_brute): + def filtre_liste_mc(self,liste_brute): """ Cette methode est appelee par EFICAS afin de presenter a l'utilisateur la liste des enfants possibles de self actualisee @@ -82,17 +82,17 @@ class MCCOMPO(I_OBJECT.OBJECT): etre repetes """ liste = copy(liste_brute) - listeMcPresents = self.listeMcPresents() + liste_mc_presents = self.liste_mc_presents() # on enleve les mots-cles non permis par les regles for regle in self.definition.regles: - # la methode purgeListe est a developper pour chaque regle qui + # la methode purge_liste est a developper pour chaque regle qui # influe sur la liste de choix a proposer a l'utilisateur # --> EXCLUS,UN_PARMI,PRESENT_ABSENT - liste = regle.purgeListe(liste,listeMcPresents) + liste = regle.purge_liste(liste,liste_mc_presents) # on enleve les mots-cles dont l'occurrence est deja atteinte liste_copy = copy(liste) for k in liste_copy: - objet = self.getChild(k,restreint = 'oui') + objet = self.get_child(k,restreint = 'oui') if objet != None : # l'objet est deja present : il faut distinguer plusieurs cas if isinstance(objet,MCSIMP): @@ -121,12 +121,12 @@ class MCCOMPO(I_OBJECT.OBJECT): liste.remove(k) if self.definition.entites[k].label=='BLOC': liste.remove(k) - # Pour corriger les exces qui pourraient etre commis dans la methode purgeListe + # Pour corriger les exces qui pourraient etre commis dans la methode purge_liste # des regles, on essaie de compenser comme suit : # on ajoute les mots cles facteurs presents dont l'occurence n'est pas atteinte - for k in listeMcPresents: + for k in liste_mc_presents: if k in liste:continue - objet = self.getChild(k,restreint = 'oui') + objet = self.get_child(k,restreint = 'oui') if isinstance(objet,MCFACT): # un mot-cle facteur ne peut pas etre repete plus de self.max fois if objet.definition.max > 1: @@ -137,25 +137,25 @@ class MCCOMPO(I_OBJECT.OBJECT): liste.append(k) return liste - def listeMcPresents(self): + def liste_mc_presents(self): """ Retourne la liste des noms des mots-cles fils de self presents construite - a partir de self.mcListe + a partir de self.mc_liste """ l=[] - for v in self.mcListe: + for v in self.mc_liste: k=v.nom l.append(k) return l - def getIndexChild(self,nom_fils): + def get_index_child(self,nom_fils): """ Retourne l'index dans la liste des fils de self du nouveau fils de nom nom_fils Permet de savoir a quelle position il faut ajouter un nouveau mot-cle """ cata_ordonne = self.jdc.cata_ordonne_dico - liste_noms_mc_ordonnee = self.getListeMcOrdonneeBrute(self.getGenealogie(),cata_ordonne) - liste_noms_mc_presents = self.listeMcPresents() + liste_noms_mc_ordonnee = self.get_liste_mc_ordonnee_brute(self.get_genealogie(),cata_ordonne) + liste_noms_mc_presents = self.liste_mc_presents() index=0 for nom in liste_noms_mc_ordonnee: if nom == nom_fils:break @@ -163,27 +163,15 @@ class MCCOMPO(I_OBJECT.OBJECT): index=index+1 return index - def findRangObjetDsArbre(self,objet) : - # uniquement pour Pyxb - # parcourt les Blocs - leRang=0 - pos=self.mcListe.index(objet) - i=0 - while (i+1) < pos : - leRang= leRang + self.mcListe[i].longueurDsArbre() - i=i+1 - return leRang - - - def ordonneListeMc(self,listeMc_a_ordonner,liste_noms_mc_ordonnee): + def ordonne_liste_mc(self,liste_mc_a_ordonner,liste_noms_mc_ordonnee): """ - Retourne listeMc_a_ordonner ordonnee suivant l'ordre + Retourne liste_mc_a_ordonner ordonnee suivant l'ordre donne par liste_noms_mc_ordonnee """ liste = [] # on transforme liste_a_ordonner en un dictionnaire (plus facile a consulter) d_mc = {} - for mc in listeMc_a_ordonner: + for mc in liste_mc_a_ordonner: d_mc[mc.nom]=mc # on construit la liste des objets ordonnes for nom_mc in liste_noms_mc_ordonnee: @@ -192,87 +180,85 @@ class MCCOMPO(I_OBJECT.OBJECT): # on la retourne return liste - def suppEntite(self,objet) : + def suppentite(self,objet) : """ Supprime le fils 'objet' de self : Retourne 1 si la suppression a pu etre effectuee, Retourne 0 dans le cas contraire """ - if not objet in self.mcListe: - # Impossible de supprimer objet. Il n'est pas dans mcListe + if not objet in self.mc_liste: + # Impossible de supprimer objet. Il n'est pas dans mc_liste return 0 - self.initModif() - #objet.deletePyxbObject() - self.mcListe.remove(objet) + self.init_modif() + self.mc_liste.remove(objet) CONNECTOR.Emit(self,"supp",objet) - objet.deleteMcGlobal() - objet.updateConditionBloc() + objet.delete_mc_global() + objet.update_condition_bloc() objet.supprime() self.etape.modified() - self.finModif() + self.fin_modif() return 1 - def isOblig(self): + def isoblig(self): return 0 - def addEntite(self,name,pos=None): + def addentite(self,name,pos=None): """ Ajoute le mot-cle name a la liste des mots-cles de l'objet MCCOMPOSE """ - self.initModif() - if type(name)==bytes or type(name) == str : + self.init_modif() + if type(name)==bytes : # on est en mode creation d'un motcle if self.ispermis(name) == 0 : return 0 objet=self.definition.entites[name](val=None,nom=name,parent=self) else : # dans ce cas on est en mode copie d'un motcle + objet = name # Appel de la methode qui fait le menage dans les references # sur les concepts produits (verification que les concepts existent # dans le contexte de la commande courante). - objet = name - objet.verifExistenceSd() + objet.verif_existence_sd() # On verifie que l'ajout d'objet est autorise if self.ispermis(objet) == 0: - self.jdc.appli.afficheAlerte(tr("Erreur"), + self.jdc.appli.affiche_alerte(tr("Erreur"), tr("L'objet %(v_1)s ne peut etre un fils de %(v_2)s",\ {'v_1': objet.nom, 'v_2': self.nom})) - self.finModif() + self.fin_modif() return 0 # On cherche s'il existe deja un mot cle de meme nom - old_obj = self.getChild(objet.nom,restreint = 'oui') + old_obj = self.get_child(objet.nom,restreint = 'oui') if not old_obj : # on normalize l'objet objet=objet.normalize() # Le mot cle n'existe pas encore. On l'ajoute a la position # demandee (pos) if pos == None : - self.mcListe.append(objet) + self.mc_liste.append(objet) else : - self.mcListe.insert(pos,objet) + self.mc_liste.insert(pos,objet) # Il ne faut pas oublier de reaffecter le parent d'obj (si copie) objet.reparent(self) - #objet.addPyxbObject(self.findRangObjetDsArbre(objet)) CONNECTOR.Emit(self,"add",objet) - objet.updateMcGlobal() - objet.updateConditionBloc() - self.finModif() + objet.update_mc_global() + objet.update_condition_bloc() + self.fin_modif() return objet else: # Le mot cle existe deja. Si le mot cle est repetable, # on cree une liste d'objets. Dans le cas contraire, # on emet un message d'erreur. - if not old_obj.isRepetable(): - self.jdc.appli.afficheAlerte(tr("Erreur"),tr("L'objet %s ne peut pas etre repete", objet.nom)) - self.finModif() + if not old_obj.isrepetable(): + self.jdc.appli.affiche_alerte(tr("Erreur"),tr("L'objet %s ne peut pas etre repete", objet.nom)) + self.fin_modif() return 0 else: # une liste d'objets de meme type existe deja - old_obj.addEntite(objet) - self.finModif() + old_obj.addentite(objet) + self.fin_modif() return old_obj def ispermis(self,fils): @@ -281,7 +267,7 @@ class MCCOMPO(I_OBJECT.OBJECT): est bien permis, cad peut bien etre un fils de self, Retourne 0 sinon """ - if type(fils) == bytes or type(fils) == str : + if type(fils) == bytes : # on veut juste savoir si self peut avoir un fils de nom 'fils' if fils in self.definition.entites: return 1 @@ -301,11 +287,11 @@ class MCCOMPO(I_OBJECT.OBJECT): if fils.parent.nom != self.nom : return 0 return 1 - def updateConcept(self,sd): - for child in self.mcListe : - child.updateConcept(sd) + def update_concept(self,sd): + for child in self.mc_liste : + child.update_concept(sd) - def deleteConcept(self,sd): + def delete_concept(self,sd): """ Inputs : - sd=concept detruit @@ -315,10 +301,10 @@ class MCCOMPO(I_OBJECT.OBJECT): Seuls les mots cles simples MCSIMP font un traitement autre que de transmettre aux fils """ - for child in self.mcListe : - child.deleteConcept(sd) + for child in self.mc_liste : + child.delete_concept(sd) - def replaceConcept(self,old_sd,sd): + def replace_concept(self,old_sd,sd): """ Inputs : - old_sd=concept remplace @@ -327,10 +313,10 @@ class MCCOMPO(I_OBJECT.OBJECT): Mettre a jour les fils de l objet suite au remplacement du concept old_sd """ - for child in self.mcListe : - child.replaceConcept(old_sd,sd) + for child in self.mc_liste : + child.replace_concept(old_sd,sd) - def getListeMcInconnus(self): + def get_liste_mc_inconnus(self): """ Retourne la liste des mots-cles inconnus dans self """ @@ -338,56 +324,56 @@ class MCCOMPO(I_OBJECT.OBJECT): if self.reste_val != {}: for k,v in self.reste_val.items() : l_mc.append([self,k,v]) - for child in self.mcListe : - if child.isValid() : continue - l_child = child.getListeMcInconnus() + for child in self.mc_liste : + if child.isvalid() : continue + l_child = child.get_liste_mc_inconnus() for mc in l_child: l = [self] l.extend(mc) l_mc.append(l) return l_mc - def deepUpdateConditionBloc(self): + def deep_update_condition_bloc(self): """ Parcourt l'arborescence des mcobject et realise l'update - des blocs conditionnels par appel de la methode updateConditionBloc + des blocs conditionnels par appel de la methode update_condition_bloc """ - self._updateConditionBloc() - for mcobj in self.mcListe: - if hasattr(mcobj,"deepUpdateConditionBloc"): - mcobj.deepUpdateConditionBloc() + self._update_condition_bloc() + for mcobj in self.mc_liste: + if hasattr(mcobj,"deep_update_condition_bloc"): + mcobj.deep_update_condition_bloc() - def updateConditionBloc(self): + def update_condition_bloc(self): """ Realise l'update des blocs conditionnels fils de self et propage au parent """ - self._updateConditionBloc() - if self.parent:self.parent.updateConditionBloc() + self._update_condition_bloc() + if self.parent:self.parent.update_condition_bloc() - def _updateConditionBloc(self): + def _update_condition_bloc(self): """ Realise l'update des blocs conditionnels fils de self """ - dict = self.creeDictCondition(self.mcListe,condition=1) + dict = self.cree_dict_condition(self.mc_liste,condition=1) for k,v in self.definition.entites.items(): if v.label != 'BLOC' :continue globs= self.jdc and self.jdc.condition_context or {} - bloc=self.getChild(k,restreint = 'oui') - presence=v.verifPresence(dict,globs) + bloc=self.get_child(k,restreint = 'oui') + presence=v.verif_presence(dict,globs) if presence and not bloc: # le bloc doit etre present # mais le bloc n'est pas present et il doit etre cree #print "AJOUT BLOC",k - pos=self.getIndexChild(k) - self.addEntite(k,pos) + pos=self.get_index_child(k) + self.addentite(k,pos) if not presence and bloc: # le bloc devrait etre absent # le bloc est present : il faut l'enlever #print "SUPPRESSION BLOC",k,bloc - self.suppEntite(bloc) + self.suppentite(bloc) - def verifConditionBloc(self): + def verif_condition_bloc(self): """ Evalue les conditions de tous les blocs fils possibles (en fonction du catalogue donc de la definition) de self @@ -397,49 +383,49 @@ class MCCOMPO(I_OBJECT.OBJECT): """ liste_ajouts = [] liste_retraits = [] - dict = self.creeDictCondition(self.mcListe,condition=1) + dict = self.cree_dict_condition(self.mc_liste,condition=1) for k,v in self.definition.entites.items(): if v.label=='BLOC' : globs= self.jdc and self.jdc.condition_context or {} - if v.verifPresence(dict,globs): + if v.verif_presence(dict,globs): # le bloc doit etre present - if not self.getChild(k,restreint = 'oui'): + if not self.get_child(k,restreint = 'oui'): # le bloc n'est pas present et il doit etre cree liste_ajouts.append(k) else : # le bloc doit etre absent - if self.getChild(k,restreint = 'oui'): + if self.get_child(k,restreint = 'oui'): # le bloc est present : il faut l'enlever liste_retraits.append(k) return liste_ajouts,liste_retraits - def verifExistenceSd(self): + def verif_existence_sd(self): """ Verifie que les structures de donnees utilisees dans self existent bien dans le contexte avant etape, sinon enleve la reference a ces concepts """ - for motcle in self.mcListe : - motcle.verifExistenceSd() + for motcle in self.mc_liste : + motcle.verif_existence_sd() - def updateMcGlobal(self): + def update_mc_global(self): """ Met a jour les mots cles globaux enregistres dans l'etape parente et dans le jdc parent. Un mot cle compose ne peut pas etre global. Il se contente de passer la requete a ses fils. """ - for motcle in self.mcListe : - motcle.updateMcGlobal() + for motcle in self.mc_liste : + motcle.update_mc_global() - def deleteMcGlobal(self): - for motcle in self.mcListe : - motcle.deleteMcGlobal() + def delete_mc_global(self): + for motcle in self.mc_liste : + motcle.delete_mc_global() try : - motcle.updateMcGlobal() + motcle.update_mc_global() except : pass - def initModifUp(self): - Validation.V_MCCOMPO.MCCOMPO.initModifUp(self) + def init_modif_up(self): + Validation.V_MCCOMPO.MCCOMPO.init_modif_up(self) CONNECTOR.Emit(self,"valid") diff --git a/Ihm/I_MCFACT.py b/Ihm/I_MCFACT.py index b0d49fe9..fc7d4a9f 100644 --- a/Ihm/I_MCFACT.py +++ b/Ihm/I_MCFACT.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -24,7 +24,7 @@ from . import I_MCCOMPO import Noyau class MCFACT(I_MCCOMPO.MCCOMPO): - def isRepetable(self): + def isrepetable(self): """ Indique si l'objet est repetable. Retourne 1 si le mot-cle facteur self peut etre repete @@ -36,51 +36,44 @@ class MCFACT(I_MCCOMPO.MCCOMPO): else : return 0 - def isOblig(self): + def isoblig(self): if self.definition.statut != 'o' : return 0 - objet = self.parent.getChild(self.nom) + objet = self.parent.get_child(self.nom) if len(objet) > 1 : return 0 else : return 1 - def getMinMax(self): - """ - Retourne les valeurs min et max admissibles pour la valeur de self - """ - return self.definition.min,self.definition.max - - - def getLabelText(self): + def getlabeltext(self): """ Retourne le label de self suivant qu'il s'agit d'un MCFACT isole ou d'un MCFACT appartenant a une MCList : utilisee pour l'affichage dans l'arbre """ - objet = self.parent.getChild(self.nom, restreint='oui') + objet = self.parent.get_child(self.nom) # objet peut-etre self ou une MCList qui contient self ... if objet is None or objet is self: return tr("Erreur - mclist inexistante : %s", self.nom) try: if len(objet) > 1 : - index = objet.getIndex(self)+1 # + 1 a cause de la numerotation qui commence a 0 - return tr(self.nom) +'_'+repr(index)+':' + index = objet.get_index(self)+1 # + 1 a cause de la numerotation qui commence a 0 + return self.nom +'_'+repr(index)+':' else: - return tr(self.nom) + return self.nom except: return tr("Erreur - mot cle facteur de nom : %s", self.nom) - def getGenealogiePrecise(self): - nom=self.getLabelText() + def get_genealogie_precise(self): + nom=self.getlabeltext() if nom[-1]==':' : nom=nom[0:-1] if self.parent: - l=self.parent.getGenealogiePrecise() + l=self.parent.get_genealogie_precise() l.append(nom.strip()) return l else: return [nom.strip()] - def initModif(self): + def init_modif(self): """ Met l'etat de l'objet a modified et propage au parent qui vaut None s'il n'existe pas @@ -88,20 +81,20 @@ class MCFACT(I_MCCOMPO.MCCOMPO): self.state = 'modified' parent= hasattr(self,"alt_parent") and self.alt_parent or self.parent if parent: - parent.initModif() + parent.init_modif() - def finModif(self): + def fin_modif(self): """ Methode appelee apres qu'une modification a ete faite afin de declencher d'eventuels traitements post-modification """ - #print "finModif",self + #print "fin_modif",self # pour les objets autres que les commandes, aucun traitement specifique # on remonte l'info de fin de modif au parent CONNECTOR.Emit(self,"valid") parent= hasattr(self,"alt_parent") and self.alt_parent or self.parent if parent: - parent.finModif() + parent.fin_modif() def normalize(self): """ Retourne le MCFACT normalise. Pour un MCFACT isole, l'objet normalise diff --git a/Ihm/I_MCLIST.py b/Ihm/I_MCLIST.py index 84792a8d..4765d8fc 100644 --- a/Ihm/I_MCLIST.py +++ b/Ihm/I_MCLIST.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -31,13 +31,13 @@ class MCList: """ return 1 - def getIndex(self,objet): + def get_index(self,objet): """ Retourne la position d'objet dans la liste self """ return self.data.index(objet) - def ajoutPossible(self): + def ajout_possible(self): """ Methode booleenne qui retourne 1 si on peut encore ajouter une occurrence de l'element que contient self, 0 sinon @@ -51,7 +51,7 @@ class MCList: else: return 0 - def isRepetable(self): + def isrepetable(self): """ Indique si l'objet est repetable. Retourne 1 si le mot-cle facteur self peut etre repete @@ -63,40 +63,39 @@ class MCList: else : return 0 - def isOblig(self): + def isoblig(self): """ Une MCList n'est jamais obligatoire (meme si le MCFACT qu'elle represente l'est """ return self.data[0].definition.statut=='o' - def suppEntite(self,obj): + def suppentite(self,obj): """ Supprime le mot cle facteur obj de la MCLIST """ if obj not in self: return 0 - self.initModif() + self.init_modif() self.remove(obj) CONNECTOR.Emit(self,"supp",obj) - self.updateConditionBloc() - #obj.deletePyxbObject() + self.update_condition_bloc() obj.supprime() self.etape.modified() - self.finModif() + self.fin_modif() return 1 - def addEntite(self,obj,pos=None): + def addentite(self,obj,pos=None): """ Ajoute le mot cle facteur obj a la MCLIST a la position pos Retourne None si l'ajout est impossible """ - if type(obj)==bytes or type(obj) == str : + if type(obj)==bytes : # on est en mode creation d'un motcle raise EficasException(tr("traitement non-prevu")) - if not self.ajoutPossible(): - self.jdc.appli.afficheAlerte(tr("Erreur"), + if not self.ajout_possible(): + self.jdc.appli.affiche_alerte(tr("Erreur"), tr("L'objet %s ne peut pas etre ajoute", obj.nom)) return None @@ -106,28 +105,28 @@ class MCList: if obj.isMCList(): obj=obj.data[0] - # traitement du copier coller seulement + # Traitement du copier coller seulement # Les autres cas d'ajout sont traites dans MCFACT - self.initModif() - obj.verifExistenceSd() + self.init_modif() + obj.verif_existence_sd() obj.reparent(self.parent) if pos is None: self.append(obj) else: self.insert(pos,obj) CONNECTOR.Emit(self,"add",obj) - self.finModif() - self.updateConditionBloc() + self.fin_modif() + self.update_condition_bloc() return obj - def listeMcPresents(self): + def liste_mc_presents(self): return [] - def updateConcept(self,sd): + def update_concept(self,sd): for child in self.data : - child.updateConcept(sd) + child.update_concept(sd) - def deleteConcept(self,sd): + def delete_concept(self,sd): """ Inputs : - sd=concept detruit @@ -137,9 +136,9 @@ class MCList: que de transmettre aux fils """ for child in self.data : - child.deleteConcept(sd) + child.delete_concept(sd) - def replaceConcept(self,old_sd,sd): + def replace_concept(self,old_sd,sd): """ Inputs : - old_sd=concept remplace @@ -148,26 +147,26 @@ class MCList: du concept old_sd """ for child in self.data : - child.replaceConcept(old_sd,sd) + child.replace_concept(old_sd,sd) - def getDocu(self): - return self.data[0].definition.getDocu() + def get_docu(self): + return self.data[0].definition.get_docu() - def getListeMcInconnus(self): + def get_liste_mc_inconnus(self): """ Retourne la liste des mots-cles inconnus dans self """ l_mc = [] for mcfact in self.data : - if mcfact.isValid() : continue - l_child = mcfact.getListeMcInconnus() + if mcfact.isvalid() : continue + l_child = mcfact.get_liste_mc_inconnus() for mc in l_child: l = [self] l.extend(mc) l_mc.append(l) return l_mc - def verifConditionRegles(self,liste_presents): + def verif_condition_regles(self,liste_presents): """ Retourne la liste des mots-cles a rajouter pour satisfaire les regles en fonction de la liste des mots-cles presents @@ -175,23 +174,23 @@ class MCList: # Sans objet pour une liste de mots cles facteurs return [] - def deepUpdateConditionBloc(self): + def deep_update_condition_bloc(self): """ Parcourt l'arborescence des mcobject et realise l'update - des blocs conditionnels par appel de la methode updateConditionBloc + des blocs conditionnels par appel de la methode update_condition_bloc """ - #print "deepUpdateConditionBloc",self + #print "deep_update_condition_bloc",self for mcfact in self.data : - mcfact.deepUpdateConditionBloc() + mcfact.deep_update_condition_bloc() - def updateConditionBloc(self): + def update_condition_bloc(self): """ Propage la mise a jour des conditions au parent. Une liste ne fait pas de traitement sur les conditions """ - if self.parent: self.parent.updateConditionBloc() + if self.parent: self.parent.update_condition_bloc() - def verifConditionBloc(self): + def verif_condition_bloc(self): """ Evalue les conditions de tous les blocs fils possibles (en fonction du catalogue donc de la definition) de self et @@ -202,43 +201,43 @@ class MCList: # Sans objet pour une liste de mots cles facteurs (a voir !!!) return [],[] - def initModif(self): + def init_modif(self): """ Met l'etat de l'objet a modified et propage au parent qui vaut None s'il n'existe pas """ self.state = 'modified' if self.parent: - self.parent.initModif() + self.parent.init_modif() - def finModif(self): + def fin_modif(self): """ Methode appelee apres qu'une modification a ete faite afin de declencher d'eventuels traitements post-modification """ - #print "finModif",self + #print "fin_modif",self CONNECTOR.Emit(self,"valid") if self.parent: - self.parent.finModif() + self.parent.fin_modif() - def getGenealogiePrecise(self): + def get_genealogie_precise(self): if self.parent: - return self.parent.getGenealogiePrecise() + return self.parent.get_genealogie_precise() else: return [] - def getGenealogie(self): + def get_genealogie(self): """ Retourne la liste des noms des ascendants. Un objet MCList n'est pas enregistre dans la genealogie. XXX Meme si le MCFACT fils ne l'est pas lui non plus ???? """ if self.parent: - return self.parent.getGenealogie() + return self.parent.get_genealogie() else: return [] - def getListeMcOrdonneeBrute(self,liste,dico): + def get_liste_mc_ordonnee_brute(self,liste,dico): """ Retourne la liste ordonnee (suivant le catalogue) BRUTE des mots-cles d'une entite composee dont le chemin complet est donne sous forme @@ -249,21 +248,21 @@ class MCList: dico=objet_cata.entites return objet_cata.ordre_mc - def verifExistenceSd(self): + def verif_existence_sd(self): """ Verifie que les structures de donnees utilisees dans self existent bien dans le contexte avant etape, sinon enleve la reference a ces concepts """ for motcle in self.data : - motcle.verifExistenceSd() + motcle.verif_existence_sd() - def getFr(self): + def get_fr(self): """ Retourne la chaine d'aide contenue dans le catalogue en tenant compte de la langue """ try : - return self.data[0].getFr() + return self.data[0].get_fr() except: return '' @@ -273,7 +272,7 @@ class MCList: """ return self - def updateMcGlobal(self): + def update_mc_global(self): """ Met a jour les mots cles globaux enregistres dans l'etape parente et dans le jdc parent. @@ -281,11 +280,11 @@ class MCList: la requete a ses fils. """ for motcle in self.data : - motcle.updateMcGlobal() + motcle.update_mc_global() - def deleteMcGlobal(self): + def delete_mc_global(self): for motcle in self.data : - motcle.deleteMcGlobal() + motcle.delete_mc_global() #def __del__(self): # print "__del__",self diff --git a/Ihm/I_MCSIMP.py b/Ihm/I_MCSIMP.py index 15462a1d..53067a77 100644 --- a/Ihm/I_MCSIMP.py +++ b/Ihm/I_MCSIMP.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -57,34 +57,33 @@ from .I_VALIDATOR import ValError,listProto class MCSIMP(I_OBJECT.OBJECT): - def isValid(self,cr='non'): + def isvalid(self,cr='non'): if self.state == 'unchanged': return self.valid for type_permis in self.definition.type: if hasattr(type_permis, "__class__") and type_permis.__class__.__name__ == 'Matrice': self.monType=type_permis return self.valideMatrice(cr=cr) - validite=Validation.V_MCSIMP.MCSIMP.isValid(self,cr=cr) - if self.definition.siValide != None and validite: + if self.definition.siValide != None : self.definition.siValide(self) - return validite + return Validation.V_MCSIMP.MCSIMP.isvalid(self,cr=cr) - def getNomConcept(self): + def GetNomConcept(self): p=self while p.parent : try : - nomconcept=p.getSdname() + nomconcept=p.get_sdname() return nomconcept except: try : - nomconcept= p.object.getSdname() + nomconcept= p.object.get_sdname() return nomconcept except : pass p=p.parent return "" - def getText(self): + def GetText(self): """ Retourne le texte a afficher dans l'arbre representant la valeur de l'objet pointe par self @@ -93,20 +92,20 @@ class MCSIMP(I_OBJECT.OBJECT): if self.valeur == None : return None elif type(self.valeur) == float : - # traitement d'un flottant isole + # Traitement d'un flottant isole txt = str(self.valeur) - clefobj=self.getNomConcept() + clefobj=self.GetNomConcept() if clefobj in self.jdc.appli.appliEficas.dict_reels : if self.valeur in self.jdc.appli.appliEficas.dict_reels[clefobj]: txt=self.jdc.appli.appliEficas.dict_reels[clefobj][self.valeur] elif type(self.valeur) in (list,tuple) : if self.valeur==[] or self.valeur == (): return str(self.valeur) - # traitement des listes + # Traitement des listes txt='(' sep='' for val in self.valeur: if type(val) == float : - clefobj=self.getNomConcept() + clefobj=self.GetNomConcept() if clefobj in self.jdc.appli.appliEficas.dict_reels: if val in self.jdc.appli.appliEficas.dict_reels[clefobj]: txt=txt + sep +self.jdc.appli.appliEficas.dict_reels[clefobj][val] @@ -118,11 +117,11 @@ class MCSIMP(I_OBJECT.OBJECT): if isinstance(val,tuple): texteVal='(' for i in val : - if isinstance(i, bytes) or isinstance(i,str) : texteVal = texteVal +"'"+str(i)+"'," + if isinstance(i, bytes) : texteVal = texteVal +"'"+str(i)+"'," else : texteVal = texteVal + str(i)+',' texteVal=texteVal[:-1]+')' else : - if isinstance(val,bytes) or isinstance(val, str): texteVal="'"+str(val)+"'" + if isinstance(val,bytes): texteVal="'"+str(val)+"'" else :texteVal=str(val) txt = txt + sep+ texteVal @@ -135,7 +134,7 @@ class MCSIMP(I_OBJECT.OBJECT): if isinstance(val,tuple) and len(self.valeur) == 1 : txt=txt+',' txt=txt+')' else: - # traitement des autres cas + # Traitement des autres cas txt = str(self.valeur) # txt peut etre une longue chaine sur plusieurs lignes. @@ -145,19 +144,19 @@ class MCSIMP(I_OBJECT.OBJECT): # Pour le moment on retourne la chaine telle que return txt - def getVal(self): + def getval(self): """ Retourne une chaine de caractere representant la valeur de self """ val=self.valeur if type(val) == float : - clefobj=self.getNomConcept() + clefobj=self.GetNomConcept() if clefobj in self.jdc.appli.appliEficas.dict_reels : if val in self.jdc.appli.appliEficas.appliEficas.dict_reels[clefobj] : return self.jdc.appli.appliEficas.dict_reels[clefobj][val] if type(val) != tuple : try: - return val.getName() + return val.get_name() except: return val else : @@ -165,13 +164,13 @@ class MCSIMP(I_OBJECT.OBJECT): s='( ' for item in val : try : - s=s+item.getName()+',' + s=s+item.get_name()+',' except: s=s+repr(item)+',' s=s+' )' return s - def waitBool(self): + def wait_bool(self): for typ in self.definition.type: try : if typ == bool: return True @@ -179,7 +178,7 @@ class MCSIMP(I_OBJECT.OBJECT): pass return False - def waitCo(self): + def wait_co(self): """ Methode booleenne qui retourne 1 si l'objet attend un objet ASSD qui n'existe pas encore (type CO()), 0 sinon @@ -190,7 +189,7 @@ class MCSIMP(I_OBJECT.OBJECT): return 1 return 0 - def waitAssd(self): + def wait_assd(self): """ Methode booleenne qui retourne 1 si le MCS attend un objet de type ASSD ou derive, 0 sinon @@ -201,7 +200,7 @@ class MCSIMP(I_OBJECT.OBJECT): return 1 return 0 - def waitAssdOrGeom(self): + def wait_assd_or_geom(self): """ Retourne 1 si le mot-cle simple attend un objet de type assd, ASSD, geom ou GEOM @@ -213,7 +212,7 @@ class MCSIMP(I_OBJECT.OBJECT): return 1 return 0 - def waitGeom(self): + def wait_geom(self): """ Retourne 1 si le mot-cle simple attend un objet de type GEOM Retourne 0 dans le cas contraire @@ -224,7 +223,7 @@ class MCSIMP(I_OBJECT.OBJECT): return 0 - def waitTxm(self): + def wait_TXM(self): """ Retourne 1 si le mot-cle simple attend un objet de type TXM Retourne 0 dans le cas contraire @@ -233,14 +232,7 @@ class MCSIMP(I_OBJECT.OBJECT): if typ == 'TXM' :return 1 return 0 - def waitTuple(self): - for ss_type in self.definition.type: - if repr(ss_type).find('Tuple') != -1 : - return 1 - return 0 - - - def getListeValeurs(self): + def get_liste_valeurs(self): """ """ if self.valeur == None: @@ -252,7 +244,7 @@ class MCSIMP(I_OBJECT.OBJECT): else: return [self.valeur] - def isOblig(self): + def isoblig(self): return self.definition.statut=='o' def isImmuable(self): @@ -263,7 +255,7 @@ class MCSIMP(I_OBJECT.OBJECT): - def validVal(self,valeur): + def valid_val(self,valeur): """ Verifie que la valeur passee en argument (valeur) est valide sans modifier la valeur courante @@ -286,15 +278,15 @@ class MCSIMP(I_OBJECT.OBJECT): valid=0 return valid,mess - def validValeur(self,new_valeur): + def valid_valeur(self,new_valeur): """ Verifie que la valeur passee en argument (new_valeur) est valide - sans modifier la valeur courante (evite d'utiliser setValeur et est plus performant) + sans modifier la valeur courante (evite d'utiliser set_valeur et est plus performant) """ - validite,mess=self.validVal(new_valeur) + validite,mess=self.valid_val(new_valeur) return validite - def validValeurPartielle(self,new_valeur): + def valid_valeur_partielle(self,new_valeur): """ Verifie que la valeur passee en argument (new_valeur) est une liste partiellement valide sans modifier la valeur courante du mot cle @@ -306,44 +298,43 @@ class MCSIMP(I_OBJECT.OBJECT): self.intoProto.adapt(val) #on ne verifie pas la cardinalite if self.definition.validators: - validite=self.definition.validators.valideListePartielle(new_valeur) + validite=self.definition.validators.valide_liste_partielle(new_valeur) except ValError as e: validite=0 return validite - def updateConditionBloc(self): + def update_condition_bloc(self): """ Met a jour les blocs conditionnels dependant du mot cle simple self """ if self.definition.position == 'global' : - self.etape.deepUpdateConditionBloc() + self.etape.deep_update_condition_bloc() elif self.definition.position == 'global_jdc' : - self.jdc.deepUpdateConditionBloc() + self.jdc.deep_update_condition_bloc() else: - self.parent.updateConditionBloc() + self.parent.update_condition_bloc() - def setValeur(self,new_valeur,evaluation='oui'): - #print ("setValeur Ihm/IMCSIMP ",new_valeur) - self.initModif() + def set_valeur(self,new_valeur,evaluation='oui'): + #print "set_valeur",new_valeur + self.init_modif() self.valeur = new_valeur self.val = new_valeur - #self.setValeurObjPyxb(new_valeur) - self.updateConditionBloc() + self.update_condition_bloc() self.etape.modified() - self.finModif() + self.fin_modif() return 1 - def evalValeur(self,new_valeur): + def eval_valeur(self,new_valeur): """ Essaie d'evaluer new_valeur comme une SD, une declaration Python ou un EVAL: Retourne la valeur evaluee (ou None) et le test de reussite (1 ou 0) """ - sd = self.jdc.getSdAvantEtape(new_valeur,self.etape) - #sd = self.jdc.getContexteAvant(self.etape).get(new_valeur,None) + sd = self.jdc.get_sd_avant_etape(new_valeur,self.etape) + #sd = self.jdc.get_contexte_avant(self.etape).get(new_valeur,None) #print sd if sd is not None: return sd,1 - lsd = self.jdc.chercheListAvant(self.etape,new_valeur) + lsd = self.jdc.cherche_list_avant(self.etape,new_valeur) if lsd : return lsd,1 else: @@ -354,7 +345,7 @@ class MCSIMP(I_OBJECT.OBJECT): objet = eval(new_valeur,d) return objet,1 except Exception: - itparam=self.chercheItemParametre(new_valeur) + itparam=self.cherche_item_parametre(new_valeur) if itparam: return itparam,1 try : @@ -364,33 +355,33 @@ class MCSIMP(I_OBJECT.OBJECT): if CONTEXT.debug : traceback.print_exc() return None,0 - def evalVal(self,new_valeur): + def eval_val(self,new_valeur): """ - Tente d'evaluer new_valeur comme un objet du jdc (par appel a evalValItem) + Tente d'evaluer new_valeur comme un objet du jdc (par appel a eval_val_item) ou comme une liste de ces memes objets Si new_valeur contient au moins un separateur (,), tente l'evaluation sur la chaine splittee """ if new_valeur in ('True','False') and 'TXM' in self.definition.type : - valeur=self.evalValItem(str(new_valeur)) + valeur=self.eval_val_item(str(new_valeur)) return new_valeur if type(new_valeur) in (list,tuple): valeurretour=[] for item in new_valeur : - valeurretour.append(self.evalValItem(item)) + valeurretour.append(self.eval_val_item(item)) return valeurretour else: - valeur=self.evalValItem(new_valeur) + valeur=self.eval_val_item(new_valeur) return valeur - def evalValItem(self,new_valeur): + def eval_val_item(self,new_valeur): """ Tente d'evaluer new_valeur comme un concept, un parametre, un objet Python Si c'est impossible retourne new_valeur inchange argument new_valeur : string (nom de concept, de parametre, expression ou simple chaine) """ if self.etape and self.etape.parent: - valeur=self.etape.parent.evalInContext(new_valeur,self.etape) + valeur=self.etape.parent.eval_in_context(new_valeur,self.etape) return valeur else: try : @@ -401,30 +392,30 @@ class MCSIMP(I_OBJECT.OBJECT): return new_valeur pass - def chercheItemParametre (self,new_valeur): + def cherche_item_parametre (self,new_valeur): try: nomparam=new_valeur[0:new_valeur.find("[")] indice=new_valeur[new_valeur.find(u"[")+1:new_valeur.find(u"]")] for p in self.jdc.params: if p.nom == nomparam : - if int(indice) < len(p.getValeurs()): + if int(indice) < len(p.get_valeurs()): itparam=parametre.ITEM_PARAMETRE(p,int(indice)) return itparam return None except: return None - def updateConcept(self,sd): + def update_concept(self,sd): if type(self.valeur) in (list,tuple) : if sd in self.valeur: - self.initModif() - self.finModif() + self.init_modif() + self.fin_modif() else: if sd == self.valeur: - self.initModif() - self.finModif() + self.init_modif() + self.fin_modif() - def deleteConcept(self,sd): + def delete_concept(self,sd): """ Inputs : - sd=concept detruit @@ -435,21 +426,21 @@ class MCSIMP(I_OBJECT.OBJECT): """ if type(self.valeur) == tuple : if sd in self.valeur: - self.initModif() + self.init_modif() self.valeur=list(self.valeur) self.valeur.remove(sd) - self.finModif() + self.fin_modif() elif type(self.valeur) == list: if sd in self.valeur: - self.initModif() + self.init_modif() self.valeur.remove(sd) - self.finModif() + self.fin_modif() else: if self.valeur == sd: - self.initModif() + self.init_modif() self.valeur=None self.val=None - self.finModif() + self.fin_modif() # Glut Horrible pour les matrices ??? if sd.__class__.__name__== "variable": for type_permis in self.definition.type: @@ -457,10 +448,10 @@ class MCSIMP(I_OBJECT.OBJECT): # a voir en python 3 if type_permis.__class__.__name__ == 'Matrice' : self.state="changed" - self.isValid() + self.isvalid() - def replaceConcept(self,old_sd,sd): + def replace_concept(self,old_sd,sd): """ Inputs : - old_sd=concept remplace @@ -469,39 +460,39 @@ class MCSIMP(I_OBJECT.OBJECT): Met a jour la valeur du mot cle simple suite au remplacement du concept old_sd """ - #print "replaceConcept",old_sd,sd + #print "replace_concept",old_sd,sd if type(self.valeur) == tuple : if old_sd in self.valeur: - self.initModif() + self.init_modif() self.valeur=list(self.valeur) i=self.valeur.index(old_sd) self.valeur[i]=sd - self.finModif() + self.fin_modif() elif type(self.valeur) == list: if old_sd in self.valeur: - self.initModif() + self.init_modif() i=self.valeur.index(old_sd) self.valeur[i]=sd - self.finModif() + self.fin_modif() else: if self.valeur == old_sd: - self.initModif() + self.init_modif() self.valeur=sd self.val=sd - self.finModif() + self.fin_modif() - def setValeurCo(self,nom_co): + def set_valeur_co(self,nom_co): """ Affecte a self l'objet de type CO et de nom nom_co """ - #print "setValeurCo",nom_co + #print "set_valeur_co",nom_co step=self.etape.parent if nom_co == None or nom_co == '': new_objet=None else: # Avant de creer un concept il faut s'assurer du contexte : step # courant - sd= step.getSdAutourEtape(nom_co,self.etape,avec='oui') + sd= step.get_sd_autour_etape(nom_co,self.etape,avec='oui') if sd: # Si un concept du meme nom existe deja dans la portee de l'etape # on ne cree pas le concept @@ -511,84 +502,84 @@ class MCSIMP(I_OBJECT.OBJECT): # contextes en mode editeur # Normalement la methode du Noyau doit etre surchargee # On declare l'etape du mot cle comme etape courante pour NommerSdprod - cs= CONTEXT.getCurrentStep() - CONTEXT.unsetCurrentStep() - CONTEXT.setCurrentStep(step) - step.setEtapeContext(self.etape) + cs= CONTEXT.get_current_step() + CONTEXT.unset_current_step() + CONTEXT.set_current_step(step) + step.set_etape_context(self.etape) new_objet = Accas.CO(nom_co) - CONTEXT.unsetCurrentStep() - CONTEXT.setCurrentStep(cs) - self.initModif() + CONTEXT.unset_current_step() + CONTEXT.set_current_step(cs) + self.init_modif() self.valeur = new_objet self.val = new_objet # On force l'enregistrement de new_objet en tant que concept produit - # de la macro en appelant getType_produit avec force=1 - self.etape.getType_produit(force=1) - self.finModif() - step.resetContext() - #print "setValeurCo",new_objet + # de la macro en appelant get_type_produit avec force=1 + self.etape.get_type_produit(force=1) + self.fin_modif() + step.reset_context() + #print "set_valeur_co",new_objet return 1,tr("Concept cree") - def verifExistenceSd(self): + def verif_existence_sd(self): """ Verifie que les structures de donnees utilisees dans self existent bien dans le contexte avant etape, sinon enleve la referea ces concepts """ - #print "verifExistenceSd" + #print "verif_existence_sd" # Attention : possible probleme avec include # A priori il n'y a pas de raison de retirer les concepts non existants # avant etape. En fait il s'agit uniquement eventuellement de ceux crees par une macro - l_sd_avant_etape = list(self.jdc.getContexteAvant(self.etape).values()) + l_sd_avant_etape = list(self.jdc.get_contexte_avant(self.etape).values()) if type(self.valeur) in (tuple,list) : l=[] for sd in self.valeur: if isinstance(sd,ASSD) : - if sd in l_sd_avant_etape or self.etape.getSdprods(sd.nom) is sd: + if sd in l_sd_avant_etape or self.etape.get_sdprods(sd.nom) is sd: l.append(sd) else: l.append(sd) if len(l) < len(self.valeur): - self.initModif() + self.init_modif() self.valeur=tuple(l) - self.finModif() + self.fin_modif() else: if isinstance(self.valeur,ASSD) : - if self.valeur not in l_sd_avant_etape and self.etape.getSdprods(self.valeur.nom) is None: - self.initModif() + if self.valeur not in l_sd_avant_etape and self.etape.get_sdprods(self.valeur.nom) is None: + self.init_modif() self.valeur = None - self.finModif() + self.fin_modif() - def getMinMax(self): + def get_min_max(self): """ Retourne les valeurs min et max admissibles pour la valeur de self """ return self.definition.min,self.definition.max - def getType(self): + def get_type(self): """ Retourne le type attendu par le mot-cle simple """ return self.definition.type - def deleteMcGlobal(self): + def delete_mc_global(self): """ Retire self des declarations globales """ if self.definition.position == 'global' : - etape = self.getEtape() + etape = self.get_etape() if etape : del etape.mc_globaux[self.nom] elif self.definition.position == 'global_jdc' : del self.jdc.mc_globaux[self.nom] - def updateMcGlobal(self): + def update_mc_global(self): """ Met a jour les mots cles globaux enregistres dans l'etape parente et dans le jdc parent. Un mot cle simple peut etre global. """ if self.definition.position == 'global' : - etape = self.getEtape() + etape = self.get_etape() if etape : etape.mc_globaux[self.nom]=self elif self.definition.position == 'global_jdc' : @@ -596,12 +587,12 @@ class MCSIMP(I_OBJECT.OBJECT): self.jdc.mc_globaux[self.nom]=self def nbrColonnes(self): - genea = self.getGenealogie() + genea = self.get_genealogie() if "VALE_C" in genea and "DEFI_FONCTION" in genea : return 3 if "VALE" in genea and "DEFI_FONCTION" in genea : return 2 return 0 - def valideItem(self,item): + def valide_item(self,item): """Valide un item isole. Cet item est candidata l'ajout a la liste existante""" valid=1 try: @@ -611,13 +602,13 @@ class MCSIMP(I_OBJECT.OBJECT): self.intoProto.adapt(item) #on ne verifie pas la cardinalite if self.definition.validators: - valid=self.definition.validators.verifItem(item) + valid=self.definition.validators.verif_item(item) except ValError as e: #traceback.print_exc() valid=0 return valid - def verifType(self,item): + def verif_type(self,item): """Verifie le type d'un item de liste""" try: #on verifie le type @@ -626,7 +617,7 @@ class MCSIMP(I_OBJECT.OBJECT): self.intoProto.adapt(item) #on ne verifie pas la cardinalite mais on verifie les validateurs if self.definition.validators: - valid=self.definition.validators.verifItem(item) + valid=self.definition.validators.verif_item(item) comment="" valid=1 except ValError as e: @@ -638,7 +629,7 @@ class MCSIMP(I_OBJECT.OBJECT): def valideMatrice(self,cr): #Attention, la matrice contient comme dernier tuple l ordre des variables if self.valideEnteteMatrice()==False : - self.setValid(0) + self.set_valid(0) if cr == "oui" : self.cr.fatal(tr("La matrice n'a pas le bon entete")) return 0 if self.monType.methodeCalculTaille != None : @@ -652,7 +643,7 @@ class MCSIMP(I_OBJECT.OBJECT): if len(self.valeur[i])!= self.monType.nbCols: ok=0 if ok: - self.setValid(1) + self.set_valid(1) return 1 except : #else : @@ -660,29 +651,29 @@ class MCSIMP(I_OBJECT.OBJECT): if cr == 'oui' : self.cr.fatal(tr("La matrice n'est pas une matrice %(n_lign)d sur %(n_col)d", \ {'n_lign': self.monType.nbLigs, 'n_col': self.monType.nbCols})) - self.setValid(0) + self.set_valid(0) return 0 - def nbDeVariables(self): - listeVariables=self.jdc.getVariables(self.etape) + def NbDeVariables(self): + listeVariables=self.jdc.get_variables(self.etape) self.monType.nbLigs=len(listeVariables) self.monType.nbCols=len(listeVariables) def valideEnteteMatrice(self): - if self.jdc.getDistributions(self.etape) == () or self.valeur == None : return 0 - if self.jdc.getDistributions(self.etape) != self.valeur[0] : return 0 + if self.jdc.get_distributions(self.etape) == () or self.valeur == None : return 0 + if self.jdc.get_distributions(self.etape) != self.valeur[0] : return 0 return 1 def changeEnteteMatrice(self): - a=[self.jdc.getDistributions(self.etape),] + a=[self.jdc.get_distributions(self.etape),] for t in self.valeur[1:]: a.append(t) self.valeur=a - def nNbDeDistributions(self): - listeVariables=self.jdc.getDistributions(self.etape) + def NbDeDistributions(self): + listeVariables=self.jdc.get_distributions(self.etape) self.monType.nbLigs=len(listeVariables) self.monType.nbCols=len(listeVariables) @@ -692,21 +683,21 @@ class MCSIMP(I_OBJECT.OBJECT): # Elles doivent etre reintegrees des que possible - def verifTypeIhm(self,val,cr='non'): + def verif_typeihm(self,val,cr='non'): try : val.eval() return 1 except : traceback.print_exc() pass - return self.verifType(val,cr) + return self.verif_type(val,cr) - def verifTypeliste(self,val,cr='non') : + def verif_typeliste(self,val,cr='non') : verif=0 for v in val : - verif=verif+self.verifTypeIhm(v,cr) + verif=verif+self.verif_typeihm(v,cr) return verif - def initModifUp(self): - Validation.V_MCSIMP.MCSIMP.initModifUp(self) + def init_modif_up(self): + Validation.V_MCSIMP.MCSIMP.init_modif_up(self) CONNECTOR.Emit(self,"valid") diff --git a/Ihm/I_OBJECT.py b/Ihm/I_OBJECT.py index 1013aaf3..48c444c2 100644 --- a/Ihm/I_OBJECT.py +++ b/Ihm/I_OBJECT.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -34,7 +34,7 @@ class OBJECT: """ return 0 - def getRegles(self): + def get_regles(self): """ Retourne les regles de self """ @@ -45,59 +45,59 @@ class OBJECT: else : return [] - def initModif(self): + def init_modif(self): """ Met l'etat de l'objet a modified et propage au parent qui vaut None s'il n'existe pas """ self.state = 'modified' if self.parent: - self.parent.initModif() + self.parent.init_modif() - def finModif(self): + def fin_modif(self): """ Methode appelee apres qu'une modification a ete faite afin de declencher d'eventuels traitements post-modification """ - #print "finModif",self + #print "fin_modif",self # pour les objets autres que les commandes, aucun traitement specifique # on remonte l'info de fin de modif au parent CONNECTOR.Emit(self,"valid") if self.parent: - self.parent.finModif() + self.parent.fin_modif() - def isRepetable(self): + def isrepetable(self): """ Indique si l'objet est repetable """ return 0 - def listeMcPresents(self): + def liste_mc_presents(self): """ Retourne la liste des noms des mots cles presents """ return [] - def getDocu(self): - return self.definition.getDocu() + def get_docu(self): + return self.definition.get_docu() - def getListeMcInconnus(self): + def get_liste_mc_inconnus(self): """ Retourne la liste des mots-cles inconnus dans self """ return [] - def verifConditionRegles(self,liste_presents): + def verif_condition_regles(self,liste_presents): """ Retourne la liste des mots-cles a rajouter pour satisfaire les regles en fonction de la liste des mots-cles presents """ liste=[] for regle in self.definition.regles: - liste=regle.verifConditionRegle(liste,liste_presents) + liste=regle.verif_condition_regle(liste,liste_presents) return liste - def verifConditionBloc(self): + def verif_condition_bloc(self): """ Evalue les conditions de tous les blocs fils possibles (en fonction du catalogue donc de la definition) de self et @@ -107,27 +107,27 @@ class OBJECT: """ return [],[] - def getGenealogiePrecise(self): + def get_genealogie_precise(self): if self.parent: - l=self.parent.getGenealogiePrecise() + l=self.parent.get_genealogie_precise() l.append(self.nom.strip()) return l else: return [self.nom.strip()] - def getGenealogie(self): + def get_genealogie(self): """ Retourne la liste des noms des ascendants (noms de MCSIMP,MCFACT,MCBLOC ou ETAPE) de self jusqu'au premier objet etape rencontre """ if self.parent: - l=self.parent.getGenealogie() + l=self.parent.get_genealogie() l.append(self.nom.strip()) return l else: return [self.nom.strip()] - def getFr(self): + def get_fr(self): """ Retourne la chaine d'aide contenue dans le catalogue en tenant compte de la langue @@ -144,7 +144,7 @@ class OBJECT: except : return '' - def updateConcept(self,sd): + def update_concept(self,sd): pass def normalize(self): @@ -154,10 +154,10 @@ class OBJECT: """ return self - def deleteMcGlobal(self): + def delete_mc_global(self): return - def updateMcGlobal(self): + def update_mc_global(self): return #def __del__(self): diff --git a/Ihm/I_PRESENT_ABSENT.py b/Ihm/I_PRESENT_ABSENT.py index b4a43e46..8c907fe5 100644 --- a/Ihm/I_PRESENT_ABSENT.py +++ b/Ihm/I_PRESENT_ABSENT.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -24,9 +24,9 @@ from __future__ import absolute_import from . import I_REGLE class PRESENT_ABSENT(I_REGLE.REGLE): - def purgeListe(self,liste_a_purger,listeMcPresents): + def purge_liste(self,liste_a_purger,liste_mc_presents): regle_active=0 - if self.mcs[0] in listeMcPresents:regle_active=1 + if self.mcs[0] in liste_mc_presents:regle_active=1 if not regle_active : return liste_a_purger # Il ne faut pas purger le mot cle present diff --git a/Ihm/I_PRESENT_PRESENT.py b/Ihm/I_PRESENT_PRESENT.py index a6f1ba06..6b7dccc1 100644 --- a/Ihm/I_PRESENT_PRESENT.py +++ b/Ihm/I_PRESENT_PRESENT.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -24,7 +24,7 @@ from __future__ import absolute_import from . import I_REGLE class PRESENT_PRESENT(I_REGLE.REGLE): - def verifConditionRegle(self,liste,l_mc_presents): + def verif_condition_regle(self,liste,l_mc_presents): mc0=self.mcs[0] for mc_present in l_mc_presents: if mc_present == mc0 : diff --git a/Ihm/I_PROC_ETAPE.py b/Ihm/I_PROC_ETAPE.py index 4b46b592..86c29894 100644 --- a/Ihm/I_PROC_ETAPE.py +++ b/Ihm/I_PROC_ETAPE.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -21,7 +21,7 @@ from __future__ import absolute_import from . import I_ETAPE -# import rajoutes suite a l'ajout de buildSd --> a resorber +# import rajoutes suite a l'ajout de Build_sd --> a resorber import sys import traceback,types import Noyau @@ -30,10 +30,10 @@ from Noyau.N_Exception import AsException from Extensions.eficas_exception import EficasException class PROC_ETAPE(I_ETAPE.ETAPE): - def getSdname(self): + def get_sdname(self): return "" - def getSdprods(self,nom_sd): + def get_sdprods(self,nom_sd): """ Fonction : retourne le concept produit par l etape de nom nom_sd s il existe sinon None @@ -41,14 +41,14 @@ class PROC_ETAPE(I_ETAPE.ETAPE): """ return None - def supprimeSdProds(self): + def supprime_sdprods(self): """ Fonction: Lors d'une destruction d'etape, detruit tous les concepts produits Une procedure n'en a aucun """ return - def deleteConcept(self,sd): + def delete_concept(self,sd): """ Fonction : Mettre a jour les mots cles de l etape suite a la disparition du concept sd @@ -58,10 +58,10 @@ class PROC_ETAPE(I_ETAPE.ETAPE): Inputs : - sd=concept detruit """ - for child in self.mcListe : - child.deleteConcept(sd) + for child in self.mc_liste : + child.delete_concept(sd) - def replaceConcept(self,old_sd,sd): + def replace_concept(self,old_sd,sd): """ Fonction : Mettre a jour les mots cles de l etape suite au remplacement du concept old_sd @@ -70,17 +70,17 @@ class PROC_ETAPE(I_ETAPE.ETAPE): - old_sd=concept remplace - sd=nouveau concept """ - for child in self.mcListe : - child.replaceConcept(old_sd,sd) + for child in self.mc_liste : + child.replace_concept(old_sd,sd) #ATTENTION SURCHARGE: a garder en synchro ou a reintegrer dans le Noyau - def buildSd(self): + def Build_sd(self): """ Methode de Noyau surchargee pour poursuivre malgre tout si une erreur se produit pendant la creation du concept produit """ try: - sd=Noyau.N_PROC_ETAPE.PROC_ETAPE.buildSd(self) + sd=Noyau.N_PROC_ETAPE.PROC_ETAPE.Build_sd(self) except AsException : # Une erreur s'est produite lors de la construction du concept # Comme on est dans EFICAS, on essaie de poursuivre quand meme diff --git a/Ihm/I_REGLE.py b/Ihm/I_REGLE.py index 56e1febf..d2fba6ca 100644 --- a/Ihm/I_REGLE.py +++ b/Ihm/I_REGLE.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -23,13 +23,13 @@ from __future__ import absolute_import class REGLE: - def getText(self): + def gettext(self): text = self.__class__.__name__+ ' :\n' for mc in self.mcs : text = text + '\t' + mc.strip() + '\n' return text - def purgeListe(self,liste_a_purger,listeMcPresents): + def purge_liste(self,liste_a_purger,liste_mc_presents): """ Cette methode doit retirer de la liste liste_a_purger les elements qui ne doivent plus apparaitre en fonction du contexte @@ -37,13 +37,13 @@ class REGLE: # Dans le cas general on ne touche pas a la liste return liste_a_purger - def hasOperande(self,nom): + def has_operande(self,nom): # On peut faire aussi try:self.mcs.index(nom);return 1;except:return 0 for mc in self.mcs: if mc==nom : return 1 return 0 - def verifConditionRegle(self,liste,l_mc_presents): + def verif_condition_regle(self,liste,l_mc_presents): return [] @@ -51,7 +51,7 @@ class REGLE: import xml.etree.ElementTree as ET regleXml=ET.SubElement(root,'regles') txt="" - for mot in self.getText().split('\n'): + for mot in self.gettext().split('\n'): mot.replace(' ','') txt=txt + mot + " " regleXml.text= txt diff --git a/Ihm/I_UN_PARMI.py b/Ihm/I_UN_PARMI.py index 65812619..ac65b3a0 100644 --- a/Ihm/I_UN_PARMI.py +++ b/Ihm/I_UN_PARMI.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -25,9 +25,9 @@ from . import I_REGLE class UN_PARMI(I_REGLE.REGLE): - def purgeListe(self,liste_a_purger,listeMcPresents): + def purge_liste(self,liste_a_purger,liste_mc_presents): regle_active=0 - for mc_present in listeMcPresents: + for mc_present in liste_mc_presents: if mc_present in self.mcs: regle_active=1 break @@ -36,7 +36,7 @@ class UN_PARMI(I_REGLE.REGLE): # Si un des mots cles est present, on les enleve tous # sauf celui ci for mc in self.mcs: - if mc in liste_a_purger and mc not in listeMcPresents: + if mc in liste_a_purger and mc not in liste_mc_presents: liste_a_purger.remove(mc) return liste_a_purger diff --git a/Ihm/I_VALIDATOR.py b/Ihm/I_VALIDATOR.py index 604feffc..ec414ba2 100644 --- a/Ihm/I_VALIDATOR.py +++ b/Ihm/I_VALIDATOR.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -22,13 +22,13 @@ from __future__ import absolute_import from Noyau.N_VALIDATOR import * class Compulsory(Compulsory): - def hasInto(self): + def has_into(self): return 0 - def valideListePartielle(self,liste_courante=None): + def valide_liste_partielle(self,liste_courante=None): return 1 class OrdList(OrdList): - def valideListePartielle(self,liste_courante=None): + def valide_liste_partielle(self,liste_courante=None): """ Methode de validation de liste partielle pour le validateur OrdList """ diff --git a/Ihm/__init__.py b/Ihm/__init__.py index 0553daf2..4a6dab8d 100644 --- a/Ihm/__init__.py +++ b/Ihm/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/InterfaceQT4/__init__.py b/InterfaceQT4/__init__.py index e059172e..b6ea681f 100644 --- a/InterfaceQT4/__init__.py +++ b/InterfaceQT4/__init__.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/InterfaceQT4/aiemonWidgetPlusieursBase.py b/InterfaceQT4/aiemonWidgetPlusieursBase.py deleted file mode 100644 index 0e794877..00000000 --- a/InterfaceQT4/aiemonWidgetPlusieursBase.py +++ /dev/null @@ -1,300 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D -# -# 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. -# -# 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 -# -# Modules Python -from __future__ import absolute_import -try : - from builtins import str - from builtins import range - from builtins import object -except : pass - -import types,os,sys - -from six.moves import range -from PyQt5.QtGui import QIcon -from PyQt5.QtWidgets import QApplication, QMessageBox -from PyQt5.QtCore import QTimer, QSize, Qt - -# Modules Eficas -from Extensions.i18n import tr - -from InterfaceQT4.feuille import Feuille -from UiQT5.desWidgetPlusieursBase import Ui_WidgetPlusieursBase -from InterfaceQT4.politiquesValidation import PolitiquePlusieurs -from InterfaceQT4.qtSaisie import SaisieValeur -from InterfaceQT4.gereListe import GereListe -from InterfaceQT4.gereListe import GerePlie -from InterfaceQT4.gereListe import LECustom - -dicoLongueur={2:95,3:125,4:154,5:183,6:210,float('inf'):210} -hauteurMax=253 - -class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie): - - def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - #print "MonWidgetPlusieursBase", nom - self.inFocusOutEvent=False - self.nomLine="lineEditVal" - self.inInit=True - self.indexDernierLabel=0 - self.numLineEditEnCours=0 - self.listeAffichageWidget=[] - Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) - GereListe.__init__(self) - self.gereIconePlier() - self.BSelectFichier.clicked.connect(self.selectInFile) - - if sys.platform[0:5]!="linux": - repIcon=self.node.editor.appliEficas.repIcon - fichier=os.path.join(repIcon, 'arrow_up.png') - icon = QIcon(fichier) - self.RBHaut.setIcon(icon) - self.RBHaut.setIconSize(QSize(32, 32)) - fichier2=os.path.join(repIcon, 'arrow_down.png') - icon2 = QIcon(fichier2) - self.RBBas.setIcon(icon2) - fichier3=os.path.join(repIcon, 'file-explorer.png') - icon3 = QIcon(fichier2) - self.BSelectFichier.setIcon(icon3) - self.BSelectFichier.setIconSize(QSize(32, 32)) - icon=QIcon(self.repIcon+"/MoinsBleu.png") - self.RBMoins.setIcon(icon) - icon=QIcon(self.repIcon+"/PlusBleu.png") - self.RBPlus.setIcon(icon) - icon=QIcon(self.repIcon+"/verre-loupe-icone-6087-64.png") - self.RBVoisListe.setIcon(icon) - - - self.listeValeursCourantes=self.node.item.getListeValeurs() - if self.monSimpDef.max != "**" and self.monSimpDef.max < 7: - hauteurMax=dicoLongueur[self.monSimpDef.max] - else : - hauteurMax=220 - # if self.monSimpDef.max == self.monSimpDef.min : self.setMaximumHeight(hauteur) - self.resize(self.width(),hauteurMax) - self.setMinimumHeight(hauteurMax) - self.finCommentaireListe() - self.parentQt.commandesLayout.insertWidget(-1,self) - self.maCommande.listeAffichageWidget.append(self.lineEditVal1) - self.AAfficher=self.lineEditVal1 - self.inInit=False - # PNPN a completer __ si tuple le type des tuples sinon le tuple - self.monCommentaireLabel.setText(self.finCommentaireListe()) - - - def setValeurs(self): - self.vScrollBar = self.scrollArea.verticalScrollBar() - self.politique=PolitiquePlusieurs(self.node,self.editor) - # construction du min de valeur a entrer - if self.monSimpDef.max == "**" : aConstruire=7 - elif self.monSimpDef.max == float('inf'): aConstruire=7 - else : aConstruire=self.monSimpDef.max - - for i in range(1,aConstruire): - self.ajoutLineEdit() - QApplication.processEvents() - self.scrollArea.ensureWidgetVisible(self.lineEditVal1) - self.listeValeursCourantes=self.node.item.getListeValeurs() - index=1 - for valeur in self.listeValeursCourantes : - val=self.politique.getValeurTexte(valeur) - nomLineEdit="lineEditVal"+str(index) - if hasattr(self,nomLineEdit) : - courant=getattr(self,nomLineEdit) - if 'R' in self.objSimp.definition.type and str(val) != repr(val) : courant.setText(repr(val)) - else : courant.setText(str(val)) - else : - self.ajoutLineEdit(val) - index=index+1 - # ajout d'une ligne vide ou affichage commentaire - if self.indexDernierLabel < self.monSimpDef.max : self.ajoutLineEdit() - else : self.scrollArea.setToolTip('nb max de valeurs atteint') - #self.adjustSize() - #self.vScrollBar.triggerAction(QScrollBar.SliderToMinimum) - - - def ajoutLineEdit(self,valeur=None,): - self.indexDernierLabel=self.indexDernierLabel+1 - nomLineEdit="lineEditVal"+str(self.indexDernierLabel) - if hasattr(self,nomLineEdit) : - self.indexDernierLabel=self.indexDernierLabel-1 - return - nouveauLE = LECustom(self.scrollArea,self,self.indexDernierLabel) - self.verticalLayoutLE.insertWidget(self.indexDernierLabel-1,nouveauLE) - nouveauLE.setText("") - if self.indexDernierLabel % 2 == 1 : nouveauLE.setStyleSheet("background:rgb(210,210,210)") - else : nouveauLE.setStyleSheet("background:rgb(235,235,235)") - nouveauLE.setFrame(False) - nouveauLE.returnPressed.connect(self.changeValeur) - - setattr(self,nomLineEdit,nouveauLE) - self.listeAffichageWidget.append(nouveauLE) - self.etablitOrdre() - if valeur != None : nouveauLE.setText(str(valeur)) - # deux lignes pour que le ensureVisible fonctionne - self.estVisible=nouveauLE - if self.inInit==False :QTimer.singleShot(1, self.rendVisibleLigne) - - def etablitOrdre(self): - i=0 - while(i +1 < len(self.listeAffichageWidget)): - self.listeAffichageWidget[i].setFocusPolicy(Qt.StrongFocus) - self.setTabOrder(self.listeAffichageWidget[i],self.listeAffichageWidget[i+1]) - i=i+1 - # si on boucle on perd l'ordre - - - def rendVisibleLigne(self): - QApplication.processEvents() - self.estVisible.setFocus() - self.scrollArea.ensureWidgetVisible(self.estVisible,0,0) - - - def finCommentaire(self): - return self.finCommentaireListe() - - def ajout1Valeur(self,valeur=None): - if valeur == None : return - liste,validite=SaisieValeur.TraiteLEValeur(self,str(valeur)) - if validite == 0 : return - if liste ==[] : return - listeVal=[] - for valeur in self.listeValeursCourantes : listeVal.append(valeur) - validite,comm,comm2,listeRetour=self.politique.ajoutValeurs(liste,-1,listeVal) - if (comm2 != "" and comm != None) : return comm2 - if validite : - self.listeValeursCourantes=self.listeValeursCourantes+listeRetour - if len(self.listeValeursCourantes) > self.monSimpDef.min : - self.node.item.setValeur(self.listeValeursCourantes) - self.reaffiche() - return None - else : - return(comm2+" "+comm) - - def reaffiche(self): - # A priori, on ne fait rien - pass - - - def ajoutNValeur(self,liste): - #---------------------------- - # attention quand on charge par un fichier, on ne peut pas se contenter d ajouter N fois 1 valeur - # car alors le temps de verification devient prohibitif reconstructu=ion et verification a - # chaque valeur. d ou l ajout de ajoutNTuple a politique plusieurs - - - listeFormatee=list(liste) - - min,max=self.node.item.getMinMax() - if self.objSimp.valeur == None : listeComplete=listeFormatee - else : listeComplete =self.objSimp.valeur + listeFormatee - - if len(listeComplete) > max : - texte=tr("Nombre maximum de valeurs ")+str(max)+tr(" atteint") - self.editor.afficheInfos(texte,Qt.red) - return - - validite,comm,comm2,listeRetour= self.politique.ajoutNTuple(listeComplete) - if not validite : - self.editor.affiche_infos(texte,Qt.red) - return - - # on calcule le dernier lineedit rempli avant de changer la valeur - if self.objSimp.valeur != None : indexDernierRempli=len(self.objSimp.valeur) - else : indexDernierRempli=0 - - self.politique.recordValeur(listeComplete) - - indexDernierRempli=0 - while ( indexDernierRempli < len(liste) ) : - texte=liste[indexDernierRempli] - if indexDernierRempli < self.indexDernierLabel: - nomLineEdit="lineEditVal"+str(indexDernierRempli+1) - courant=getattr(self,nomLineEdit) - courant.setText(str(texte)) - else : - self.ajoutLineEdit(texte) - indexDernierRempli = indexDernierRempli + 1 - - - def changeValeur(self,changeDePlace=True,oblige=False): - donneFocus=None - derniereValeur=None - self.listeValeursCourantes = [] - fin=self.indexDernierLabel - for i in range (1, fin): - nomLineEdit="lineEditVal"+str(i) - courant=getattr(self,nomLineEdit) - valeur=courant.text() - lval=valeur.split(',') - if len (lval) > 1 : - msgBox=QMessageBox() - msgBox.setText("separator ',' ") - msgBox.setInformativeText("Do you want to enter " + str (lval) + "?") - msgBox.setStandardButtons( QMessageBox.Ok | QMessageBox.Cancel) - msgBox.setDefaultButton(QMessageBox.Ok) - ret = msgBox.exec_() - if ret != 1024 : - courant.setText("") - return - courant.setText(lval[0]) - self.ajoutNValeur(lval[1:]) - self.listeValeursCourantes = [] - - for i in range (1, self.indexDernierLabel+1): - nomLineEdit="lineEditVal"+str(i) - courant=getattr(self,nomLineEdit) - valeur=courant.text() - if valeur != None and valeur != "" : - commentaire=self.ajout1Valeur(valeur) - if (commentaire != None ): - self.editor.afficheInfos(commentaire,Qt.red) - courant.setText("") - donneFocus=courant - self.reaffiche() - return - else : - self.editor.afficheInfos("") - elif donneFocus==None : donneFocus=courant - - nomDernierLineEdit="lineEditVal"+str(self.indexDernierLabel) - dernier=getattr(self,nomDernierLineEdit) - derniereValeur=dernier.text() - if changeDePlace: - if donneFocus != None : - donneFocus.setFocus() - self.scrollArea.ensureWidgetVisible(donneFocus) - elif self.indexDernierLabel < self.monSimpDef.max : - self.ajoutLineEdit() - if self.listeValeursCourantes == [] : return - min,max = self.node.item.getMinMax() - if len(self.listeValeursCourantes) < self.monSimpDef.min : - self.editor.afficheInfos(tr('nb min de valeurs : ')+str( self.monSimpDef.min)) - if len(self.listeValeursCourantes) < min and oblige==True: return - if len(self.listeValeursCourantes) > max : return - self.node.item.setValeur(self.listeValeursCourantes) - if len(self.listeValeursCourantes) == self.monSimpDef.max : - self.editor.afficheInfos(tr('nb max de valeurs atteint')) - self.setValide() - self.reaffiche() - - - -# Avertissement quand on quitte le widget diff --git a/InterfaceQT4/browser.py b/InterfaceQT4/browser.py index c4df0643..712a813b 100644 --- a/InterfaceQT4/browser.py +++ b/InterfaceQT4/browser.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -24,15 +24,14 @@ try : from builtins import str from builtins import range except : pass - import re import types,sys,os import traceback from . import typeNode +#import pdb import six from six.moves import range - from PyQt5.QtWidgets import QTreeWidget , QTreeWidgetItem, QApplication, QMessageBox from PyQt5.QtGui import QIcon from PyQt5.QtCore import Qt @@ -40,10 +39,7 @@ from Extensions.i18n import tr from .gereRegles import GereRegles from .monChoixCommande import MonChoixCommande -#------------------------------------------ class JDCTree( QTreeWidget,GereRegles ): -#------------------------------------------ - def __init__( self, jdc_item, QWParent): #if hasattr(QWParent,'widgetTree') : self.editor = QWParent @@ -67,7 +63,7 @@ class JDCTree( QTreeWidget,GereRegles ): self.childrenComplete=[] self.racine=self.item.itemNode(self,self.item) - self.itemCourant=None + self.itemCourrant=None self.itemClicked.connect(self.handleOnItem) self.itemCollapsed.connect(self.handleCollapsedItem) @@ -78,10 +74,10 @@ class JDCTree( QTreeWidget,GereRegles ): self.inhibeExpand=True self.expandItem(self.racine) self.inhibeExpand=False - #print ("self.editor.maConfiguration.afficheCommandesPliees", self.editor.maConfiguration.afficheCommandesPliees) + #print "self.editor.afficheCommandesPliees", self.editor.afficheCommandesPliees if self.racine.children !=[] : #self.editor.initSplitterSizes(3) - if self.editor.maConfiguration.afficheCommandesPliees : self.racine.children[0].plieToutEtReaffiche() + if self.editor.afficheCommandesPliees : self.racine.children[0].plieToutEtReaffiche() else : self.racine.children[0].deplieToutEtReaffiche() self.racine.children[0].fenetre.donnePremier() else : @@ -107,12 +103,11 @@ class JDCTree( QTreeWidget,GereRegles ): """ #print "handleContextMenu" if item == None : return - self.itemCourant=item if item.existeMenu == 0 : return if item.menu == None: item.createPopUpMenu() if item.menu != None: - if item.item.getNom() == "DISTRIBUTION" and item.item.isValid() : + if item.item.get_nom() == "DISTRIBUTION" and item.item.isvalid() : item.Graphe.setEnabled(1) item.menu.exec_(coord) @@ -120,7 +115,6 @@ class JDCTree( QTreeWidget,GereRegles ): def handleCollapsedItem(self,item): #print "dans CollapsedItem", self.inhibeExpand if self.inhibeExpand == True : return - self.itemCourant=item # On traite le cas de l item non selectionne itemParent=item while not (hasattr (itemParent,'getPanel')) : @@ -135,11 +129,10 @@ class JDCTree( QTreeWidget,GereRegles ): item.select() def handleExpandedItem(self,item): - #print ("handleExpandedItem pour ", item.item.nom, self.inhibeExpand) + #print "handleExpandedItem pour ", item.item.nom, self.inhibeExpand #import traceback #traceback.print_stack() if self.inhibeExpand == True : return - self.itemCourant=item self.inhibeExpand = True itemParent=item while not (hasattr (itemParent,'getPanel')) : @@ -154,26 +147,25 @@ class JDCTree( QTreeWidget,GereRegles ): def handleOnItem(self,item,int): - #print ("je passe dans handleOnItem pour ",self, item.item.nom, item, item.item, item.item.getLabelText()) + #print "je passe dans handleOnItem pour ",self, item.item.nom, item, item.item from InterfaceQT4 import composimp self.inhibeExpand = True - self.itemCourant=item + self.itemCourrant=item itemParent=item while not (hasattr (itemParent,'getPanel')) : if itemParent.plie==True : itemParent.setDeplie() - itemAvant=itemParent itemParent=itemParent.treeParent if itemParent.fenetre != self.editor.fenetreCentraleAffichee : + estUneFeuille=(isinstance(item,composimp.Node)) # il faut afficher le parent - if estUneFeuille and itemParent.fenetreIhm=='deplie1Niveau' : - itemAvant.afficheCeNiveau() - return + #print "estUneFeuille", estUneFeuille + #print "afficheCommandesPliees", self.editor.afficheCommandesPliees if estUneFeuille : itemParent.affichePanneau() - elif self.editor.maConfiguration.afficheCommandesPliees : itemParent.plieToutEtReafficheSaufItem(item) + elif self.editor.afficheCommandesPliees : itemParent.plieToutEtReafficheSaufItem(item) else : itemParent.affichePanneau() @@ -185,14 +177,8 @@ class JDCTree( QTreeWidget,GereRegles ): #print 'il faut afficher le 1er' try : - fr = item.item.getFr() - chaineDecoupee= fr.split('\n') - if len(chaineDecoupee) > 3 : - txt='\n'.join(chaineDecoupee[0:2])+'...\nfull help : double clicked on validity chip of '+ str(item.item.nom)+ ' in central widget' - else : txt=fr - - if self.editor: - self.editor.afficheCommentaire(six.text_type(txt)) + fr = item.item.get_fr() + if self.editor: self.editor.affiche_commentaire(six.text_type(fr)) except: pass item.select() @@ -203,20 +189,16 @@ class JDCTree( QTreeWidget,GereRegles ): def choisitPremier(self,name): self.editor.layoutJDCCHOIX.removeWidget(self.racine.fenetre) self.racine.fenetre.close() - new_node=self.racine.appendBrother(name,'after') + new_node=self.racine.append_brother(name,'after') # type de noeud COMMENT = "COMMENTAIRE" PARAMETERS = "PARAMETRE" -#------------------------------------------ class JDCNode(QTreeWidgetItem,GereRegles): -#------------------------------------------ def __init__( self, treeParent, item, itemExpand=False, ancien=False ): - #print ("creation d'un noeud : ", item, " ",item.nom,"", treeParent, self) + #print "creation d'un noeud : ", item, " ",item.nom,"", treeParent, self #self.a=0 - - self.item = item self.vraiParent = treeParent self.treeParent = treeParent @@ -231,17 +213,13 @@ class JDCNode(QTreeWidgetItem,GereRegles): from InterfaceQT4 import compoparam from InterfaceQT4 import composimp if (isinstance(self.item,compocomm.COMMTreeItem)) : name=tr("Commentaire") - elif (isinstance(self.item,compoparam.PARAMTreeItem)) : name=tr(str(item.getLabelText()[0])) - #else: name = tr(str(tr(item.getLabelText()[0]))+" :") - else: name = tr(item.getLabelText()[0]) + elif (isinstance(self.item,compoparam.PARAMTreeItem)) : name=tr(str(item.GetLabelText()[0])) + #else: name = tr(str(tr(item.GetLabelText()[0]))+" :") + else: name = tr(item.GetLabelText()[0]) if item.nom != tr(item.nom) : name = str(tr(item.nom)+" :") - value = tr(str( item.getText() ) ) - - # si specialisation de la fenetre - if self.item.object.definition == None : self.fenetreIhm = None - # Cas des listes de mots_clefs - else : self.fenetreIhm = self.item.object.definition.fenetreIhm + value = tr(str( item.GetText() ) ) + if self.editor.enteteQTree=='complet':mesColonnes=(name,value) else : mesColonnes=(name,) @@ -276,17 +254,15 @@ class JDCNode(QTreeWidgetItem,GereRegles): else : QTreeWidgetItem.__init__(self,self.treeParent,mesColonnes) - self.setToolTip(0,self.item.getFr()) - self.setToolTip(1,self.item.getFr()) + self.setToolTip(0,self.item.get_fr()) + self.setToolTip(1,self.item.get_fr()) repIcon=self.appliEficas.repIcon - couleur=self.item.getIconName() - monIcone = QIcon(repIcon+"/" + couleur + ".png") - + monIcone = QIcon(repIcon+"/" +self.item.GetIconName() + ".png") self.setIcon(0,monIcone) self.children = [] - self.buildChildren() + self.build_children() self.menu=None self.existeMenu=1 @@ -304,11 +280,10 @@ class JDCNode(QTreeWidgetItem,GereRegles): pass - def buildChildren(self,posInsertion=10000): + def build_children(self,posInsertion=10000): """ Construit la liste des enfants de self """ """ Se charge de remettre les noeuds Expanded dans le meme etat """ - #print ("*********** buildChildren ",self,self.item, self.item.nom) - #print (poum) + #print "*********** build_children ",self,self.item, self.item.nom self.listeItemExpanded=[] self.listeItemPlie=[] @@ -325,7 +300,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): self.children = [] self.childrenComplete = [] - sublist = self.item._getSubList() + sublist = self.item._GetSubList() ind=0 for item in sublist : @@ -336,69 +311,32 @@ class JDCNode(QTreeWidgetItem,GereRegles): nouvelItem=item.itemNode(self,item,itemExpand,ancien) self.children.append(nouvelItem) - #print ("fin *********** buildChildren ",self,self.item, self.item.nom, self.children) + #print "fin *********** build_children ",self,self.item, self.item.nom, self.children def chercheNoeudCorrespondant(self,objSimp): - sublist = self.item._getSubList() + sublist = self.item._GetSubList() for node in self.childrenComplete: if node.item.object==objSimp : return node return None - def afficheCeNiveau(self): - #print ('afficheCeNiveau pour ', self.item.nom, self.item.getLabelText()) - for indiceWidget in range(self.editor.widgetCentraleLayout.count()): - widget=self.editor.widgetCentraleLayout.itemAt(indiceWidget) - self.editor.widgetCentraleLayout.removeItem(widget) - if self.editor.fenetreCentraleAffichee != None : - self.editor.widgetCentraleLayout.removeWidget(self.editor.fenetreCentraleAffichee) - self.editor.fenetreCentraleAffichee.setParent(None) - self.editor.fenetreCentraleAffichee.close() - self.editor.fenetreCentraleAffichee.deleteLater() - - from monWidgetNiveauFact import MonWidgetNiveauFact, MonWidgetNiveauFactTableau - maDefinition=self.item.get_definition() - monObjet=self.item.object - if maDefinition.fenetreIhm=='Tableau' : self.maFenetreCadre=MonWidgetNiveauFactTableau(self,self.editor,maDefinition,monObjet) - else : self.maFenetreCadre=MonWidgetNiveauFact(self,self.editor,maDefinition,monObjet) - - self.fenetre=self.maFenetreCadre - self.editor.widgetCentraleLayout.addWidget(self.maFenetreCadre) - self.editor.fenetreCentraleAffichee=self.maFenetreCadre - self.select() - #print ('fin afficheCeNiveau pour ', self.item.nom) - - - def getPanelModifie(self): - - if self.fenetreIhm == None : return None - if self.fenetreIhm=='deplie1Niveau': - from InterfaceQT4.monWidgetCommandeDeplie1Niveau import MonWidgetCommandeDeplie1Niveau - return MonWidgetCommandeDeplie1Niveau (self,self.editor ,self.item.object) - return None - - def affichePanneau(self) : - #if self.editor.code == 'ASTER' and not(self.item.isActif()) : + #if self.editor.code == 'ASTER' and not(self.item.isactif()) : # posera des pb si un code decide d appeler FIN un mot clef # on resoudera a ce moment la - # pour l pas de poussiere sous le tapis - #print ('_________________ds affichePanneau pour', self.item.nom) - if not(self.item.isActif()) : + # pour l instant pas de poussiere sous le tapis + if not(self.item.isactif()) : from .monWidgetInactif import MonWidgetInactif self.fenetre = MonWidgetInactif(self,self.editor) else: itemParent=self while not (hasattr (itemParent,'getPanel')) : itemParent=itemParent.treeParent if itemParent!=self : - #print ('j appelle affichePanneau pour ', itemParent.item.nom , 'par', self.item.nom) itemParent.affichePanneau() - #print ('fin _________________ds affichePanneau pour', self.item.nom) return - self.fenetre=self.getPanelModifie() - if self.fenetre == None : self.fenetre=self.getPanel() - self.editor.restoreSplitterSizes() + self.fenetre=self.getPanel() + #self.editor.restoreSplitterSizes() for indiceWidget in range(self.editor.widgetCentraleLayout.count()): widget=self.editor.widgetCentraleLayout.itemAt(indiceWidget) @@ -421,7 +359,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): self.tree.inhibeExpand=True self.tree.expandItem(self) self.tree.inhibeExpand=False - #print( '_________________fin affichePanneau pour', self.item.nom) + #print( 'fin affichePanneau pour', self.item.nom) def createPopUpMenu(self): @@ -436,10 +374,10 @@ class JDCNode(QTreeWidgetItem,GereRegles): # (commentariser) un commentaire. try : pos=self.treeParent.children.index(self) - commande_comment = self.item.getObjetCommentarise() + commande_comment = self.item.get_objet_commentarise() # On signale a l editeur du panel (le JDCDisplay) une modification - self.editor.initModif() - self.treeParent.buildChildren() + self.editor.init_modif() + self.treeParent.build_children() self.treeParent.children[pos].select() self.treeParent.children[pos].affichePanneau() except Exception as e: @@ -452,9 +390,9 @@ class JDCNode(QTreeWidgetItem,GereRegles): """ try : pos=self.treeParent.children.index(self) - commande,nom = self.item.unComment() - self.editor.initModif() - self.treeParent.buildChildren() + commande,nom = self.item.uncomment() + self.editor.init_modif() + self.treeParent.build_children() self.treeParent.children[pos].select() self.treeParent.children[pos].affichePanneau() except Exception as e: @@ -464,21 +402,21 @@ class JDCNode(QTreeWidgetItem,GereRegles): """ Ajoute un commentaire a l'interieur du JDC : """ - self.editor.initModif() + self.editor.init_modif() if after: pos = 'after' else: pos = 'before' - return self.appendBrother( COMMENT, pos ) + return self.append_brother( COMMENT, pos ) def addParameters( self, after=True ): """ Ajoute un parametre a l'interieur du JDC : """ - self.editor.initModif() + self.editor.init_modif() if after: pos = 'after' else: pos = 'before' - child=self.appendBrother( PARAMETERS, pos ) + child=self.append_brother( PARAMETERS, pos ) return child @@ -496,13 +434,13 @@ class JDCNode(QTreeWidgetItem,GereRegles): # Methodes de creation et destruction de noeuds # Certaines de ces methodes peuvent etre appelees depuis l'externe #------------------------------------------------------------------ - def appendBrother(self,name,pos='after',plier=False): + def append_brother(self,name,pos='after',plier=False): """ Permet d'ajouter un objet frere a l'objet associe au noeud self par defaut on l'ajoute immediatement apres Methode externe """ - self.editor.initModif() + self.editor.init_modif() from InterfaceQT4 import compojdc if (isinstance(self.treeParent, compojdc.Node)) and not self.verifiePosition(name,pos) : return 0 @@ -511,21 +449,21 @@ class JDCNode(QTreeWidgetItem,GereRegles): index = self.vraiParent.children.index(self) if pos == 'before': index = index elif pos == 'after': index = index +1 - return self.vraiParent.appendChild(name,pos=index,plier=plier) + return self.vraiParent.append_child(name,pos=index,plier=plier) else : index = self.treeParent.children.index(self) if pos == 'before': index = index elif pos == 'after': index = index +1 else: - print(six.text_type(pos), tr(" n'est pas un index valide pour appendBrother")) + print(six.text_type(pos), tr(" n'est pas un index valide pour append_brother")) return 0 - return self.treeParent.appendChild(name,pos=index,plier=plier) + return self.treeParent.append_child(name,pos=index,plier=plier) def verifiePosition(self,name,pos,aLaRacine=False): - if name not in self.editor.readercata.Classement_Commandes_Ds_Arbre : return True - indexName=self.editor.readercata.Classement_Commandes_Ds_Arbre.index(name) + if name not in self.editor.Classement_Commandes_Ds_Arbre : return True + indexName=self.editor.Classement_Commandes_Ds_Arbre.index(name) - etapes=self.item.getJdc().etapes + etapes=self.item.get_jdc().etapes if etapes == [] : return True if aLaRacine == False :indexOu=etapes.index(self.item.object) @@ -534,35 +472,35 @@ class JDCNode(QTreeWidgetItem,GereRegles): if pos=="after" : indexOu = indexOu+1 for e in etapes[:indexOu] : nom=e.nom - if nom not in self.editor.readercata.Classement_Commandes_Ds_Arbre : continue - indexEtape=self.editor.readercata.Classement_Commandes_Ds_Arbre.index(nom) + if nom not in self.editor.Classement_Commandes_Ds_Arbre : continue + indexEtape=self.editor.Classement_Commandes_Ds_Arbre.index(nom) if indexEtape > indexName : comment=tr('le mot clef ')+name+tr(' doit etre insere avant ')+nom QMessageBox.information( None,tr('insertion impossible'),comment, ) return False for e in etapes[indexOu:] : nom=e.nom - if nom not in self.editor.readercata.Classement_Commandes_Ds_Arbre : continue - indexEtape=self.editor.readercata.Classement_Commandes_Ds_Arbre.index(nom) + if nom not in self.editor.Classement_Commandes_Ds_Arbre : continue + indexEtape=self.editor.Classement_Commandes_Ds_Arbre.index(nom) if indexEtape < indexName : comment=tr('le mot clef ')+name+tr(' doit etre insere apres ')+nom QMessageBox.information( None,tr('insertion impossible'),comment, ) return False return True - def appendChild(self,name,pos=None,plier=False): + def append_child(self,name,pos=None,plier=False): """ Methode pour ajouter un objet fils a l'objet associe au noeud self. On peut l'ajouter en debut de liste (pos='first'), en fin (pos='last') ou en position intermediaire. Si pos vaut None, on le place a la position du catalogue. """ - #print ("************** appendChild ",self.item.getLabelText(), pos, plier) + #print ("************** append_child ",self.item.GetLabelText(), plier) #import traceback #traceback.print_stack() - self.editor.initModif() + self.editor.init_modif() if pos == 'first': index = 0 elif pos == 'last': @@ -570,15 +508,13 @@ class JDCNode(QTreeWidgetItem,GereRegles): elif type(pos) == int : # position fixee index = pos - elif type(pos) == object: - #elif type(pos) == types.InstanceType: + elif type(pos) == types.InstanceType: # pos est un item. Il faut inserer name apres pos - index = self.item.getIndex(pos) +1 - #elif type(name) == types.InstanceType: - elif type(name) == object: - index = self.item.getIndexChild(name.nom) + index = self.item.get_index(pos) +1 + elif type(name) == types.InstanceType: + index = self.item.get_index_child(name.nom) else: - index = self.item.getIndexChild(name) + index = self.item.get_index_child(name) # si on essaye d inserer a la racine if (isinstance(self.treeParent,JDCTree) and index==0) : @@ -586,7 +522,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): if not verifiePosition : return 0 self.tree.inhibeExpand=True - obj=self.item.addItem(name,index) # emet le signal 'add' + obj=self.item.additem(name,index) # emet le signal 'add' if obj is None:obj=0 if obj == 0:return 0 try : @@ -597,14 +533,14 @@ class JDCNode(QTreeWidgetItem,GereRegles): except : child=self.children[index] try : - if len(obj) > 1 : self.buildChildren() + if len(obj) > 1 : self.build_children() except : pass self.tree.inhibeExpand=False #print (" fin append child") return child def deplace(self): - self.editor.initModif() + self.editor.init_modif() index = self.treeParent.children.index(self) - 1 if index < 0 : index =0 ret=self.treeParent.item.deplaceEntite(self.item.getObject()) @@ -613,22 +549,22 @@ class JDCNode(QTreeWidgetItem,GereRegles): """ Methode externe pour la destruction de l'objet associe au noeud """ - self.editor.initModif() + self.editor.init_modif() index = self.vraiParent.children.index(self) - 1 if index < 0 : index =0 recalcule=0 if self.item.nom == "VARIABLE" : recalcule=1 jdc=self.item.jdc - ret,commentaire=self.vraiParent.item.suppItem(self.item) + ret,commentaire=self.vraiParent.item.suppitem(self.item) if ret==0 : - self.editor.afficheInfos(commentaire,Qt.red) + self.editor.affiche_infos(commentaire,Qt.red) else : - self.editor.afficheInfos(commentaire) - self.treeParent.buildChildren() + self.editor.affiche_infos(commentaire) + self.treeParent.build_children() if self.treeParent.childrenComplete : toselect=self.treeParent.childrenComplete[index] else: toselect=self.treeParent - if recalcule : jdc.recalculeEtatCorrelation() + if recalcule : jdc.recalcule_etat_correlation() if ret==0 : if self.treeParent.childrenComplete : notdeleted=self.treeParent.childrenComplete[index+1] @@ -649,7 +585,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): Methode externe pour la destruction d une liste de noeud """ from InterfaceQT4 import compojdc - self.editor.initModif() + self.editor.init_modif() index=9999 recalcule=0 jdc=self.treeParent @@ -670,10 +606,10 @@ class JDCNode(QTreeWidgetItem,GereRegles): parentPosition=parentPosition.treeParent for noeud in liste: - noeud.treeParent.item.suppItem(noeud.item) + noeud.treeParent.item.suppitem(noeud.item) - jdc.buildChildren() - if recalcule : jdc.recalculeEtatCorrelation() + jdc.build_children() + if recalcule : jdc.recalcule_etat_correlation() try : toselect=parentPosition.children[index] except : toselect=jdc toselect.select() @@ -682,7 +618,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): # #------------------------------------------------------------------ def onValid(self): - #print ("onValid pour ", self.item.nom) + #print "onValid pour ", self.item.nom if self.JESUISOFF==1 : return if hasattr(self,'fenetre') and self.fenetre: try : @@ -691,117 +627,113 @@ class JDCNode(QTreeWidgetItem,GereRegles): # print "onValid pour ", self.item.nom, self,'pb' pass - if (self.item.nom == "VARIABLE" or self.item.nom == "DISTRIBUTION") and self.item.isValid(): - self.item.jdc.recalculeEtatCorrelation() + if (self.item.nom == "VARIABLE" or self.item.nom == "DISTRIBUTION") and self.item.isvalid(): + self.item.jdc.recalcule_etat_correlation() if hasattr(self.item,'forceRecalcul'): self.forceRecalculChildren(self.item.forceRecalcul) - self.editor.initModif() + self.editor.init_modif() - self.updateNodeValid() - self.updateNodeLabel() - self.updateNodeTexte() + self.update_node_valid() + self.update_node_label() + self.update_node_texte() def onAdd(self,object): if self.JESUISOFF==1 : return - #print ("onAdd pour ", self.item.nom, object) - self.editor.initModif() - self.updateNodes() + #print "onAdd pour ", self.item.nom, object.nom + self.editor.init_modif() + self.update_nodes() # PN -- non necessaire si item=jdc if hasattr(self.item,'jdc'): self.item.jdc.aReafficher=True def onSupp(self,object): if self.JESUISOFF==1 : return - #print "onSup pour ", self.item.nom, object - self.editor.initModif() - self.updateNodes() + #print "onSup pour ", self.item.nom, object.nom + self.editor.init_modif() + self.update_nodes() # PN -- non necessaire si item=jdc if hasattr(self.item,'jdc'): self.item.jdc.aReafficher=True - def updateNodeValid(self): + def update_node_valid(self): """Cette methode remet a jour la validite du noeud (icone) - Elle appelle isValid + Elle appelle isvalid """ repIcon=self.appliEficas.repIcon - couleur=self.item.getIconName() - monIcone = QIcon(repIcon+"/" + couleur + ".png") + monIcone = QIcon(repIcon+"/" +self.item.GetIconName() + ".png") self.setIcon(0,monIcone) - - def updateNodeLabel(self): + def update_node_label(self): """ Met a jour le label du noeud """ - #print "NODE updateNodeLabel", self.item.getLabelText() - labeltext,fonte,couleur = self.item.getLabelText() + #print "NODE update_node_label", self.item.GetLabelText() + labeltext,fonte,couleur = self.item.GetLabelText() # PNPN a reflechir - if self.item.nom != tr(self.item.nom) : labeltext = str(tr(self.item.nom)+" :") - self.setText(0, tr(labeltext)) + self.setText(0, labeltext) - def updateNodeLabelInBlack(self): + def update_node_label_in_black(self): if hasattr(self.appliEficas,'noeudColore'): self.appliEficas.noeudColore.setForeground(0,Qt.black) - self.appliEficas.noeudColore.updateNodeLabel + self.appliEficas.noeudColore.update_node_label - def updateNodeLabelInBlue(self): + def update_node_label_in_blue(self): if hasattr(self.appliEficas,'noeudColore'): self.appliEficas.noeudColore.setForeground(0,Qt.black) self.setForeground(0,Qt.blue) - labeltext,fonte,couleur = self.item.getLabelText() - if self.item.nom != tr(self.item.nom) : labeltext = str(tr(self.item.nom)+" :") + labeltext,fonte,couleur = self.item.GetLabelText() self.setText(0, labeltext) self.appliEficas.noeudColore=self - def updatePlusieursNodeLabelInBlue(self,liste): + def update_plusieurs_node_label_in_blue(self,liste): if hasattr(self.appliEficas,'listeNoeudsColores'): for noeud in self.appliEficas.listeNoeudsColores: noeud.setTextColor( 0,Qt.black) - noeud.updateNodeLabel() + noeud.update_node_label() self.appliEficas.listeNoeudsColores=[] for noeud in liste : noeud.setTextColor( 0,Qt.blue ) - labeltext,fonte,couleur = noeud.item.getLabelText() + labeltext,fonte,couleur = noeud.item.GetLabelText() noeud.setText(0, labeltext) self.appliEficas.listeNoeudsColores.append(noeud) - def updateNodeTexteInBlack(self): + def update_node_texte_in_black(self): """ Met a jour les noms des SD et valeurs des mots-cles """ self.setTextColor( 1,Qt.black ) - value = self.item.getText() + value = self.item.GetText() self.setText(1, value) - def updateNodeTexte(self): + def update_node_texte(self): """ Met a jour les noms des SD et valeurs des mots-cles """ - value = self.item.getText() + value = self.item.GetText() self.setText(1, value) - def updateNodeTexteInBlue(self): + def update_node_texte_in_blue(self): self.setTextColor( 1,Qt.blue ) - value = self.item.getText() + value = self.item.GetText() self.setText(1, value) - def updateNodes(self): - #print 'NODE updateNodes', self.item.getLabelText() - self.buildChildren() + def update_nodes(self): + #print 'NODE update_nodes', self.item.GetLabelText() + self.build_children() - def updateValid(self) : + def update_valid(self) : """Cette methode a pour but de mettre a jour la validite du noeud et de propager la demande de mise a jour a son parent """ - #print "NODE updateValid", self.item.getLabelText() - self.updateNodeValid() + #print "NODE update_valid", self.item.GetLabelText() + self.update_node_valid() try : - self.treeParent.updateValid() + self.treeParent.update_valid() except: pass - def updateTexte(self): + def update_texte(self): """ Met a jour les noms des SD et valeurs des mots-cles """ - #print "NODE updateTexte", self.item.getLabelText() - self.updateNodeVexte() + #print "NODE update_texte", self.item.GetLabelText() + self.update_node_texte() if self.isExpanded() : for child in self.children: - if child.isHidden() == false : child.updateTexte() + if child.isHidden() == false : child.update_texte() def forceRecalculChildren(self,niveau): @@ -821,10 +753,10 @@ class JDCNode(QTreeWidgetItem,GereRegles): Declenche la copie de l'objet item avec pour cible l'objet passe en argument : node_selected """ - objet_a_copier = self.item.getCopieObjet() + objet_a_copier = self.item.get_copie_objet() child=node_selected.doPasteCommande(objet_a_copier,pos) if self.editor.fenetreCentraleAffichee : self.editor.fenetreCentraleAffichee.node.affichePanneau() - self.updateNodeLabelInBlack() + self.update_node_label_in_black() return child def doPasteCommande(self,objet_a_copier,pos='after'): @@ -835,7 +767,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): child=None try : #if 1 : - child = self.appendBrother(objet_a_copier,pos) + child = self.append_brother(objet_a_copier,pos) except : pass return child @@ -844,11 +776,12 @@ class JDCNode(QTreeWidgetItem,GereRegles): """ Realise la copie de l'objet passe en argument (objet_a_copier) """ - objet = objet_a_copier.item.getCopieObjet() - child = self.appendChild(objet,pos='first') + objet = objet_a_copier.item.get_copie_objet() + child = self.append_child(objet,pos='first') return child def plieToutEtReafficheSaufItem(self, itemADeplier): + #print "je suis dans plieToutEtReaffiche", self.item.get_nom() self.inhibeExpand=True from InterfaceQT4 import compojdc if (isinstance(self, compojdc.Node)) : @@ -867,7 +800,6 @@ class JDCNode(QTreeWidgetItem,GereRegles): self.inhibeExpand=False def plieToutEtReaffiche(self): - #print ('plieToutEtReaffiche', self.item.getNom()) from InterfaceQT4 import compojdc if (isinstance(self, compojdc.Node)) : self.affichePanneau(); return self.inhibeExpand=True @@ -878,7 +810,6 @@ class JDCNode(QTreeWidgetItem,GereRegles): if (isinstance(item,compobloc.Node)) : continue item.setPlie() self.affichePanneau() - #print ("fin plieToutEtReaffiche", self.item.getNom()) def deplieToutEtReaffiche(self): self.editor.deplier = True @@ -888,7 +819,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): def setPlie(self): #print "je mets inhibeExpand a true dans setPlie" - #print ("je suis dans plieTout", self.item.getNom()) + #print "je suis dans plieTout", self.item.get_nom() from . import compojdc if self.fenetre == self.editor.fenetreCentraleAffichee and isinstance(self.treeParent,compojdc.Node): return @@ -905,17 +836,15 @@ class JDCNode(QTreeWidgetItem,GereRegles): # item.appartientAUnNoeudPlie=False def setPlieChildren(self): + #print ("dans setPlieChildren pour", self.item.nom) self.plie=True - from InterfaceQT4 import composimp - if isinstance(self,composimp.Node) : return for c in self.children : c.setPlieChildren() - #print "dans setPlieChildren appartientAUnNoeudPlie=True ", c, c.item.getLabelText()[0] + #print "dans setPlieChildren appartientAUnNoeudPlie=True ", c, c.item.GetLabelText()[0] c.appartientAUnNoeudPlie=True c.plie=True #print "dans setPlieChildren plie", c.item.nom - # 01/2018 PNPN : boucle sur MT __ La ligne suivante ne me semble pas necessaire - #if not (isinstance(c,composimp.Node)) :c.setExpanded(False) + c.setExpanded(False) # Pour les blocs et les motcles list # on affiche un niveau de plus @@ -927,11 +856,21 @@ class JDCNode(QTreeWidgetItem,GereRegles): niveauPere=niveauPere.treeParent for c in self.children : c.appartientAUnNoeudPlie=niveauPere.appartientAUnNoeudPlie - #print ("dans setPlieChildren appartientAUnNoeudPlie=True ", c, c.item.getLabelText()[0], "mis a la valeur ", niveauPere.appartientAUnNoeudPlie) + #print "dans setPlieChildren appartientAUnNoeudPlie=True ", c, c.item.GetLabelText()[0], "mis a la valeur ", niveauPere.appartientAUnNoeudPlie c.setExpanded(False) + # on affiche un niveau de plus + #if isinstance(self,compomclist.Node) : + #if isinstance(self,compobloc.Node) : + # niveauPere=self.treeParent + # while (isinstance(niveauPere,compobloc.Node)): + # niveauPere=niveauPere.treeParent + # for c in self.children : + # c.appartientAUnNoeudPlie=niveauPere.appartientAUnNoeudPlie def setDeplie(self): + #print "dans setPlieChildren pour", self.item.nom + #print "je mets inhibeExpand a true dans setDeplie" self.tree.inhibeExpand=True self.plie=False self.tree.expandItem(self) @@ -940,7 +879,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): #print "je mets inhibeExpand a false dans setDePlie" def setDeplieChildren(self): - #print "dans setDeplieChildren appartientAUnNoeudPlie=False ", self.item.getLabelText() + #print "dans setDeplieChildren appartientAUnNoeudPlie=False ", self.item.GetLabelText() for c in self.children : c.setDeplieChildren() #print "dans setDeplieChildren ", c.item.nom diff --git a/InterfaceQT4/compobloc.py b/InterfaceQT4/compobloc.py index f41f7c07..a4ad9627 100644 --- a/InterfaceQT4/compobloc.py +++ b/InterfaceQT4/compobloc.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -48,12 +48,12 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal): class BLOCTreeItem(compofact.FACTTreeItem): itemNode=Node - #def get_objet(self,name) : - # for v in self.object.mcListe: - # if v.nom == name : return v - # return None + def get_objet(self,name) : + for v in self.object.mc_liste: + if v.nom == name : return v + return None - def isCopiable(self): + def iscopiable(self): return 0 diff --git a/InterfaceQT4/compocomm.py b/InterfaceQT4/compocomm.py index cedfadce..b7e4c800 100644 --- a/InterfaceQT4/compocomm.py +++ b/InterfaceQT4/compocomm.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -38,21 +38,21 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodePartiel): def createPopUpMenu(self): typeNode.PopUpMenuNodePartiel.createPopUpMenu(self) - self.Decommente = QAction(tr("decommenter"),self.tree) - self.Decommente.triggered.connect(self.decommenter) + self.Decommente = QAction(tr("Decommenter"),self.tree) + self.Decommente.triggered.connect(self.Decommenter) self.Decommente.setStatusTip(tr("Decommente la commande ")) - if hasattr(self.item,'unComment'): + if hasattr(self.item,'uncomment'): self.menu.addAction(self.Decommente) - def decommenter(self) : + def Decommenter(self) : item= self.tree.currentItem() item.unCommentIt() - def updateNodeLabel(self) : + def update_node_label(self) : """ """ - debComm=self.item.getText() + debComm=self.item.GetText() self.setText(1,debComm) @@ -61,9 +61,9 @@ class COMMTreeItem(Objecttreeitem.ObjectTreeItem): itemNode=Node def init(self): - self.setFunction = self.setValeur + self.setfunction = self.set_valeur - def getIconName(self): + def GetIconName(self): """ Retourne le nom de l'icone associee au noeud qui porte self, dependant de la validite de l'objet @@ -71,7 +71,7 @@ class COMMTreeItem(Objecttreeitem.ObjectTreeItem): """ return "ast-white-percent" - def getLabelText(self): + def GetLabelText(self): """ Retourne 3 valeurs : - le texte a afficher dans le noeud representant l'item - la fonte dans laquelle afficher ce texte @@ -79,13 +79,13 @@ class COMMTreeItem(Objecttreeitem.ObjectTreeItem): """ return tr('Commentaire'),None,None - def getValeur(self): + def get_valeur(self): """ Retourne la valeur de l'objet Commentaire cad son texte """ - return self.object.getValeur() or '' + return self.object.get_valeur() or '' - def getText(self): + def GetText(self): texte = self.object.valeur texte = texte.split('\n')[0] if len(texte) < 25 : @@ -93,23 +93,23 @@ class COMMTreeItem(Objecttreeitem.ObjectTreeItem): else : return texte[0:24] - def setValeur(self,valeur): + def set_valeur(self,valeur): """ Affecte valeur a l'objet COMMENTAIRE """ - self.object.setValeur(valeur) + self.object.set_valeur(valeur) - def getSubList(self): + def GetSubList(self): """ Retourne la liste des fils de self """ return [] - def getObjetCommentarise(self): + def get_objet_commentarise(self): """ - La methode getObjetCommentarise() de la classe compocomm.COMMTreeItem - surcharge la methode getObjetCommentarise de la classe Objecttreeitem.ObjectTreeItem + La methode get_objet_commentarise() de la classe compocomm.COMMTreeItem + surcharge la methode get_objet_commentarise de la classe Objecttreeitem.ObjectTreeItem elle a pour but d'empecher l'utilisateur final de commentariser un commentaire. """ raise EficasException( 'Impossible de commentariser un commentaire' ) diff --git a/InterfaceQT4/compocommandecomm.py b/InterfaceQT4/compocommandecomm.py index 41eed95a..29a737f9 100644 --- a/InterfaceQT4/compocommandecomm.py +++ b/InterfaceQT4/compocommandecomm.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -28,20 +28,20 @@ class COMMANDE_COMMTreeItem(Objecttreeitem.ObjectTreeItem): itemNode=compocomm.Node def init(self): - self.setFunction = self.setValeur + self.setfunction = self.set_valeur - def getIconName(self): + def GetIconName(self): """ Retourne le nom de l'icone associee au noeud qui porte self, dependant de la validite de l'objet NB : une commande commentarisee est toujours valide ... """ - if self.isValid(): + if self.isvalid(): return "ast-green-percent" else: return "ast-red-percent" - def getLabelText(self): + def GetLabelText(self): """ Retourne 3 valeurs : - le texte a afficher dans le noeud representant l'item - la fonte dans laquelle afficher ce texte @@ -49,13 +49,13 @@ class COMMANDE_COMMTreeItem(Objecttreeitem.ObjectTreeItem): """ return 'commentaire' - def getValeur(self): + def get_valeur(self): """ Retourne la valeur de la commande commentarisee cad son texte """ - return self.object.getValeur() or '' + return self.object.get_valeur() or '' - def getText(self): + def GetText(self): texte = self.object.valeur texte = texte.split('\n')[0] if len(texte) < 25 : @@ -63,26 +63,26 @@ class COMMANDE_COMMTreeItem(Objecttreeitem.ObjectTreeItem): else : return texte[0:24] - def setValeur(self,valeur): + def set_valeur(self,valeur): """ Afefcte valeur a l'objet commande commentarisee """ - self.object.setValeur(valeur) + self.object.set_valeur(valeur) - def getSubList(self): + def GetSubList(self): """ Retourne la liste des fils de self """ return [] - def unComment(self): + def uncomment(self): """ Demande a l'objet commande commentarisee de se decommentariser. Si l'operation s'effectue correctement, retourne l'objet commande et eventuellement le nom de la sd produite, sinon leve une exception """ try: - commande,nom = self.object.unComment() + commande,nom = self.object.uncomment() #self.parent.children[pos].select() except Exception as e: traceback.print_exc() diff --git a/InterfaceQT4/compofact.py b/InterfaceQT4/compofact.py index 8a9d66fb..164107ee 100644 --- a/InterfaceQT4/compofact.py +++ b/InterfaceQT4/compofact.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -19,19 +19,19 @@ # from __future__ import absolute_import -from InterfaceQT4 import browser -from InterfaceQT4 import typeNode +from . import browser +from . import typeNode from Extensions.i18n import tr from Editeur import Objecttreeitem import six -import traceback class Node(browser.JDCNode,typeNode.PopUpMenuNodePartiel): def getPanelGroupe(self,parentQt,commande,insertIn=-1): + import traceback maDefinition=self.item.get_definition() monObjet=self.item.object monNom=self.item.nom @@ -39,15 +39,15 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodePartiel): if hasattr(parentQt,'niveau'): self.niveau=parentQt.niveau+1 else : self.niveau=1 #if hasattr(self,'plie') :print self.item.nom, self.plie - #if maDefinition.fenetreIhm == 'Tableau': - # from InterfaceQt4.monWidgetFact import MonWidgetFactTableau - # widget=MonWidgetFactTableau(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande) + #if maDefinition.sensLayout == 'horizontal': + # from .monWidgetFact import MonWidgetFactHorizontal + # widget=MonWidgetFactHorizontal(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande) #elif hasattr(self,'plie') and self.plie==True : if hasattr(self,'plie') and self.plie==True : - from InterfaceQT4.monWidgetFactPlie import MonWidgetFactPlie + from .monWidgetFactPlie import MonWidgetFactPlie widget=MonWidgetFactPlie(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande,insertIn) else: - from InterfaceQT4.monWidgetFact import MonWidgetFact + from .monWidgetFact import MonWidgetFact widget=MonWidgetFact(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande,insertIn) return widget @@ -59,32 +59,32 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodePartiel): class FACTTreeItem(Objecttreeitem.ObjectTreeItem): itemNode=Node - def isExpandable(self): + def IsExpandable(self): return 1 - def getText(self): + def GetText(self): return '' - def getLabelText(self): + def GetLabelText(self): """ Retourne 3 valeurs : - le texte à afficher dans le noeud representant l'item - la fonte dans laquelle afficher ce texte - la couleur du texte """ # None --> fonte et couleur par defaut - if not(hasattr(self.object,'getLabelText')): return self.object.nom,None,None - return self.object.getLabelText(),None,None + if not(hasattr(self.object,'getlabeltext')): return self.object.nom,None,None + return self.object.getlabeltext(),None,None - def isValid(self): - return self.object.isValid() + def isvalid(self): + return self.object.isvalid() - def isCopiable(self): + def iscopiable(self): return 1 - def getIconName(self): - if self.object.isValid(): + def GetIconName(self): + if self.object.isvalid(): return "ast-green-los" - elif self.object.isOblig(): + elif self.object.isoblig(): return "ast-red-los" else: return "ast-yel-los" @@ -94,11 +94,11 @@ class FACTTreeItem(Objecttreeitem.ObjectTreeItem): # keys=self.object.mc_dict # return keys - def getSubList(self): + def GetSubList(self): """ Reactualise la liste des items fils stockes dans self.sublist """ - liste=self.object.mcListe + liste=self.object.mc_liste sublist=[None]*len(liste) # suppression des items lies aux objets disparus for item in self.sublist: @@ -113,20 +113,20 @@ class FACTTreeItem(Objecttreeitem.ObjectTreeItem): for obj in liste: if sublist[pos] is None: # nouvel objet : on cree un nouvel item - def setFunction(value, object=obj): + def setfunction(value, object=obj): object.setval(value) - item = self.makeObjecttreeitem(self.appli, obj.nom + " : ", obj, setFunction) + item = self.make_objecttreeitem(self.appli, obj.nom + " : ", obj, setfunction) sublist[pos]=item pos=pos+1 self.sublist=sublist return self.sublist - def addItem(self,name,pos): - objet = self.object.addEntite(name,pos) + def additem(self,name,pos): + objet = self.object.addentite(name,pos) return objet - def suppItem(self,item) : + def suppitem(self,item) : """ Cette methode a pour fonction de supprimer l'item passee en argument des fils de l'item FACT qui est son pere @@ -134,13 +134,16 @@ class FACTTreeItem(Objecttreeitem.ObjectTreeItem): - item.getObject() = MCSIMP ou MCBLOC """ itemobject=item.getObject() - if itemobject.isOblig() : + if itemobject.isoblig() : + #self.editor.affiche_infos(tr('Impossible de supprimer un mot-cle obligatoire '),Qt.red) return (0, tr('Impossible de supprimer un mot-cle obligatoire ')) - if self.object.suppEntite(itemobject): + if self.object.suppentite(itemobject): message = tr("Mot-cle %s supprime")+ six.text_type(itemobject.nom) + #self.editor.affiche_commentaire(message) return (1, message) else: + #self.editor.affiche_infos(tr('Pb interne : impossible de supprimer ce mot-cle'),Qt.red) return (0,tr('Pb interne : impossible de supprimer ce mot-cle')) import Accas diff --git a/InterfaceQT4/compoformule.py b/InterfaceQT4/compoformule.py index d18af81b..8f5ff2af 100644 --- a/InterfaceQT4/compoformule.py +++ b/InterfaceQT4/compoformule.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -49,12 +49,12 @@ class FORMULETreeItem(compooper.EtapeTreeItem): itemNode=FormuleNode def init(self): - self.setFunction = self.setValeur + self.setfunction = self.set_valeur # --------------------------------------------------------------------------- # API de FORMULE pour l'arbre # --------------------------------------------------------------------------- - def getSubList(self): + def GetSubList(self): """ Retourne la liste des fils de self On considere que FORMULE n'a pas de fils @@ -64,27 +64,27 @@ class FORMULETreeItem(compooper.EtapeTreeItem): # de facon traditionnelle return [] - def getIconName(self): + def GetIconName(self): """ Retourne le nom de l'icone a afficher dans l'arbre Ce nom depend de la validite de l'objet """ - if self.object.isActif(): - if self.object.isValid(): + if self.object.isactif(): + if self.object.isvalid(): return "ast-green-square" else: return "ast-red-square" else: return "ast-white-text" - def getLabelText(self): + def GetLabelText(self): """ Retourne 3 valeurs : - le texte a afficher dans le noeud representant l'item - la fonte dans laquelle afficher ce texte - la couleur du texte """ return self.labeltext,None,None - #if self.object.isActif(): + #if self.object.isactif(): # None --> fonte et couleur par defaut # return tr(self.labeltext),None,None #else: @@ -96,24 +96,24 @@ class FORMULETreeItem(compooper.EtapeTreeItem): # du parametre = API graphique de la FORMULE pour Panel et EFICAS # --------------------------------------------------------------------------- - def getNom(self): + def get_nom(self): """ Retourne le nom de la FORMULE """ - return self.object.getNom() + return self.object.get_nom() - def getType(self): + def get_type(self): """ Retourne le type de la valeur retournee par la FORMULE """ return self.object.type_retourne - def getArgs(self): + def get_args(self): """ Retourne les arguments de la FORMULE """ args="" - for mot in self.object.mcListe: + for mot in self.object.mc_liste: if mot.nom == 'NOM_PARA': args=mot.valeur break @@ -127,26 +127,26 @@ class FORMULETreeItem(compooper.EtapeTreeItem): pass return args - def getCorps(self): + def get_corps(self): """ Retourne le corps de la FORMULE """ corps="" - for mot in self.object.mcListe: + for mot in self.object.mc_liste: if mot.nom == 'VALE': corps=mot.valeur break return corps - def getListeTypesAutorises(self): + def get_liste_types_autorises(self): """ Retourne la liste des types autorises pour les valeurs de sortie d'une FORMULE """ return self.object.l_types_autorises - def saveFormule(self,new_nom,new_typ,new_arg,new_exp): + def save_formule(self,new_nom,new_typ,new_arg,new_exp): """ Verifie si (new_nom,new_typ,new_arg,new_exp) definit bien une FORMULE licite : @@ -155,41 +155,41 @@ class FORMULETreeItem(compooper.EtapeTreeItem): - si non, laisse les parametres anciens de la FORMULE inchanges et retourne 0 """ - test,erreur = self.object.verifFormule_python(formule=(new_nom,new_typ,new_arg, + test,erreur = self.object.verif_formule_python(formule=(new_nom,new_typ,new_arg, new_exp)) if test : # la formule est bien correcte : on sauve les nouveaux parametres - test=self.object.updateFormulePython(formule=(new_nom,new_typ,new_exp,new_arg)) + test=self.object.update_formule_python(formule=(new_nom,new_typ,new_exp,new_arg)) return test,erreur # --------------------------------------------------------------------------- # Acces aux methodes de verification de l'objet FORM_ETAPE # --------------------------------------------------------------------------- - def verifNom(self,nom): + def verif_nom(self,nom): """ Lance la verification du nom passe en argument """ - return self.object.verifNom(nom) + return self.object.verif_nom(nom) - def verifArguments(self,arguments): + def verif_arguments(self,arguments): """ Lance la verification des arguments passes en argument """ - return self.object.verifArguments('('+arguments+')') + return self.object.verif_arguments('('+arguments+')') - def verifFormule(self,formule): + def verif_formule(self,formule): """ Lance la verification de FORMULE passee en argument """ - return self.object.verifFormule(formule=formule) + return self.object.verif_formule(formule=formule) - def verifFormule_python(self,formule): + def verif_formule_python(self,formule): """ Lance la verification de FORMULE passee en argument """ - return self.object.verifFormule_python(formule=formule) + return self.object.verif_formule_python(formule=formule) import Accas treeitem =FORMULETreeItem diff --git a/InterfaceQT4/compojdc.py b/InterfaceQT4/compojdc.py index 111a4e98..43d862d4 100644 --- a/InterfaceQT4/compojdc.py +++ b/InterfaceQT4/compojdc.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -36,7 +36,7 @@ class Node(browser.JDCNode,typeNode.PopUpMenuRacine): typeNode.PopUpMenuRacine.createPopUpMenu(self) def addParameters(self,apres): - param=self.appendChild("PARAMETRE",pos=0) + param=self.append_child("PARAMETRE",pos=0) return param @@ -44,24 +44,24 @@ class Node(browser.JDCNode,typeNode.PopUpMenuRacine): class JDCTreeItem(Objecttreeitem.ObjectTreeItem): itemNode=Node - def isExpandable(self): + def IsExpandable(self): return 1 - def getText(self): + def GetText(self): return " " - def getLabelText(self): + def GetLabelText(self): # None --> fonte et couleur par defaut return tr(self.object.nom),None,None - def getJdc(self): + def get_jdc(self): """ Retourne l'objet pointe par self """ return self.object - def getIconName(self): - if self.object.isValid(): + def GetIconName(self): + if self.object.isvalid(): return "ast-green-square" else: return "ast-red-square" @@ -72,17 +72,17 @@ class JDCTreeItem(Objecttreeitem.ObjectTreeItem): # else: # return range(len(self.object.etapes)) - def addItem(self,name,pos): - cmd = self._object.addEntite(name,pos) + def additem(self,name,pos): + cmd = self._object.addentite(name,pos) return cmd - def suppItem(self,item) : + def suppitem(self,item) : # item = item de l'ETAPE a supprimer du JDC # item.getObject() = ETAPE ou COMMENTAIRE # self.object = JDC itemobject=item.getObject() - if self.object.suppEntite(itemobject): + if self.object.suppentite(itemobject): if itemobject.nature == "COMMENTAIRE" : message = tr("Commentaire supprime") else : @@ -92,7 +92,7 @@ class JDCTreeItem(Objecttreeitem.ObjectTreeItem): message=tr("Pb interne : impossible de supprimer cet objet") return 0,message - def getSubList(self): + def GetSubList(self): """ Retourne la liste des items fils de l'item jdc. Cette liste est conservee et mise a jour a chaque appel @@ -115,19 +115,19 @@ class JDCTreeItem(Objecttreeitem.ObjectTreeItem): for obj in liste: if sublist[pos] is None: # nouvel objet : on cree un nouvel item - item = self.makeObjecttreeitem(self.appli, obj.nom + " : ", obj) + item = self.make_objecttreeitem(self.appli, obj.nom + " : ", obj) sublist[pos]=item pos=pos+1 self.sublist=sublist return self.sublist - def getLNomsEtapes(self): + def get_l_noms_etapes(self): """ Retourne la liste des noms des etapes de self.object""" - return self.object.getLNomsEtapes() + return self.object.get_l_noms_etapes() - def getListeCmd(self): - listeCmd = self.object.niveau.definition.getListeCmd() + def get_liste_cmd(self): + listeCmd = self.object.niveau.definition.get_liste_cmd() return listeCmd import Accas diff --git a/InterfaceQT4/compomacro.py b/InterfaceQT4/compomacro.py index 64a9d63f..8324df20 100644 --- a/InterfaceQT4/compomacro.py +++ b/InterfaceQT4/compomacro.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -27,9 +27,9 @@ import traceback # Modules Eficas from Editeur import Objecttreeitem from Extensions.i18n import tr -from InterfaceQT4 import compooper -from InterfaceQT4 import browser -from InterfaceQT4 import typeNode +from . import compooper +from . import browser +from . import typeNode from PyQt5.QtWidgets import QAction from PyQt5.QtCore import Qt @@ -44,12 +44,12 @@ class MACRONode(browser.JDCNode,typeNode.PopUpMenuNode): def createPopUpMenu(self): typeNode.PopUpMenuNode.createPopUpMenu(self) - if ("AFFE_CARA_ELEM" in self.item.getGenealogie()) and self.editor.salome: + if ("AFFE_CARA_ELEM" in self.item.get_genealogie()) and self.editor.salome: self.ViewElt = QAction(tr('View3D'),self.tree) self.ViewElt.triggered.connect(self.view3D) self.ViewElt.setStatusTip(tr("affiche dans Geom les elements de structure")) self.menu.addAction(self.ViewElt) - if self.item.isValid() : + if self.item.isvalid() : self.ViewElt.setEnabled(1) else: self.ViewElt.setEnabled(0) @@ -73,10 +73,10 @@ class MACROTreeItem(compooper.EtapeTreeItem): class INCLUDETreeItemBase(MACROTreeItem): - def __init__(self,appli, labeltext, object, setFunction): - MACROTreeItem.__init__(self,appli, labeltext, object, setFunction) + def __init__(self,appli, labeltext, object, setfunction): + MACROTreeItem.__init__(self,appli, labeltext, object, setfunction) - def isCopiable(self): + def iscopiable(self): return 0 @@ -98,7 +98,7 @@ class INCLUDENode(browser.JDCNode,typeNode.PopUpMenuNode): if not hasattr(self.item.object,"jdc_aux") or self.item.object.jdc_aux is None: #L'include n'est pas initialise - self.item.object.buildInclude(None,"") + self.item.object.build_include(None,"") # On cree un nouvel onglet dans le bureau self.editor.vm.displayJDC( self.item.object.jdc_aux , self.item.object.jdc_aux.nom ) @@ -130,7 +130,7 @@ class POURSUITENode(browser.JDCNode, typeNode.PopUpMenuNode): if not hasattr(self.item.object,"jdc_aux") or self.item.object.jdc_aux is None: text="""DEBUT() FIN()""" - self.object.buildPoursuite(None,text) + self.object.build_poursuite(None,text) # On cree un nouvel onglet dans le bureau self.editor.vm.displayJDC( self.item.object.jdc_aux , self.item.object.jdc_aux.nom) @@ -174,18 +174,18 @@ class INCLUDE_MATERIAUTreeItem(INCLUDETreeItemBase): # ------------------------------------ -def treeitem(appli, labeltext, object, setFunction=None): +def treeitem(appli, labeltext, object, setfunction=None): """ Factory qui retourne l'item adapte au type de macro : INCLUDE, POURSUITE, MACRO """ if object.nom == "INCLUDE_MATERIAU": - return INCLUDE_MATERIAUTreeItem(appli, labeltext, object, setFunction) + return INCLUDE_MATERIAUTreeItem(appli, labeltext, object, setfunction) elif object.nom == "INCLUDE" or object.nom== "DICTDATA": - return INCLUDETreeItem(appli, labeltext, object, setFunction) + return INCLUDETreeItem(appli, labeltext, object, setfunction) elif object.nom == "POURSUITE": - return POURSUITETreeItem(appli, labeltext, object, setFunction) + return POURSUITETreeItem(appli, labeltext, object, setfunction) else: - return MACROTreeItem(appli, labeltext, object, setFunction) + return MACROTreeItem(appli, labeltext, object, setfunction) import Accas objet=Accas.MACRO_ETAPE diff --git a/InterfaceQT4/compomclist.py b/InterfaceQT4/compomclist.py index 7035e14b..8ae69573 100644 --- a/InterfaceQT4/compomclist.py +++ b/InterfaceQT4/compomclist.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -41,30 +41,30 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal): monObjet=self.item.object monNom=self.item.nom maCommande=commande + #print "ds getPanelGroupe" , self.item.nom if hasattr(parentQt,'niveau'): self.niveau=parentQt.niveau+1 else : self.niveau=1 - # attention si l objet est une mclist on utilise bloc if not (monObjet.isMCList()) : if hasattr(self,'plie') and self.plie==True : - from InterfaceQT4.monWidgetFactPlie import MonWidgetFactPlie + from .monWidgetFactPlie import MonWidgetFactPlie widget=MonWidgetFactPlie(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande,insertIn) else: - from InterfaceQT4.monWidgetFact import MonWidgetFact + from .monWidgetFact import MonWidgetFact widget=MonWidgetFact(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande,insertIn) else : - from InterfaceQT4.monWidgetBloc import MonWidgetBloc + from .monWidgetBloc import MonWidgetBloc widget=MonWidgetBloc(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande) return widget def doPaste(self,node_selected,pos): - objet_a_copier = self.item.getCopieObjet() + objet_a_copier = self.item.get_copie_objet() # before est un effet de bord heureux sur l index - child=self.appendBrother(objet_a_copier,'before') + child=self.append_brother(objet_a_copier,'before') if self.editor.fenetreCentraleAffichee : self.editor.fenetreCentraleAffichee.node.affichePanneau() - self.update_NodeLabelInBlack() - self.parent().buildChildren() + self.update_node_label_in_black() + self.parent().build_children() return child @@ -87,9 +87,9 @@ class MCListTreeItem(Objecttreeitem.SequenceTreeItem,compofact.FACTTreeItem): def updateDelegate(self): if len(self._object) > 1: - self.setDelegate(self._object) + self.setdelegate(self._object) else: - self.setDelegate(self._object.data[0]) + self.setdelegate(self._object.data[0]) def panel(self,jdcdisplay,pane,node): """ Retourne une instance de l'objet panneau associe a l'item (self) @@ -104,17 +104,17 @@ class MCListTreeItem(Objecttreeitem.SequenceTreeItem,compofact.FACTTreeItem): else: return compofact.FACTPanel(jdcdisplay,pane,node) - def isExpandable(self): + def IsExpandable(self): if len(self._object) > 1: - return Objecttreeitem.SequenceTreeItem.isExpandable(self) + return Objecttreeitem.SequenceTreeItem.IsExpandable(self) else: - return compofact.FACTTreeItem.isExpandable(self) + return compofact.FACTTreeItem.IsExpandable(self) - def getSubList(self): + def GetSubList(self): self.updateDelegate() if len(self._object) <= 1: self._object.data[0].alt_parent=self._object - return compofact.FACTTreeItem.getSubList(self) + return compofact.FACTTreeItem.GetSubList(self) liste=self._object.data sublist=[None]*len(liste) @@ -131,9 +131,9 @@ class MCListTreeItem(Objecttreeitem.SequenceTreeItem,compofact.FACTTreeItem): for obj in liste: if sublist[pos] is None: # nouvel objet : on cree un nouvel item - def setFunction(value, object=obj): + def setfunction(value, object=obj): object=value - item = self.makeObjecttreeitem(self.appli, obj.nom + " : ", obj, setFunction) + item = self.make_objecttreeitem(self.appli, obj.nom + " : ", obj, setfunction) sublist[pos]=item #Attention : on ajoute une information supplementaire pour l'actualisation de # la validite. L'attribut parent d'un MCFACT pointe sur le parent de la MCLISTE @@ -145,23 +145,23 @@ class MCListTreeItem(Objecttreeitem.SequenceTreeItem,compofact.FACTTreeItem): self.sublist=sublist return self.sublist - def getIconName(self): - if self._object.isValid(): + def GetIconName(self): + if self._object.isvalid(): return "ast-green-los" - elif self._object.isOblig(): + elif self._object.isoblig(): return "ast-red-los" else: return "ast-yel-los" - def getDocu(self): + def get_docu(self): """ Retourne la clef de doc de l'objet pointe par self """ - return self.object.getDocu() + return self.object.get_docu() - def isCopiable(self): + def iscopiable(self): if len(self._object) > 1: - return Objecttreeitem.SequenceTreeItem.isCopiable(self) + return Objecttreeitem.SequenceTreeItem.iscopiable(self) else: - return compofact.FACTTreeItem.isCopiable(self) + return compofact.FACTTreeItem.iscopiable(self) def isMCFact(self): """ @@ -175,29 +175,30 @@ class MCListTreeItem(Objecttreeitem.SequenceTreeItem,compofact.FACTTreeItem): """ return len(self._object) > 1 - def getCopieObjet(self): + def get_copie_objet(self): return self._object.data[0].copy() - def addItem(self,obj,pos): - #print "compomclist.addItem",obj,pos + def additem(self,obj,pos): + #print "compomclist.additem",obj,pos if len(self._object) <= 1: - return compofact.FACTTreeItem.addItem(self,obj,pos) + return compofact.FACTTreeItem.additem(self,obj,pos) - o= self.object.addEntite(obj,pos) + o= self.object.addentite(obj,pos) return o - def suppItem(self,item): + def suppitem(self,item): """ Retire un objet MCFACT de la MCList (self.object) """ - #print "compomclist.suppItem",item + #print "compomclist.suppitem",item obj=item.getObject() if len(self._object) <= 1: - return compofact.FACTTreeItem.suppItem(self,item) + return compofact.FACTTreeItem.suppitem(self,item) - if self.object.suppEntite(obj): + if self.object.suppentite(obj): if len(self._object) == 1: self.updateDelegate() message = "Mot-clef " + obj.nom + " supprime" + #self.editor.affiche_commentaire(message) return (1,message) else: return (0,tr('Impossible de supprimer ce mot-clef')) @@ -206,8 +207,8 @@ class MCListTreeItem(Objecttreeitem.SequenceTreeItem,compofact.FACTTreeItem): import Accas objet = Accas.MCList -def treeitem(appli,labeltext,object,setFunction): +def treeitem(appli,labeltext,object,setfunction): """ Factory qui produit un objet treeitem adapte a un objet Accas.MCList (attribut objet de ce module) """ - return MCListTreeItem(appli,labeltext,object,setFunction) + return MCListTreeItem(appli,labeltext,object,setfunction) diff --git a/InterfaceQT4/compooper.py b/InterfaceQT4/compooper.py index c03704bf..35b1e2f0 100644 --- a/InterfaceQT4/compooper.py +++ b/InterfaceQT4/compooper.py @@ -1,5 +1,5 @@ #-*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -43,19 +43,19 @@ class Node(browser.JDCNode, typeNode.PopUpMenuNode): self.treeParent.tree.openPersistentEditor(self,1) self.monWidgetNom=self.treeParent.tree.itemWidget(self,1) self.monWidgetNom.returnPressed.connect(self.nomme) - if self.item.getIconName() == "ast-red-square" : self.monWidgetNom.setDisabled(True) + if self.item.GetIconName() == "ast-red-square" : self.monWidgetNom.setDisabled(True) #else : self.monWidgetNom.setFocus() ;self.monWidgetNom.setDisabled(False) def nomme(self): nom=str(self.monWidgetNom.text()) - self.editor.initModif() - test,mess = self.item.nommeSd(nom) + self.editor.init_modif() + test,mess = self.item.nomme_sd(nom) if (test== 0): - self.editor.afficheInfos(mess,Qt.red) - old=self.item.getText() + self.editor.affiche_infos(mess,Qt.red) + old=self.item.GetText() self.monWidgetNom.setText(old) else : - self.editor.afficheCommentaire(tr("Nommage du concept effectue")) + self.editor.affiche_commentaire(tr("Nommage du concept effectue")) self.onValid() try : self.fenetre.LENom.setText(nom) @@ -69,21 +69,21 @@ class Node(browser.JDCNode, typeNode.PopUpMenuNode): def createPopUpMenu(self): typeNode.PopUpMenuNode.createPopUpMenu(self) - if ("AFFE_CARA_ELEM" in self.item.getGenealogie()) and self.editor.salome: + if ("AFFE_CARA_ELEM" in self.item.get_genealogie()) and self.editor.salome: self.ViewElt = QAction(tr('View3D'),self.tree) self.tree.connect(self.ViewElt,SIGNAL("triggered()"),self.view3D) self.ViewElt.setStatusTip(tr("affiche dans Geom les elements de structure")) self.menu.addAction(self.ViewElt) - if self.item.isValid() : + if self.item.isvalid() : self.ViewElt.setEnabled(1) else: self.ViewElt.setEnabled(0) - if self.item.getNom() == "DISTRIBUTION" : + if self.item.get_nom() == "DISTRIBUTION" : self.Graphe = QAction(tr('Graphique'),self.tree) self.Graphe.triggered.connect(self.viewPng) self.Graphe.setStatusTip(tr("affiche la distribution ")) self.menu.addAction(self.Graphe) - if self.item.isValid() : + if self.item.isvalid() : self.Graphe.setEnabled(1) else: self.Graphe.setEnabled(0) @@ -102,7 +102,7 @@ class Node(browser.JDCNode, typeNode.PopUpMenuNode): g.gener(self.item.object, format='beautifie') stdGener = g.getGenerateur() loi = list(g.dictMCLois.keys())[0] - nomLoi = loi.getName() + nomLoi = loi.get_name() (fd, fichier) = tempfile.mkstemp(prefix = "openturns_graph_", suffix = ".png") os.close(fd) chemin = os.path.dirname(fichier) @@ -136,21 +136,21 @@ class EtapeTreeItem(Objecttreeitem.ObjectTreeItem): """ itemNode=Node - def isExpandable(self): + def IsExpandable(self): return 1 - def getIconName(self): + def GetIconName(self): """ Retourne le nom de l'icone a afficher dans l'arbre Ce nom depend de la validite de l'objet """ - if not self.object.isActif(): + if not self.object.isactif(): return "ast-white-square" - elif self.object.isValid(): + elif self.object.isvalid(): return "ast-green-square" else: - valid=self.validChild() - valid=valid * self.validRegles("non") + valid=self.valid_child() + valid=valid * self.valid_regles("non") if self.reste_val != {}: valid=0 if valid==0 : @@ -165,54 +165,57 @@ class EtapeTreeItem(Objecttreeitem.ObjectTreeItem): pass return "ast-yellow-square" - def getLabelText(self): + def GetLabelText(self): """ Retourne 3 valeurs : - le texte a afficher dans le noeud représentant l'item - la fonte dans laquelle afficher ce texte - la couleur du texte """ return self.labeltext,None,None - #if self.object.isActif(): + #if self.object.isactif(): # None --> fonte et couleur par défaut # return self.labeltext,None,None #else: # return self.labeltext, None, None #CS_pbruno todo - #def get_objet(self,name) : - # for v in self.object.mcListe: - # if v.nom == name : return v - # return None + def get_objet(self,name) : + for v in self.object.mc_liste: + if v.nom == name : return v + return None - # def getType_sd_prod(self): - # """ - # Retourne le nom du type du concept résultat de l'étape - # """ - # sd_prod=self.object.getType_produit() - # if sd_prod: - # return sd_prod.__name__ - # else: - # return "" - - def addItem(self,name,pos): - mcent = self._object.addEntite(name,pos) + def get_type_sd_prod(self): + """ + Retourne le nom du type du concept résultat de l'étape + """ + sd_prod=self.object.get_type_produit() + if sd_prod: + return sd_prod.__name__ + else: + return "" + + def additem(self,name,pos): + mcent = self._object.addentite(name,pos) return mcent - def suppItem(self,item) : + def suppitem(self,item) : # item : item du MOCLE de l'ETAPE a supprimer # item.getObject() = MCSIMP, MCFACT, MCBLOC ou MCList itemobject=item.getObject() - if itemobject.isOblig() : + if itemobject.isoblig() : + #self.editor.affiche_infos(tr('Impossible de supprimer un mot-clef obligatoire '),Qt.red) return (0,tr('Impossible de supprimer un mot-clef obligatoire ')) - if self.object.suppEntite(itemobject): + if self.object.suppentite(itemobject): message = tr("Mot-clef %s supprime " , itemobject.nom) + #self.editor.affiche_commentaire(message) return (1,message) else : + #self.editor.affiche_commentaire(tr('Pb interne : impossible de supprimer ce mot-clef'),Qt.red) return (0,tr('Pb interne : impossible de supprimer ce mot-clef')) - def getText(self): + def GetText(self): try: - return self.object.getSdname() + return self.object.get_sdname() except: return '' @@ -221,12 +224,12 @@ class EtapeTreeItem(Objecttreeitem.ObjectTreeItem): # keys=self.object.mc_dict # return keys - def getSubList(self): + def GetSubList(self): """ Reactualise la liste des items fils stockes dans self.sublist """ - if self.isActif(): - liste=self.object.mcListe + if self.isactif(): + liste=self.object.mc_liste else: liste=[] @@ -245,19 +248,19 @@ class EtapeTreeItem(Objecttreeitem.ObjectTreeItem): for obj in liste: if sublist[pos] is None: # nouvel objet : on cree un nouvel item - def setFunction(value, object=obj): + def setfunction(value, object=obj): object.setval(value) - item = self.makeObjecttreeitem(self.appli, obj.nom + " : ", obj, setFunction) + item = self.make_objecttreeitem(self.appli, obj.nom + " : ", obj, setfunction) sublist[pos]=item pos=pos+1 self.sublist=sublist return self.sublist - def isValid(self): - return self.object.isValid() + def isvalid(self): + return self.object.isvalid() - def isCopiable(self): + def iscopiable(self): """ Retourne 1 si l'objet est copiable, 0 sinon """ @@ -270,35 +273,35 @@ class EtapeTreeItem(Objecttreeitem.ObjectTreeItem): def update(self,item): if item.sd and item.sd.nom: - self.nommeSd(item.sd.nom) + self.nomme_sd(item.sd.nom) - def nommeSd(self,nom): + def nomme_sd(self,nom): """ Lance la méthode de nommage de la SD """ oldnom="" if self.object.sd != None : oldnom=self.object.sd.nom - test,mess= self.object.nommeSd(nom) - if test:self.object.parent.resetContext() + test,mess= self.object.nomme_sd(nom) + if test:self.object.parent.reset_context() if (test and oldnom in self.appli.dict_reels ): self.appli.dict_reels[nom]=self.appli.dict_reels[oldnom] return test,mess - def isReentrant(self): - return self.object.isReentrant() + def is_reentrant(self): + return self.object.is_reentrant() - def getNomsSdOperReentrant(self): - return self.object.getNomsSdOperReentrant() + def get_noms_sd_oper_reentrant(self): + return self.object.get_noms_sd_oper_reentrant() - def getObjetCommentarise(self): + def get_objet_commentarise(self): """ Cette méthode retourne un objet commentarisé représentatif de self.object """ # Format de fichier utilisé format=self.appli.appliEficas.format_fichier - return self.object.getObjetCommentarise(format) + return self.object.get_objet_commentarise(format) - def getObjetCommentarise_BAK(self): + def get_objet_commentarise_BAK(self): """ Cette méthode retourne un objet commentarisé représentatif de self.object @@ -320,8 +323,8 @@ class EtapeTreeItem(Objecttreeitem.ObjectTreeItem): pos=self.object.parent.etapes.index(self.object) parent=self.object.parent - self.object.parent.suppEntite(self.object) - parent.addEntite(commande_comment,pos) + self.object.parent.suppentite(self.object) + parent.addentite(commande_comment,pos) return commande_comment diff --git a/InterfaceQT4/compoparam.py b/InterfaceQT4/compoparam.py index 74a44238..0dd7f810 100644 --- a/InterfaceQT4/compoparam.py +++ b/InterfaceQT4/compoparam.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -62,27 +62,27 @@ class PARAMTreeItem(Objecttreeitem.ObjectTreeItem): itemNode=Node def init(self): - self.setFunction = self.setValeur + self.setfunction = self.set_valeur # --------------------------------------------------------------------------- # API du PARAMETRE pour l'arbre # --------------------------------------------------------------------------- - def getIconName(self): + def GetIconName(self): """ Retourne le nom de l'icone associee au noeud qui porte self, dependant de la validite de l'objet NB : un PARAMETRE est toujours valide ... """ - if self.isActif(): - if self.isValid(): + if self.isactif(): + if self.isvalid(): return "ast-green-square" else: return "ast-red-square" else: return "ast-white-square" - def getLabelText(self): + def GetLabelText(self): """ Retourne 3 valeurs : - le texte a afficher dans le noeud representant l'item - la fonte dans laquelle afficher ce texte @@ -90,7 +90,7 @@ class PARAMTreeItem(Objecttreeitem.ObjectTreeItem): """ return tr('PARAMETRE'),None,None - def getText(self): + def GetText(self): """ Retourne le texte a afficher apres le nom de la commande (ici apres 'parametre') Ce texte est tronque a 25 caracteres @@ -107,7 +107,7 @@ class PARAMTreeItem(Objecttreeitem.ObjectTreeItem): else : return texte[0:24]+'...' - def getSubList(self): + def GetSubList(self): """ Retourne la liste des fils de self """ @@ -118,33 +118,33 @@ class PARAMTreeItem(Objecttreeitem.ObjectTreeItem): # du parametre = API graphique du PARAMETRE pour Panel et EFICAS # --------------------------------------------------------------------------- - def getValeur(self): + def get_valeur(self): """ Retourne la valeur de l'objet PARAMETRE cad son texte """ if self.object.valeur is None: return '' else: return self.object.valeur - def getNom(self): + def get_nom(self): """ Retourne le nom du parametre """ return self.object.nom - def setValeur(self,new_valeur): + def set_valeur(self,new_valeur): """ Affecte valeur a l'objet PARAMETRE """ - self.object.setValeur(new_valeur) + self.object.set_valeur(new_valeur) - def setNom(self,new_nom): + def set_nom(self,new_nom): """ Renomme le parametre """ - self.object.setNom(new_nom) - #self.object.setAttribut('nom',new_nom) + self.object.set_nom(new_nom) + #self.object.set_attribut('nom',new_nom) - def getFr(self): + def get_fr(self): """ Retourne le fr associe au parametre, cad la bulle d'aide pour EFICAS """ diff --git a/InterfaceQT4/compoproc.py b/InterfaceQT4/compoproc.py index dcbea7f0..2b730552 100644 --- a/InterfaceQT4/compoproc.py +++ b/InterfaceQT4/compoproc.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/InterfaceQT4/composimp.py b/InterfaceQT4/composimp.py index cf26ced0..f46c7741 100644 --- a/InterfaceQT4/composimp.py +++ b/InterfaceQT4/composimp.py @@ -1,5 +1,5 @@ # -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -28,12 +28,12 @@ import types,os from copy import copy,deepcopy import traceback -from InterfaceQT4 import typeNode +from . import typeNode # Modules Eficas -from Editeur import Objecttreeitem -from InterfaceQT4 import browser -from Noyau.N_CR import justifyText +from Editeur import Objecttreeitem +from . import browser +from Noyau.N_CR import justify_text from Accas import SalomeEntry class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal): @@ -49,7 +49,7 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal): # label informatif if monObjet.isInformation(): - from InterfaceQT4.monWidgetInfo import MonWidgetInfo + from .monWidgetInfo import MonWidgetInfo widget=MonWidgetInfo(self,maDefinition,monNom,monObjet,parentQt,maCommande) self.widget=widget return widget @@ -59,14 +59,14 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal): # Attention il faut gerer les blocs et les facteurs # a gerer comme dans composimp # Gestion des matrices - if self.item.waitMatrice (): - from InterfaceQT4.monWidgetMatrice import MonWidgetMatrice + if self.item.wait_matrice (): + from .monWidgetMatrice import MonWidgetMatrice widget=MonWidgetMatrice(self,maDefinition,monNom,monObjet,parentQt,maCommande) self.widget=widget return widget - #print "____________________________", monNom, self.item.waitCo() - #print "____________________________", monNom, self.item.waitAssd() + #print "____________________________", monNom, self.item.wait_co() + #print "____________________________", monNom, self.item.wait_assd() # Gestion d'une seule valeur (eventuellement un tuple ou un complexe) if maDefinition.into != [] and maDefinition.into != None: if type(maDefinition.into) ==types.FunctionType : monInto=maDefinition.into() @@ -76,164 +76,147 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal): if maDefinition.max == 1 : # A verifier - if maDefinition.intoSug != [] and maDefinition.intoSug != None: - from InterfaceQT4.monWidgetCBIntoSug import MonWidgetCBIntoSug - widget=MonWidgetCBIntoSug(self,maDefinition,monNom,monObjet,parentQt,maCommande) - elif maDefinition.into != [] and maDefinition.into != None: - if maDefinition.fenetreIhm=='menuDeroulant' : - from InterfaceQT4.monWidgetCB import MonWidgetCB - widget=MonWidgetCB(self,maDefinition,monNom,monObjet,parentQt,maCommande) - elif len(monInto) < 4 : - from InterfaceQT4.monWidgetRadioButton import MonWidgetRadioButton + if maDefinition.into != [] and maDefinition.into != None: + if len(monInto) < 4 : + from .monWidgetRadioButton import MonWidgetRadioButton widget=MonWidgetRadioButton(self,maDefinition,monNom,monObjet,parentQt,maCommande) elif len(monInto) < 7 : - from InterfaceQT4.monWidget4a6RadioButton import MonWidget4a6RadioButton + from .monWidget4a6RadioButton import MonWidget4a6RadioButton widget=MonWidget4a6RadioButton(self,maDefinition,monNom,monObjet,parentQt,maCommande) else : - from InterfaceQT4.monWidgetCB import MonWidgetCB + from .monWidgetCB import MonWidgetCB widget=MonWidgetCB(self,maDefinition,monNom,monObjet,parentQt,maCommande) - elif self.item.waitBool() : - from InterfaceQT4.monWidgetSimpBool import MonWidgetSimpBool + elif self.item.wait_bool() : + from .monWidgetSimpBool import MonWidgetSimpBool widget=MonWidgetSimpBool(self,maDefinition,monNom,monObjet,parentQt,maCommande) - elif self.item.waitFichier(): - from InterfaceQT4.monWidgetSimpFichier import MonWidgetSimpFichier + elif self.item.wait_fichier(): + from .monWidgetSimpFichier import MonWidgetSimpFichier widget=MonWidgetSimpFichier(self,maDefinition,monNom,monObjet,parentQt,maCommande) # PNPNPN - a faire - elif self.item.waitDate(): - from InterfaceQT4.monWidgetDate import MonWidgetDate + elif self.item.wait_date(): + from .monWidgetDate import MonWidgetDate widget=MonWidgetDate(self,maDefinition,monNom,monObjet,parentQt,maCommande) - elif self.item.waitHeure(): - from InterfaceQT4.monWidgetHeure import MonWidgetHeure + elif self.item.wait_heure(): + from .monWidgetHeure import MonWidgetHeure widget=MonWidgetHeure(self,maDefinition,monNom,monObjet,parentQt,maCommande) - elif self.item.waitTuple() : - num=self.item.object.definition.type[0].ntuple - nomDeLaClasse = 'MonWidgetSimpTuple'+str(num) - nomDuFichier = 'InterfaceQT4.monWidgetSimpTupleN' - try : - #if 1 : - _temp = __import__(nomDuFichier, globals(), locals(), [nomDeLaClasse], 0) - #print (_temp) - MonWidgetSimpTuple = getattr(_temp,nomDeLaClasse) - except : - print ("Pas de Tuple de longueur : ", num) - # print ("Prevenir la maintenance ") - widget=MonWidgetSimpTuple(self,maDefinition,monNom,monObjet,parentQt,maCommande) - - elif self.item.waitComplex(): - from InterfaceQT4.monWidgetSimpComplexe import MonWidgetSimpComplexe + elif self.item.wait_tuple() : + if self.item.object.definition.type[0].ntuple == 2: + from .monWidgetSimpTuple2 import MonWidgetSimpTuple2 + widget=MonWidgetSimpTuple2(self,maDefinition,monNom,monObjet,parentQt,maCommande) + elif self.item.object.definition.type[0].ntuple == 3 : + from .monWidgetSimpTuple3 import MonWidgetSimpTuple3 + widget=MonWidgetSimpTuple3(self,maDefinition,monNom,monObjet,parentQt,maCommande) + else : + print ("Pas de Tuple de longueur > 3") + print ("Prevenir la maintenance ") + + elif self.item.wait_complex(): + from .monWidgetSimpComplexe import MonWidgetSimpComplexe widget=MonWidgetSimpComplexe(self,maDefinition,monNom,monObjet,parentQt,maCommande) - elif self.item.waitCo(): - if len(self.item.getSdAvantDuBonType()) == 0 : - from InterfaceQT4.monWidgetUniqueSDCO import MonWidgetUniqueSDCO + elif self.item.wait_co(): + if len(self.item.get_sd_avant_du_bon_type()) == 0 : + from .monWidgetUniqueSDCO import MonWidgetUniqueSDCO widget=MonWidgetUniqueSDCO(self,maDefinition,monNom,monObjet,parentQt,maCommande) else : - from InterfaceQT4.monWidgetSDCOInto import MonWidgetSDCOInto + from .monWidgetSDCOInto import MonWidgetSDCOInto widget=MonWidgetSDCOInto(self,maDefinition,monNom,monObjet,parentQt,maCommande) - elif self.item.waitAssd(): - if len(self.item.getSdAvantDuBonType()) == 0 : - from InterfaceQT4.monWidgetVide import MonWidgetVide + elif self.item.wait_assd(): + if len(self.item.get_sd_avant_du_bon_type()) == 0 : + from .monWidgetVide import MonWidgetVide widget=MonWidgetVide(self,maDefinition,monNom,monObjet,parentQt,maCommande) - elif len(self.item.getSdAvantDuBonType()) < 4 : - from InterfaceQT4.monWidgetRadioButton import MonWidgetRadioButtonSD + elif len(self.item.get_sd_avant_du_bon_type()) < 4 : + from .monWidgetRadioButton import MonWidgetRadioButtonSD widget=MonWidgetRadioButtonSD(self,maDefinition,monNom,monObjet,parentQt,maCommande) - elif len(self.item.getSdAvantDuBonType()) < 7 : - from InterfaceQT4.monWidget4a6RadioButton import MonWidget4a6RadioButtonSD + elif len(self.item.get_sd_avant_du_bon_type()) < 7 : + from .monWidget4a6RadioButton import MonWidget4a6RadioButtonSD widget=MonWidget4a6RadioButtonSD(self,maDefinition,monNom,monObjet,parentQt,maCommande) else : - from InterfaceQT4.monWidgetCB import MonWidgetCBSD + from .monWidgetCB import MonWidgetCBSD widget=MonWidgetCBSD(self,maDefinition,monNom,monObjet,parentQt,maCommande) - elif self.item.waitSalome() and self.editor.salome: - from InterfaceQT4.monWidgetSimpSalome import MonWidgetSimpSalome + elif self.item.wait_Salome() and self.editor.salome: + from .monWidgetSimpSalome import MonWidgetSimpSalome widget=MonWidgetSimpSalome(self,maDefinition,monNom,monObjet,parentQt,maCommande) - elif self.item.waitTxm(): - from InterfaceQT4.monWidgetSimpTxt import MonWidgetSimpTxt + elif self.item.wait_TXM(): + from .monWidgetSimpTxt import MonWidgetSimpTxt widget=MonWidgetSimpTxt(self,maDefinition,monNom,monObjet,parentQt,maCommande) else : - from InterfaceQT4.monWidgetSimpBase import MonWidgetSimpBase + from .monWidgetSimpBase import MonWidgetSimpBase widget=MonWidgetSimpBase(self,maDefinition,monNom,monObjet,parentQt,maCommande) # Gestion des listes else : if maDefinition.intoSug != [] and maDefinition.intoSug != None: if self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) : - from InterfaceQT4.monWidgetIntoSug import MonWidgetIntoSug + from .monWidgetIntoSug import MonWidgetIntoSug widget=MonWidgetIntoSug(self,maDefinition,monNom,monObjet,parentQt,maCommande) else : - from InterfaceQT4.monWidgetPlusieursPlie import MonWidgetPlusieursPlie + from .monWidgetPlusieursPlie import MonWidgetPlusieursPlie widget=MonWidgetPlusieursPlie(self,maDefinition,monNom,monObjet,parentQt,maCommande) #if maDefinition.into != [] and maDefinition.into != None: # Attention pas fini --> on attend une liste de ASSD avec ordre - elif self.item.waitAssd() and self.item.isListSansOrdreNiDoublon(): - listeAAfficher = self.item.getSdAvantDuBonType() + elif self.item.wait_assd() and self.item.is_list_SansOrdreNiDoublon(): + #if self.item.is_list_Chargement(): + #from monWidgetPlusieursTuple2AvecChargement import MonWidgetPlusieursTuple2AvecChargement + #widget=MonWidgetPlusieursTuple2(self,maDefinition,monNom,monObjet,parentQt,maCommande) + # pass + #else : + listeAAfficher = self.item.get_sd_avant_du_bon_type() if len(listeAAfficher) == 0: - from InterfaceQT4.monWidgetVide import MonWidgetVide + from .monWidgetVide import MonWidgetVide widget = MonWidgetVide(self,maDefinition,monNom,monObjet,parentQt,maCommande) else : - from InterfaceQT4.monWidgetPlusieursInto import MonWidgetPlusieursInto + from .monWidgetPlusieursInto import MonWidgetPlusieursInto widget=MonWidgetPlusieursInto(self,maDefinition,monNom,monObjet,parentQt,maCommande) - elif self.item.waitAssd() : - listeAAfficher = self.item.getSdAvantDuBonType() - mctype=maDefinition.type[0] - enable_salome_selection = self.editor.salome and \ - (('grma' in repr(mctype)) or ('grno' in repr(mctype)) or ('SalomeEntry' in repr(mctype)) or \ - (hasattr(mctype, "enable_salome_selection") and mctype.enable_salome_selection)) - if enable_salome_selection: - from InterfaceQT4.monWidgetPlusieursBase import MonWidgetPlusieursBase - widget=MonWidgetPlusieursBase(self,maDefinition,monNom,monObjet,parentQt,maCommande) - elif len(listeAAfficher) == 0: - from InterfaceQT4.monWidgetVide import MonWidgetVide + elif self.item.wait_assd() : + listeAAfficher = self.item.get_sd_avant_du_bon_type() + if len(listeAAfficher) == 0: + from .monWidgetVide import MonWidgetVide widget = MonWidgetVide(self,maDefinition,monNom,monObjet,parentQt,maCommande) elif self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) : - from InterfaceQT4.monWidgetPlusieursASSDIntoOrdonne import MonWidgetPlusieursASSDIntoOrdonne + from .monWidgetPlusieursASSDIntoOrdonne import MonWidgetPlusieursASSDIntoOrdonne widget=MonWidgetPlusieursASSDIntoOrdonne(self,maDefinition,monNom,monObjet,parentQt,maCommande) else : - from InterfaceQT4.monWidgetPlusieursPlie import MonWidgetPlusieursPlieASSD + from .monWidgetPlusieursPlie import MonWidgetPlusieursPlieASSD widget=MonWidgetPlusieursPlieASSD(self,maDefinition,monNom,monObjet,parentQt,maCommande) - elif self.item.waitTuple() : - if self.item.object.definition.fenetreIhm == 'Tableau' : - from InterfaceQT4.monWidgetTableau import MonWidgetTableau - widget=MonWidgetTableau(self,maDefinition,monNom,monObjet,parentQt,maCommande) - else : - num=self.item.object.definition.type[0].ntuple - nomDeLaClasse = 'MonWidgetPlusieursTuple'+str(num) - nomDuFichier = 'InterfaceQT4.monWidgetPlusieursTupleN' - #try: - if 1 : - _temp = __import__(nomDuFichier, globals(), locals(), [nomDeLaClasse], 0) - MonWidgetPlusieursTuple = getattr(_temp,nomDeLaClasse) - #except : - # print ("Pas de Tuple de longueur : ", num) - # print ("Prevenir la maintenance ") - widget=MonWidgetPlusieursTuple(self,maDefinition,monNom,monObjet,parentQt,maCommande) - - elif self.item.hasInto(): - if self.item.isListSansOrdreNiDoublon(): + elif self.item.wait_tuple() : + if self.item.object.definition.type[0].ntuple == 2: + from .monWidgetPlusieursTuple2 import MonWidgetPlusieursTuple2 + widget=MonWidgetPlusieursTuple2(self,maDefinition,monNom,monObjet,parentQt,maCommande) + elif self.item.object.definition.type[0].ntuple == 3 : + from .monWidgetPlusieursTuple3 import MonWidgetPlusieursTuple3 + widget=MonWidgetPlusieursTuple3(self,maDefinition,monNom,monObjet,parentQt,maCommande) + else : + print ("Pas de Tuple de longueur > 3") + print ("Prevenir la maintenance ") + elif self.item.has_into(): + if self.item.is_list_SansOrdreNiDoublon(): if self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) : - from InterfaceQT4.monWidgetPlusieursInto import MonWidgetPlusieursInto + from .monWidgetPlusieursInto import MonWidgetPlusieursInto widget=MonWidgetPlusieursInto(self,maDefinition,monNom,monObjet,parentQt,maCommande) else : - from InterfaceQT4.monWidgetPlusieursPlie import MonWidgetPlusieursPlie + from .monWidgetPlusieursPlie import MonWidgetPlusieursPlie widget=MonWidgetPlusieursPlie(self,maDefinition,monNom,monObjet,parentQt,maCommande) else : if self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) : - from InterfaceQT4.monWidgetPlusieursIntoOrdonne import MonWidgetPlusieursIntoOrdonne + from .monWidgetPlusieursIntoOrdonne import MonWidgetPlusieursIntoOrdonne widget=MonWidgetPlusieursIntoOrdonne(self,maDefinition,monNom,monObjet,parentQt,maCommande) else : - from InterfaceQT4.monWidgetPlusieursPlie import MonWidgetPlusieursPlie + from .monWidgetPlusieursPlie import MonWidgetPlusieursPlie widget=MonWidgetPlusieursPlie(self,maDefinition,monNom,monObjet,parentQt,maCommande) else : + #print 8 if self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) : - from InterfaceQT4.monWidgetPlusieursBase import MonWidgetPlusieursBase + from .monWidgetPlusieursBase import MonWidgetPlusieursBase widget=MonWidgetPlusieursBase(self,maDefinition,monNom,monObjet,parentQt,maCommande) else : - from InterfaceQT4.monWidgetPlusieursPlie import MonWidgetPlusieursPlie + from .monWidgetPlusieursPlie import MonWidgetPlusieursPlie widget=MonWidgetPlusieursPlie(self,maDefinition,monNom,monObjet,parentQt,maCommande) self.widget=widget @@ -253,15 +236,17 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): # ou au mot-clef simple # #----------------------------------------------- - # isList - # hasInto - # getMinMax - # getMultiplicite - # getIntervalle - # getListeValeurs - # getListePossible - - def isList(self): + # is_list + # get_into a priori inutile --> commentee + # has_into + # wait_into a priori inutile --> commentee + # GetMinMax + # GetMultiplicite + # GetIntervalle + # GetListeValeurs + # get_liste_possible + + def is_list(self): """ Cette methode indique si le mot cle simple attend une liste (valeur de retour 1) ou s'il n'en attend pas (valeur de retour 0) @@ -270,28 +255,31 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): Dans le cas sans validateur, l'information est donnee par l'attribut max de la definition du mot cle. Dans le cas avec validateur, il faut combiner l'information precedente avec - celle issue de l'appel de la methode isList sur le validateur.On utilisera + celle issue de l'appel de la methode is_list sur le validateur.On utilisera l'operateur ET pour effectuer cette combinaison (AndVal). """ is_a_list=0 - min,max = self.getMinMax() + min,max = self.GetMinMax() assert (min <= max) if max > 1 : is_a_list=1 # Dans le cas avec validateurs, pour que le mot cle soit considere # comme acceptant une liste, il faut que max soit superieur a 1 - # ET que la methode isList du validateur retourne 1. Dans les autres cas + # ET que la methode is_list du validateur retourne 1. Dans les autres cas # on retournera 0 (n'attend pas de liste) if self.definition.validators : - is_a_list= self.definition.validators.isList() * is_a_list + is_a_list= self.definition.validators.is_list() * is_a_list return is_a_list - def isListSansOrdreNiDoublon(self): + def is_list_SansOrdreNiDoublon(self): if self.definition.homo=="SansOrdreNiDoublon" : return 1 return 0 + def is_list_Chargement(self): + if self.definition.docu != "" : return 1 + return 0 - def hasInto(self): + def has_into(self): """ Cette methode indique si le mot cle simple propose un choix (valeur de retour 1) ou s'il n'en propose pas (valeur de retour 0) @@ -301,45 +289,45 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): de la definition du mot cle. Dans le cas avec validateurs, pour que le mot cle soit considere comme proposant un choix, il faut que into soit present OU - que la methode hasInto du validateur retourne 1. Dans les autres cas + que la methode has_into du validateur retourne 1. Dans les autres cas on retournera 0 (ne propose pas de choix) """ has_an_into=0 if self.definition.into: has_an_into=1 elif self.definition.validators : - has_an_into= self.definition.validators.hasInto() + has_an_into= self.definition.validators.has_into() return has_an_into - def hasIntoSug(self): + def has_intoSug(self): if self.definition.intoSug: return 1 return 0 - def getMinMax(self): + def GetMinMax(self): """ Retourne les valeurs min et max de la definition de object """ - return self.object.getMinMax() + return self.object.get_min_max() - def getMultiplicite(self): + def GetMultiplicite(self): """ A preciser. Retourne la multiplicite des valeurs affectees a l'objet represente par l'item. Pour le moment retourne invariablement 1. """ return 1 - def getIntervalle(self): + def GetIntervalle(self): """ Retourne le domaine de valeur attendu par l'objet represente par l'item. """ return self.object.getintervalle() - def getListeValeurs(self) : + def GetListeValeurs(self) : """ Retourne la liste des valeurs de object """ - valeurs=self.object.getListeValeurs() + valeurs=self.object.get_liste_valeurs() try : if "R" in self.object.definition.type: - clef=self.object.getNomConcept() + clef=self.object.GetNomConcept() if clef in self.appli.dict_reels: if type(valeurs) == tuple: valeurs_reelles=[] @@ -356,7 +344,7 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): pass return valeurs - def getListePossible(self,listeActuelle=[]): + def get_liste_possible(self,listeActuelle=[]): if hasattr(self.definition.validators,'into'): valeurspossibles = self.definition.validators.into else: @@ -371,20 +359,20 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): else : valeurspossibles=(valeurspossibles,) for item in valeurspossibles: - encorevalide=self.valideItem(item) + encorevalide=self.valide_item(item) if encorevalide : listevalideitem.append(item) - #on ne garde que les choix possibles qui passent le test de valideListePartielle + #on ne garde que les choix possibles qui passent le test de valide_liste_partielle listevalideliste=[] for item in listevalideitem: - encorevalide=self.valideListePartielle(item,listeActuelle) + encorevalide=self.valide_liste_partielle(item,listeActuelle) if encorevalide : listevalideliste.append(item) #print listevalideliste return listevalideliste - def getListePossibleAvecSug(self,listeActuelle=[]): + def get_liste_possible_avecSug(self,listeActuelle=[]): if hasattr(self.definition,'intoSug'): valeurspossibles = self.definition.intoSug else: @@ -400,24 +388,24 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): else : valeurspossibles=(valeurspossibles,) for item in valeurspossibles: - encorevalide=self.valideItem(item) + encorevalide=self.valide_item(item) if encorevalide : listevalideitem.append(item) - #on ne garde que les choix possibles qui passent le test de valideListePartielle + #on ne garde que les choix possibles qui passent le test de valide_liste_partielle listevalideliste=[] for item in listevalideitem: - encorevalide=self.valideListePartielle(item,listeActuelle) + encorevalide=self.valide_liste_partielle(item,listeActuelle) if encorevalide : listevalideliste.append(item) return listevalideliste - def getListeParamPossible(self): + def get_liste_param_possible(self): liste_param=[] - l1,l2=self.jdc.getParametresFonctionsAvantEtape(self.getEtape()) + l1,l2=self.jdc.get_parametres_fonctions_avant_etape(self.get_etape()) for param in self.object.jdc.params: if param.nom not in l1 : continue - encorevalide=self.valideItem(param.valeur) + encorevalide=self.valide_item(param.valeur) if encorevalide: type_param=param.valeur.__class__.__name__ for typ in self.definition.type: @@ -436,33 +424,36 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): # Methodes liees a la validite des valeurs saisies # #--------------------------------------------------- - # valideItem - # valideListePartielle - # valideListeComplete - # infoErreurItem - # infoErreurListe - # isInIntervalle - # isValid - - def valideItem(self,item): + # valide_item + # valide_liste_partielle + # valide_liste_complete + # info_erreur_item + # info_erreur_liste + # IsInIntervalle + # isvalid + + def valide_item(self,item): """ La validation est realisee directement par l'objet """ - return self.object.valideItem(item) + return self.object.valide_item(item) - def valideListePartielle(self,item,listecourante): + def valide_liste_partielle(self,item,listecourante): #On protege la liste en entree en la copiant - valeur=list(listecourante) - if item : valeur.append(item) - return self.object.validValeurPartielle(valeur) + valeur=listecourante[:] + valeur.append(item) + return self.object.valid_valeur_partielle(valeur) + + def valide_liste_complete (self,valeur): + return self.object.valid_valeur(valeur) - def valideListeComplete (self,valeur): - return self.object.validValeur(valeur) + def valide_val (self,valeur): + return self.object.valid_val(valeur) - def infoErreurItem(self) : + def info_erreur_item(self) : commentaire="" if self.definition.validators : - commentaire=self.definition.validators.infoErreurItem() + commentaire=self.definition.validators.info_erreur_item() return commentaire def aide(self) : @@ -471,21 +462,21 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): commentaire=self.definition.validators.aide() return commentaire - def infoErreurListe(self) : + def info_erreur_liste(self) : commentaire="" if self.definition.validators : - commentaire=self.definition.validators.infoErreurListe() + commentaire=self.definition.validators.info_erreur_liste() return commentaire - def isInIntervalle(self,valeur): + def IsInIntervalle(self,valeur): """ Retourne 1 si la valeur est dans l'intervalle permis par l'objet represente par l'item. """ - return self.valideItem(valeur) + return self.valide_item(valeur) - def isValid(self): - valide=self.object.isValid() + def isvalid(self): + valide=self.object.isvalid() return valide #-------------------------------------------------- @@ -493,89 +484,86 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): # Autres ... # #--------------------------------------------------- - # getIconName - # getText - # setValeurCo - # getSdAvantDuBonType + # GetIconName + # GetText + # set_valeur_co + # get_sd_avant_du_bon_type + # delete_valeur_co - def getIconName(self): - if self.appli.maConfiguration.differencieSiDefaut and self.isValid(): - if self.object.definition.defaut != None : - if self.object.valeur == self.object.definition.defaut : return "ast-green-dark-ball" - if self.object.definition.max > 1 and list(self.object.valeur) == list(self.object.definition.defaut) : return "ast-green-dark-ball" + def GetIconName(self): + if self.isvalid(): return "ast-green-ball" - elif self.isValid(): - return "ast-green-ball" - elif self.object.isOblig(): + elif self.object.isoblig(): return "ast-red-ball" else: return "ast-yel-ball" - def getText(self): + def GetText(self): """ Classe SIMPTreeItem Retourne le texte a afficher dans l'arbre representant la valeur de l'objet pointe par self """ - text= self.object.getText() + text= self.object.GetText() if text == None : text="" return text - def setValeurCo(self,nom_co): + def set_valeur_co(self,nom_co): """ Affecte au MCS pointé par self l'objet de type CO et de nom nom_co """ - ret = self.object.setValeurCo(nom_co) - #print "setValeurCo",ret + ret = self.object.set_valeur_co(nom_co) + #print "set_valeur_co",ret return ret - def getSdAvantDuBonType(self): + def get_sd_avant_du_bon_type(self): """ Retourne la liste des noms des SD présentes avant l'étape qui contient le MCS pointé par self et du type requis par ce MCS """ - a=self.object.etape.parent.getSdAvantDuBonType(self.object.etape,self.object.definition.type) + a=self.object.etape.parent.get_sd_avant_du_bon_type(self.object.etape,self.object.definition.type) return a - def getSdAvantDuBonTypePourTypeDeBase(self): - a=self.object.jdc.getSdAvantDuBonTypePourTypeDe_Base(self.object.etape,"LASSD") + def get_sd_avant_du_bon_type_pour_type_de_base(self): + a=self.object.jdc.get_sd_avant_du_bon_type_pour_type_de_base(self.object.etape,"LASSD") return a - def deleteValeurCo(self,valeur=None): + + def delete_valeur_co(self,valeur=None): """ Supprime la valeur du mot cle (de type CO) il faut propager la destruction aux autres etapes """ if not valeur : valeur=self.object.valeur - # XXX faut il vraiment appeler delSdprod ??? - #self.object.etape.parent.delSdprod(valeur) - self.object.etape.parent.deleteConcept(valeur) + # XXX faut il vraiment appeler del_sdprod ??? + #self.object.etape.parent.del_sdprod(valeur) + self.object.etape.parent.delete_concept(valeur) #----------------------------------------------- # # Methodes liees au type de l objet attendu # #----------------------------------------------- - # waitCo - # waitGeom - # waitComplex - # waitReel - # waitAssd - # getType - - def waitCo(self): + # wait_co + # wait_geom + # wait_complex + # wait_reel + # wait_assd + # GetType + + def wait_co(self): """ Méthode booléenne qui retourne 1 si l'objet pointé par self attend un objet de type ASSD qui n'existe pas encore (type CO()), 0 sinon """ - return self.object.waitCo() + return self.object.wait_co() - def waitFichier(self): + def wait_fichier(self): maDefinition=self.object.definition try : if ('Repertoire' in maDefinition.type[0]) or ('Fichier' in maDefinition.type[0]) : @@ -583,18 +571,18 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): except : return 0 - def waitGeom(self): + def wait_geom(self): """ Méthode booléenne qui retourne 1 si l'objet pointé par self attend un objet GEOM, 0 sinon """ - return self.object.waitGeom() + return self.object.wait_geom() - def waitTxm(self): - return self.object.waitTxm() + def wait_TXM(self): + return self.object.wait_TXM() - def waitComplex(self): + def wait_complex(self): """ Méthode booléenne qui retourne 1 si l'objet pointé par self attend un complexe, 0 sinon """ if 'C' in self.object.definition.type: @@ -602,7 +590,7 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): else: return 0 - def waitReel(self): + def wait_reel(self): """ Méthode booléenne qui retourne 1 si l'objet pointé par self attend un réel, 0 sinon """ if 'R' in self.object.definition.type: @@ -610,10 +598,7 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): else: return 0 - def waitTuple(self) : - return self.object.waitTuple() - - def waitDate(self): + def wait_date(self): """ Méthode booléenne qui retourne 1 si l'objet pointé par self attend un réel, 0 sinon """ if 'DateHHMMAAAA' in self.object.definition.type: @@ -621,7 +606,7 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): else: return 0 - def waitHeure(self): + def wait_heure(self): """ Méthode booléenne qui retourne 1 si l'objet pointé par self attend un réel, 0 sinon """ if 'HeureHHMMSS' in self.object.definition.type: @@ -631,7 +616,7 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): - def waitTuple(self): + def wait_tuple(self): """ Méthode booléenne qui retourne 1 si l'objet pointé par self attend un Tuple, 0 sinon """ for ss_type in self.object.definition.type: @@ -639,7 +624,7 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): return 1 return 0 - def waitMatrice(self): + def wait_matrice(self): """ Méthode booléenne qui retourne 1 si l'objet pointé par self attend un Tuple, 0 sinon """ for ss_type in self.object.definition.type: @@ -647,21 +632,21 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): return 1 return 0 - def waitAssd(self): + def wait_assd(self): """Méthode booléenne qui retourne 1 si l'objet pointé par self attend un objet de type ASSD ou dérivé, 0 sinon """ - return self.object.waitAssd() + return self.object.wait_assd() - def waitAssdOrTypeBase(self) : + def wait_assd_or_type_base(self) : boo=0 if len(self.object.definition.type) > 1 : - if self.waitReel() : + if self.wait_reel() : boo = 1 if 'I' in self.object.definition.type : boo = 1 return boo - def waitSalome(self): + def wait_Salome(self): monType = self.object.definition.type[0] if 'grma' in repr(monType) : return True if 'grno' in repr(monType) : return True @@ -671,79 +656,100 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): pass return False - def getType(self): + def GetType(self): """ Retourne le type de valeur attendu par l'objet représenté par l'item. """ - return self.object.getType() + return self.object.get_type() #----------------------------------------------------- # # Methodes liees a l evaluation de la valeur saisie # #----------------------------------------------------- - # evalValeur - # evalValeurItem - # isCO - # traiteReel + # eval_valeur + # eval_valeur_item + # is_CO + # traite_reel - def evalValeur(self,valeur): + def eval_valeur(self,valeur): """ Lance l'interpretation de 'valeur' (chaine de caracteres) comme valeur de self : - retourne l'objet associe si on a pu interpreter (entier, reel, ASSD,...) - retourne 'valeur' (chaine de caracteres) sinon """ - newvaleur=self.evalVal(valeur) + newvaleur=self.eval_val(valeur) return newvaleur,1 + def eval_valeur_BAK(self,valeur): + """ Lance l'interpretation de 'valeur' (chaine de caractéres) comme valeur + de l'objet pointé par self : + - retourne l'objet associé si on a pu interpréter (entier, réel, ASSD,...) + - retourne 'valeur' (chaine de caractéres) sinon + - retourne None en cas d invalidite + - retourne invalide si 1 des objets du tuple l est + """ + validite=1 + if type(valeur) in (list,tuple) : + valeurretour=[] + for item in valeur : + newvaleur,validiteitem=self.eval_valeur_item(item) + valeurretour.append(newvaleur) + if validiteitem == 0: + validite=0 + else : + valeurretour,validite= self.eval_valeur_item(valeur) + if validite == 0 : + valeurretour = None + return valeurretour,validite - def evalValeurItem(self,valeur): + def eval_valeur_item(self,valeur): """ Lance l'interprétation de 'valeur' qui doit ne pas etre un tuple - va retourner la valeur de retour et la validite selon le type de l objet attendu - traite les reels et les parametres """ - #print "evalValeurItem",valeur + #print "eval_valeur_item",valeur if valeur==None or valeur == "" : return None,0 validite=1 - if self.waitReel(): - valeurinter = self.traiteReel(valeur) + if self.wait_reel(): + valeurinter = self.traite_reel(valeur) if valeurinter != None : - valeurretour,validite= self.object.evalValeur(valeurinter) + valeurretour,validite= self.object.eval_valeur(valeurinter) else: - valeurretour,validite= self.object.evalValeur(valeur) - elif self.waitGeom(): + valeurretour,validite= self.object.eval_valeur(valeur) + elif self.wait_geom(): valeurretour,validite = valeur,1 else : - valeurretour,validite= self.object.evalValeur(valeur) - #print "evalValeurItem",valeurretour,validite + valeurretour,validite= self.object.eval_valeur(valeur) + #print "eval_valeur_item",valeurretour,validite if validite == 0: - if (type(valeur) == bytes or type(valeur) == str )and self.object.waitTxm(): + if type(valeur) == bytes and self.object.wait_TXM(): essai_valeur="'" + valeur + "'" - valeurretour,validite= self.object.evalValeur(essai_valeur) + valeurretour,validite= self.object.eval_valeur(essai_valeur) if hasattr(valeurretour,'__class__'): #if valeurretour.__class__.__name__ in ('PARAMETRE','PARAMETRE_EVAL'): if valeurretour.__class__.__name__ in ('PARAMETRE',): validite=1 - #if self.waitCo(): + #if self.wait_co(): # CCAR : il ne faut pas essayer de creer un concept - # il faut simplement en chercher un existant ce qui a du etre fait par self.object.evalValeur(valeur) + # il faut simplement en chercher un existant ce qui a du etre fait par self.object.eval_valeur(valeur) #try: #valeurretour=Accas.CO(valeur) #except: #valeurretour=None #validite=0 # on est dans le cas ou on a évalué et ou on n'aurait pas du - if self.object.waitTxm() : + if self.object.wait_TXM() : if type(valeurretour) != bytes: valeurretour=str(valeur) validite=1 return valeurretour,validite - def isCO(self,valeur=None): + def is_CO(self,valeur=None): """ Indique si valeur est un concept produit de la macro Cette méthode n'a de sens que pour un MCSIMP d'une MACRO @@ -754,28 +760,27 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): # ou si son nom de classe est CO. # Il faut faire les 2 tests car une macro non valide peut etre # dans un etat pas tres catholique avec des CO pas encore types - # et donc pas dans sdprods (resultat d'une exception dans typeSDProd) + # et donc pas dans sdprods (resultat d'une exception dans type_sdprod) if not valeur:valeur=self.object.valeur if valeur in self.object.etape.sdprods:return 1 - #if type(valeur) is not types.InstanceType:return 0 - if type(valeur) is not object:return 0 + if type(valeur) is not types.InstanceType:return 0 if valeur.__class__.__name__ == 'CO':return 1 return 0 - def isParam(self,valeur) : + def is_param(self,valeur) : for param in self.jdc.params: if (repr(param) == valeur): return 1 return 0 - def traiteReel(self,valeur): + def traite_reel(self,valeur): """ Cette fonction a pour but de rajouter le '.' en fin de chaine pour un réel ou de détecter si on fait référence a un concept produit par DEFI_VALEUR ou un EVAL ... """ valeur = valeur.strip() - liste_reels = self.getSdAvantDuBonType() + liste_reels = self.get_sd_avant_du_bon_type() if valeur in liste_reels: return valeur if len(valeur) >= 3 : @@ -784,7 +789,7 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): return valeur if valeur.find('.') == -1 : # aucun '.' n'a été trouvé dans valeur --> on en rajoute un a la fin - if (self.isParam(valeur)): + if (self.is_param(valeur)): return valeur else: if valeur.find('e') != -1: diff --git a/InterfaceQT4/configuration.py b/InterfaceQT4/configuration.py index 0c094e4f..ebdbdf94 100644 --- a/InterfaceQT4/configuration.py +++ b/InterfaceQT4/configuration.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -35,7 +35,7 @@ from Editeur.Eficas_utils import read_file from Extensions.i18n import tr -class configBase(object): +class CONFIG_BASE(object): #------------------------------- def __init__(self,appli,repIni): @@ -52,7 +52,6 @@ class configBase(object): # par celui de l utilisateur # le fichier de catalogue va etre lu dans la directory de l utilisateur s il exite # dans le fichier general sinon - self.appli = appli self.code = appli.code self.salome = appli.salome @@ -60,30 +59,24 @@ class configBase(object): else : self.name="editeur.ini" self.rep_mat = None self.repIni = repIni - - if self.code == None : self.code='' if sys.platform[0:5]=="linux" : - self.rep_user = os.path.join(os.environ['HOME'],'.config/Eficas',self.code) + self.rep_user = os.path.join(os.environ['HOME'],'.config/Eficas',appli.code) else : - self.rep_user = os.path.join('C:/','.config/Eficas',self.code) + self.rep_user = os.path.join('C:/','.config/Eficas',appli.code) + self.setValeursParDefaut() - if self.code != '' : - self.lectureFichierIniStandard() - self.lectureFichierIniIntegrateur() - self.lectureFichierIniUtilisateur() - - if self.boutonDsMenuBar: - self.closeAutreCommande = True - self.closeFrameRechercheCommande = True + self.lecture_fichier_ini_standard() + self.lecture_fichier_ini_integrateur() + self.lecture_fichier_ini_utilisateur() #Particularite des schemas MAP if hasattr(self,'make_ssCode'): self.make_ssCode(self.ssCode) - #if self.appli: self.parent=appli.top - #else: self.parent=None + if self.appli: self.parent=appli.top + else: self.parent=None if not os.path.isdir(self.savedir) : if sys.platform[0:5]=="linux" : @@ -105,7 +98,7 @@ class configBase(object): self.savedir = os.path.abspath(os.path.join(os.environ['HOME'],nomDir)) else: self.savedir = os.path.abspath('C:/') - self.modeNouvCommande='initial' + self.mode_nouv_commande='initial' self.affiche="alpha" self.closeAutreCommande = False self.closeFrameRechercheCommande = False @@ -116,31 +109,12 @@ class configBase(object): self.nombreDeBoutonParLigne=0 self.translatorFichier=None self.dicoImages= {} - self.dicoIcones= {} - self.afficheCommandesPliees = True self.simpleClic= False self.afficheOptionnelVide=False - self.afficheListesPliees=True - self.boutonDsMenuBar=False - self.ficIcones=None - self.repIcones=None - self.differencieSiDefaut=False - self.typeDeCata='Python' - self.dumpXSD=False - self.withXSD=False - self.afficheIhm=True - self.closeParenthese=False - self.enleverActionStructures=False - self.enleverParametres=False - self.enleverSupprimer=False - self.ajoutExecution=False - self.utilParExtensions=False - - #-------------------------------------- - def lectureFichierIniStandard(self): + def lecture_fichier_ini_standard(self): #-------------------------------------- name='prefs_'+self.appli.code @@ -153,7 +127,7 @@ class configBase(object): #-------------------------------------- - def lectureFichierIniIntegrateur(self): + def lecture_fichier_ini_integrateur(self): #-------------------------------------- # Verifie l'existence du fichier "standard" # appelle la lecture de ce fichier @@ -187,7 +161,7 @@ class configBase(object): #-------------------------------------- - def lectureFichierIniUtilisateur(self): + def lecture_fichier_ini_utilisateur(self): #-------------------------------------- # Surcharge les parametres standards par les parametres utilisateur s'ils existent self.fic_ini_utilisateur = os.path.join(self.rep_user,self.name) @@ -211,7 +185,7 @@ class configBase(object): setattr(self,k,d[k]) #-------------------------------------- - def saveParams(self): + def save_params(self): #-------------------------------------- # sauvegarde # les nouveaux parametres dans le fichier de configuration utilisateur @@ -233,4 +207,3 @@ class configBase(object): f.close() # - diff --git a/InterfaceQT4/determine.py b/InterfaceQT4/determine.py new file mode 100644 index 00000000..6f5616ea --- /dev/null +++ b/InterfaceQT4/determine.py @@ -0,0 +1,30 @@ +from __future__ import absolute_import +from __future__ import print_function +try : + from builtins import object +except : pass + +import os + +class envQT(object): + _instance = None + def __new__(cls, *args, **kwargs): + if not cls._instance: + cls._instance = super(envQT, cls).__new__( + cls, *args, **kwargs) + + return cls._instance + + def __init__(self): + if hasattr(self,'inQt5') : return + if 'PYQT_ROOT_DIR' in os.environ: qt=os.environ['PYQT_ROOT_DIR'] + else : qt="Pyqt4" + if 'Pyqt-5' in qt : self.inQt5=True + else : self.inQt5=False + + +monEnvQT5=envQT().inQt5 +if __name__=='__main__': + inQt5_1=envQT().inQt5 + inQt5_2=envQT().inQt5 + print (inQt5_1) diff --git a/InterfaceQT4/editor.py b/InterfaceQT4/editor.py index fb0acf82..505bfcf2 100755 --- a/InterfaceQT4/editor.py +++ b/InterfaceQT4/editor.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -27,111 +27,449 @@ except : pass import types,sys,os, re import subprocess import traceback -import six - -from PyQt5.QtWidgets import QWidget, QMessageBox, QFileDialog, QApplication, QSplitter, QLabel -from PyQt5.QtGui import QPalette -from PyQt5.QtCore import QProcess, QFileInfo, QTimer, Qt, QDir, QSize +import six +from six.moves import range +from PyQt5.QtWidgets import QWidget, QMessageBox, QFileDialog, QApplication, QSplitter +from PyQt5.QtGui import QPalette +from PyQt5.QtCore import QProcess, QFileInfo, QTimer, Qt, QDir, QSize +import time +import pdb +from datetime import date +from Extensions.i18n import tr import traceback # Modules Eficas -from Extensions.i18n import tr +import convert, generator from Editeur import session from Editeur import comploader from Editeur import Objecttreeitem -from InterfaceQT4 import browser - -from desBaseWidget import Ui_baseWidget +from desBaseWidget import Ui_baseWidget from InterfaceQT4.monViewTexte import ViewText from monWidgetCreeParam import MonWidgetCreeParam +from . import browser +from . import readercata DictExtensions= {"MAP" : ".map", "TELEMAC" : '.cas'} -debug = False -from InterfaceQT4.editorSsIhm import JDCEditorSsIhm -class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): +class JDCEditor(Ui_baseWidget,QWidget): # ----------------------------------------- # """ Editeur de jdc """ -# ---------------------------------------- -# Methodes faisant appel a ssIhm -# ---------------------------------------- - - def __init__ (self,appli,fichier = None, jdc=None, QWParent=None, units = None, include=0): - #------------------------------------------------------------------------------------------ - + def __init__ (self,appli,fichier = None, jdc = None, QWParent=None, units = None, include=0 , vm=None): + #----------------------------------------------------------------------------------------------------------# QWidget.__init__(self,None) + self.i=0 self.setupUi(self) - self.inhibeSplitter=0 self.widgetOptionnel=None self.fenetreCentraleAffichee=None self.dejaDansPlieTout=False + self.afficheCommandesPliees = True self.listeDesListesOuvertes=set() - self.afficheListesPliees=True - if appli!=None and hasattr(appli,"statusBar"): self.sb = appli.statusBar() - else : self.sb = None - self.QWParent=QWParent - - JDCEditorSsIhm. __init__ (self,appli,fichier, jdc,units,include) - - # Particularites IHM : met la fenetre a jour + self.appliEficas = appli + self.appli = appli #---- attendu par IHM + self.vm = vm + self.fichier = fichier + self.jdc = jdc + self.first = True + self.QWParent = QWParent + self.couleur = Qt.black + self.nodeEnCours=None + + if appli != None : + self.salome = self.appliEficas.salome + else : + self.salome=0 + print ("dans JDC pas d appli ????????") + # ces attributs sont mis a jour par definitCode appelee par newEditor + self.code = self.appliEficas.CONFIGURATION.code self.initSplitterSizes() + + #self.afficheListesPliees=False + self.afficheListesPliees=True if self.code == "ASTER" or self.code == "monCode" : self.afficheListesPliees =True if self.code == 'PSEN_N1' : self.afficheListesPliees = False - #self.affiche=self.appliEficas.maConfiguration.affiche + self.mode_nouv_commande=self.appliEficas.CONFIGURATION.mode_nouv_commande + self.closeAutreCommande=self.appliEficas.CONFIGURATION.closeAutreCommande + self.closeFrameRechercheCommande=self.appliEficas.CONFIGURATION.closeFrameRechercheCommande + self.closeArbre=self.appliEficas.CONFIGURATION.closeArbre + self.affiche=self.appliEficas.CONFIGURATION.affiche + self.afficheOptionnelVide=self.appliEficas.CONFIGURATION.afficheOptionnelVide + self.nombreDeBoutonParLigne = self.appliEficas.CONFIGURATION.nombreDeBoutonParLigne + self.dicoImages = self.appliEficas.CONFIGURATION.dicoImages + self.simpleClic = self.appliEficas.CONFIGURATION.simpleClic + #self.taille = self.appliEficas.taille + + #if self.code in ['MAP','CARMELCND','PSEN'] : self.afficheCommandesPliees=False + if self.code in ['MAP','CARMELCND'] : self.afficheCommandesPliees=False + if self.code in ['MAP',]: + self.widgetTree.close() + self.widgetTree=None + if self.closeArbre: self.fermeArbre() - if self.code in ['MAP','CARMELCND','PSEN'] : self.maConfiguration.afficheCommandesPliees=False - if self.code in ['MAP',]: self.fermeArbre() - # self.widgetTree.close() - # self.widgetTree=None + self.version_code = session.d_env.cata - if self.maConfiguration.closeArbre: self.fermeArbre() - if self.maConfiguration.boutonDsMenuBar : self.appliEficas.remplitIconesCommandes() - self.version_code = session.d_env.cata - + if not hasattr ( self.appliEficas, 'readercata') or self.appliEficas.multi==True: + self.readercata = readercata.READERCATA( self, self.appliEficas ) + self.appliEficas.readercata=self.readercata + self.appliEficas.code=self.code + else : + self.readercata=self.appliEficas.readercata + if self.readercata.fic_cata == None : return #Sortie Salome + self.titre=self.readercata.titre + self.Ordre_Des_Commandes=self.readercata.Ordre_Des_Commandes + self.Classement_Commandes_Ds_Arbre=self.readercata.Classement_Commandes_Ds_Arbre + self.format = self.appliEficas.format_fichier + self.dict_reels={} + self.liste_simp_reel=[] + self.ihm="QT" + self.dicoNouveauxMC={} + self.dicoNouveauxFact={} + + nameConf='configuration_'+self.code + configuration=__import__(nameConf) + self.CONFIGURATION = self.appliEficas.CONFIGURATION + self.CONFIGStyle = self.appliEficas.CONFIGStyle + + try: + self.CONFIGURATION.generator_module + _module = __import__(self.CONFIGURATION.generator_module) + info = _module.entryPoint() + generator.plugins.addEntryPoint(info) + except: + pass + + try: + self.CONFIGURATION.convert_module + #print self.CONFIGURATION.convert_module + _module = __import__(self.CONFIGURATION.convert_module) + info = _module.entryPoint() + convert.plugins.addEntryPoint(info) + except : + pass + + self.sb = None + if hasattr(self.appliEficas,"statusBar"): + self.sb = self.appliEficas.statusBar() + + self.fileInfo = None + self.lastModified = 0 + + self.modified = False + self.isReadOnly = False self.node_selected = [] self.deplier = True self.message='' - self.afficheApresInsert=False - if self.maConfiguration.closeArbre : self.afficheApresInsert=True if self.code in ['Adao','ADAO','MAP'] : self.afficheApresInsert=True - if self.code in ['TELEMAC',] : self.enteteQTree='premier' - else : self.enteteQTree='complet' - if self.code in ['Adao','ADAO','TELEMAC','VP'] : self.affichePlie=True - else : self.affichePlie=False + else : self.afficheApresInsert=False + if self.code in ['TELEMAC',] : self.enteteQTree='premier' + else : self.enteteQTree='complet' + if self.code in ['Adao','ADAO','TELEMAC'] : self.affichePlie=True + else : self.affichePlie=False self.Commandes_Ordre_Catalogue =self.readercata.Commandes_Ordre_Catalogue - if self.appliEficas.readercata.demandeCatalogue==True : - nomFichierTranslation='translatorFichier'+'_'+str(self.appliEficas.readercata.versionCode) - if hasattr(self.appliEficas.maConfiguration,nomFichierTranslation) : - translatorFichier=getattr(self.appliEficas.maConfiguration,nomFichierTranslation) - from Extensions import localisation - localisation.localise(None,self.appliEficas.langue,translatorFichier=translatorFichier) + #------- construction du jdc -------------- + jdc_item = None - if self.jdc_item and self.appliEficas.ssIhm==False : - self.tree = browser.JDCTree( self.jdc_item, self ) + self.nouveau=0 + if self.fichier is not None: # fichier jdc fourni + self.fileInfo = QFileInfo(self.fichier) + self.fileInfo.setCaching(0) + if jdc==None : + try : + self.jdc = self.readFile(self.fichier) + if self.salome : self.appliEficas.addJdcInSalome( self.fichier) + except : + print ("mauvaise lecture") + else : + self.jdc=jdc + if self.jdc is not None and units is not None: + self.jdc.recorded_units=units + self.jdc.old_recorded_units=units + else: + if not self.jdc: # nouveau jdc + if not include : + self.jdc = self._newJDC(units=units) + else : + self.jdc = self._newJDCInclude(units=units) + self.nouveau=1 + + if self.jdc: + self.jdc.appli = self # a resorber + self.jdc.editor = self + self.jdc.lang = self.appli.langue + self.jdc.aReafficher=False + txt_exception = None + if not jdc: + self.jdc.analyse() + txt_exception = self.jdc.cr.get_mess_exception() + if txt_exception: + self.jdc = None + QApplication.restoreOverrideCursor() + self.affiche_infos(tr("Erreur fatale au chargement de %s",str(fichier)),Qt.red) + if (self.appliEficas.ssIhm == False) : QMessageBox.critical( self, tr("Erreur fatale au chargement d'un fichier"), txt_exception) + else: + comploader.charger_composants("QT") + jdc_item=Objecttreeitem.make_objecttreeitem( self, "nom", self.jdc ) + if (not self.jdc.isvalid()) and (not self.nouveau) and (self.appliEficas.ssIhm == False): + self.viewJdcRapport() + + + + if jdc_item and self.appliEficas.ssIhm==False: + self.tree = browser.JDCTree( jdc_item, self ) self.appliEficas.construitMenu() + + ############# self.adjustSize() + #-------------------# Pour execution avec output et error dans le bash + def runPSEN(self): + # #-------------------# + # #if self.modified or self.fichier==None : self.saveFile() + # self.saveFile() + # + # #lancement avec le .bat + # path1 = os.path.abspath(os.path.join(os.path.abspath(__file__), '../','../','PSEN_Eficas','PSEN')) + # WrapperFilePath = os.path.join(path1, 'PSSEWrapper.py') + # import subprocess + # p = subprocess.Popen(['python',WrapperFilePath]) + # (out,err)=p.communicate() + # print out + # print err + + + self.saveFile() + + # lancement avec le .bat + path1 = os.path.abspath(os.path.join(os.path.abspath(__file__), '../', '../', 'PSEN_Eficas', 'PSEN')) + filer = open('temp.txt', 'r') + _path = [] + for line in filer: + _path.append(line) + filer.close() + + + if 'PF_PARAMETERS' in self.Ordre_Des_Commandes: + Python3_path = _path[2].replace('\n', '') + import subprocess + + # execfile + # 'PF_PARAMETERS' in self.readercata.Ordre_Des_Commandes + if 'PF_PARAMETERS' in self.Ordre_Des_Commandes: + WrapperFilePath = os.path.join(path1, 'PFWrapper.py') + p = subprocess.Popen([Python3_path + '/python.exe', WrapperFilePath]) + else: + WrapperFilePath = os.path.join(path1, 'PSSEWrapper.py') + p = subprocess.Popen(['python', WrapperFilePath]) + (out, err) = p.communicate() + print( out) + print( err) + + #-------------------# Pour execution avec output et error dans le bash + def runPSEN_N1(self): + #-------------------# + + self.saveFile() + #cmd = os.path.abspath(os.path.join(os.path.abspath(__file__), '../','../','PSEN_N1','run.py')) + #cmd = "from run import runPSEN_N1; dico="+str(dico) + + #textePython=("python "+ cmd + " "+ str(dico)) + #self._viewTextExecute( textePython,"psen_run",".sh") + + path1 = os.path.abspath(os.path.join(os.path.abspath(__file__), '../','../','ProcessOutputs_Eficas','TreatOutputs')) + sys.path.append(path1) + + if not(self.jdc.isvalid()): + QMessageBox.information( self, tr( "Unvalid JDC"),tr("incorrect keywords will be ignored")) + if generator.plugins.has_key('dicoImbrique'): + self.generator=generator.plugins['dicoImbrique']() + jdc_formate=self.generator.gener(self.jdc) + dico=self.generator.Dico + + ##to delete + fileDico = os.path.join(path1, 'dicoN1.py') #r'C:\Logiciels DER\PSEN_V16\Code\ProcessOutputs_Eficas\TreatOutputs\dicoN1.py' + f = open( str(fileDico), 'wb') + f.write("Dico =" + str(dico) ) + f.close() + print(dico) + if 'PSSE_path' in dico['CASE_SELECTION']: + from Run import run + # self.appliEficas.close() + + # import cProfile, pstats, StringIO + # pr = cProfile.Profile() + # pr.enable() + # run(dico) + # pr.disable() + # s = StringIO.StringIO() + # sortby = 'cumulative' + # ps = pstats.Stats(pr, stream=s).sort_stats(sortby) + # ps.print_stats() + # print(s.getvalue()) + + run(dico) + elif 'PF_path' in dico['CASE_SELECTION']: + print('in runPSEN_N1 else') + import subprocess + RunPFfile = os.path.join(path1, 'RunPF.py') + Python3_path=dico['CASE_SELECTION']['Python3_path'] + print('going to run RunPF') + p = subprocess.Popen([Python3_path + '/python.exe', RunPFfile]) + p.wait() + print('out of run RunPF') + + #res,txt_exception=run(dico) + #if res : QMessageBox.information( self, tr("fin de script run"), txt_exception) + #else : QMessageBox.critical( self, tr("Erreur fatale script run"), txt_exception) + + + #-------------------# Pour execution avec output et error dans le bash + def process_N1(self): + #-------------------# + + path1 = os.path.abspath(os.path.join(os.path.abspath(__file__), '../','../','ProcessOutputs_Eficas','TreatOutputs')) + sys.path.append(path1) + + + if generator.plugins.has_key('dicoImbrique'): + self.generator=generator.plugins['dicoImbrique']() + jdc_formate=self.generator.gener(self.jdc) + dico=self.get_Dico() #generator.Dico + + + for k in dico['CONTINGENCY_PROCESSING'].keys(): + print(k) + + if k[0:19] == 'Component_List_For_' or k[0:21] =='Contingency_List_For_' : + print(k) + newK=k.replace('__',' ') + print(newK) + l="'"+str(newK)+"'" + print(l) + dico['CONTINGENCY_PROCESSING'][l]=dico['CONTINGENCY_PROCESSING'][k] + print(dico['CONTINGENCY_PROCESSING']) + del dico['CONTINGENCY_PROCESSING'][k] + + ###to delete + fileDico = os.path.join(path1, 'dicoN1_process.py') + f = open( str(fileDico), 'wb') + f.write("Dico =" + str(dico) ) + f.close() + ### + return dico + + #return self.get_Dico() + + #-------------------# Pour execution avec output et error dans le bash + def process_VP(self): + #-------------------# + if 'dicoImbrique' in generator.plugins: + self.generator=generator.plugins['dicoImbrique']() + jdc_formate=self.generator.gener(self.jdc) + dico=self.get_Dico() #generator.Dico + return dico + + + #--------------------------------# + def ajoutCommentaire(self): + #--------------------------------# + if self.tree.selectedItems()==[] : + QMessageBox.warning( self, tr("Pas de noeud selectionne"),tr("Selectionnez un Noeud \nLe commentaire sera place apres le noeud selectionne")) + return + noeudAvantCommentaire=self.tree.selectedItems()[0] + if noeudAvantCommentaire ==self.tree.racine : + self.tree.racine.append_child("COMMENTAIRE",pos=0) + return + noeudAvantCommentaire.addComment(True) + + + + #--------------------------------# + def _newJDC( self ,units = None): + #--------------------------------# + """ + Initialise un nouveau JDC vierge + """ + self.modified=1 + CONTEXT.unset_current_step() + + texte="" + if self.code == "CARMELCND" : texte=self._newJDCCND() + if self.code == "ZCRACKS" : texte=self._newZCRACKS() + if self.code == "TELEMAC" : texte=self._newTELEMAC() + if self.code == "PSEN" : texte = self._newPSEN() + if self.code == "PSEN_N1" : texte = self._newPSEN_N1() + + if hasattr(self.readercata.cata[0],'TEXTE_NEW_JDC') : texte=self.readercata.cata[0].TEXTE_NEW_JDC + + #if self.code == "CF" : texte = self._new_CF() + # texte=self.newTexteCND + + jdc=self.readercata.cata[0].JdC( procedure =texte, + appli=self, + cata=self.readercata.cata, + cata_ord_dico=self.readercata.cata_ordonne_dico, + rep_mat=self.CONFIGURATION.rep_mat + ) + jdc.lang = self.appli.langue + if units is not None: + jdc.recorded_units=units + jdc.old_recorded_units=units + ## PNPN est ce que la ligne suivante est bien utile ? + if texte == "" :jdc.analyse() + return jdc + + #--------------------------------# + def _newJDCInclude( self ,units = None): + #--------------------------------# + """ + Initialise un nouveau JDC vierge + """ + import Extensions.jdc_include + JdC_aux=Extensions.jdc_include.JdC_include + CONTEXT.unset_current_step() + + jaux=self.readercata.cata[0].JdC( procedure="", + appli=self, + cata=self.readercata.cata, + cata_ord_dico=self.readercata.cata_ordonne_dico, + rep_mat=self.CONFIGURATION.rep_mat, + ) + jaux.analyse() + + J=JdC_aux( procedure="", + appli=self, + cata=self.readercata.cata, + cata_ord_dico=self.readercata.cata_ordonne_dico, + jdc_pere=jaux, + rep_mat=self.CONFIGURATION.rep_mat, + ) + J.analyse() + if units is not None: + J.recorded_units=units + J.old_recorded_units=units + return J + + #-------------------------------# def readFile(self, fn): #--------------------------------# @@ -139,69 +477,95 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): Public slot to read the text from a file. @param fn filename to read from (string or QString) """ + fn = six.text_type(fn) + + # ------------------------------------------------------------------------------------ + # charge le JDC + # ------------------------------------------------------------------------------------ + + jdcName=os.path.basename(fn) + # Il faut convertir le contenu du fichier en fonction du format + if self.appliEficas.format_fichier_in in convert.plugins: + # Le convertisseur existe on l'utilise + #appli = self + p=convert.plugins[self.appliEficas.format_fichier_in]() + p.readfile(fn) + if p.text=="" : self.nouveau=1 + pareil,texteNew=self.verifieCHECKSUM(p.text) + #if texteNew == "" + if pareil == False and (self.appliEficas.ssIhm == False) : + QMessageBox.warning( self, tr("fichier modifie"),tr("Attention! fichier change hors EFICAS")) + p.text=texteNew + memeVersion,texteNew=self.verifieVersionCataDuJDC(p.text) + if memeVersion == 0 : texteNew=self.traduitCatalogue(texteNew) + p.text=texteNew + text=p.convert('exec',self.appliEficas) + if not p.cr.estvide(): + self.affiche_infos("Erreur a la conversion",Qt.red) + else : + self.affiche_infos("Type de fichier non reconnu",Qt.red) + if self.appliEficas.ssIhm == False: + QMessageBox.critical( self, tr("Type de fichier non reconnu"), + tr("EFICAS ne sait pas ouvrir le type de fichier %s" ,self.appliEficas.format_fichier_in)) + return None + + CONTEXT.unset_current_step() + jdc=self.readercata.cata[0].JdC(procedure=text, + appli=self, + cata=self.readercata.cata, + cata_ord_dico=self.readercata.cata_ordonne_dico, + nom=jdcName, + rep_mat=self.CONFIGURATION.rep_mat + ) + # ---------------------------------------------------- + # charge le JDC fin + # ---------------------------------------------------- + self.modified = False - jdc=JDCEditorSsIhm.readFile(self, fn) - - # Particularites IHM : met le titre de la fenetre a jour # qApp.restoreOverrideCursor() - if self.fileInfo!= None : self.lastModified = self.fileInfo.lastModified() + if self.fileInfo!= None : + self.lastModified = self.fileInfo.lastModified() + else : + self.lastModified = 1 nouveauTitre=self.titre+" "+os.path.basename(self.fichier) self.appliEficas.setWindowTitle(nouveauTitre) - return jdc -# --------------------------------------------- -# Methodes Inchangees -# --------------------------------------------- -# _newJDC -# _newJDCInclude -# __generateTempFilename -# getSource -# generDico -# viewJdcSource -# viewJdcPy -# viewJdcRapport -# getFileName -# initModif -# writeFile -# getTextJDC -# verifieChecksum -# getChecksum -# getDico -# chercheGroupes -# chercheDico -# saveFileLegerAs - -# --------------------------------------------- -# Methodes Surchargees -# --------------------------------------------- + + #-----------------------# + def get_source(self,file): + #-----------------------# + + # Il faut convertir le contenu du fichier en fonction du format + if self.format in convert.plugins : + # Le convertisseur existe on l'utilise + p=convert.plugins[self.format]() + p.readfile(file) + text=p.convert('execnoparseur') + if not p.cr.estvide(): + self.affiche_infos("Erreur a la conversion",Qt.red) + return text + else: + # Il n'existe pas c'est une erreur + self.affiche_infos("Type de fichier non reconnu",Qt.red) + QMessageBox.critical( self, tr("Type de fichier non reconnu"),tr("EFICAS ne sait pas ouvrir ce type de fichier")) + return None #-----------------------------------------------------------------------# def _viewText(self, txt, caption = "FILE_VIEWER",largeur=1200,hauteur=600): #--------------------------------------------------------------------# w = ViewText( self.QWParent,self ,caption,txt,largeur,hauteur) w.show() + # - #--------------------------------# - def informe(self,titre,txt,critique=True): - #--------------------------------# - if critique : - self.afficheInfos(tr(txt),Qt.red) - QMessageBox.critical( self, tr(titre), tr(txt)) - else : - QMessageBox.warning( self, tr(titre),tr(txt)) - - #--------------------------------# - def ajoutCommentaire(self): - #--------------------------------# - if self.tree.selectedItems()==[] : - QMessageBox.warning( self, tr("Pas de noeud selectionne"),tr("Selectionnez un Noeud \nLe commentaire sera place apres le noeud selectionne")) - return - noeudAvantCommentaire=self.tree.selectedItems()[0] - if noeudAvantCommentaire ==self.tree.racine : - self.tree.racine.appendChild("COMMENTAIRE",pos=0) - return - noeudAvantCommentaire.addComment(True) + #----------------------------------------------# + def __generateTempFilename(self, prefix, suffix): + #----------------------------------------------# + import tempfile + (fd, filename) = tempfile.mkstemp(prefix=prefix, suffix=suffix) + os.close(fd) + return filename + # #----------------------------------------------# @@ -235,13 +599,57 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): a=self.monExe.readAllStandardOutput() self.w.view.append(str(a.data())) + def readFromStdErrQT4(self): + a=self.monExe.readAllStandardError() + self.w.view.append(QString.fromUtf8(a.data(),len(a))) ; + + def readFromStdOutQT4(self) : + a=self.monExe.readAllStandardOutput() + self.w.view.append(QString.fromUtf8(a.data(),len(a))) ; + #-----------------------# + def generDico(self): + #-----------------------# + if 'dico' in generator.plugins: + self.generator=generator.plugins['dico']() + jdc_formate=self.generator.gener(self.jdc) + dico=self.generator.Dico + return dico + #-----------------------# def gestionParam(self): #-----------------------# w = MonWidgetCreeParam( self) w.show() + #-----------------------# + def viewJdcSource(self): + #-----------------------# + if self.fichier == None : return + f=open(self.fichier,'r') + texteSource=f.read() + f.close() + self._viewText(texteSource, "JDC_SOURCE") + + #-----------------------# + def viewJdcPy(self): + #-----------------------# + strSource = str( self.get_text_JDC(self.format) ) + self._viewText(strSource, "JDC_RESULTAT") + + #-----------------------# + def viewJdcRapport(self): + #-----------------------# + strRapport = six.text_type( self.jdc.report() ) + # on ajoute les regles + + self._viewText(strRapport, "JDC_RAPPORT") + + #-----------------------# + def viewJdcRegles(self): + #-----------------------# + if self.tree :self.tree.AppelleBuildLBRegles() + #----------------# def closeIt(self): @@ -249,13 +657,13 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): """ Public method called by the viewmanager to finally get rid of us. """ - if self.jdc: self.jdc.supprime() + if self.jdc: + self.jdc.supprime() self.close() #----------------------------------------------# - def afficheInfos(self,message,couleur=Qt.black): + def affiche_infos(self,message,couleur=Qt.black): #----------------------------------------------# - if couleur=='red' : couleur = Qt.red if self.sb: mapalette=self.sb.palette() mapalette.setColor( QPalette.WindowText, couleur ) @@ -264,13 +672,13 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): self.couleur=couleur #------------------------------# - def afficheAlerte(self,titre,message): + def affiche_alerte(self,titre,message): #------------------------------# # appele par I_MACRO_ETAPE QMessageBox.information( self, titre, message) #-----------------------------------# - def afficheCommentaire(self,message): + def affiche_commentaire(self,message): #-----------------------------------# self.labelCommentaire.setText(message) QTimer.singleShot(6000, self.rendInvisible) @@ -280,6 +688,15 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): #----------------------# self.labelCommentaire.setText("") + #-------------------# + def init_modif(self): + #-------------------# + """ + Met l'attribut modified a 'o' : utilise par Eficas pour savoir + si un JDC doit etre sauvegarde avant destruction ou non + """ + self.modified = True + #---------------------------------------# def chercheNoeudSelectionne(self,copie=1): #---------------------------------------# @@ -355,8 +772,8 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): """ self.chercheNoeudSelectionne() if len(self.node_selected) == 0 : return - if len(self.node_selected) == 1 : self.node_selected[0].updateNodeLabelInBlue() - else : self.node_selected[0].updatePlusieursNodeLabelInBlue(self.node_selected) + if len(self.node_selected) == 1 : self.node_selected[0].update_node_label_in_blue() + else : self.node_selected[0].update_plusieurs_node_label_in_blue(self.node_selected) self.QWParent.edit="copier" self.QWParent.noeud_a_editer = self.node_selected @@ -388,7 +805,7 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): noeudACopier=self.QWParent.noeud_a_editer[0] if (self.QWParent.edit != "couper"): - #print (noeudOuColler.item.parent.getChild(noeudOuColler.item.nom)) + #print (noeudOuColler.item.parent.get_child(noeudOuColler.item.nom)) try: if noeudOuColler == self.tree.racine : child=noeudOuColler.doPastePremier(noeudACopier) @@ -398,21 +815,21 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): if child==None or child==0: QMessageBox.critical( self,tr( "Copie refusee"),tr('Eficas n a pas reussi a copier l objet')) self.message = '' - self.afficheInfos("Copie refusee",Qt.red) + self.affiche_infos("Copie refusee",Qt.red) if noeudACopier.treeParent.editor != noeudOuColler.treeParent.editor: try : nom=noeudACopier.item.sd.nom - child.item.nommeSd(nom) + child.item.nomme_sd(nom) except : pass return - self.initModif() + self.init_modif() child.select() except : traceback.print_exc() QMessageBox.critical( self,tr( "Copie refusee"),tr('Copie refusee pour ce type d objet')) self.message = '' - self.afficheInfos("Copie refusee",Qt.red) + self.affiche_infos("Copie refusee",Qt.red) return # il faut declarer le JDCDisplay_courant modifie @@ -420,6 +837,7 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): # si possible on renomme l objet comme le noeud couper if (self.QWParent.edit == "couper"): + print ('je pass la') if noeudACopier.treeParent.editor != noeudOuColler.treeParent.editor: QMessageBox.critical( self, tr("Deplacement refuse"),tr('Deplacement refuse entre 2 fichiers. Seule la copie est autorisee ')) @@ -428,7 +846,7 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): # indexNoeudACopier=noeudACopier.treeParent.children.index(noeudACopier) indexNoeudACopier=self.getTreeIndex(noeudACopier) noeudACopier.treeParent.item.deplaceEntite(indexNoeudACopier,indexNoeudOuColler,pos) - noeudACopier.treeParent.buildChildren() + noeudACopier.treeParent.build_children() #else: except: @@ -504,33 +922,19 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): listeASupprimer.append(noeud) for i in range(len(listeChild)): - self.tree.item.suppItem(listeItem[i]) + self.tree.item.suppitem(listeItem[i]) listeChild[i].item.update(listeItem[i]) self.QWParent.noeud_a_editer = [] - #----------------------------------# - def handleAjoutEtape(self,nomEtape): - #----------------------------------# - self.chercheNoeudSelectionne() - if len(self.node_selected) == 0 or self.node_selected[0] == self.tree.racine : - nodeOuAjouter=self.tree.racine - nouveau=nodeOuAjouter.appendChild(nomEtape,pos='first') - else : - nodeOuAjouter=self.node_selected[0] - if nodeOuAjouter != self.tree.racine : - while nodeOuAjouter.treeParent != self.tree.racine: - nodeOuAjouter=nodeOuAjouter.treeParent - nouveau=nodeOuAjouter.appendBrother(nomEtape) - try : - self.node_selected[0].setSelected(False) - except : pass - nouveau.setSelected(True) - nouveau.affichePanneau() + #---------------------# + def getFileName(self): + #---------------------# + return self.fichier #---------------------------# - def getFileVariable(self) : + def get_file_variable(self) : #---------------------------# titre = tr("Choix d'un fichier XML") texte = tr("Le fichier contient une commande MODEL\n") @@ -539,10 +943,91 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): fichier = QFileDialog.getOpenFileName(self.appliEficas, tr('Ouvrir Fichier'), - self.appliEficas.maConfiguration.savedir, + self.appliEficas.CONFIGURATION.savedir, tr('Wrapper Files (*.xml);;''All Files (*)')) return fichier + #--------------------------------------------------# + def writeFile(self, fn, txt = None,formatLigne="beautifie"): + #--------------------------------------------------# + """ + Public slot to write the text to a file. + + @param fn filename to write to string + @return flag indicating success + """ + + fn = six.text_type(fn) + + if txt == None : + txt = self.get_text_JDC(self.format,formatLigne=formatLigne) + eol = '\n' + if len(txt) >= len(eol): + if txt[-len(eol):] != eol: + txt += eol + else: + txt += eol + txt=self.ajoutVersionCataDsJDC(txt) + if self.code != 'PSEN' and self.code != 'PSEN_N1' : checksum = self.get_checksum(txt) + else : checksum='' + # checksum=self.get_checksum(txt) + txt=txt+checksum + if self.code=="TELEMAC" : return 1 + try: + f = open(fn, 'w') + f.write(txt) + f.close() + return 1 + except IOError as why: + if (self.appliEficas.ssIhm == False): + QMessageBox.critical(self, tr('Sauvegarde du Fichier'), + tr('Le fichier')+str(fn) + tr('n a pas pu etre sauvegarde : ') + str(why)) + else : + print (why) + return 0 + + #-----------------------------------------------------------# + def get_text_JDC(self,format,pourRun=0,formatLigne="beautifie"): + #-----------------------------------------------------------# + if self.code == "MAP" and not(format in generator.plugins): format = "MAP" + if format in generator.plugins: + + # Le generateur existe on l'utilise + self.generator=generator.plugins[format]() + try : + jdc_formate=self.generator.gener(self.jdc,format=formatLigne,config=self.appliEficas.CONFIGURATION,appli=self.appliEficas) + if pourRun : jdc_formate=self.generator.textePourRun + if self.code == 'TELEMAC' : jdc_formate=self.generator.texteDico + except ValueError as e: + QMessageBox.critical(self, tr("Erreur a la generation"),str(e)) + return + + if not self.generator.cr.estvide(): + self.affiche_infos(tr("Erreur a la generation"),Qt.red) + QMessageBox.critical( self, tr("Erreur a la generation"),tr("EFICAS ne sait pas convertir ce JDC")) + return "" + else: + return jdc_formate + else: + # Il n'existe pas c'est une erreur + self.affiche_infos(tr("Format %s non reconnu" , self.format),Qt.red) + QMessageBox.critical( self, "Format non reconnu" ,tr("EFICAS ne sait pas convertir le JDC selon le format "+ self.format)) + return "" + + #----------------------# + def get_Dico(self): + #---------------------# + if 'dicoImbrique' in generator.plugins: + self.generator=generator.plugins['dicoImbrique']() + jdc_formate=self.generator.gener(self.jdc) + dico=self.generator.Dico + return dico + else : + self.affiche_infos(tr("Format %s non reconnu" , self.format),Qt.red) + QMessageBox.critical( self, "Format non reconnu" ,tr("EFICAS ne sait pas convertir le JDC selon le format "+ self.format)) + return "" + + #------------# def run(self): #------------# @@ -556,16 +1041,11 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): fonction="saveRun"+self.code if fonction in JDCEditor.__dict__: JDCEditor.__dict__[fonction](self,) - -# --------------------------------------------- -# Methodes Non Crees dans ssIHM -# --------------------------------------------- - #---------------# def runMAP(self): #---------------# - if not(self.jdc.isValid()): + if not(self.jdc.isvalid()): QMessageBox.critical( self, tr( "Execution impossible "),tr("le JDC doit etre valide pour une execution MAP")) return if len(self.jdc.etapes) != 1 : @@ -573,7 +1053,7 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): return if self.modified or self.fichier==None : self.fichierMapInput = self.__generateTempFilename(prefix = "map_run", suffix = ".map") - texte=self.getTextJDC("MAP") + texte=self.get_text_JDC("MAP") self.writeFile( self.fichierMapInput, txt = texte) else : self.fichierMapInput=self.fichier @@ -604,13 +1084,13 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): #-------------------# def runZCRACKS(self): #-------------------# - if not(self.jdc.isValid()): + if not(self.jdc.isvalid()): QMessageBox.critical( self, tr( "Execution impossible "),tr("le JDC doit etre valide pour une execution ")) return if self.modified or self.fichier==None : #if 1: self.fichierZcracksInput = self.__generateTempFilename(prefix = "zcracks_run", suffix = ".z7p") - texte=self.getTextJDC("ZCRACKS",pourRun=1) + texte=self.get_text_JDC("ZCRACKS",pourRun=1) self.writeFile( self.fichierZcracksInput, txt = texte) else : self.fichierZcracksInput=self.fichier @@ -625,13 +1105,13 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): #-------------------# def runCARMELCND(self): #-------------------# - #if not(self.jdc.isValid()): + #if not(self.jdc.isvalid()): # QMessageBox.critical( self, tr( "Execution impossible "),tr("le JDC doit etre valide pour une execution ")) # return if self.modified or self.fichier==None : QMessageBox.critical( self, tr( "Execution impossible "),tr("Sauvegarder SVP avant l'execution ")) return - if not hasattr(self,'generator'): texte=self.getTextJDC(self.format) + if not hasattr(self,'generator'): texte=self.get_text_JDC(self.format) from PrepareRunCarmel import prepareRunCarmel fichierGenerique=os.path.basename(self.fichier).split(".")[0] repMed=os.path.dirname(self.fichier) @@ -690,7 +1170,7 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): def saveRunMAP(self): #-----------------# extension=".input" - if not(self.jdc.isValid()): + if not(self.jdc.isvalid()): QMessageBox.critical( self, tr( "Sauvegarde de l'input impossible "), tr("Un JdC valide est necessaire pour creer un .input") ) @@ -702,7 +1182,7 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): tr("Choix du composant obligatoire") ) return - if hasattr(self.maConfiguration, "savedir"): path=self.maConfiguration.savedir + if hasattr(self.CONFIGURATION, "savedir"): path=self.CONFIGURATION.savedir else : path='C:/' monNomFichier="" @@ -737,7 +1217,7 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): if not hasattr(self, 'fichierMapInput') or not self.fichierMapInput or not os.path.exists(self.fichierMapInput): self.fichierMapInput = self.__generateTempFilename(prefix = "map_run", suffix = ".map") - texte=self.getTextJDC("MAP") + texte=self.get_text_JDC("MAP") self.writeFile( self.fichierMapInput, txt = texte) cmd = ("map gen -t dat -n " + composant + " -i " + self.fichierMapInput + " -o " + fn) @@ -748,10 +1228,30 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): #-----------------# def saveRunPSEN(self): #-----------------# - #print ("saveRunPSEN") + print( "saveRunPSEN") self.saveFile() + return + + #-----------------------------------------# + def cherche_Groupes(self): + #-----------------------------------------# + listeMA,listeNO=self.get_text_JDC("GroupMA") + return listeMA,listeNO + + #-----------------------------------------# + def cherche_Dico(self): + #-----------------------------------------# + dicoCourant={} + format = self.appliEficas.format_fichier + if format in generator.plugins: + # Le generateur existe on l'utilise + self.generator=generator.plugins[format]() + jdc_formate=self.generator.gener(self.jdc,format='beautifie',config=self.appliEficas.CONFIGURATION) + dicoCourant=self.generator.dico + return dicoCourant + #-----------------------------------------# def handleAjoutGroup(self,listeGroup): @@ -766,36 +1266,43 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): #else : pass + #-----------------------------------------------------------------# + def saveFileLegerAs(self, fileName = None) : + #-----------------------------------------------------------------# + if fileName != None : + self.fichier = fileName + return self.saveFileLeger() + return self.saveFileLeger() #-----------------------------------------------------------------# - def saveCompleteFile(self, path = None, saveas= 0,formatLigne="beautifie"): + def saveFileLeger(self, path = None, saveas= 0,formatLigne="beautifie"): #-----------------------------------------------------------------# extension='.casR' - fn = self.fichierComplet + fn = self.fichier #saveas=True # Pour forcer le nom - self.generator=self.maConfiguration.mesGenerators.plugins[self.format]() - if self.fichierComplet is None or saveas: - if path is None: path=self.maConfiguration.savedir + self.generator=generator.plugins[self.format]() + if self.fichier is None or saveas: + if path is None: path=self.CONFIGURATION.savedir bOK, fn=self.determineNomFichier(path,extension) if bOK == 0 : return (0, None) if fn == None : return (0, None) if fn== '' : return (0, None) ulfile = os.path.abspath(six.text_type(fn)) - self.appliEficas.maConfiguration.savedir=os.path.split(ulfile)[0] + self.appliEficas.CONFIGURATION.savedir=os.path.split(ulfile)[0] fn = six.text_type(QDir.toNativeSeparators(fn)) - self.fichierComplet = os.path.splitext(fn)[0]+extension + self.fichier = os.path.splitext(fn)[0]+extension - if hasattr(self.generator, "writeComplet"): - self.generator.writeComplet(self.fichierComplet,self.jdc,config=self.appliEficas.maConfiguration,appli=self.appliEficas) + if hasattr(self.generator, "writeLeger"): + self.generator.writeLeger(self.fichier,self.jdc,config=self.appliEficas.CONFIGURATION,appli=self.appliEficas) - if self.salome : self.appliEficas.addJdcInSalome( self.fichierComplet) + if self.salome : self.appliEficas.addJdcInSalome( self.fichier) self.modified = 0 - nouveauTitre=self.titre+" "+str(os.path.basename(self.fichierComplet)) + nouveauTitre=self.titre+" "+str(os.path.basename(self.fichier)) self.appliEficas.setWindowTitle(nouveauTitre) - return (1, self.fichierComplet) + return (1, self.fichier) #-----------------------------------------------------------------# def saveFile(self, path = None, saveas= 0,formatLigne="beautifie"): @@ -820,14 +1327,14 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): newName = None fn = self.fichier if self.fichier is None or saveas: - if path is None: path=self.maConfiguration.savedir + if path is None: path=self.CONFIGURATION.savedir bOK, fn=self.determineNomFichier(path,extension) if bOK == 0 : return (0, None) if fn == None : return (0, None) if fn== '' : return (0, None) ulfile = os.path.abspath(six.text_type(fn)) - self.appliEficas.maConfiguration.savedir=os.path.split(ulfile)[0] + self.appliEficas.CONFIGURATION.savedir=os.path.split(ulfile)[0] fn = six.text_type(QDir.toNativeSeparators(fn)) newName = fn @@ -842,28 +1349,12 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): if newName is not None: self.appliEficas.addToRecentList(newName) self.tree.racine.item.getObject().nom=os.path.basename(newName) - self.tree.racine.updateNodeLabel() - - #print ('sortie du XML') - #self.jdc.toXml() + self.tree.racine.update_node_label() - if self.jdc.isValid() != 0 and hasattr(self.generator, "writeDefault"): - #if hasattr(self.generator, "writeDefault"): + if self.jdc.isvalid() != 0 and hasattr(self.generator, "writeDefault"): self.generator.writeDefault(fn) elif self.code=="TELEMAC" and hasattr(self.generator, "writeDefault"): - msgBox = QMessageBox(None) - msgBox.setWindowTitle(tr("Fichier .cas invalide / incomplet")) - msgBox.setText(tr("Le fichier .cas est invalide / incomplet")) - msgBox.addButton(tr("&Sauvegarder"),1) - msgBox.addButton(tr("&Quitter sans sauvegarder"),0) - msgBox.addButton(tr("&Annuler"),2) - res=msgBox.exec_() - if res == 0 : - self.generator.writeDefault(fn) - return (1, self.fichier) - if res == 2 : return (0, None) - if self.appliEficas.salome : self.appliEficas.close() - else : sys.exit(1) + self.generator.writeDefault(fn) if self.salome : self.appliEficas.addJdcInSalome( self.fichier) @@ -899,7 +1390,7 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): #---------------------------------------------# - def getFile(self,unite=None,fic_origine = ''): + def get_file(self,unite=None,fic_origine = ''): #---------------------------------------------# # appele par I_JDC ulfile = None @@ -920,18 +1411,18 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): QMessageBox.information( self, titre,texte) fn = QFileDialog.getOpenFileName(self.appliEficas, titre, - self.appliEficas.maConfiguration.savedir) + self.appliEficas.CONFIGURATION.savedir) - # ce retour est impose par le getFile d'I_JDC + # ce retour est impose par le get_file d'I_JDC if fn== '' : return None," " if not fn : return (0, " ") fn=fn[0] ulfile = os.path.abspath(six.text_type(fn)) - self.appliEficas.maConfiguration.savedir=os.path.split(ulfile)[0] + self.appliEficas.CONFIGURATION.savedir=os.path.split(ulfile)[0] # On utilise le convertisseur defini par format_fichier - source=self.getSource(ulfile) + source=self.get_source(ulfile) if source: # On a reussia convertir le fichier self.ulfile jdcText = source @@ -941,12 +1432,14 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): return ulfile, jdcText #-----------------------------------# - def updateJdc(self, etape,texte): + def updateJdc(self, itemApres,texte): #------------------------------------# # ajoute une etape de JdC a partir d un texte - CONTEXT.setCurrentStep(etape) - etape.buildIncludeEtape(texte) - self.tree.racine.buildChildren() + monItem=itemApres + etape=monItem.item.object + CONTEXT.set_current_step(etape) + etape.build_includeInclude(texte) + self.tree.racine.build_children() #-----------------------------------# def updateJdcEtape(self, itemApres,texte): @@ -954,41 +1447,425 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): # ajoute une etape de JdC a partir d un texte monItem=itemApres etape=monItem.item.object - - CONTEXT.setCurrentStep(etape) + CONTEXT.set_current_step(etape) try : - ok=etape.buildIncludeEtape(texte) + ok=etape.build_includeEtape(texte) except : ok=0 if not ok : QMessageBox.information( self, tr("Import texte"), tr("Impossible d importer le texte")) - self.tree.racine.buildChildren() + self.tree.racine.build_children() return ok - #-------------------------------------------# - def updateJdcAfterEtape(self, etape,texte): - #--------------------------------------------# - # ajoute une etape de JdC a partir d un texte - CONTEXT.setCurrentStep(etape) - try : - ok=etape.buildIncludeEtape(texte,doitEtreValide=0) - except : - ok=0 - if not ok : - QMessageBox.information( self, - tr("Import texte"), - tr("Impossible d importer le texte")) - self.tree.racine.buildChildren() - return ok + + + + #----------------------------------------------# + def ajoutMCFact(self,etape,MCFils,listeAvant=()): + #----------------------------------------------# + # dans le JDC + print ('ajoutMCFact') + ouChercher=etape + print (ouChercher) + for mot in listeAvant : + ouChercher=ouChercher.get_child(mot,restreint="oui") + print (mot) + print (ouChercher) + monMC=etape.get_child(ouChercher,restreint="oui") + if monMC== None : monMC= ouChercher.addentite(MCFils) + monMC.isvalid() + + #-------------------------------------# + def getValeur(self,nomEtape,MCFils,listeAvant=()): + #-------------------------------------# + # dans le JDC + + ouChercher=None + for e in self.jdc.etapes: + if e.nom == nomEtape : ouChercher=e; break + if ouChercher==None : return None + for mot in listeAvant : + ouChercher=ouChercher.get_child(mot,restreint="oui") + #print (mot, ouChercher) + if ouChercher==None : return None + monMC=ouChercher.get_child(MCFils,restreint="oui") + if monMC== None : return None + return monMC.valeur + + #-----------------------------------------------------------# + def setValeur(self,nomEtape,MCFils,valeur,listeAvant=()): + #--------------------------------------------------------# + # dans le JDC + + ouChercher=None + for e in self.jdc.etapes: + if e.nom == nomEtape : ouChercher=e; break + if ouChercher==None : return None + for mot in listeAvant : + ouChercher=ouChercher.get_child(mot,restreint="oui") + #print (mot, ouChercher) + if ouChercher==None : return None + monMC=ouChercher.get_child(MCFils,restreint="oui") + monMC.set_valeur(valeur) + monMC.isvalid() + + #-------------------------------------# def deleteEtape(self,etape): #-------------------------------------# + self.jdc.suppentite(etape) + + #-------------------------------------# + def deleteMC(self,etape,MCFils,listeAvant=()): + #-------------------------------------# + ouChercher=etape + for mot in listeAvant : + ouChercher=ouChercher.get_child(mot,restreint="oui") + monMC=ouChercher.get_child(MCFils,restreint="oui") + if monMC != None : ouChercher.suppentite(monMC) + ouChercher.state='changed' + ouChercher.isvalid() + + #-------------------------------------# + def ajoutMC(self,etape,MCFils,valeurs,listeAvant=()): + #-------------------------------------# + print('debut ajoutMC') + ouChercher=etape + for mot in listeAvant : + ouChercher=ouChercher.get_child(mot,restreint="oui") + monMC=etape.get_child(ouChercher,restreint="oui") + print( monMC) + if monMC== None : monMC= ouChercher.addentite(MCFils) + monMC.valeur=valeurs + monMC.val=valeurs + monMC.state='changed' + monMC.isvalid() + print(monMC) + + + #-----------------------------------------------------------# + def changeIntoMC(self,etape,MCFils,valeurs, listeAvant=()): + #-----------------------------------------------------------# + ouChercher=etape + for mot in listeAvant : + ouChercher=ouChercher.get_child(mot,restreint="oui") + if ouChercher ==None : print( 'SOUCI'); return + monMC=ouChercher.get_child(MCFils,restreint="oui") + if monMC== None : monMC= ouChercher.addentite(MCFils) + monMC.definition.into=valeurs + monMC.state='changed' + monMC.isvalid() + + #-------------------------------------# + def changeIntoDefMC(self,etape,listeMC,valeurs): + #-------------------------------------# + definitionEtape=getattr(self.jdc.cata[0],etape) + ouChercher=definitionEtape + if len(listeMC) > 1 : + for mc in listeMC[0:-1]: + mcfact=ouChercher.entites[mc] + ouChercher=mcfact + + mcAccas=ouChercher.entites[listeMC[-1]] + mcAccas.into=valeurs + + #-------------------------------------------------------------# + def deleteDefinitionMC(self,etape,listeAvant,nomDuMC): + #-------------------------------------------------------------# + #print 'in deleteDefinitionMC', etape,listeAvant,nomDuMC + definitionEtape=getattr(self.jdc.cata[0],etape) + ouChercher=definitionEtape + for k in listeAvant : + ouChercher=ouChercher.entites[k] + MCADetruire=ouChercher.entites[nomDuMC] + ouChercher.ordre_mc.remove(nomDuMC) + del ouChercher.entites[nomDuMC] + del self.dicoNouveauxMC[nomDuMC] + + + #-------------------------------------------------------------# + def ajoutDefinitionMC(self,etape,listeAvant,nomDuMC,typ,**args): + #-------------------------------------------------------------# + # print('debut ajoutDefinitionMC') + # traceback.print_stack() + definitionEtape=getattr(self.jdc.cata[0],etape) + ouChercher=definitionEtape + for k in listeAvant : + ouChercher=ouChercher.entites[k] + from Accas import A_SIMP + Nouveau=A_SIMP.SIMP(typ,**args) + Nouveau.pere=ouChercher + Nouveau.nom=nomDuMC + Nouveau.ordre_mc=[] + ouChercher.entites[nomDuMC]=Nouveau + ouChercher.ordre_mc.append(nomDuMC) + if nomDuMC in self.dicoNouveauxMC : del self.dicoNouveauxMC[nomDuMC] + self.dicoNouveauxMC[nomDuMC]=('ajoutDefinitionMC',etape,listeAvant,nomDuMC,typ,args) + # print( self.dicoNouveauxMC) + # print('fin ajoutDefinitionMC') + + #----------------------------------------------------# + def changeIntoMCandSet(self,etape,MCFils,into,valeurs): + #----------------------------------------------------# + monMC=etape.get_child(MCFils,restreint="oui") + if monMC== None : monMC= etape.addentite(MCFils) + monMC.definition.into=into + monMC.valeur=valeurs + monMC.val=valeurs + monMC.state='changed' + monMC.isvalid() + + + + + #-------------------------------------------------------------------# + def reCalculeValiditeMCApresChgtInto(self,nomEtape,MCFils,listeAvant=()): + #-------------------------------------------------------------------# # dans le JDC - self.jdc.suppEntite(etape) + for e in self.jdc.etapes: + if e.nom == nomEtape : ouChercher=e; break + + for mot in listeAvant : + try : + ouChercher=ouChercher.get_child(mot,restreint="oui") + # Le mot clef n est pas la + except : return 0 + try : + monMC=ouChercher.get_child(MCFils,restreint="oui") + # Le mot clef n est pas la + except : return 0 + if monMC == None : return 0 + + if hasattr(monMC.definition,'into') : + if type(monMC.definition.into) ==types.FunctionType : maListeDeValeur=monMC.definition.into() + else : maListeDeValeur=monMC.definition.into + else : + return 0 + + monMC.state='changed' + return 1 + + #-------------------------------------# + def changeDefautDefMC(self,nomEtape,listeMC,valeurs): + #-------------------------------------# + # dans le MDD + + #if isinstance (etape, str): + # for e in self.jdc.etapes: + # if e.nom == etape : etape=e; break + #if etape == None : return + definitionEtape=getattr(self.jdc.cata[0],nomEtape) + ouChercher=definitionEtape + if len(listeMC) > 1 : + + for mc in listeMC[0:-1]: + mcfact=ouChercher.entites[mc] + ouChercher=mcfact + + mcAccas=ouChercher.entites[listeMC[-1]] + mcAccas.defaut=valeurs + return 1 + + + + + #---------------------------------------------------------------------# + def ajoutDefinitionMCFact(self,nomEtape,listeAvant,nomDuMC,listeMC,**args): + #---------------------------------------------------------------------# + # dans le MDD + # print ('ajoutDefinitionMCFact', nomDuMC) + definitionEtape=getattr(self.jdc.cata[0],nomEtape) + ouChercher=definitionEtape + for k in listeAvant : + ouChercher=ouChercher.entites[k] + from Accas import A_SIMP + for mc in listeMC : + nomMC=mc[0] + typMC=mc[1] + argsMC=mc[2] + nouveauMC=A_SIMP.SIMP(typMC,**argsMC) + nouveauMC.nom=nomMC + args[nomMC]=nouveauMC + from Accas import A_FACT + nouveauFact=A_FACT.FACT(**args) + nouveauFact.pere=ouChercher + nouveauFact.nom=nomDuMC + from Editeur.autre_analyse_cata import traite_entite + traite_entite(nouveauFact,[]) + ouChercher.entites[nomDuMC]=nouveauFact + ouChercher.ordre_mc.append(nomDuMC) + self.dicoNouveauxFact[nomDuMC]=('ajoutDefinitionMC',nomEtape,listeAvant,nomDuMC,listeMC,args) + #print self.dicoNouveauxMC + + + + #-------------------------------------# + def ajoutVersionCataDsJDC(self,txt): + #-------------------------------------# + if not hasattr(self.readercata.cata[0],'VERSION_CATALOGUE'): return txt + ligneVersion="#VERSION_CATALOGUE:"+self.readercata.cata[0].VERSION_CATALOGUE+":FIN VERSION_CATALOGUE\n" + texte=txt+ligneVersion + return texte + + #-------------------------------------# + def verifieVersionCataDuJDC(self,text): + #-------------------------------------# + memeVersion=False + indexDeb=text.find("#VERSION_CATALOGUE:") + indexFin=text.find(":FIN VERSION_CATALOGUE") + if indexDeb < 0 : + self.versionCataDuJDC="sans" + textJDC=text + else : + self.versionCataDuJDC=text[indexDeb+19:indexFin] + textJDC=text[0:indexDeb]+text[indexFin+23:-1] + + self.versionCata="sans" + if hasattr(self.readercata.cata[0],'VERSION_CATALOGUE'): self.versionCata=self.readercata.cata[0].VERSION_CATALOGUE + + if self.versionCata==self.versionCataDuJDC : memeVersion=True + return memeVersion,textJDC + + #-------------------------------# + def traduitCatalogue(self,texte): + #-------------------------------# + nomTraducteur="traduit"+self.readercata.code+self.versionCataDuJDC+"To"+self.versionCata + sys.path.append(os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)),"../Traducteur"))) + try : + traducteur=__import__(nomTraducteur) + monTraducteur=traducteur.MonTraducteur(texte) + nouveauTexte=monTraducteur.traduit() + return nouveauTexte + except : + return texte + + + #------------------------------# + def verifieCHECKSUM(self,text): + #------------------------------# + indexDeb=text.find("#CHECKSUM:") + if indexDeb < 0 : + return 1, text + indexFin=text.find(":FIN CHECKSUM") + checkAvant=text[indexDeb:indexFin+13] + textJDC=text[0:indexDeb]+text[indexFin+13:-1] + if self.code !='PSEN' and self.code!='PSEN_N1': + checksum=self.get_checksum(textJDC) + pareil=(checkAvant==checksum) + else : + pareil=1 + return pareil, textJDC + + #---------------------------# + def get_checksum(self,texte): + #---------------------------# + newtexte=texte.replace('"','\\"') + commande='echo "'+newtexte+'"|md5sum' + a=os.popen(commande) + checksum=a.read() + a.close() + ligne="#CHECKSUM:"+checksum[0:-1]+":FIN CHECKSUM" + return ligne + + + #---------------------------# + def _new_CF(self): + #---------------------------# + texte="CONDUITE_FORCEE();" + return texte + + + #---------------------------# + def _newTELEMAC(self): + #---------------------------# + #texte="INITIALIZATION();BOUNDARY_CONDITIONS();GENERAL_PARAMETERS();PHYSICAL_PARAMETERS();NUMERICAL_PARAMETERS();" + texte="COMPUTATION_ENVIRONMENT();HYDRO();GENERAL_PARAMETERS();NUMERICAL_PARAMETERS()" + #texte="TRACERS();" + return texte + + #---------------------------# + def _newPSEN(self): + #---------------------------# + if 'PF_PARAMETERS' in self.Ordre_Des_Commandes: + texte = "DIRECTORY() ;PF_PARAMETERS() ; SIMULATION() ; sansnom=DISTRIBUTION() ; sansnom=DISTRIBUTION() ; CORRELATION() ;" + else: + texte = "DIRECTORY() ; PSSE_PARAMETERS() ; SIMULATION() ; sansnom=DISTRIBUTION() ; sansnom=DISTRIBUTION() ; CORRELATION() ;" + # texte="" + return texte + + #---------------------------# + def _newPSEN_N1(self): + #---------------------------# + texte="CASE_SELECTION();N_PROCESSING_OPTIONS();CONTINGENCY_OPTIONS();CONTINGENCY_SELECTION();\nCONTINGENCY_PROCESSING(); " + #texte="CONTINGENCY_SELECTION();\nCONTINGENCY_PROCESSING(); " + return texte + + #---------------------------# + + #---------------------------# + def _newZCRACKS(self): + #---------------------------# + texte="MAILLAGES();REMESHING();" + return texte + + #---------------------------# + def _newJDCCND(self): + #---------------------------# + extensions=tr('Fichiers Med (*.med);;''Tous les Fichiers (*)') + + #if self.salome == 0 : + QMessageBox.information( self, + tr("Fichier Med"), + tr("Veuillez selectionner un fichier Med")) + QSfichier = QFileDialog.getOpenFileName(self.appliEficas, + caption='Fichier Med', + filter=extensions) + QSfichier=QSfichier[0] + self.fichierMED=QSfichier + from acquiertGroupes import getGroupes + erreur,self.listeGroupes,self.nomMaillage,self.dicoCoord=getGroupes(self.fichierMED) + if erreur != "" : print ("a traiter") + texteComm="COMMENTAIRE(u'Cree - fichier : "+self.fichierMED +" - Nom Maillage : "+self.nomMaillage+"');\nPARAMETRES()\n" + texteSources="" + texteCond="" + texteNoCond="" + texteVcut="" + texteZs="" + for groupe in self.listeGroupes : + if groupe[0:8]=='CURRENT_': + texteSources +=groupe[8:]+"=SOURCE(" + texteSources +="VecteurDirecteur=(1.0,2.0,3.0,),);\n" + if groupe[0:5]=='COND_': texteCond +=groupe[5:]+"=CONDUCTEUR();\n" + if groupe[0:7]=='NOCOND_': texteNoCond +=groupe[7:]+"=NOCOND();\n" + if groupe[0:5]=='VCUT_': texteVcut +='V_'+groupe[5:]+"=VCUT();\n" + if groupe[0:3]=='ZS_': texteZs +=groupe[3:]+"=ZS();\n" + texte=texteComm+texteSources+texteCond+texteNoCond+texteVcut+texteZs + self.newTexteCND=texte + self.modified=1 + return texte + + + #---------------------------# + def BoutonFileSelected(self): + #---------------------------# + + QSfichier=self.openfile.selectedFiles()[0] + self.fichierMED=str(QSfichier) + from acquiertGroupes import getGroupes + erreur,self.listeGroupes,self.nomMaillage=getGroupes(self.fichierMED) + if erreur != "" : print ("a traiter") + + #----------------------------- + def BoutonSalomePressed(self): + #---------------------------- + Msg,self.listeGroupes=self.appliEficas.ChercheGrpMailleInSalome() + self.fichierMED="A_partir_de_SMESH" + self.nomMaillage="A_partir_de_SMESH" + self.openfile.close() #----------------------------------------- @@ -996,14 +1873,15 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): #----------------------------------------- #print ("je passe ds initSplitterSizes", nbWidget) - if self.code in [ 'Adao', 'ADAO','MAP' ] : self.splitterSizes3=[1,1550,150] - #elif self.code in [ 'MAP'] : self.splitterSizes3=[700,300] + if self.code in [ 'Adao', 'ADAO', ] : self.splitterSizes3=[1,1550,150] + elif self.code in [ 'MAP'] : self.splitterSizes3=[700,300] else : self.splitterSizes3=[150,1000,300] - if self.code in [ 'Adao', 'ADAO','MAP' ] : self.splitterSizes2=[5,1500] + if self.code in [ 'Adao', 'ADAO', ] : self.splitterSizes2=[5,1500] else : self.splitterSizes2=[300,1000] + #----------------------------------------- def restoreSplitterSizes(self,nbWidget=3): #---------------------------------------- @@ -1068,12 +1946,6 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): self.widgetTree.show() #self.restoreSplitterSizes(3) - #----------------------- - def getEtapeCourante(self) : - #----------------------- - if len(self.tree.selectedItems()) != 1 : return None - etape=self.tree.selectedItems()[0].item.object.getEtape() - return etape #----------------------------- def getTreeIndex(self,noeud): #---------------------------- @@ -1095,95 +1967,27 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): pass return indexNoeud - #-------------------# Pour execution avec output et error dans le bash - def runPSEN(self): - #-------------------# - - #if self.modified or self.fichier==None : self.saveFile() - self.saveFile() - - #lancement avec le .bat - path1 = os.path.abspath(os.path.join(os.path.abspath(__file__), '../','../','PSEN_Eficas','PSEN')) - WrapperFilePath = os.path.join(path1, 'PSSEWrapper.py') - import subprocess - p = subprocess.Popen(['python',WrapperFilePath]) - (out,err)=p.communicate() - print (out) - print (err) - - #-------------------# Pour execution avec output et error dans le bash - def runPSEN_N1(self): - #-------------------# - - - self.saveFile() - path1 = os.path.abspath(os.path.join(os.path.abspath(__file__), '../','../','ProcessOutputs_Eficas','TreatOutputs')) - sys.path.append(path1) - - if not(self.jdc.isValid()): - QMessageBox.information( self, tr( "Unvalid JDC"),tr("incorrect keywords will be ignored")) - if 'dicoImbrique' in generator.plugins: - self.generator=generator.plugins['dicoImbrique']() - jdc_formate=self.generator.gener(self.jdc) - dico=self.generator.Dico - - ###to delete - #fileDico = r'C:\Logiciels DER\PSEN_V16\Code\ProcessOutputs_Eficas\TreatOutputs\dicoN1.py' - fileDico = os.path.join(path1, 'dicoN1.py') #r'C:\Logiciels DER\PSEN_V16\Code\ProcessOutputs_Eficas\TreatOutputs\dicoN1.py' - f = open( str(fileDico), 'w') - f.write("Dico =" + str(dico) ) - f.close() - ### - - - print ('in runPSEN_N1', dico) - print (dico) - from Run import run - run(dico) - #res,txt_exception=run(dico) - #if res : QMessageBox.information( self, tr("fin de script run"), txt_exception) - #else : QMessageBox.critical( self, tr("Erreur fatale script run"), txt_exception) - - #-------------------# Pour execution avec output et error dans le bash - def process_N1(self): - #-------------------# - - path1 = os.path.abspath(os.path.join(os.path.abspath(__file__), '../','../','ProcessOutputs_Eficas','TreatOutputs')) - sys.path.append(path1) - - - if 'dicoImbrique' in generator.plugins: - self.generator=generator.plugins['dicoImbrique']() - jdc_formate=self.generator.gener(self.jdc) - dico=self.getDico() #generator.Dico - - - for k in dico['CONTINGENCY_PROCESSING']: - #print (k) - if k[0:19] == 'Component_List_For_' or k[0:21] =='Contingency_List_For_' : - newK=k.replace('__',' ') - l="'"+str(newK)+"'" - dico['CONTINGENCY_PROCESSING'][l]=dico['CONTINGENCY_PROCESSING'][k] - del dico['CONTINGENCY_PROCESSING'][k] - - ###to delete - fileDico = os.path.join(path1, 'dicoN1_process.py') - f = open( str(fileDico), 'w') - f.write("Dico =" + str(dico) ) - f.close() - ### - return dico +if __name__ == "__main__": + self.code='ASTER' + name='prefs_'+prefs.code + prefsCode=__import__(name) - #return self.getDico() - #-------------------# Pour execution avec output et error dans le bash - def process_VP(self): - #-------------------# - if 'dicoImbrique' in generator.plugins: - self.generator=generator.plugins['dicoImbrique']() - jdc_formate=self.generator.gener(self.jdc) - dico=self.getDico() #generator.Dico - return dico + if hasattr(prefsCode,'encoding'): + # Hack pour changer le codage par defaut des strings + import sys + reload(sys) + sys.setdefaultencoding(prefs.encoding) + del sys.setdefaultencoding + # Fin hack -if __name__ == "__main__": - print ('in main') +# code=options.code +# + app = QApplication(sys.argv) + mw = JDCEditor(None,'azAster.comm') + app.setMainWidget(mw) + app.connect(app, SIGNAL("lastWindowClosed()"), app, SLOT("quit()")) + mw.show() + + res = app.exec_loop() + sys.exit(res) diff --git a/InterfaceQT4/editorJuillet.py b/InterfaceQT4/editorJuillet.py deleted file mode 100755 index 616587c1..00000000 --- a/InterfaceQT4/editorJuillet.py +++ /dev/null @@ -1,1249 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D -# -# 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. -# -# 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 -# -from __future__ import absolute_import -from __future__ import print_function -try : - from builtins import str - from builtins import range -except : pass - -import types,sys,os, re -import subprocess -import traceback -import six - -from monCodeMeteoAppelRun import Profil_Neutre - - -from PyQt5.QtWidgets import QWidget, QMessageBox, QFileDialog, QApplication, QSplitter, QLabel -from PyQt5.QtGui import QPalette -from PyQt5.QtCore import QProcess, QFileInfo, QTimer, Qt, QDir, QSize - -import traceback - -# Modules Eficas -from Extensions.i18n import tr - -from Editeur import session -from Editeur import comploader -from Editeur import Objecttreeitem -from InterfaceQT4 import browser - -from desBaseWidget import Ui_baseWidget -from InterfaceQT4.monViewTexte import ViewText -from monWidgetCreeParam import MonWidgetCreeParam - -DictExtensions= {"MAP" : ".map", "TELEMAC" : '.cas'} -debug = False - - -from InterfaceQT4.editorSsIhm import JDCEditorSsIhm - - -class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): -# ----------------------------------------- # - """ - Editeur de jdc - """ - -# ---------------------------------------- -# Methodes faisant appel a ssIhm -# ---------------------------------------- - - def __init__ (self,appli,fichier = None, jdc=None, QWParent=None, units = None, include=0): - #------------------------------------------------------------------------------------------ - - - QWidget.__init__(self,None) - self.setupUi(self) - - self.inhibeSplitter=0 - self.widgetOptionnel=None - self.fenetreCentraleAffichee=None - self.dejaDansPlieTout=False - self.listeDesListesOuvertes=set() - self.afficheListesPliees=True - if appli!=None and hasattr(appli,"statusBar"): self.sb = appli.statusBar() - else : self.sb = None - self.QWParent=QWParent - - JDCEditorSsIhm. __init__ (self,appli,fichier, jdc,units,include) - - # Particularites IHM : met la fenetre a jour - - self.initSplitterSizes() - if self.code == "ASTER" or self.code == "monCode" : self.afficheListesPliees =True - if self.code == 'PSEN_N1' : self.afficheListesPliees = False - - #self.affiche=self.appliEficas.maConfiguration.affiche - - if self.code in ['MAP','CARMELCND','PSEN'] : self.maConfiguration.afficheCommandesPliees=False - if self.code in ['MAP',]: self.fermeArbre() - # self.widgetTree.close() - # self.widgetTree=None - - if self.maConfiguration.closeArbre: self.fermeArbre() - if self.maConfiguration.boutonDsMenuBar : self.appliEficas.remplitIconesCommandes() - - self.version_code = session.d_env.cata - - self.format = self.appliEficas.format_fichier - - self.node_selected = [] - self.deplier = True - self.message='' - self.afficheApresInsert=False - if self.maConfiguration.closeArbre : self.afficheApresInsert=True - if self.code in ['Adao','ADAO','MAP'] : self.afficheApresInsert=True - if self.code in ['TELEMAC',] : self.enteteQTree='premier' - else : self.enteteQTree='complet' - if self.code in ['Adao','ADAO','TELEMAC'] : self.affichePlie=True - else : self.affichePlie=False - - self.Commandes_Ordre_Catalogue =self.readercata.Commandes_Ordre_Catalogue - - if self.appliEficas.readercata.demandeCatalogue==True : - nomFichierTranslation='translatorFichier'+'_'+str(self.appliEficas.readercata.versionCode) - if hasattr(self.appliEficas.maConfiguration,nomFichierTranslation) : - translatorFichier=getattr(self.appliEficas.maConfiguration,nomFichierTranslation) - from Extensions import localisation - localisation.localise(None,self.appliEficas.langue,translatorFichier=translatorFichier) - - - if self.jdc_item and self.appliEficas.ssIhm==False : - self.tree = browser.JDCTree( self.jdc_item, self ) - self.appliEficas.construitMenu() - - self.adjustSize() - - - #-------------------------------# - def readFile(self, fn): - #--------------------------------# - """ - Public slot to read the text from a file. - @param fn filename to read from (string or QString) - """ - - jdc=JDCEditorSsIhm.readFile(self, fn) - - # Particularites IHM : met le titre de la fenetre a jour -# qApp.restoreOverrideCursor() - if self.fileInfo!= None : self.lastModified = self.fileInfo.lastModified() - nouveauTitre=self.titre+" "+os.path.basename(self.fichier) - self.appliEficas.setWindowTitle(nouveauTitre) - - return jdc - -# --------------------------------------------- -# Methodes Inchangees -# --------------------------------------------- -# _newJDC -# _newJDCInclude -# __generateTempFilename -# getSource -# generDico -# viewJdcSource -# viewJdcPy -# viewJdcRapport -# getFileName -# initModif -# writeFile -# getTextJDC -# verifieChecksum -# getChecksum -# getDico -# chercheGroupes -# chercheDico -# saveFileLegerAs - -# --------------------------------------------- -# Methodes Surchargees -# --------------------------------------------- - - #-----------------------------------------------------------------------# - def _viewText(self, txt, caption = "FILE_VIEWER",largeur=1200,hauteur=600): - #--------------------------------------------------------------------# - w = ViewText( self.QWParent,self ,caption,txt,largeur,hauteur) - w.show() - - #--------------------------------# - def informe(self,titre,txt,critique=True): - #--------------------------------# - if critique : - self.afficheInfos(tr(txt),Qt.red) - QMessageBox.critical( self, tr(titre), tr(txt)) - else : - QMessageBox.warning( self, tr(titre),tr(txt)) - - #--------------------------------# - def ajoutCommentaire(self): - #--------------------------------# - if self.tree.selectedItems()==[] : - QMessageBox.warning( self, tr("Pas de noeud selectionne"),tr("Selectionnez un Noeud \nLe commentaire sera place apres le noeud selectionne")) - return - noeudAvantCommentaire=self.tree.selectedItems()[0] - if noeudAvantCommentaire ==self.tree.racine : - self.tree.racine.appendChild("COMMENTAIRE",pos=0) - return - noeudAvantCommentaire.addComment(True) - - - #----------------------------------------------# - def _viewTextExecute(self, txt, prefix, suffix): - #----------------------------------------------# - self.w = ViewText( self.QWParent ) - self.w.setWindowTitle( "execution" ) - self.monExe=QProcess(self.w) - pid=self.monExe.pid() - nomFichier = self.__generateTempFilename(prefix, suffix = ".sh") - f=open(nomFichier,'w') - f.write(txt) - f.close() - self.monExe.readyReadStandardOutput.connect( self.readFromStdOut) - self.monExe.readyReadStandardError.connect( self.readFromStdErr) - exe='sh ' + nomFichier - self.monExe.start(exe) - self.monExe.closeWriteChannel() - self.w.exec_() - try: - commande="rm "+ nomFichier - os.system(commande) - except : - pass - - def readFromStdErr(self): - a=self.monExe.readAllStandardError() - self.w.view.append(str(a.data())) - - def readFromStdOut(self) : - a=self.monExe.readAllStandardOutput() - self.w.view.append(str(a.data())) - - - #-----------------------# - def gestionParam(self): - #-----------------------# - w = MonWidgetCreeParam( self) - w.show() - - - #----------------# - def closeIt(self): - #----------------# - """ - Public method called by the viewmanager to finally get rid of us. - """ - if self.jdc: self.jdc.supprime() - self.close() - - #----------------------------------------------# - def afficheInfos(self,message,couleur=Qt.black): - #----------------------------------------------# - if couleur=='red' : couleur = Qt.red - if self.sb: - mapalette=self.sb.palette() - mapalette.setColor( QPalette.WindowText, couleur ) - self.sb.setPalette( mapalette ); - self.sb.showMessage(message,4000) - self.couleur=couleur - - #------------------------------# - def afficheAlerte(self,titre,message): - #------------------------------# - # appele par I_MACRO_ETAPE - QMessageBox.information( self, titre, message) - - #-----------------------------------# - def afficheCommentaire(self,message): - #-----------------------------------# - self.labelCommentaire.setText(message) - QTimer.singleShot(6000, self.rendInvisible) - - #----------------------# - def rendInvisible(self): - #----------------------# - self.labelCommentaire.setText("") - - #---------------------------------------# - def chercheNoeudSelectionne(self,copie=1): - #---------------------------------------# - """ - appele par Cut et Copy pour positionner self.node_selected - """ - self.node_selected=[] - if len(self.tree.selectedItems()) == 0 : return - self.node_selected=self.tree.selectedItems() - - - #---------------------# - def handleSupprimer(self): - #---------------------# - self.chercheNoeudSelectionne() - if len(self.node_selected) == 0 : return - self.QWParent.noeud_a_editer = [] - if self.node_selected[0]==self.tree.racine: return - if len(self.node_selected) == 1 : self.node_selected[0].delete() - else : self.node_selected[0].deleteMultiple(self.node_selected) - - #---------------------# - def handleRechercher(self): - #---------------------# - from .monRecherche import DRecherche - monRechercheDialg=DRecherche(parent=self,fl=0) - monRechercheDialg.show() - - - #--------------------------------# - def handleRechercherDsCatalogue(self): - #-----------------------------# - from .monRechercheCatalogue import DRechercheCatalogue - monRechercheDialg=DRechercheCatalogue(self.QWParent,self) - monRechercheDialg.show() - - #---------------------# - def handleDeplier(self): - #---------------------# - if self.tree == None : return - #self.tree.collapseAll() - if self.deplier : - #print "je plie" - self.tree.expandItem(self.tree.topLevelItem(0)) - self.deplier = False - if self.fenetreCentraleAffichee != None : - if hasattr(self.fenetreCentraleAffichee.node,'plieToutEtReaffiche'): - self.fenetreCentraleAffichee.node.plieToutEtReaffiche() - else: - #print "je deplie" - self.tree.expandItem(self.tree.topLevelItem(0)) - self.deplier = True - if self.fenetreCentraleAffichee != None : - if hasattr(self.fenetreCentraleAffichee.node,'deplieToutEtReaffiche'): - self.fenetreCentraleAffichee.node.deplieToutEtReaffiche() - - #---------------------# - def handleEditCut(self): - #---------------------# - """ - Stocke dans Eficas.noeud_a_editer le noeud a couper - """ - #print "handleEditCut" - self.chercheNoeudSelectionne() - self.QWParent.edit="couper" - self.QWParent.noeud_a_editer = self.node_selected - - #-----------------------# - def handleEditCopy(self): - #-----------------------# - """ - Stocke dans Eficas.noeud_a_editer le noeud a copier - """ - self.chercheNoeudSelectionne() - if len(self.node_selected) == 0 : return - if len(self.node_selected) == 1 : self.node_selected[0].updateNodeLabelInBlue() - else : self.node_selected[0].updatePlusieursNodeLabelInBlue(self.node_selected) - self.QWParent.edit="copier" - self.QWParent.noeud_a_editer = self.node_selected - - #------------------------# - def handleEditPaste(self): - #------------------------# - """ - Lance la copie de l'objet place dans self.QWParent.noeud_a_editer - Ne permet que la copie d'objets de type Commande ou MCF - """ - self.chercheNoeudSelectionne() - if (not(hasattr(self.QWParent,'noeud_a_editer'))) or len(self.QWParent.noeud_a_editer)==0: - QMessageBox.information( self, - tr("Copie impossible"), - tr("Veuillez selectionner un objet a copier")) - return - if len(self.node_selected) != 1 : - QMessageBox.information( self, - tr("Copie impossible"), - tr("Veuillez selectionner un seul objet : la copie se fera apres le noeud selectionne")) - return - noeudOuColler=self.node_selected[0] - - if len(self.QWParent.noeud_a_editer)!=1: - #self.handleEditPasteMultiple() - QMessageBox.information( self, tr("Copie impossible"), tr("Aucun Objet n a ete copie ou coupe")) - return - - noeudACopier=self.QWParent.noeud_a_editer[0] - - if (self.QWParent.edit != "couper"): - #print (noeudOuColler.item.parent.getChild(noeudOuColler.item.nom)) - try: - if noeudOuColler == self.tree.racine : - child=noeudOuColler.doPastePremier(noeudACopier) - else : - child=noeudACopier.doPaste(noeudOuColler,'after') - - if child==None or child==0: - QMessageBox.critical( self,tr( "Copie refusee"),tr('Eficas n a pas reussi a copier l objet')) - self.message = '' - self.afficheInfos("Copie refusee",Qt.red) - if noeudACopier.treeParent.editor != noeudOuColler.treeParent.editor: - try : - nom=noeudACopier.item.sd.nom - child.item.nommeSd(nom) - except : - pass - return - self.initModif() - child.select() - except : - traceback.print_exc() - QMessageBox.critical( self,tr( "Copie refusee"),tr('Copie refusee pour ce type d objet')) - self.message = '' - self.afficheInfos("Copie refusee",Qt.red) - return - - # il faut declarer le JDCDisplay_courant modifie - # suppression eventuelle du noeud selectionne - # si possible on renomme l objet comme le noeud couper - - if (self.QWParent.edit == "couper"): - print ('je pass la') - if noeudACopier.treeParent.editor != noeudOuColler.treeParent.editor: - QMessageBox.critical( self, tr("Deplacement refuse"),tr('Deplacement refuse entre 2 fichiers. Seule la copie est autorisee ')) - - #if 1: - try : - # indexNoeudACopier=noeudACopier.treeParent.children.index(noeudACopier) - indexNoeudACopier=self.getTreeIndex(noeudACopier) - noeudACopier.treeParent.item.deplaceEntite(indexNoeudACopier,indexNoeudOuColler,pos) - noeudACopier.treeParent.buildChildren() - - #else: - except: - pass - self.QWParent.noeud_a_editer=[] - - # on rend la copie a nouveau possible en liberant le flag edit - self.QWParent.edit="copier" - noeudACopier.select() - - #----------------------------------# - def handleDeplaceMultiple(self): - #----------------------------------# - pass - - #----------------------------------# - def handleEditPasteMultiple(self): - #----------------------------------# - - # On ne garde que les niveaux "Etape" - # On insere dans l'ordre du JDC - listeNoeudsACouper=[] - listeIndex=[] - listeChild=[] - listeItem=[] - from InterfaceQT4 import compojdc - noeudOuColler=self.node_selected[0] - if not (isinstance(noeudOuColler.treeParent, compojdc.Node)): - QMessageBox.information( self, - tr("Copie impossible a cet endroit",), - tr("Veuillez selectionner une commande, un parametre, un commentaire ou une macro")) - return - indexNoeudOuColler=noeudOuColler.treeParent.children.index(noeudOuColler) - - for noeud in self.QWParent.noeud_a_editer : - if not (isinstance(noeud.treeParent, compojdc.Node)): continue - indexInTree=noeud.treeParent.children.index(noeud) - indice = 0 - for index in listeIndex: - if index < indexInTree : indice = indice +1 - listeIndex.insert(indice, indexInTree) - listeNoeudsACouper.insert(indice, noeud) - - noeudJdc=noeudOuColler.treeParent - dejaCrees=0 - # on les cree a l'envers parcequ'on ajoute a NoeudOuColler - listeIndex.reverse() - for index in listeIndex: - indexTravail=index - if indexNoeudOuColler < index: - indexTravail=indexTravail+dejaCrees - noeudOuColler=noeudJdc.children[indexNoeudOuColler] - noeud=noeudJdc.children[indexTravail] - child=noeud.doPaste(noeudOuColler) - listeChild.append(child) - dejaCrees=dejaCrees+1 - - self.QWParent.noeud_a_editer = [] - for i in range(len(listeIndex)): - noeud=noeudJdc.children[indexNoeudOuColler+1+i] - self.QWParent.noeud_a_editer.append(noeud) - - listeASupprimer=[] - if self.QWParent.edit !="couper" : return - - for index in listeIndex: - indexTravail=index - if indexNoeudOuColler < index: - indexTravail=indexTravail+(len(listeIndex)) - noeud=noeudJdc.children[indexTravail] - - listeItem.append(noeud.item) - listeASupprimer.append(noeud) - - for i in range(len(listeChild)): - self.tree.item.suppItem(listeItem[i]) - listeChild[i].item.update(listeItem[i]) - - self.QWParent.noeud_a_editer = [] - - #----------------------------------# - def handleAjoutEtape(self,nomEtape): - #----------------------------------# - self.chercheNoeudSelectionne() - if len(self.node_selected) == 0 or self.node_selected[0] == self.tree.racine : - nodeOuAjouter=self.tree.racine - nouveau=nodeOuAjouter.appendChild(nomEtape,pos='first') - else : - nodeOuAjouter=self.node_selected[0] - if nodeOuAjouter != self.tree.racine : - while nodeOuAjouter.treeParent != self.tree.racine: - print (nodeOuAjouter) - nodeOuAjouter=nodeOuAjouter.treeParent - print (nodeOuAjouter.parent == self.tree.racine) - nouveau=nodeOuAjouter.appendBrother(nomEtape) - try : - self.node_selected[0].setSelected(False) - except : pass - nouveau.setSelected(True) - nouveau.affichePanneau() - - - #---------------------------# - def getFileVariable(self) : - #---------------------------# - titre = tr("Choix d'un fichier XML") - texte = tr("Le fichier contient une commande MODEL\n") - texte = texte+tr('Donnez le nom du fichier XML qui contient la description des variables') - QMessageBox.information( self, titre,tr(texte)) - - fichier = QFileDialog.getOpenFileName(self.appliEficas, - tr('Ouvrir Fichier'), - self.appliEficas.maConfiguration.savedir, - tr('Wrapper Files (*.xml);;''All Files (*)')) - return fichier - - #------------# - def run(self): - #------------# - fonction="run"+self.code - #print fonction - if fonction in JDCEditor.__dict__: JDCEditor.__dict__[fonction](self,) - - #------------# - def saveRun(self): - #------------# - fonction="saveRun"+self.code - if fonction in JDCEditor.__dict__: JDCEditor.__dict__[fonction](self,) - - -# --------------------------------------------- -# Methodes Non Crees dans ssIHM -# --------------------------------------------- - - #---------------# - def runMAP(self): - #---------------# - - if not(self.jdc.isValid()): - QMessageBox.critical( self, tr( "Execution impossible "),tr("le JDC doit etre valide pour une execution MAP")) - return - if len(self.jdc.etapes) != 1 : - QMessageBox.critical( self, tr("Execution impossible "),tr("le JDC doit contenir un et un seul composant")) - return - if self.modified or self.fichier==None : - self.fichierMapInput = self.__generateTempFilename(prefix = "map_run", suffix = ".map") - texte=self.getTextJDC("MAP") - self.writeFile( self.fichierMapInput, txt = texte) - else : - self.fichierMapInput=self.fichier - composant=self.jdc.etapes[0].nom.lower()[0:-5] - - - # :TRICKY: to determine if a component requires SALOME, loads the component from Eficas catalog - # then instantiate corresponding class and call getUseSalome() method - try: - from mapengine.spec import factory - mapComponent = factory.new(composant)[0] - - command = "map" - if mapComponent.getUseSalome(): - command += " -r sappli" - textePython=(command + " run -n "+composant +" -i "+self.fichierMapInput) - - #textePython="ls -l" - self._viewTextExecute( textePython,"map_run",".sh") - #try: - # commande="rm "+self.fichierMapInput - # os.system(commande) - #except : - # pass - except Exception as e: - print((traceback.print_exc())) - - #-------------------# - def runZCRACKS(self): - #-------------------# - if not(self.jdc.isValid()): - QMessageBox.critical( self, tr( "Execution impossible "),tr("le JDC doit etre valide pour une execution ")) - return - if self.modified or self.fichier==None : - #if 1: - self.fichierZcracksInput = self.__generateTempFilename(prefix = "zcracks_run", suffix = ".z7p") - texte=self.getTextJDC("ZCRACKS",pourRun=1) - self.writeFile( self.fichierZcracksInput, txt = texte) - else : - self.fichierZcracksInput=self.fichier - try : - #commande ="Zrun -zp " - commande="more " - textePython=(commande + self.fichierZcracksInput) - self._viewTextExecute( textePython,"run_zcracks",".sh") - except Exception as e: - print((traceback.print_exc())) - - #-------------------# - def runCARMELCND(self): - #-------------------# - #if not(self.jdc.isValid()): - # QMessageBox.critical( self, tr( "Execution impossible "),tr("le JDC doit etre valide pour une execution ")) - # return - if self.modified or self.fichier==None : - QMessageBox.critical( self, tr( "Execution impossible "),tr("Sauvegarder SVP avant l'execution ")) - return - if not hasattr(self,'generator'): texte=self.getTextJDC(self.format) - from PrepareRunCarmel import prepareRunCarmel - fichierGenerique=os.path.basename(self.fichier).split(".")[0] - repMed=os.path.dirname(self.fichier) - repExeCarmel=self.generator.get_repExeCarmel() - textePython=prepareRunCarmel(repExeCarmel,repMed,fichierGenerique) - nomFichier = self.__generateTempFilename("carmel_run", suffix = ".sh") - f=open(nomFichier,'w') - f.write(textePython) - f.close() - commande="xterm -e sh "+nomFichier +"\n" - os.system(commande) - - #-------------------# - def runCarmelCS(self): - #-------------------# - try : - commande="runSession pilotyacsCS.py" - os.system(commande) - except Exception as e: - print((traceback.print_exc())) - - #-----------------------------------------------------# - def determineNomFichier(self,path,extension): - #-----------------------------------------------------# - if self.appli.code in DictExtensions: - chaine1=DictExtensions[self.appli.code]+" (*."+DictExtensions[self.appli.code]+");;" - extensions= tr(chaine1+ "All Files (*)") - else : - extensions= tr("JDC (*.comm);;" "All Files (*)") - - if self.appli.code == "MAP" : - extensions = extensions + ";; Run (*.input);;" - - fn = QFileDialog.getSaveFileName( self, - tr("sauvegarde"), path, - extensions,None, - QFileDialog.DontConfirmOverwrite) - if fn == None : return (0, None) - fn=fn[0] - if fn=='': return (0, None) - - ext = QFileInfo(fn).suffix() - if ext == '': fn+=extension - - if QFileInfo(fn).exists(): - msgBox = QMessageBox(self) - msgBox.setWindowTitle(tr("Sauvegarde du Fichier")) - msgBox.setText(tr("Le fichier %s existe deja.", six.text_type(fn))) - msgBox.addButton(tr("&Ecraser"),0) - msgBox.addButton(tr("&Abandonner"),1) - abort=msgBox.exec_() - if abort == 1 : return (0, "") - return (1,fn) - - #-----------------# - def saveRunMAP(self): - #-----------------# - extension=".input" - if not(self.jdc.isValid()): - QMessageBox.critical( self, tr( "Sauvegarde de l'input impossible "), - tr("Un JdC valide est necessaire pour creer un .input") - ) - return - try : - composant=self.jdc.etapes[0].nom.lower()[0:-5] - except : - QMessageBox.critical( self, tr( "Sauvegarde de l'input impossible "), - tr("Choix du composant obligatoire") - ) - return - if hasattr(self.maConfiguration, "savedir"): path=self.maConfiguration.savedir - else : path='C:/' - - monNomFichier="" - if self.fichier is not None and self.fichier != "" : - maBase=str(QFileInfo(self.fichier).baseName())+".input" - monPath=str(QFileInfo(self.fichier).absolutePath()) - monNomFichier=os.path.join(monPath,maBase) - elif hasattr(self,'monNomFichierInput'): - monNomFichier=self.monNomFichierInput - - - monDialog=QFileDialog(self.appliEficas) - monDialog.setDirectory (path) - monDialog.setWindowTitle ("Save") - - for c in monDialog.children(): - if isinstance(c,QDialogButtonBox): - for b in c.children(): - if isinstance(b,QPushButton): - avant=b.text() - if avant=="&Open": b.setText("Save") - mesFiltres= "input Map (*.input);;All Files (*)" - monDialog.setNameFilters(mesFiltres) - if monNomFichier!="" : monDialog.selectFile(monNomFichier) - BOk=monDialog.exec_() - if BOk==0: return - fn=str(monDialog.selectedFiles()[0]) - if fn == "" or fn == None : return - if not fn.endswith(".input"): - fn += ".input" - self.monNomFichierInput=fn - - if not hasattr(self, 'fichierMapInput') or not self.fichierMapInput or not os.path.exists(self.fichierMapInput): - self.fichierMapInput = self.__generateTempFilename(prefix = "map_run", suffix = ".map") - texte=self.getTextJDC("MAP") - self.writeFile( self.fichierMapInput, txt = texte) - - cmd = ("map gen -t dat -n " + composant + " -i " + self.fichierMapInput + " -o " + fn) - p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE) - (output, err) = p.communicate() - - - #-----------------# - def saveRunPSEN(self): - #-----------------# - #print ("saveRunPSEN") - self.saveFile() - - - - #-----------------------------------------# - def handleAjoutGroup(self,listeGroup): - #-----------------------------------------# - try : - #if 1: - from ajoutGroupe import handleAjoutGroupFiltre - #print listeGroup - handleAjoutGroupFiltre(self,listeGroup) - #print "apres handleAjoutGroupFiltre" - except : - #else : - pass - - - #-----------------------------------------------------------------# - def saveCompleteFile(self, path = None, saveas= 0,formatLigne="beautifie"): - #-----------------------------------------------------------------# - extension='.casR' - fn = self.fichierComplet - #saveas=True # Pour forcer le nom - self.generator=self.maConfiguration.mesGenerators.plugins[self.format]() - if self.fichierComplet is None or saveas: - if path is None: path=self.maConfiguration.savedir - bOK, fn=self.determineNomFichier(path,extension) - if bOK == 0 : return (0, None) - if fn == None : return (0, None) - if fn== '' : return (0, None) - - ulfile = os.path.abspath(six.text_type(fn)) - self.appliEficas.maConfiguration.savedir=os.path.split(ulfile)[0] - fn = six.text_type(QDir.toNativeSeparators(fn)) - - self.fichierComplet = os.path.splitext(fn)[0]+extension - - if hasattr(self.generator, "writeComplet"): - self.generator.writeComplet(self.fichierComplet,self.jdc,config=self.appliEficas.maConfiguration,appli=self.appliEficas) - - if self.salome : self.appliEficas.addJdcInSalome( self.fichierComplet) - - self.modified = 0 - nouveauTitre=self.titre+" "+str(os.path.basename(self.fichierComplet)) - self.appliEficas.setWindowTitle(nouveauTitre) - return (1, self.fichierComplet) - - #-----------------------------------------------------------------# - def saveFile(self, path = None, saveas= 0,formatLigne="beautifie"): - #-----------------------------------------------------------------# - """ - Public slot to save the text to a file. - - @param path directory to save the file in (string or QString) - @return tuple of two values (boolean, string) giving a success indicator and - the name of the saved file - """ - - self.modified=1 - if not self.modified and not saveas: - return (0, None) # do nothing if text wasn't changed - - if self.appli.code in DictExtensions : - extension=DictExtensions[self.appli.code] - else : - extension='.comm' - - newName = None - fn = self.fichier - if self.fichier is None or saveas: - if path is None: path=self.maConfiguration.savedir - bOK, fn=self.determineNomFichier(path,extension) - if bOK == 0 : return (0, None) - if fn == None : return (0, None) - if fn== '' : return (0, None) - - ulfile = os.path.abspath(six.text_type(fn)) - self.appliEficas.maConfiguration.savedir=os.path.split(ulfile)[0] - fn = six.text_type(QDir.toNativeSeparators(fn)) - newName = fn - - - if not (self.writeFile(fn,formatLigne=formatLigne)): return (0, None) - self.fichier = fn - self.modified = False - if self.fileInfo is None or saveas: - self.fileInfo = QFileInfo(self.fichier) - self.fileInfo.setCaching(0) - self.lastModified = self.fileInfo.lastModified() - if newName is not None: - self.appliEficas.addToRecentList(newName) - self.tree.racine.item.getObject().nom=os.path.basename(newName) - self.tree.racine.updateNodeLabel() - - self.jdc.toXml() - - if self.jdc.isValid() != 0 and hasattr(self.generator, "writeDefault"): - #if hasattr(self.generator, "writeDefault"): - self.generator.writeDefault(fn) - elif self.code=="TELEMAC" and hasattr(self.generator, "writeDefault"): - msgBox = QMessageBox(None) - msgBox.setWindowTitle(tr("Fichier .cas invalide / incomplet")) - msgBox.setText(tr("Le fichier .cas est invalide / incomplet")) - msgBox.addButton(tr("&Sauvegarder"),1) - msgBox.addButton(tr("&Quitter sans sauvegarder"),0) - msgBox.addButton(tr("&Annuler"),2) - res=msgBox.exec_() - if res == 0 : - self.generator.writeDefault(fn) - return (1, self.fichier) - if res == 2 : return (0, None) - if self.appliEficas.salome : self.appliEficas.close() - else : sys.exit(1) - - if self.salome : - self.appliEficas.addJdcInSalome( self.fichier) - self.modified = 0 - nouveauTitre=self.titre+" "+str(os.path.basename(self.fichier)) - self.appliEficas.setWindowTitle(nouveauTitre) - - return (1, self.fichier) -# - - #----------------------------------------------# - def sauveLigneFile(self): - #----------------------------------------------# - self.modified=1 - return self.saveFile(formatLigne="Ligne") - - - #----------------------------------------------# - def saveFileAs(self, path = None,fileName=None): - #----------------------------------------------# - """ - Public slot to save a file with a new name. - - @param path directory to save the file in (string or QString) - @return tuple of two values (boolean, string) giving a success indicator and - the name of the saved file - """ - if fileName != None : - self.fichier = fileName - return self.saveFile() - return self.saveFile(path,1,"beautifie") - - - - #---------------------------------------------# - def getFile(self,unite=None,fic_origine = ''): - #---------------------------------------------# - # appele par I_JDC - ulfile = None - jdcText = "" - - titre = "" - - if unite : - titre = tr("Choix unite %d ", unite) - texte = tr("Le fichier %s contient une commande INCLUDE \n", str(fic_origine)) +"\n" - texte = texte+ tr("Donnez le nom du fichier correspondant a l unite logique ") + repr(unite) - labeltexte = tr('Fichier pour unite ') + repr( unite) - else: - titre = tr("Choix d'un fichier de poursuite") - texte = tr("Le fichier %s contient une commande POURSUITE\n", fic_origine) - texte = texte+tr('Donnez le nom du fichier dont vous \n voulez faire une poursuite') - - QMessageBox.information( self, titre,texte) - fn = QFileDialog.getOpenFileName(self.appliEficas, - titre, - self.appliEficas.maConfiguration.savedir) - - # ce retour est impose par le getFile d'I_JDC - if fn== '' : return None," " - if not fn : return (0, " ") - fn=fn[0] - - ulfile = os.path.abspath(six.text_type(fn)) - self.appliEficas.maConfiguration.savedir=os.path.split(ulfile)[0] - - # On utilise le convertisseur defini par format_fichier - source=self.getSource(ulfile) - if source: - # On a reussia convertir le fichier self.ulfile - jdcText = source - else: - # Une erreur a ete rencontree - jdcText = '' - return ulfile, jdcText - - #-----------------------------------# - def updateJdc(self, etape,texte): - #------------------------------------# - # ajoute une etape de JdC a partir d un texte - CONTEXT.setCurrentStep(etape) - etape.buildIncludeEtape(texte) - self.tree.racine.buildChildren() - - #-----------------------------------# - def updateJdcEtape(self, itemApres,texte): - #------------------------------------# - # ajoute une etape de JdC a partir d un texte - monItem=itemApres - etape=monItem.item.object - - CONTEXT.setCurrentStep(etape) - try : - ok=etape.buildIncludeEtape(texte) - except : - ok=0 - if not ok : - QMessageBox.information( self, - tr("Import texte"), - tr("Impossible d importer le texte")) - self.tree.racine.buildChildren() - return ok - - #-------------------------------------------# - def updateJdcAfterEtape(self, etape,texte): - #--------------------------------------------# - # ajoute une etape de JdC a partir d un texte - CONTEXT.setCurrentStep(etape) - try : - ok=etape.buildIncludeEtape(texte,doitEtreValide=0) - except : - ok=0 - if not ok : - QMessageBox.information( self, - tr("Import texte"), - tr("Impossible d importer le texte")) - self.tree.racine.buildChildren() - return ok - - - #-------------------------------------# - def deleteEtape(self,etape): - #-------------------------------------# - # dans le JDC - self.jdc.suppEntite(etape) - - #-------------------------------------# - def deleteMC(self,etape,MCFils,listeAvant=()): - #-------------------------------------# - # dans le JDC - ouChercher=etape - for mot in listeAvant : - ouChercher=ouChercher.getChild(mot,restreint="oui") - monMC=ouChercher.getChild(MCFils,restreint="oui") - if monMC != None : ouChercher.suppEntite(monMC) - ouChercher.state='changed' - ouChercher.isValid() - - #-------------------------------------# - def ajoutMC(self,etape,MCFils,valeurs,listeAvant=()): - #-------------------------------------# - # dans le JDC - ouChercher=etape - for mot in listeAvant : - ouChercher=ouChercher.getChild(mot,restreint="oui") - monMC=etape.getChild(ouChercher,restreint="oui") - if monMC== None : monMC= ouChercher.addEntite(MCFils) - monMC.valeur=valeurs - monMC.val=valeurs - monMC.state='changed' - monMC.isValid() - - #----------------------------------------------# - def ajoutMCFact(self,etape,MCFils,listeAvant=()): - #----------------------------------------------# - # dans le JDC - print ('ajoutMCFact') - ouChercher=etape - print (ouChercher) - for mot in listeAvant : - ouChercher=ouChercher.getChild(mot,restreint="oui") - print (mot) - print (ouChercher) - monMC=etape.getChild(ouChercher,restreint="oui") - if monMC== None : monMC= ouChercher.addEntite(MCFils) - monMC.isValid() - - - #----------------------------------------- - def initSplitterSizes(self, nbWidget=3): - #----------------------------------------- - #print ("je passe ds initSplitterSizes", nbWidget) - - if self.code in [ 'Adao', 'ADAO','MAP' ] : self.splitterSizes3=[1,1550,150] - #elif self.code in [ 'MAP'] : self.splitterSizes3=[700,300] - else : self.splitterSizes3=[150,1000,300] - - if self.code in [ 'Adao', 'ADAO','MAP' ] : self.splitterSizes2=[5,1500] - else : self.splitterSizes2=[300,1000] - - - #----------------------------------------- - def restoreSplitterSizes(self,nbWidget=3): - #---------------------------------------- - - #traceback.print_stack() - #print ("je passe ds restoreSplitterSizes") - if not(hasattr(self,'splitter')) : return - if nbWidget==2 : newSizes=self.splitterSizes2 - if nbWidget==3 : newSizes=self.splitterSizes3 - #self.inhibeSplitter = 1 - self.splitter.setSizes(newSizes) - #self.inhibeSplitter = 0 - QApplication.processEvents() - # seule la fentetre du milieu est necessaire - self.splitter.widget(1).resizeEvent=self.saveSplitterSizes - - #----------------------------------------- - def saveSplitterSizes(self,event): - #----------------------------------------- - #print ("je passe ds saveSplitterSizes") - if self.inhibeSplitter : return - if self.widgetOptionnel == None : self.splitterSizes2 = self.splitter.sizes()[0:2] - else : self.splitterSizes3 = self.splitter.sizes()[0:3] - - #------------------------ - def fermeOptionnel(self): - #------------------------ - if self.widgetOptionnel == None : return - - self.inhibeSplitter=1 - self.widgetOptionnel.setParent(None) - self.widgetOptionnel.close() - self.widgetOptionnel.deleteLater() - self.widgetOptionnel=None - self.inhibeSplitter=0 - self.restoreSplitterSizes(2) - - #------------------------ - def ajoutOptionnel(self): - #------------------------ - #if len(self.splitterSizes) == 2 : self.splitterSizes.append(self.oldSizeWidgetOptionnel) - #else : self.splitterSizes[2] = self.oldSizeWidgetOptionnel # ceinture pour les close bizarres - #self.splitterSizes[1] = self.splitterSizes[1] - self.splitterSizes[2] - - self.restoreSplitterSizes(3) - - - #------------------------ - def fermeArbre(self): - #------------------------ - #print (self.widgetTree) - self.oldWidgetTree=self.widgetTree - self.widgetTree.hide() - #self.widgetTree=None - - #------------------------ - def ouvreArbre(self): - #------------------------ - #print ('je passe la') - #print (self.widgetTree) - #self.widgetTree=self.oldWidgetTree - self.widgetTree.show() - #self.restoreSplitterSizes(3) - - #----------------------- - def getEtapeCourante(self) : - #----------------------- - print (self.tree.selectedItems()) - if len(self.tree.selectedItems()) != 1 : return None - etape=self.tree.selectedItems()[0].item.object.getEtape() - return etape - #----------------------------- - def getTreeIndex(self,noeud): - #---------------------------- - indexNoeud=-1 - if noeud in noeud.treeParent.children : - indexNoeud=noeud.treeParent.children.index(noeud) - else : - if hasattr(noeud,'vraiParent') : - noeudVrai = noeud - noeudVraiParent = noeud.vraiParent - while noeudVraiParent != noeud.treeParent and hasattr(noeudVraiParent,'vraiParent') : - noeudVrai = noeudVraiParent - noeudVraiParent = noeudVraiParent.vraiParent - pass - if noeudVraiParent == noeud.treeParent : - indexNoeud=noeud.treeParent.children.index(noeudVrai) - pass - pass - pass - return indexNoeud - - #-------------------# - def runMeteo(self): - #-------------------# - - if not(self.jdc.isValid()): - QMessageBox.critical( self, tr( "Execution impossible "),tr("le JDC doit etre valide pour une execution Meteo")) - return - strSource = str( self.getTextJDC(self.format) ) - code = compile(strSource, strSource, 'exec') - exec(code, globals(), {}) - - - - #-------------------# Pour execution avec output et error dans le bash - def runPSEN(self): - #-------------------# - - #if self.modified or self.fichier==None : self.saveFile() - self.saveFile() - - #lancement avec le .bat - path1 = os.path.abspath(os.path.join(os.path.abspath(__file__), '../','../','PSEN_Eficas','PSEN')) - WrapperFilePath = os.path.join(path1, 'PSSEWrapper.py') - import subprocess - p = subprocess.Popen(['python',WrapperFilePath]) - (out,err)=p.communicate() - print (out) - print (err) - - #-------------------# Pour execution avec output et error dans le bash - def runPSEN_N1(self): - #-------------------# - - - self.saveFile() - path1 = os.path.abspath(os.path.join(os.path.abspath(__file__), '../','../','ProcessOutputs_Eficas','TreatOutputs')) - sys.path.append(path1) - - if not(self.jdc.isValid()): - QMessageBox.information( self, tr( "Unvalid JDC"),tr("incorrect keywords will be ignored")) - if 'dicoImbrique' in generator.plugins: - self.generator=generator.plugins['dicoImbrique']() - jdc_formate=self.generator.gener(self.jdc) - dico=self.generator.Dico - - ###to delete - #fileDico = r'C:\Logiciels DER\PSEN_V16\Code\ProcessOutputs_Eficas\TreatOutputs\dicoN1.py' - fileDico = os.path.join(path1, 'dicoN1.py') #r'C:\Logiciels DER\PSEN_V16\Code\ProcessOutputs_Eficas\TreatOutputs\dicoN1.py' - f = open( str(fileDico), 'w') - f.write("Dico =" + str(dico) ) - f.close() - ### - - - print ('in runPSEN_N1', dico) - print (dico) - from Run import run - run(dico) - #res,txt_exception=run(dico) - #if res : QMessageBox.information( self, tr("fin de script run"), txt_exception) - #else : QMessageBox.critical( self, tr("Erreur fatale script run"), txt_exception) - - #-------------------# Pour execution avec output et error dans le bash - def process_N1(self): - #-------------------# - - path1 = os.path.abspath(os.path.join(os.path.abspath(__file__), '../','../','ProcessOutputs_Eficas','TreatOutputs')) - sys.path.append(path1) - - - if 'dicoImbrique' in generator.plugins: - self.generator=generator.plugins['dicoImbrique']() - jdc_formate=self.generator.gener(self.jdc) - dico=self.getDico() #generator.Dico - - - for k in dico['CONTINGENCY_PROCESSING']: - #print (k) - if k[0:19] == 'Component_List_For_' or k[0:21] =='Contingency_List_For_' : - newK=k.replace('__',' ') - l="'"+str(newK)+"'" - dico['CONTINGENCY_PROCESSING'][l]=dico['CONTINGENCY_PROCESSING'][k] - del dico['CONTINGENCY_PROCESSING'][k] - - ###to delete - fileDico = os.path.join(path1, 'dicoN1_process.py') - f = open( str(fileDico), 'w') - f.write("Dico =" + str(dico) ) - f.close() - ### - return dico - - #return self.getDico() - - #-------------------# Pour execution avec output et error dans le bash - def process_VP(self): - #-------------------# - if 'dicoImbrique' in generator.plugins: - self.generator=generator.plugins['dicoImbrique']() - jdc_formate=self.generator.gener(self.jdc) - dico=self.getDico() #generator.Dico - return dico - - -if __name__ == "__main__": - print ('in main') diff --git a/InterfaceQT4/editorSsIhm.py b/InterfaceQT4/editorSsIhm.py deleted file mode 100755 index b60a39b8..00000000 --- a/InterfaceQT4/editorSsIhm.py +++ /dev/null @@ -1,1088 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# 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. -# -# 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 -# -from __future__ import absolute_import -from __future__ import print_function -try : - from builtins import str - from builtins import range -except : pass - -import types,sys,os, re -import subprocess -import traceback - -import six -from six.moves import range - -import traceback - -# Modules Eficas - -import convert, generator -from Editeur import session -from Editeur import comploader -from Editeur import Objecttreeitem - -DictExtensions= {"MAP" : ".map", "TELEMAC" : '.cas'} -debug = False - - - -class JDCEditorSsIhm : -# ------------------- # - """ - Editeur de jdc - """ - -# --------------------------------------------- -# Methodes Communes ou appelees depuis avec Ihm -# --------------------------------------------- - - def __init__ (self,appli,fichier = None, jdc = None, units = None, include=0 ): - #------------------------------------------------------------------------------# - # paticularisee avec Ihm - - if debug : print ('dans le init de JDCEditorSsIhm') - self.appliEficas = appli - self.appli = appli - self.fichier = fichier - self.fichierComplet = fichier - self.jdc = jdc - self.first = True - self.jdc_item = None - self.dicoNouveauxMC = {} - self.dicoNouveauxFact = {} - self.dict_reels = {} - self.liste_simp_reel = [] - - if appli != None : self.salome = self.appliEficas.salome - else : self.salome = 0 - - # ces attributs sont mis a jour par definitCode appelee par newEditor - self.code = self.appliEficas.maConfiguration.code - self.maConfiguration = self.appliEficas.maConfiguration - - self.version_code = session.d_env.cata - - - if not hasattr ( self.appliEficas, 'readercata') or self.appliEficas.readercata.demandeCatalogue==True or self.appliEficas.multi==True: - if self.maConfiguration.typeDeCata == 'XML' : - from InterfaceQT4 import readercataXML as readercata - else : - from InterfaceQT4 import readercata - self.readercata = readercata.ReaderCata( self, self.appliEficas ) - self.appliEficas.readercata=self.readercata - self.appliEficas.code=self.code - else : - self.readercata=self.appliEficas.readercata - if self.readercata.fic_cata == None : return #Sortie Salome - self.titre=self.readercata.titre - - self.format = self.appliEficas.format_fichier - - if self.appliEficas.maConfiguration.dumpXSD==True : self.appliEficas.dumpXsd() - self.dict_reels={} - self.liste_simp_reel=[] - self.dicoNouveauxMC={} - self.dicoNouveauxFact={} - - - try: - self.maConfiguration.generator_module - _module = __import__(self.maConfiguration.generator_module) - info = _module.entryPoint() - generator.plugins.addEntryPoint(info) - except: - pass - - try: - self.maConfiguration.convert_module - #print self.maConfiguration.convert_module - _module = __import__(self.maConfiguration.convert_module) - info = _module.entryPoint() - convert.plugins.addEntryPoint(info) - except : - pass - - self.maConfiguration.mesGenerators = generator - self.maConfiguration.mesconvertisseurs = convert - - self.fileInfo = None - self.lastModified = 0 - - self.modified = False - self.isReadOnly = False - - #------- construction du jdc -------------- - - - self.nouveau=0 - if self.fichier is not None: # fichier jdc fourni - if jdc==None : - #print ('PNPN : chgt try en if') - try : - #if 1 : - self.jdc = self.readFile(self.fichier) - except : - print ("mauvaise lecture du fichier") - if self.salome : - try : - self.appliEficas.addJdcInSalome( self.fichier) - except : - print ("mauvais enregistrement dans Salome") - else : - self.jdc=jdc - - if self.jdc is not None and units is not None: - self.jdc.recorded_units=units - self.jdc.old_recorded_units=units - - else: - if not self.jdc: # nouveau jdc - if not include : - self.jdc = self._newJDC(units=units) - else : - self.jdc = self._newJDCInclude(units=units) - self.nouveau=1 - - if self.jdc: - self.jdc.appli = self # a resorber - self.jdc.editor = self - self.jdc.lang = self.appli.langue - self.jdc.aReafficher=False - txt_exception = None - if not jdc: - self.jdc.analyse() - txt_exception = self.jdc.cr.getMessException() - if txt_exception : - self.jdc = None - self.informe('pb chargement jdc',txt_exception) - else: - comploader.chargerComposants() - self.jdc_item=Objecttreeitem.makeObjecttreeitem( self, "nom", self.jdc ) - - #-------------------------------# - def readFile(self, fn): - #--------------------------------# - """ - Public slot to read the text from a file. - @param fn filename to read from (string or QString) - """ - - # charge un JDC - # paticularisee avec Ihm - - fn = six.text_type(fn) - jdcName=os.path.basename(fn) - - # Il faut convertir le contenu du fichier en fonction du format - if self.appliEficas.format_fichier_in in convert.plugins: - # Le convertisseur existe on l'utilise - - p=convert.plugins[self.appliEficas.format_fichier_in]() - p.readfile(fn) - - if p.text=="" : self.nouveau=1 - #print ('PNPN --> CIST a faire') - - pareil,texteNew=self.verifieChecksum(p.text) - if not pareil : - self.informe(("fichier modifie"),("Attention! fichier change hors EFICAS"),False) - - p.text=texteNew - memeVersion,texteNew=self.verifieVersionCataDuJDC(p.text) - if memeVersion == 0 : texteNew=self.traduitCatalogue(texteNew) - p.text=texteNew - - text=p.convert('exec',self.appliEficas) - - if not p.cr.estvide(): self.afficheInfos("Erreur a la conversion",'red') - else : - self.afficheInfos("Type de fichier non reconnu",'red') - self.informe( "Type de fichier non reconnu", - "EFICAS ne sait pas ouvrir le type de fichier " + self.appliEficas.format_fichier_in) - return None - - CONTEXT.unsetCurrentStep() - - #jdc=self.readercata.cata[0].JdC(procedure=text, - jdc=self.readercata.cata.JdC(procedure=text, - appli=self, - cata=self.readercata.cata, - cata_ord_dico=self.readercata.cata_ordonne_dico, - nom=jdcName, - rep_mat=self.maConfiguration.rep_mat - ) - self.modified = False - return jdc - - - #--------------------------------# - def _newJDC( self ,units = None): - #--------------------------------# - """ - Initialise un nouveau JDC vierge - """ - self.modified=1 - CONTEXT.unsetCurrentStep() - - texte="" - if self.code == "CARMELCND" : texte=self._newJDCCND() - if self.code == "ZCRACKS" : texte=self._newZCRACKS() - if self.code == "PSEN" : texte = self._newPSEN() - if self.code == "PSEN_N1" : texte = self._newPSEN_N1() - - #if hasattr(self.readercata.cata[0],'TEXTE_NEW_JDC') : texte=self.readercata.cata[0].TEXTE_NEW_JDC - if hasattr(self.readercata.cata,'TEXTE_NEW_JDC') : texte=self.readercata.cata.TEXTE_NEW_JDC - - - #jdc=self.readercata.cata[0].JdC( procedure =texte, - #print (self.readercata.cata) - jdc=self.readercata.cata.JdC( procedure =texte, - appli=self, - cata=self.readercata.cata, - cata_ord_dico=self.readercata.cata_ordonne_dico, - rep_mat=self.maConfiguration.rep_mat - ) - - jdc.lang = self.appli.langue - if units is not None: - jdc.recorded_units=units - jdc.old_recorded_units=units - ## PNPN est ce que la ligne suivante est bien utile ? - # elle positionne le contexte - # est ce qu on ne doit pas changer le format en Accas si on vient d accas ? - if self.format == 'xml' : return jdc - if texte == "" : - jdc.editor=self - jdc.analyse() - return jdc - - #--------------------------------# - def _newJDCInclude( self ,units = None): - #--------------------------------# - """ - Initialise un nouveau JDC vierge - """ - import Extensions.jdc_include - JdC_aux=Extensions.jdc_include.JdC_include - CONTEXT.unsetCurrentStep() - - #jaux=self.readercata.cata[0].JdC( procedure="", - jaux=self.readercata.cata.JdC( procedure="", - appli=self, - cata=self.readercata.cata, - cata_ord_dico=self.readercata.cata_ordonne_dico, - rep_mat=self.maConfiguration.rep_mat, - ) - jaux.analyse() - - J=JdC_aux( procedure="", - appli=self, - cata=self.readercata.cata, - cata_ord_dico=self.readercata.cata_ordonne_dico, - jdc_pere=jaux, - rep_mat=self.maConfiguration.rep_mat, - ) - J.analyse() - if units is not None: - J.recorded_units=units - J.old_recorded_units=units - return J - - - - #-----------------------# - def getSource(self,file): - #-----------------------# - - # Il faut convertir le contenu du fichier en fonction du format - if self.format in convert.plugins : - # Le convertisseur existe on l'utilise - p=convert.plugins[self.format]() - p.readfile(file) - text=p.convert('execnoparseur') - if not p.cr.estvide(): - self.afficheInfos("Erreur a la conversion",'red') - return text - else: - # Il n'existe pas c'est une erreur - self.afficheInfos("Type de fichier non reconnu",'red') - self.informe( "Type de fichier non reconnu", - "EFICAS ne sait pas ouvrir le type de fichier " + self.appliEficas.format_fichier_in) - return None - - #----------------------------------------------# - def __generateTempFilename(self, prefix, suffix): - #----------------------------------------------# - import tempfile - (fd, filename) = tempfile.mkstemp(prefix=prefix, suffix=suffix) - os.close(fd) - return filename - - #-----------------------# - def generDico(self): - #-----------------------# - if 'dico' in generator.plugins: - self.generator=generator.plugins['dico']() - #print (self.generator) - jdc_formate=self.generator.gener(self.jdc) - #print (jdc_formate) - dico=self.generator.Dico - #print (dico) - return dico - - #-----------------------# - def viewJdcSource(self): - #-----------------------# - if self.fichier == None : return - f=open(self.fichier,'r') - texteSource=f.read() - f.close() - self._viewText(texteSource, "JDC_SOURCE") - - #-----------------------# - def viewJdcPy(self): - #-----------------------# - strSource = str( self.getTextJDC(self.format) ) - self._viewText(strSource, "JDC_RESULTAT") - - #-----------------------# - def viewJdcRapport(self): - #-----------------------# - # on ajoute les regles - strRapport = six.text_type( self.jdc.report() ) - self._viewText(strRapport, "JDC_RAPPORT") - - #-----------------------# - def viewJdcRegles(self): - #-----------------------# - # on ajoute les regles - texte_global, test_global = self.jdc.verifRegles() - self._viewText(texte_global, "JDC_REGLES") - - #-----------------------# - def getJdcRapport(self): - #-----------------------# - # on ajoute les regles - strRapport = six.text_type( self.jdc.report() ) - return strRapport - - #---------------------# - def getFileName(self): - #---------------------# - return self.fichier - - #-------------------# - def initModif(self): - #-------------------# - """ - Met l'attribut modified a 'o' : utilise par Eficas pour savoir - si un JDC doit etre sauvegarde avant destruction ou non - """ - self.modified = True - - - #--------------------------------------------------# - def writeFile(self, fn, txt = None,formatLigne="beautifie"): - #--------------------------------------------------# - """ - Public slot to write the text to a file. - - @param fn filename to write to string - @return flag indicating success - """ - - fn = six.text_type(fn) - - if txt == None : - txt = self.getTextJDC(self.format,formatLigne=formatLigne) - eol = '\n' - if len(txt) >= len(eol): - if txt[-len(eol):] != eol: - txt += eol - else: - txt += eol - txt=self.ajoutVersionCataDsJDC(txt) - if self.code != 'PSEN' and self.code != 'PSEN_N1' : checksum=self.getChecksum(txt) - else : checksum='' - txt=txt+checksum - if self.code=="TELEMAC" : return 1 - try: - f = open(fn, 'w') - f.write(txt) - f.close() - return 1 - except IOError as why: - self.afficheInfos('Sauvegarde du Fichier', 'Le fichier'+str(fn) + 'n a pas pu etre sauvegarde :' + str(why)) - return 0 - - #-----------------------------------------------------------# - def getTextJDC(self,format,pourRun=0,formatLigne="beautifie"): - #-----------------------------------------------------------# - if self.code == "MAP" and not(format in generator.plugins): format = "MAP" - if format in generator.plugins: - - # Le generateur existe on l'utilise - self.generator=generator.plugins[format]() - try : - jdc_formate=self.generator.gener(self.jdc,format=formatLigne,config=self.appliEficas.maConfiguration,appli=self.appliEficas) - if pourRun : jdc_formate=self.generator.textePourRun - if self.code == 'TELEMAC' : jdc_formate=self.generator.texteDico - except ValueError as e: - self.informe( "Erreur a la generation",str(e),'red') - return - - if not self.generator.cr.estvide(): - self.informe("Erreur a la generation","EFICAS ne sait pas convertir ce JDC",'red') - return "" - else: - return jdc_formate - else: - # Il n'existe pas c'est une erreur - self.informe("Format inconnu", self.format + " non reconnu" ) - return "" - - #------------------------------# - def verifieChecksum(self,text): - #------------------------------# - # Attention : souci sous Windows - # - indexDeb=text.find("#CHECKSUM:") - if indexDeb < 0 : return 1, text - indexFin=text.find(":FIN CHECKSUM") - checkAvant=text[indexDeb:indexFin+13] - textJDC=text[0:indexDeb]+text[indexFin+13:-1] - if self.code != 'PSEN' and self.code != 'PSEN_N1': - checksum=self.getChecksum(textJDC) - pareil=(checkAvant==checksum) - else : - pareil=1 - return pareil, textJDC - - #---------------------------# - def getChecksum(self,texte): - #---------------------------# - newtexte=texte.replace('"','\\"') - commande='echo "'+newtexte+'"|md5sum' - a=os.popen(commande) - checksum=a.read() - a.close() - ligne="#CHECKSUM:"+checksum[0:-1]+":FIN CHECKSUM" - return ligne - - #----------------------# - def getDico(self): - #---------------------# - if 'dicoImbrique' in generator.plugins: - self.generator=generator.plugins['dicoImbrique']() - #print (self.generator) - jdc_formate=self.generator.gener(self.jdc) - dico=self.generator.Dico - return dico - else : - self.afficheInfos(tr("Format %s non reconnu" , self.format),Qt.red) - return "" - - #-----------------------------------------# - def chercheGroupes(self): - #-----------------------------------------# - listeMA,listeNO=self.getTextJDC("GroupMA") - return listeMA,listeNO - - #-----------------------------------------# - def chercheDico(self): - #-----------------------------------------# - dicoCourant={} - format = self.appliEficas.format_fichier - if format in generator.plugins: - # Le generateur existe on l'utilise - self.generator=generator.plugins[format]() - jdc_formate=self.generator.gener(self.jdc,format='beautifie',config=self.appliEficas.maConfiguration) - dicoCourant=self.generator.dico - return dicoCourant - - #-----------------------------------------------------------------# - def saveFileLegerAs(self, fileName = None) : - #-----------------------------------------------------------------# - if fileName != None : - self.fichier = fileName - return self.saveFileLeger(fileName) - return self.saveFileLeger() - - #-----------------------------------------------------------------# - def saveFileComplet(self, fichier = None, formatLigne="beautifie"): - #-----------------------------------------------------------------# - fn = fichier - self.generator=generator.plugins[self.format]() - print (self.generator) - if hasattr(self.generator, "writeComplet"): - self.generator.writeComplet(fichier,self.jdc,config=self.appliEficas.maConfiguration,appli=self.appliEficas) - - -# --------------------------------------------- -# Methodes Surchargees par avecIhm -# --------------------------------------------- - - #--------------------------------# - def ajoutCommentaire(self): - #--------------------------------# - print ('pas programme sans Ihm') - print ('prevenir la maintenance du besoin') - - - #--------------------------------------# - def informe(self,titre,txt,critique=True): - #--------------------------------------# - # methode differenre avec et sans ihm - if critique : print ('!!!!!!!!!!!!!!!!!!!!!!!!!!!') - print (titre) - print (txt) - if critique : print ('!!!!!!!!!!!!!!!!!!!!!!!!!!!') - - #--------------------------------------# - def afficheInfos(self,txt,couleur=None): - #--------------------------------------# - # methode differenre avec et sans ihm - print (txt) - - #-----------------------------------------------------------------------# - def _viewText(self, txt, caption = "FILE_VIEWER",largeur=1200,hauteur=600): - #--------------------------------------------------------------------# - print ('_____________________________') - print (txt) - print ('_____________________________') - - - #-----------------------------------------------------------------# - def saveFile(self, fichier, formatLigne="beautifie"): - #-----------------------------------------------------------------# - """ - Public slot to save the text to a file. - - @param path directory to save the file in (string or QString) - @return tuple of two values (boolean, string) giving a success indicator and - the name of the saved file - """ - - - if not (self.writeFile(fichier,formatLigne=formatLigne)): return (0, None) - self.fichierOut = fichier - - if self.jdc.isValid() != 0 and hasattr(self.generator, "writeDefault"): - self.generator.writeDefault(fichier) - elif self.code=="TELEMAC" and hasattr(self.generator, "writeDefault"): - self.generator.writeDefault(fichier) - - self.modified = 0 - - return (1, self.fichier) -# - - #----------------------------------------------# - def sauveLigneFile(self): - #----------------------------------------------# - self.modified=1 - return self.saveFile(formatLigne="Ligne") - - - #-----------------------------------# - def updateJdc(self, itemApres,texte): - #------------------------------------# - # ajoute une etape de JdC a partir d un texte - monItem=itemApres - etape=monItem.item.object - CONTEXT.setCurrentStep(etape) - etape.buildIncludeInclude(texte) - self.tree.racine.buildChildren() - - #-----------------------------------# - def updateJdcEtape(self, itemApres,texte): - #------------------------------------# - # ajoute une etape de JdC a partir d un texte - monItem=itemApres - etape=monItem.item.object - CONTEXT.set_current_step(etape) - try : - ok=etape.build_includeEtape(texte) - except : - ok=0 - if not ok : - QMessageBox.information( self, - tr("Import texte"), - tr("Impossible d importer le texte")) - self.tree.racine.build_children() - return ok - - - - #-------------------------------------# - def deleteEtape(self,etape): - #-------------------------------------# - # dans le JDC - self.jdc.suppentite(etape) - - #-------------------------------------# - def deleteMC(self,etape,MCFils,listeAvant=()): - #-------------------------------------# - # dans le JDC - ouChercher=etape - for mot in listeAvant : - ouChercher=ouChercher.getChild(mot,restreint="oui") - monMC=ouChercher.getChild(MCFils,restreint="oui") - if monMC != None : ouChercher.suppentite(monMC) - ouChercher.state='changed' - ouChercher.isvalid() - - #--------------------------------------------------------# - def ajoutMC(self,etape,MCFils,valeurs,listeAvant=()): - #--------------------------------------------------------# - # dans le JDC - debug=False - if debug : print ('ajoutMC', etape,MCFils,valeurs,listeAvant) - ouChercher=etape - if debug : print (ouChercher) - for mot in listeAvant : - ouChercher=ouChercher.getChild(mot,restreint="oui", debug=1) - monMC=ouChercher.getChild(MCFils,restreint="oui") - if monMC == None : monMC = ouChercher.addEntite(MCFils) - monMC.valeur=valeurs - monMC.val=valeurs - monMC.state='changed' - monMC.isvalid() - return 1 - - #--------------------------------------------------------# - def ajoutMCinMCFactUnique(self,etape,MCFils,valeurs,listeAvant=()): - # Attention si +sieursMCFACT - #--------------------------------------------------------# - # dans le JDC - debug=False - if debug : print ('ajoutMC', etape,MCFils,valeurs,listeAvant) - ouChercher=etape - if debug : print (ouChercher) - for mot in listeAvant : - ouChercher=ouChercher.getChild(mot,restreint="oui", debug=1) - # Attention si +sieursMCFACT - ouChercher=ouChercher[0] - if debug : print (ouChercher) - monMC=ouChercher.getChild(MCFils,restreint="oui") - if monMC == None : monMC = ouChercher.addEntite(MCFils) - monMC.valeur=valeurs - monMC.val=valeurs - monMC.state='changed' - monMC.isValid() - return 1 - - #----------------------------------------------# - def ajoutMCFact(self,etape,MCFils,listeAvant=()): - #----------------------------------------------# - # dans le JDC - ouChercher=etape - for mot in listeAvant : - ouChercher=ouChercher.getChild(mot,restreint="oui") - monMC=etape.getChild(ouChercher,restreint="oui") - if monMC== None : monMC= ouChercher.addEntite(MCFils) - monMC.isvalid() - - #-----------------------------------------------------------------# - def setValeurMCSimpInEtape(self,etape,listeAvant,valeur): - #-----------------------------------------------------------------# - # pour VP - monObj=etape - for mot in listeAvant : - monObj=monObj.getChild(mot,restreint="oui") - if monObj==None : return False - if monObj == None : return False - if monObj.valeur != valeur : - # PNPN le setValeur fait des bugs --> pourquoi - #monObj.setValeur(valeur) - monObj.valeur=valeur - monObj.isValid() - return True - - #-------------------------------------------------# - def getValeur(self,nomEtape,MCFils,listeAvant=()): - #-------------------------------------------------# - # dans le JDC - - debug=0 - ouChercher=None - for e in self.jdc.etapes: - if e.nom == nomEtape : ouChercher=e; break - if debug : print ('etape trouvee', ouChercher) - if ouChercher==None : return None - for mot in listeAvant : - ouChercher=ouChercher.getChild(mot,restreint="oui") - if debug : print (mot, ouChercher) - if ouChercher==None : return None - monMC=ouChercher.getChild(MCFils,restreint="oui") - if debug : print ('monMC', monMC) - if monMC== None : return None - return monMC.valeur - - #-------------------------------------------------# - def getMCDsEtape(self,etape,MCFils,listeAvant=()): - #-------------------------------------------------# - # dans le JDC - - if etape==None : return None - ouChercher=etape - debug=0 - for mot in listeAvant : - ouChercher=ouChercher.getChild(mot,restreint="oui") - if debug : print (mot, ouChercher) - if ouChercher==None : return None - monMC=ouChercher.getChild(MCFils,restreint="oui") - if debug : print ('monMC', monMC) - return monMC - - #-----------------------------------------------------------# - def setValeur(self,nomEtape,MCFils,valeur,listeAvant=()): - #--------------------------------------------------------# - # dans le JDC - - ouChercher=None - for e in self.jdc.etapes: - if e.nom == nomEtape : ouChercher=e; break - if ouChercher==None : return None - for mot in listeAvant : - ouChercher=ouChercher.getChild(mot,restreint="oui") - #print (mot, ouChercher) - if ouChercher==None : return None - monMC=ouChercher.getChild(MCFils,restreint="oui") - monMC.set_valeur(valeur) - monMC.isvalid() - - #-----------------------------------------------------------# - def changeIntoMC(self,etape,MCFils,valeurs, listeAvant=()): - #-----------------------------------------------------------# - # dans le JDC - ouChercher=etape - if isinstance (etape, str): - ouChercher=None - for e in self.jdc.etapes: - if e.nom == etape : ouChercher=e; break - if ouChercher==None : return - - for mot in listeAvant : - ouChercher=ouChercher.getChild(mot,restreint="oui") - if ouChercher==None : return - monMC=ouChercher.getChild(MCFils,restreint="oui") - if monMC== None : monMC= ouChercher.addEntite(MCFils) - - monMC.definition.into=valeurs - from Noyau.N_VALIDATOR import IntoProtocol - monMC.definition.intoProto = IntoProtocol("into", into=monMC.definition.into, val_min=monMC.definition.val_min, val_max=monMC.definition.val_max) - monMC.state='changed' - monMC.isvalid() - - #-------------------------------------------------------------------# - def reCalculeValiditeMCApresChgtInto(self,nomEtape,MCFils,listeAvant=()): - #-------------------------------------------------------------------# - # dans le JDC - for e in self.jdc.etapes: - if e.nom == nomEtape : ouChercher=e; break - - for mot in listeAvant : - try : - ouChercher=ouChercher.getChild(mot,restreint="oui") - # Le mot clef n est pas la - except : return 0 - try : - monMC=ouChercher.getChild(MCFils,restreint="oui") - # Le mot clef n est pas la - except : return 0 - if monMC == None : return 0 - - if hasattr(monMC.definition,'into') : - if type(monMC.definition.into) ==types.FunctionType : maListeDeValeur=monMC.definition.into() - else : maListeDeValeur=monMC.definition.into - else : - return 0 - - monMC.state='changed' - return 1 - - #-------------------------------------# - def changeDefautDefMC(self,nomEtape,listeMC,valeurs): - #-------------------------------------# - # dans le MDD - - #if isinstance (etape, str): - # for e in self.jdc.etapes: - # if e.nom == etape : etape=e; break - #if etape == None : return - definitionEtape=getattr(self.jdc.cata,nomEtape) - #definitionEtape=getattr(self.jdc.cata[0],nomEtape) - ouChercher=definitionEtape - if len(listeMC) > 1 : - - for mc in listeMC[0:-1]: - mcfact=ouChercher.entites[mc] - ouChercher=mcfact - - mcAccas=ouChercher.entites[listeMC[-1]] - mcAccas.defaut=valeurs - return 1 - - #------------------------------------------------# - def changeIntoDefMC(self,etape,listeMC,valeurs): - #------------------------------------------------# - # dans le MDD - #definitionEtape=getattr(self.jdc.cata[0],nomEtape) - #definitionEtape=getattr(self.jdc.cata,nomEtape) - print ( 'changeIntoDefMC ',etape,listeMC,valeurs) - ouChercher=getattr(self.jdc.cata,etape.nom) - - #if len(listeMC) > 1 : - # for mc in listeMC[0:-1]: - # mcfact=ouChercher.entites[mc] - # ouChercher=mcfact - #mcAccas=ouChercher.entites[listeMC[-1]] - - for mc in listeMC : - mcAccas=ouChercher.entites[mc] - ouChercher=mcAccas - if ouChercher == None : return 0 - - if hasattr(mcAccas,'into') : oldValeurs=mcAccas.into - else : oldValeurs=None - - if oldValeurs==valeurs : return 1 - mcAccas.into=valeurs - from Noyau.N_VALIDATOR import IntoProtocol - mcAccas.intoProto = IntoProtocol("into", into=valeurs, val_min=mcAccas.val_min, val_max=mcAccas.val_max) - return 1 - - #-------------------------------------------------------------# - def deleteDefinitionMC(self,etape,listeAvant,nomDuMC): - #-------------------------------------------------------------# - # dans le MDD - #print 'in deleteDefinitionMC', etape,listeAvant,nomDuMC - if isinstance (etape, str): - for e in self.jdc.etapes: - if e.nom == etape : etape=e; break - if etape == None : return - #definitionEtape=getattr(self.jdc.cata[0],etape) - definitionEtape=getattr(self.jdc.cata,etape) - ouChercher=definitionEtape - for k in listeAvant : - ouChercher=ouChercher.entites[k] - MCADetruire=ouChercher.entites[nomDuMC] - ouChercher.ordre_mc.remove(nomDuMC) - print ('remove de ', nomDuMC) - del ouChercher.entites[nomDuMC] - del self.dicoNouveauxMC[nomDuMC] - - - #-------------------------------------------------------------# - def ajoutDefinitionMC(self,nomEtape,listeAvant,nomDuMC,typ,**args): - #-------------------------------------------------------------# - # dans le MDD - #definitionEtape=getattr(self.jdc.cata[0],nomEtape) - definitionEtape=getattr(self.jdc.cata,nomEtape) - ouChercher=definitionEtape - for k in listeAvant : - ouChercher=ouChercher.entites[k] - from Accas import A_SIMP - Nouveau=A_SIMP.SIMP(typ,**args) - Nouveau.pere=ouChercher - Nouveau.nom=nomDuMC - #Nouveau.ordre_mc=[] - ouChercher.entites[nomDuMC]=Nouveau - ouChercher.ordre_mc.append(nomDuMC) - #print ('ajout de ', nomDuMC) - #traceback.print_stack() - # ajout CIST sauvegarde - if nomDuMC in self.dicoNouveauxMC : del self.dicoNouveauxMC[nomDuMC] - self.dicoNouveauxMC[nomDuMC]=('ajoutDefinitionMC',nomEtape,listeAvant,nomDuMC,typ,args) - #print self.dicoNouveauxMC - - #---------------------------------------------------------------------# - def ajoutDefinitionMCFact(self,nomEtape,listeAvant,nomDuMC,listeMC,**args): - #---------------------------------------------------------------------# - # dans le MDD - print ('ajoutDefinitionMCFact', nomDuMC) - #definitionEtape=getattr(self.jdc.cata[0],nomEtape) - definitionEtape=getattr(self.jdc.cata,nomEtape) - ouChercher=definitionEtape - for k in listeAvant : - ouChercher=ouChercher.entites[k] - from Accas import A_SIMP - for mc in listeMC : - nomMC=mc[0] - typMC=mc[1] - argsMC=mc[2] - nouveauMC=A_SIMP.SIMP(typMC,**argsMC) - nouveauMC.nom=nomMC - args[nomMC]=nouveauMC - from Accas import A_FACT - nouveauFact=A_FACT.FACT(**args) - nouveauFact.pere=ouChercher - nouveauFact.nom=nomDuMC - from Editeur.autre_analyse_cata import traite_entite - traite_entite(nouveauFact,[]) - ouChercher.entites[nomDuMC]=nouveauFact - ouChercher.ordre_mc.append(nomDuMC) - self.dicoNouveauxFact[nomDuMC]=('ajoutDefinitionMC',nomEtape,listeAvant,nomDuMC,listeMC,args) - #print self.dicoNouveauxMC - - #----------------------------------------------------# - - #----------------------------------------------------# - def changeIntoMCandSet(self,etape,listeMC,into,valeurs): - #----------------------------------------------------# - # dans le MDD et le JDC - - self.changeIntoDefMC(etape,listeMC,into) - - if isinstance (etape, str): - for e in self.jdc.etapes: - if e.nom == etape : etape=e; break - if etape == None : return - - ouChercher = etape - for mot in listeMC[:-1] : - ouChercher=ouChercher.getChild(mot,restreint="oui") - if ouChercher==None : return - MCFils=listeMC[-1] - monMC=ouChercher.getChild(MCFils,restreint="oui") - if monMC== None : monMC= etape.addEntite(MCFils) - - monMC.definition.into=into - monMC.valeur=valeurs - monMC.val=valeurs - monMC.state='changed' - monMC.isvalid() - - #-------------------------------------# - def ajoutVersionCataDsJDC(self,txt): - #-------------------------------------# - #if not hasattr(self.readercata.cata[0],'VERSION_CATALOGUE'): return txt - if not hasattr(self.readercata.cata,'VERSION_CATALOGUE'): return txt - ligneVersion="#VERSION_CATALOGUE:"+self.readercata.cata.VERSION_CATALOGUE+":FIN VERSION_CATALOGUE\n" - texte=txt+ligneVersion - return texte - - #-------------------------------------# - def verifieVersionCataDuJDC(self,text): - #-------------------------------------# - memeVersion=False - indexDeb=text.find("#VERSION_CATALOGUE:") - indexFin=text.find(":FIN VERSION_CATALOGUE") - if indexDeb < 0 : - self.versionCataDuJDC="sans" - textJDC=text - else : - self.versionCataDuJDC=text[indexDeb+19:indexFin] - textJDC=text[0:indexDeb]+text[indexFin+23:-1] - - self.versionCata="sans" - if hasattr(self.readercata.cata,'VERSION_CATALOGUE'): self.versionCata=self.readercata.cata.VERSION_CATALOGUE - - if self.versionCata==self.versionCataDuJDC : memeVersion=True - return memeVersion,textJDC - - #-------------------------------# - def traduitCatalogue(self,texte): - #-------------------------------# - nomTraducteur="traduit"+self.readercata.code+self.versionCataDuJDC+"To"+self.versionCata - sys.path.append(os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)),"../Traducteur"))) - try : - traducteur=__import__(nomTraducteur) - monTraducteur=traducteur.MonTraducteur(texte) - nouveauTexte=monTraducteur.traduit() - return nouveauTexte - except : - return texte - - -# Methodes a resorber -# il faut mettre a jour les catalogues avec -# TEXTE_NEW_JDC -# - - #---------------------------# - def _new_CF(self): - #---------------------------# - texte="CONDUITE_FORCEE();" - return texte - - #---------------------------# - def _newPSEN(self): - #---------------------------# - texte="DIRECTORY() ; PSSE_PARAMETERS() ; SIMULATION() ; sansnom=DISTRIBUTION() ; sansnom=DISTRIBUTION() ; CORRELATION() ;" - #texte="" - return texte - - #---------------------------# - def _newPSEN_N1(self): - #---------------------------# - texte="CASE_SELECTION();N_PROCESSING_OPTIONS();CONTINGENCY_OPTIONS();CONTINGENCY_SELECTION();\nCONTINGENCY_PROCESSING(); " - #texte="CONTINGENCY_SELECTION();\nCONTINGENCY_PROCESSING(); " - return texte - - #---------------------------# - def _newZCRACKS(self): - #---------------------------# - texte="MAILLAGES();REMESHING();" - return texte - - - #---------------------------# - def _newJDCCND(self): - #---------------------------# - extensions=tr('Fichiers Med (*.med);;''Tous les Fichiers (*)') - - #if self.salome == 0 : - QMessageBox.information( self, - tr("Fichier Med"), - tr("Veuillez selectionner un fichier Med")) - QSfichier = QFileDialog.getOpenFileName(self.appliEficas, - caption='Fichier Med', - filter=extensions) - QSfichier=QSfichier[0] - self.fichierMED=QSfichier - from acquiertGroupes import getGroupes - erreur,self.listeGroupes,self.nomMaillage,self.dicoCoord=getGroupes(self.fichierMED) - if erreur != "" : print ("a traiter") - texteComm="COMMENTAIRE(u'Cree - fichier : "+self.fichierMED +" - Nom Maillage : "+self.nomMaillage+"');\nPARAMETRES()\n" - texteSources="" - texteCond="" - texteNoCond="" - texteVcut="" - texteZs="" - for groupe in self.listeGroupes : - if groupe[0:8]=='CURRENT_': - texteSources +=groupe[8:]+"=SOURCE(" - texteSources +="VecteurDirecteur=(1.0,2.0,3.0,),);\n" - if groupe[0:5]=='COND_': texteCond +=groupe[5:]+"=CONDUCTEUR();\n" - if groupe[0:7]=='NOCOND_': texteNoCond +=groupe[7:]+"=NOCOND();\n" - if groupe[0:5]=='VCUT_': texteVcut +='V_'+groupe[5:]+"=VCUT();\n" - if groupe[0:3]=='ZS_': texteZs +=groupe[3:]+"=ZS();\n" - texte=texteComm+texteSources+texteCond+texteNoCond+texteVcut+texteZs - self.newTexteCND=texte - self.modified=1 - return texte - - -if __name__ == "__main__": - print ('a faire') diff --git a/InterfaceQT4/eficas_go.py b/InterfaceQT4/eficas_go.py index d7aea420..81c1c751 100755 --- a/InterfaceQT4/eficas_go.py +++ b/InterfaceQT4/eficas_go.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -38,16 +38,8 @@ if ihmDir not in sys.path : sys.path.append(ihmDir) if ihmQTDir not in sys.path : sys.path.append(ihmQTDir) if editeurDir not in sys.path :sys.path.append(editeurDir) -def getEficasSsIhm(code=None,fichier=None,ssCode=None,multi=False,langue='en',versionCode=None): - #print (versionCode) - from InterfaceQT4.qtEficasSsIhm import AppliSsIhm - Eficas=AppliSsIhm(code=code,salome=0,ssCode=ssCode,multi=multi,langue=langue,versionCode=versionCode) - from Editeur import session - options=session.parse(['ssIhm','-k',code,'-v',versionCode]) - return Eficas - -def lanceEficas(code=None,fichier=None,ssCode=None,multi=False,langue='en'): +def lance_eficas(code=None,fichier=None,ssCode=None,multi=False,langue='en'): """ Lance l'appli EFICAS """ @@ -59,26 +51,14 @@ def lanceEficas(code=None,fichier=None,ssCode=None,multi=False,langue='en'): from InterfaceQT4.qtEficas import Appli app = QApplication(sys.argv) - - #import cProfile, pstats, StringIO - #pr = cProfile.Profile() - #pr.enable() - Eficas=Appli(code=code,salome=0,ssCode=ssCode,multi=multi,langue=langue) - #pr.disable() - #s = StringIO.StringIO() - #sortby = 'cumulative' - #ps = pstats.Stats(pr, stream=s).sort_stats(sortby) - #ps.print_stats() - #print (s.getValue()) - Eficas.show() res=app.exec_() sys.exit(res) -def lanceEficas_ssIhm(code=None,fichier=None,ssCode=None,version=None,debug=False,langue='en'): +def lance_eficas_ssIhm(code=None,fichier=None,ssCode=None,version=None,debug=False,langue='en'): """ Lance l'appli EFICAS pour trouver les noms des groupes """ @@ -90,31 +70,31 @@ def lanceEficas_ssIhm(code=None,fichier=None,ssCode=None,version=None,debug=Fals if code == None : code=options.code from .qtEficas import Appli - Eficas=Appli(code=code,salome=0,ssCode=ssCode,ssIhm=True,langue=langue) + Eficas=Appli(code=code,ssCode=ssCode,ssIhm=True,langue=langue) from .ssIhm import QWParentSSIhm parent=QWParentSSIhm(code,Eficas,version) from . import readercata if not hasattr ( Eficas, 'readercata'): - monreadercata = readercata.ReaderCata( parent, Eficas ) + monreadercata = readercata.READERCATA( parent, Eficas ) Eficas.readercata=monreadercata from .editor import JDCEditor monEditeur=JDCEditor(Eficas,fichier) return monEditeur -def lanceEficas_ssIhm_chercheGroupes(code=None,fichier=None,ssCode=None,version=None): - monEditeur=lanceEficas_ssIhm(code,fichier,ssCode,version) - print((monEditeur.chercheGroupes())) +def lance_eficas_ssIhm_cherche_Groupes(code=None,fichier=None,ssCode=None,version=None): + monEditeur=lance_eficas_ssIhm(code,fichier,ssCode,version) + print((monEditeur.cherche_Groupes())) -def lanceEficas_ssIhm_cherche_cr(code=None,fichier=None,ssCode=None,version=None): - monEditeur=lanceEficas_ssIhm(code,fichier,ssCode,version) +def lance_eficas_ssIhm_cherche_cr(code=None,fichier=None,ssCode=None,version=None): + monEditeur=lance_eficas_ssIhm(code,fichier,ssCode,version) print((monEditeur.jdc.cr)) -def lanceEficas_ssIhm_reecrit(code=None,fichier=None,ssCode=None,version=None,ou=None,cr=False,debug=False,leger=False,langue='ang'): - #print 'lanceEficas_ssIhm_reecrit', fichier - monEditeur=lanceEficas_ssIhm(code,fichier,ssCode,version,langue=langue) +def lance_eficas_ssIhm_reecrit(code=None,fichier=None,ssCode=None,version=None,ou=None,cr=False,debug=False,leger=False,langue='ang'): + #print 'lance_eficas_ssIhm_reecrit', fichier + monEditeur=lance_eficas_ssIhm(code,fichier,ssCode,version,langue=langue) if ou == None : fileName=fichier.split(".")[0]+"_reecrit.comm" fn=fichier.split(".")[0]+"_cr.txt" @@ -136,7 +116,7 @@ def lanceEficas_ssIhm_reecrit(code=None,fichier=None,ssCode=None,version=None,ou sortby = 'cumulative' ps = pstats.Stats(pr, stream=s).sort_stats(sortby) ps.print_stats() - print (s.getValue()) + print (s.getvalue()) elif not leger : monEditeur.saveFileAs(fileName=fileName) else : monEditeur.saveFileLegerAs(fileName=fileName) @@ -145,7 +125,7 @@ def lanceEficas_ssIhm_reecrit(code=None,fichier=None,ssCode=None,version=None,ou f.write(str(monEditeur.jdc.report())) f.close() -def lanceEficas_param(code='Adao',fichier=None,version='V0',macro='ASSIMILATION_STUDY'): +def lance_eficas_param(code='Adao',fichier=None,version='V0',macro='ASSIMILATION_STUDY'): """ Lance l'appli EFICAS pour trouver les noms des groupes """ @@ -154,15 +134,15 @@ def lanceEficas_param(code='Adao',fichier=None,version='V0',macro='ASSIMILATION_ options=session.parse(sys.argv) from .qtEficas import Appli - #app = QApplication(sys.argv) - #Eficas=Appli(code=code,ssCode=None,salome=0) + app = QApplication(sys.argv) + Eficas=Appli(code=code,ssCode=None) from .ssIhm import QWParentSSIhm - Eficas=QWParentSSIhm(code,version) + parent=QWParentSSIhm(code,Eficas,version) from . import readercata if not hasattr ( Eficas, 'readercata'): - monreadercata = readercata.ReaderCata( parent, Eficas ) + monreadercata = readercata.READERCATA( parent, Eficas ) Eficas.readercata=monreadercata from .editor import JDCEditor @@ -171,11 +151,6 @@ def lanceEficas_param(code='Adao',fichier=None,version='V0',macro='ASSIMILATION_ parameters=getJdcParameters(texte,macro) return parameters -#def getEficasSsIhm(code='Adao',versionCode='V0'): -# from .qtEficasSsIhm import AppliSsIhm -# Eficas=AppliSsIhm(code=code,ssCode=None,salome=0) -# return Eficas - def getJdcParameters(jdc,macro): """ This function converts the data from the specified macro of the @@ -210,6 +185,6 @@ def loadJDC(filename): if __name__ == "__main__": import sys sys.path.insert(0,os.path.abspath(os.path.join(os.getcwd(),'..'))) - lanceEficas(code=None,fichier=None,ssCode=None,multi=True) + lance_eficas(code=None,fichier=None,ssCode=None,multi=True) diff --git a/InterfaceQT4/feuille.py b/InterfaceQT4/feuille.py index bd1c1d68..246ee9a7 100644 --- a/InterfaceQT4/feuille.py +++ b/InterfaceQT4/feuille.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -27,7 +27,7 @@ import types,os import traceback from PyQt5.QtWidgets import QToolButton ,QWidget -from PyQt5.QtGui import QFont, QFontMetrics, QFontInfo, QPalette +from PyQt5.QtGui import QFont, QFontMetrics from PyQt5.QtCore import Qt from Extensions.i18n import tr @@ -36,8 +36,7 @@ from .gereIcones import ContientIcones from .gereIcones import FacultatifOuOptionnel from .qtSaisie import SaisieValeur -nomMax=230 -# empirique les metrics ne fonctionnent pas +nomMax=250 # ---------------------------------------------------------------------- # class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): # --------------------------------------------------------------------- # @@ -84,27 +83,18 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): def setNom(self): self.debutToolTip="" nomTraduit=tr(self.objSimp.nom) - #metrix= QFontMetrics(self.label.font()) - #maxLongueur = self.label.width() - 2 - #print ('______________________') - #print (nomTraduit) - #print (self.label.font().pixelSize()) - #longueur2 = metrix.boundingRect(nomTraduit).width() longueur=QFontMetrics(self.label.font()).width(nomTraduit) if longueur >= nomMax : nouveauNom=self.formate(nomTraduit) self.label.setText(nouveauNom) else : self.label.setText(nomTraduit) - #clidedText = metrics.elidedText(text, Qt.ElideRight, label.width()); - #if (clippedText != nomTraduit): self.label.setToolTip(nomTraduit) - #self.label.setText(clippedText) - #def agrandit(self): + def agrandit(self): # inutile pour certains widgets - # if self.height() < 40 : - # self.setMinimumHeight(50) - # self.resize(self.width(),200) + if self.height() < 40 : + self.setMinimumHeight(50) + self.resize(self.width(),200) #def mousePressEvent(self, event): #print 'mousePressEvent' @@ -142,31 +132,30 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): else : if mc.min == mc.max: commentaire=tr("Entrez ")+str(mc.min)+" "+tr(d_aides[type])+'\n' - elif mc.max == float('inf') : - commentaire=tr("Entrez une liste de ") + tr(d_aides[type])+'\n' else : commentaire=tr("Entrez entre ")+"\n"+str(mc.min)+(" et ")+str(mc.max) +" " +tr(d_aides[type])+'\n' aideval=self.node.item.aide() commentaire=commentaire + tr(aideval) + self.monCommentaireLabel.setText(str(commentaire)) return str(commentaire) def setSuggestion(self): - if self.monSimpDef.getSug() != None and self.monSimpDef.getSug() != "": - suggere=str('

suggestion : ')+str(self.monSimpDef.getSug())+"

" + if self.monSimpDef.get_sug() != None and self.monSimpDef.get_sug() != "": + suggere=str('

suggestion : ')+str(self.monSimpDef.get_sug())+"

" if hasattr(self,'lineEditVal'): self.lineEditVal.setToolTip(suggere) def setCommentaire(self): c = self.debutToolTip #if self.node.item.definition.validators : c+=self.node.item.definition.validators.aide() self.aide=c - if self.objSimp.getFr() != None and self.objSimp.getFr() != "": - #c2 = '

'+c+self.objSimp.getFr().decode('latin-1','replace')+"

" - c2 = '

'+c+self.objSimp.getFr() - #c2 = '

'+c+self.objSimp.getFr()+"

" + if self.objSimp.get_fr() != None and self.objSimp.get_fr() != "": + #c2 = '

'+c+self.objSimp.get_fr().decode('latin-1','replace')+"

" + c2 = '

'+c+self.objSimp.get_fr() + #c2 = '

'+c+self.objSimp.get_fr()+"

" self.label.setToolTip(c2) - #self.aide=self.objSimp.getFr().decode('latin-1','ignore')+" "+c - self.aide=self.objSimp.getFr()+" "+c + #self.aide=self.objSimp.get_fr().decode('latin-1','ignore')+" "+c + self.aide=self.objSimp.get_fr()+" "+c else : c+=self.finCommentaire() if c != "" and c != None : @@ -174,9 +163,6 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): #c=str('

')+c+"

" c=str('

')+c+"

" self.label.setToolTip(c) - if self.editor.maConfiguration.differencieSiDefaut : - self.label.setToolTip('defaut : ' + tr(str(self.node.item.object.definition.defaut))) - @@ -215,8 +201,8 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): def setZoneInfo(self): # info=str(self.nom)+' ' - # if self.monSimpDef.getFr() != None and self.monSimpDef.getFr() != "": info+=self.monSimpDef.getSug() +" " - # if self.monSimpDef.getSug() != None and self.monSimpDef.getSug() != "": info+="Valeur suggeree : "self.monSimpDef.getSug() + # if self.monSimpDef.get_fr() != None and self.monSimpDef.get_fr() != "": info+=self.monSimpDef.get_sug() +" " + # if self.monSimpDef.get_sug() != None and self.monSimpDef.get_sug() != "": info+="Valeur suggeree : "self.monSimpDef.get_sug() pass def reaffiche(self): @@ -233,7 +219,7 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): #nodeAVoir.fenetre.setFocus() # return # on est bien postionne - if self.objSimp.isValid() and hasattr(self, 'AAfficher'): + if self.objSimp.isvalid() and hasattr(self, 'AAfficher'): nodeAVoir=self.parentQt.node.chercheNoeudCorrespondant(self.objSimp) try : index=self.editor.fenetreCentraleAffichee.listeAffichageWidget.index(nodeAVoir.fenetre.AAfficher) @@ -247,7 +233,7 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): except : pass else : - if self.objSimp.isValid() and hasattr(self, 'AAfficher'): + if self.objSimp.isvalid() and hasattr(self, 'AAfficher'): try : self.setValeursApresBouton() except : @@ -267,16 +253,25 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): # QWidget.enterEvent(self,event) def traiteClicSurLabel(self,texte): - #aide=self.aide.encode('latin-1', 'ignore').decode('latin-1')+"\n"+self.aideALaSaisie().encode('latin-1', 'ignore').decode('latin-1') - try : - aide=self.aide+"\n"+self.aideALaSaisie() - except : - aide=self.aideALaSaisie() - self.editor.afficheCommentaire(aide) + aide=self.aide.encode('latin-1', 'ignore').decode('latin-1')+"\n"+self.aideALaSaisie().encode('latin-1', 'ignore').decode('latin-1') + self.editor.affiche_commentaire(aide) def formate(self,t): - l=len(t)//2 - newText=t[0:l]+'-\n'+t[l:] + if t.find('_')==0 : + newText=t[0:19]+'\n'+t[19:] + else: + listeNom=t.split('_') + newTexte="" + ligne="" + for n in listeNom: + if len(ligne)+len(n) < 25 : + newTexte=newTexte+"_"+n + ligne+="_"+n + else : + newTexte=newTexte+"\n_"+n + ligne="" + #newTexte=t[0:t.rfind('_')]+'\n'+ t[t.rfind('_'):] + newText=newTexte[1:] return newText diff --git a/InterfaceQT4/gereIcones.py b/InterfaceQT4/gereIcones.py index 13b31b09..f8893280 100644 --- a/InterfaceQT4/gereIcones.py +++ b/InterfaceQT4/gereIcones.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -44,7 +44,7 @@ class FacultatifOuOptionnel(object): def setReglesEtAide(self): listeRegles=() try : - listeRegles = self.node.item.getRegles() + listeRegles = self.node.item.get_regles() except : pass if hasattr(self,"RBRegle"): @@ -63,18 +63,18 @@ class FacultatifOuOptionnel(object): if isinstance(self,MonWidgetCommande) and self.editor.code =="MAP": self.cle_doc = self.chercheDocMAP() else : - self.cle_doc = self.node.item.getDocu() + self.cle_doc = self.node.item.get_docu() if self.cle_doc == None : self.RBInfo.close() else : self.RBInfo.clicked.connect (self.viewDoc) def chercheDocMAP(self): try : - clef=self.editor.maConfiguration.adresse+"/" + clef=self.editor.CONFIGURATION.adresse+"/" except : return None - for k in self.editor.readercata.cata.JdC.dict_groupes: - if self.obj.nom in self.editor.readercata.cata.JdC.dict_groupes[k]: + for k in self.editor.readercata.cata[0].JdC.dict_groupes: + if self.obj.nom in self.editor.readercata.cata[0].JdC.dict_groupes[k]: clef+=k break clef+="/"+ self.obj.nom[0:-5].lower()+"/spec_"+self.obj.nom[0:-5].lower()+".html" @@ -90,13 +90,13 @@ class FacultatifOuOptionnel(object): QMessageBox.warning( self,tr( "Aide Indisponible"),tr( "l'aide n est pas installee ")) def viewRegles(self): - self.node.appellebuildLBRegles() + self.node.AppelleBuildLBRegles() def setIconePoubelle(self): if not(hasattr(self,"RBPoubelle")):return - if self.node.item.object.isOblig() and not( hasattr(self.node.item.object,'isDeletable') ): + if self.node.item.object.isoblig() and not( hasattr(self.node.item.object,'isDeletable') ): icon=QIcon(self.repIcon+"/deleteRondVide.png") self.RBPoubelle.setIcon(icon) return @@ -187,10 +187,14 @@ class FacultatifOuOptionnel(object): self.node.delete() def setValide(self): + #print " c est le moment de gerer le passage au suivant" if not(hasattr (self,'RBValide')) : return - couleur=self.node.item.getIconName() - monIcone = QIcon(self.repIcon+"/" + couleur + ".png") - self.RBValide.setIcon(monIcone) + icon = QIcon() + if self.node.item.object.isvalid() : + icon=QIcon(self.repIcon+"/ast-green-ball.png") + else : + icon=QIcon(self.repIcon+"/ast-red-ball.png") + self.RBValide.setIcon(icon) # il faut chercher la bonne fenetre def rendVisible(self): @@ -223,7 +227,7 @@ class FacultatifOuOptionnel(object): def choixSaisi(self): fction=str(self.CBScripts.currentText()) numero= self.dictCommandes[fction] - self.node.appelleFonction(numero,nodeTraite=self.node) + self.node.AppelleFonction(numero,nodeTraite=self.node) #self.reaffiche() class ContientIcones(object): @@ -234,14 +238,7 @@ class ContientIcones(object): from .monViewTexte import ViewText try : if sys.platform[0:5]=="linux" : - #cmd="xdg-open "+ str(fichier) - #changer pour marcher dans l'EDC - #cmd="gedit "+ str(fichier) - from os.path import splitext - fileName,extension = splitext(fichier) - if extension in self.parentQt.editor.appliEficas.maConfiguration.utilParExtensions: - cmd=self.parentQt.editor.appliEficas.maConfiguration.utilParExtensions[extension] + " " + str(fichier) - else: cmd="xdg-open "+ str(fichier) + cmd="xdg-open "+ str(fichier) os.system(cmd) else : os.startfile(str(fichier)) @@ -270,22 +267,22 @@ class ContientIcones(object): if len(mctype) > 2 and mctype[2] == "Sauvegarde": fichier = QFileDialog.getSaveFileName(self.appliEficas, tr('Sauvegarder Fichier'), - self.appliEficas.maConfiguration.savedir, + self.appliEficas.CONFIGURATION.savedir, filters) else: - #print(filters) + print(filters) fichier = QFileDialog.getOpenFileName(self.appliEficas, tr('Ouvrir Fichier'), - self.appliEficas.maConfiguration.savedir, + self.appliEficas.CONFIGURATION.savedir, filters) fichier=fichier[0] if not(fichier == ""): ulfile = os.path.abspath(six.text_type(fichier)) - self.appliEficas.maConfiguration.savedir=os.path.split(ulfile)[0] + self.appliEficas.CONFIGURATION.savedir=os.path.split(ulfile)[0] self.lineEditVal.setText(fichier) - self.editor.afficheCommentaire(tr("Fichier selectionne")) - self.LEvaleurPressed() + self.editor.affiche_commentaire(tr("Fichier selectionne")) + self.LEValeurPressed() if (QFileInfo(fichier).suffix() in listeSuffixe ): self.image=fichier if (not hasattr(self,"BSelectInFile")): @@ -306,16 +303,20 @@ class ContientIcones(object): def BFichierOuRepertoirePressed(self): self.fileName="" + print (0) self.file_dialog=QFileDialog() + print (1) self.file_dialog.setFileMode(QFileDialog.Directory); + print (2) self.file_dialog.setFileMode(QFileDialog.Directory|QFileDialog.ExistingFiles) + print (3) self.file_dialog.setOption(QFileDialog.DontUseNativeDialog,True); self.file_dialog.setWindowTitle('Choose File or Directory') self.explore(self.file_dialog) self.file_dialog.exec_() if self.fileName == "" : return self.lineEditVal.setText(self.fileName) - self.LEvaleurPressed() + self.LEValeurPressed() def explore(self,widget): @@ -346,14 +347,14 @@ class ContientIcones(object): def BRepertoirePressed(self): directory = QFileDialog.getExistingDirectory(self.appliEficas, - directory = self.appliEficas.maConfiguration.savedir, + directory = self.appliEficas.CONFIGURATION.savedir, options = QFileDialog.ShowDirsOnly) if not (directory == "") : absdir = os.path.abspath(six.text_type(directory)) - self.appliEficas.maConfiguration.savedir = os.path.dirname(absdir) + self.appliEficas.CONFIGURATION.savedir = os.path.dirname(absdir) self.lineEditVal.setText(directory) - self.LEvaleurPressed() + self.LEValeurPressed() def BSelectInFilePressed(self): from monSelectImage import MonSelectImage @@ -362,10 +363,10 @@ class ContientIcones(object): def BSalomePressed(self): - self.editor.afficheCommentaire("") + self.editor.affiche_commentaire("") selection=[] commentaire="" - genea=self.node.item.getGenealogie() + genea=self.node.item.get_genealogie() kwType = self.node.item.get_definition().type[0] for e in genea: if "GROUP_NO" in e: kwType = "GROUP_NO" @@ -396,10 +397,10 @@ class ContientIcones(object): selection, commentaire = self.appliEficas.selectEntryFromSalome(kwType,editor=self.editor) if commentaire !="" : - self.editor.afficheInfos(tr(str(commentaire))) + self.editor.affiche_infos(tr(str(commentaire))) if selection == [] : return - min,max=self.node.item.getMinMax() + min,max=self.node.item.GetMinMax() if max > 1 : self.ajoutNValeur(selection) return @@ -408,7 +409,7 @@ class ContientIcones(object): for geomElt in selection: monTexte=geomElt+"," monTexte= monTexte[0:-1] self.lineEditVal.setText(str(monTexte)) - self.LEvaleurPressed() + self.LEValeurPressed() def BView2DPressed(self): try : @@ -421,10 +422,10 @@ class ContientIcones(object): if valeur : ok, msgError = self.appliEficas.displayShape(valeur) if not ok: - self.editor.afficheInfos(msgError,Qt.red) + self.editor.affiche_infos(msgError,Qt.red) def BParametresPressed(self): - liste=self.node.item.getListeParamPossible() + liste=self.node.item.get_liste_param_possible() from monListeParamPanel import MonListeParamPanel MonListeParamPanel(liste=liste,parent=self).show() diff --git a/InterfaceQT4/gereListe.py b/InterfaceQT4/gereListe.py index 755b00e7..5faaf5d9 100644 --- a/InterfaceQT4/gereListe.py +++ b/InterfaceQT4/gereListe.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -33,7 +33,7 @@ import traceback import six from six.moves import range from PyQt5.QtWidgets import QLineEdit, QLabel, QFileDialog -from PyQt5.QtCore import QEvent, Qt, QTimer +from PyQt5.QtCore import QEvent, Qt from PyQt5.QtGui import QIcon, QPalette from Extensions.i18n import tr @@ -53,57 +53,42 @@ class LECustom(QLineEdit): self.num=i self.dansUnTuple=False self.numDsLaListe=-1 - self.parentTuple=None - self.valeur=None def focusInEvent(self,event): - #print ("dans focusInEvent de LECustom") - self.parentQt.aEuLeFocus=True - self.aEuLeFocus=True + #print "dans focusInEvent de LECustom" self.parentQt.LineEditEnCours=self - self.parentQt.numLineEditEnCours=self.num + self.parentQt.NumLineEditEnCours=self.num self.parentQt.textSelected=self.text() self.setStyleSheet("border: 2px solid gray") QLineEdit.focusInEvent(self,event) def focusOutEvent(self,event): - #print (self.aEuLeFocus) self.setStyleSheet("border: 0px") if self.dansUnTuple : self.setStyleSheet("background:rgb(235,235,235); border: 0px;") elif self.num % 2 == 1 : self.setStyleSheet("background:rgb(210,210,210)") else : self.setStyleSheet("background:rgb(235,235,235)") - if self.aEuLeFocus: - self.aEuLeFocus=False - self.litValeur() - if self.dansUnTuple : self.parentTuple.getValeur() - QLineEdit.focusOutEvent(self,event) - def litValeur(self): - #print ("dans litValeur de LECustom") - self.aEuLeFocus=False - val=str(self.text()) - if str(val)=="" or val==None : - self.valeur=None - return - try : - valeur=eval(val,{}) - except : - try : - d=self.parentQt.parentQt.objSimp.jdc.getContexteAvant(self.parentQt.objSimp. etape) - valeur=eval(val,d) - except : - valeur=val - self.valeur=valeur - #print ('self.valeur', self.valeur) - + from InterfaceQT4.monWidgetPlusieursBase import MonWidgetPlusieursBase + try : + #if isinstance (self.parentQt, MonWidgetPlusieursBase) and not self.parentQt.inFocusOutEvent : + # self.parentQt.inFocusOutEvent=True + # self.parentQt.changeValeur(changeDePlace=True,oblige=False) + # self.parentQt.inFocusOutEvent=False + + #if isinstance(self,LECustomTuple) and not self.tupleCustomParent.inFocusOutEvent: + # self.tupleCustomParent.inFocusOutEvent=True + # self.tupleCustomParent.valueChange() + # self.tupleCustomParent.inFocusOutEvent=False + QLineEdit.focusOutEvent(self,event) + except : pass + def clean(self): self.setText("") def getValeur(self): - #return self.text() - return self.valeur + return self.text() def setValeur(self,valeur): self.setText(valeur) @@ -142,6 +127,18 @@ class GereListe(object): def __init__(self): self.connecterSignaux() + def connecterSignauxQT4(self): + if hasattr(self,'RBHaut'): + self.connect(self.RBHaut,SIGNAL("clicked()"),self.hautPushed) + self.connect(self.RBBas,SIGNAL("clicked()"),self.basPushed) + self.connect(self.RBMoins,SIGNAL("clicked()"),self.moinsPushed) + self.connect(self.RBPlus,SIGNAL("clicked()"),self.plusPushed) + self.connect(self.RBVoisListe,SIGNAL("clicked()"),self.voisListePushed) + if hasattr(self,'PBAlpha'): + self.connect(self.PBAlpha,SIGNAL("clicked()"),self.alphaPushed) + self.connect(self.PBCata,SIGNAL("clicked()"),self.cataPushed) + self.connect(self.PBFind,SIGNAL("clicked()"),self.findPushed) + self.connect(self.LEFiltre,SIGNAL("returnPressed()"),self.LEFiltreReturnPressed) def connecterSignaux(self): if hasattr(self,'RBHaut'): @@ -155,8 +152,6 @@ class GereListe(object): self.PBAlpha.clicked.connect(self.alphaPushed) self.PBFind.clicked.connect(self.findPushed) self.LEFiltre.returnPressed.connect(self.LEFiltreReturnPressed) - if hasattr(self, 'PBValideFeuille'): - self.PBValideFeuille.clicked.connect(self.changeValeur) def filtreListe(self): l=[] @@ -186,17 +181,17 @@ class GereListe(object): self.prepareListeResultat() def hautPushed(self): - if self.numLineEditEnCours == 1 : return - else : numEchange=self.numLineEditEnCours-1 - self.echange(self.numLineEditEnCours,numEchange) + if self.NumLineEditEnCours == 1 : return + else : numEchange=self.NumLineEditEnCours-1 + self.echange(self.NumLineEditEnCours,numEchange) self.LineEditEnCours.setFocus(True) self.scrollArea.ensureWidgetVisible(self.LineEditEnCours) def basPushed(self): - if self.numLineEditEnCours == self.indexDernierLabel : return - else : numEchange=self.numLineEditEnCours+1 - self.echange(self.numLineEditEnCours,numEchange) + if self.NumLineEditEnCours == self.indexDernierLabel : return + else : numEchange=self.NumLineEditEnCours+1 + self.echange(self.NumLineEditEnCours,numEchange) self.LineEditEnCours.setFocus(True) self.scrollArea.ensureWidgetVisible(self.LineEditEnCours) @@ -213,20 +208,20 @@ class GereListe(object): courant.setText(courant2.text()) courant2.setText(valeurAGarder) self.changeValeur(changeDePlace=False) - self.numLineEditEnCours=num2 + self.NumLineEditEnCours=num2 self.LineEditEnCours=courant2 self.LineEditEnCours.setFocus(True) def moinsPushed(self): # on supprime le dernier - if self.numLineEditEnCours == 0 : return + if self.NumLineEditEnCours == 0 : return if self.indexDernierLabel == 0 : return - if self.numLineEditEnCours==self.indexDernierLabel : + if self.NumLineEditEnCours==self.indexDernierLabel : nomLineEdit=self.nomLine+str(self.indexDernierLabel) courant=getattr(self,nomLineEdit) courant.clean() else : - for i in range (self.numLineEditEnCours, self.indexDernierLabel): + for i in range (self.NumLineEditEnCours, self.indexDernierLabel): aRemonter=i+1 nomLineEdit=self.nomLine+str(aRemonter) courant=getattr(self,nomLineEdit) @@ -244,31 +239,26 @@ class GereListe(object): def plusPushed(self): if self.indexDernierLabel == self.monSimpDef.max: if len(self.listeValeursCourantes) < self.monSimpDef.max : self.chercheLigneVide() - else : self.editor.afficheInfos('nb max de valeurs : '+str(self.monSimpDef.max)+' atteint',Qt.red) + else : self.editor.affiche_infos('nb max de valeurs : '+str(self.monSimpDef.max)+' atteint',Qt.red) return self.ajoutLineEdit() self.descendLesLignes() - self.chercheLigneVide() - QTimer.singleShot(1, self.rendVisibleLigne) def chercheLigneVide(self): for i in range(self.indexDernierLabel) : nomLineEdit=self.nomLine+str(i+1) courant=getattr(self,nomLineEdit) valeur=courant.getValeur() - if valeur=="" : - courant.setFocus(True) - self.estVisible=courant - return + if valeur=="" : courant.setFocus(7);return def descendLesLignes(self): - if self.numLineEditEnCours==self.indexDernierLabel : return - nomLineEdit=self.nomLine+str(self.numLineEditEnCours+1) + if self.NumLineEditEnCours==self.indexDernierLabel : return + nomLineEdit=self.nomLine+str(self.NumLineEditEnCours+1) courant=getattr(self,nomLineEdit) valeurADescendre=courant.getValeur() courant.clean() - for i in range (self.numLineEditEnCours+1, self.indexDernierLabel): + for i in range (self.NumLineEditEnCours+1, self.indexDernierLabel): aDescendre=i+1 nomLineEdit=self.nomLine+str(aDescendre) courant=getattr(self,nomLineEdit) @@ -280,7 +270,7 @@ class GereListe(object): def voisListePushed(self): texteValeurs="" - for v in self.node.item.getListeValeurs(): + for v in self.node.item.GetListeValeurs(): texteValeurs+=str(v)+", " entete="Valeurs pour "+self.nom f=ViewText(self,self.editor,entete,texteValeurs[0:-2]) @@ -288,7 +278,7 @@ class GereListe(object): def selectInFile(self): - init=str( self.editor.maConfiguration.savedir) + init=str( self.editor.CONFIGURATION.savedir) fn = QFileDialog.getOpenFileName(self.node.appliEficas, tr("Fichier de donnees"), init, @@ -297,7 +287,7 @@ class GereListe(object): if fn == None : return if fn == "" : return ulfile = os.path.abspath(six.text_type(fn)) - self.editor.maConfiguration.savedir=os.path.split(ulfile)[0] + self.editor.CONFIGURATION.savedir=os.path.split(ulfile)[0] from .monSelectVal import MonSelectVal MonSelectVal(file=fn,parent=self).show() diff --git a/InterfaceQT4/gereListeAvril11.py b/InterfaceQT4/gereListeAvril11.py deleted file mode 100644 index 44e191e9..00000000 --- a/InterfaceQT4/gereListeAvril11.py +++ /dev/null @@ -1,349 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D -# -# 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. -# -# 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 -# -# Modules Python - -from __future__ import absolute_import -try : - from builtins import str - from builtins import range - from builtins import object -except : pass - -import types,os -import traceback - - -import six -from six.moves import range -from PyQt5.QtWidgets import QLineEdit, QLabel, QFileDialog, QWidget -from PyQt5.QtCore import QEvent, Qt, QTimer -from PyQt5.QtGui import QIcon, QPalette - -from Extensions.i18n import tr -from InterfaceQT4.monViewTexte import ViewText - - -# ---------------------- # -class LECustom(QLineEdit): -# ---------------------- # - def __init__(self,parent,parentQt,i): - """ - Constructor - """ - QLineEdit.__init__(self,parent) - - self.valeur=None - self.aEuLeFocus=False - self.parentQt=parentQt - self.parent=parent - self.num=i - self.dansUnTuple=False - self.numDsLaListe=-1 - self.returnPressed.connect(self.litValeur) - - def focusInEvent(self,event): - #print ("dans focusInEvent de LECustom",self.parentQt) - print ("dans focusInEvent de LECustom",self.num,self.numDsLaListe) - self.parentQt.aEuLeFocus=True - self.aEuLeFocus=True - self.parentQt.LineEditEnCours=self - self.parentQt.numLineEditEnCours=self.num - self.parentQt.textSelected=self.text() - self.setStyleSheet("border: 2px solid gray") - QLineEdit.focusInEvent(self,event) - - def focusOutEvent(self,event): - #print ("dans focusOutEvent de LECustom",self.num,self.numDsLaListe, self.aEuLeFocus) - self.setStyleSheet("border: 0px") - if self.dansUnTuple : self.setStyleSheet("background:rgb(235,235,235); border: 0px;") - elif self.num % 2 == 1 : self.setStyleSheet("background:rgb(210,210,210)") - else : self.setStyleSheet("background:rgb(235,235,235)") - - if self.aEuLeFocus: - self.aEuLeFocus=False - self.litValeur() - QLineEdit.focusOutEvent(self,event) - - def litValeur(self): - self.aEuLeFocus=False - val=str(self.text()) - if str(val)=="" or val==None : - self.valeur=None - return - try : - valeur=eval(val,{}) - except : - try : - d=self.parentQt.parentQt.objSimp.jdc.getContexteAvant(self.parentQt.objSimp. etape) - valeur=eval(val,d) - except : - valeur=val - - self.valeur=valeur - - def clean(self): - self.setText("") - - def getValeur(self): - return self.text() - - def setValeur(self,valeur): - self.setText(valeur) - self.valeur=valeur - - #def leaveEvent(self,event): - # ne sert a rien. quand on modifie la valeur on prend le focus - - - -# --------------------------- # -class LECustomTuple(LECustom): -# --------------------------- # - def __init__(self,parent): - # index sera mis a jour par TupleCustom - parentQt=parent.parent().parent().parent() - LECustom. __init__(self,parent,parentQt,0) - #print (dir(self)) - -# ---------------------------- # -class MonLabelListeClic(QLabel): -# ---------------------------- # - def __init__(self,parent): - QLabel.__init__(self,parent) - self.parent=parent - - def event(self,event) : - if event.type() == QEvent.MouseButtonRelease: - self.texte=self.text() - self.parent.traiteClicSurLabelListe(self.texte) - return QLabel.event(self,event) - - - - -# ------------- # -class GereListe(object): -# ------------- # - - def __init__(self): - self.aEuLeFocus=False - self.connecterSignaux() - - - def leaveEvent(self,event): - if self.aEuLeFocus : - print ('appel de changeValeur') - self.changeValeur() - self.aEuLeFocus=False - QWidget.leaveEvent(self,event) - - def connecterSignaux(self): - if hasattr(self,'RBHaut'): - self.RBHaut.clicked.connect(self.hautPushed) - self.RBBas.clicked.connect(self.basPushed) - self.RBMoins.clicked.connect(self.moinsPushed) - self.RBPlus.clicked.connect(self.plusPushed) - self.RBVoisListe.clicked.connect(self.voisListePushed) - if hasattr(self,'PBAlpha'): - self.PBCata.clicked.connect(self.cataPushed) - self.PBAlpha.clicked.connect(self.alphaPushed) - self.PBFind.clicked.connect(self.findPushed) - self.LEFiltre.returnPressed.connect(self.LEFiltreReturnPressed) - - def filtreListe(self): - l=[] - if self.filtre != "" : - for i in self.listeAAfficher : - if i.find(self.filtre) == 0 :l.append(i) - self.listeAAfficher=l - if self.alpha : self.listeAAfficher.sort() - - def LEFiltreReturnPressed(self): - self.filtre= self.LEFiltre.text() - self.prepareListeResultatFiltre() - - def findPushed(self): - self.filtre= self.LEFiltre.text() - self.prepareListeResultatFiltre() - - def alphaPushed(self): - #print "alphaPushed" ,self.alpha - if self.alpha == 1 : return - self.alpha=1 - self.prepareListeResultat() - - def cataPushed(self): - if self.alpha == 0 : return - self.alpha=0 - self.prepareListeResultat() - - def hautPushed(self): - if self.numLineEditEnCours == 1 : return - else : numEchange=self.numLineEditEnCours-1 - self.echange(self.numLineEditEnCours,numEchange) - self.LineEditEnCours.setFocus(True) - self.scrollArea.ensureWidgetVisible(self.LineEditEnCours) - - - def basPushed(self): - if self.numLineEditEnCours == self.indexDernierLabel : return - else : numEchange=self.numLineEditEnCours+1 - self.echange(self.numLineEditEnCours,numEchange) - self.LineEditEnCours.setFocus(True) - self.scrollArea.ensureWidgetVisible(self.LineEditEnCours) - - def echange(self,num1,num2): - # on donne le focus au a celui ou on a bouge - # par convention le 2 - nomLineEdit=self.nomLine+str(num1) - #print nomLineEdit - courant=getattr(self,nomLineEdit) - valeurAGarder=courant.text() - nomLineEdit2=self.nomLine+str(num2) - #print nomLineEdit2 - courant2=getattr(self,nomLineEdit2) - courant.setText(courant2.text()) - courant2.setText(valeurAGarder) - self.changeValeur(changeDePlace=False) - self.numLineEditEnCours=num2 - self.LineEditEnCours=courant2 - self.LineEditEnCours.setFocus(True) - - def moinsPushed(self): - # on supprime le dernier - if self.numLineEditEnCours == 0 : return - if self.indexDernierLabel == 0 : return - if self.numLineEditEnCours==self.indexDernierLabel : - nomLineEdit=self.nomLine+str(self.indexDernierLabel) - courant=getattr(self,nomLineEdit) - courant.clean() - else : - for i in range (self.numLineEditEnCours, self.indexDernierLabel): - aRemonter=i+1 - nomLineEdit=self.nomLine+str(aRemonter) - courant=getattr(self,nomLineEdit) - valeurARemonter=courant.getValeur() - nomLineEdit=self.nomLine+str(i) - courant=getattr(self,nomLineEdit) - if valeurARemonter != None : courant.setValeur(valeurARemonter) - else : courant.clean() - nomLineEdit=self.nomLine+str(self.indexDernierLabel) - courant=getattr(self,nomLineEdit) - courant.clean() - self.changeValeur(changeDePlace=False,oblige=True) - self.setValide() - - def plusPushed(self): - if self.indexDernierLabel == self.monSimpDef.max: - if len(self.listeValeursCourantes) < self.monSimpDef.max : self.chercheLigneVide() - else : self.editor.afficheInfos('nb max de valeurs : '+str(self.monSimpDef.max)+' atteint',Qt.red) - return - self.ajoutLineEdit() - self.descendLesLignes() - self.chercheLigneVide() - QTimer.singleShot(1, self.rendVisibleLigne) - - def chercheLigneVide(self): - for i in range(self.indexDernierLabel) : - nomLineEdit=self.nomLine+str(i+1) - courant=getattr(self,nomLineEdit) - valeur=courant.getValeur() - if valeur=="" : - courant.setFocus(True) - self.estVisible=courant - return - - - def descendLesLignes(self): - if self.numLineEditEnCours==self.indexDernierLabel : return - nomLineEdit=self.nomLine+str(self.numLineEditEnCours+1) - courant=getattr(self,nomLineEdit) - valeurADescendre=courant.getValeur() - courant.clean() - for i in range (self.numLineEditEnCours+1, self.indexDernierLabel): - aDescendre=i+1 - nomLineEdit=self.nomLine+str(aDescendre) - courant=getattr(self,nomLineEdit) - valeurAGarder=courant.getValeur() - courant.setValeur(valeurADescendre) - valeurADescendre=valeurAGarder - self.changeValeur(changeDePlace=False) - if hasattr (self, 'LineEditEnCours') :self.scrollArea.ensureWidgetVisible(self.LineEditEnCours) - - def voisListePushed(self): - texteValeurs="" - for v in self.node.item.getListeValeurs(): - texteValeurs+=str(v)+", " - entete="Valeurs pour "+self.nom - f=ViewText(self,self.editor,entete,texteValeurs[0:-2]) - f.show() - - - def selectInFile(self): - init=str( self.editor.maConfiguration.savedir) - fn = QFileDialog.getOpenFileName(self.node.appliEficas, - tr("Fichier de donnees"), - init, - tr('Tous les Fichiers (*)',)) - fn=fn[0] - if fn == None : return - if fn == "" : return - ulfile = os.path.abspath(six.text_type(fn)) - self.editor.maConfiguration.savedir=os.path.split(ulfile)[0] - - from .monSelectVal import MonSelectVal - MonSelectVal(file=fn,parent=self).show() - - def noircirResultatFiltre(self): - filtre=str(self.LEFiltre.text()) - for cb in self.listeCbRouge: - palette = QPalette(Qt.red) - palette.setColor(QPalette.WindowText,Qt.black) - cb.setPalette(palette) - t=cb.text() - cb.setText(t) - self.LEFiltre.setText("") - self.listeCbRouge = [] - - -# ----------- # -class GerePlie(object): -# ----------- # - - def gereIconePlier(self): - if not(hasattr(self,'BFermeListe')) : return - self.editor.listeDesListesOuvertes.add(self.node.item) - repIcon=self.node.editor.appliEficas.repIcon - if not (self.editor.afficheListesPliees): - fichier=os.path.join(repIcon, 'empty.png') - icon = QIcon(fichier) - self.BFermeListe.setIcon(icon) - return - fichier=os.path.join(repIcon, 'minusnode.png') - icon = QIcon(fichier) - self.BFermeListe.setIcon(icon) - self.BFermeListe.clicked.connect( self.selectWidgetPlie) - - def selectWidgetPlie(self): - self.editor.listeDesListesOuvertes.remove(self.node.item) - self.reaffichePourDeplier() - - - diff --git a/InterfaceQT4/gereRegles.py b/InterfaceQT4/gereRegles.py index e84486b9..78a5893a 100644 --- a/InterfaceQT4/gereRegles.py +++ b/InterfaceQT4/gereRegles.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -29,29 +29,29 @@ from Extensions.i18n import tr class GereRegles(object) : - def appellebuildLBRegles(self): + def AppelleBuildLBRegles(self): from .browser import JDCTree if isinstance(self,JDCTree): - self.appellebuildLBReglesForJdC() + self.AppelleBuildLBReglesForJdC() else : - self.appellebuildLBReglesForCommand() - self.buildLBRegles(self.listeRegles,self.listeNomsEtapes) - self.afficheRegles() + self.AppelleBuildLBReglesForCommand() + self.BuildLBRegles(self.listeRegles,self.listeNomsEtapes) + self.AfficheRegles() - def appellebuildLBReglesForCommand(self): - self.listeRegles = self.item.getRegles() - self.listeNomsEtapes = self.item.getMcPresents() + def AppelleBuildLBReglesForCommand(self): + self.listeRegles = self.item.get_regles() + self.listeNomsEtapes = self.item.get_mc_presents() - def appellebuildLBReglesForJdC(self): - self.listeRegles=self.item.getRegles() - self.listeNomsEtapes = self.item.getLNomsEtapes() + def AppelleBuildLBReglesForJdC(self): + self.listeRegles=self.item.get_regles() + self.listeNomsEtapes = self.item.get_l_noms_etapes() - def buildLBRegles(self,listeRegles,listeNomsEtapes): + def BuildLBRegles(self,listeRegles,listeNomsEtapes): self.liste=[] if len(listeRegles) > 0: for regle in listeRegles : - texteRegle=regle.getText() + texteRegle=regle.gettext() texteMauvais,test = regle.verif(listeNomsEtapes) for ligne in texteRegle.split("\n") : if ligne == "" : continue @@ -64,7 +64,7 @@ class GereRegles(object) : if self.liste==[] : self.liste.append(("pas de regle de construction pour ce jeu de commandes",Qt.black)) - def afficheRegles(self): + def AfficheRegles(self): titre="Regles pour "+self.item.nom w = ViewRegles( self.editor,self.liste,titre ) w.exec_() diff --git a/InterfaceQT4/gereTraduction.py b/InterfaceQT4/gereTraduction.py index 9bca1b37..bb6a481d 100644 --- a/InterfaceQT4/gereTraduction.py +++ b/InterfaceQT4/gereTraduction.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/InterfaceQT4/getVersion.py b/InterfaceQT4/getVersion.py index 8620b54c..ef1b8b9b 100644 --- a/InterfaceQT4/getVersion.py +++ b/InterfaceQT4/getVersion.py @@ -1,28 +1,9 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D -# -# 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. -# -# 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 -# # Management of EFICAS version numbering. # A version has at least major and minor numbers, for easier comparison. __version = { - 'major': 9, - 'minor': 0 + 'major': 8, + 'minor': 2 } def getEficasVersion(): diff --git a/InterfaceQT4/groupe.py b/InterfaceQT4/groupe.py index 55b66eec..b1c2c7c1 100644 --- a/InterfaceQT4/groupe.py +++ b/InterfaceQT4/groupe.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -21,7 +21,7 @@ from __future__ import absolute_import from __future__ import print_function -from PyQt5.QtWidgets import QWidget, QSpacerItem, QSizePolicy +from PyQt5.QtWidgets import QWidget from PyQt5.QtCore import Qt from Extensions.i18n import tr @@ -37,10 +37,10 @@ class Groupe(QWidget,FacultatifOuOptionnel): """ """ def __init__(self,node,editor,parentQt,definition,obj,niveau,commande=None): - #print ("groupe : ",self.node.item.nom," ",self.node.fenetre) QWidget.__init__(self,None) self.node=node self.node.fenetre=self + #print "groupe : ",self.node.item.nom," ",self.node.fenetre self.setupUi(self) self.editor=editor self.obj=obj @@ -51,7 +51,7 @@ class Groupe(QWidget,FacultatifOuOptionnel): self.listeFocus=[] self.appliEficas=self.editor.appliEficas self.repIcon=self.appliEficas.repIcon - self.jdc=self.node.item.getJdc() + self.jdc=self.node.item.get_jdc() self.setIconePoubelle() self.setIconesGenerales() self.setRun() @@ -60,60 +60,47 @@ class Groupe(QWidget,FacultatifOuOptionnel): self.afficheMots() self.listeMCAAjouter=[] self.dictMCVenantDesBlocs={} - if hasattr(self,'RBDeplie') : self.RBDeplie.clicked.connect(self.setDeplie) - if hasattr(self,'RBPlie') : self.RBPlie.clicked.connect( self.setPlie) + if hasattr(self,'RBDeplie') : self.RBDeplie.clicked.connect(self.Deplie) + if hasattr(self,'RBPlie') : self.RBPlie.clicked.connect( self.Plie) self.setAcceptDrops(True) - if hasattr (self, 'commandesLayout'): - spacerItem = QSpacerItem(20, 5, QSizePolicy.Minimum, QSizePolicy.Expanding) - self.commandesLayout.addItem(spacerItem) def donneFocus(self): for fenetre in self.listeFocus: if fenetre==None : return - if fenetre.node.item.isValid() == 0 : + if fenetre.node.item.isvalid() == 0 : fenetre.prendLeFocus=1 fenetre.hide() fenetre.show() def afficheMots(self): - #print ("ds afficheMots ",self.node.item.nom,self.node.plie) + #print "ds afficheMots ",self.node.item.nom for node in self.node.children: + #if node.item.nom == "Background" :print "afficheMots ",node," " ,node.item.nom, " ",node.plie ," ", node.appartientAUnNoeudPlie,node.getPanelGroupe + #if node.item.nom == "BackgroundError" :print "afficheMots ",node," " ,node.item.nom, " ",node.plie ," ", node.appartientAUnNoeudPlie,node.getPanelGroupe # non return mais continue car il faut tenir compte des blocs if node.appartientAUnNoeudPlie==True : continue #print "je suis apres le if pour ",node.item.nom widget=node.getPanelGroupe(self,self.maCommande) - #print ("widget pour ", node.item.nom, widget) + #print "widget pour ", node.item.nom, widget self.listeFocus.append(node.fenetre) #print "fin pour " , self.node.item.nom def calculOptionnel(self): - self.listeMc=[] - self.listeMcRegle=[] - self.dictToolTipMc={} - genea =self.obj.getGenealogie() + self.liste_mc=[] + genea =self.obj.get_genealogie() # Attention : les mots clefs listes (+sieurs fact ) # n ont pas toutes ces methodes try : - #if 1 : - self.listeMc = self.obj.getListeMcOrdonnee(genea,self.jdc.cata_ordonne_dico) - listeNomsPresents=self.obj.dictMcPresents() - for regle in self.obj.getRegles(): - (monToolTip,regleOk)=regle.verif(listeNomsPresents) - if regleOk : continue - for mc in regle.mcs : - self.listeMcRegle.append(mc) - self.dictToolTipMc[mc]=monToolTip + self.liste_mc=self.obj.get_liste_mc_ordonnee(genea,self.jdc.cata_ordonne_dico) except : - #print ('in except') - #print (self) return def afficheOptionnel(self): - liste,liste_rouge=self.ajouteMCOptionnelDesBlocs() + liste=self.ajouteMCOptionnelDesBlocs() self.monOptionnel=self.editor.widgetOptionnel - self.monOptionnel.afficheOptionnel(liste,liste_rouge,self) + self.monOptionnel.afficheOptionnel(liste,self) #self.monOptionnel.affiche(liste) @@ -121,9 +108,8 @@ class Groupe(QWidget,FacultatifOuOptionnel): self.dictMCVenantDesBlocs={} i=0 self.calculOptionnel() - liste=self.listeMc - liste_rouge=self.listeMcRegle - for MC in self.listeMc : self.dictMCVenantDesBlocs[MC]=self + liste=self.liste_mc + for MC in self.liste_mc : self.dictMCVenantDesBlocs[MC]=self # ce cas est le cas machine tournant sr le plie try : while i < self.commandesLayout.count(): @@ -132,15 +118,14 @@ class Groupe(QWidget,FacultatifOuOptionnel): i=i+1 if not(isinstance(widget,MonWidgetBloc)) : continue widget.calculOptionnel() - listeW,listeW_rouge=widget.ajouteMCOptionnelDesBlocs() + listeW=widget.ajouteMCOptionnelDesBlocs() for MC in widget.dictMCVenantDesBlocs: if MC in self.dictMCVenantDesBlocs: print ("Pb Sur les MC" ) else : self.dictMCVenantDesBlocs[MC]=widget.dictMCVenantDesBlocs[MC] liste=liste+listeW - liste_rouge=liste_rouge+listeW_rouge except : pass - return (liste,liste_rouge) + return liste def reaffiche(self,nodeAVoir=None): @@ -152,21 +137,21 @@ class Groupe(QWidget,FacultatifOuOptionnel): #on ajoute et on enleve listeNode=[] for name in listeMC : - nodeAEnlever=self.node.appendChild(name) + nodeAEnlever=self.node.append_child(name) if nodeAEnlever.item.isMCList(): nodeAEnlever=nodeAEnlever.children[-1] listeNode.append(nodeAEnlever) self.afficheOptionnel() - self.monOptionnel.affiche(self.listeMc) + self.monOptionnel.affiche(self.liste_mc) if len(listeNode) == 0 : return if len(listeNode) == 1 : listeNode[0].delete() - self.editor.afficheInfos("") + self.editor.affiche_infos("") return for noeud in listeNode: - noeud.treeParent.item.suppItem(noeud.item) - noeud.treeParent.buildChildren() - self.editor.afficheInfos("") + noeud.treeParent.item.suppitem(noeud.item) + noeud.treeParent.build_children() + self.editor.affiche_infos("") def ajoutMC(self,texteListeNom): listeNom=texteListeNom.split("+")[1:] @@ -174,31 +159,134 @@ class Groupe(QWidget,FacultatifOuOptionnel): for nom in listeNom: if nom not in self.dictMCVenantDesBlocs: #print "bizarre, bizarre" - self.editor.initModif() - nouveau=self.node.appendChild(nom) + self.editor.init_modif() + nouveau=self.node.append_child(nom) else : - self.editor.initModif() + self.editor.init_modif() widget=self.dictMCVenantDesBlocs[nom] - nouveau=widget.node.appendChild(nom) + nouveau=widget.node.append_child(nom) if firstNode==None : firstNode=nouveau if nouveau == None or nouveau == 0 : - self.editor.afficheInfos(tr('insertion impossible a cet endroit pour '+nom),Qt.red) - try : - self.reaffiche(firstNode) - if firstNode!=None and firstNode !=0 and firstNode.item!=None : firstNode.select() - except : - pass + self.editor.affiche_infos(tr('insertion impossible a cet endroit pour '+nom),Qt.red) + self.reaffiche(firstNode) + if firstNode!=None and firstNode !=0 and firstNode.item!=None : + firstNode.select() - def setPlie(self): + def Plie(self): self.node.setPlie() + if self.editor.code== 'MT' and (self.maCommande.obj.nom == "ZONE") : + #if (len(self.node.item.get_genealogie())==2): + index=self.maCommande.commandesLayout.indexOf(self) + self.maCommande.reafficheSeulement(self,index) + return + #else : + # self.reaffiche(self.node) + #return + #print ('je reaffiche dans Plie') self.reaffiche(self.node) - def setDeplie(self): - #print ('je passe ds setDeplie de groupe') + def Deplie(self): self.node.setDeplie() + if self.editor.code== 'MT' and (self.maCommande.obj.nom == "ZONE") : + #if (len(self.node.item.get_genealogie())==2): + index=self.parentQt.commandesLayout.indexOf(self) + self.maCommande.reafficheSeulement(self,index) + return + #else : + # self.reaffiche(self.node) + #return + #print ('je reaffiche dans Plie') self.reaffiche(self.node) + + #def Plie(self): + #print ('Deplie', self) + #print (self.obj.nom) + #print (self.node.setPlie) + #print (self.parentQt) + #print (self) + # self.node.setPlie() + #if self.editor.code== 'MT' and (self.maCommande.obj.nom == "ZONE") : + # itemAtraiter = self.node.item + # nodeAtraiter=self.node + #while (len(itemAtraiter.get_genealogie()) > 2 ): + # itemAtraiter=itemAtraiter.parent + # nodeAtraiter=nodeAtraiter.vraiParent + #ancien=nodeAtraiter.fenetre + #panneau = nodeAtraiter.getPanelGroupe(self,self.maCommande,insertIn=False) + #print (itemAtraiter,nodeAtraiter) + #self.parentQt.commandesLayout.replaceWidget(ancien,panneau,Qt.FindDirectChildrenOnly) + #nodeAtraiter.vraiParent.fenetre.commandesLayout.replaceWidget(ancien,panneau,Qt.FindDirectChildrenOnly) + #return + # if self.editor.code== 'MT' and (self.maCommande.obj.nom == "ZONE") : + # if (len(self.node.item.get_genealogie())==2): + #print (self) + #print (self.obj.nom) + #print (self.node.item.getlabeltext()) + #print (self.parentQt) + #print (self.editor.fenetreCentraleAffichee) + #print (self.maCommande) + # index=self.parentQt.commandesLayout.indexOf(self) + #print (index) + # self.maCommande.reafficheSeulement(self,index) + #self.disconnect() + #for c in self.children(): + # print (c) + # try : + # c.setParent(None) + # c.deleteLater() + # c.close() + # c.disconnect() + # except : + # print('poum') + #panneau = self.node.getPanelGroupe(self.parentQt,self.maCommande,insertIn=False) + # print (self.parentQt) + # print (self) + #self.parentQt.commandesLayout.replaceWidget(self,panneau,Qt.FindDirectChildrenOnly) + # self.parentQt.setUpdatesEnabled(True) + # print (dir(self.parentQt.commandesLayout)) + #self.parentQt.commandesLayout.updateGeometry() + # else : + # self.reaffiche(self.node) + # return + #print ('je reaffiche dans Plie') + # self.reaffiche(self.node) +# +# def Deplie(self): +# print ('Deplie', self) +# print (self.obj.nom) +# print (self.node.item.GetLabelText()) +# self.node.setDeplie() +# #if self.editor.code== 'MT' and (self.maCommande.obj.nom == "ZONE") and (len(self.node.item.get_genealogie())==2): +# #print (self.node.vraiParent.children) +# #if self.editor.code== 'MT' and (self.maCommande.obj.nom == "ZONE") : +# # itemAtraiter = self.node.item +# # nodeAtraiter=self.node +# # while (len(itemAtraiter.get_genealogie()) > 2 ): +# # itemAtraiter=itemAtraiter.parent +# # nodeAtraiter=nodeAtraiter.vraiParent +# # ancien=nodeAtraiter.fenetre +# # panneau = nodeAtraiter.getPanelGroupe(self,self.maCommande,insertIn=False) +# #print (itemAtraiter,nodeAtraiter) +# #self.parentQt.commandesLayout.replaceWidget(ancien,panneau,Qt.FindDirectChildrenOnly) +# # nodeAtraiter.vraiParent.fenetre.commandesLayout.replaceWidget(ancien,panneau,Qt.FindDirectChildrenOnly) +# # return +# if self.editor.code== 'MT' and (self.maCommande.obj.nom == "ZONE") : +# if (len(self.node.item.get_genealogie())==2): +# #panneau = self.node.getPanelGroupe(self.parentQt,self.maCommande,insertIn=False) +# #self.parentQt.commandesLayout.replaceWidget(self,panneau,Qt.FindDirectChildrenOnly) +# #index=self.parentQt.commandesLayout.indexOf(self) +# #index=self.maCommande.commandesLayout.indexOf(self) +# #print ('index = ', index) +# index=0 +# self.maCommande.reafficheSeulement(self,index) +# else : +# self.reaffiche(self.node) +# return +# +# #print ('je reaffiche') +# self.reaffiche(self.node) def traiteClicSurLabel(self,texte): if self.editor.code != "CARMELCND" : self.afficheOptionnel() diff --git a/InterfaceQT4/monBoutonValide.py b/InterfaceQT4/monBoutonValide.py index 335d1644..146b2dfd 100644 --- a/InterfaceQT4/monBoutonValide.py +++ b/InterfaceQT4/monBoutonValide.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -39,21 +39,13 @@ class MonBoutonValide(QToolButton) : def mouseDoubleClickEvent(self, event): #print "dans mouseDoubleClickEvent" - strAide=self.parent.node.item.object.getFr() - if hasattr(self.parent.node.item.object.definition, 'defaut') : - strAide+='\ndefaut : \n'+str(self.parent.node.item.object.definition.defaut) strRapport=six.text_type(self.parent.node.item.object.report()) - self.parent.editor._viewText(strAide+"\n"+strRapport, "JDC_RAPPORT") + self.parent.editor._viewText(strRapport, "JDC_RAPPORT") def mousePressEvent(self, event): #print "dans mousePressEvent" - if self.parent.node.item.object.isValid() : + if self.parent.node.item.object.isvalid() : myToolTip=tr("objet valide") - if self.parent.editor.maConfiguration.differencieSiDefaut : - if hasattr(self.parent.node.item.object.definition, 'defaut') : - if self.parent.node.item.object.valeur != self.parent.node.item.object.definition.defaut : - myToolTip+='\ndefaut : \n'+str(self.parent.node.item.object.definition.defaut) - QToolTip.showText(event.globalPos(),myToolTip ) else : t="" diff --git a/InterfaceQT4/monChoixCata.py b/InterfaceQT4/monChoixCata.py index 8ecd647d..76b7149a 100644 --- a/InterfaceQT4/monChoixCata.py +++ b/InterfaceQT4/monChoixCata.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -38,13 +38,10 @@ class MonChoixCata(Ui_DChoixCata,QDialog): self.TLNb.setText(tr("%d versions du catalogue sont disponibles", len(listeCata))) if title is not None: self.setWindowTitle(tr(title)) - self.buttonOk.clicked.connect(self.cataChoisi) - self.buttonCancel.clicked.connect(self.sortSansChoix) - - def sortSansChoix(self): + def on_buttonCancel_clicked(self): QDialog.reject(self) - def cataChoisi(self): + def on_buttonOk_clicked(self): QDialog.accept(self) diff --git a/InterfaceQT4/monChoixCode.py b/InterfaceQT4/monChoixCode.py index 59fc6098..c78a9d53 100644 --- a/InterfaceQT4/monChoixCode.py +++ b/InterfaceQT4/monChoixCode.py @@ -41,16 +41,14 @@ class MonChoixCode(Ui_ChoixCode,QDialog): discretes """ def __init__(self, parentAppli=None): - QDialog.__init__(self,parent=parentAppli,flags=Qt.Window) + QDialog.__init__(self,parentAppli) self.setModal(True) self.setupUi(self) self.parentAppli=parentAppli self.verifieInstall() self.code=None - self.buttonBox.accepted.disconnect(self.accept) - self.buttonBox.accepted.connect(self.choisitCode) - # self.pB_OK.clicked.connect(self.choisitCode) - #self.pB_cancel.clicked.connect(self.sortie) + self.pB_OK.clicked.connect(self.choisitCode) + self.pB_cancel.clicked.connect(self.sortie) def sortie(self): QDialog.reject(self) @@ -58,7 +56,7 @@ class MonChoixCode(Ui_ChoixCode,QDialog): def verifieInstall(self): self.groupCodes=QButtonGroup(self.groupBox) vars=list(os.environ.items()) - listeCode=('Adao','Carmel3D','CarmelCND','CF','MAP','MT','PSEN','PSEN_N1','Telemac','ZCracks',) + listeCode=('Aster','Adao','Carmel3D','CarmelCND','CF','MAP','MT','PSEN','PSEN_N1','Telemac','ZCracks',) for code in listeCode: dirCode=os.path.abspath(os.path.join(os.path.abspath(__file__),'../..',code)) try : diff --git a/InterfaceQT4/monChoixCommande.py b/InterfaceQT4/monChoixCommande.py index 5ebb70c4..e1aa8f69 100644 --- a/InterfaceQT4/monChoixCommande.py +++ b/InterfaceQT4/monChoixCommande.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -39,7 +39,7 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): """ """ def __init__(self,node, jdc_item, editor): - QWidget.__init__(self,parent=None) + QWidget.__init__(self,None) self.setupUi(self) self.repIcon=os.path.join( os.path.dirname(os.path.abspath(__file__)),'..','Editeur','icons') @@ -51,8 +51,7 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): self.item = jdc_item self.node = node self.editor = editor - self.simpleClic=self.editor.maConfiguration.simpleClic - self.jdc = self.item.object.getJdcRoot() + self.jdc = self.item.object.get_jdc_root() debutTitre=self.editor.titre self.listeWidget=[] self.dicoCmd={} @@ -71,13 +70,13 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): self.LEFiltre.returnPressed.connect(self.ajouteRadioButtons) self.LEFiltre.textChanged.connect(self.ajouteRadioButtons) - if self.node.tree.item.getRegles() == () : + if self.node.tree.item.get_regles() == () : self.RBRegle.close() self.labelRegle.close() else : self.RBRegle.clicked.connect(self.afficheRegle) - if self.editor.readercata.Ordre_Des_Commandes == None : self.RBOrdre.close() + if self.editor.Ordre_Des_Commandes == None : self.RBOrdre.close() #self.editor.labelCommentaire.setText("") @@ -86,45 +85,45 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): self.editor.widgetOptionnel=None self.name=None - self.boolAlpha=0 - self.boolGroupe=0 - self.boolOrdre=0 - if self.editor.maConfiguration.affiche=="alpha" : - self.boolAlpha==1; + self.affiche_alpha=0 + self.affiche_groupe=0 + self.affiche_ordre=0 + if self.editor.affiche=="alpha" : + self.affiche_alpha==1; self.RBalpha.setChecked(True); self.afficheAlpha() - elif self.editor.maConfiguration.affiche=="groupe" : - self.boolGroupe==1; + elif self.editor.affiche=="groupe" : + self.affiche_groupe==1; self.RBGroupe.setChecked(True); self.afficheGroupe() - elif self.editor.maConfiguration.affiche=="ordre" : - self.boolOrdre==1; + elif self.editor.affiche=="ordre" : + self.affiche_ordre==1; self.RBOrdre.setChecked(True); self.afficheOrdre() - if self.editor.maConfiguration.closeFrameRechercheCommande == True : self.frameAffichage.close() + if self.editor.closeFrameRechercheCommande == True : self.frameAffichage.close() if self.editor.widgetTree != None : self.editor.restoreSplitterSizes(2) else: self.editor.restoreSplitterSizes(3) def afficheRegle(self): - self.node.tree.appellebuildLBRegles() + self.node.tree.AppelleBuildLBRegles() def afficheAlpha(self): - self.boolAlpha=1 - self.boolGroupe=0 - self.boolOrdre=0 + self.affiche_alpha=1 + self.affiche_groupe=0 + self.affiche_ordre=0 self.ajouteRadioButtons() def afficheGroupe(self): - self.boolAlpha=0 - self.boolGroupe=1 - self.boolOrdre=0 + self.affiche_alpha=0 + self.affiche_groupe=1 + self.affiche_ordre=0 self.ajouteRadioButtons() def afficheOrdre(self): - self.boolAlpha=0 - self.boolGroupe=0 - self.boolOrdre=1 + self.affiche_alpha=0 + self.affiche_groupe=0 + self.affiche_ordre=1 self.ajouteRadioButtons() def insereNoeudApresClick(self,event): @@ -134,9 +133,9 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): nodeCourrant=self.node.tree.currentItem() if nodeCourrant==None: nodeCourrant=self.node.tree.racine if self.name != None : - plier=self.editor.maConfiguration.afficheCommandesPliees - if nodeCourrant==self.node : nouveau=self.node.appendChild(self.name,'first',plier) - else : nouveau=nodeCourrant.appendBrother(self.name,plier=plier) + plier=self.editor.afficheCommandesPliees + if nodeCourrant==self.node : nouveau=self.node.append_child(self.name,'first',plier) + else : nouveau=nodeCourrant.append_brother(self.name,plier=plier) else : nouveau = 0 if nouveau == 0 : return # on n a pas insere le noeud @@ -144,7 +143,7 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): #if self.editor.afficheApresInsert==True : nouveau.plieToutEtReaffiche() if self.editor.afficheApresInsert == True : #if self.editor.affichePlie==True: nouveau.plieToutEtReaffiche() - if self.editor.maConfiguration.afficheCommandesPliees ==True: nouveau.plieToutEtReaffiche() + if self.editor.afficheCommandesPliees ==True: nouveau.plieToutEtReaffiche() else : nouveau.deplieToutEtReaffiche() nouveau.fenetre.donnePremier() #nouveau.deplieToutEtReaffiche() @@ -157,14 +156,14 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): def creeListeCommande(self,filtre): - listeGroupes,dictGroupes=self.jdc.getGroups() + listeGroupes,dictGroupes=self.jdc.get_groups() sensibleALaCasse=self.RBCasse.isChecked() if "CACHE" in dictGroupes: aExclure=dictGroupes["CACHE"] else: aExclure=() listeACreer=[] - for l in self.jdc.getListeCmd(): + for l in self.jdc.get_liste_cmd(): if l not in aExclure : if sensibleALaCasse and (filtre != None and not filtre in l) : continue if (not sensibleALaCasse) and filtre != None and (not filtre in l) and (not filtre.upper() in l) : continue @@ -172,7 +171,7 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): return listeACreer def ajouteRadioButtons(self): - if self.editor.maConfiguration.nombreDeBoutonParLigne != 0 : + if self.editor.nombreDeBoutonParLigne != 0 : self.ajoutePushButtons() return #print 'ds ajouteRadioButtons' @@ -189,23 +188,23 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): w.setParent(None) w.close() self.listeWidget=[] - if self.boolAlpha==1 : + if self.affiche_alpha==1 : liste=self.creeListeCommande(filtre) for cmd in liste : self.dicoCmd[tr(cmd)]=cmd rbcmd=(QRadioButton(tr(cmd))) self.buttonGroup.addButton(rbcmd) self.commandesLayout.addWidget(rbcmd) - #if self.simpleClic : rbcmd.mouseReleaseEvent=self.insereNoeudApresClick + #if self.editor.simpleClic : rbcmd.mouseReleaseEvent=self.insereNoeudApresClick #else : rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick #self.buttonGroup.buttonClicked.connect(self.rbClique) - if not(self.simpleClic ): rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick - if self.simpleClic : + if not(self.editor.simpleClic ): rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick + if self.editor.simpleClic : self.buttonGroup.buttonClicked.connect(self.rbCliqueEtInsere) else : self.buttonGroup.buttonClicked.connect(self.rbClique) - elif self.boolGroupe==1 : - listeGroupes,dictGroupes=self.jdc.getGroups() + elif self.affiche_groupe==1 : + listeGroupes,dictGroupes=self.jdc.get_groups() for grp in listeGroupes: if grp == "CACHE" : continue label=QLabel(self) @@ -224,8 +223,8 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): rbcmd=(QRadioButton(tr(cmd))) self.buttonGroup.addButton(rbcmd) self.commandesLayout.addWidget(rbcmd) - if not(self.simpleClic ): rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick - if self.simpleClic : + if not(self.editor.simpleClic ): rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick + if self.editor.simpleClic : self.buttonGroup.buttonClicked.connect(self.rbCliqueEtInsere) else : self.buttonGroup.buttonClicked.connect(self.rbClique) @@ -233,11 +232,11 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): label2.setText(" ") self.listeWidget.append(label2) self.commandesLayout.addWidget(label2) - elif self.boolOrdre==1 : + elif self.affiche_ordre==1 : listeFiltre=self.creeListeCommande(filtre) liste=[] - if self.editor.readercata.Ordre_Des_Commandes == None : Ordre_Des_Commandes=listeFiltre - else : Ordre_Des_Commandes=self.editor.readercata.Ordre_Des_Commandes + if self.editor.Ordre_Des_Commandes == None : Ordre_Des_Commandes=listeFiltre + else : Ordre_Des_Commandes=self.editor.Ordre_Des_Commandes for cmd in Ordre_Des_Commandes : if cmd in listeFiltre : liste.append(cmd) @@ -246,8 +245,8 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): rbcmd=(QRadioButton(tr(cmd))) self.buttonGroup.addButton(rbcmd) self.commandesLayout.addWidget(rbcmd) - if not(self.simpleClic ): rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick - if self.simpleClic : + if not(self.editor.simpleClic ): rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick + if self.editor.simpleClic : self.buttonGroup.buttonClicked.connect(self.rbCliqueEtInsere) else : self.buttonGroup.buttonClicked.connect(self.rbClique) @@ -276,20 +275,20 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): col=-1 ligne = 0 - if self.boolAlpha==1 : + if self.affiche_alpha==1 : liste=self.creeListeCommande(None) - elif self.boolOrdre: + elif self.affiche_ordre: liste=self.creeListeCommande(None) listeFiltre=self.creeListeCommande(None) liste=[] - if self.editor.readercata.Ordre_Des_Commandes == None : Ordre_Des_Commandes=listeFiltre - else : Ordre_Des_Commandes=self.editor.readercata.Ordre_Des_Commandes + if self.editor.Ordre_Des_Commandes == None : Ordre_Des_Commandes=listeFiltre + else : Ordre_Des_Commandes=self.editor.Ordre_Des_Commandes for cmd in Ordre_Des_Commandes : if cmd in listeFiltre : liste.append(cmd) for cmd in liste : col=col+1 - if col == self.editor.maConfiguration.nombreDeBoutonParLigne : + if col == self.editor.nombreDeBoutonParLigne : col=0 ligne=ligne+1 self.dicoCmd[tr(cmd)]=cmd @@ -302,9 +301,8 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): "border-width : 30 px;\n" "border-color : beige;\n" "text-align : center") - #print ('self.editor.maConfiguration.dicoImages', self.editor.maConfiguration.dicoImages) - if cmd in self.editor.maConfiguration.dicoImages : - fichier=self.editor.maConfiguration.dicoImages[cmd] + if cmd in self.editor.dicoImages : + fichier=self.editor.dicoImages[cmd] icon = QIcon() icon.addPixmap(QPixmap(fichier), QIcon.Normal, QIcon.Off) rbcmd.setIcon(icon) @@ -322,16 +320,8 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): self.insereNoeudApresClick(None) def rbClique(self,id): - - try : - self.name=self.dicoCmd[id.text()] - except : - try : - self.name=self.dicoCmd[str(id.text())] - except : - print ('pb d accent : contacter la maintenance') - - definitionEtape=getattr(self.jdc.cata,self.name) + self.name=self.dicoCmd[str(id.text())] + definitionEtape=getattr(self.jdc.cata[0],self.name) #commentaire=getattr(definitionEtape,self.jdc.lang) try : commentaire=getattr(definitionEtape,self.jdc.lang) @@ -340,7 +330,7 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): commentaire=getattr(definitionEtape,"ang") except : commentaire="" - self.editor.afficheCommentaire(commentaire) + self.editor.affiche_commentaire(commentaire) diff --git a/InterfaceQT4/monChoixLangue.py b/InterfaceQT4/monChoixLangue.py index ed44719f..5715a48b 100644 --- a/InterfaceQT4/monChoixLangue.py +++ b/InterfaceQT4/monChoixLangue.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/InterfaceQT4/monFonctionPanel.py b/InterfaceQT4/monFonctionPanel.py index 31cc2245..628d04a0 100644 --- a/InterfaceQT4/monFonctionPanel.py +++ b/InterfaceQT4/monFonctionPanel.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -44,30 +44,30 @@ class MonFonctionPanel(MonPlusieursBasePanel): def __init__(self,node, parent = None,name = None,fl = 0): #print "MonFonctionPanel" self.node=node - self.setNbValeurs() + self.SetNbValeurs() MonPlusieursBasePanel.__init__(self,node,parent,name,fl) - def setNbValeurs(self): + def SetNbValeurs(self): self.nbValeurs = 1 - if self.node.item.waitTuple()== 1 : + if self.node.item.wait_tuple()== 1 : for a in self.node.item.definition.type : try : self.nbValeurs = a.ntuple break except : pass - genea=self.node.item.getGenealogie() + genea=self.node.item.get_genealogie() self.nbValeursASaisir=self.nbValeurs if "VALE" in genea: self.nbValeurs=2 if "VALE_C" in genea: self.nbValeurs=3 - def decoupeListeValeurs(self,liste): + def DecoupeListeValeurs(self,liste): #decoupe la liste des valeurs en n ( les x puis les y) l_valeurs=[] if ((len(liste)% self.nbValeursASaisir != 0 and (len(liste)% self.nbValeurs))): message=tr("La cardinalite n'est pas correcte, la derniere valeur est ignoree") - self.editor.afficheInfos(message,Qt.red) + self.editor.affiche_infos(message,Qt.red) i=0 while ( i < len(liste) ) : try : @@ -78,21 +78,21 @@ class MonFonctionPanel(MonPlusieursBasePanel): l_valeurs.append(t) return l_valeurs - def buildLBValeurs(self,listeValeurs=None): + def BuildLBValeurs(self,listeValeurs=None): self.LBValeurs.clear() if listeValeurs== None : - listeValeurs=self.node.item.getListeValeurs() - if self.node.item.waitTuple()== 1 : + listeValeurs=self.node.item.GetListeValeurs() + if self.node.item.wait_tuple()== 1 : listeATraiter=listeValeurs for valeur in listeATraiter: str_valeur=str(valeur) self.LBValeurs.addItem(str_valeur) else : - for valeur in self.decoupeListeValeurs(listeValeurs): + for valeur in self.DecoupeListeValeurs(listeValeurs): if type(valeur) == tuple: TupleEnTexte="(" for val in valeur : - TupleEnTexte = TupleEnTexte + str(self.politique.getValeurTexte(val)) +", " + TupleEnTexte = TupleEnTexte + str(self.politique.GetValeurTexte(val)) +", " TupleEnTexte = TupleEnTexte[0:-2] +")" self.LBValeurs.addItem(TupleEnTexte) else : @@ -103,7 +103,7 @@ class MonFonctionPanel(MonPlusieursBasePanel): # Pour etre appele a partir du Panel Importer (donc plusieurs fois par AjouterNValeur) validite=1 if liste == [] : - if self.node.item.waitTuple()== 1 : + if self.node.item.wait_tuple()== 1 : liste=SaisieValeur.TraiteLEValeurTuple(self) if liste == [''] : return else : @@ -111,16 +111,16 @@ class MonFonctionPanel(MonPlusieursBasePanel): if validite == 0 : return if liste ==[] : return - if (self.node.item.waitTuple()== 1 and len(liste) != self.nbValeurs): + if (self.node.item.wait_tuple()== 1 and len(liste) != self.nbValeurs): commentaire = str(liste) commentaire += tr(" n est pas un tuple de ") commentaire += str(self.nbValeursASaisir) commentaire += tr(" valeurs") self.LEValeur.setText(str(liste)) - self.editor.afficheInfos(commentaire,Qt.red) + self.editor.affiche_infos(commentaire,Qt.red) return - if self.node.item.waitTuple()== 1 : + if self.node.item.wait_tuple()== 1 : liste2=tuple(liste) liste=liste2 @@ -135,27 +135,27 @@ class MonFonctionPanel(MonPlusieursBasePanel): listeVal=[] for valeur in self.listeValeursCourantes : listeVal.append(valeur) - if self.node.item.waitTuple()== 1 : + if self.node.item.wait_tuple()== 1 : indexListe = index - validite,comm,comm2,listeRetour=self.politique.ajoutTuple(liste,index,listeVal) + validite,comm,comm2,listeRetour=self.politique.AjoutTuple(liste,index,listeVal) else : - validite,comm,comm2,listeRetour=self.politique.ajoutValeurs(liste,index,listeVal) + validite,comm,comm2,listeRetour=self.politique.AjoutValeurs(liste,index,listeVal) self.Commentaire.setText(tr(comm2)) if not validite : - self.editor.afficheInfos(comm,Qt.red) + self.editor.affiche_infos(comm,Qt.red) else: self.LEValeur.setText("") l1=self.listeValeursCourantes[:indexListe] l3=self.listeValeursCourantes[indexListe:] - if self.node.item.waitTuple()== 1 : + if self.node.item.wait_tuple()== 1 : listeATraiter=listeRetour else : - listeATraiter=self.decoupeListeValeurs(listeRetour) + listeATraiter=self.DecoupeListeValeurs(listeRetour) for valeur in listeATraiter : if type(valeur) == tuple: TupleEnTexte="(" for val in valeur : - TupleEnTexte = TupleEnTexte + str(self.politique.getValeurTexte(val)) +", " + TupleEnTexte = TupleEnTexte + str(self.politique.GetValeurTexte(val)) +", " str_valeur = TupleEnTexte[0:-2] +")" else : str_valeur=str(valeur) @@ -165,20 +165,20 @@ class MonFonctionPanel(MonPlusieursBasePanel): self.LBValeurs.setCurrentItem(item) index=index+1 self.listeValeursCourantes=l1+listeRetour+l3 - self.buildLBValeurs(self.listeValeursCourantes) + self.BuildLBValeurs(self.listeValeursCourantes) def ajoutNValeur(self,liste) : if len(liste)%self.nbValeurs != 0 : texte="Nombre de valeur incorrecte" #self.Commentaire.setText(texte) - self.editor.afficheInfos(texte,Qt.red) + self.editor.affiche_infos(texte,Qt.red) return - listeDecoupee=self.decoupeListeValeurs(liste) + listeDecoupee=self.DecoupeListeValeurs(liste) for vals in listeDecoupee : self.ajout1Valeur(vals) - def sup1Valeur(self): + def Sup1Valeur(self): index=self.LBValeurs.currentRow() if index == None : return removed_item = self.LBValeurs.takeItem(index) @@ -189,7 +189,7 @@ class MonFonctionPanel(MonPlusieursBasePanel): for i in range(self.nbValeurs): indexAOter=index*self.nbValeurs + i indexInterdit.append(indexAOter) - if self.node.item.waitTuple()== 1 : + if self.node.item.wait_tuple()== 1 : indexInterdit=[index] i=0 diff --git a/InterfaceQT4/monGroupeOptionnel.py b/InterfaceQT4/monGroupeOptionnel.py index 7b17edba..f5cb90f8 100644 --- a/InterfaceQT4/monGroupeOptionnel.py +++ b/InterfaceQT4/monGroupeOptionnel.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -21,35 +21,23 @@ from __future__ import absolute_import from PyQt5.QtWidgets import QCheckBox, QWidget, QLabel, QPushButton -from PyQt5.QtCore import Qt, QRect -from PyQt5.QtGui import QPalette +from PyQt5.QtCore import Qt, QRect -from Extensions.i18n import tr +from Extensions.i18n import tr from desGroupeOptionnel import Ui_groupeOptionnel -from desPBOptionnelMT import Ui_customPB +from desPBOptionnelMT import Ui_customPB # Import des panels -class MonRBButtonCustom(QCheckBox): +class monRBButtonCustom(QCheckBox): - def __init__(self,texte,monOptionnel,parent=None,couleur=None): + def __init__(self,texte,monOptionnel,parent=None): QCheckBox.__init__(self,tr(texte),parent) self.mousePressed=True + self.texte=texte self.monOptionnel=monOptionnel self.setToolTip(tr("clicker: affichage aide, double-click: ajout")) - if couleur != None : - mapalette=self.palette() - mapalette.setColor( QPalette.WindowText, couleur ) - mapalette.setColor( QPalette.Base, Qt.green ) - self.setPalette( mapalette ); - self.setText(tr(texte)) - try : - monToolTip=monOptionnel.parentMC.dictToolTipMc[texte] - self.setToolTip(monToolTip) - except : - pass - def mouseDoubleClickEvent(self, event): #print "dans mouseDoubleClickEvent", self @@ -81,31 +69,18 @@ class MonRBButtonCustom(QCheckBox): maDefinition = self.monOptionnel.parentMC.definition.entites[self.texte] maLangue = self.monOptionnel.parentMC.jdc.lang if hasattr(maDefinition,maLangue): - self.monAide = getattr(maDefinition,self.monOptionnel.parentMC.jdc.lang) - else : - self.monAide = "" + monAide = getattr(maDefinition,self.monOptionnel.parentMC.jdc.lang) + else: + monAide = "" except : - self.monAide = "" - self.monOptionnel.parentMC.editor.afficheCommentaire(self.monAide) + monAide = "" + self.monOptionnel.parentMC.editor.affiche_commentaire(monAide) -class MonPBButtonCustom(QWidget,Ui_customPB): +class monPBButtonCustom(QWidget,Ui_customPB): - def __init__(self,texte,monOptionnel,parent=None,couleur=None): + def __init__(self,texte,monOptionnel,parent=None): QWidget.__init__(self) self.setupUi(self) - if couleur != None : - self.monPb.setText(texte) - self.monPb.setStyleSheet('QPushButton {background-color: #A3C1DA; color: red;}') - #mapalette=self.monPb.palette() - #mapalette.setColor( QPalette.ButtonText, Qt.red ) - #self.monPb.setPalette( mapalette ) - self.monPb.update() - #self.update() - try : - monToolTip=monOptionnel.parentMC.dictToolTipMc[texte] - self.monPb.setToolTip(monToolTip) - except : - pass self.monPb.setText(texte) self.monPb.clicked.connect(self.ajoutMC) @@ -130,8 +105,8 @@ class MonPBButtonCustom(QWidget,Ui_customPB): class MonGroupeOptionnel (QWidget,Ui_groupeOptionnel): """ """ - def __init__(self,liste,liste_rouge,parentQt,parentMC): - #print ("dans init de monWidgetOptionnel ", parentQt, liste,parentMC) + def __init__(self,liste,parentQt,parentMC): + #print "dans init de monWidgetOptionnel ", parentQt, liste,parentMC QWidget.__init__(self,None) self.setupUi(self) self.listeChecked=[] @@ -141,12 +116,10 @@ class MonGroupeOptionnel (QWidget,Ui_groupeOptionnel): self.cb=None self.parentQt=parentQt self.parentMC=parentMC - - if liste != [] : - self.affiche(liste,liste_rouge) + self.affiche(liste) self.afficheTitre() - elif self.parentQt.parentQt.maConfiguration.afficheOptionnelVide != False : + elif self.parentQt.parentQt.afficheOptionnelVide != False : self.afficheTitre() self.MCOptionnelLayout.insertWidget(0,QLabel(tr('Pas de MC Optionnel'))) else : @@ -155,7 +128,7 @@ class MonGroupeOptionnel (QWidget,Ui_groupeOptionnel): def afficheTitre(self): - labeltext,fonte,couleur = self.parentMC.node.item.getLabelText() + labeltext,fonte,couleur = self.parentMC.node.item.GetLabelText() #print (labeltext) l=tr(labeltext) li=[] @@ -168,21 +141,20 @@ class MonGroupeOptionnel (QWidget,Ui_groupeOptionnel): texte=texte[0:-1] self.MCLabel.setText(texte) - def affiche(self,liste,liste_rouge): - #print ("dans Optionnel ____ affiche", liste,liste_rouge) + def affiche(self,liste): + #print "dans Optionnel ____ affiche", liste self.dicoCb={} liste.reverse() for mot in liste : - #if mot in liste_rouge : print ('je dois afficher en rouge' , mot) - couleur=None - if mot in liste_rouge : couleur=Qt.red - if self.parentQt.parentQt.maConfiguration.simpleClic == False : - cb = MonRBButtonCustom(mot,self,couleur=couleur) + if self.parentQt.parentQt.simpleClic == False : + cb = monRBButtonCustom(mot,self) cb.clicked.connect(cb.ajoutAideMC) else : - cb = MonPBButtonCustom(mot,self,couleur=couleur) + cb = monPBButtonCustom(mot,self) self.MCOptionnelLayout.insertWidget(0,cb) self.dicoCb[cb]=mot self.scrollAreaCommandesOptionnelles.horizontalScrollBar().setSliderPosition(0) + + diff --git a/InterfaceQT4/monLabelClic.py b/InterfaceQT4/monLabelClic.py index af472949..d7fffab1 100644 --- a/InterfaceQT4/monLabelClic.py +++ b/InterfaceQT4/monLabelClic.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/InterfaceQT4/monLayoutBouton.py b/InterfaceQT4/monLayoutBouton.py deleted file mode 100644 index 49a431a4..00000000 --- a/InterfaceQT4/monLayoutBouton.py +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright (C) 2007-2017 EDF R&D -# -# 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. -# -# 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 -# -# Modules Python -# Modules Eficas - -from __future__ import absolute_import -try : - from builtins import str -except : pass - -from PyQt5.QtWidgets import QButtonGroup, QToolButton -from PyQt5.QtGui import QIcon, QPixmap -from Extensions.i18n import tr - - -#---------------------- -class MonLayoutBouton : -#---------------------- - -# ------------------------------- - def __init__(self,appliEficas): -# ------------------------------- - - self.appliEficas = appliEficas - self.buttonGroup = QButtonGroup() - - for etape in self.appliEficas.readercata.cata.JdC.commandes : - nomEtape = etape.nom - toolButton = QToolButton(self.appliEficas.toolBarCommande) - icon = QIcon() - if nomEtape in self.appliEficas.maConfiguration.dicoIcones: - fichier = self.appliEficas.maConfiguration.dicoIcones[nomEtape] - icon.addPixmap(QPixmap(fichier), QIcon.Normal, QIcon.Off) - toolButton.setIcon(icon) - else : - try : label = nomEtape[0:3] - except : label = nomEtape - toolButton.setText(label) - - action = self.appliEficas.toolBarCommande.addWidget(toolButton) - action.setVisible(True) - toolButton.setObjectName(nomEtape) - toolButton.setToolTip(tr(nomEtape)) - self.buttonGroup.addButton(toolButton) - - self.buttonGroup.buttonClicked.connect(self.rbCliqueEtInsere) - - def rbCliqueEtInsere(self,id): - self.appliEficas.handleAjoutEtape(id.objectName()) - - diff --git a/InterfaceQT4/monRecherche.py b/InterfaceQT4/monRecherche.py index 059456cc..758e844f 100644 --- a/InterfaceQT4/monRecherche.py +++ b/InterfaceQT4/monRecherche.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -48,8 +48,8 @@ class DRecherche(Ui_desRecherche ,QDialog): #if self.motAChercher!=self.LERecherche.text(): self.recherche() if self.listeTrouvee=={} : return if self.surLigne > len(self.listeTrouvee) -1 : return - if self.nodeSurligne!=None : self.nodeSurligne.updateNodeTexteInBlack() - #self.listeTrouvee[self.surLigne].updateNodeTexteInBlue() + if self.nodeSurligne!=None : self.nodeSurligne.update_node_texte_in_black() + #self.listeTrouvee[self.surLigne].update_node_texte_in_blue() #self.nodeSurligne=self.listeTrouvee[self.surLigne] self.listeTrouvee[self.surLigne].select() self.listeTrouvee[self.surLigne].affichePanneau() diff --git a/InterfaceQT4/monRechercheCatalogue.py b/InterfaceQT4/monRechercheCatalogue.py index 589964a3..8259db65 100644 --- a/InterfaceQT4/monRechercheCatalogue.py +++ b/InterfaceQT4/monRechercheCatalogue.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/InterfaceQT4/monSelectVal.py b/InterfaceQT4/monSelectVal.py index 415f5948..c0df61d8 100644 --- a/InterfaceQT4/monSelectVal.py +++ b/InterfaceQT4/monSelectVal.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -28,7 +28,7 @@ except : pass from desSelectVal import Ui_DSelVal from Extensions.i18n import tr -from PyQt5.QtWidgets import QDialog, QFileDialog, QMessageBox +from PyQt5.QtWidgets import QDialog, QFileDialog from PyQt5.QtCore import QTimer, Qt from PyQt5.QtGui import QPalette @@ -56,17 +56,17 @@ class MonSelectVal(DSelVal): self.connecterSignaux() def connecterSignaux(self) : - self.Bespace.clicked.connect(self.selectEsp) - self.BpointVirgule.clicked.connect(self.selectPoint) - self.Bvirgule.clicked.connect(self.selectVir) + self.Bespace.clicked.connect(self.SelectEsp) + self.BpointVirgule.clicked.connect(self.SelectPoint) + self.Bvirgule.clicked.connect(self.SelectVir) self.BImportSel.clicked.connect(self.BImportSelPressed) self.BImportTout.clicked.connect(self.BImportToutPressed) self.parent.editor.sb.messageChanged.connect(self.messageAChanger) def connecterSignauxQT4(self) : - self.connect(self.Bespace,SIGNAL("clicked()"),self.selectEsp) - self.connect(self.BpointVirgule,SIGNAL("clicked()"),self.selectPoint) - self.connect(self.Bvirgule,SIGNAL("clicked()"),self.selectVir) + self.connect(self.Bespace,SIGNAL("clicked()"),self.SelectEsp) + self.connect(self.BpointVirgule,SIGNAL("clicked()"),self.SelectPoint) + self.connect(self.Bvirgule,SIGNAL("clicked()"),self.SelectVir) self.connect(self.BImportSel,SIGNAL("clicked()"),self.BImportSelPressed) self.connect(self.BImportTout,SIGNAL("clicked()"),self.BImportToutPressed) self.connect(self.parent.editor.sb,SIGNAL("messageChanged(QString)"),self.messageAChanger) @@ -84,26 +84,21 @@ class MonSelectVal(DSelVal): def readVal(self): if self.file == "" : return - try : - f = open(self.file, "r") - self.texte = f.read() - f.close() - except : - QMessageBox.warning( self,tr( "Fichier Indisponible"),tr( "Lecture impossible")) - self.texte="" - return + f = open(self.file, "r") + self.texte = f.read() + f.close() def initVal(self): self.TBtext.clear() self.TBtext.setText(self.texte) - def selectEsp(self): + def SelectEsp(self): self.separateur=" " - def selectVir(self): + def SelectVir(self): self.separateur="," - def selectPoint(self): + def SelectPoint(self): self.separateur=";" def BImportSelPressed(self): @@ -111,13 +106,13 @@ class MonSelectVal(DSelVal): texte = self.TBtext.textCursor().selectedText() textTraite=texte.replace(u'\u2029',"\n") self.textTraite=str(textTraite) - self.traitement() + self.Traitement() def BImportToutPressed(self): self.textTraite=self.texte - self.traitement() + self.Traitement() - def traitement(self): + def Traitement(self): if self.textTraite == "" : return if self.textTraite[-1]=="\n" : self.textTraite=self.textTraite[0:-1] self.textTraite=self.textTraite.replace("\n",self.separateur) @@ -127,10 +122,10 @@ class MonSelectVal(DSelVal): if val != '' and val != ' ' and val != self.separateur : val=str(val) try : - #if 1 : val2=eval(val,{}) liste.append(val2) except : pass self.parent.ajoutNValeur(liste) + diff --git a/InterfaceQT4/monViewRegles.py b/InterfaceQT4/monViewRegles.py index c096c8f5..8546d4b4 100644 --- a/InterfaceQT4/monViewRegles.py +++ b/InterfaceQT4/monViewRegles.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/InterfaceQT4/monViewTexte.py b/InterfaceQT4/monViewTexte.py index 0c167c9b..2dfcece6 100644 --- a/InterfaceQT4/monViewTexte.py +++ b/InterfaceQT4/monViewTexte.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -58,7 +58,7 @@ class ViewText(Ui_dView,QDialog): def saveFile(self): #recuperation du nom du fichier if self.editor != None : - dir=self.editor.appliEficas.maConfiguration.savedir + dir=self.editor.appliEficas.CONFIGURATION.savedir else: dir='/tmp' fn = QFileDialog.getSaveFileName(None, @@ -70,7 +70,7 @@ class ViewText(Ui_dView,QDialog): ulfile = os.path.abspath(six.text_type(fn)) if self.editor != None : - self.editor.appliEficas.maConfiguration.savedir=os.path.split(ulfile)[0] + self.editor.appliEficas.CONFIGURATION.savedir=os.path.split(ulfile)[0] try: f = open(fn, 'w') f.write(str(self.view.toPlainText())) diff --git a/InterfaceQT4/monWidget4a6RadioButton.py b/InterfaceQT4/monWidget4a6RadioButton.py index 3025049b..3919b75d 100644 --- a/InterfaceQT4/monWidget4a6RadioButton.py +++ b/InterfaceQT4/monWidget4a6RadioButton.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -44,7 +44,7 @@ class MonWidget4a6RadioButtonSD (Ui_Widget4a6RadioButton,MonWidgetRadioButtonCom def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): #print "dans le init de MonWidget4a6RadioButton",self - self.maListeDeValeur=node.item.getSdAvantDuBonType() + self.maListeDeValeur=node.item.get_sd_avant_du_bon_type() MonWidgetRadioButtonCommun.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) def setMaxI(self): diff --git a/InterfaceQT4/monWidget4a6RadioButtonSD.py b/InterfaceQT4/monWidget4a6RadioButtonSD.py index 86f198ed..d3dd5bf7 100644 --- a/InterfaceQT4/monWidget4a6RadioButtonSD.py +++ b/InterfaceQT4/monWidget4a6RadioButtonSD.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -32,7 +32,7 @@ class MonWidget4a6RadioButtonSD (Ui_Widget4a6RadioButton,MonWidgetRadioButtonCom def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): #print "dans le init de MonWidget4a6RadioButton",self - self.maListeDeValeur=node.item.getSdAvantDuBonType() + self.maListeDeValeur=node.item.get_sd_avant_du_bon_type() MonWidgetRadioButtonCommun.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) def setMaxI(self): diff --git a/InterfaceQT4/monWidgetBloc.py b/InterfaceQT4/monWidgetBloc.py index 1dc33526..648505cf 100644 --- a/InterfaceQT4/monWidgetBloc.py +++ b/InterfaceQT4/monWidgetBloc.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -29,7 +29,7 @@ class MonWidgetBloc(Ui_WidgetBloc,Groupe): """ """ def __init__(self,node,editor,parentQt,definition, obj, niveau,commande): - #print ("bloc : ",node.item.nom) + #print "bloc : ",node.item.nom Groupe.__init__(self,node,editor,parentQt, definition,obj,niveau,commande) self.parentQt.commandesLayout.insertWidget(-1,self,1) diff --git a/InterfaceQT4/monWidgetCB.py b/InterfaceQT4/monWidgetCB.py index a23b51fc..5cdaca20 100644 --- a/InterfaceQT4/monWidgetCB.py +++ b/InterfaceQT4/monWidgetCB.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -28,23 +28,23 @@ import types,os # Modules Eficas from Extensions.i18n import tr -from InterfaceQT4.feuille import Feuille -from desWidgetCB import Ui_WidgetCB -from InterfaceQT4.politiquesValidation import PolitiqueUnique -from InterfaceQT4.qtSaisie import SaisieValeur +from .feuille import Feuille +from desWidgetCB import Ui_WidgetCB +from .politiquesValidation import PolitiqueUnique +from .qtSaisie import SaisieValeur from PyQt5.QtWidgets import QComboBox, QCompleter from PyQt5.QtCore import Qt -class MonWidgetCBCommun (Feuille): +class MonWidgetCBCommun (Ui_WidgetCB,Feuille): def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) self.politique=PolitiqueUnique(self.node,self.editor) self.determineChoix() self.setValeursApresBouton() - self.CBChoix.currentIndexChanged.connect(self.choixSaisi) + self.CBChoix.currentIndexChanged.connect(self.ChoixSaisi) #self.CBChoix.lineEdit().setText(tr("Select")) self.parentQt.commandesLayout.insertWidget(-1,self) self.maCommande.listeAffichageWidget.append(self.CBChoix) @@ -52,18 +52,17 @@ class MonWidgetCBCommun (Feuille): def setValeursApresBouton(self): - if self.objSimp.getValeur()==None : + if self.objSimp.get_valeur()==None : self.CBChoix.setCurrentIndex(-1) #self.CBChoix.lineEdit().setStyleSheet(("QLineEdit {" " background:yellow;\n" "font: italic ;\n" " }\n" " ")) self.CBChoix.lineEdit().setText(tr("Select")) return - valeur=self.objSimp.getValeur() + valeur=self.objSimp.get_valeur() if not(type(valeur) == str) : valeur=str(valeur) self.CBChoix.setCurrentIndex(self.CBChoix.findText(valeur)) def determineChoix(self): listeChoix=[] - if self.maListeDeValeur == None : self.maListeDeValeur=[] for choix in self.maListeDeValeur: if not(type(choix) == str) : choix=str(choix) listeChoix.append(choix) @@ -73,24 +72,24 @@ class MonWidgetCBCommun (Feuille): monCompleteur.setCompletionMode(QCompleter.PopupCompletion) self.CBChoix.setCompleter(monCompleteur) - def choixSaisi(self): + def ChoixSaisi(self): self.CBChoix.lineEdit().setStyleSheet(("\n" "QLineEdit {\n" " font : italic ;\n" " background: rgb(235,235,235);\n" " }")) valeur=str(self.CBChoix.currentText()) - SaisieValeur.LEvaleurPressed(self,valeur) + SaisieValeur.LEValeurPressed(self,valeur) self.reaffiche() -class MonWidgetCB (Ui_WidgetCB, MonWidgetCBCommun): +class MonWidgetCB (MonWidgetCBCommun): def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): self.maListeDeValeur=monSimpDef.into MonWidgetCBCommun. __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) -class MonWidgetCBSD (Ui_WidgetCB,MonWidgetCBCommun): +class MonWidgetCBSD (MonWidgetCBCommun): def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - self.maListeDeValeur=node.item.getSdAvantDuBonType() + self.maListeDeValeur=node.item.get_sd_avant_du_bon_type() MonWidgetCBCommun.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) diff --git a/InterfaceQT4/monWidgetCBIntoSug.py b/InterfaceQT4/monWidgetCBIntoSug.py deleted file mode 100644 index c2e71c7a..00000000 --- a/InterfaceQT4/monWidgetCBIntoSug.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D -# -# 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. -# -# 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 -# -# Modules Python -from __future__ import absolute_import -try : - from builtins import str -except : pass - -import types,os - -# Modules Eficas -from Extensions.i18n import tr - -from .feuille import Feuille -from .politiquesValidation import PolitiqueUnique -from .qtSaisie import SaisieValeur -from desWidgetCBIntoSug import Ui_WidgetCBIntoSug - -from PyQt5.QtWidgets import QComboBox, QCompleter -from PyQt5.QtCore import Qt - -from monWidgetCB import MonWidgetCBCommun -from monWidgetIntoSug import GereAjoutDsPossible - - -class MonWidgetCBIntoSug (MonWidgetCBCommun, Ui_WidgetCBIntoSug,GereAjoutDsPossible): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - self.maListeDeValeur=monSimpDef.into - if node.item.hasIntoSug() : self.maListeDeValeur=node.item.getListePossibleAvecSug([]) - if hasattr(node.item,'suggestion') : self.maListeDeValeur+= node.item.suggestion - MonWidgetCBCommun. __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) - self.lineEditVal.returnPressed.connect(self.LEValeurAjouteDsPossible) - - def ajouteValeurPossible(self,valeur): - self.CBChoix.addItem(valeur) - # on ne sait pas si on a deja ajouté une valeur - try : self.node.item.suggestion.append(valeur) - except : self.node.item.suggestion=(valeur,) - self.lineEditVal.setText('') - self.CBChoix.setCurrentIndex(self.CBChoix.findText(valeur)); - - diff --git a/InterfaceQT4/monWidgetCBSD.py b/InterfaceQT4/monWidgetCBSD.py index 929e7426..ec635f43 100644 --- a/InterfaceQT4/monWidgetCBSD.py +++ b/InterfaceQT4/monWidgetCBSD.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -44,34 +44,34 @@ class MonWidgetCB (Ui_WidgetCB,Feuille): self.politique=PolitiqueUnique(self.node,self.editor) self.determineChoix() self.setValeursApresBouton() - self.CBChoix.currentIndexChanged.connect(self.choixSaisi) + self.CBChoix.currentIndexChanged.connect(self.ChoixSaisi) self.parentQt.commandesLayout.insertWidget(-1,self) self.maCommande.listeAffichageWidget.append(self.CBChoix) - #print self.objSimp.isOblig() + #print self.objSimp.isoblig() def setValeursApresBouton(self): - if self.objSimp.getValeur()==None : + if self.objSimp.get_valeur()==None : self.CBChoix.setCurrentIndex(-1) return - valeur=self.objSimp.getValeur() + valeur=self.objSimp.get_valeur() if not(type(valeur) == str) : valeur=str(valeur) self.CBChoix.setCurrentIndex(self.CBChoix.findText(valeur)) def determineChoix(self): - self.CBChoix.currentIndexChanged.connect(self.choixSaisi) + self.CBChoix.currentIndexChanged.connect(self.ChoixSaisi) for choix in self.monSimpDef.into: if not(type(choix) == str) : choix=str(choix) - self.CBChoix.currentIndexChanged.connect(self.choixSaisi) + self.CBChoix.currentIndexChanged.connect(self.ChoixSaisi) self.CBChoix.addItem(choix) self.CBChoix.setEditable(True) monCompleteur=QCompleter(listeChoix,self) monCompleteur.setCompletionMode(QCompleter.PopupCompletion) self.CBChoix.setCompleter(monCompleteur) - def choixSaisi(self): + def ChoixSaisi(self): valeur=str(self.CBChoix.currentText()) - SaisieValeur.LEvaleurPressed(self,valeur) + SaisieValeur.LEValeurPressed(self,valeur) self.reaffiche() diff --git a/InterfaceQT4/monWidgetCommande.py b/InterfaceQT4/monWidgetCommande.py index 98f815ad..ad2adae3 100644 --- a/InterfaceQT4/monWidgetCommande.py +++ b/InterfaceQT4/monWidgetCommande.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -54,25 +54,18 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe): Groupe.__init__(self,node,editor,None,etape.definition,etape,1,self) editor.inhibeSplitter=0 - resize=0 - if node.item.getFr() != "" : - self.labelDoc.setText(node.item.getFr()) - resize=1 - else : self.labelDoc.close() + self.frameAffichage.setMinimumHeight(20) + if node.item.get_fr() != "" : self.labelDoc.setText(node.item.get_fr()) + else : + self.labelDoc.close() + self.frameAffichage.resize(self.frameAffichage.width(),50) + #if (etape.get_type_produit()==None): self.LENom.close() + #test,mess = self.node.item.nomme_sd('ee') if not(hasattr(etape.definition,'sd_prod')) or (etape.definition.sd_prod==None): self.LENom.close() elif (hasattr(etape.definition,'sd_prod') and type(etape.definition.sd_prod)== types.FunctionType):self.LENom.close() - elif (hasattr(etape, 'sdnom')) and etape.sdnom != "sansnom" and etape.sdnom != None: - self.LENom.setText(etape.sdnom) - resize=resize*1 - else : - self.LENom.setText("") - resize=resize*1 - if resize : - nouvelleSize=self.frameAffichage.height()+60 - self.frameAffichage.setMinimumHeight(nouvelleSize) - self.frameAffichage.resize(self.frameAffichage.width(),nouvelleSize) - + elif (hasattr(etape, 'sdnom')) and etape.sdnom != "sansnom" and etape.sdnom != None: self.LENom.setText(etape.sdnom) + else : self.LENom.setText("") maPolice= QFont("Times", 10,) @@ -80,7 +73,7 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe): self.labelNomCommande.setText(tr(self.obj.nom)) - if self.editor.maConfiguration.closeAutreCommande == True : self.closeAutreCommande() + if self.editor.closeAutreCommande==True : self.closeAutreCommande() else : try : self.bCatalogue.clicked.connect(self.afficheCatalogue) @@ -88,17 +81,14 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe): self.bApres.clicked.connect(self.afficheApres) except : pass - - if hasattr(self,'LENom'): self.LENom.returnPressed.connect(self.nomChange) + self.LENom.returnPressed.connect(self.nomChange) - if self.editor.code in ['Adao','ADAO'] and self.editor.maConfiguration.closeFrameRechercheCommande==True : + if self.editor.code in ['Adao','ADAO'] and self.editor.closeFrameRechercheCommande==True : self.frameAffichage.close() - if self.editor.maConfiguration.closeFrameRechercheCommande==True : - self.closeAutreCommande() if self.editor.code in ['CARMELCND',] : self.closeAutreCommande() self.racine=self.node.tree.racine - if self.node.item.getIconName() == "ast-red-square" : self.LENom.setDisabled(True) + if self.node.item.GetIconName() == "ast-red-square" : self.LENom.setDisabled(True) self.setAcceptDrops(True) self.etablitOrdre() @@ -117,13 +107,7 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe): self.editor.splitter.addWidget(self.monOptionnel) self.editor.ajoutOptionnel() self.editor.inhibeSplitter=0 - self.monOptionnel=self.editor.widgetOptionnel self.afficheOptionnel() - spacerItem = QSpacerItem(21, 500, QSizePolicy.Expanding, QSizePolicy.Expanding) - #spacerItem = QSpacerItem(21, 20, QSizePolicy.Preferred, QSizePolicy.Preferred) - #self.commandesLayout.addItem(spacerItem) - self.verticalLayoutCommande.addItem(spacerItem) - #self.editor.restoreSplitterSizes() #print "fin init de widget Commande" @@ -220,24 +204,24 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe): nom = str(self.LENom.text()) nom = nom.strip() if nom == '' : return # si pas de nom, on ressort sans rien faire - test,mess = self.node.item.nommeSd(nom) - self.editor.afficheCommentaire(mess) + test,mess = self.node.item.nomme_sd(nom) + self.editor.affiche_commentaire(mess) #Notation scientifique if test : from .politiquesValidation import Validation validation=Validation(self.node,self.editor) - validation.ajoutDsDictReelEtape() + validation.AjoutDsDictReelEtape() def afficheOptionnel(self): # N a pas de parentQt. doit donc etre redefini - liste,liste_rouge=self.ajouteMCOptionnelDesBlocs() + liste=self.ajouteMCOptionnelDesBlocs() #print "dans afficheOptionnel", self.monOptionnel # dans le cas ou l insertion n a pas eu leiu (souci d ordre par exemple) #if self.monOptionnel == None : return self.monOptionnel.parentCommande=self self.monOptionnel.titre(self.obj.nom) - self.monGroupe=self.monOptionnel.afficheOptionnel(liste,liste_rouge,self) + self.monGroupe=self.monOptionnel.afficheOptionnel(liste,self) def focusInEvent(self,event): @@ -309,13 +293,14 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe): def setValide(self): if not(hasattr (self,'RBValide')) : return icon = QIcon() - if self.node.item.object.isValid() : icon=QIcon(self.repIcon+"/ast-green-ball.png") - else : icon=QIcon(self.repIcon+"/ast-red-ball.png") - nomIcone = self.node.item.getIconName() - if nomIcone == "ast-yellow-square" : icon=QIcon(self.repIcon+"/ast-yel-ball.png") - if nomIcone == "ast-red-square" : self.LENom.setDisabled(True) - + if self.node.item.object.isvalid() : + icon=QIcon(self.repIcon+"/ast-green-ball.png") + else : + icon=QIcon(self.repIcon+"/ast-red-ball.png") + if self.node.item.GetIconName() == "ast-yellow-square" : + icon=QIcon(self.repIcon+"/ast-yel-ball.png") self.LENom.setDisabled(False) + if self.node.item.GetIconName() == "ast-red-square" : self.LENom.setDisabled(True) self.RBValide.setIcon(icon) diff --git a/InterfaceQT4/monWidgetCommandeDeplie1Niveau.py b/InterfaceQT4/monWidgetCommandeDeplie1Niveau.py deleted file mode 100644 index 9fa4cbd1..00000000 --- a/InterfaceQT4/monWidgetCommandeDeplie1Niveau.py +++ /dev/null @@ -1,150 +0,0 @@ -# Copyright (C) 2007-2017 EDF R&D -# -# 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. -# -# 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 -# -# Modules Python -# Modules Eficas -from __future__ import absolute_import -try : - from builtins import str -except : pass -import types, os -import traceback - -from PyQt5.QtGui import QIcon -from InterfaceQT4.monWidgetCommande import MonWidgetCommande -from PyQt5.QtWidgets import QSpacerItem, QSizePolicy - -class MonWidgetCommandeDeplie1Niveau(MonWidgetCommande): -# Attention au MCLIST qui ne sont pas des MCFACT -# il faut donc surcharger un certain nb de fonction ici pour eux - - - def __init__(self,node,editor,etape): - #print ("debut de ---------------------- init de MonWidgetCommandeDeplie1Niveau ",node.item.nom) - MonWidgetCommande.__init__(self,node,editor,etape) - self.node.plieToutEtReaffiche=self.plieToutEtReaffiche - spacerItem = QSpacerItem(21, 600, QSizePolicy.Expanding, QSizePolicy.Expanding) - self.verticalLayoutCommande.addItem(spacerItem) - - def afficheMots(self): - # Attention - # Attention --> cette methode surcharge les methodes des Nodes Fils - # Attention - #print ("debut de ---------------------- ds afficheMots de MonWidgetCommandeDeplie1Niveau ",self.node.item.nom) - #traceback.print_stack() - repIcon=self.editor.appliEficas.repIcon - fichier=os.path.join(repIcon, 'deleteRondVide.png') - icon = QIcon(fichier) - for node in self.node.children: - - node.plie=True - node.setPlieChildren() - if node.appartientAUnNoeudPlie==True : continue - - node.plieToutEtReaffiche = self.plieToutEtReaffiche - node.deplieToutEtReaffiche = self.deplieToutEtReaffiche - node.affichePanneau = self.affichePanneau - node.getPanel = self.getPanel - - widget=node.getPanelGroupe(self,self.maCommande) - self.listeFocus.append(node.fenetre) - - try : - node.fenetre.RBDeplie.setCheckable(False) - node.fenetre.RBDeplie.setEnabled(False) - node.fenetre.RBDeplie.setIcon(icon) - except : pass - - if node.item.object.isMCList() : - node.setDeplie = self.setDepliePourMCList - - for c in node.children : - c.setDeplie = self.setDepliePourNode - c.plieToutEtReaffiche = self.plieToutEtReaffiche - c.deplieToutEtReaffiche = self.deplieToutEtReaffiche - c.getPanel = self.getPanel - c.affichePanneau = self.affichePanneau - try : - c.fenetre.RBDeplie.setCheckable(False) - c.fenetre.RBDeplie.setEnabled(False) - c.fenetre.RBDeplie.setIcon(icon) - except : - pass - else : - node.setDeplie=self.setDepliePourNode - - #print ("fin ------------------------ afficheMots de MonWidgetCommandeDeplie1Niveau ",self.node.item.nom) - - def afficheSuivant(self,aAfficher): - fenetre=self.node.tree.itemCourant.fenetre - fenetre.afficheSuivant(aAfficher) - - def setDepliePourNode(self): - noeudCourant=self.node.tree.itemCourant - noeudCourant.setDeplieChildren() - if self.editor.fenetreCentraleAffichee == noeudCourant.fenetre : return - noeudCourant.afficheCeNiveau() - pass - - -# -------------------------------------------- Methodes qui surchargent les noeuds fils - - def setDepliePourMCList(self): - #print ('je surcharge setDeplie pour MCList') - pass - - def setPlieChildren(self): - #print ('je surcharge setPlieChildren') - pass - - def setDeplieChildren(self): - #print ('je surcharge setDeplieChildren') - pass - - def plieToutEtReaffiche(self): - #print ('je surcharge plieToutEtReaffiche', self.node.item.nom) - pass - - def deplieToutEtReaffiche(self): - #print ('je surcharge deplieToutEtReaffiche', self.node.tree.itemCourant.item.getLabelText()) - pass - - def plieToutEtReafficheSaufItem(self): - #print ('je surcharge plieToutEtReaffiche', self.node.tree.itemCourant.item.getLabelText()) - pass - - def affichePanneau(self): - #print ('je surcharge affichePanneau', self.node.tree.itemCourant.item.getLabelText()) - node=self.node.tree.itemCourant - while ( not (hasattr(node,'fenetreIhm')) or node.treeParent.fenetreIhm != 'deplie1Niveau') : - node=node.treeParent - self.node.tree.setCurrentItem(node) - - item=node.item - if item.getLabelText()[0] == self.editor.fenetreCentraleAffichee.labelNomCommande.text(): - return - node.setDeplieChildren() - node.afficheCeNiveau() - self.editor.fenetreCentraleAffichee.labelNomCommande.setText(item.getLabelText()[0]) - self.editor.fenetreCentraleAffichee.labelDoc.setText(item.getFr()) - - - - def getPanel (self): - #print ('surcharge ds getPanel') - pass diff --git a/InterfaceQT4/monWidgetCommentaire.py b/InterfaceQT4/monWidgetCommentaire.py index 8ff4e317..56e272e2 100644 --- a/InterfaceQT4/monWidgetCommentaire.py +++ b/InterfaceQT4/monWidgetCommentaire.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -76,7 +76,7 @@ class MonWidgetCommentaire(QWidget,Ui_WidgetCommentaire,FacultatifOuOptionnel): else : self.node.tree.racine.select() def remplitTexte(self): - texte=self.node.item.getValeur() + texte=self.node.item.get_valeur() self.commentaireTE.setText(texte) if self.editor.code == "CARMELCND" and texte[0:16]=="Cree - fichier :" : self.commentaireTE.setReadOnly(True) @@ -91,7 +91,7 @@ class MonWidgetCommentaire(QWidget,Ui_WidgetCommentaire,FacultatifOuOptionnel): def TexteCommentaireEntre(self): texte=str(self.commentaireTE.toPlainText()) - self.editor.initModif() - self.node.item.setValeur(texte) - self.node.updateNodeTexte() + self.editor.init_modif() + self.node.item.set_valeur(texte) + self.node.update_node_texte() diff --git a/InterfaceQT4/monWidgetCreeParam.py b/InterfaceQT4/monWidgetCreeParam.py index a46ebddc..f692ba88 100644 --- a/InterfaceQT4/monWidgetCreeParam.py +++ b/InterfaceQT4/monWidgetCreeParam.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -40,7 +40,7 @@ class MonWidgetCreeParam(Ui_desWidgetCreeParam,QDialog): """ def __init__(self,editor, name = None,fl = 0): self.editor=editor - self.editor.afficheInfos("") + self.editor.affiche_infos("") QDialog.__init__(self,editor) self.setupUi(self) self.connecterSignaux() @@ -64,10 +64,10 @@ class MonWidgetCreeParam(Ui_desWidgetCreeParam,QDialog): return param= self.dictListe[item.text()] self.editor.nodeEnCours.lineEditVal.setText(param) - self.editor.nodeEnCours.LEvaleurPressed() + self.editor.nodeEnCours.LEValeurPressed() - def creeParametre(self): + def CreeParametre(self): nom=str(self.lineEditNom.text()) val=str(self.lineEditVal.text()) if val == "" or None : return @@ -77,11 +77,11 @@ class MonWidgetCreeParam(Ui_desWidgetCreeParam,QDialog): else : itemAvant=self.editor.tree.selectedItems()[0] param=itemAvant.addParameters(True) - param.item.setNom(nom) + param.item.set_nom(nom) #PN self.val permet d entrer du texte - param.item.setValeur(self.val) - param.updateNodeTexte() - param.updateNodeValid() + param.item.set_valeur(self.val) + param.update_node_texte() + param.update_node_valid() self.LBParam.addItem((repr(param.item.object))) self.dictListe[repr(param.item.object)] = param.item.object.nom self.lineEditVal.setText("") @@ -98,7 +98,7 @@ class MonWidgetCreeParam(Ui_desWidgetCreeParam,QDialog): exec("from math import *", contexte) jdc=self.editor.jdc if jdc == None : - self.editor.afficheInfos(tr(u"La Creation de parametre n est possible que dans un jeu de donnees"),Qt.red) + self.editor.affiche_infos(tr(u"La Creation de parametre n est possible que dans un jeu de donnees"),Qt.red) return for p in jdc.params : @@ -116,8 +116,8 @@ class MonWidgetCreeParam(Ui_desWidgetCreeParam,QDialog): monTexte="monParam='"+valString+"'" self.val="'"+valString+"'" except : - self.editor.afficheInfos(tr("Valeur incorrecte"),Qt.red) - if self.lineEditNom.text()!="" and self.dejaExistant==False : self.creeParametre() + self.editor.affiche_infos(tr("Valeur incorrecte"),Qt.red) + if self.lineEditNom.text()!="" and self.dejaExistant==False : self.CreeParametre() def lineEditNomReturnPressed(self): @@ -126,14 +126,14 @@ class MonWidgetCreeParam(Ui_desWidgetCreeParam,QDialog): if not pattern_name.match(nom) : self.lineEditNom.setText("") commentaire=nom + tr(" n est pas un identifiant correct\n ") - self.editor.afficheInfos(commentaire,Qt.red) + self.editor.affiche_infos(commentaire,Qt.red) for p in self.editor.jdc.params : if p.nom==nom : commentaire=nom + tr(" existe deja\n ") - self.editor.afficheInfos(commentaire,Qt.red) + self.editor.affiche_infos(commentaire,Qt.red) return - if self.lineEditVal.text()!="" : self.creeParametre() + if self.lineEditVal.text()!="" : self.CreeParametre() self.lineEditVal.setFocus(Qt.OtherFocusReason) diff --git a/InterfaceQT4/monWidgetDate.py b/InterfaceQT4/monWidgetDate.py index dd5964dd..cc270249 100644 --- a/InterfaceQT4/monWidgetDate.py +++ b/InterfaceQT4/monWidgetDate.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/InterfaceQT4/monWidgetFact.py b/InterfaceQT4/monWidgetFact.py index d756cb28..609d0dff 100644 --- a/InterfaceQT4/monWidgetFact.py +++ b/InterfaceQT4/monWidgetFact.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -26,7 +26,7 @@ from PyQt5.QtWidgets import QWidget from .groupe import Groupe from desWidgetFact import Ui_WidgetFact -from desWidgetFactTableau import Ui_WidgetFactTableau +#from desWidgetFactHorizon import Ui_WidgetFactHorizon from Extensions.i18n import tr # Import des panels @@ -36,23 +36,21 @@ class MonWidgetFactCommun(Groupe): def __init__(self,node,editor,parentQt,definition, obj, niveau,commande,insertIn=-1): #print "fact : ",node.item.nom Groupe.__init__(self,node,editor,parentQt, definition,obj,niveau,commande) - labeltext,fonte,couleur = self.node.item.getLabelText() + labeltext,fonte,couleur = self.node.item.GetLabelText() self.GroupBox.setText(tr(labeltext)) self.GroupBox.setTextInteractionFlags(Qt.TextSelectableByMouse) self.parentQt.commandesLayout.insertWidget(insertIn,self) + #else : self.parentQt.commandesLayout.insertWidget(0,self) self.doitAfficherOptionnel=False - min,max=obj.getMinMax() - if max < 2 and hasattr(self, 'RBPlus') : self.RBPlus.close() - if max > 1 and hasattr(self, 'RBPlus') : self.RBPlus.clicked.connect(self.ajouteMCParPB) def enterEvent(self,event): - #print "enterEvent ", self.node.item.getLabelText()[0] + #print "enterEvent ", self.node.item.GetLabelText()[0] self.doitAfficherOptionnel=True QWidget.enterEvent(self,event) QTimer.singleShot(500, self.delayAffiche) def leaveEvent(self,event): - #print "leaveEvent", self.node.item.getLabelText()[0] + #print "leaveEvent", self.node.item.GetLabelText()[0] self.doitAfficherOptionnel=False QWidget.leaveEvent(self,event) @@ -60,22 +58,10 @@ class MonWidgetFactCommun(Groupe): #print "delayAffiche, self.doitAfficherOptionnel = ", self.doitAfficherOptionnel if self.doitAfficherOptionnel and self.editor.code != "CARMELCND" :self.afficheOptionnel() - def ajouteMCParPB(self): - texteListeNom="+"+self.obj.nom - parentOuAjouter=self.parentQt - from .monWidgetBloc import MonWidgetBloc - while (parentOuAjouter and isinstance(parentOuAjouter, MonWidgetBloc)) : - parentOuAjouter=parentOuAjouter.parentQt - parentOuAjouter.ajoutMC(texteListeNom) - - class MonWidgetFact(Ui_WidgetFact,MonWidgetFactCommun): - def __init__(self,node,editor,parentQt,definition, obj, niveau,commande,insertIn=1): + def __init__(self,node,editor,parentQt,definition, obj, niveau,commande,insertIn=True): MonWidgetFactCommun.__init__(self,node,editor,parentQt, definition,obj,niveau,commande,insertIn) -#class MonWidgetFactTableau(Ui_WidgetFactTableau,MonWidgetFactCommun): -class MonWidgetFactTableau(Ui_WidgetFact,MonWidgetFactCommun): - def __init__(self,node,editor,parentQt,definition, obj, niveau,commande,insertIn=1): - MonWidgetFactCommun.__init__(self,node,editor,parentQt, definition,obj,niveau,commande,insertIn) - #print ('je passe dans FactTableau') - MonWidgetFactTableau.__init__(self,node,editor,parentQt, definition,obj,niveau,commande) +#class MonWidgetFactHorizontal(Ui_WidgetFactHorizon,MonWidgetFactCommun): +# def __init__(self,node,editor,parentQt,definition, obj, niveau,commande): +# MonWidgetFactCommun.__init__(self,node,editor,parentQt, definition,obj,niveau,commande) diff --git a/InterfaceQT4/monWidgetFactPlie.py b/InterfaceQT4/monWidgetFactPlie.py index 17d79b58..c0836c42 100644 --- a/InterfaceQT4/monWidgetFactPlie.py +++ b/InterfaceQT4/monWidgetFactPlie.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -30,9 +30,8 @@ class MonWidgetFactPlie(Ui_WidgetFactPlie,Groupe): """ def __init__(self,node,editor,parentQt,definition, obj, niveau,commande,insertIn=-1): #print "fact plie : ",node.item.nom - node.fenetreAAfficher=self Groupe.__init__(self,node,editor,parentQt, definition,obj,niveau,commande) - self.groupBox.setText(self.node.item.getLabelText()[0]) + self.groupBox.setText(self.node.item.GetLabelText()[0]) self.parentQt.commandesLayout.insertWidget(insertIn,self) def traiteClicSurLabel(self,texte): diff --git a/InterfaceQT4/monWidgetFormule.py b/InterfaceQT4/monWidgetFormule.py index f1add2f1..50a21468 100644 --- a/InterfaceQT4/monWidgetFormule.py +++ b/InterfaceQT4/monWidgetFormule.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -68,7 +68,7 @@ class MonWidgetFormule(QWidget,Ui_WidgetFormule,FacultatifOuOptionnel): self.bAvant.clicked.connect(self.afficheAvant) self.bApres.clicked.connect(self.afficheApres) self.LENom.returnPressed.connect(self.nomChange) - self.LENomFormule.returnPressed.connect(self.nomFormuleSaisi) + self.LENomFormule.returnPressed.connect(self.NomFormuleSaisi) self.LENomsArgs.returnPressed.connect(self.argsSaisis) self.LECorpsFormule.returnPressed.connect(self.FormuleSaisie) @@ -85,11 +85,11 @@ class MonWidgetFormule(QWidget,Ui_WidgetFormule,FacultatifOuOptionnel): def setValeurs(self): - self.LENomFormule.setText(self.node.item.getNom()) - self.LECorpsFormule.setText(self.node.item.getCorps()) + self.LENomFormule.setText(self.node.item.get_nom()) + self.LECorpsFormule.setText(self.node.item.get_corps()) texte_args="" - if self.node.item.getArgs() != None : - for i in self.node.item.getArgs() : + if self.node.item.get_args() != None : + for i in self.node.item.get_args() : if texte_args != "" : texte_args = texte_args +"," texte_args=texte_args + i self.LENomsArgs.setText(texte_args) @@ -98,7 +98,7 @@ class MonWidgetFormule(QWidget,Ui_WidgetFormule,FacultatifOuOptionnel): def nomChange(self): nom = str(self.LENom.text()) self.LENomFormule.setText(nom) - self.nomFormuleSaisi() + self.NomFormuleSaisi() def afficheCatalogue(self): @@ -116,26 +116,26 @@ class MonWidgetFormule(QWidget,Ui_WidgetFormule,FacultatifOuOptionnel): def setValide(self): if not(hasattr (self,'RBValide')) : return icon = QIcon() - if self.node.item.object.isValid() : + if self.node.item.object.isvalid() : icon=QIcon(self.repIcon+"/ast-green-ball.png") else : icon=QIcon(self.repIcon+"/ast-red-ball.png") - if self.node.item.getIconName() == "ast-yellow-square" : + if self.node.item.GetIconName() == "ast-yellow-square" : icon=QIcon(self.repIcon+"/ast-yel-ball.png") self.RBValide.setIcon(icon) - def nomFormuleSaisi(self): + def NomFormuleSaisi(self): nomFormule = str(self.LENomFormule.text()) if nomFormule == '' : return self.LENom.setText(nomFormule) - test,erreur = self.node.item.verifNom(nomFormule) + test,erreur = self.node.item.verif_nom(nomFormule) if test : commentaire=nomFormule+tr(" est un nom valide pour une FORMULE") - self.editor.afficheInfos(commentaire) + self.editor.affiche_infos(commentaire) else : commentaire=nomFormule+tr(" n'est pas un nom valide pour une FORMULE") - self.editor.afficheInfos(commentaire,Qt.red) + self.editor.affiche_infos(commentaire,Qt.red) return if str(self.LENomsArgs.text()) != "" and str(self.LECorpsFormule.text())!= "" : self.BOkPressedFormule() self.LENomsArgs.setFocus(7) @@ -143,13 +143,13 @@ class MonWidgetFormule(QWidget,Ui_WidgetFormule,FacultatifOuOptionnel): def argsSaisis(self): arguments = str(self.LENomsArgs.text()) if arguments == '' : return - test,erreur = self.node.item.verifArguments(arguments) + test,erreur = self.node.item.verif_arguments(arguments) if test: commentaire=tr("Argument(s) valide(s) pour une FORMULE") - self.editor.afficheInfos(commentaire) + self.editor.affiche_infos(commentaire) else: commentaire=tr("Argument(s) invalide(s) pour une FORMULE") - self.editor.afficheInfos(commentaire,Qt.red) + self.editor.affiche_infos(commentaire,Qt.red) if str(self.LECorpsFormule.text()) != "" and str(self.LENomFormule.text())!= "" : self.BOkPressedFormule() self.LECorpsFormule.setFocus(7) @@ -158,47 +158,50 @@ class MonWidgetFormule(QWidget,Ui_WidgetFormule,FacultatifOuOptionnel): arguments = str(self.LENomsArgs.text()) expression = str(self.LECorpsFormule.text()) if expression == '' : return - test,erreur = self.node.item.verifFormule_python((nomFormule,"REEL",arguments,expression)) + test,erreur = self.node.item.verif_formule_python((nomFormule,"REEL",arguments,expression)) if test: commentaire=tr("Corps de FORMULE valide") - self.editor.afficheInfos(commentaire) + self.editor.affiche_infos(commentaire) else: commentaire=tr("Corps de FORMULE invalide") - self.editor.afficheInfos(commentaire,Qt.red) + self.editor.affiche_infos(commentaire,Qt.red) if str(self.LENomsArgs.text()) != "" and str(self.LENomFormule.text())!= "" : self.BOkPressedFormule() def BOkPressedFormule(self): #print dir(self) - #if self.parent.modified == 'n' : self.parent.initModif() + #if self.parent.modified == 'n' : self.parent.init_modif() nomFormule = str(self.LENomFormule.text()) - test,erreur = self.node.item.verifNom(nomFormule) + test,erreur = self.node.item.verif_nom(nomFormule) if not test : - self.editor.afficheInfos(erreur,Qt.red) + self.editor.affiche_infos(erreur,Qt.red) return arguments = str(self.LENomsArgs.text()) - test,erreur = self.node.item.verifArguments(arguments) + test,erreur = self.node.item.verif_arguments(arguments) if not test : - self.editor.afficheInfos(erreur,Qt.red) + self.editor.affiche_infos(erreur,Qt.red) return expression = str(self.LECorpsFormule.text()) - test,erreur = self.node.item.verifFormule_python((nomFormule,"REEL",arguments,expression)) + test,erreur = self.node.item.verif_formule_python((nomFormule,"REEL",arguments,expression)) if not test : - self.editor.afficheInfos(erreur,Qt.red) + self.editor.affiche_infos(erreur,Qt.red) return - test=self.node.item.object.updateFormulePython(formule=(nomFormule,"REEL",arguments,expression)) - test,erreur = self.node.item.saveFormule(nomFormule,"REEL",arguments,expression) + test=self.node.item.object.update_formule_python(formule=(nomFormule,"REEL",arguments,expression)) + test,erreur = self.node.item.save_formule(nomFormule,"REEL",arguments,expression) if test : + #self.node.update_texte() + #self.node.update_label() + #self.node.update_node() self.node.onValid() self.node.update_valid() commentaire = "Formule saisie" - self.editor.afficheInfos(commentaire) + self.editor.affiche_infos(commentaire) else: commentaire ="Formule incorrecte : " + erreur - self.editor.afficheInfos(commentaire,Qt.red) - self.editor.initModif() + self.editor.affiche_infos(commentaire,Qt.red) + self.editor.init_modif() diff --git a/InterfaceQT4/monWidgetHeure.py b/InterfaceQT4/monWidgetHeure.py index 8587fb12..6c9bec6a 100644 --- a/InterfaceQT4/monWidgetHeure.py +++ b/InterfaceQT4/monWidgetHeure.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/InterfaceQT4/monWidgetInactif.py b/InterfaceQT4/monWidgetInactif.py index ba8696db..3590c42b 100644 --- a/InterfaceQT4/monWidgetInactif.py +++ b/InterfaceQT4/monWidgetInactif.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/InterfaceQT4/monWidgetInfo.py b/InterfaceQT4/monWidgetInfo.py index 0bfc2dd5..f46757ac 100644 --- a/InterfaceQT4/monWidgetInfo.py +++ b/InterfaceQT4/monWidgetInfo.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -38,7 +38,7 @@ class MonWidgetInfo (Ui_WidgetInformative,QWidget): def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): QWidget.__init__(self,None) self.setupUi(self) - valeur=node.item.getValeur() + valeur=node.item.get_valeur() self.lineEditVal.setText(str(valeur)) self.lineEditVal.setReadOnly(True) parentQt.commandesLayout.insertWidget(-1,self) diff --git a/InterfaceQT4/monWidgetIntoSug.py b/InterfaceQT4/monWidgetIntoSug.py index afb8f74a..146c6abb 100644 --- a/InterfaceQT4/monWidgetIntoSug.py +++ b/InterfaceQT4/monWidgetIntoSug.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -38,30 +38,7 @@ from Extensions.i18n import tr from desWidgetIntoSug import Ui_WidgetIntoSug from monWidgetPlusieursInto import MonWidgetPlusieursInto -class GereAjoutDsPossible: - def LEValeurAjouteDsPossible(self): - text=str(self.lineEditVal.text()) - if text == "" : return - # il faudrait essauer d en obtenir un reel, un tuple ou ... - # si cela est utilise pour autre chose que Telemac - # tout devrait etre fait ici - if not isinstance(text,str) : - self.lineEditVal.setText("") - return - if self.node.item.hasIntoSug() : - self.maListeDeValeur=list(self.node.item.getListePossibleAvecSug([])) - self.maListeDeValeur.insert(0,text) - else : - try : - self.monSimpDef.intoSug.insert(0,text) - except : - self.monSimpDef.intoSug=list(self.monSimpDef.intoSug) - self.monSimpDef.intoSug.insert(0,text) - # selon si on est une liste ou un combo - try : self.ajouteValeurPossible(text) - except : self.setValeurs() - -class MonWidgetIntoSug (Ui_WidgetIntoSug, MonWidgetPlusieursInto,GereAjoutDsPossible): +class MonWidgetIntoSug (Ui_WidgetIntoSug, MonWidgetPlusieursInto): # Attention Attention # cette wdget ne fonctionne actuellement que pour Telemac # on attend du texte . on n essaye pas de transformer @@ -71,3 +48,14 @@ class MonWidgetIntoSug (Ui_WidgetIntoSug, MonWidgetPlusieursInto,GereAjoutDsPoss MonWidgetPlusieursInto.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) self.lineEditVal.returnPressed.connect(self.LEValeurAjouteDsPossible) + def LEValeurAjouteDsPossible(self): + text=str(self.lineEditVal.text()) + if text == "" : return + # il faudrait essauer d en obtenir un reel, un tuple ou ... + # si cela est utilise pour autre chose que Telemac + if not isinstance(text,str) : + self.lineEditVal.setText("") + print ('jkjkl') + return + self.monSimpDef.intoSug.insert(0,text) + self.setValeurs() diff --git a/InterfaceQT4/monWidgetMatrice.py b/InterfaceQT4/monWidgetMatrice.py index 0acfb209..d62f453c 100644 --- a/InterfaceQT4/monWidgetMatrice.py +++ b/InterfaceQT4/monWidgetMatrice.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -36,10 +36,9 @@ from desWidgetMatrice import Ui_desWidgetMatrice from six.moves import range from PyQt5.QtCore import QSize, Qt -from PyQt5.QtWidgets import QTableWidgetItem +from PyQt5.QtWidgets import QTableWidgetItem, QMessageBox from PyQt5.QtGui import QIcon - class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille): # c est juste la taille des differents widgets de base qui change @@ -52,7 +51,7 @@ class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille): self.nomVariables={} self.creeColonnes() self.connecterSignaux() - if self.node.item.getValeur()== None: self.initialSsValeur() + if self.node.item.get_valeur()== None: self.initialSsValeur() else : try : self.initialValeur() except : self.initialSsValeur() @@ -76,7 +75,7 @@ class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille): def afficheEntete(self): self.objSimp.changeEnteteMatrice() self.TBMatrice.clear() - if self.node.item.getValeur()== None: self.initialSsValeur() + if self.node.item.get_valeur()== None: self.initialSsValeur() else : try : self.initialValeur() except : self.initialSsValeur() @@ -84,7 +83,7 @@ class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille): self.node.item.object.parent.state='changed' self.setValide() self.parentQt.setValide() - self.node.item.jdc.isValid() + self.node.item.jdc.isvalid() def itemChanged(self): @@ -92,28 +91,27 @@ class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille): if monItem==None : return texte=monItem.text() if texte=="" : return - #try : - if 1 : - val=float(str(texte)) - ok=True - #except : - else : - ok=False + try : + val=float(texte) + ok=True + except : + ok=False + #val,ok=str(texte).toDouble() if ok == False : - self.editor.afficheInfos(tr("Entrer un float SVP"),Qt.red) + self.editor.affiche_infos(tr("Entrer un float SVP"),Qt.red) monItem.setText("") return if self.monType.valSup != None : if val > self.monType.valSup : - self.editor.afficheInfos(tr("Entrer un float inferieur a ") + repr(self.monType.valSup),Qt.red) + self.editor.affiche_infos(tr("Entrer un float inferieur a ") + repr(self.monType.valSup),Qt.red) monItem.setText("") return if self.monType.valMin != None : if val < self.monType.valMin : - self.editor.afficheInfos(tr("Entrer un float superieur a ") + repr(self.monType.valMin),Qt.red) + self.editor.affiche_infos(tr("Entrer un float superieur a ") + repr(self.monType.valMin),Qt.red) monItem.setText("") return - self.editor.afficheInfos("") + self.editor.affiche_infos("") if self.monType.structure != None: MonWidgetMatrice.__dict__[self.monType.structure](*(self,)) self.acceptVal() @@ -140,10 +138,10 @@ class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille): self.nbCols=self.monType.nbCols - def nbDeVariables(self): + def NbDeVariables(self): jdc=self.node.item.object.jdc etape=self.node.item.object.etape - self.listeVariables=jdc.getVariables(etape) + self.listeVariables=jdc.get_variables(etape) if self.listeVariables == [] : QMessageBox.critical( self, tr("Mauvaise Commande "),tr( "Aucune variable connue")) return @@ -152,10 +150,10 @@ class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille): self.nbLigs=len(self.listeVariables) self.nbCols=len(self.listeVariables) - def nNbDeDistributions(self): + def NbDeDistributions(self): jdc=self.node.item.object.jdc etape=self.node.item.object.etape - self.listeVariables=jdc.getDistributions(etape) + self.listeVariables=jdc.get_distributions(etape) if self.listeVariables == [] : QMessageBox.critical( self, tr("Mauvaise Commande "),tr( "Aucune variable connue")) return @@ -181,7 +179,7 @@ class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille): self.TBMatrice.setHorizontalHeaderLabels(header) def initialValeur(self): - liste=self.node.item.getValeur() + liste=self.node.item.get_valeur() dejaAffiche=0 if (len(liste)) != self.nbLigs +1 : QMessageBox.critical( self,tr( "Mauvaise dimension de matrice"),tr( "le nombre de ligne n est pas egal a ") + str(self.nbLigs)) @@ -214,14 +212,14 @@ class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille): monItem=self.TBMatrice.item(i,j) texte=monItem.text() try : - val=float(str(texte)) + val=float(texte) ok=True except : - ok=False + ok=False #val,ok=texte.toDouble() if ok == False : QMessageBox.critical( self, tr("Mauvaise Valeur"),tr( "l element ") + str(i) + "," +str(j) +tr("n est pas correct")) listeCol.append(val) liste.append(listeCol) # on ajoute l ordre des variables aux valeurs - self.node.item.setValeur(liste) + self.node.item.set_valeur(liste) diff --git a/InterfaceQT4/monWidgetNiveauFact.py b/InterfaceQT4/monWidgetNiveauFact.py deleted file mode 100644 index 236ab677..00000000 --- a/InterfaceQT4/monWidgetNiveauFact.py +++ /dev/null @@ -1,180 +0,0 @@ -# Copyright (C) 2007-2017 EDF R&D -# -# 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. -# -# 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 -# -# Modules Python -# Modules Eficas - -from __future__ import absolute_import -try : - from builtins import str -except : pass - -import types - -from desWidgetNiveauFact import Ui_WidgetNiveauFact -from InterfaceQT4.monWidgetOptionnel import MonWidgetOptionnel -from InterfaceQT4.groupe import Groupe - -from PyQt5.QtWidgets import QWidget -from PyQt5.QtGui import QIcon - - -from Extensions.i18n import tr -import Accas -import os - - -# Import des panels - -class MonWidgetNiveauFact(Ui_WidgetNiveauFact,Groupe): - """ - """ - def __init__(self,node,editor,definition,obj): - self.listeAffichageWidget=[] - self.listeBoutonAChanger=[] - Groupe.__init__(self,node,editor,None,definition,obj,1,self) - from InterfaceQT4 import composimp - if isinstance(self.node ,composimp.Node): - widget=self.node.getPanelGroupe(self,self.maCommande) - self.listeBoutonAChanger.append(widget.RBValide) - self.afficheOptionnel() - self.inhibe=False - self.labelDoc.setText(self.node.item.getFr()) - self.labelNomCommande.setText(self.node.item.getLabelText()[0]) - - def reaffiche(self,nodeAVoir=None): - self.node.setDeplieChildren() - self.node.afficheCeNiveau() - self.editor.fenetreCentraleAffichee.labelDoc.setText(self.node.item.getFr()) - self.editor.fenetreCentraleAffichee.labelNomCommande.setText(self.node.item.getLabelText()[0]) - - def getPanel(self): - # necessaire pour handleOnItem de browser.py - # non appele - pass - - def donnePremier(self): - #print "dans donnePremier" - QApplication.processEvents() - if self.listeAffichageWidget != [] : - self.listeAffichageWidget[0].setFocus(7) - QApplication.processEvents() - #print self.focusWidget() - - - def focusNextPrevChild(self, next): - # on s assure que ce n est pas un chgt de fenetre - #print "je passe dans focusNextPrevChild" - if self.editor.fenetreCentraleAffichee != self : return True - f=self.focusWidget() - - if f not in self.listeAffichageWidget : - i=0 - while not hasattr (f,'AAfficher') : - if f==None :i=-1; break - f=f.parentWidget() - if hasattr(f,'AAfficher') : f=f.AAfficher - if i != -1 : i=self.listeAffichageWidget.index(f) - else :i=self.listeAffichageWidget.index(f) - if (i==len(self.listeAffichageWidget) -1) and next and not self.inhibe: - try : - self.listeAffichageWidget[1].setFocus(7) - w=self.focusWidget() - self.inhibe=1 - w.focusPreviousChild() - self.inhibe=0 - return True - except : pass - - if i==0 and next==False and not self.inhibe: - if hasattr(self.editor.fenetreCentraleAffichee,'scrollArea'): - self.editor.fenetreCentraleAffichee.scrollArea.ensureWidgetVisible(self.listeAffichageWidget[-1]) - self.listeAffichageWidget[-2].setFocus(7) - self.inhibe=1 - w=self.focusWidget() - w.focusNextChild() - self.inhibe=0 - return True - - if i==0 and next==True and not self.inhibe: - self.listeAffichageWidget[0].setFocus(7) - self.inhibe=1 - w=self.focusWidget() - w.focusNextChild() - self.inhibe=0 - return True - - if i>0 and next==False and not self.inhibe: - if isinstance(self.listeAffichageWidget[i-1],QRadioButton): - self.listeAffichageWidget[i-1].setFocus(7) - return True - return QWidget.focusNextPrevChild(self, next) - - def etablitOrdre(self): - # si on boucle on perd l'ordre - i=0 - while(i +1 < len(self.listeAffichageWidget)): - self.setTabOrder(self.listeAffichageWidget[i],self.listeAffichageWidget[i+1]) - i=i+1 - - def afficheSuivant(self,f): - #print ('ds afficheSuivant') - try : - i=self.listeAffichageWidget.index(f) - next=i+1 - except : - next=1 - if (next==len(self.listeAffichageWidget) ): next =0 - try : - self.listeAffichageWidget[next].setFocus(7) - except : - pass - - - def afficheOptionnel(self): - # N a pas de parentQt. doit donc etre redefini - #print ('ds afficheOptionnel') - if self.editor.widgetOptionnel!= None : - self.monOptionnel=self.editor.widgetOptionnel - else : - self.editor.inhibeSplitter=1 - self.monOptionnel=MonWidgetOptionnel(self.editor) - self.editor.widgetOptionnel=self.monOptionnel - self.editor.splitter.addWidget(self.monOptionnel) - self.editor.ajoutOptionnel() - self.editor.inhibeSplitter=0 - self.monOptionnel.vireTous() - - - liste,liste_rouge=self.ajouteMCOptionnelDesBlocs() - self.monOptionnel.parentCommande=self - self.monOptionnel.titre(self.obj.nom) - self.monGroupe=self.monOptionnel.afficheOptionnel(liste,liste_rouge,self) - - def setValide(self): - Groupe.setValide(self) - for bouton in self.listeBoutonAChanger: - couleur=self.node.item.getIconName() - monIcone = QIcon(self.repIcon+"/" + couleur + ".png") - bouton.setIcon(monIcone) - -class MonWidgetNiveauFactTableau(MonWidgetNiveauFact): - def __init__(self,node,editor,definition,obj): - MonWidgetNiveauFact.__init__(self,node,editor,definition,obj) - - diff --git a/InterfaceQT4/monWidgetOptionnel.py b/InterfaceQT4/monWidgetOptionnel.py index 904e5841..03dad522 100644 --- a/InterfaceQT4/monWidgetOptionnel.py +++ b/InterfaceQT4/monWidgetOptionnel.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -37,39 +37,31 @@ class MonWidgetOptionnel (QWidget,Ui_WidgetOptionnel): self.dicoMCWidgetOptionnel={} self.parentQt=parentQt - def afficheOptionnel(self,liste,liste_rouge,MC): + def afficheOptionnel(self,liste,MC): #print ('afficheOptionnel MonWidgetOptionnel', self,liste,MC) + #import traceback + #traceback.print_stack() self.vireLesAutres(MC) - if MC.node.item.nom in self.dicoMCWidgetOptionnel : - #print (MC.node.item.nom) self.dicoMCWidgetOptionnel[MC.node.item.nom].close() self.dicoMCWidgetOptionnel[MC.node.item.nom].setParent(None) self.dicoMCWidgetOptionnel[MC.node.item.nom].deleteLater() - del self.dicoMCWidgetOptionnel[MC.node.item.nom] - if liste==[] : return - groupe = MonGroupeOptionnel(liste,liste_rouge,self,MC) + groupe = MonGroupeOptionnel(liste,self,MC) self.groupesOptionnelsLayout.insertWidget(0,groupe) self.dicoMCWidgetOptionnel[MC.node.item.nom]=groupe return groupe def vireLesAutres(self,MC): #print( "je passe dans vireLesAutres") - genea =MC.obj.getGenealogie() + genea =MC.obj.get_genealogie() #print (genea) for k in list(self.dicoMCWidgetOptionnel.keys()): - #print (k) #if k not in genea : print ( k) if k not in genea : self.dicoMCWidgetOptionnel[k].close() del self.dicoMCWidgetOptionnel[k] #print( "fin vireLesAutres") - def vireTous(self): - for k in list(self.dicoMCWidgetOptionnel.keys()): - self.dicoMCWidgetOptionnel[k].close() - del self.dicoMCWidgetOptionnel[k] - def afficheOptionnelVide(self): self.GeneaLabel.setText("") for k in list(self.dicoMCWidgetOptionnel.keys()): @@ -77,10 +69,10 @@ class MonWidgetOptionnel (QWidget,Ui_WidgetOptionnel): del self.dicoMCWidgetOptionnel[k] def titre(self,MC): - if self.parentCommande.node.editor.code in ['Adao','ADAO'] and self.parentCommande.node.editor.maConfiguration.closeFrameRechercheCommande==True : + if self.parentCommande.node.editor.code in ['Adao','ADAO'] and self.parentCommande.node.editor.closeFrameRechercheCommande==True : self.frameLabelCommande.close() return - labeltext,fonte,couleur = self.parentCommande.node.item.getLabelText() + labeltext,fonte,couleur = self.parentCommande.node.item.GetLabelText() l=tr(labeltext) li=[] while len(l) > 25: diff --git a/InterfaceQT4/monWidgetParam.py b/InterfaceQT4/monWidgetParam.py index 287e5ee1..6d6622af 100644 --- a/InterfaceQT4/monWidgetParam.py +++ b/InterfaceQT4/monWidgetParam.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -54,7 +54,7 @@ class MonWidgetParam(QWidget,Ui_WidgetParam,FacultatifOuOptionnel): self.repIcon=self.appliEficas.repIcon self.setIconePoubelle() - if not(self.node.item.object.isValid()) : + if not(self.node.item.object.isvalid()) : icon=QIcon(self.repIcon+"/ast-red-ball.png") self.RBValide.setIcon(icon) @@ -63,7 +63,7 @@ class MonWidgetParam(QWidget,Ui_WidgetParam,FacultatifOuOptionnel): if self.editor.code in ['MAP','CARMELCND'] : self.bCatalogue.close() else : self.bCatalogue.clicked.connect(self.afficheCatalogue) - self.lineEditVal.returnPressed.connect(self.LEvaleurPressed) + self.lineEditVal.returnPressed.connect(self.LEValeurPressed) self.lineEditNom.returnPressed.connect(self.LENomPressed) self.bAvant.clicked.connect(self.afficheAvant) self.bApres.clicked.connect(self.afficheApres) @@ -78,10 +78,10 @@ class MonWidgetParam(QWidget,Ui_WidgetParam,FacultatifOuOptionnel): else : self.node.tree.racine.select() def remplit(self): - nom=self.node.item.getNom() + nom=self.node.item.get_nom() self.lineEditNom.setText(nom) - valeur=self.node.item.getValeur() + valeur=self.node.item.get_valeur() if valeur == None : self.lineEditVal.clear() elif type(valeur) == list : @@ -97,17 +97,17 @@ class MonWidgetParam(QWidget,Ui_WidgetParam,FacultatifOuOptionnel): def donnePremier(self): self.lineEditVal.setFocus(7) - def LEvaleurPressed(self): + def LEValeurPressed(self): if self.verifiePressed() == False : QMessageBox.warning( self,tr( "Modification Impossible"),tr( "le parametre n'est pas valide")) nom=str(self.lineEditNom.text()) val=str(self.lineEditVal.text()) - self.node.item.setNom(nom) - self.node.item.setValeur(val) - self.node.updateTexte() + self.node.item.set_nom(nom) + self.node.item.set_valeur(val) + self.node.update_texte() def LENomPressed(self): - self.LEvaleurPressed() + self.LEValeurPressed() def verifiePressed(self): nomString=str(self.lineEditNom.text()) @@ -119,7 +119,7 @@ class MonWidgetParam(QWidget,Ui_WidgetParam,FacultatifOuOptionnel): contexte={} exec("from math import *", contexte) - jdc=self.node.item.getJdc() + jdc=self.node.item.get_jdc() for p in jdc.params : try: tp=p.nom+'='+str(repr(p.valeur)) diff --git a/InterfaceQT4/monWidgetPlusieursASSDIntoOrdonne.py b/InterfaceQT4/monWidgetPlusieursASSDIntoOrdonne.py index 3498fe85..24e6e499 100644 --- a/InterfaceQT4/monWidgetPlusieursASSDIntoOrdonne.py +++ b/InterfaceQT4/monWidgetPlusieursASSDIntoOrdonne.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -39,7 +39,7 @@ from PyQt5.QtWidgets import QScrollBar class MonWidgetPlusieursASSDIntoOrdonne (MonWidgetPlusieursIntoOrdonne): def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - self.numLineEditEnCours=0 + self.NumLineEditEnCours=0 MonWidgetPlusieursIntoOrdonne.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) @@ -48,7 +48,7 @@ class MonWidgetPlusieursASSDIntoOrdonne (MonWidgetPlusieursIntoOrdonne): for i in self.listeLE: i.close() self.listeLE=[] self.vScrollBar = self.scrollArea.verticalScrollBar() - self.listeAAfficher = self.node.item.getSdAvantDuBonType() + self.listeAAfficher = self.node.item.get_sd_avant_du_bon_type() if len(self.listeAAfficher) == 0 : self.ajoutLE(0) diff --git a/InterfaceQT4/monWidgetPlusieursBase.py b/InterfaceQT4/monWidgetPlusieursBase.py index 486ae7d5..7cdda4e8 100644 --- a/InterfaceQT4/monWidgetPlusieursBase.py +++ b/InterfaceQT4/monWidgetPlusieursBase.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -29,19 +29,19 @@ import types,os,sys from six.moves import range from PyQt5.QtGui import QIcon -from PyQt5.QtWidgets import QApplication, QMessageBox, QScrollArea +from PyQt5.QtWidgets import QApplication, QMessageBox from PyQt5.QtCore import QTimer, QSize, Qt # Modules Eficas from Extensions.i18n import tr -from InterfaceQT4.feuille import Feuille -from desWidgetPlusieursBase import Ui_WidgetPlusieursBase -from InterfaceQT4.politiquesValidation import PolitiquePlusieurs -from InterfaceQT4.qtSaisie import SaisieValeur -from InterfaceQT4.gereListe import GereListe -from InterfaceQT4.gereListe import GerePlie -from InterfaceQT4.gereListe import LECustom +from .feuille import Feuille +from desWidgetPlusieursBase import Ui_WidgetPlusieursBase +from .politiquesValidation import PolitiquePlusieurs +from .qtSaisie import SaisieValeur +from .gereListe import GereListe +from .gereListe import GerePlie +from .gereListe import LECustom dicoLongueur={2:95,3:125,4:154,5:183,6:210,float('inf'):210} hauteurMax=253 @@ -54,7 +54,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie) self.nomLine="lineEditVal" self.inInit=True self.indexDernierLabel=0 - self.numLineEditEnCours=0 + self.NumLineEditEnCours=0 self.listeAffichageWidget=[] Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) GereListe.__init__(self) @@ -82,7 +82,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie) self.RBVoisListe.setIcon(icon) - self.listeValeursCourantes=self.node.item.getListeValeurs() + self.listeValeursCourantes=self.node.item.GetListeValeurs() if self.monSimpDef.max != "**" and self.monSimpDef.max < 7: hauteurMax=dicoLongueur[self.monSimpDef.max] else : @@ -95,9 +95,6 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie) self.maCommande.listeAffichageWidget.append(self.lineEditVal1) self.AAfficher=self.lineEditVal1 self.inInit=False - # PNPN a completer __ si tuple le type des tuples sinon le tuple - self.monCommentaireLabel.setText(self.finCommentaireListe()) - self.scrollArea.leaveEvent = self.leaveEventScrollArea def setValeurs(self): @@ -112,10 +109,10 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie) self.ajoutLineEdit() QApplication.processEvents() self.scrollArea.ensureWidgetVisible(self.lineEditVal1) - self.listeValeursCourantes=self.node.item.getListeValeurs() + self.listeValeursCourantes=self.node.item.GetListeValeurs() index=1 for valeur in self.listeValeursCourantes : - val=self.politique.getValeurTexte(valeur) + val=self.politique.GetValeurTexte(valeur) nomLineEdit="lineEditVal"+str(index) if hasattr(self,nomLineEdit) : courant=getattr(self,nomLineEdit) @@ -152,6 +149,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie) # deux lignes pour que le ensureVisible fonctionne self.estVisible=nouveauLE if self.inInit==False :QTimer.singleShot(1, self.rendVisibleLigne) + #if donneLeFocus==True : nouveauLE.setFocus() def etablitOrdre(self): i=0 @@ -178,12 +176,12 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie) if liste ==[] : return listeVal=[] for valeur in self.listeValeursCourantes : listeVal.append(valeur) - validite,comm,comm2,listeRetour=self.politique.ajoutValeurs(liste,-1,listeVal) + validite,comm,comm2,listeRetour=self.politique.AjoutValeurs(liste,-1,listeVal) if (comm2 != "" and comm != None) : return comm2 if validite : self.listeValeursCourantes=self.listeValeursCourantes+listeRetour if len(self.listeValeursCourantes) > self.monSimpDef.min : - self.node.item.setValeur(self.listeValeursCourantes) + self.node.item.set_valeur(self.listeValeursCourantes) self.reaffiche() return None else : @@ -193,47 +191,28 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie) # A priori, on ne fait rien pass - - def ajoutNValeur(self,liste): - #---------------------------- - # attention quand on charge par un fichier, on ne peut pas se contenter d ajouter N fois 1 valeur - # car alors le temps de verification devient prohibitif reconstructu=ion et verification a - # chaque valeur. d ou l ajout de ajoutNTuple a politique plusieurs - - - listeFormatee=list(liste) - - min,max=self.node.item.getMinMax() - if self.objSimp.valeur == None : listeComplete=listeFormatee - else : listeComplete =self.objSimp.valeur + listeFormatee - - if len(listeComplete) > max : - texte=tr("Nombre maximum de valeurs ")+str(max)+tr(" atteint") - self.editor.afficheInfos(texte,Qt.red) - return - - validite,comm,comm2,listeRetour= self.politique.ajoutNTuple(listeComplete) - if not validite : - self.editor.affiche_infos(texte,Qt.red) - return - - # on calcule le dernier lineedit rempli avant de changer la valeur - if self.objSimp.valeur != None : indexDernierRempli=len(self.objSimp.valeur) - else : indexDernierRempli=0 - - self.politique.recordValeur(listeComplete) - - indexDernierRempli=0 - while ( indexDernierRempli < len(liste) ) : - texte=liste[indexDernierRempli] - if indexDernierRempli < self.indexDernierLabel: - nomLineEdit="lineEditVal"+str(indexDernierRempli+1) + def ajoutNValeur(self,liste) : + for val in liste : + i=1 + ajoute=False + while i < self.indexDernierLabel+1: + nomLineEdit="lineEditVal"+str(i) courant=getattr(self,nomLineEdit) - courant.setText(str(texte)) - else : - self.ajoutLineEdit(texte) - indexDernierRempli = indexDernierRempli + 1 - + valeur=courant.text() + if valeur == None or valeur == "" : + ajoute=True + courant.setText(str(val)) + commentaire=self.ajout1Valeur(val) + if (commentaire != None ): + self.editor.affiche_infos(commentaire,Qt.red) + courant.setText("") + break + else : + i=i+1 + if ajoute : continue + self.ajoutLineEdit(valeur=str(val)) + self.changeValeur() + def changeValeur(self,changeDePlace=True,oblige=False): donneFocus=None @@ -266,13 +245,13 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie) if valeur != None and valeur != "" : commentaire=self.ajout1Valeur(valeur) if (commentaire != None ): - self.editor.afficheInfos(commentaire,Qt.red) + self.editor.affiche_infos(commentaire,Qt.red) courant.setText("") donneFocus=courant self.reaffiche() return else : - self.editor.afficheInfos("") + self.editor.affiche_infos("") elif donneFocus==None : donneFocus=courant nomDernierLineEdit="lineEditVal"+str(self.indexDernierLabel) @@ -285,19 +264,17 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie) elif self.indexDernierLabel < self.monSimpDef.max : self.ajoutLineEdit() if self.listeValeursCourantes == [] : return - min,max = self.node.item.getMinMax() + min,max = self.node.item.GetMinMax() if len(self.listeValeursCourantes) < self.monSimpDef.min : - self.editor.afficheInfos(tr('nb min de valeurs : ')+str( self.monSimpDef.min)) + self.editor.affiche_infos(tr('nb min de valeurs : ')+str( self.monSimpDef.min)) if len(self.listeValeursCourantes) < min and oblige==True: return if len(self.listeValeursCourantes) > max : return - retour=self.node.item.setValeur(self.listeValeursCourantes) + self.node.item.set_valeur(self.listeValeursCourantes) if len(self.listeValeursCourantes) == self.monSimpDef.max : - self.editor.afficheInfos(tr('nb max de valeurs atteint')) + self.editor.affiche_infos(tr('nb max de valeurs atteint')) self.setValide() self.reaffiche() - def leaveEventScrollArea(self,event): - self.changeValeur(changeDePlace=False) - QScrollArea.leaveEvent(self.scrollArea,event) + # Avertissement quand on quitte le widget diff --git a/InterfaceQT4/monWidgetPlusieursInto.py b/InterfaceQT4/monWidgetPlusieursInto.py index ddbc9894..d59ea8d9 100644 --- a/InterfaceQT4/monWidgetPlusieursInto.py +++ b/InterfaceQT4/monWidgetPlusieursInto.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -50,7 +50,7 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille,GerePlie,GereListe) self.alpha=0 self.listeCB=[] self.listeCbRouge=[] - self.listeValeursCourantes=node.item.getListeValeurs() + self.listeValeursCourantes=node.item.GetListeValeurs() if self.listeValeursCourantes == None : self.listeValeursCourantes=[] Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) @@ -86,14 +86,13 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille,GerePlie,GereListe) def changeTout(self,int): - #print ('changeTout') if self.inhibe : return self.inhibe=True if not(self.CBCheck.isChecked()) : - min,max = self.node.item.getMinMax() + min,max = self.node.item.GetMinMax() if max < len(self.listeAAfficher) : commentaire=tr('impossible de tout selectionner : max =')+str(max) - self.editor.afficheInfos(commentaire,Qt.red) + self.editor.affiche_infos(commentaire,Qt.red) self.inhibe=False return for i in range(len(self.listeAAfficher)): @@ -111,39 +110,38 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille,GerePlie,GereListe) self.changeValeur() def setValeurs(self): - #print ('setValeurs') - self.listeValeursCourantes =self.node.item.getValeur() + self.listeValeursCourantes =self.node.item.get_valeur() if self.listeValeursCourantes == None : self.listeValeursCourantes=[] - #print "ds set Valeur", self.listeValeursCourantes, self.node.item.getValeur() + #print "ds set Valeur", self.listeValeursCourantes, self.node.item.get_valeur() self.politique=PolitiquePlusieurs(self.node,self.editor) self.vScrollBar = self.scrollArea.verticalScrollBar() if hasattr(self.node.item.definition.validators,'set_MCSimp'): obj=self.node.item.getObject() self.node.item.definition.validators.set_MCSimp(obj) - if self.node.item.isValid() == 0 : + if self.node.item.isvalid() == 0 : liste=[] for item in self.listeValeursCourantes: - if self.node.item.definition.validators.verifItem(item)==1: + if self.node.item.definition.validators.verif_item(item)==1: liste.append(item) - self.listeAAfficher=self.node.item.getListePossible(liste) + self.listeAAfficher=self.node.item.get_liste_possible(liste) else: - self.listeAAfficher=self.node.item.getListePossible([]) + self.listeAAfficher=self.node.item.get_liste_possible([]) else : - self.listeAAfficher=self.node.item.getListePossible([]) + self.listeAAfficher=self.node.item.get_liste_possible([]) - if self.node.item.hasIntoSug() : self.listeAAfficher=self.node.item.getListePossibleAvecSug([]) + if self.node.item.has_intoSug() : self.listeAAfficher=self.node.item.get_liste_possible_avecSug([]) - if self.objSimp.waitAssd() : - self.listeAAfficher=self.node.item.getSdAvantDuBonType() + if self.objSimp.wait_assd() : + self.listeAAfficher=self.node.item.get_sd_avant_du_bon_type() if self.listeAAfficher== None or self.listeAAfficher==[] : self.listeAAfficher=[] #if len(self.listeAAfficher)*20 > 400 : self.setMinimumHeight(400) #else : self.setMinimumHeight(len(self.listeAAfficher)*30) self.PourEtreCoche=[] - if self.objSimp.waitAssd() : + if self.objSimp.wait_assd() : for concept in self.listeValeursCourantes: self.PourEtreCoche.append(concept.nom) else : for val in self.listeValeursCourantes: self.PourEtreCoche.append(val) @@ -168,7 +166,6 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille,GerePlie,GereListe) def ajoutCB(self,index,valeur=None): - #print ('ajoutCB') nomCB="lineEditVal"+str(index) if hasattr(self,nomCB) : return nouveauCB = QCheckBox(self.scrollArea) @@ -184,14 +181,13 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille,GerePlie,GereListe) def ajout1Valeur(self,valeur=None): - #print ('ajout1Valeur') if valeur == None : return liste,validite=SaisieValeur.TraiteLEValeur(self,str(valeur)) if validite == 0 : return if liste ==[] : return listeVal=[] for valeur in self.listeValeursCourantes : listeVal.append(valeur) - validite,comm,comm2,listeRetour=self.politique.ajoutValeurs(liste,-1,listeVal) + validite,comm,comm2,listeRetour=self.politique.AjoutValeurs(liste,-1,listeVal) if (comm2 != "" and comm != None) : return comm2 if validite : self.listeValeursCourantes=self.listeValeursCourantes+listeRetour @@ -202,7 +198,6 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille,GerePlie,GereListe) def changeValeur(self): - #print ('changeValeur') if self.inhibe == True: return if hasattr(self,'LEFiltre') :self.noircirResultatFiltre() self.listeValeursCourantesAvant=self.listeValeursCourantes @@ -216,26 +211,25 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille,GerePlie,GereListe) if valeur != None and valeur != "" : commentaire=self.ajout1Valeur(valeur) if (commentaire != None ): - self.editor.afficheInfos(commentaire,Qt.red) + self.editor.affiche_infos(commentaire,Qt.red) self.listeValeursCourantesAvant=self.listeValeursCourantes self.setValeurs() - min,max = self.node.item.getMinMax() + min,max = self.node.item.GetMinMax() if len(self.listeValeursCourantes) < min : - self.editor.afficheInfos(tr("Nombre minimal de valeurs : ") + str(min),Qt.red) + self.editor.affiche_infos(tr("Nombre minimal de valeurs : ") + str(min),Qt.red) elif len(self.listeValeursCourantes) > max : - self.editor.afficheInfos(tr("Nombre maximal de valeurs : ") + str(max),Qt.red) + self.editor.affiche_infos(tr("Nombre maximal de valeurs : ") + str(max),Qt.red) - if self.listeValeursCourantes== [] : self.node.item.setValeur([]) - else : self.node.item.setValeur(self.listeValeursCourantes) + if self.listeValeursCourantes== [] : self.node.item.set_valeur([]) + else : self.node.item.set_valeur(self.listeValeursCourantes) # Exception pour PSEN - if min==0 and self.listeValeursCourantes== []: self.node.item.setValeur([]) + if min==0 and self.listeValeursCourantes== []: self.node.item.set_valeur([]) self.setValide() def prepareListeResultatFiltre(self): - #print ('prepareListeResultatFiltre') filtre=str(self.LEFiltre.text()) for cb in self.listeCB: texte=cb.text() @@ -248,12 +242,10 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille,GerePlie,GereListe) self.listeCbRouge.append(cb) def prepareListeResultat(self): - #print ('prepareListeResultat') self.clearAll() self.setValeurs() def clearAll(self): - #print ('clearAll') for cb in self.listeCB : cb.setText("") diff --git a/InterfaceQT4/monWidgetPlusieursIntoOrdonne.py b/InterfaceQT4/monWidgetPlusieursIntoOrdonne.py index d7f78f30..05dca1cb 100644 --- a/InterfaceQT4/monWidgetPlusieursIntoOrdonne.py +++ b/InterfaceQT4/monWidgetPlusieursIntoOrdonne.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -56,7 +56,7 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere GereListe.__init__(self) #self.finCommentaireListe() self.gereIconePlier() - self.listeValeursCourantes=self.node.item.getListeValeurs() + self.listeValeursCourantes=self.node.item.GetListeValeurs() try : self.maCommande.listeAffichageWidget.append(self.lineEditVal1) except : @@ -91,19 +91,19 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere for i in self.listeLE: i.close() self.listeLE=[] self.vScrollBar = self.scrollArea.verticalScrollBar() - self.listeValeursCourantes=self.node.item.getListeValeurs() + self.listeValeursCourantes=self.node.item.GetListeValeurs() if hasattr(self.node.item.definition.validators,'set_MCSimp'): obj=self.node.item.getObject() self.node.item.definition.validators.set_MCSimp(obj) - if self.node.item.isValid() == 0 : + if self.node.item.isvalid() == 0 : liste=[] for item in self.listeValeursCourantes: - if self.node.item.definition.validators.verifItem(item)==1: liste.append(item) - self.listeAAfficher=self.node.item.getListePossible(liste) + if self.node.item.definition.validators.verif_item(item)==1: liste.append(item) + self.listeAAfficher=self.node.item.get_liste_possible(liste) else: - self.listeAAfficher=self.node.item.getListePossible([]) + self.listeAAfficher=self.node.item.get_liste_possible([]) else : - self.listeAAfficher=self.node.item.getListePossible(self.listeValeursCourantes) + self.listeAAfficher=self.node.item.get_liste_possible(self.listeValeursCourantes) if self.listeAAfficher==[] : self.ajoutLE(0) @@ -124,13 +124,14 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere def setValeurs(self,first=True): - self.listeValeursCourantes=self.node.item.getListeValeurs() + self.listeValeursCourantes=self.node.item.GetListeValeurs() if first : if self.monSimpDef.max == "**" or self.monSimpDef.max == float('inf') : aConstruire=7 else : aConstruire=self.monSimpDef.max if len(self.listeValeursCourantes) > aConstruire : aConstruire=len(self.listeValeursCourantes) self.indexDernierLabel = aConstruire for i in range(1,aConstruire+1): self.ajoutLEResultat(i) + else : self.indexDernierLabel= len(self.listeValeursCourantes) index=1 for val in self.listeValeursCourantes : nomLE="LEResultat"+str(index) @@ -138,12 +139,6 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere courant.setText(str(val)) courant.setReadOnly(True) index=index+1 - while (index < self.indexDernierLabel) : - nomLE="LEResultat"+str(index) - courant=getattr(self,nomLE) - courant.setText("") - courant.setReadOnly(True) - index=index+1 #self.prepareListeResultat() def moinsPushed(self): @@ -217,7 +212,7 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere setattr(self,nomLE,nouveauLE) def ajoutLineEdit(self): - print ('ajoutLineEdit') + #print ('ajoutLineEdit') self.indexDernierLabel=self.indexDernierLabel+1 self.ajoutLEResultat (self.indexDernierLabel) @@ -229,13 +224,13 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere if liste ==[] : return listeVal=[] - self.listeValeursCourantes=self.node.item.getListeValeurs() - min,max = self.node.item.getMinMax() + self.listeValeursCourantes=self.node.item.GetListeValeurs() + min,max = self.node.item.GetMinMax() if len(self.listeValeursCourantes) +1 > max : - self.editor.afficheInfos(tr("Nombre maximal de valeurs : ") + str(max),Qt.red) + self.editor.affiche_infos(tr("Nombre maximal de valeurs : ") + str(max),Qt.red) return else : - self.editor.afficheInfos("") + self.editor.affiche_infos("") affiche=False for i in range(1,self.indexDernierLabel+1): @@ -268,23 +263,23 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere liste,validite=SaisieValeur.TraiteLEValeur(self,str(valeur)) listeVal.append(str(valeur)) - validite,comm,comm2,listeRetour=self.politique.ajoutValeurs(listeVal,-1,[]) + validite,comm,comm2,listeRetour=self.politique.AjoutValeurs(listeVal,-1,[]) - self.listeValeursCourantes=self.node.item.getListeValeurs() - min,max = self.node.item.getMinMax() + self.listeValeursCourantes=self.node.item.GetListeValeurs() + min,max = self.node.item.GetMinMax() if len(self.listeValeursCourantes) < min : - self.editor.afficheInfos(tr("Nombre minimal de valeurs : ") + str(min),Qt.red) + self.editor.affiche_infos(tr("Nombre minimal de valeurs : ") + str(min),Qt.red) else : - self.editor.afficheInfos("") + self.editor.affiche_infos("") if len(listeRetour) == 0 : - self.node.item.setValeur(None) + self.node.item.set_valeur(None) elif validite : - self.node.item.setValeur(listeRetour) + self.node.item.set_valeur(listeRetour) else : commentaire=comm+" "+comm2 - self.editor.afficheInfos(commentaire,Qt.red) + self.editor.affiche_infos(commentaire,Qt.red) self.setValide() # def rendVisibleLigneRE(self): @@ -292,8 +287,5 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere self.estVisibleRE.setFocus() self.scrollArea.ensureWidgetVisible(self.estVisibleRE,0,0) # - def rendVisibleLigne(self): - self.estVisibleRE=self.estVisible - #rendVisibleLigneRE() diff --git a/InterfaceQT4/monWidgetPlusieursPlie.py b/InterfaceQT4/monWidgetPlusieursPlie.py index 389e5111..5a515f58 100644 --- a/InterfaceQT4/monWidgetPlusieursPlie.py +++ b/InterfaceQT4/monWidgetPlusieursPlie.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -48,7 +48,7 @@ class MonWidgetPlusieursPlie (Ui_WidgetPlusieursPlie,Feuille): self.parentQt.commandesLayout.insertWidget(-1,self) self.AAfficher=self.lineEditVal self.maCommande.listeAffichageWidget.append(self.lineEditVal) - if self.node.item.hasInto() : + if self.node.item.has_into() : self.lineEditVal.setReadOnly(True) self.lineEditVal.setStyleSheet("background:rgb(235,235,235);\n") self.lineEditVal.setToolTip("Ensemble discret de valeurs possibles, pas de Saisie Manuelle") @@ -62,7 +62,7 @@ class MonWidgetPlusieursPlie (Ui_WidgetPlusieursPlie,Feuille): def setValeurs(self): - self.listeValeursCourantes=self.node.item.getListeValeurs() + self.listeValeursCourantes=self.node.item.GetListeValeurs() if self.listeValeursCourantes != [] : self.lineEditVal.setText(str(self.listeValeursCourantes)) else : self.lineEditVal.setText("") self.politique=PolitiquePlusieurs(self.node,self.editor) @@ -74,11 +74,11 @@ class MonWidgetPlusieursPlie (Ui_WidgetPlusieursPlie,Feuille): def valeurEntree(self): valeurTexte=self.lineEditVal.text() - #print (valeurTexte[0]) - #print (valeurTexte[-1]) + print (valeurTexte[0]) + print (valeurTexte[-1]) if valeurTexte[0] == '[' or valeurTexte[0] == '(' : valeurTexte = valeurTexte[1:] if valeurTexte[-1] == ']' or valeurTexte[-1] == ')' : valeurTexte = valeurTexte[:-1] - #print (valeurTexte) + print (valeurTexte) listeValeursBrutes=valeurTexte.split(',') if listeValeursBrutes == [] or listeValeursBrutes == None : self.lineEditVal.setText(str(self.listeValeursCourantes)) @@ -86,20 +86,20 @@ class MonWidgetPlusieursPlie (Ui_WidgetPlusieursPlie,Feuille): listeValeur=[] for v in listeValeursBrutes: if v == None or pattern_blanc.match(v) : - self.editor.afficheInfos(str(listeValeur)+' Valeurs saisies incorrectes',Qt.red) + self.editor.affiche_infos(str(listeValeur)+' Valeurs saisies incorrectes',Qt.red) return liste,validite=SaisieValeur.TraiteLEValeur(self,str(v)) if not validite : - self.editor.afficheInfos(str(listeValeur) +' Valeurs saisies incorrectes',Qt.red) + self.editor.affiche_infos(str(listeValeur) +' Valeurs saisies incorrectes',Qt.red) return listeValeur.append(liste[0]) - validite,comm,comm2,listeRetour=self.politique.ajoutValeurs(listeValeur,-1,[]) + validite,comm,comm2,listeRetour=self.politique.AjoutValeurs(listeValeur,-1,[]) if validite : - self.node.item.setValeur(listeValeur) - self.node.item.isValid() + self.node.item.set_valeur(listeValeur) + self.node.item.isvalid() self.setValeurs() else : - self.editor.afficheInfos(str(listeValeur) + ' ' +comm,Qt.red) + self.editor.affiche_infos(str(listeValeur) + ' ' +comm,Qt.red) self.lineEditVal.setText('') class MonWidgetPlusieursPlieASSD (MonWidgetPlusieursPlie): @@ -109,7 +109,7 @@ class MonWidgetPlusieursPlieASSD (MonWidgetPlusieursPlie): self.lineEditVal.setReadOnly(True) def setValeurs(self): - self.listeValeursCourantes=self.node.item.getListeValeurs() + self.listeValeursCourantes=self.node.item.GetListeValeurs() self.politique=PolitiquePlusieurs(self.node,self.editor) if self.listeValeursCourantes == [] : self.lineEditVal.setText(""); return txt="[" diff --git a/InterfaceQT4/monWidgetPlusieursTuple.py b/InterfaceQT4/monWidgetPlusieursTuple.py index 531f0a43..b4b9408d 100644 --- a/InterfaceQT4/monWidgetPlusieursTuple.py +++ b/InterfaceQT4/monWidgetPlusieursTuple.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -29,40 +29,29 @@ import types,os,sys from six.moves import range from PyQt5.QtWidgets import QFrame,QApplication, QFrame, QWidget -from PyQt5.QtGui import QIcon -from PyQt5.QtCore import QSize, Qt, QTimer +from PyQt5.QtGui import QIcon +from PyQt5.QtCore import QSize, Qt, QTimer from Extensions.i18n import tr -from InterfaceQT4.feuille import Feuille -from InterfaceQT4.politiquesValidation import PolitiquePlusieurs -from InterfaceQT4.qtSaisie import SaisieValeur -from InterfaceQT4.gereListe import GereListe -from InterfaceQT4.gereListe import LECustom -from Tuple2 import Ui_Tuple2 -from Tuple3 import Ui_Tuple3 -from Tuple4 import Ui_Tuple4 -from Tuple5 import Ui_Tuple5 -from Tuple6 import Ui_Tuple6 -from Tuple7 import Ui_Tuple7 -from Tuple8 import Ui_Tuple8 -from Tuple9 import Ui_Tuple9 -from Tuple10 import Ui_Tuple10 +from .feuille import Feuille +from .politiquesValidation import PolitiquePlusieurs +from .qtSaisie import SaisieValeur +from .gereListe import GereListe +from .gereListe import LECustom +from Tuple2 import Ui_Tuple2 +from Tuple3 import Ui_Tuple3 -#-------------------------- class TupleCustom(object) : -#-------------------------- - def __init__(self,tailleTuple,parent,parentQt,index): - #------------------------------------------------- QWidget.__init__(self,parent) self.setupUi(self) self.tailleTuple=tailleTuple self.parent=parent self.parentQt=parentQt - self.valeur=[] + self.valeur=None self.index=index self.inFocusOutEvent=False @@ -75,13 +64,11 @@ class TupleCustom(object) : courant.returnPressed.connect(self.valueChange) courant.numDsLaListe = i+1 courant.tupleCustomParent=self - courant.parentTuple = self def valueChange(self): - #---------------------- - listeVal=[] + for i in range(self.tailleTuple): nomLE="lineEditVal_"+str(i+1) courant=getattr(self,nomLE) @@ -90,12 +77,11 @@ class TupleCustom(object) : if str(val)=="" or val==None : if not self.inFocusOutEvent : courant.setFocus() return - try : valeur=eval(val,{}) except : try : - d=self.parentQt.objSimp.jdc.getContexteAvant(self.parentQt.objSimp. etape) + d=self.parentQt.objSimp.jdc.get_contexte_avant(self.parentQt.objSimp. etape) valeur=eval(val,d) except : valeur=val @@ -105,8 +91,6 @@ class TupleCustom(object) : def setValeur(self,value): - #---------------------- - listeVal=[] valeurNulle=True for i in range(self.tailleTuple): @@ -126,7 +110,7 @@ class TupleCustom(object) : valeur=eval(val,{}) except : try : - d=self.parentQt.objSimp.jdc.getContexteAvant(self.parentQt.objSimp. etape) + d=self.parentQt.objSimp.jdc.get_contexte_avant(self.parentQt.objSimp. etape) valeur=eval(val,d) except : valeur=val @@ -135,27 +119,15 @@ class TupleCustom(object) : else : self.valeur=listeVal def getValeur(self): - #---------------------- - self.valeur=[] - vide=True - for i in range(self.tailleTuple): - nomLE="lineEditVal_"+str(i+1) - courant=getattr(self,nomLE) - self.valeur.append(courant.valeur) - if courant.valeur!= None : vide = False - if vide : self.valeur=[] return self.valeur def text(self): - #-------------- return self.valeur def setText(self,value): - #----------------------- self.setValeur(value) def clean(self): - #------------------- self.valeur=None for i in range(self.tailleTuple): nomLE="lineEditVal_"+str(i+1) @@ -163,93 +135,24 @@ class TupleCustom(object) : courant.setText("") def finCommentaire(self): - #------------------- return self.finCommentaireListe() -#------------------------------------------------- class TupleCustom2(QWidget,Ui_Tuple2,TupleCustom): -#------------------------------------------------- def __init__(self,tailleTuple,parent,parentQt,index): - #------------------- TupleCustom.__init__(self,tailleTuple,parent,parentQt,index) - if self.parentQt.editor.maConfiguration.closeParenthese : - self.label_5.close() - self.label_7.close() - -#------------------------------------------------- class TupleCustom3(QWidget,Ui_Tuple3,TupleCustom): -#------------------------------------------------- - def __init__(self,tailleTuple,parent,parentQt,index): - #------------------- - TupleCustom.__init__(self,tailleTuple,parent,parentQt,index) - -#------------------------------------------------- -class TupleCustom4(QWidget,Ui_Tuple4,TupleCustom): -#------------------------------------------------- def __init__(self,tailleTuple,parent,parentQt,index): - #------------------- - TupleCustom.__init__(self,tailleTuple,parent,parentQt,index) - -#------------------------------------------------- -class TupleCustom5(QWidget,Ui_Tuple5,TupleCustom): -#------------------------------------------------- - def __init__(self,tailleTuple,parent,parentQt,index): - #------------------- - TupleCustom.__init__(self,tailleTuple,parent,parentQt,index) - -#------------------------------------------------- -class TupleCustom6(QWidget,Ui_Tuple6,TupleCustom): -#------------------------------------------------- - def __init__(self,tailleTuple,parent,parentQt,index): - #------------------- - TupleCustom.__init__(self,tailleTuple,parent,parentQt,index) - -#------------------------------------------------- -class TupleCustom7(QWidget,Ui_Tuple7,TupleCustom): -#------------------------------------------------- - def __init__(self,tailleTuple,parent,parentQt,index): - #------------------- - TupleCustom.__init__(self,tailleTuple,parent,parentQt,index) - -#------------------------------------------------- -class TupleCustom8(QWidget,Ui_Tuple8,TupleCustom): -#------------------------------------------------- - def __init__(self,tailleTuple,parent,parentQt,index): - #------------------- - TupleCustom.__init__(self,tailleTuple,parent,parentQt,index) - -#------------------------------------------------- -class TupleCustom9(QWidget,Ui_Tuple9,TupleCustom): -#------------------------------------------------- - def __init__(self,tailleTuple,parent,parentQt,index): - #------------------- - TupleCustom.__init__(self,tailleTuple,parent,parentQt,index) - -#------------------------------------------------- -class TupleCustom10(QWidget,Ui_Tuple10,TupleCustom): -#------------------------------------------------- - def __init__(self,tailleTuple,parent,parentQt,index): - #------------------- - TupleCustom.__init__(self,tailleTuple,parent,parentQt,index) - if self.parentQt.editor.maConfiguration.closeParenthese : - self.label_5.close() - self.label_7.close() + TupleCustom. __init__(self,tailleTuple,parent,parentQt,index) + +# ---------------------------- # - - - -# -------------------------------------------- # class MonWidgetPlusieursTuple(Feuille,GereListe): -# -------------------------------------------- # - - def __init__(self, node, monSimpDef, nom, objSimp, parentQt, commande): - #----------------------------------------------------- + def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): self.indexDernierLabel=0 - self.numLineEditEnCours=0 self.nomLine="TupleVal" self.listeAffichageWidget=[] Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) @@ -257,7 +160,6 @@ class MonWidgetPlusieursTuple(Feuille,GereListe): self.finCommentaireListe() self.politique=PolitiquePlusieurs(self.node,self.editor) self.parentQt.commandesLayout.insertWidget(-1,self) - if sys.platform[0:5]!="linux": repIcon=self.node.editor.appliEficas.repIcon fichier=os.path.join(repIcon, 'arrow_up.png') @@ -272,38 +174,27 @@ class MonWidgetPlusieursTuple(Feuille,GereListe): self.BSelectFichier.setIcon(icon3) self.BSelectFichier.setIconSize(QSize(32, 32)) self.BSelectFichier.clicked.connect(self.selectInFile) - - + + def ajoutLineEdit(self,valeur=None,inInit=False): - #------------------------------------------------ self.indexDernierLabel=self.indexDernierLabel+1 nomLineEdit=self.nomLine+str(self.indexDernierLabel) if hasattr(self,nomLineEdit) : self.indexDernierLabel=self.indexDernierLabel-1 return - nomCustomTuple='TupleCustom'+str(self.nbValeurs) - laClasseDuTuple=globals()[nomCustomTuple] - nouveauLE=laClasseDuTuple(self.nbValeurs,self.scrollArea,self,self.indexDernierLabel) - - #if self.nbValeurs == 2 : nouveauLE = TupleCustom2(self.nbValeurs,self.scrollArea,self,self.indexDernierLabel) - #else : nouveauLE = TupleCustom3(self.nbValeurs,self.scrollArea,self,self.indexDernierLabel) + if self.nbValeurs == 2 : nouveauLE = TupleCustom2(self.nbValeurs,self.scrollArea,self,self.indexDernierLabel) + else : nouveauLE = TupleCustom3(self.nbValeurs,self.scrollArea,self,self.indexDernierLabel) self.verticalLayoutLE.insertWidget(self.indexDernierLabel-1,nouveauLE) setattr(self,nomLineEdit,nouveauLE) if valeur != None : nouveauLE.setValeur(valeur) - for i in range(self.nbValeurs) : - num=i+1 - nomLineEdit='lineEditVal_'+str(num) - lineEditVal=getattr(nouveauLE,nomLineEdit) - self.listeAffichageWidget.append(lineEditVal) - #self.listeAffichageWidget.append(nouveauLE.lineEditVal_1) - #self.listeAffichageWidget.append(nouveauLE.lineEditVal_2) - #if self.nbValeurs == 3 : self.listeAffichageWidget.append(nouveauLE.lineEditVal_3) - + self.listeAffichageWidget.append(nouveauLE.lineEditVal_1) + self.listeAffichageWidget.append(nouveauLE.lineEditVal_2) + if self.nbValeurs == 3 : self.listeAffichageWidget.append(nouveauLE.lineEditVal_3) self.etablitOrdre() # deux lignes pour que le ensureVisible fonctionne @@ -311,7 +202,6 @@ class MonWidgetPlusieursTuple(Feuille,GereListe): if inInit==False :QTimer.singleShot(1, self.rendVisibleLigne) def etablitOrdre(self): - # --------------------- i=0 while(i +1 < len(self.listeAffichageWidget)): self.listeAffichageWidget[i].setFocusPolicy(Qt.StrongFocus) @@ -320,11 +210,10 @@ class MonWidgetPlusieursTuple(Feuille,GereListe): def setValeurs(self): - # --------------------- - if self.editor.code == 'PSEN' : self.RBListePush() - valeurs=self.node.item.getValeur() - min,max=self.node.item.getMinMax() - if max == "**" or max > 8 : aCreer= 8 + self.RBListePush() + valeurs=self.node.item.get_valeur() + min,max=self.node.item.GetMinMax() + if max == "**" or max > 5 : aCreer=5 else : aCreer=max if valeurs == () or valeurs == None : @@ -337,41 +226,36 @@ class MonWidgetPlusieursTuple(Feuille,GereListe): for i in range(len(valeurs),aCreer) : self.ajoutLineEdit(inInit=True) def rendVisibleLigne(self): - # ------------------------- QApplication.processEvents() self.estVisible.setFocus(True) self.scrollArea.ensureWidgetVisible(self.estVisible,0,0) def changeValeur(self,changeDePlace=False,oblige=True): - # ----------------------------------------------------- #Pour compatibilite signature - aLeFocus=self.focusWidget() listeComplete=[] + libre=False - #print (self.indexDernierLabel) for i in range(self.indexDernierLabel) : nom=self.nomLine+str(i+1) courant=getattr(self,nom) valeurTuple=courant.valeur - #print (courant, i, valeurTuple) - if valeurTuple == None or valeurTuple== "" or valeurTuple==[]: + if valeurTuple == None or valeurTuple== "": libre=True continue - validite,comm,comm2,listeRetour= self.politique.ajoutTuple(valeurTuple,listeComplete) + validite,comm,comm2,listeRetour= self.politique.AjoutTuple(valeurTuple,listeComplete) if not validite: if comm2 != '' : comm += " " + comm2 - self.editor.afficheInfos(comm+" "+str(self.objSimp.definition.validators.typeDesTuples),Qt.red) + self.editor.affiche_infos(comm+" "+str(self.objSimp.definition.validators.typeDesTuples),Qt.red) return listeComplete.append(tuple(courant.valeur)) - #print ('listeComplete', listeComplete) if listeComplete == [] : listeComplete=None - self.node.item.setValeur(listeComplete) + self.node.item.set_valeur(listeComplete) if changeDePlace : return - min,max=self.node.item.getMinMax() - if self.indexDernierLabel == max : self.editor.afficheInfos(tr('Nb maximum de valeurs atteint')) + min,max=self.node.item.GetMinMax() + if self.indexDernierLabel == max : self.editor.affiche_infos(tr('Nb maximum de valeurs atteint')) if self.indexDernierLabel < max and libre==False : self.ajoutLineEdit() self.listeAffichageWidget[-2].setFocus(True) @@ -385,139 +269,95 @@ class MonWidgetPlusieursTuple(Feuille,GereListe): pass def ajoutNValeur(self,liste): - #---------------------------- - # attention quand on charge par un fichier, on ne peut pas se contenter d ajouter N fois 1 valeur - # car alors le temps de verification devient prohibitif reconstructu=ion et verification a - # chaque valeur. d ou l ajout de ajoutNTuple a politique plusieurs - if len(liste)%self.nbValeurs != 0 : texte="Nombre incorrect de valeurs" - self.editor.afficheInfos(tr(texte),Qt.red) - return - + self.editor.affiche_infos(tr(texte),Qt.red) i=0 - longueur=len(liste)//self.nbValeurs - increment=self.nbValeurs - listeFormatee=[liste[k*increment:(k+1)*increment] for k in range(longueur)] - listeFormatee=tuple(listeFormatee) - - min,max=self.node.item.getMinMax() - if self.objSimp.valeur == None : listeComplete=listeFormatee - else : listeComplete =self.objSimp.valeur + listeFormatee - - if len(listeComplete) > max : + min,max=self.node.item.GetMinMax() + if self.objSimp.valeur == None : l = len(liste) and self.objSimp.valeur + else : l = len(liste)+len(self.objSimp.valeur) + if l > max : texte=tr("Nombre maximum de valeurs ")+str(max)+tr(" atteint") - self.editor.afficheInfos(texte,Qt.red) - return - - validite,comm,comm2,listeRetour= self.politique.ajoutNTuple(listeComplete) - if not validite : - self.editor.afficheInfos(comm+comm2,Qt.red) + self.editor.affiche_infos(texte,Qt.red) return - - # on calcule le dernier lineedit rempli avant de changer la valeur - if self.objSimp.valeur != None : indexDernierRempli=len(self.objSimp.valeur) - else : indexDernierRempli=0 - - self.politique.recordValeur(listeComplete) - while ( i < len(liste) ) : + if self.objSimp.valeur != None : indexDernierRempli=len(self.objSimp.valeur) + else : indexDernierRempli=0 try : t=tuple(liste[i:i+self.nbValeurs]) + i=i+self.nbValeurs except: t=tuple(liste[i:len(liste)]) - i=i+self.nbValeurs if indexDernierRempli < self.indexDernierLabel: - - nomLEARemplir=self.nomLine+str(indexDernierRempli+1) - LEARemplir=getattr(self,nomLEARemplir) - for n in range(self.nbValeurs) : - nomLineEdit='lineEditVal_'+str(n+1) - lineEditVal=getattr(LEARemplir,nomLineEdit) - lineEditVal.setText(str(t[n])) + nomLineEdit=self.nomLine+str(indexDernierRempli+1) + LEARemplir=getattr(self,nomLineEdit) + LEARemplir.lineEditVal_1.setText(str(t[0])) + LEARemplir.lineEditVal_2.setText(str(t[1])) + if self.nbValeurs== 3 : LEARemplir.lineEditVal_3.setText(str(t[2])) + LEARemplir.valueChange() else : - # ne pas appeler ajoutLineEdit(t,False ) pb de boucle pb du a etablitOrdre et a listeWidgetAffichage qui bouge - self.indexDernierLabel=self.indexDernierLabel+1 + self.ajoutLineEdit(t,False) nomLineEdit=self.nomLine+str(self.indexDernierLabel) - - nomCustomTuple='TupleCustom'+str(self.nbValeurs) - laClasseDuTuple=globals()[nomCustomTuple] - nouveauLE=laClasseDuTuple(self.nbValeurs,self.scrollArea,self,self.indexDernierLabel) - - self.verticalLayoutLE.insertWidget(self.indexDernierLabel-1,nouveauLE) - setattr(self,nomLineEdit,nouveauLE) - nouveauLE.setValeur(t) - - for n in range(self.nbValeurs) : - nomLineEdit='lineEditVal_'+str(n+1) - lineEditVal=getattr(nouveauLE,nomLineEdit) - self.listeAffichageWidget.append(lineEditVal) - indexDernierRempli = indexDernierRempli+1 - - self.etablitOrdre() - - + LEARemplir=getattr(self,nomLineEdit) + LEARemplir.valueChange() def RBListePush(self): - #---------------------- # PN a rendre generique avec un truc tel prerempli - # pour l instant specifique PSEN - if self.editor.code == 'VP' : return if self.objSimp.valeur != None and self.objSimp.valeur != [] : return - if not hasattr(self.editor.readercata.cata,'sd_ligne') : self.editor.readercata.cata.sd_ligne=None - if not hasattr(self.editor.readercata.cata,'sd_generateur') : self.editor.readercata.cata.sd_generateur=None - if not hasattr(self.editor.readercata.cata,'sd_transfo') : self.editor.readercata.cata.sd_transfo=None - if not hasattr(self.editor.readercata.cata,'sd_charge') : self.editor.readercata.cata.sd_charge=None - if not hasattr(self.editor.readercata.cata,'sd_moteur') : self.editor.readercata.cata.sd_moteur=None - if self.objSimp.definition.validators.typeDesTuples[0]==self.editor.readercata.cata.sd_ligne : + if not hasattr(self.editor.readercata.cata[0],'sd_ligne') : self.editor.readercata.cata[0].sd_ligne=None + if not hasattr(self.editor.readercata.cata[0],'sd_generateur') : self.editor.readercata.cata[0].sd_generateur=None + if not hasattr(self.editor.readercata.cata[0],'sd_transfo') : self.editor.readercata.cata[0].sd_transfo=None + if not hasattr(self.editor.readercata.cata[0],'sd_charge') : self.editor.readercata.cata[0].sd_charge=None + if not hasattr(self.editor.readercata.cata[0],'sd_moteur') : self.editor.readercata.cata[0].sd_moteur=None + if self.objSimp.definition.validators.typeDesTuples[0]==self.editor.readercata.cata[0].sd_ligne : val=[] if hasattr(self.objSimp.jdc,'LineDico'): for k in self.objSimp.jdc.LineDico : try : - valeur=self.objSimp.jdc.getConcept(k) + valeur=self.objSimp.jdc.get_concept(k) val.append((valeur,0)) except : pass - self.node.item.setValeur(val) - if self.objSimp.definition.validators.typeDesTuples[0]==self.editor.readercata.cata.sd_generateur : + self.node.item.set_valeur(val) + if self.objSimp.definition.validators.typeDesTuples[0]==self.editor.readercata.cata[0].sd_generateur : val=[] if hasattr(self.objSimp.jdc,'MachineDico'): for k in self.objSimp.jdc.MachineDico : try : - valeur=self.objSimp.jdc.getConcept(k) + valeur=self.objSimp.jdc.get_concept(k) val.append((valeur,0)) except : pass - self.node.item.setValeur(val) - if self.objSimp.definition.validators.typeDesTuples[0]==self.editor.readercata.cata.sd_transfo : + self.node.item.set_valeur(val) + if self.objSimp.definition.validators.typeDesTuples[0]==self.editor.readercata.cata[0].sd_transfo : val=[] if hasattr(self.objSimp.jdc,'TransfoDico'): for k in self.objSimp.jdc.TransfoDico : try : - valeur=self.objSimp.jdc.getConcept(k) + valeur=self.objSimp.jdc.get_concept(k) val.append((valeur,0)) except : pass - self.node.item.setValeur(val) - if self.objSimp.definition.validators.typeDesTuples[0]==self.editor.readercata.cata.sd_charge : + self.node.item.set_valeur(val) + if self.objSimp.definition.validators.typeDesTuples[0]==self.editor.readercata.cata[0].sd_charge : val=[] if hasattr(self.objSimp.jdc,'LoadDico'): for k in self.objSimp.jdc.LoadDico : try : - valeur=self.objSimp.jdc.getConcept(k) + valeur=self.objSimp.jdc.get_concept(k) val.append((valeur,0)) except : pass - self.node.item.setValeur(val) - if self.objSimp.definition.validators.typeDesTuples[0]==self.editor.readercata.cata.sd_moteur : + self.node.item.set_valeur(val) + if self.objSimp.definition.validators.typeDesTuples[0]==self.editor.readercata.cata[0].sd_moteur : val=[] if hasattr(self.objSimp.jdc,'MotorDico'): for k in self.objSimp.jdc.MotorDico : try : - valeur=self.objSimp.jdc.getConcept(k) + valeur=self.objSimp.jdc.get_concept(k) val.append((valeur,0)) except : pass - self.node.item.setValeur(val) + self.node.item.set_valeur(val) diff --git a/InterfaceQT4/monWidgetPlusieursTuple2.py b/InterfaceQT4/monWidgetPlusieursTuple2.py index 564e388d..4b7b3d8e 100644 --- a/InterfaceQT4/monWidgetPlusieursTuple2.py +++ b/InterfaceQT4/monWidgetPlusieursTuple2.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/InterfaceQT4/monWidgetPlusieursTuple3.py b/InterfaceQT4/monWidgetPlusieursTuple3.py index 9b4b29c5..00233e89 100644 --- a/InterfaceQT4/monWidgetPlusieursTuple3.py +++ b/InterfaceQT4/monWidgetPlusieursTuple3.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/InterfaceQT4/monWidgetPlusieursTupleAvril11.py b/InterfaceQT4/monWidgetPlusieursTupleAvril11.py deleted file mode 100644 index df8ceb2c..00000000 --- a/InterfaceQT4/monWidgetPlusieursTupleAvril11.py +++ /dev/null @@ -1,495 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D -# -# 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. -# -# 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 -# -# Modules Python -from __future__ import absolute_import -try : - from builtins import str - from builtins import range - from builtins import object -except : pass - -import types,os,sys - -from six.moves import range -from PyQt5.QtWidgets import QFrame,QApplication, QFrame, QWidget -from PyQt5.QtGui import QIcon -from PyQt5.QtCore import QSize, Qt, QTimer - -from Extensions.i18n import tr - - -from InterfaceQT4.feuille import Feuille -from InterfaceQT4.politiquesValidation import PolitiquePlusieurs -from InterfaceQT4.qtSaisie import SaisieValeur -from InterfaceQT4.gereListe import GereListe -from InterfaceQT4.gereListe import LECustom -from Tuple2 import Ui_Tuple2 -from Tuple3 import Ui_Tuple3 -from Tuple4 import Ui_Tuple4 -from Tuple5 import Ui_Tuple5 -from Tuple6 import Ui_Tuple6 -from Tuple7 import Ui_Tuple7 -from Tuple8 import Ui_Tuple8 -from Tuple9 import Ui_Tuple9 -from Tuple10 import Ui_Tuple10 - - -#-------------------------- -class TupleCustom(object) : -#-------------------------- - - def __init__(self,tailleTuple,parent,parentQt,index): - #------------------------------------------------- - QWidget.__init__(self,parent) - self.setupUi(self) - self.tailleTuple=tailleTuple - self.parent=parent - self.parentQt=parentQt - self.valeur=None - self.index=index - self.inFocusOutEvent=False - - - for i in range(self.tailleTuple): - nomLE="lineEditVal_"+str(i+1) - courant=getattr(self,nomLE) - courant.num=index - courant.dansUnTuple=True - courant.numDsLaListe = i+1 - courant.tupleCustomParent=self - - - - def setValeur(self,value): - #---------------------- - - listeVal=[] - valeurNulle=True - for i in range(self.tailleTuple): - nomLE="lineEditVal_"+str(i+1) - courant=getattr(self,nomLE) - try : - if str(value[i]) != "" : valeurNulle=False - except : - pass - - try : - courant.setText(str(value[i])) - except : - courant.setText("") - val=str(courant.text()) - try : - valeur=eval(val,{}) - except : - try : - d=self.parentQt.objSimp.jdc.getContexteAvant(self.parentQt.objSimp. etape) - valeur=eval(val,d) - except : - valeur=val - listeVal.append(valeur) - if valeurNulle == True : self.valeur=None - else : self.valeur=listeVal - - def getValeur(self): - #---------------------- - return self.valeur - - def text(self): - #-------------- - return self.valeur - - def setText(self,value): - #----------------------- - self.setValeur(value) - - def clean(self): - #------------------- - self.valeur=None - for i in range(self.tailleTuple): - nomLE="lineEditVal_"+str(i+1) - courant=getattr(self,nomLE) - courant.setText("") - - def finCommentaire(self): - #------------------- - return self.finCommentaireListe() - - -#------------------------------------------------- -class TupleCustom2(QWidget,Ui_Tuple2,TupleCustom): -#------------------------------------------------- - def __init__(self,tailleTuple,parent,parentQt,index): - #------------------- - TupleCustom.__init__(self,tailleTuple,parent,parentQt,index) - -#------------------------------------------------- -class TupleCustom3(QWidget,Ui_Tuple3,TupleCustom): -#------------------------------------------------- - def __init__(self,tailleTuple,parent,parentQt,index): - #----------------------------------------------------- - TupleCustom. __init__(self,tailleTuple,parent,parentQt,index) - -#------------------------------------------------- -class TupleCustom3(QWidget,Ui_Tuple3,TupleCustom): -#------------------------------------------------- - def __init__(self,tailleTuple,parent,parentQt,index): - #------------------- - TupleCustom.__init__(self,tailleTuple,parent,parentQt,index) - -#------------------------------------------------- -class TupleCustom4(QWidget,Ui_Tuple4,TupleCustom): -#------------------------------------------------- - def __init__(self,tailleTuple,parent,parentQt,index): - #------------------- - TupleCustom.__init__(self,tailleTuple,parent,parentQt,index) - -#------------------------------------------------- -class TupleCustom5(QWidget,Ui_Tuple5,TupleCustom): -#------------------------------------------------- - def __init__(self,tailleTuple,parent,parentQt,index): - #------------------- - TupleCustom.__init__(self,tailleTuple,parent,parentQt,index) - -#------------------------------------------------- -class TupleCustom6(QWidget,Ui_Tuple6,TupleCustom): -#------------------------------------------------- - def __init__(self,tailleTuple,parent,parentQt,index): - #------------------- - TupleCustom.__init__(self,tailleTuple,parent,parentQt,index) - -#------------------------------------------------- -class TupleCustom7(QWidget,Ui_Tuple7,TupleCustom): -#------------------------------------------------- - def __init__(self,tailleTuple,parent,parentQt,index): - #------------------- - TupleCustom.__init__(self,tailleTuple,parent,parentQt,index) - -#------------------------------------------------- -class TupleCustom8(QWidget,Ui_Tuple8,TupleCustom): -#------------------------------------------------- - def __init__(self,tailleTuple,parent,parentQt,index): - #------------------- - TupleCustom.__init__(self,tailleTuple,parent,parentQt,index) - -#------------------------------------------------- -class TupleCustom9(QWidget,Ui_Tuple9,TupleCustom): -#------------------------------------------------- - def __init__(self,tailleTuple,parent,parentQt,index): - #------------------- - TupleCustom.__init__(self,tailleTuple,parent,parentQt,index) - -#------------------------------------------------- -class TupleCustom10(QWidget,Ui_Tuple10,TupleCustom): -#------------------------------------------------- - def __init__(self,tailleTuple,parent,parentQt,index): - #------------------- - TupleCustom.__init__(self,tailleTuple,parent,parentQt,index) - - - - - -# -------------------------------------------- # -class MonWidgetPlusieursTuple(Feuille,GereListe): -# -------------------------------------------- # - - def __init__(self, node, monSimpDef, nom, objSimp, parentQt, commande): - #----------------------------------------------------- - - self.indexDernierLabel=0 - self.numLineEditEnCours=0 - self.nomLine="TupleVal" - self.listeAffichageWidget=[] - Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) - GereListe.__init__(self) - self.finCommentaireListe() - self.politique=PolitiquePlusieurs(self.node,self.editor) - self.parentQt.commandesLayout.insertWidget(-1,self) - - if sys.platform[0:5]!="linux": - repIcon=self.node.editor.appliEficas.repIcon - fichier=os.path.join(repIcon, 'arrow_up.png') - icon = QIcon(fichier) - self.RBHaut.setIcon(icon) - self.RBHaut.setIconSize(QSize(32, 32)) - fichier2=os.path.join(repIcon, 'arrow_down.png') - icon2 = QIcon(fichier2) - self.RBBas.setIcon(icon2) - fichier3=os.path.join(repIcon, 'file-explorer.png') - icon3 = QIcon(fichier3) - self.BSelectFichier.setIcon(icon3) - self.BSelectFichier.setIconSize(QSize(32, 32)) - self.BSelectFichier.clicked.connect(self.selectInFile) - - - - - def ajoutLineEdit(self,valeur=None,inInit=False): - #------------------------------------------------ - self.indexDernierLabel=self.indexDernierLabel+1 - nomLineEdit=self.nomLine+str(self.indexDernierLabel) - if hasattr(self,nomLineEdit) : - self.indexDernierLabel=self.indexDernierLabel-1 - return - - nomCustomTuple='TupleCustom'+str(self.nbValeurs) - laClasseDuTuple=globals()[nomCustomTuple] - nouveauLE=laClasseDuTuple(self.nbValeurs,self.scrollArea,self,self.indexDernierLabel) - - #if self.nbValeurs == 2 : nouveauLE = TupleCustom2(self.nbValeurs,self.scrollArea,self,self.indexDernierLabel) - #else : nouveauLE = TupleCustom3(self.nbValeurs,self.scrollArea,self,self.indexDernierLabel) - - self.verticalLayoutLE.insertWidget(self.indexDernierLabel-1,nouveauLE) - setattr(self,nomLineEdit,nouveauLE) - if valeur != None : nouveauLE.setValeur(valeur) - - for i in range(self.nbValeurs) : - num=i+1 - nomLineEdit='lineEditVal_'+str(num) - lineEditVal=getattr(nouveauLE,nomLineEdit) - self.listeAffichageWidget.append(lineEditVal) - #self.listeAffichageWidget.append(nouveauLE.lineEditVal_1) - #self.listeAffichageWidget.append(nouveauLE.lineEditVal_2) - #if self.nbValeurs == 3 : self.listeAffichageWidget.append(nouveauLE.lineEditVal_3) - - self.etablitOrdre() - - # deux lignes pour que le ensureVisible fonctionne - self.estVisible=nouveauLE.lineEditVal_1 - if inInit==False :QTimer.singleShot(1, self.rendVisibleLigne) - - def etablitOrdre(self): - # --------------------- - i=0 - while(i +1 < len(self.listeAffichageWidget)): - self.listeAffichageWidget[i].setFocusPolicy(Qt.StrongFocus) - self.setTabOrder(self.listeAffichageWidget[i],self.listeAffichageWidget[i+1]) - i=i+1 - - - def setValeurs(self): - # --------------------- - if self.editor.code == 'PSEN' : self.RBListePush() - valeurs=self.node.item.getValeur() - min,max=self.node.item.getMinMax() - if max == "**" or max > 8 : aCreer= 8 - else : aCreer=max - - if valeurs == () or valeurs == None : - for i in range(aCreer): self.ajoutLineEdit(inInit=True) - return - - for v in valeurs: - self.ajoutLineEdit(v,inInit=True) - - for i in range(len(valeurs),aCreer) : self.ajoutLineEdit(inInit=True) - - def rendVisibleLigne(self): - # ------------------------- - QApplication.processEvents() - self.estVisible.setFocus(True) - self.scrollArea.ensureWidgetVisible(self.estVisible,0,0) - - - def changeValeur(self,changeDePlace=False,oblige=True): - # ----------------------------------------------------- - #Pour compatibilite signature - - self.aEuLeFocus=False # set pour le leaveEvent voir gereListe - aLeFocus=self.focusWidget() - listeComplete=[] - libre=False - #print ('ds changeValeur', self.indexDernierLabel) - for i in range(self.indexDernierLabel) : - #print (i) - nom=self.nomLine+str(i+1) - #print (nom) - courant=getattr(self,nom) - #print (courant) - valeurTuple=courant.valeur - #print (valeurTuple) - if valeurTuple == None or valeurTuple== "": - libre=True - continue - print (i, valeurTuple) - validite,comm,comm2,listeRetour= self.politique.ajoutTuple(valeurTuple,listeComplete) - if not validite: - print (validite,comm,comm2) - if comm2 != '' : comm += " " + comm2 - print (validite,comm,comm2) - self.editor.afficheInfos(comm+" "+str(self.objSimp.definition.validators.typeDesTuples),Qt.red) - print (comm+" "+str(self.objSimp.definition.validators.typeDesTuples),Qt.red) - return - listeComplete.append(tuple(courant.valeur)) - if listeComplete == [] : listeComplete=None - self.node.item.setValeur(listeComplete) - - if changeDePlace : return - min,max=self.node.item.getMinMax() - if self.indexDernierLabel == max : self.editor.afficheInfos(tr('Nb maximum de valeurs atteint')) - if self.indexDernierLabel < max and libre==False : - self.ajoutLineEdit() - self.listeAffichageWidget[-2].setFocus(True) - else : - try : - QApplication.processEvents() - w=self.listeAffichageWidget[self.listeAffichageWidget.index(aLeFocus)+1] - w.setFocus(True) - self.scrollArea.ensureWidgetVisible(w,0,0) - except : - pass - - def ajoutNValeur(self,liste): - #---------------------------- - # attention quand on charge par un fichier, on ne peut pas se contenter d ajouter N fois 1 valeur - # car alors le temps de verification devient prohibitif reconstructu=ion et verification a - # chaque valeur. d ou l ajout de ajoutNTuple a politique plusieurs - - if len(liste)%self.nbValeurs != 0 : - texte="Nombre incorrect de valeurs" - self.editor.afficheInfos(tr(texte),Qt.red) - return - - i=0 - longueur=len(liste)//self.nbValeurs - increment=self.nbValeurs - listeFormatee=[liste[k*increment:(k+1)*increment] for k in range(longueur)] - listeFormatee=tuple(listeFormatee) - - min,max=self.node.item.getMinMax() - if self.objSimp.valeur == None : listeComplete=listeFormatee - else : listeComplete =self.objSimp.valeur + listeFormatee - - if len(listeComplete) > max : - texte=tr("Nombre maximum de valeurs ")+str(max)+tr(" atteint") - self.editor.afficheInfos(texte,Qt.red) - return - - validite,comm,comm2,listeRetour= self.politique.ajoutNTuple(listeComplete) - if not validite : - self.editor.afficheInfos(texte,Qt.red) - return - - # on calcule le dernier lineedit rempli avant de changer la valeur - if self.objSimp.valeur != None : indexDernierRempli=len(self.objSimp.valeur) - else : indexDernierRempli=0 - - self.politique.recordValeur(listeComplete) - - while ( i < len(liste) ) : - try : - t=tuple(liste[i:i+self.nbValeurs]) - except: - t=tuple(liste[i:len(liste)]) - i=i+self.nbValeurs - if indexDernierRempli < self.indexDernierLabel: - - nomLEARemplir=self.nomLine+str(indexDernierRempli+1) - LEARemplir=getattr(self,nomLEARemplir) - for n in range(self.nbValeurs) : - nomLineEdit='lineEditVal_'+str(n+1) - lineEditVal=getattr(LEARemplir,nomLineEdit) - lineEditVal.setText(str(t[n])) - else : - # ne pas appeler ajoutLineEdit(t,False ) pb de boucle pb du a etablitOrdre et a listeWidgetAffichage qui bouge - self.indexDernierLabel=self.indexDernierLabel+1 - nomLineEdit=self.nomLine+str(self.indexDernierLabel) - - nomCustomTuple='TupleCustom'+str(self.nbValeurs) - laClasseDuTuple=globals()[nomCustomTuple] - nouveauLE=laClasseDuTuple(self.nbValeurs,self.scrollArea,self,self.indexDernierLabel) - - self.verticalLayoutLE.insertWidget(self.indexDernierLabel-1,nouveauLE) - setattr(self,nomLineEdit,nouveauLE) - nouveauLE.setValeur(t) - - for n in range(self.nbValeurs) : - nomLineEdit='lineEditVal_'+str(n+1) - lineEditVal=getattr(nouveauLE,nomLineEdit) - self.listeAffichageWidget.append(lineEditVal) - indexDernierRempli = indexDernierRempli+1 - - self.etablitOrdre() - - - - def RBListePush(self): - #---------------------- - # PN a rendre generique avec un truc tel prerempli - # pour l instant specifique PSEN - - if self.editor.code == 'VP' : return - if self.objSimp.valeur != None and self.objSimp.valeur != [] : return - if not hasattr(self.editor.readercata.cata,'sd_ligne') : self.editor.readercata.cata.sd_ligne=None - if not hasattr(self.editor.readercata.cata,'sd_generateur') : self.editor.readercata.cata.sd_generateur=None - if not hasattr(self.editor.readercata.cata,'sd_transfo') : self.editor.readercata.cata.sd_transfo=None - if not hasattr(self.editor.readercata.cata,'sd_charge') : self.editor.readercata.cata.sd_charge=None - if not hasattr(self.editor.readercata.cata,'sd_moteur') : self.editor.readercata.cata.sd_moteur=None - if self.objSimp.definition.validators.typeDesTuples[0]==self.editor.readercata.cata.sd_ligne : - val=[] - if hasattr(self.objSimp.jdc,'LineDico'): - for k in self.objSimp.jdc.LineDico : - try : - valeur=self.objSimp.jdc.getConcept(k) - val.append((valeur,0)) - except : - pass - self.node.item.setValeur(val) - if self.objSimp.definition.validators.typeDesTuples[0]==self.editor.readercata.cata.sd_generateur : - val=[] - if hasattr(self.objSimp.jdc,'MachineDico'): - for k in self.objSimp.jdc.MachineDico : - try : - valeur=self.objSimp.jdc.getConcept(k) - val.append((valeur,0)) - except : - pass - self.node.item.setValeur(val) - if self.objSimp.definition.validators.typeDesTuples[0]==self.editor.readercata.cata.sd_transfo : - val=[] - if hasattr(self.objSimp.jdc,'TransfoDico'): - for k in self.objSimp.jdc.TransfoDico : - try : - valeur=self.objSimp.jdc.getConcept(k) - val.append((valeur,0)) - except : - pass - self.node.item.setValeur(val) - if self.objSimp.definition.validators.typeDesTuples[0]==self.editor.readercata.cata.sd_charge : - val=[] - if hasattr(self.objSimp.jdc,'LoadDico'): - for k in self.objSimp.jdc.LoadDico : - try : - valeur=self.objSimp.jdc.getConcept(k) - val.append((valeur,0)) - except : - pass - self.node.item.setValeur(val) - if self.objSimp.definition.validators.typeDesTuples[0]==self.editor.readercata.cata.sd_moteur : - val=[] - if hasattr(self.objSimp.jdc,'MotorDico'): - for k in self.objSimp.jdc.MotorDico : - try : - valeur=self.objSimp.jdc.getConcept(k) - val.append((valeur,0)) - except : - pass - self.node.item.setValeur(val) - diff --git a/InterfaceQT4/monWidgetPlusieursTupleN.py b/InterfaceQT4/monWidgetPlusieursTupleN.py deleted file mode 100644 index 7b0dbb43..00000000 --- a/InterfaceQT4/monWidgetPlusieursTupleN.py +++ /dev/null @@ -1,73 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D -# -# 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. -# -# 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 -# -# Modules Python -from __future__ import absolute_import -import types,os - -# Modules Eficas - -from .feuille import Feuille -from .monWidgetPlusieursTuple import MonWidgetPlusieursTuple -from desWidgetPlusieursTuple import Ui_WidgetPlusieursTuple - - -class MonWidgetPlusieursTuple2 (Ui_WidgetPlusieursTuple,MonWidgetPlusieursTuple): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - self.nbValeurs=2 - MonWidgetPlusieursTuple.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) - -class MonWidgetPlusieursTuple3 (Ui_WidgetPlusieursTuple,MonWidgetPlusieursTuple): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - self.nbValeurs=3 - -class MonWidgetPlusieursTuple4 (Ui_WidgetPlusieursTuple,MonWidgetPlusieursTuple): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - self.nbValeurs=4 - -class MonWidgetPlusieursTuple5 (Ui_WidgetPlusieursTuple,MonWidgetPlusieursTuple): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - self.nbValeurs=5 - MonWidgetPlusieursTuple.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) - -class MonWidgetPlusieursTuple6 (Ui_WidgetPlusieursTuple,MonWidgetPlusieursTuple): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - self.nbValeurs=6 - MonWidgetPlusieursTuple.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) - -class MonWidgetPlusieursTuple7 (Ui_WidgetPlusieursTuple,MonWidgetPlusieursTuple): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - self.nbValeurs=7 - MonWidgetPlusieursTuple.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) - -class MonWidgetPlusieursTuple8 (Ui_WidgetPlusieursTuple,MonWidgetPlusieursTuple): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - self.nbValeurs=8 - MonWidgetPlusieursTuple.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) - -class MonWidgetPlusieursTuple9 (Ui_WidgetPlusieursTuple,MonWidgetPlusieursTuple): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - self.nbValeurs=9 - MonWidgetPlusieursTuple.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) - -class MonWidgetPlusieursTuple10 (Ui_WidgetPlusieursTuple,MonWidgetPlusieursTuple): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - self.nbValeurs=10 - MonWidgetPlusieursTuple.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) - diff --git a/InterfaceQT4/monWidgetRadioButton.py b/InterfaceQT4/monWidgetRadioButton.py index 129046be..1ba3e9cf 100644 --- a/InterfaceQT4/monWidgetRadioButton.py +++ b/InterfaceQT4/monWidgetRadioButton.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -53,9 +53,9 @@ class MonWidgetRadioButtonCommun (Feuille): def setValeursApresBouton(self): - if self.objSimp.getValeur()==None : return - valeur=self.objSimp.getValeur() - if not(isinstance(valeur, str)) : valeur = str(valeur) + if self.objSimp.get_valeur()==None : return + valeur=self.objSimp.get_valeur() + if not(type(valeur) == str) : valeur=str(valeur) try : self.dict_bouton[valeur].setChecked(True) self.dict_bouton[valeur].setFocus(True) @@ -73,7 +73,7 @@ class MonWidgetRadioButtonCommun (Feuille): nomBouton="radioButton_"+str(i) bouton=getattr(self,nomBouton) valeur=self.maListeDeValeur[i-1] - if not(isinstance(valeur, str)) : valeur = str(valeur) + if not(type(valeur) == str) : valeur=str(valeur) bouton.setText(tr(valeur)) self.dict_bouton[valeur]=bouton bouton.clicked.connect(self.boutonclic) @@ -90,7 +90,7 @@ class MonWidgetRadioButtonCommun (Feuille): for valeur in self.dict_bouton: if self.dict_bouton[valeur].isChecked(): #print "dans boutonclic is checked", valeur, type(valeur) - SaisieValeur.LEvaleurPressed(self,valeur) + SaisieValeur.LEValeurPressed(self,valeur) self.reaffiche() @@ -146,7 +146,7 @@ class MonWidgetRadioButtonSD (Ui_WidgetRadioButton,MonWidgetRadioButtonCommun): def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): #print "dans le init de MonWidgetRadioButtonSD",self - self.maListeDeValeur=node.item.getSdAvantDuBonType() + self.maListeDeValeur=node.item.get_sd_avant_du_bon_type() MonWidgetRadioButtonCommun.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) def setMaxI(self): diff --git a/InterfaceQT4/monWidgetSDCOInto.py b/InterfaceQT4/monWidgetSDCOInto.py index e5c6de93..4cea507d 100644 --- a/InterfaceQT4/monWidgetSDCOInto.py +++ b/InterfaceQT4/monWidgetSDCOInto.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -57,10 +57,10 @@ class MonWidgetSDCOInto (Ui_WidgetSDCOInto,Feuille,SaisieSDCO): def initLBSDCO(self): - listeNomsSDCO = self.node.item.getSdAvantDuBonType() + listeNomsSDCO = self.node.item.get_sd_avant_du_bon_type() for aSDCO in listeNomsSDCO: self.LBSDCO.insertItem( 1,aSDCO) - valeur = self.node.item.getValeur() + valeur = self.node.item.get_valeur() if valeur != "" and valeur != None : self.LESDCO.setText(str(valeur.nom)) @@ -73,26 +73,26 @@ class MonWidgetSDCOInto (Ui_WidgetSDCOInto,Feuille,SaisieSDCO): """ nomConcept=str(self.LBSDCO.currentItem().text()) self.LESDCO.clear() - self.editor.initModif() - anc_val = self.node.item.getValeur() - test_CO=self.node.item.isCO(anc_val) + self.editor.init_modif() + anc_val = self.node.item.get_valeur() + test_CO=self.node.item.is_CO(anc_val) - valeur,validite=self.node.item.evalValeur(nomConcept) - test = self.node.item.setValeur(valeur) + valeur,validite=self.node.item.eval_valeur(nomConcept) + test = self.node.item.set_valeur(valeur) if not test : commentaire = tr("impossible d'evaluer : ") + valeur elif validite: commentaire = tr("Valeur du mot-clef enregistree") if test_CO: # il faut egalement propager la destruction de l'ancien concept - self.node.item.deleteValeurCo(valeur=anc_val) - self.node.item.object.etape.getType_produit(force=1) - self.node.item.object.etape.parent.resetContext() + self.node.item.delete_valeur_co(valeur=anc_val) + self.node.item.object.etape.get_type_produit(force=1) + self.node.item.object.etape.parent.reset_context() self.LESDCO.setText(nomConcept) else : - commentaire = self.node.item.getCr() + commentaire = self.node.item.get_cr() self.reset_old_valeur(anc_val,mess=mess) - self.editor.afficheInfos(commentaire,Qt.red) + self.editor.affiche_infos(commentaire,Qt.red) self.Commentaire.setText(tr(commentaire)) diff --git a/InterfaceQT4/monWidgetSimpBase.py b/InterfaceQT4/monWidgetSimpBase.py index ef4c5cea..f61b2e7b 100644 --- a/InterfaceQT4/monWidgetSimpBase.py +++ b/InterfaceQT4/monWidgetSimpBase.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -42,7 +42,7 @@ class MonWidgetSimpBase (Ui_WidgetSimpBase,Feuille): Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) self.parentQt.commandesLayout.insertWidget(-1,self,1) self.setFocusPolicy(Qt.StrongFocus) - self.lineEditVal.returnPressed.connect(self.LEvaleurPressed) + self.lineEditVal.returnPressed.connect(self.LEValeurPressed) self.AAfficher=self.lineEditVal self.maCommande.listeAffichageWidget.append(self.lineEditVal) self.lineEditVal.focusInEvent=self.monFocusInEvent @@ -56,7 +56,7 @@ class MonWidgetSimpBase (Ui_WidgetSimpBase,Feuille): def monFocusOutEvent(self,event): if self.oldValeurTexte != self.lineEditVal.text(): self.oldValeurTexte= self.lineEditVal.text() - self.LEvaleurPressed() + self.LEValeurPressed() QLineEdit.focusOutEvent(self.lineEditVal,event) #def showEvent(self, event): @@ -69,8 +69,8 @@ class MonWidgetSimpBase (Ui_WidgetSimpBase,Feuille): def setValeurs(self): #print ("dans setValeurs") self.politique=PolitiqueUnique(self.node,self.editor) - valeur=self.node.item.getValeur() - valeurTexte=self.politique.getValeurTexte(valeur) + valeur=self.node.item.get_valeur() + valeurTexte=self.politique.GetValeurTexte(valeur) chaine="" if valeurTexte != None : @@ -107,18 +107,18 @@ class MonWidgetSimpBase (Ui_WidgetSimpBase,Feuille): return commentaire - def LEvaleurPressed(self): + def LEValeurPressed(self): # pour les soucis d encoding try : if str(self.lineEditVal.text())=="" or str(self.lineEditVal.text())==None : return except : pass - SaisieValeur.LEvaleurPressed(self) + SaisieValeur.LEValeurPressed(self) self.parentQt.donneFocus() self.setValeurs() self.reaffiche() #if self.objSimp.parent.nom == "MODEL" : - # if self.objSimp.isValid(): + # if self.objSimp.isvalid(): # self.objSimp.parent.change_fichier="1" - #self.node.item.parent.buildInclude(None,"") + #self.node.item.parent.build_include(None,"") diff --git a/InterfaceQT4/monWidgetSimpBool.py b/InterfaceQT4/monWidgetSimpBool.py index 5b12888f..f26ea659 100644 --- a/InterfaceQT4/monWidgetSimpBool.py +++ b/InterfaceQT4/monWidgetSimpBool.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -43,17 +43,17 @@ class MonWidgetSimpBool (Ui_WidgetSimpBool,Feuille): self.AAfficher=self.RBTrue def setValeurs(self): - valeur=self.node.item.getValeur() + valeur=self.node.item.get_valeur() if valeur == None : return if valeur == True : self.RBTrue.setChecked(True) if valeur == False : self.RBFalse.setChecked(True) def boutonTrueClic(self): - SaisieValeur.LEvaleurPressed(self,True) + SaisieValeur.LEValeurPressed(self,True) self.reaffiche() def boutonFalseClic(self): - SaisieValeur.LEvaleurPressed(self,False) + SaisieValeur.LEValeurPressed(self,False) self.reaffiche() diff --git a/InterfaceQT4/monWidgetSimpComplexe.py b/InterfaceQT4/monWidgetSimpComplexe.py index 5239a2d6..c126fd86 100644 --- a/InterfaceQT4/monWidgetSimpComplexe.py +++ b/InterfaceQT4/monWidgetSimpComplexe.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -46,8 +46,8 @@ class MonWidgetSimpComplexe (Ui_WidgetSimpComplexe,Feuille): self.setFocusPolicy(Qt.StrongFocus) self.LEImag.returnPressed.connect(self.LEImagRPressed) self.LEReel.returnPressed.connect(self.LEReelRPressed) - self.RBRI.clicked.connect(self.valeurPressed ) - self.RBMP.clicked.connect(self.valeurPressed ) + self.RBRI.clicked.connect(self.ValeurPressed ) + self.RBMP.clicked.connect(self.ValeurPressed ) self.LEComp.returnPressed.connect(self.LECompRPressed) self.maCommande.listeAffichageWidget.append(self.LEComp) #self.maCommande.listeAffichageWidget.append(self.RBRI) @@ -58,7 +58,7 @@ class MonWidgetSimpComplexe (Ui_WidgetSimpComplexe,Feuille): def setValeurs(self): self.politique=PolitiqueUnique(self.node,self.editor) - valeur=self.node.item.getValeur() + valeur=self.node.item.get_valeur() if valeur == None or valeur == '' : return if type(valeur) not in (list,tuple) : self.LEComp.setText(str(valeur)) @@ -81,15 +81,15 @@ class MonWidgetSimpComplexe (Ui_WidgetSimpComplexe,Feuille): v=eval(valeur,d) except : commentaire=tr("expression invalide") - self.editor.afficheInfos(commentaire,Qt.red) + self.editor.affiche_infos(commentaire,Qt.red) return try : i=v.imag - self.editor.afficheInfos(commentaire) - self.valeurPressed() + self.editor.affiche_infos(commentaire) + self.ValeurPressed() except : commentaire=tr("l expression n est pas de la forme a+bj") - self.editor.afficheInfos(commentaire,Qt.red) + self.editor.affiche_infos(commentaire,Qt.red) def LEReelRPressed(self): self.LEComp.clear() @@ -97,11 +97,11 @@ class MonWidgetSimpComplexe (Ui_WidgetSimpComplexe,Feuille): valeur = str(self.LEReel.text()) try : a=locale.atof(valeur) - self.editor.afficheInfos(commentaire) + self.editor.affiche_infos(commentaire) except : commentaire=tr("expression invalide") - self.editor.afficheInfos(commentaire,Qt.red) - if self.LEImag.text()!="" : self.valeurPressed() + self.editor.affiche_infos(commentaire,Qt.red) + if self.LEImag.text()!="" : self.ValeurPressed() def LEImagRPressed(self): self.LEComp.clear() @@ -109,11 +109,11 @@ class MonWidgetSimpComplexe (Ui_WidgetSimpComplexe,Feuille): valeur = str(self.LEImag.text()) try : a=locale.atof(valeur) - self.editor.afficheInfos(commentaire) + self.editor.affiche_infos(commentaire) except : commentaire=tr("expression invalide") - self.editor.afficheInfos(commentaire,Qt.red) - if self.LEReel.text()!="" : self.valeurPressed() + self.editor.affiche_infos(commentaire,Qt.red) + if self.LEReel.text()!="" : self.ValeurPressed() def finCommentaire(self): commentaire="valeur de type complexe" @@ -127,28 +127,28 @@ class MonWidgetSimpComplexe (Ui_WidgetSimpComplexe,Feuille): v=eval(valeur,d) except : commentaire=tr("expression invalide") - self.editor.afficheInfos(commentaire,Qt.red) + self.editor.affiche_infos(commentaire,Qt.red) return None try : i=v.imag except : commentaire=tr("expression n est pas de la forme a+bj") - self.editor.afficheInfos(commentaire,Qt.red) + self.editor.affiche_infos(commentaire,Qt.red) return None return v - def valeurPressed(self): + def ValeurPressed(self): if self.LEComp.text()== "" and (self.LEReel.text()=="" or self.LEImag.text()=="") : return if self.LEComp.text()== "" : valeur = self.getValeurRI() else : if self.LEReel.text() != "" or self.LEImag.text() != "" : commentaire=tr("entrer une seule valeur SVP") - self.editor.afficheInfos(commentaire,Qt.red) + self.editor.affiche_infos(commentaire,Qt.red) return valeur= self.getValeurComp() - self.politique.recordValeur(valeur) + self.politique.RecordValeur(valeur) self.reaffiche() self.parentQt.donneFocus() @@ -163,7 +163,7 @@ class MonWidgetSimpComplexe (Ui_WidgetSimpComplexe,Feuille): l.append("RI") else : commentaire=tr("saisir le type de complexe") - self.editor.afficheInfos(commentaire,Qt.red) + self.editor.affiche_infos(commentaire,Qt.red) return None try : l.append(locale.atof(str(self.LEReel.text()))) diff --git a/InterfaceQT4/monWidgetSimpFichier.py b/InterfaceQT4/monWidgetSimpFichier.py index 80970e1c..4b7667e0 100644 --- a/InterfaceQT4/monWidgetSimpFichier.py +++ b/InterfaceQT4/monWidgetSimpFichier.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/InterfaceQT4/monWidgetSimpSalome.py b/InterfaceQT4/monWidgetSimpSalome.py index af575fd9..a970c95f 100644 --- a/InterfaceQT4/monWidgetSimpSalome.py +++ b/InterfaceQT4/monWidgetSimpSalome.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -45,19 +45,19 @@ class MonWidgetSimpSalome (Ui_WidgetSimpSalome,Feuille): self.parentQt.commandesLayout.insertWidget(-1,self,1) self.setFocusPolicy(Qt.StrongFocus) self.politique=PolitiqueUnique(self.node,self.editor) - self.lineEditVal.returnPressed.connect(self.LEvaleurPressed) + self.lineEditVal.returnPressed.connect(self.LEValeurPressed) self.AAfficher=self.lineEditVal self.maCommande.listeAffichageWidget.append(self.lineEditVal) - def LEvaleurPressed(self): + def LEValeurPressed(self): if str(self.lineEditVal.text())=="" or str(self.lineEditVal.text())==None : return - SaisieValeur.LEvaleurPressed(self) + SaisieValeur.LEValeurPressed(self) self.parentQt.donneFocus() self.setValeurs() self.reaffiche() def setValeurs(self): - valeur=self.node.item.getValeur() + valeur=self.node.item.get_valeur() if valeur != None : self.lineEditVal.setText(str(valeur)) diff --git a/InterfaceQT4/monWidgetSimpTuple.py b/InterfaceQT4/monWidgetSimpTuple.py index b75a5676..2222fe6f 100644 --- a/InterfaceQT4/monWidgetSimpTuple.py +++ b/InterfaceQT4/monWidgetSimpTuple.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -32,9 +32,9 @@ from PyQt5.QtCore import Qt # Modules Eficas from Extensions.i18n import tr -from InterfaceQT4.feuille import Feuille -from InterfaceQT4.politiquesValidation import PolitiqueUnique -from InterfaceQT4.qtSaisie import SaisieValeur +from .feuille import Feuille +from .politiquesValidation import PolitiqueUnique +from .qtSaisie import SaisieValeur class MonWidgetSimpTuple(Feuille): @@ -46,7 +46,7 @@ class MonWidgetSimpTuple(Feuille): self.setFocusPolicy(Qt.StrongFocus) def setValeurs(self): - valeur=self.node.item.getValeur() + valeur=self.node.item.get_valeur() for i in range(self.nbValeurs) : nomLineEdit="lineEditVal"+str(i+1) courant=getattr(self,nomLineEdit) @@ -56,7 +56,7 @@ class MonWidgetSimpTuple(Feuille): def valeursPressed(self): aLeFocus=self.focusWidget() - self.editor.afficheInfos("") + self.editor.affiche_infos("") texteValeur="" for i in range(self.nbValeurs) : nomLineEdit="lineEditVal"+str(i+1) @@ -79,10 +79,9 @@ class MonWidgetSimpTuple(Feuille): else : s=s+'"' courant.setText(s) texteValeur+=str(courant.text()) - #print (texteValeur) if i+1 != self.nbValeurs : texteValeur+=',' - validite,commentaire=self.politique.recordValeur(texteValeur) - if not validite:self.editor.afficheInfos(commentaire+" "+str(self.objSimp.definition.validators.typeDesTuples),Qt.red) + validite,commentaire=self.politique.RecordValeur(texteValeur) + if not validite:self.editor.affiche_infos(commentaire+" "+str(self.objSimp.definition.validators.typeDesTuples),Qt.red) # Passage au champ suivant nom=aLeFocus.objectName()[11:] diff --git a/InterfaceQT4/monWidgetSimpTuple2.py b/InterfaceQT4/monWidgetSimpTuple2.py index 0d74bcaf..36d1e2ce 100644 --- a/InterfaceQT4/monWidgetSimpTuple2.py +++ b/InterfaceQT4/monWidgetSimpTuple2.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/InterfaceQT4/monWidgetSimpTuple3.py b/InterfaceQT4/monWidgetSimpTuple3.py index e805c2b0..1a76cdb7 100644 --- a/InterfaceQT4/monWidgetSimpTuple3.py +++ b/InterfaceQT4/monWidgetSimpTuple3.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/InterfaceQT4/monWidgetSimpTupleN.py b/InterfaceQT4/monWidgetSimpTupleN.py deleted file mode 100644 index 10eb8092..00000000 --- a/InterfaceQT4/monWidgetSimpTupleN.py +++ /dev/null @@ -1,103 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D -# -# 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. -# -# 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 -# -# Modules Python -from __future__ import absolute_import -import types,os - -# Modules Eficas -#from PyQt4.QtGui import * -#from PyQt4.QtCore import * -from Extensions.i18n import tr - -from InterfaceQT4.feuille import Feuille -from InterfaceQT4.monWidgetSimpTuple import MonWidgetSimpTuple -from desWidgetTuple2 import Ui_WidgetTuple2 -from desWidgetTuple3 import Ui_WidgetTuple3 -from desWidgetTuple4 import Ui_WidgetTuple4 -from desWidgetTuple5 import Ui_WidgetTuple5 -from desWidgetTuple6 import Ui_WidgetTuple6 -from desWidgetTuple7 import Ui_WidgetTuple7 -from desWidgetTuple8 import Ui_WidgetTuple8 -from desWidgetTuple9 import Ui_WidgetTuple9 -from desWidgetTuple10 import Ui_WidgetTuple10 - - -class MonWidgetSimpTuple2 (Ui_WidgetTuple2,MonWidgetSimpTuple): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - self.nbValeurs=2 - MonWidgetSimpTuple.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) - if self.objSimp.isImmuable() : - self.lineEditVal1.setDisabled(True) - self.lineEditVal2.setDisabled(True) - self.lineEditVal1.setStyleSheet("background:rgb(244,244,244);\n" "border:0px;\n") - self.lineEditVal2.setStyleSheet("background:rgb(244,244,244);\n" "border:0px;\n") - self.lineEditVal1.setToolTip(tr("Valeur non modifiable")) - self.lineEditVal2.setToolTip(tr("Valeur non modifiable")) - else : - self.maCommande.listeAffichageWidget.append(self.lineEditVal1) - -class MonWidgetSimpTuple3 (Ui_WidgetTuple3,MonWidgetSimpTuple): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - self.nbValeurs=3 - MonWidgetSimpTuple.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) - if self.objSimp.isImmuable() : - self.lineEditVal1.setDisabled(True) - self.lineEditVal2.setDisabled(True) - self.lineEditVal1.setStyleSheet("background:rgb(244,244,244);\n" "border:0px;\n") - self.lineEditVal2.setStyleSheet("background:rgb(244,244,244);\n" "border:0px;\n") - self.lineEditVal1.setToolTip(tr("Valeur non modifiable")) - self.lineEditVal2.setToolTip(tr("Valeur non modifiable")) - else : - self.maCommande.listeAffichageWidget.append(self.lineEditVal1) - -class MonWidgetSimpTuple4 (Ui_WidgetTuple4,MonWidgetSimpTuple): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - self.nbValeurs=4 - MonWidgetSimpTuple.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) - -class MonWidgetSimpTuple5 (Ui_WidgetTuple5,MonWidgetSimpTuple): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - self.nbValeurs=5 - MonWidgetSimpTuple.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) - -class MonWidgetSimpTuple6 (Ui_WidgetTuple6,MonWidgetSimpTuple): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - self.nbValeurs=6 - MonWidgetSimpTuple.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) - -class MonWidgetSimpTuple7 (Ui_WidgetTuple7,MonWidgetSimpTuple): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - self.nbValeurs=7 - MonWidgetSimpTuple.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) - -class MonWidgetSimpTuple8 (Ui_WidgetTuple8,MonWidgetSimpTuple): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - self.nbValeurs=8 - MonWidgetSimpTuple.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) - -class MonWidgetSimpTuple9 (Ui_WidgetTuple9,MonWidgetSimpTuple): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - self.nbValeurs=9 - MonWidgetSimpTuple.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) - -class MonWidgetSimpTuple10 (Ui_WidgetTuple10,MonWidgetSimpTuple): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - self.nbValeurs=10 - MonWidgetSimpTuple.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) diff --git a/InterfaceQT4/monWidgetSimpTxt.py b/InterfaceQT4/monWidgetSimpTxt.py index ca0cb7fe..4cec618a 100644 --- a/InterfaceQT4/monWidgetSimpTxt.py +++ b/InterfaceQT4/monWidgetSimpTxt.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/InterfaceQT4/monWidgetTableau.py b/InterfaceQT4/monWidgetTableau.py deleted file mode 100644 index 5a0bc061..00000000 --- a/InterfaceQT4/monWidgetTableau.py +++ /dev/null @@ -1,73 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D -# -# 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. -# -# 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 -# -# Modules Python -from __future__ import absolute_import -import types,os - -# Modules Eficas - -from PyQt5.QtWidgets import QLabel, QSizePolicy, QSpacerItem -from PyQt5.QtCore import QSize - -from InterfaceQT4.feuille import Feuille -from InterfaceQT4.monWidgetPlusieursTuple import MonWidgetPlusieursTuple -from desWidgetPlusieursTuple import Ui_WidgetPlusieursTuple -from desWidgetTableau import Ui_WidgetTableau - -maxLen=3 - - -class MonWidgetTableau (Ui_WidgetTableau,MonWidgetPlusieursTuple): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - self.nbValeurs=len(monSimpDef.homo) - MonWidgetPlusieursTuple.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) - - sizePolicy = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - - - for i in range(len(monSimpDef.homo)): - nomCol='LECol'+str(i+1) - objCol=QLabel(self) - objCol.setMinimumSize(QSize(80, 25)) - objCol.setText(monSimpDef.homo[i]) - self.LATitre.addWidget(objCol) - setattr(self,nomCol,objCol) - spacerItem = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum) - self.LATitre.addItem(spacerItem) - - - -# monObjTitreCol=getattr(self,nomCol) -# monObjTitreCol.setText(monSimpDef.homo[i]) - -# for i in range(maxLen-len(monSimpDef.homo)): -# index=i+len(monSimpDef.homo)+1 -# nomCol='LECol'+str(index) -# monObjTitreCol=getattr(self,nomCol) -# monObjTitreCol.close() - - self.resize(self.width(),1800) - - def ajoutLineEdit(self,valeur=None,inInit=False): - hauteurAvant=(self.frame.height()) - MonWidgetPlusieursTuple.ajoutLineEdit(self,valeur,inInit) - diff --git a/InterfaceQT4/monWidgetUniqueSDCO.py b/InterfaceQT4/monWidgetUniqueSDCO.py index 3d733331..aa88a1b9 100644 --- a/InterfaceQT4/monWidgetUniqueSDCO.py +++ b/InterfaceQT4/monWidgetUniqueSDCO.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -44,7 +44,7 @@ class MonWidgetUniqueSDCO (Ui_WidgetUniqueSDCO,Feuille,SaisieSDCO): self.maCommande.listeAffichageWidget.append(self.LESDCO) self.AAficher=self.LESDCO - valeur = self.node.item.getValeur() + valeur = self.node.item.get_valeur() if valeur != "" and valeur != None : self.LESDCO.setText(valeur.nom) self.connect(self.LESDCO,SIGNAL("returnPressed()"),self.LESDCOReturnPressed) diff --git a/InterfaceQT4/monWidgetVide.py b/InterfaceQT4/monWidgetVide.py index 1fb2e720..39c3dd4a 100644 --- a/InterfaceQT4/monWidgetVide.py +++ b/InterfaceQT4/monWidgetVide.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -24,16 +24,16 @@ import types,os # Modules Eficas from Extensions.i18n import tr -from .feuille import Feuille -from desWidgetVide import Ui_WidgetVide -from InterfaceQT4.politiquesValidation import PolitiqueUnique +from .feuille import Feuille +from desWidgetVide import Ui_WidgetVide + + class MonWidgetVide (Ui_WidgetVide,Feuille): def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) - self.politique=PolitiqueUnique(self.node,self.editor) t=self.node.item.object.definition.type[0].__name__ self.lineEditVal.setText('Attend un objet de type '+t+'. Il faut en créer') self.parentQt.commandesLayout.insertWidget(-1,self) diff --git a/InterfaceQT4/old/utilIcons.py b/InterfaceQT4/old/utilIcons.py new file mode 100644 index 00000000..be2cc866 --- /dev/null +++ b/InterfaceQT4/old/utilIcons.py @@ -0,0 +1,78 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2013 EDF R&D +# +# 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. +# +# 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 +# + +from PyQt4.QtGui import QPixmap, QIcon +import os + +class PixmapCache: + """ + Class implementing a pixmap cache for icons. + """ + def __init__(self): + """ + Constructor + """ + self.pixmapCache = {} + + + def getPixmap(self, key): + """ + Public method to retrieve a pixmap. + + @param key name of the wanted pixmap (string) + @return the requested pixmap (QPixmap) + """ + if (1==1): + #try: + key="/local/pnoyret/Install_Eficas/EficasV1/InterfaceQT/icons/"+key + return QPixmap(key) + #return self.pixmapCache[key] + #except KeyError: + else : + self.pixmapCache[key] = QPixmap.fromMimeSource(key) + return self.pixmapCache[key] + +pixCache = PixmapCache() + +def getPixmap(key, cache = pixCache): + """ + Module function to retrieve a pixmap. + + @param key name of the wanted pixmap (string) + @return the requested pixmap (QPixmap) + """ + return cache.getPixmap(key) + +def getIcon(key): + key="/local/pnoyret/Install_Eficas/EficasV1/InterfaceQT/icons/"+key + return QIcon(key) + + +#from PyQt4.Qt3Support import Q3MimeSourceFactory + +#def initializeMimeSourceFactory(): + """ + Function to initialize the default mime source factory. + + """ +# defaultFactory = Q3MimeSourceFactory.defaultFactory() +# repini=os.path.dirname(os.path.abspath(__file__)) +# defaultFactory.addFilePath(repini+"/../Editeur/icons") #CS_pbruno todo (config) + diff --git a/InterfaceQT4/politiquesValidation.py b/InterfaceQT4/politiquesValidation.py index a93175d7..1cd9c713 100644 --- a/InterfaceQT4/politiquesValidation.py +++ b/InterfaceQT4/politiquesValidation.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -35,19 +35,19 @@ class Validation(object) : self.node=node self.parent=parent - def testeUneValeur(self,valeurentree): + def TesteUneValeur(self,valeurentree): commentaire = None - valeur,validite=self.node.item.evalValeur(valeurentree) + valeur,validite=self.node.item.eval_valeur(valeurentree) if not validite : commentaire = "impossible d'evaluer : %s " %repr(valeurentree) return valeur,validite,commentaire - if self.node.item.waitTxm() and not( type(valeur) == str) : valeur=str(valeur) + if self.node.item.wait_TXM() and not( type(valeur) == str) : valeur=str(valeur) - testtype,commentaire = self.node.item.object.verifType(valeur) + testtype,commentaire = self.node.item.object.verif_type(valeur) if not testtype : return valeur,0,commentaire - valide=self.node.item.valideItem(valeur) + valide=self.node.item.valide_item(valeur) if type(valide) == tuple: validite,commentaire=valide else : @@ -56,21 +56,20 @@ class Validation(object) : if not validite and commentaire is None: commentaire = "impossible d'evaluer : %s " %repr(valeurentree) - #print ('ds testeUneValeur', valeur, validite, commentaire) return valeur, validite, commentaire # ---------------------------------------------------------------------------------------- # Methodes utilisees pour la manipulation des items en notation scientifique # a mettre au point # ---------------------------------------------------------------------------------------- - def setValeurTexte(self,texteValeur) : + def SetValeurTexte(self,texteValeur) : try : if "R" in self.node.item.object.definition.type: if texteValeur[0] != "'": clef=eval(texteValeur) if str(clef) != str(texteValeur) : - self.node.item.object.initModif() - clefobj=self.node.item.object.getNomConcept() + self.node.item.object.init_modif() + clefobj=self.node.item.object.GetNomConcept() if not clefobj in self.parent.appliEficas.dict_reels: self.parent.appliEficas.dict_reels[clefobj] = {} self.parent.appliEficas.dict_reels[clefobj][clef]=texteValeur @@ -79,26 +78,26 @@ class Validation(object) : if not self.node.item.object.etape in self.parent.appliEficas.dict_reels : self.parent.appliEficas.dict_reels[self.node.item.object.etape] = {} self.parent.appliEficas.dict_reels[self.node.item.object.etape][clef]=texteValeur - self.node.item.object.finModif() + self.node.item.object.fin_modif() except: pass - def getValeurTexte(self,valeur) : + def GetValeurTexte(self,valeur) : valeurTexte=valeur if valeur == None : return valeur from decimal import Decimal if isinstance(valeur,Decimal) : - if self.node.waitTxm() and not self.isParam(valeur) : return "'"+str(valeur)+"'" + if self.node.wait_TXM() and not self.is_param(valeur) : return "'"+str(valeur)+"'" else : return(valeur) if "R" in self.node.item.object.definition.type: - clefobj=self.node.item.object.getNomConcept() + clefobj=self.node.item.object.GetNomConcept() if clefobj in self.parent.appliEficas.dict_reels: if valeur in self.parent.appliEficas.dict_reels[clefobj] : valeurTexte=self.parent.appliEficas.dict_reels[clefobj][valeur] else : if str(valeur).find('.') == -1 and str(valeur).find('e') == -1 and str(valeur).find('E'): # aucun '.' n'a ete trouve dans valeur --> on en rajoute un a la fin - if (self.isParam(valeur)): + if (self.is_param(valeur)): return valeur else: try : @@ -107,13 +106,13 @@ class Validation(object) : pass return valeurTexte - def isParam(self,valeur) : + def is_param(self,valeur) : for param in self.node.item.jdc.params: if ((repr(param) == repr(valeur)) or (str(param)==str(valeur))): return 1 return 0 - def ajoutDsDictReel(self,texteValeur): + def AjoutDsDictReel(self,texteValeur): # le try except est necessaire pour saisir les parametres # on enleve l erreur de saisie 00 pour 0 if str(texteValeur)== '00' : return @@ -122,7 +121,7 @@ class Validation(object) : if str(texteValeur)[0] != "'": clef=eval(texteValeur) if str(clef) != str(texteValeur) : - clefobj=self.node.item.object.getNomConcept() + clefobj=self.node.item.object.GetNomConcept() if not clefobj in self.parent.appliEficas : self.parent.appliEficas.dict_reels[clefobj] = {} self.parent.appliEficas.dict_reels[clefobj][clef]=texteValeur @@ -134,7 +133,7 @@ class Validation(object) : except: pass - def ajoutDsDictReelEtape(self): + def AjoutDsDictReelEtape(self): try: if self.node.item.object in self.parent.appliEficas.dict_reels: self.parent.appliEficas.dict_reels[self.node.item.sdnom]=self.parent.appliEficas.dict_reels[self.node.item.object] @@ -152,24 +151,24 @@ class PolitiqueUnique(Validation) : def __init__(self,node,parent): Validation.__init__(self,node,parent) - def recordValeur(self,valeurentree): - if self.parent.modified == 'n' : self.parent.initModif() - ancienneVal = self.node.item.getValeur() - valeur,validite,commentaire =self.testeUneValeur(valeurentree) + def RecordValeur(self,valeurentree): + if self.parent.modified == 'n' : self.parent.init_modif() + ancienne_val = self.node.item.get_valeur() + valeur,validite,commentaire =self.TesteUneValeur(valeurentree) if validite and ('R' in self.node.item.object.definition.type) and not(isinstance(valeur,PARAMETRE)) : s=valeurentree if (s.find('.')== -1 and s.find('e')== -1 and s.find('E')==-1) : s=s+'.' - valeur,validite,commentaire =self.testeUneValeur(s) + valeur,validite,commentaire =self.TesteUneValeur(s) if validite : - validite=self.node.item.setValeur(valeur) - if self.node.item.isValid(): + validite=self.node.item.set_valeur(valeur) + if self.node.item.isvalid(): commentaire = tr("Valeur du mot-cle enregistree") #commentaire = "Valeur du mot-cle enregistree" - self.setValeurTexte(str(valeurentree)) + self.SetValeurTexte(str(valeurentree)) else: - cr = self.node.item.getCr() - commentaire = tr("Valeur du mot-cle non autorisee ")+cr.getMessFatal() - self.node.item.setValeur(ancienneVal) + cr = self.node.item.get_cr() + commentaire = tr("Valeur du mot-cle non autorisee ")+cr.get_mess_fatal() + self.node.item.set_valeur(ancienne_val) return validite, commentaire @@ -187,7 +186,7 @@ class PolitiquePlusieurs(Validation): #print self.parent - def ajoutValeurs(self,listevaleur,index,listecourante): + def AjoutValeurs(self,listevaleur,index,listecourante): listeRetour=[] commentaire="Nouvelle valeur acceptee" commentaire2="" @@ -197,7 +196,7 @@ class PolitiquePlusieurs(Validation): if not( type(listevaleur) in (list,tuple)) : listevaleur=tuple(listevaleur) # on verifie que la cardinalite max n a pas ete atteinte - min,max = self.node.item.getMinMax() + min,max = self.node.item.GetMinMax() if len(listecourante) + len(listevaleur) > max : commentaire="La liste atteint le nombre maximum d'elements : "+ str(max) +" ,ajout refuse" return False,commentaire,commentaire2,listeRetour @@ -205,11 +204,11 @@ class PolitiquePlusieurs(Validation): for valeur in listevaleur : # On teste le type de la valeur valeurScientifique=valeur - valide=self.node.item.valideItem(valeur) + valide=self.node.item.valide_item(valeur) if not valide : try : - valeur,valide=self.node.item.evalValeur(valeur) - valide,commentaire2 = self.node.item.object.verifType(valeur) + valeur,valide=self.node.item.eval_valeur(valeur) + valide,commentaire2 = self.node.item.object.verif_type(valeur) except : #return testtype,commentaire,"",listeRetour pass @@ -218,15 +217,15 @@ class PolitiquePlusieurs(Validation): commentaire="Valeur "+str(valeur)+ " incorrecte : ajout a la liste refuse: On attend une chaine de caracteres < 8" else : commentaire="Valeur "+str(valeur)+ " incorrecte : ajout a la liste refuse" - if commentaire2== "" :commentaire2=self.node.item.infoErreurItem() + if commentaire2== "" :commentaire2=self.node.item.info_erreur_item() return valide,commentaire,commentaire2,listeRetour # On valide la liste obtenue - encorevalide=self.node.item.valideListePartielle(valeur,listecourante) + encorevalide=self.node.item.valide_liste_partielle(valeur,listecourante) if not encorevalide : - commentaire2=self.node.item.infoErreurListe() + commentaire2=self.node.item.info_erreur_liste() # On traite le cas ou la liste n est pas valide pour un pb de cardinalite - min,max = self.node.item.getMinMax() + min,max = self.node.item.GetMinMax() if len(listecourante) + 1 >= max : commentaire="La liste atteint le nombre maximum d'elements : "+ str(max) +" ,ajout refuse" return valide,commentaire,commentaire2,listeRetour @@ -234,14 +233,14 @@ class PolitiquePlusieurs(Validation): commentaire="" return valide,commentaire,commentaire2,listeRetour # On ajoute la valeur testee a la liste courante et a la liste acceptee - self.ajoutDsDictReel(valeurScientifique) + self.AjoutDsDictReel(valeurScientifique) listecourante.insert(index,valeur) index=index+1 listeRetour.append(valeur) return valide,commentaire,commentaire2,listeRetour - def ajoutTuple(self,valeurTuple,listecourante): + def AjoutTuple(self,valeurTuple,listecourante): listeRetour=[] commentaire="Nouvelle valeur acceptee" commentaire2="" @@ -249,46 +248,22 @@ class PolitiquePlusieurs(Validation): if valeurTuple==None: return if valeurTuple==['']: return # On teste le type de la valeur - valide=self.node.item.valideItem(valeurTuple) + valide=self.node.item.valide_item(valeurTuple) if not valide : try : - valeur,valide=self.node.item.evalValeur(valeurTuple) - valide = self.node.item.valideItem(valeur) + valeur,valide=self.node.item.eval_valeur(valeurTuple) + valide = self.node.item.valide_item(valeur) except : pass if not valide: commentaire="Valeur "+str(valeurTuple)+ " incorrecte : ajout a la liste refuse" - commentaire2=self.node.item.infoErreurItem() + commentaire2=self.node.item.info_erreur_item() return valide,commentaire,commentaire2,listeRetour # On valide la liste obtenue - encorevalide=self.node.item.valideListePartielle(valeurTuple,listecourante) + encorevalide=self.node.item.valide_liste_partielle(valeurTuple,listecourante) if not encorevalide : - commentaire2=self.node.item.infoErreurListe() + commentaire2=self.node.item.info_erreur_liste() return valide,commentaire,commentaire2,listeRetour listeRetour.append(valeurTuple) return valide,commentaire,commentaire2,listeRetour - - def ajoutNTuple(self,liste): - listeRetour=[] - commentaire="Nouvelles valeurs acceptee" - commentaire2="" - print (self.node.item.valideListePartielle) - valide=self.node.item.valideListePartielle(None,liste) - if not valide : - commentaire2=self.node.item.infoErreurListe() - return valide,commentaire,commentaire2,listeRetour - - def recordValeur(self,liste,dejaValide=True): - ancienneVal = self.node.item.getValeur() - validite=self.node.item.setValeur(liste) - if validite : self.node.item.initModif() - if self.node.item.isValid(): - commentaire = tr("Valeur du mot-cle enregistree") - else: - cr = self.node.item.getCr() - commentaire = tr("Valeur du mot-cle non autorisee ")+cr.getMessFatal() - self.node.item.setValeur(ancienneVal) - return validite, commentaire - - diff --git a/InterfaceQT4/qtEficas.py b/InterfaceQT4/qtEficas.py index e02e0aa3..2c84c375 100755 --- a/InterfaceQT4/qtEficas.py +++ b/InterfaceQT4/qtEficas.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: iso-8859-1 -*- # Copyright (C) 2007-2017 EDF R&D # @@ -29,133 +28,136 @@ import os, sys import six -from PyQt5.QtWidgets import QApplication, QMainWindow, QGridLayout, QBoxLayout, QMenu, QAction, QMessageBox +from PyQt5.QtWidgets import QApplication, QMainWindow, QBoxLayout, QMenu, QAction, QMessageBox from PyQt5.QtGui import QIcon -from PyQt5.QtCore import Qt, QSize - - -from Editeur import session -from myMain import Ui_Eficas -from InterfaceQT4.viewManager import MyViewManager -from InterfaceQT4.qtEficasSsIhm import AppliSsIhm +from PyQt5.QtCore import Qt from Extensions.i18n import tr from Extensions.eficas_exception import EficasException from Extensions import param2 -class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): +from myMain import Ui_Eficas +from .viewManager import MyTabview +from .getVersion import getEficasVersion +from Editeur import session + + + +class Appli(Ui_Eficas,QMainWindow): """ Class implementing the main user interface. """ - def __init__(self,code=None,salome=1,parent=None,ssCode=None,multi=False,langue='fr',ssIhm=False,versionCode=None): + def __init__(self,code=None,salome=1,parent=None,ssCode=None,multi=False,langue='fr',ssIhm=False): """ Constructor """ - if ssIhm == True : - print ('mauvaise utilisation de la classe Appli. Utiliser AppliSsIm SVP') - exit() - - AppliSsIhm.__init__(self,code,salome,parent,ssCode,multi,langue,ssIhm=True,versionCode=None) QMainWindow.__init__(self,parent) Ui_Eficas.__init__(self) - self.ssIhm=False + + + version=getEficasVersion() + self.VERSION_EFICAS="Eficas QT5 Salome " + version + self.salome=salome + self.parentMainWindow=parent + self.ihm="QT" + self.ssIhm=ssIhm + self.top = self #(pour CONFIGURATION) + self.QWParent=None #(Pour lancement sans IHM) + self.code=code + self.indice=0 + self.first=1 + self.dict_reels={} + self.recent = [] + self.ficRecents={} + self.mesScripts={} + self.listeAEnlever=[] + self.ListePathCode=['Adao','ADAO','Carmel3D','Telemac','CF','MAP','ZCracks', 'SEP','SPECA','PSEN_Eficas','PSEN_N1'] + self.listeCode=['Adao','ADAO','Carmel3D','Telemac','CF','MAP','ZCracks', 'SEP','SPECA','PSEN_Eficas','PSEN_N1'] + self.repIcon=os.path.join( os.path.dirname(os.path.abspath(__file__)),'..','Editeur','icons') + + + if self.salome: + import Accas + try : + import eficasSalome + Accas.SalomeEntry = eficasSalome.SalomeEntry + except : + print ('eficas hors salome') + self.multi=multi - self.demande=multi # voir PSEN + self.demande=multi # specifique PSEN + + if langue=='fr': self.langue=langue + else : self.langue="ang" if self.multi == False : self.definitCode(code,ssCode) if code==None: return - else : - print ('a programmer') + + + + self.suiteTelemac=False - if hasattr (self, 'maConfiguration') : - if self.maConfiguration.force_langue : - from InterfaceQT4.monChoixLangue import MonChoixLangue + if hasattr (self, 'CONFIGURATION') : + if self.CONFIGURATION.force_langue : + from .monChoixLangue import MonChoixLangue widgetLangue = MonChoixLangue(self) ret=widgetLangue.exec_() - self.suiteTelemac=self.maConfiguration.suiteTelemac + self.suiteTelemac=self.CONFIGURATION.suiteTelemac - if not self.salome and hasattr (self, 'maConfiguration') and hasattr(self.maConfiguration,'lang') : self.langue=self.maConfiguration.lang + if not self.salome and hasattr (self, 'CONFIGURATION') and hasattr(self.CONFIGURATION,'lang') : self.langue=self.CONFIGURATION.lang from Extensions import localisation app=QApplication - if hasattr (self, 'maConfiguration') : localisation.localise(None,self.langue,translatorFichier=self.maConfiguration.translatorFichier) - self.setupUi(self) + if hasattr (self, 'CONFIGURATION') : localisation.localise(None,self.langue,translatorFichier=self.CONFIGURATION.translatorFichier) + self.setupUi(self) #if parent != None : self.parentCentralWidget = parent.centralWidget() #else : self.parentCentralWidget = None if not self.salome : - if hasattr (self, 'maConfiguration') and hasattr(self.maConfiguration,'taille') : self.taille=self.maConfiguration.taille + if hasattr (self, 'CONFIGURATION') and hasattr(self.CONFIGURATION,'taille') : self.taille=self.CONFIGURATION.taille else : self.taille=1700 - #if self.code in ['MAP',] : self.resize(1440,self.height()) - #else : self.resize(self.taille,self.height()) - self.resize(self.taille,self.height()) + if self.code in ['MAP',] : self.resize(1440,self.height()) + else : self.resize(self.taille,self.height()) icon = QIcon(self.repIcon+"/parametres.png") self.actionParametres.setIcon(icon) - if hasattr (self, 'maConfiguration') and self.maConfiguration.boutonDsMenuBar : - self.frameEntete.setMaximumSize(QSize(16777215,100)) - self.frameEntete.setMinimumSize(QSize(0,100)) - if hasattr (self, 'maConfiguration') and self.maConfiguration.enleverActionStructures : - self.enleverActionsStructures() - if hasattr (self, 'maConfiguration') and self.maConfiguration.enleverParametres : - self.enleverParametres() - if hasattr (self, 'maConfiguration') and self.maConfiguration.enleverSupprimer : - self.enleverSupprimer() self.myQtab.removeTab(0) - self.blEnteteGlob = QBoxLayout(2,self.frameEntete) - self.blEnteteGlob.setSpacing(0) - self.blEnteteGlob.setContentsMargins(0,0,0,0) - - self.blEntete = QBoxLayout(0) + self.blEntete= QBoxLayout(0,self.frameEntete) self.blEntete.insertWidget(0,self.toolBar) self.blEntete.insertWidget(0,self.menubar) - self.blEnteteGlob.insertLayout(0,self.blEntete) - - - if hasattr (self, 'maConfiguration') and self.maConfiguration.boutonDsMenuBar : - self.blEnteteCommmande = QBoxLayout(0) - self.blEnteteCommmande.insertWidget(0,self.toolBarCommande) - self.toolBarCommande.setIconSize(QSize(96,96)) - self.blEnteteGlob.insertLayout(-1,self.blEnteteCommmande) - else : - self.toolBarCommande.close() - - - if hasattr (self, 'maConfiguration') and self.maConfiguration.closeEntete==True and self.salome: self.closeEntete() + if hasattr (self, 'CONFIGURATION') and self.CONFIGURATION.closeEntete==True and self.salome: self.closeEntete() eficas_root_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) - self.viewmanager = MyViewManager(self) + #self.resize(20,20) + self.viewmanager = MyTabview(self) self.recentMenu=QMenu(tr('&Recents')) #self.menuFichier.insertMenu(self.actionOuvrir,self.recentMenu) - # actionARemplacer ne sert que pour l insert Menu self.menuFichier.insertMenu(self.actionARemplacer ,self.recentMenu) self.menuFichier.removeAction(self.actionARemplacer) self.connecterSignaux() self.toolBar.addSeparator() - if self.code != None : self.construitMenu() self.setWindowTitle(self.VERSION_EFICAS) - try : - #if 1 : - # print ('attention try devient if 1') + #try : + if 1 : self.ouvreFichiers() - except EficasException as exc: + #except EficasException, exc: #except: # print "je suis dans le except" - if self.salome == 0 : exit() + #if self.salome == 0 : exit() #self.adjustSize() @@ -169,16 +171,33 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): self.ssCode=ssCode if self.code==None : self.cleanPath() - from InterfaceQT4.monChoixCode import MonChoixCode + from .monChoixCode import MonChoixCode widgetChoix = MonChoixCode(self) ret=widgetChoix.exec_() - #widgetChoix.show() + import sys if self.code == None:return # pour le cancel de la fenetre choix code - AppliSsIhm.definitCode(self,self.code,ssCode) + name='prefs_'+self.code + prefsCode=__import__(name) + self.repIni=prefsCode.repIni + if ssCode != None : + self.format_fichier= ssCode #par defaut + prefsCode.NAME_SCHEME=ssCode + else : + self.format_fichier="python" #par defaut + + nameConf='configuration_'+self.code + configuration=__import__(nameConf) + self.CONFIGURATION = configuration.make_config(self,prefsCode.repIni) + self.CONFIGStyle = None + if hasattr(configuration,'make_config_style'): + self.CONFIGStyle = configuration.make_config_style(self,prefsCode.repIni) + # + #from Extensions import localisation + #app=QApplication + #if hasattr (self, 'CONFIGURATION') : localisation.localise(None,self.langue,translatorFichier=self.CONFIGURATION.translatorFichier) #PN --> pb d exception qui font planter salome # plus supporte en python 3 - #app=QApplication #if hasattr(prefsCode,'encoding'): # import sys # reload(sys) @@ -201,17 +220,14 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): if self.code.upper() in Appli.__dict__: Appli.__dict__[self.code.upper()](self,) if self.suiteTelemac : self.lookSuiteTelemac() - self.metMenuAJourUtilisateurs() - if hasattr (self, 'maConfiguration') and self.maConfiguration.ajoutExecution : - self.ajoutExecution() def initAides(self): #print "je passe la" repAide=os.path.dirname(os.path.abspath(__file__)) fileName='index.html' self.docPath=repAide+"/../Aide" - if hasattr(self,'maConfiguration') and hasattr(self.maConfiguration,'docPath') : self.docPath=self.maConfiguration.docPath - if hasattr(self,'maConfiguration') and hasattr(self.maConfiguration,'fileName'):fileName=self.maConfiguration.fileName + if hasattr(self,'CONFIGURATION') and hasattr(self.CONFIGURATION,'docPath') : self.docPath=self.CONFIGURATION.docPath + if hasattr(self,'CONFIGURATION') and hasattr(self.CONFIGURATION,'fileName'):fileName=self.CONFIGURATION.fileName self.fileDoc=os.path.join(self.docPath,fileName) self.actionCode.setText(tr("Aide specifique ")+str(self.code)) if not os.path.isfile(self.fileDoc) : @@ -250,19 +266,19 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): def ajoutN1(self): return - self.menuN1 = self.menubar.addMenu(tr("Process Output")) - self.actionN1 = QAction(self) - self.actionN1.setText(tr("Process Output")) - self.menuN1.addAction(self.actionN1) - self.actionN1.triggered.connect(self.newN1) - - - if hasattr(self,'actionOpenProcess'):return - - self.actionOpenProcess = QAction(self) - self.actionOpenProcess.setText(tr("Open Process_Output File")) - self.menuN1.addAction(self.actionOpenProcess) - self.actionOpenProcess.triggered.connect(self.openProcess) +# self.menuN1 = self.menubar.addMenu(tr("Process Output")) +# self.actionN1 = QAction(self) +# self.actionN1.setText(tr("Process Output")) +# self.menuN1.addAction(self.actionN1) +# self.actionN1.triggered.connect(self.newN1) +# +# +# if hasattr(self,'actionOpenProcess'):return +# +# self.actionOpenProcess = QAction(self) +# self.actionOpenProcess.setText(tr("Open Process_Output File")) +# self.menuN1.addAction(self.actionOpenProcess) +# self.actionOpenProcess.triggered.connect(self.openProcess) def ajoutExecution(self): self.menuExecution = self.menubar.addMenu(tr("&Run")) @@ -312,7 +328,7 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): def enleverSupprimer(self): self.toolBar.removeAction(self.actionSupprimer) - def enlevernewInclude(self): + def enleverNewInclude(self): self.actionNouvel_Include.setVisible(False) def enleverRechercherDsCatalogue(self): @@ -323,21 +339,16 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): self.rechercherDejaLa=True self.actionRechercherDsCatalogue.triggered.connect(self.handleRechercherDsCatalogue) - def ajoutSortieComplete(self): - if hasattr(self,'actionSortieComplete') : return - self.actionSortieComplete = QAction(self) - self.actionSortieComplete.setText(tr("Sortie Complete")) - self.menuFichier.insertAction(self.actionEnregistrer_sous,self.actionSortieComplete) - self.actionSortieComplete.triggered.connect(self.handleSortieComplete) - - - def MT(self): - self.enlevernewInclude() - self.toolBar.addSeparator() + def ajoutSortieLegere(self): + if hasattr(self,'actionSortieLegere') : return + self.actionSortieLegere = QAction(self) + self.actionSortieLegere.setText(tr("Sortie Legere")) + self.menuFichier.insertAction(self.actionEnregistrer_sous,self.actionSortieLegere) + self.actionSortieLegere.triggered.connect(self.handleSortieLegere) def ZCRACKS(self): - self.enlevernewInclude() + self.enleverNewInclude() self.toolBar.addSeparator() self.ajoutExecution() @@ -347,7 +358,7 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): def ADAO(self): self.enleverActionsStructures() - self.enlevernewInclude() + self.enleverNewInclude() def ASTER(self) : self.menuTraduction = self.menubar.addMenu("menuTraduction") @@ -365,21 +376,21 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): def CARMEL3D(self): #if self.salome == 0 : return - self.enlevernewInclude() + self.enleverNewInclude() self.menuMesh = self.menubar.addMenu(tr("Gestion Maillage")) self.menuMesh.setObjectName("Mesh") self.menuMesh.addAction(self.actionChercheGrpMaille) #self.griserActionsStructures() def CARMELCND(self): - self.enlevernewInclude() + self.enleverNewInclude() self.enleverRechercherDsCatalogue() self.ajoutExecution() self.ajoutSauveExecution() self.griserActionsStructures() def MAP(self): - self.enlevernewInclude() + self.enleverNewInclude() self.toolBar.addSeparator() self.ajoutExecution() self.ajoutSauveExecution() @@ -387,14 +398,6 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): self.menuOptions.addAction(self.actionParametres_Eficas) self.menuOptions.setTitle(tr("Options")) - def MAPIDENTIFICATION(self): - self.enlevernewInclude() - self.enleverSupprimer() - #self.ajoutExecution() - self.enleverRechercherDsCatalogue() - self.enleverActionsStructures() - self.enleverParametres() - def PSEN(self): if self.first: self.first=0 try : self.action_Nouveau.triggered.disconnect(self.fileNew) @@ -406,7 +409,7 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): self.enleverActionsStructures() self.enleverParametres() self.enleverRechercherDsCatalogue() - self.enlevernewInclude() + self.enleverNewInclude() self.ajoutExecution() self.ajoutN1() self.ajoutHelpPSEN() @@ -416,19 +419,19 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): self.enleverActionsStructures() self.enleverParametres() self.enleverRechercherDsCatalogue() - self.enlevernewInclude() + self.enleverNewInclude() self.ajoutExecution() self.ajoutIcones() def TELEMAC(self): self.enleverActionsStructures() - self.enlevernewInclude() + self.enleverNewInclude() self.connectRechercherDsCatalogue() - self.ajoutSortieComplete() + self.ajoutSortieLegere() def lookSuiteTelemac(self): self.enleverActionsStructures() - self.enlevernewInclude() + self.enleverNewInclude() self.enleverParametres() self.enleverSupprimer() self.enleverRechercherDsCatalogue() @@ -489,7 +492,7 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): self.connect(self.recentMenu,SIGNAL('aboutToShow()'),self.handleShowRecentMenu) self.connect(self.action_Nouveau,SIGNAL("triggered()"),self.fileNew) - self.connect(self.actionNouvel_Include,SIGNAL("triggered()"),self.newInclude) + self.connect(self.actionNouvel_Include,SIGNAL("triggered()"),self.NewInclude) self.connect(self.actionOuvrir,SIGNAL("triggered()"),self.fileOpen) self.connect(self.actionEnregistrer,SIGNAL("triggered()"),self.fileSave) self.connect(self.actionEnregistrer_sous,SIGNAL("triggered()"),self.fileSaveAs) @@ -506,7 +509,7 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): self.connect(self.actionColler,SIGNAL("triggered()"),self.editPaste) self.connect(self.actionSupprimer,SIGNAL("triggered()"),self.supprimer) self.connect(self.actionRechercher,SIGNAL("triggered()"),self.rechercher) - self.connect(self.actionDeplier_replier,SIGNAL("triggered()"),self.handleDeplier) + self.connect(self.actionDeplier_replier,SIGNAL("triggered()"),self.Deplier) self.connect(self.actionRapport_de_Validation,SIGNAL("triggered()"),self.jdcRapport) self.connect(self.actionRegles_du_JdC,SIGNAL("triggered()"),self.jdcRegles) @@ -556,7 +559,7 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): self.recentMenu.aboutToShow.connect(self.handleShowRecentMenu) self.action_Nouveau.triggered.connect(self.fileNew) - self.actionNouvel_Include.triggered.connect(self.newInclude) + self.actionNouvel_Include.triggered.connect(self.NewInclude) self.actionOuvrir.triggered.connect(self.fileOpen) self.actionEnregistrer.triggered.connect(self.fileSave) self.actionEnregistrer_sous.triggered.connect(self.fileSaveAs) @@ -574,7 +577,7 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): self.actionColler.triggered.connect(self.editPaste) self.actionSupprimer.triggered.connect(self.supprimer) self.actionRechercher.triggered.connect(self.rechercher) - self.actionDeplier_replier.triggered.connect(self.handleDeplier) + self.actionDeplier_replier.triggered.connect(self.Deplier) self.actionRapport_de_Validation.triggered.connect(self.jdcRapport) self.actionRegles_du_JdC.triggered.connect(self.jdcRegles) @@ -618,7 +621,7 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): self.actionCode.triggered.connect(self.aideCode) - def handleDeplier(self): + def Deplier(self): self.viewmanager.handleDeplier() def ajoutCommentaire(self): @@ -630,11 +633,11 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): self.dir=cwd for study in session.d_env.studies: os.chdir(cwd) - d=session.getUnit(study,self) + d=session.get_unit(study,self) self.viewmanager.handleOpen(fichier=study["comm"],units=d) - def getSource(self,file): + def get_source(self,file): # appele par Editeur/session.py import convert p=convert.plugins['python']() @@ -713,7 +716,7 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): def sauveRecents(self) : try : - rep=self.maConfiguration.rep_user + rep=self.CONFIGURATION.rep_user monFichier=rep+"/listefichiers_"+self.code except : return @@ -736,15 +739,15 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): def traductionV11V12(self): from .gereTraduction import traduction - traduction(self.maConfiguration.repIni,self.viewmanager,"V11V12") + traduction(self.CONFIGURATION.repIni,self.viewmanager,"V11V12") def traductionV10V11(self): from .gereTraduction import traduction - traduction(self.maConfiguration.repIni,self.viewmanager,"V10V11") + traduction(self.CONFIGURATION.repIni,self.viewmanager,"V10V11") def traductionV9V10(self): from .gereTraduction import traduction - traduction(self.maConfiguration.repIni,self.viewmanager,"V9V10") + traduction(self.CONFIGURATION.repIni,self.viewmanager,"V9V10") def version(self) : from .monVisu import DVisu @@ -802,16 +805,16 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): #else : QMessageBox.critical( self, tr("Parametrage"), tr("Pas de possibilite de personnalisation de la configuration ")) return - monOption=optionCode.Options(parent=self,modal = 0 ,configuration=self.maConfiguration) + monOption=optionCode.Options(parent=self,modal = 0 ,configuration=self.CONFIGURATION) monOption.show() def optionPdf(self) : from monOptionsPdf import OptionPdf - monOption=OptionPdf(parent=self,modal = 0 ,configuration=self.maConfiguration) + monOption=OptionPdf(parent=self,modal = 0 ,configuration=self.CONFIGURATION) monOption.show() - def handleSortieComplete(self): - return self.viewmanager.saveCompleteCurrentEditor() + def handleSortieLegere(self): + return self.viewmanager.saveLegerCurrentEditor() def handleShowRecentMenu(self): """ @@ -927,7 +930,7 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): self.viewmanager.handleViewJdcRegles() def gestionParam(self): - self.viewmanager.handleGestionParam() + self.viewmanager.handlegestionParam() def visuJdcPy(self): self.viewmanager.handleViewJdcPy() @@ -938,7 +941,7 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): def fermeArbre(self): self.viewmanager.fermeArbre() - def newInclude(self): + def NewInclude(self): self.viewmanager.newIncludeEditor() def cleanPath(self): @@ -959,50 +962,19 @@ class Appli(AppliSsIhm,Ui_Eficas,QMainWindow): res=self.fileExit() if res==2 : event.ignore() - - def remplitIconesCommandes(self): - if self.maConfiguration.boutonDsMenuBar == False : return - if not hasattr(self, 'readercata') : return - from monLayoutBouton import MonLayoutBouton - if hasattr(self,'monLayoutBoutonRempli') : return - self.monLayoutBoutonRempli=MonLayoutBouton(self) - - def handleAjoutEtape(self,nomEtape): - self.viewmanager.handleAjoutEtape(nomEtape) - - def metMenuAJourUtilisateurs(self): - self.lesFonctionsUtilisateurs={} - if self.code not in self.mesScripts : return - if not hasattr(self.mesScripts[self.code],'dict_menu') : return - titre,lesFonctions=self.mesScripts[self.code].dict_menu.items()[0] - self.menuOptions = self.menubar.addMenu("menuOptions") - self.menuOptions.setTitle(tr(titre)) - for elt in lesFonctions : - laFonctionUtilisateur, label, lesArguments = elt - action = QAction(self) - action.setText(label) - #action.triggered.connect(self.appelleFonctionUtilisateur) - self.menuOptions.addAction(action) - self.lesFonctionsUtilisateurs[action]=(laFonctionUtilisateur, lesArguments) - self.menuOptions.triggered.connect(self.handleFonctionUtilisateur) - - def handleFonctionUtilisateur(self,action) : - (laFonctionUtilisateur, lesArguments)=self.lesFonctionsUtilisateurs[action] - self.viewmanager.handleFonctionUtilisateur(laFonctionUtilisateur, lesArguments) if __name__=='__main__': # Modules Eficas - rep=os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__),'..','Adao'))) + rep=os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__),'..','ASTER'))) sys.path.append(rep) - from Adao import prefs - from Adao import prefs_Adao - #if hasattr(prefsCode,'encoding'): + from Aster import prefsCode + if hasattr(prefsCode,'encoding'): # Hack pour changer le codage par defaut des strings - #import sys - #reload(sys) - #sys.setdefaultencoding(prefsCode.encoding) - #del sys.setdefaultencoding + import sys + reload(sys) + sys.setdefaultencoding(prefsCode.encoding) + del sys.setdefaultencoding # Fin hack from Editeur import import_code diff --git a/InterfaceQT4/qtEficasSsIhm.py b/InterfaceQT4/qtEficasSsIhm.py deleted file mode 100755 index 59f39bf8..00000000 --- a/InterfaceQT4/qtEficasSsIhm.py +++ /dev/null @@ -1,173 +0,0 @@ -# -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2017 EDF R&D -# -# 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. -# -# 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 -# - -from __future__ import absolute_import -from __future__ import print_function -try : - from builtins import str -except : pass - -import os, sys -import six - -from Extensions.eficas_exception import EficasException -from Extensions import param2 - -from InterfaceQT4.getVersion import getEficasVersion -from InterfaceQT4.viewManagerSsIhm import MyViewManagerSsIhm -#from editorSsIhm import JDCEditorSsIhm - - -class AppliSsIhm: - """ - Class implementing the main user interface. - """ - def __init__(self,code=None,salome=1,parent=None,ssCode=None,multi=False,langue='fr',ssIhm=True,versionCode=None): - """ - Constructor - """ - version=getEficasVersion() - self.VERSION_EFICAS="Eficas QT5 Salome " + version - self.versionCode=versionCode - - self.salome=salome - self.ssIhm=True - self.code=code - - self.dict_reels={} - self.fichierIn=None - self.fichierOut=None - - self.recent = [] - self.ficRecents={} - self.mesScripts={} - self.listeAEnlever=[] - self.ListePathCode=['Adao','ADAO','Carmel3D','Telemac','CF','MAP','ZCracks', 'SEP','SPECA','PSEN_Eficas','PSEN_N1'] - self.listeCode=['Adao','ADAO','Carmel3D','Telemac','CF','MAP','ZCracks', 'SEP','SPECA','PSEN_Eficas','PSEN_N1'] - self.repIcon=os.path.join( os.path.dirname(os.path.abspath(__file__)),'..','Editeur','icons') - - if self.salome: - import Accas - try : - import eficasSalome - Accas.SalomeEntry = eficasSalome.SalomeEntry - except : - print ('eficas hors salome') - - self.multi=multi - if self.multi : - print ('pas de multi sans ihm') - - - if langue=='fr': self.langue=langue - else : self.langue="ang" - - if self.multi == False : - self.definitCode(code,ssCode) - if code==None: return - - self.suiteTelemac=False - self.viewmanager=MyViewManagerSsIhm(self) - - - def definitCode(self,code,ssCode) : - self.code=code - self.ssCode=ssCode - if self.code == None:return # pour le cancel de la fenetre choix code - - name='prefs_'+self.code - prefsCode=__import__(name) - - self.repIni=prefsCode.repIni - if ssCode != None : - self.format_fichier= ssCode #par defaut - prefsCode.NAME_SCHEME=ssCode - else : - self.format_fichier="python" #par defaut - - nameConf='configuration_'+self.code - configuration=__import__(nameConf) - self.maConfiguration = configuration.make_config(self,prefsCode.repIni) - - if hasattr (self,'maConfiguration') and self.maConfiguration.translatorFichier : - from Extensions import localisation - localisation.localise(None,self.langue,translatorFichier=self.maConfiguration.translatorFichier) - - - def getSource(self,file): - # appele par Editeur/session.py - import convert - p=convert.plugins['python']() - p.readfile(file) - texte=p.convert('execnoparseur') - return texte - - - def initEditor(self,fichier = None,jdc = None, units = None,include=0): - if self.editor != None : - print ('un seul editeur par appli') - sys.Exit() - self.editor = JDCEditorSsIhm(self,fichier, jdc, self.myQtab,units=units,include=include) - - - def fileNew(self): - self.editor=initEditor(self) - - def getEditor(self): - return self.editor - - def fileOpen(self,fichier): - fichierIn = os.path.abspath(six.text_type(fichier)) - try: - monEditor=self.viewmanager.handleOpen(fichierIn) - except EficasException as exc: - print ('poum') - monEditor=None - return monEditor - - def fileSave(self): - if self.editor == None : return False - ok, newName = editor.saveFileAs() - print ('ok, newName ',ok, newName) - - def fileSaveAs(self,fileName): - if self.editor == None : return False - ok = editor.saveFileAs() - print ('ok ',ok) - - def dumpXsd(self): - current_cata = CONTEXT.getCurrentCata() - current_cata.dumpXsd() - if self.maConfiguration.afficheIhm==False : exit() - -#,self.fileSaveAs -#,self.fileClose -#,self.fileExit -#,self.jdcRapport -#,self.jdcRegles -#,self.jdcFichierSource -#,self.visuJdcPy - - - -if __name__=='__main__': - - # Modules Eficas - monEficas= AppliSsIhm(code='Adao',salome=0,versionCode='V83') diff --git a/InterfaceQT4/qtEficas_with_log.py b/InterfaceQT4/qtEficas_with_log.py index 2eb78021..404a97e4 100644 --- a/InterfaceQT4/qtEficas_with_log.py +++ b/InterfaceQT4/qtEficas_with_log.py @@ -1,5 +1,5 @@ # -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -302,7 +302,7 @@ class Appli(Ui_Eficas,QMainWindow): self.viewmanager.handleOpen(fichier=study["comm"],units=d) - def getSource(self,file): + def get_source(self,file): # appele par Editeur/session.py import convert p=convert.plugins['python']() diff --git a/InterfaceQT4/qtSaisie.py b/InterfaceQT4/qtSaisie.py index 1b0b79ab..b9b3ba87 100644 --- a/InterfaceQT4/qtSaisie.py +++ b/InterfaceQT4/qtSaisie.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -41,7 +41,7 @@ class SaisieValeur(object): pass - def LEvaleurPressed(self,valeur=None): + def LEValeurPressed(self,valeur=None): if not hasattr(self, 'inSaisieValeur' ) : self.inSaisieValeur=False if self.inSaisieValeur : return self.inSaisieValeur=True @@ -49,8 +49,8 @@ class SaisieValeur(object): try : nouvelleValeur=str(self.lineEditVal.text()) except UnicodeEncodeError as e : - self.editor.afficheInfos("pb d encoding", Qt.red) - validite,commentaire=self.politique.recordValeur(None) + self.editor.affiche_infos("pb d encoding", Qt.red) + validite,commentaire=self.politique.RecordValeur(None) self.lineEditVal.setText('') self.setValide() self.inSaisieValeur=False @@ -63,21 +63,21 @@ class SaisieValeur(object): if hasattr(self,"lineEditVal"):self.lineEditVal.setText(valeur) nouvelleValeur=valeur if self.node.item.definition.validators != None : - if self.node.item.definition.validators.verifItem(nouvelleValeur) !=1 : - commentaire=self.node.item.definition.validators.infoErreurItem() - self.editor.afficheInfos(commentaire,Qt.red) + if self.node.item.definition.validators.verif_item(nouvelleValeur) !=1 : + commentaire=self.node.item.definition.validators.info_erreur_item() + self.editor.affiche_infos(commentaire,Qt.red) self.inSaisieValeur=False return - nouvelleValeurFormat=self.politique.getValeurTexte(nouvelleValeur) - validite,commentaire=self.politique.recordValeur(nouvelleValeurFormat) + nouvelleValeurFormat=self.politique.GetValeurTexte(nouvelleValeur) + validite,commentaire=self.politique.RecordValeur(nouvelleValeurFormat) if commentaire != "" : #PNPNPNP Il faut trouver une solution pour les 2 cas - # self.editor.afficheInfos(commentaire) + # self.editor.affiche_infos(commentaire) #self.Commentaire.setText(tr(commentaire)) if validite : - self.editor.afficheCommentaire(commentaire) + self.editor.affiche_commentaire(commentaire) else : - self.editor.afficheInfos(commentaire,Qt.red) + self.editor.affiche_infos(commentaire,Qt.red) self.inSaisieValeur=False self.setValide() @@ -109,15 +109,14 @@ class SaisieValeur(object): valeur=eval(valeurBrute,{}) except : valeur=valeurBrute - + # pour traiter 11.0 - 30.0 pour le CIST - #if (valeurTraitee and (type(valeurTraitee) in types.StringTypes) and (self.node.item.waitTxm())) : - if (valeurTraitee and isinstance(valeurTraitee, str) and (self.node.item.waitTxm())) : + if (valeurTraitee and (type(valeurTraitee) in types.StringTypes) and (self.node.item.wait_TXM())) : valeur=str(valeurTraitee) - - + + if type(valeur) in (list,tuple) : - if self.node.item.waitComplex() : + if self.node.item.wait_complex() : indice = 0 while (indice < len(valeur)): v=valeur[indice] @@ -129,7 +128,7 @@ class SaisieValeur(object): indice=indice+3 except : commentaire = tr("Veuillez entrer le complexe sous forme aster ou sous forme python") - self.editor.afficheInfos(commentaire) + self.editor.affiche_infos(commentaire) return listeValeurs,0 @@ -155,23 +154,23 @@ class SaisieSDCO(object) : Lit le nom donne par l'utilisateur au concept de type CO qui doit être la valeur du MCS courant et stocke cette valeur """ - self.editor.initModif() - anc_val = self.node.item.getValeur() + self.editor.init_modif() + anc_val = self.node.item.get_valeur() if anc_val != None: # il faut egalement propager la destruction de l'ancien concept - self.node.item.deleteValeurCo(valeur=anc_val) + self.node.item.delete_valeur_co(valeur=anc_val) # et on force le recalcul des concepts de sortie de l'etape - self.node.item.object.etape.getType_produit(force=1) + self.node.item.object.etape.get_type_produit(force=1) # et le recalcul du contexte - self.node.item.object.etape.parent.resetContext() + self.node.item.object.etape.parent.reset_context() nomConcept = str(self.LESDCO.text()) if nomConcept == "" : return - test,commentaire=self.node.item.setValeurCo(nomConcept) + test,commentaire=self.node.item.set_valeur_co(nomConcept) if test: commentaire=tr("Valeur du mot-clef enregistree") - self.node.updateNodeValid() + self.node.update_node_valid() else : - cr = self.node.item.getCr() - commentaire = tr("Valeur du mot-clef non autorisee :")+cr.getMessFatal() + cr = self.node.item.get_cr() + commentaire = tr("Valeur du mot-clef non autorisee :")+cr.get_mess_fatal() diff --git a/InterfaceQT4/readercata.py b/InterfaceQT4/readercata.py index f788c8b6..b3def9c2 100644 --- a/InterfaceQT4/readercata.py +++ b/InterfaceQT4/readercata.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -45,81 +45,78 @@ import analyse_catalogue import analyse_catalogue_initial import autre_analyse_cata import uiinfo -from InterfaceQT4.monChoixCata import MonChoixCata +from .monChoixCata import MonChoixCata from Extensions.i18n import tr from Extensions.eficas_exception import EficasException from PyQt5.QtWidgets import QMessageBox, QApplication, QDialog -#------------------------------- -class ReaderCataCommun(object): -#------------------------------- - def askChoixCatalogue(self, cata_choice_list): - # ____________________________________________ - """ - Ouvre une fenetre de selection du catalogue dans le cas où plusieurs - ont ete definis dans Accas/editeur.ini - """ - code = getattr(self.appliEficas.maConfiguration, "code", None) - if code != None : - title=tr("Choix d une version du code ")+str(code) - else : - title=tr("Choix d une version ") - widgetChoix = MonChoixCata(self.appliEficas, [cata.user_name for cata in cata_choice_list], title) - ret=widgetChoix.exec_() +class READERCATA(object): + def __init__(self,QWParent, appliEficas): + self.QWParent=QWParent + self.appliEficas=self.QWParent.appliEficas + self.VERSION_EFICAS=self.appliEficas.VERSION_EFICAS + self.code=self.QWParent.code + self.ssCode=self.appliEficas.ssCode + self.appliEficas.format_fichier='python' + self.mode_nouv_commande=self.appliEficas.CONFIGURATION.mode_nouv_commande + self.version_code=self.QWParent.version_code + self.version_cata=None + self.fic_cata=None + self.OpenCata() + self.cataitem=None + self.cree_dico_inverse() + if self.code=="TELEMAC": self.cree_dico_CasToCata() + #for k in self.dicoInverse: + # genea= self.dicoInverse[k] + # for t in genea : + # print t[0] + # print "\n" - lab=str(self.VERSION_EFICAS)+" " - lab+=tr(" pour ") - lab+=str(self.code) - lab+=tr(" avec le catalogue ") - if ret == QDialog.Accepted: - cata = cata_choice_list[widgetChoix.CBChoixCata.currentIndex()] - self.fic_cata = cata.cata_file_path - self.versionCode = cata.identifier - self.appliEficas.format_fichier = cata.file_format - self.appliEficas.format_fichier_in = cata.file_format_in - lab+=self.versionCode - self.appliEficas.setWindowTitle(lab) - #qApp.mainWidget().setCaption(lab) - widgetChoix.close() - else: - widgetChoix.close() - raise EficasException() - def choisitCata(self): - # ____________________ + def OpenCata(self): + """ + Ouvre le catalogue standard du code courant, cad le catalogue present + dans le repertoire Cata + """ liste_cata_possibles=[] self.Commandes_Ordre_Catalogue=[] all_cata_list = [] - for catalogue in self.appliEficas.maConfiguration.catalogues: - if isinstance(catalogue, CatalogDescription): all_cata_list.append(catalogue) - elif isinstance(catalogue, tuple) : all_cata_list.append(CatalogDescription.create_from_tuple(catalogue)) - else: print(("Catalog description cannot be interpreted: ", catalogue)) + for catalogue in self.appliEficas.CONFIGURATION.catalogues: + if isinstance(catalogue, CatalogDescription): + all_cata_list.append(catalogue) + elif isinstance(catalogue, tuple): + all_cata_list.append(CatalogDescription.create_from_tuple(catalogue)) + else: + print(("Catalog description cannot be interpreted: ", catalogue)) # This filter is only useful for codes that have subcodes (like MAP). # Otherwise, the "code" attribute of the catalog description can (should) be None. - if self.ssCode is None: liste_cata_possibles = all_cata_list + if self.ssCode is None: + liste_cata_possibles = all_cata_list else: for catalogue in all_cata_list: - if catalogue.code == self.code and catalogue.file_format == self.ssCode: liste_cata_possibles.append(catalogue) + if catalogue.code == self.code and catalogue.file_format == self.ssCode: + liste_cata_possibles.append(catalogue) - if len(liste_cata_possibles)==0: + if len(liste_cata_possibles)==0: QMessageBox.critical(self.QWParent, tr("Import du catalogue"), tr("Pas de catalogue defini pour le code ") + self.code) self.appliEficas.close() - if self.appliEficas.salome == 0 : sys.exit(1) + if self.appliEficas.salome == 0 : + sys.exit(1) return - if self.versionCode is not None: + if self.version_code is not None: # La version a ete fixee for cata in liste_cata_possibles: - if self.versionCode == cata.identifier: + if self.version_code == cata.identifier: self.fic_cata = cata.cata_file_path self.appliEficas.format_fichier = cata.file_format self.appliEficas.format_fichier_in = cata.file_format_in @@ -127,83 +124,39 @@ class ReaderCataCommun(object): cata_choice_list = [] for cata in liste_cata_possibles: if cata.selectable: - if cata.default : cata_choice_list.insert(0, cata) - else : cata_choice_list.append(cata) - + if cata.default: + cata_choice_list.insert(0, cata) + else : + cata_choice_list.append(cata) if len(cata_choice_list) == 0: QMessageBox.critical(self.QWParent, tr("Import du catalogue"), tr("Aucun catalogue trouve")) self.appliEficas.close() - if self.appliEficas.salome == 0 : sys.exit(1) - + if self.appliEficas.salome == 0 : + sys.exit(1) elif len(cata_choice_list) == 1: self.fic_cata = cata_choice_list[0].cata_file_path - self.versionCode = cata_choice_list[0].identifier + self.version_code = cata_choice_list[0].identifier self.appliEficas.format_fichier = cata_choice_list[0].file_format self.appliEficas.format_fichier_in = cata_choice_list[0].file_format_in - else: # plusieurs catalogues sont disponibles : il faut demander a l'utilisateur # lequel il veut utiliser ... - self.askChoixCatalogue(cata_choice_list) - self.demandeCatalogue=True + self.ask_choix_catalogue(cata_choice_list) if self.fic_cata == None : if self.appliEficas.salome == 0 : - print(("Pas de catalogue pour code %s, version %s" %(self.code,self.versionCode))) + print(("Pas de catalogue pour code %s, version %s" %(self.code,self.version_code))) sys.exit(1) else : self.appliEficas.close() return + if self.code == "ASTER" : self.determineMater() -#------------------------------------ -class ReaderCata (ReaderCataCommun): -#------------------------------------ - - def __init__(self,QWParent, appliEficas): - # ______________________________________ - - self.QWParent=QWParent - self.appliEficas=self.QWParent.appliEficas - self.VERSION_EFICAS=self.appliEficas.VERSION_EFICAS - self.demandeCatalogue=False - self.code=self.appliEficas.code - self.ssCode=self.appliEficas.ssCode - self.appliEficas.format_fichier='python' - self.versionCode=self.appliEficas.versionCode - self.fic_cata=None - self.openCata() - self.traiteIcones() - self.cataitem=None - self.creeDicoInverse() - if self.code=="TELEMAC": self.creeDicoCasToCata() - - - - def openCata(self): - """ - Ouvre le catalogue standard du code courant, cad le catalogue present - dans le repertoire Cata - """ # import du catalogue - self.choisitCata() - - if self.appliEficas.maConfiguration.withXSD : - try : - #import raw.Telemac2d as modeleMetier - #import raw.cata_genere_fact as modeleMetier - import raw.cata_map_genere as modeleMetier - #import raw.cata_bloc as modeleMetier - print ('import Test ad modeleMetier') - except : - modeleMetier = None - else : - modeleMetier = None - - self.cata = self.importCata(self.fic_cata) - self.cata.modeleMetier = modeleMetier - if not self.cata : + self.cata = self.import_cata(self.fic_cata) + if not self.cata : QMessageBox.critical( self.QWParent, tr("Import du catalogue"),tr("Impossible d'importer le catalogue ")+ self.fic_cata) self.appliEficas.close() if self.appliEficas.salome == 0 : @@ -211,26 +164,17 @@ class ReaderCata (ReaderCataCommun): # # analyse du catalogue (ordre des mots-cles) # - # retrouveOrdreCataStandard fait une analyse textuelle du catalogue - # remplace par retrouveOrdreCataStandardAutre qui utilise une numerotation + # Retrouve_Ordre_Cata_Standard fait une analyse textuelle du catalogue + # remplace par Retrouve_Ordre_Cata_Standard_autre qui utilise une numerotation # des mots cles a la creation - #print (self.cata) - #print (dir(self.cata)) - self.retrouveOrdreCataStandardAutre() - if self.appliEficas.maConfiguration.modeNouvCommande == "initial" : self.retrouveOrdreCataStandard() + self.Retrouve_Ordre_Cata_Standard_autre() + if self.mode_nouv_commande== "initial" : self.Retrouve_Ordre_Cata_Standard() if hasattr(self.cata, 'Ordre_Des_Commandes') : self.Ordre_Des_Commandes=self.cata.Ordre_Des_Commandes else : self.Ordre_Des_Commandes=None - - if hasattr(self.cata, 'Classement_Commandes_Ds_Arbre') : + + if hasattr(self.cata, 'Classement_Commandes_Ds_Arbre') : self.Classement_Commandes_Ds_Arbre=self.cata.Classement_Commandes_Ds_Arbre else : self.Classement_Commandes_Ds_Arbre=() - if hasattr(self.cata,'enum'): - try : - _temp= __import__(self.cata.enum,globals(), locals(), ['DicoEnumCasFrToEnumCasEn', 'TelemacdicoEn'], 0) - self.DicoEnumCasFrToEnumCasEn = _temp.DicoEnumCasFrToEnumCasEn - self.TelemacdicoEn = _temp.TelemacdicoEn - except : pass - #print self.cata.Ordre_Des_Commandes # @@ -241,15 +185,34 @@ class ReaderCata (ReaderCataCommun): # # traitement des clefs documentaires # + if self.code == "ASTER" : self.traite_clefs_documentaires() + self.cata=(self.cata,) self.titre=self.VERSION_EFICAS+" "+tr( " avec le catalogue ") + os.path.basename(self.fic_cata) - if self.appliEficas.ssIhm == False : self.appliEficas.setWindowTitle(self.titre) + if self.appliEficas.top: + self.appliEficas.setWindowTitle(self.titre) self.appliEficas.titre=self.titre self.QWParent.titre=self.titre - - def importCata(self,cata): - """ + def determineMater(self) : + # Determinination du repertoire materiau + v_codeSansPoint=self.version_code + if v_codeSansPoint == None : return + v_codeSansPoint=re.sub("\.","",v_codeSansPoint) + chaine="rep_mat_"+v_codeSansPoint + if hasattr(self.appliEficas.CONFIGURATION,chaine): + a=getattr(self.appliEficas.CONFIGURATION,chaine) + else : + try : + a=self.appliEficas.CONFIGURATION.dRepMat[self.version_code] + except : + if self.code == "ASTER" : + print ("Probleme avec le repertoire materiau") + a='.' + self.appliEficas.CONFIGURATION.rep_mat=a + + def import_cata(self,cata): + """ Realise l'import du catalogue dont le chemin d'acces est donne par cata """ nom_cata = os.path.splitext(os.path.basename(cata))[0] @@ -257,7 +220,7 @@ class ReaderCata (ReaderCataCommun): sys.path[:0] = [rep_cata] self.appliEficas.listeAEnlever.append(rep_cata) - + if nom_cata in list(sys.modules.keys()) : del sys.modules[nom_cata] for k in sys.modules: @@ -265,12 +228,20 @@ class ReaderCata (ReaderCataCommun): del sys.modules[k] mesScriptsNomFichier='mesScripts_'+self.code.upper() - try : - self.appliEficas.mesScripts[self.code]=__import__(mesScriptsNomFichier) - except: - pass + if self.code == "ASTER" : + self.appliEficas.rep_scripts=os.path.join(rep_cata,nom_cata) + sys.path[:0] = [self.appliEficas.rep_scripts] + try : + self.appliEficas.mesScripts[self.code]=__import__(mesScriptsNomFichier) + except: + pass + sys.path=sys.path[1:] + else : + try : + self.appliEficas.mesScripts[self.code]=__import__(mesScriptsNomFichier) + except: + pass - #if 1 : try : o=__import__(nom_cata) return o @@ -280,63 +251,110 @@ class ReaderCata (ReaderCataCommun): - def retrouveOrdreCataStandardAutre(self): - """ + def Retrouve_Ordre_Cata_Standard_autre(self): + """ Construit une structure de donnees dans le catalogue qui permet a EFICAS de retrouver l'ordre des mots-cles dans le texte du catalogue. Pour chaque entite du catlogue on cree une liste de nom ordre_mc qui contient le nom des mots cles dans le bon ordre - """ - self.cata_ordonne_dico, self.appliEficas.liste_simp_reel=autre_analyse_cata.analyseCatalogue(self.cata) - #self.appliEficas.liste_simp_reel = () - #self.cata_ordonne_dico = {} + """ + self.cata_ordonne_dico,self.appliEficas.liste_simp_reel=autre_analyse_cata.analyse_catalogue(self.cata) - def retrouveOrdreCataStandard(self): - """ + def Retrouve_Ordre_Cata_Standard(self): + """ Retrouve l'ordre des mots-cles dans le catalogue, cad : Attention s appuie sur les commentaires """ nom_cata = os.path.splitext(os.path.basename(self.fic_cata))[0] rep_cata = os.path.dirname(self.fic_cata) - self.Commandes_Ordre_Catalogue = analyse_catalogue_initial.analyseCatalogue(self.fic_cata) + self.Commandes_Ordre_Catalogue = analyse_catalogue_initial.analyse_catalogue(self.fic_cata) #print self.Commandes_Ordre_Catalogue - def traiteIcones(self): - if self.appliEficas.maConfiguration.ficIcones==None : return + def ask_choix_catalogue(self, cata_choice_list): + """ + Ouvre une fenetre de selection du catalogue dans le cas où plusieurs + ont ete definis dans Accas/editeur.ini + """ + code = getattr(self.appliEficas.CONFIGURATION, "code", None) + if code != None : + title=tr("Choix d une version du code ")+str(code) + else : + title=tr("Choix d une version ") + + widgetChoix = MonChoixCata(self.appliEficas, [cata.user_name for cata in cata_choice_list], title) + ret=widgetChoix.exec_() + + lab=str(self.VERSION_EFICAS)+" " + lab+=tr(" pour ") + lab+=str(self.code) + lab+=tr(" avec le catalogue ") + if ret == QDialog.Accepted: + cata = cata_choice_list[widgetChoix.CBChoixCata.currentIndex()] + self.version_cata = cata.identifier + self.fic_cata = cata.cata_file_path + self.version_code = self.version_cata + self.appliEficas.format_fichier = cata.file_format + self.appliEficas.format_fichier_in = cata.file_format_in + lab+=self.version_cata + self.appliEficas.setWindowTitle(lab) + #qApp.mainWidget().setCaption(lab) + else: + raise EficasException() + + + def traite_clefs_documentaires(self): try: - ficIcones=self.appliEficas.maConfiguration.ficIcones - fichierIcones = __import__(ficIcones, globals(), locals(), [], -1) - self.appliEficas.maConfiguration.dicoIcones=fichierIcones.dicoDesIcones.dicoIcones - self.appliEficas.maConfiguration.dicoImages=fichierIcones.dicoDesIcones.dicoImages + fic_doc='rep_doc_'+str(self.version_code) + self.fic_doc=getattr(self.appliEficas.CONFIGURATION,fic_doc ) + f=open(self.fic_doc) except: - print ("Pas de fichier associe contenant des liens sur les icones ") - self.appliEficas.maConfiguration.dicoIcones={} - - - - def creeDicoInverse(self): + print ("Pas de fichier associe contenant des clefs documentaires") + return + + dict_clef_docu={} + for l in f.readlines(): + clef=l.split(':')[0] + deb=l.find(':')+1 + docu=l[deb:-1] + dict_clef_docu[clef]=docu + for oper in self.cata.JdC.commandes: + if oper.nom in dict_clef_docu : + oper.docu=dict_clef_docu[oper.nom] + + def cree_dico_inverse(self): self.dicoInverse={} - self.dicoMC={} - listeEtapes=self.cata.JdC.commandes - for e in self.cata.JdC.commandes: - self.traiteEntite(e) - - - def creeDicoCasToCata(self): - if hasattr(self.cata,'dicoCasEn'): - _temp= __import__(self.cata.dicoCasEn,globals(), locals(), ['DicoCasEnToCata'], 0) + self.dicoMC={} + listeEtapes=self.cata[0].JdC.commandes + for e in self.cata[0].JdC.commandes: + self.traite_entite(e) + + #self.dicoFrancaisAnglais={} + #self.dicoAnglaisFrancais={} + #for k in self.dicoInverse: + # listefr=[] + # for nom, obj in self.dicoInverse[k] : + # listefr.append((tr(nom),obj)) + # self.dicoFrancaisAnglais[tr(nom)]=nom + # self.dicoAnglaisFrancais[nom]=tr(nom) + # self.dicoInverseFrancais[tr(k)]=listefr + # #print tr(k),listefr + + + def cree_dico_CasToCata(self): if self.appliEficas.langue=="ang" : - self.dicoCasToCata=_temp.dicoCasEnToCata + from dicoCasEnToCata import dicoCasEnToCata as dicoCasToCata else : - self.dicoCasToCata=_temp.dicoCasFrToCata - - - - def traiteEntite(self,e): + from dicoCasFrToCata import dicoCasFrToCata as dicoCasToCata + self.dicoCasToCata=dicoCasToCata + + + + + def traite_entite(self,e): boolIn=0 for (nomFils, fils) in list(e.entites.items()) : self.dicoMC[nomFils]=fils - self.traiteEntite(fils) + self.traite_entite(fils) boolIn=1 if boolIn==0 : liste=[] @@ -348,22 +366,15 @@ class ReaderCata (ReaderCataCommun): self.dicoInverse[e.nom]=liste self.dicoInverse[tr(e.nom)]=liste - def creeRubrique(self,e,dico, niveau): + def cree_rubrique(self,e,dico, niveau): from Accas import A_BLOC decale=niveau*" " #if niveau != 0 : - # if isinstance(e,A_BLOC.BLOC): print decale, e.condition - # else : print decale, e. nom + # if isinstance(e,A_BLOC.BLOC): print decale, e.condition + # else : print decale, e. nom for (nom, fils) in list(e.entites.items()) : - if list(fils.entites.items()) != [] : self.creeRubrique(fils,dico,niveau+1) + if list(fils.entites.items()) != [] : self.cree_rubrique(fils,dico,niveau+1) #else : print (niveau+1)*" ", nom - - def dumpToXsdEficas(self): - # Pas sur qu on ait jamais besoin de cela - pass - #from Efi2Xsd import readerEfficas - #newSchema= xml = open('Cata_MED_FAM.xml').read() - #SchemaMed = efficas.CreateFromDocument(xml) - #SchemaMed.alimenteCata(self.cata) - + + diff --git a/InterfaceQT4/readercataXML.py b/InterfaceQT4/readercataXML.py deleted file mode 100644 index 5579a82b..00000000 --- a/InterfaceQT4/readercataXML.py +++ /dev/null @@ -1,83 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# 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. -# -# 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 -# -""" - Ce module sert a lire un catalogue et a construire - un objet CataItem pour Eficas. - Il s'appuie sur la classe READERCATA -""" -# Modules Python -import sys, os -import autre_analyse_cata - - -# Modules Eficas - -from monChoixCata import MonChoixCata -from Extensions.i18n import tr -from Extensions.eficas_exception import EficasException -import uiinfo -from Efi2Xsd import readerEfiXsd -# ATtention pas teste depuis le chgt de nom - -from readercata import ReaderCataCommun - -class ReaderCata (ReaderCataCommun): - - def __init__(self,QWParent, appliEficas): - self.QWParent=QWParent - self.appliEficas=appliEficas - self.VERSION_EFICAS=self.appliEficas.VERSION_EFICAS - self.code=self.appliEficas.code - self.ssCode=self.appliEficas.ssCode - self.appliEficas.format_fichier='python' - self.appliEficas.format_fichier_in ='xml' - self.modeNouvCommande=self.appliEficas.maConfiguration.modeNouvCommande - self.versionCode=self.appliEficas.versionCode - self.version_cata=None - self.fic_cata=None - self.OpenCata() - self.cataitem=None - self.titre='Eficas XML' - self.Ordre_Des_Commandes=None - self.Classement_Commandes_Ds_Arbre=() - self.demandeCatalogue=False - - #self.traiteIcones() - #self.creeDicoInverse() - - - def OpenCata(self): - - #self.fic_cata = 'Cata_MED_FAM.xml' - #xml = open('/home/A96028/QT5GitEficasTravail/eficas/Med/Cata_MED_FAM.xml').read() - #xml = open('/home/A96028/QT5GitEficasTravail/eficas/CataTestXSD/cata_test1.xml').read() - self.choisitCata() - xml=open(self.fic_cata).read() - SchemaMed = readerEfiXsd.efficas.CreateFromDocument(xml) - SchemaMed.exploreCata() - self.cata=SchemaMed - uiinfo.traite_UIinfo(self.cata) - self.Commandes_Ordre_Catalogue=[] - self.cata_ordonne_dico,self.appliEficas.liste_simp_reel=autre_analyse_cata.analyseCatalogue(self.cata) - self.liste_groupes=None - - def dumpToXml(self): - # pour compatibilite - pass diff --git a/InterfaceQT4/ssIhm.py b/InterfaceQT4/ssIhm.py index 7f55db0b..350cfb73 100644 --- a/InterfaceQT4/ssIhm.py +++ b/InterfaceQT4/ssIhm.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -51,9 +51,16 @@ class appliEficasSSIhm(object): self.CONFIGURATION = configuration.make_config(self,prefsCode.repIni) class QWParentSSIhm(object): - def __init__(self,code,version_code): + def __init__(self,code,appliEficas,version_code,ssCode=None): self.ihm="QT" self.code=code self.version_code=version_code - self.format_fichier="python" #par defaut + self.ssCode=ssCode + if ssCode != None : + self.format_fichier= ssCode #par defaut + #prefsCode.NAME_SCHEME=ssCode + else : + self.format_fichier="python" #par defaut + self.appliEficas=appliEficas + self.appliEficas.ssCode=ssCode diff --git a/InterfaceQT4/bizarreEditorDu5aout.py b/InterfaceQT4/toto/browser.py similarity index 74% rename from InterfaceQT4/bizarreEditorDu5aout.py rename to InterfaceQT4/toto/browser.py index bdcbcecd..85d5277d 100644 --- a/InterfaceQT4/bizarreEditorDu5aout.py +++ b/InterfaceQT4/toto/browser.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -24,15 +24,14 @@ try : from builtins import str from builtins import range except : pass - import re import types,sys,os import traceback from . import typeNode +#import pdb import six from six.moves import range - from PyQt5.QtWidgets import QTreeWidget , QTreeWidgetItem, QApplication, QMessageBox from PyQt5.QtGui import QIcon from PyQt5.QtCore import Qt @@ -40,10 +39,7 @@ from Extensions.i18n import tr from .gereRegles import GereRegles from .monChoixCommande import MonChoixCommande -#------------------------------------------ class JDCTree( QTreeWidget,GereRegles ): -#------------------------------------------ - def __init__( self, jdc_item, QWParent): #if hasattr(QWParent,'widgetTree') : self.editor = QWParent @@ -67,7 +63,7 @@ class JDCTree( QTreeWidget,GereRegles ): self.childrenComplete=[] self.racine=self.item.itemNode(self,self.item) - self.itemCourant=None + self.itemCourrant=None self.itemClicked.connect(self.handleOnItem) self.itemCollapsed.connect(self.handleCollapsedItem) @@ -78,10 +74,10 @@ class JDCTree( QTreeWidget,GereRegles ): self.inhibeExpand=True self.expandItem(self.racine) self.inhibeExpand=False - #print ("self.editor.maConfiguration.afficheCommandesPliees", self.editor.maConfiguration.afficheCommandesPliees) + #print "self.editor.afficheCommandesPliees", self.editor.afficheCommandesPliees if self.racine.children !=[] : #self.editor.initSplitterSizes(3) - if self.editor.maConfiguration.afficheCommandesPliees : self.racine.children[0].plieToutEtReaffiche() + if self.editor.afficheCommandesPliees : self.racine.children[0].plieToutEtReaffiche() else : self.racine.children[0].deplieToutEtReaffiche() self.racine.children[0].fenetre.donnePremier() else : @@ -107,12 +103,11 @@ class JDCTree( QTreeWidget,GereRegles ): """ #print "handleContextMenu" if item == None : return - self.itemCourant=item if item.existeMenu == 0 : return if item.menu == None: item.createPopUpMenu() if item.menu != None: - if item.item.getNom() == "DISTRIBUTION" and item.item.isValid() : + if item.item.get_nom() == "DISTRIBUTION" and item.item.isvalid() : item.Graphe.setEnabled(1) item.menu.exec_(coord) @@ -120,7 +115,6 @@ class JDCTree( QTreeWidget,GereRegles ): def handleCollapsedItem(self,item): #print "dans CollapsedItem", self.inhibeExpand if self.inhibeExpand == True : return - self.itemCourant=item # On traite le cas de l item non selectionne itemParent=item while not (hasattr (itemParent,'getPanel')) : @@ -135,11 +129,10 @@ class JDCTree( QTreeWidget,GereRegles ): item.select() def handleExpandedItem(self,item): - #print ("handleExpandedItem pour ", item.item.nom, self.inhibeExpand) + #print "handleExpandedItem pour ", item.item.nom, self.inhibeExpand #import traceback #traceback.print_stack() if self.inhibeExpand == True : return - self.itemCourant=item self.inhibeExpand = True itemParent=item while not (hasattr (itemParent,'getPanel')) : @@ -154,11 +147,11 @@ class JDCTree( QTreeWidget,GereRegles ): def handleOnItem(self,item,int): - #print ("je passe dans handleOnItem pour ",self, item.item.nom, item, item.item, item.item.getLabelText()) + #print "je passe dans handleOnItem pour ",self, item.item.nom, item, item.item from InterfaceQT4 import composimp self.inhibeExpand = True - self.itemCourant=item + self.itemCourrant=item itemParent=item while not (hasattr (itemParent,'getPanel')) : @@ -166,10 +159,13 @@ class JDCTree( QTreeWidget,GereRegles ): itemParent=itemParent.treeParent if itemParent.fenetre != self.editor.fenetreCentraleAffichee : + estUneFeuille=(isinstance(item,composimp.Node)) # il faut afficher le parent + #print "estUneFeuille", estUneFeuille + #print "afficheCommandesPliees", self.editor.afficheCommandesPliees if estUneFeuille : itemParent.affichePanneau() - elif self.editor.maConfiguration.afficheCommandesPliees : itemParent.plieToutEtReafficheSaufItem(item) + elif self.editor.afficheCommandesPliees : itemParent.plieToutEtReafficheSaufItem(item) else : itemParent.affichePanneau() @@ -181,14 +177,8 @@ class JDCTree( QTreeWidget,GereRegles ): #print 'il faut afficher le 1er' try : - fr = item.item.getFr() - chaineDecoupee= fr.split('\n') - if len(chaineDecoupee) > 3 : - txt='\n'.join(chaineDecoupee[0:2])+'...\nfull help : double clicked on validity chip of '+ str(item.item.nom)+ ' in central widget' - else : txt=fr - - if self.editor: - self.editor.afficheCommentaire(six.text_type(txt)) + fr = item.item.get_fr() + if self.editor: self.editor.affiche_commentaire(six.text_type(fr)) except: pass item.select() @@ -199,20 +189,16 @@ class JDCTree( QTreeWidget,GereRegles ): def choisitPremier(self,name): self.editor.layoutJDCCHOIX.removeWidget(self.racine.fenetre) self.racine.fenetre.close() - new_node=self.racine.appendBrother(name,'after') + new_node=self.racine.append_brother(name,'after') # type de noeud COMMENT = "COMMENTAIRE" PARAMETERS = "PARAMETRE" -#------------------------------------------ class JDCNode(QTreeWidgetItem,GereRegles): -#------------------------------------------ def __init__( self, treeParent, item, itemExpand=False, ancien=False ): - #print ("creation d'un noeud : ", item, " ",item.nom,"", treeParent, self) + #print "creation d'un noeud : ", item, " ",item.nom,"", treeParent, self #self.a=0 - - self.item = item self.vraiParent = treeParent self.treeParent = treeParent @@ -227,17 +213,13 @@ class JDCNode(QTreeWidgetItem,GereRegles): from InterfaceQT4 import compoparam from InterfaceQT4 import composimp if (isinstance(self.item,compocomm.COMMTreeItem)) : name=tr("Commentaire") - elif (isinstance(self.item,compoparam.PARAMTreeItem)) : name=tr(str(item.getLabelText()[0])) - #else: name = tr(str(tr(item.getLabelText()[0]))+" :") - else: name = tr(item.getLabelText()[0]) + elif (isinstance(self.item,compoparam.PARAMTreeItem)) : name=tr(str(item.GetLabelText()[0])) + #else: name = tr(str(tr(item.GetLabelText()[0]))+" :") + else: name = tr(item.GetLabelText()[0]) if item.nom != tr(item.nom) : name = str(tr(item.nom)+" :") - value = tr(str( item.getText() ) ) - - # si specialisation de la fenetre - if self.item.object.definition == None : self.fenetreIhm = None - # Cas des listes de mots_clefs - else : self.fenetreIhm = self.item.object.definition.fenetreIhm + value = tr(str( item.GetText() ) ) + if self.editor.enteteQTree=='complet':mesColonnes=(name,value) else : mesColonnes=(name,) @@ -272,17 +254,15 @@ class JDCNode(QTreeWidgetItem,GereRegles): else : QTreeWidgetItem.__init__(self,self.treeParent,mesColonnes) - self.setToolTip(0,self.item.getFr()) - self.setToolTip(1,self.item.getFr()) + self.setToolTip(0,self.item.get_fr()) + self.setToolTip(1,self.item.get_fr()) repIcon=self.appliEficas.repIcon - couleur=self.item.getIconName() - monIcone = QIcon(repIcon+"/" + couleur + ".png") - + monIcone = QIcon(repIcon+"/" +self.item.GetIconName() + ".png") self.setIcon(0,monIcone) self.children = [] - self.buildChildren() + self.build_children() self.menu=None self.existeMenu=1 @@ -300,11 +280,10 @@ class JDCNode(QTreeWidgetItem,GereRegles): pass - def buildChildren(self,posInsertion=10000): + def build_children(self,posInsertion=10000): """ Construit la liste des enfants de self """ """ Se charge de remettre les noeuds Expanded dans le meme etat """ - #print ("*********** buildChildren ",self,self.item, self.item.nom) - #print (poum) + #print "*********** build_children ",self,self.item, self.item.nom self.listeItemExpanded=[] self.listeItemPlie=[] @@ -321,7 +300,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): self.children = [] self.childrenComplete = [] - sublist = self.item._getSubList() + sublist = self.item._GetSubList() ind=0 for item in sublist : @@ -332,68 +311,33 @@ class JDCNode(QTreeWidgetItem,GereRegles): nouvelItem=item.itemNode(self,item,itemExpand,ancien) self.children.append(nouvelItem) - #print ("fin *********** buildChildren ",self,self.item, self.item.nom, self.children) + #print "fin *********** build_children ",self,self.item, self.item.nom, self.children def chercheNoeudCorrespondant(self,objSimp): - sublist = self.item._getSubList() + sublist = self.item._GetSubList() for node in self.childrenComplete: if node.item.object==objSimp : return node return None - def afficheCeNiveau(self): - #print ('afficheCeNiveau pour ', self.item.nom, self.item.getLabelText()) - for indiceWidget in range(self.editor.widgetCentraleLayout.count()): - widget=self.editor.widgetCentraleLayout.itemAt(indiceWidget) - self.editor.widgetCentraleLayout.removeItem(widget) - if self.editor.fenetreCentraleAffichee != None : - self.editor.widgetCentraleLayout.removeWidget(self.editor.fenetreCentraleAffichee) - self.editor.fenetreCentraleAffichee.setParent(None) - self.editor.fenetreCentraleAffichee.close() - self.editor.fenetreCentraleAffichee.deleteLater() - - from monWidgetNiveauFact import MonWidgetNiveauFact, MonWidgetNiveauFactTableau - maDefinition=self.item.get_definition() - monObjet=self.item.object - if maDefinition.fenetreIhm=='Tableau' : self.maFenetreCadre=MonWidgetNiveauFactTableau(self,self.editor,maDefinition,monObjet) - else : self.maFenetreCadre=MonWidgetNiveauFact(self,self.editor,maDefinition,monObjet) - self.fenetre=self.maFenetreCadre - self.editor.widgetCentraleLayout.addWidget(self.maFenetreCadre) - self.editor.fenetreCentraleAffichee=self.maFenetreCadre - self.select() - #print ('fin afficheCeNiveau pour ', self.item.nom) - - - def getPanelModifie(self): - - if self.fenetreIhm == None : return None - if self.fenetreIhm=='deplie1Niveau': - from InterfaceQT4.monWidgetCommandeDeplie1Niveau import MonWidgetCommandeDeplie1Niveau - return MonWidgetCommandeDeplie1Niveau (self,self.editor ,self.item.object) - return None - - def affichePanneau(self) : - #if self.editor.code == 'ASTER' and not(self.item.isActif()) : + #if self.editor.code == 'ASTER' and not(self.item.isactif()) : # posera des pb si un code decide d appeler FIN un mot clef # on resoudera a ce moment la - # pour l pas de poussiere sous le tapis - #print ('_________________ds affichePanneau pour', self.item.nom) - if not(self.item.isActif()) : + # pour l instant pas de poussiere sous le tapis + #print( 'debut affichePanneau pour', self.item.nom) + if not(self.item.isactif()) : from .monWidgetInactif import MonWidgetInactif self.fenetre = MonWidgetInactif(self,self.editor) else: itemParent=self while not (hasattr (itemParent,'getPanel')) : itemParent=itemParent.treeParent if itemParent!=self : - #print ('j appelle affichePanneau pour ', itemParent.item.nom , 'par', self.item.nom) itemParent.affichePanneau() - #print ('fin _________________ds affichePanneau pour', self.item.nom) return - self.fenetre=self.getPanelModifie() - if self.fenetre == None : self.fenetre=self.getPanel() - self.editor.restoreSplitterSizes() + self.fenetre=self.getPanel() + #self.editor.restoreSplitterSizes() for indiceWidget in range(self.editor.widgetCentraleLayout.count()): widget=self.editor.widgetCentraleLayout.itemAt(indiceWidget) @@ -416,7 +360,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): self.tree.inhibeExpand=True self.tree.expandItem(self) self.tree.inhibeExpand=False - #print( '_________________fin affichePanneau pour', self.item.nom) + #print( 'fin affichePanneau pour', self.item.nom) def createPopUpMenu(self): @@ -431,10 +375,10 @@ class JDCNode(QTreeWidgetItem,GereRegles): # (commentariser) un commentaire. try : pos=self.treeParent.children.index(self) - commande_comment = self.item.getObjetCommentarise() + commande_comment = self.item.get_objet_commentarise() # On signale a l editeur du panel (le JDCDisplay) une modification - self.editor.initModif() - self.treeParent.buildChildren() + self.editor.init_modif() + self.treeParent.build_children() self.treeParent.children[pos].select() self.treeParent.children[pos].affichePanneau() except Exception as e: @@ -447,9 +391,9 @@ class JDCNode(QTreeWidgetItem,GereRegles): """ try : pos=self.treeParent.children.index(self) - commande,nom = self.item.unComment() - self.editor.initModif() - self.treeParent.buildChildren() + commande,nom = self.item.uncomment() + self.editor.init_modif() + self.treeParent.build_children() self.treeParent.children[pos].select() self.treeParent.children[pos].affichePanneau() except Exception as e: @@ -459,21 +403,21 @@ class JDCNode(QTreeWidgetItem,GereRegles): """ Ajoute un commentaire a l'interieur du JDC : """ - self.editor.initModif() + self.editor.init_modif() if after: pos = 'after' else: pos = 'before' - return self.appendBrother( COMMENT, pos ) + return self.append_brother( COMMENT, pos ) def addParameters( self, after=True ): """ Ajoute un parametre a l'interieur du JDC : """ - self.editor.initModif() + self.editor.init_modif() if after: pos = 'after' else: pos = 'before' - child=self.appendBrother( PARAMETERS, pos ) + child=self.append_brother( PARAMETERS, pos ) return child @@ -491,13 +435,13 @@ class JDCNode(QTreeWidgetItem,GereRegles): # Methodes de creation et destruction de noeuds # Certaines de ces methodes peuvent etre appelees depuis l'externe #------------------------------------------------------------------ - def appendBrother(self,name,pos='after',plier=False): + def append_brother(self,name,pos='after',plier=False): """ Permet d'ajouter un objet frere a l'objet associe au noeud self par defaut on l'ajoute immediatement apres Methode externe """ - self.editor.initModif() + self.editor.init_modif() from InterfaceQT4 import compojdc if (isinstance(self.treeParent, compojdc.Node)) and not self.verifiePosition(name,pos) : return 0 @@ -506,21 +450,21 @@ class JDCNode(QTreeWidgetItem,GereRegles): index = self.vraiParent.children.index(self) if pos == 'before': index = index elif pos == 'after': index = index +1 - return self.vraiParent.appendChild(name,pos=index,plier=plier) + return self.vraiParent.append_child(name,pos=index,plier=plier) else : index = self.treeParent.children.index(self) if pos == 'before': index = index elif pos == 'after': index = index +1 else: - print(six.text_type(pos), tr(" n'est pas un index valide pour appendBrother")) + print(six.text_type(pos), tr(" n'est pas un index valide pour append_brother")) return 0 - return self.treeParent.appendChild(name,pos=index,plier=plier) + return self.treeParent.append_child(name,pos=index,plier=plier) def verifiePosition(self,name,pos,aLaRacine=False): - if name not in self.editor.readercata.Classement_Commandes_Ds_Arbre : return True - indexName=self.editor.readercata.Classement_Commandes_Ds_Arbre.index(name) + if name not in self.editor.Classement_Commandes_Ds_Arbre : return True + indexName=self.editor.Classement_Commandes_Ds_Arbre.index(name) - etapes=self.item.getJdc().etapes + etapes=self.item.get_jdc().etapes if etapes == [] : return True if aLaRacine == False :indexOu=etapes.index(self.item.object) @@ -529,35 +473,35 @@ class JDCNode(QTreeWidgetItem,GereRegles): if pos=="after" : indexOu = indexOu+1 for e in etapes[:indexOu] : nom=e.nom - if nom not in self.editor.readercata.Classement_Commandes_Ds_Arbre : continue - indexEtape=self.editor.readercata.Classement_Commandes_Ds_Arbre.index(nom) + if nom not in self.editor.Classement_Commandes_Ds_Arbre : continue + indexEtape=self.editor.Classement_Commandes_Ds_Arbre.index(nom) if indexEtape > indexName : comment=tr('le mot clef ')+name+tr(' doit etre insere avant ')+nom QMessageBox.information( None,tr('insertion impossible'),comment, ) return False for e in etapes[indexOu:] : nom=e.nom - if nom not in self.editor.readercata.Classement_Commandes_Ds_Arbre : continue - indexEtape=self.editor.readercata.Classement_Commandes_Ds_Arbre.index(nom) + if nom not in self.editor.Classement_Commandes_Ds_Arbre : continue + indexEtape=self.editor.Classement_Commandes_Ds_Arbre.index(nom) if indexEtape < indexName : comment=tr('le mot clef ')+name+tr(' doit etre insere apres ')+nom QMessageBox.information( None,tr('insertion impossible'),comment, ) return False return True - def appendChild(self,name,pos=None,plier=False): + def append_child(self,name,pos=None,plier=False): """ Methode pour ajouter un objet fils a l'objet associe au noeud self. On peut l'ajouter en debut de liste (pos='first'), en fin (pos='last') ou en position intermediaire. Si pos vaut None, on le place a la position du catalogue. """ - #print ("************** appendChild ",self.item.getLabelText(), pos, plier) + print ("************** append_child ",self.item.GetLabelText(), plier) #import traceback #traceback.print_stack() - self.editor.initModif() + self.editor.init_modif() if pos == 'first': index = 0 elif pos == 'last': @@ -567,11 +511,11 @@ class JDCNode(QTreeWidgetItem,GereRegles): index = pos elif type(pos) == types.InstanceType: # pos est un item. Il faut inserer name apres pos - index = self.item.getIndex(pos) +1 + index = self.item.get_index(pos) +1 elif type(name) == types.InstanceType: - index = self.item.getIndexChild(name.nom) + index = self.item.get_index_child(name.nom) else: - index = self.item.getIndexChild(name) + index = self.item.get_index_child(name) # si on essaye d inserer a la racine if (isinstance(self.treeParent,JDCTree) and index==0) : @@ -579,7 +523,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): if not verifiePosition : return 0 self.tree.inhibeExpand=True - obj=self.item.addItem(name,index) # emet le signal 'add' + obj=self.item.additem(name,index) # emet le signal 'add' if obj is None:obj=0 if obj == 0:return 0 try : @@ -589,15 +533,13 @@ class JDCNode(QTreeWidgetItem,GereRegles): else : child.setDeplie() except : child=self.children[index] - try : - if len(obj) > 1 : self.buildChildren() - except : pass + self.build_children() self.tree.inhibeExpand=False - #print (" fin append child") + print (" fin append child") return child def deplace(self): - self.editor.initModif() + self.editor.init_modif() index = self.treeParent.children.index(self) - 1 if index < 0 : index =0 ret=self.treeParent.item.deplaceEntite(self.item.getObject()) @@ -606,22 +548,22 @@ class JDCNode(QTreeWidgetItem,GereRegles): """ Methode externe pour la destruction de l'objet associe au noeud """ - self.editor.initModif() + self.editor.init_modif() index = self.vraiParent.children.index(self) - 1 if index < 0 : index =0 recalcule=0 if self.item.nom == "VARIABLE" : recalcule=1 jdc=self.item.jdc - ret,commentaire=self.vraiParent.item.suppItem(self.item) + ret,commentaire=self.vraiParent.item.suppitem(self.item) if ret==0 : - self.editor.afficheInfos(commentaire,Qt.red) + self.editor.affiche_infos(commentaire,Qt.red) else : - self.editor.afficheInfos(commentaire) - self.treeParent.buildChildren() + self.editor.affiche_infos(commentaire) + self.treeParent.build_children() if self.treeParent.childrenComplete : toselect=self.treeParent.childrenComplete[index] else: toselect=self.treeParent - if recalcule : jdc.recalculeEtatCorrelation() + if recalcule : jdc.recalcule_etat_correlation() if ret==0 : if self.treeParent.childrenComplete : notdeleted=self.treeParent.childrenComplete[index+1] @@ -642,7 +584,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): Methode externe pour la destruction d une liste de noeud """ from InterfaceQT4 import compojdc - self.editor.initModif() + self.editor.init_modif() index=9999 recalcule=0 jdc=self.treeParent @@ -663,10 +605,10 @@ class JDCNode(QTreeWidgetItem,GereRegles): parentPosition=parentPosition.treeParent for noeud in liste: - noeud.treeParent.item.suppItem(noeud.item) + noeud.treeParent.item.suppitem(noeud.item) - jdc.buildChildren() - if recalcule : jdc.recalculeEtatCorrelation() + jdc.build_children() + if recalcule : jdc.recalcule_etat_correlation() try : toselect=parentPosition.children[index] except : toselect=jdc toselect.select() @@ -675,7 +617,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): # #------------------------------------------------------------------ def onValid(self): - #print ("onValid pour ", self.item.nom) + #print "onValid pour ", self.item.nom if self.JESUISOFF==1 : return if hasattr(self,'fenetre') and self.fenetre: try : @@ -684,115 +626,113 @@ class JDCNode(QTreeWidgetItem,GereRegles): # print "onValid pour ", self.item.nom, self,'pb' pass - if (self.item.nom == "VARIABLE" or self.item.nom == "DISTRIBUTION") and self.item.isValid(): - self.item.jdc.recalculeEtatCorrelation() + if (self.item.nom == "VARIABLE" or self.item.nom == "DISTRIBUTION") and self.item.isvalid(): + self.item.jdc.recalcule_etat_correlation() if hasattr(self.item,'forceRecalcul'): self.forceRecalculChildren(self.item.forceRecalcul) - self.editor.initModif() + self.editor.init_modif() - self.updateNodeValid() - self.updateNodeLabel() - self.updateNodeTexte() + self.update_node_valid() + self.update_node_label() + self.update_node_texte() def onAdd(self,object): if self.JESUISOFF==1 : return #print "onAdd pour ", self.item.nom, object.nom - self.editor.initModif() - self.updateNodes() + self.editor.init_modif() + self.update_nodes() # PN -- non necessaire si item=jdc if hasattr(self.item,'jdc'): self.item.jdc.aReafficher=True def onSupp(self,object): if self.JESUISOFF==1 : return #print "onSup pour ", self.item.nom, object.nom - self.editor.initModif() - self.updateNodes() + self.editor.init_modif() + self.update_nodes() # PN -- non necessaire si item=jdc if hasattr(self.item,'jdc'): self.item.jdc.aReafficher=True - def updateNodeValid(self): + def update_node_valid(self): """Cette methode remet a jour la validite du noeud (icone) - Elle appelle isValid + Elle appelle isvalid """ repIcon=self.appliEficas.repIcon - couleur=self.item.getIconName() - monIcone = QIcon(repIcon+"/" + couleur + ".png") + monIcone = QIcon(repIcon+"/" +self.item.GetIconName() + ".png") self.setIcon(0,monIcone) - - def updateNodeLabel(self): + def update_node_label(self): """ Met a jour le label du noeud """ - #print "NODE updateNodeLabel", self.item.getLabelText() - labeltext,fonte,couleur = self.item.getLabelText() + #print "NODE update_node_label", self.item.GetLabelText() + labeltext,fonte,couleur = self.item.GetLabelText() # PNPN a reflechir self.setText(0, labeltext) - def updateNodeLabelInBlack(self): + def update_node_label_in_black(self): if hasattr(self.appliEficas,'noeudColore'): self.appliEficas.noeudColore.setForeground(0,Qt.black) - self.appliEficas.noeudColore.updateNodeLabel + self.appliEficas.noeudColore.update_node_label - def updateNodeLabelInBlue(self): + def update_node_label_in_blue(self): if hasattr(self.appliEficas,'noeudColore'): self.appliEficas.noeudColore.setForeground(0,Qt.black) self.setForeground(0,Qt.blue) - labeltext,fonte,couleur = self.item.getLabelText() + labeltext,fonte,couleur = self.item.GetLabelText() self.setText(0, labeltext) self.appliEficas.noeudColore=self - def updatePlusieursNodeLabelInBlue(self,liste): + def update_plusieurs_node_label_in_blue(self,liste): if hasattr(self.appliEficas,'listeNoeudsColores'): for noeud in self.appliEficas.listeNoeudsColores: noeud.setTextColor( 0,Qt.black) - noeud.updateNodeLabel() + noeud.update_node_label() self.appliEficas.listeNoeudsColores=[] for noeud in liste : noeud.setTextColor( 0,Qt.blue ) - labeltext,fonte,couleur = noeud.item.getLabelText() + labeltext,fonte,couleur = noeud.item.GetLabelText() noeud.setText(0, labeltext) self.appliEficas.listeNoeudsColores.append(noeud) - def updateNodeTexteInBlack(self): + def update_node_texte_in_black(self): """ Met a jour les noms des SD et valeurs des mots-cles """ self.setTextColor( 1,Qt.black ) - value = self.item.getText() + value = self.item.GetText() self.setText(1, value) - def updateNodeTexte(self): + def update_node_texte(self): """ Met a jour les noms des SD et valeurs des mots-cles """ - value = self.item.getText() + value = self.item.GetText() self.setText(1, value) - def updateNodeTexteInBlue(self): + def update_node_texte_in_blue(self): self.setTextColor( 1,Qt.blue ) - value = self.item.getText() + value = self.item.GetText() self.setText(1, value) - def updateNodes(self): - #print 'NODE updateNodes', self.item.getLabelText() - self.buildChildren() + def update_nodes(self): + #print 'NODE update_nodes', self.item.GetLabelText() + self.build_children() - def updateValid(self) : + def update_valid(self) : """Cette methode a pour but de mettre a jour la validite du noeud et de propager la demande de mise a jour a son parent """ - #print "NODE updateValid", self.item.getLabelText() - self.updateNodeValid() + #print "NODE update_valid", self.item.GetLabelText() + self.update_node_valid() try : - self.treeParent.updateValid() + self.treeParent.update_valid() except: pass - def updateTexte(self): + def update_texte(self): """ Met a jour les noms des SD et valeurs des mots-cles """ - #print "NODE updateTexte", self.item.getLabelText() - self.updateNodeVexte() + #print "NODE update_texte", self.item.GetLabelText() + self.update_node_texte() if self.isExpanded() : for child in self.children: - if child.isHidden() == false : child.updateTexte() + if child.isHidden() == false : child.update_texte() def forceRecalculChildren(self,niveau): @@ -812,10 +752,10 @@ class JDCNode(QTreeWidgetItem,GereRegles): Declenche la copie de l'objet item avec pour cible l'objet passe en argument : node_selected """ - objet_a_copier = self.item.getCopieObjet() + objet_a_copier = self.item.get_copie_objet() child=node_selected.doPasteCommande(objet_a_copier,pos) if self.editor.fenetreCentraleAffichee : self.editor.fenetreCentraleAffichee.node.affichePanneau() - self.updateNodeLabelInBlack() + self.update_node_label_in_black() return child def doPasteCommande(self,objet_a_copier,pos='after'): @@ -826,7 +766,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): child=None try : #if 1 : - child = self.appendBrother(objet_a_copier,pos) + child = self.append_brother(objet_a_copier,pos) except : pass return child @@ -835,11 +775,12 @@ class JDCNode(QTreeWidgetItem,GereRegles): """ Realise la copie de l'objet passe en argument (objet_a_copier) """ - objet = objet_a_copier.item.getCopieObjet() - child = self.appendChild(objet,pos='first') + objet = objet_a_copier.item.get_copie_objet() + child = self.append_child(objet,pos='first') return child def plieToutEtReafficheSaufItem(self, itemADeplier): + #print "je suis dans plieToutEtReaffiche", self.item.get_nom() self.inhibeExpand=True from InterfaceQT4 import compojdc if (isinstance(self, compojdc.Node)) : @@ -858,7 +799,6 @@ class JDCNode(QTreeWidgetItem,GereRegles): self.inhibeExpand=False def plieToutEtReaffiche(self): - #print ('plieToutEtReaffiche', self.item.getNom()) from InterfaceQT4 import compojdc if (isinstance(self, compojdc.Node)) : self.affichePanneau(); return self.inhibeExpand=True @@ -869,7 +809,6 @@ class JDCNode(QTreeWidgetItem,GereRegles): if (isinstance(item,compobloc.Node)) : continue item.setPlie() self.affichePanneau() - #print ("fin plieToutEtReaffiche", self.item.getNom()) def deplieToutEtReaffiche(self): self.editor.deplier = True @@ -879,7 +818,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): def setPlie(self): #print "je mets inhibeExpand a true dans setPlie" - #print ("je suis dans plieTout", self.item.getNom()) + #print "je suis dans plieTout", self.item.get_nom() from . import compojdc if self.fenetre == self.editor.fenetreCentraleAffichee and isinstance(self.treeParent,compojdc.Node): return @@ -896,17 +835,15 @@ class JDCNode(QTreeWidgetItem,GereRegles): # item.appartientAUnNoeudPlie=False def setPlieChildren(self): + #print "dans setPlieChildren pour", self.item.nom self.plie=True - from InterfaceQT4 import composimp - if isinstance(self,composimp.Node) : return for c in self.children : c.setPlieChildren() - #print "dans setPlieChildren appartientAUnNoeudPlie=True ", c, c.item.getLabelText()[0] + #print "dans setPlieChildren appartientAUnNoeudPlie=True ", c, c.item.GetLabelText()[0] c.appartientAUnNoeudPlie=True c.plie=True #print "dans setPlieChildren plie", c.item.nom - # 01/2018 PNPN : boucle sur MT __ La ligne suivante ne me semble pas necessaire - #if not (isinstance(c,composimp.Node)) :c.setExpanded(False) + c.setExpanded(False) # Pour les blocs et les motcles list # on affiche un niveau de plus @@ -918,9 +855,17 @@ class JDCNode(QTreeWidgetItem,GereRegles): niveauPere=niveauPere.treeParent for c in self.children : c.appartientAUnNoeudPlie=niveauPere.appartientAUnNoeudPlie - #print ("dans setPlieChildren appartientAUnNoeudPlie=True ", c, c.item.getLabelText()[0], "mis a la valeur ", niveauPere.appartientAUnNoeudPlie) + #print "dans setPlieChildren appartientAUnNoeudPlie=True ", c, c.item.GetLabelText()[0], "mis a la valeur ", niveauPere.appartientAUnNoeudPlie c.setExpanded(False) + # on affiche un niveau de plus + #if isinstance(self,compomclist.Node) : + #if isinstance(self,compobloc.Node) : + # niveauPere=self.treeParent + # while (isinstance(niveauPere,compobloc.Node)): + # niveauPere=niveauPere.treeParent + # for c in self.children : + # c.appartientAUnNoeudPlie=niveauPere.appartientAUnNoeudPlie def setDeplie(self): #print "dans setPlieChildren pour", self.item.nom @@ -933,7 +878,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): #print "je mets inhibeExpand a false dans setDePlie" def setDeplieChildren(self): - #print "dans setDeplieChildren appartientAUnNoeudPlie=False ", self.item.getLabelText() + #print "dans setDeplieChildren appartientAUnNoeudPlie=False ", self.item.GetLabelText() for c in self.children : c.setDeplieChildren() #print "dans setDeplieChildren ", c.item.nom diff --git a/InterfaceQT4/toto/groupe.py b/InterfaceQT4/toto/groupe.py new file mode 100644 index 00000000..5f969dd4 --- /dev/null +++ b/InterfaceQT4/toto/groupe.py @@ -0,0 +1,198 @@ +# Copyright (C) 2007-2013 EDF R&D +# +# 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. +# +# 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 +# +# Modules Python +# Modules Eficas + +from __future__ import absolute_import +from __future__ import print_function +from PyQt5.QtWidgets import QWidget +from PyQt5.QtCore import Qt + +from Extensions.i18n import tr + +from .gereIcones import FacultatifOuOptionnel +import Accas +import traceback + + +# Import des panels + +class Groupe(QWidget,FacultatifOuOptionnel): + """ + """ + def __init__(self,node,editor,parentQt,definition,obj,niveau,commande=None): + QWidget.__init__(self,None) + self.node=node + self.node.fenetre=self + #print "groupe : ",self.node.item.nom," ",self.node.fenetre + self.setupUi(self) + self.editor=editor + self.obj=obj + self.niveau=niveau + self.definition=definition + self.parentQt=parentQt + self.maCommande=commande + self.listeFocus=[] + self.appliEficas=self.editor.appliEficas + self.repIcon=self.appliEficas.repIcon + self.jdc=self.node.item.get_jdc() + self.setIconePoubelle() + self.setIconesGenerales() + self.setRun() + self.setValide() + self.setReglesEtAide() + self.afficheMots() + self.listeMCAAjouter=[] + self.dictMCVenantDesBlocs={} + if hasattr(self,'RBDeplie') : self.RBDeplie.clicked.connect(self.Deplie) + if hasattr(self,'RBPlie') : self.RBPlie.clicked.connect( self.Plie) + self.setAcceptDrops(True) + + def donneFocus(self): + for fenetre in self.listeFocus: + if fenetre==None : return + if fenetre.node.item.isvalid() == 0 : + fenetre.prendLeFocus=1 + fenetre.hide() + fenetre.show() + + + def afficheMots(self): + #print "ds afficheMots ",self.node.item.nom + for node in self.node.children: + #if node.item.nom == "Background" :print "afficheMots ",node," " ,node.item.nom, " ",node.plie ," ", node.appartientAUnNoeudPlie,node.getPanelGroupe + #if node.item.nom == "BackgroundError" :print "afficheMots ",node," " ,node.item.nom, " ",node.plie ," ", node.appartientAUnNoeudPlie,node.getPanelGroupe + # non return mais continue car il faut tenir compte des blocs + if node.appartientAUnNoeudPlie==True : continue + #print "je suis apres le if pour ",node.item.nom + widget=node.getPanelGroupe(self,self.maCommande) + #print "widget pour ", node.item.nom, widget + self.listeFocus.append(node.fenetre) + #print "fin pour " , self.node.item.nom + + + def calculOptionnel(self): + self.liste_mc=[] + genea =self.obj.get_genealogie() + # Attention : les mots clefs listes (+sieurs fact ) + # n ont pas toutes ces methodes + try : + self.liste_mc=self.obj.get_liste_mc_ordonnee(genea,self.jdc.cata_ordonne_dico) + except : + return + + def afficheOptionnel(self): + liste=self.ajouteMCOptionnelDesBlocs() + self.monOptionnel=self.editor.widgetOptionnel + self.monOptionnel.afficheOptionnel(liste,self) + #self.monOptionnel.affiche(liste) + + + def ajouteMCOptionnelDesBlocs(self): + #print ("Je passe dans ajouteMCOptionnelDesBlocs pour", self.node.item.nom) + self.dictMCVenantDesBlocs={} + i=0 + self.calculOptionnel() + liste=self.liste_mc + for MC in self.liste_mc : self.dictMCVenantDesBlocs[MC]=self + while i < self.commandesLayout.count(): + from .monWidgetBloc import MonWidgetBloc + widget=self.commandesLayout.itemAt(i).widget() + i=i+1 + if not(isinstance(widget,MonWidgetBloc)) : continue + widget.calculOptionnel() + listeW=widget.ajouteMCOptionnelDesBlocs() + for MC in widget.dictMCVenantDesBlocs: + if MC in self.dictMCVenantDesBlocs: print ("Pb Sur les MC" ) + else : self.dictMCVenantDesBlocs[MC]=widget.dictMCVenantDesBlocs[MC] + liste=liste+listeW + return liste + + + def reaffiche(self,nodeAVoir=None): + #print "dans reaffiche de groupe.py", nodeAVoir + self.parentQt.reaffiche(nodeAVoir) + + def recalculeListeMC(self,listeMC): + #print "pas si peu utile" + #on ajoute et on enleve + listeNode=[] + for name in listeMC : + nodeAEnlever=self.node.append_child(name) + if nodeAEnlever.item.isMCList(): + nodeAEnlever=nodeAEnlever.children[-1] + listeNode.append(nodeAEnlever) + self.afficheOptionnel() + self.monOptionnel.affiche(self.liste_mc) + if len(listeNode) == 0 : return + if len(listeNode) == 1 : + listeNode[0].delete() + self.editor.affiche_infos("") + return + for noeud in listeNode: + noeud.treeParent.item.suppitem(noeud.item) + noeud.treeParent.build_children() + self.editor.affiche_infos("") + + def ajoutMC(self,texteListeNom): + listeNom=texteListeNom.split("+")[1:] + firstNode=None + for nom in listeNom: + if nom not in self.dictMCVenantDesBlocs: + #print "bizarre, bizarre" + self.editor.init_modif() + nouveau=self.node.append_child(nom) + else : + self.editor.init_modif() + widget=self.dictMCVenantDesBlocs[nom] + nouveau=widget.node.append_child(nom) + if firstNode==None : firstNode=nouveau + if nouveau == None or nouveau == 0 : + self.editor.affiche_infos(tr('insertion impossible a cet endroit pour '+nom),Qt.red) + self.reaffiche(firstNode) + if firstNode!=None and firstNode !=0 and firstNode.item!=None : + firstNode.select() + + + def Plie(self): + self.node.setPlie() + if self.editor.code== 'MT' and (self.maCommande.obj.nom == "ZONE") : + print (self.node.getPanelGroupe) + print (self.obj.nom) + print (self.niveau) +# and self.niveau == 3: + panneau = self.node.getPanelGroupe(self,self.maCommande,insertIn=False) + if hasattr( self.parentQt,'commandesLayout'): self.parentQt.commandesLayout.replaceWidget(self,panneau,Qt.FindDirectChildrenOnly) + return + self.reaffiche(self.node) + + def Deplie(self): + self.node.setDeplie() + if self.editor.code== 'MT' and (self.maCommande.obj.nom == "ZONE") : + print (self.obj.nom) + print (self.niveau) +# and self.niveau == 3: + panneau = self.node.getPanelGroupe(self,self.maCommande,insertIn=False) + self.parentQt.commandesLayout.replaceWidget(self,panneau,Qt.FindDirectChildrenOnly) + return + self.reaffiche(self.node) + + def traiteClicSurLabel(self,texte): + if self.editor.code != "CARMELCND" : self.afficheOptionnel() + diff --git a/InterfaceQT4/toto/monWidgetFact.py b/InterfaceQT4/toto/monWidgetFact.py new file mode 100644 index 00000000..ddc493c5 --- /dev/null +++ b/InterfaceQT4/toto/monWidgetFact.py @@ -0,0 +1,66 @@ +# Copyright (C) 2007-2013 EDF R&D +# +# 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. +# +# 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 +# +# Modules Python +from __future__ import absolute_import +from PyQt5.QtCore import Qt, QTimer +from PyQt5.QtWidgets import QWidget + + +# Modules Eficas + +from .groupe import Groupe +from desWidgetFact import Ui_WidgetFact +#from desWidgetFactHorizon import Ui_WidgetFactHorizon +from Extensions.i18n import tr +# Import des panels + +class MonWidgetFactCommun(Groupe): + """ + """ + def __init__(self,node,editor,parentQt,definition, obj, niveau,commande,insertIn=True): + #print "fact : ",node.item.nom + Groupe.__init__(self,node,editor,parentQt, definition,obj,niveau,commande) + labeltext,fonte,couleur = self.node.item.GetLabelText() + self.GroupBox.setText(tr(labeltext)) + self.GroupBox.setTextInteractionFlags(Qt.TextSelectableByMouse) + if insertIn : self.parentQt.commandesLayout.insertWidget(-1,self) + self.doitAfficherOptionnel=False + + def enterEvent(self,event): + #print "enterEvent ", self.node.item.GetLabelText()[0] + self.doitAfficherOptionnel=True + QWidget.enterEvent(self,event) + QTimer.singleShot(500, self.delayAffiche) + + def leaveEvent(self,event): + #print "leaveEvent", self.node.item.GetLabelText()[0] + self.doitAfficherOptionnel=False + QWidget.leaveEvent(self,event) + + def delayAffiche(self): + #print "delayAffiche, self.doitAfficherOptionnel = ", self.doitAfficherOptionnel + if self.doitAfficherOptionnel and self.editor.code != "CARMELCND" :self.afficheOptionnel() + +class MonWidgetFact(Ui_WidgetFact,MonWidgetFactCommun): + def __init__(self,node,editor,parentQt,definition, obj, niveau,commande,insertIn=True): + MonWidgetFactCommun.__init__(self,node,editor,parentQt, definition,obj,niveau,commande,insertIn) + +#class MonWidgetFactHorizontal(Ui_WidgetFactHorizon,MonWidgetFactCommun): +# def __init__(self,node,editor,parentQt,definition, obj, niveau,commande): +# MonWidgetFactCommun.__init__(self,node,editor,parentQt, definition,obj,niveau,commande) diff --git a/Telemac/qtEficas_Telemac.py b/InterfaceQT4/toto/monWidgetFactPlie.py old mode 100755 new mode 100644 similarity index 57% rename from Telemac/qtEficas_Telemac.py rename to InterfaceQT4/toto/monWidgetFactPlie.py index a8e58e02..15a5df4f --- a/Telemac/qtEficas_Telemac.py +++ b/InterfaceQT4/toto/monWidgetFactPlie.py @@ -1,6 +1,4 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -18,16 +16,24 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -""" - Ce module sert a lancer EFICAS configure pour Code_Aster -""" # Modules Python # Modules Eficas from __future__ import absolute_import -import sys,os -sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) +from desWidgetFactPlie import Ui_WidgetFactPlie +from .groupe import Groupe +from Extensions.i18n import tr +# Import des panels + +class MonWidgetFactPlie(Ui_WidgetFactPlie,Groupe): + """ + """ + def __init__(self,node,editor,parentQt,definition, obj, niveau,commande,insertIn=True): + #print "fact plie : ",node.item.nom + Groupe.__init__(self,node,editor,parentQt, definition,obj,niveau,commande) + self.groupBox.setText(self.node.item.GetLabelText()[0]) + if insertIn : self.parentQt.commandesLayout.insertWidget(-1,self) + + def traiteClicSurLabel(self,texte): + return -import prefs -from InterfaceQT4 import eficas_go -eficas_go.lance_eficas(code=prefs.code) diff --git a/InterfaceQT4/typeNode.py b/InterfaceQT4/typeNode.py index f9e2e944..7ea4b363 100644 --- a/InterfaceQT4/typeNode.py +++ b/InterfaceQT4/typeNode.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -27,10 +27,13 @@ from PyQt5.QtWidgets import QAction, QMenu, QMessageBox from Extensions.i18n import tr import types + + #---------------------------# class PopUpMenuRacine(object) : #---------------------------# + def createPopUpMenu(self): #print "createPopUpMenu" self.ParamApres = QAction(tr('Parametre'),self.tree) @@ -50,7 +53,7 @@ class PopUpMenuNodeMinimal(object) : #---------------------------# def createPopUpMenu(self): - #print ("createPopUpMenu") + #print "createPopUpMenu" #self.appliEficas.salome=True self.createActions() self.menu = QMenu(self.tree) @@ -62,12 +65,12 @@ class PopUpMenuNodeMinimal(object) : if hasattr(self.appliEficas, 'mesScripts'): if self.editor.code in self.editor.appliEficas.mesScripts : self.dict_commandes_mesScripts=self.appliEficas.mesScripts[self.editor.code].dict_commandes - if self.tree.currentItem().item.getNom() in self.dict_commandes_mesScripts : + if self.tree.currentItem().item.get_nom() in self.dict_commandes_mesScripts : self.ajoutScript() def ajoutScript(self): + # cochon mais je n arrive pas a faire mieux avec le mecanisme de plugin - # a revoir avec un menu et un connect sur le triggered sur le menu ? if hasattr(self.appliEficas, 'mesScripts'): if self.editor.code in self.editor.appliEficas.mesScripts : self.dict_commandes_mesScripts=self.appliEficas.mesScripts[self.editor.code].dict_commandes @@ -76,7 +79,7 @@ class PopUpMenuNodeMinimal(object) : from Extensions import jdc_include if isinstance(self.item.jdc,jdc_include.JDC_INCLUDE) : return - listeCommandes=self.dict_commandes_mesScripts[self.tree.currentItem().item.getNom()] + listeCommandes=self.dict_commandes_mesScripts[self.tree.currentItem().item.get_nom()] if type(listeCommandes) != tuple: listeCommandes=(listeCommandes,) numero=0 for commande in listeCommandes : @@ -86,32 +89,33 @@ class PopUpMenuNodeMinimal(object) : tip=commande[5] self.action=QAction(label,self.tree) self.action.setStatusTip(tip) - if numero==4: self.action.triggered.connect(self.appelleFonction4) - if numero==3: self.action.triggered.connect(self.appelleFonction3); numero=4 - if numero==2: self.action.triggered.connect(self.appelleFonction2); numero=3 - if numero==1: self.action.triggered.connect(self.appelleFonction1); numero=2 - if numero==0: self.action.triggered.connect(self.appelleFonction0); numero=1 + if numero==4: self.action.triggered.connect(self.AppelleFonction4) + if numero==3: self.action.triggered.connect(self.AppelleFonction3); numero=4 + if numero==2: self.action.triggered.connect(self.AppelleFonction2); numero=3 + if numero==1: self.action.triggered.connect(self.AppelleFonction1); numero=2 + if numero==0: self.action.triggered.connect(self.AppelleFonction0); numero=1 self.menu.addAction(self.action) - def appelleFonction0(self): - self.appelleFonction(0) + def AppelleFonction0(self): + self.AppelleFonction(0) + + def AppelleFonction1(self): + self.AppelleFonction(1) - def appelleFonction1(self): - self.appelleFonction(1) + def AppelleFonction2(self): + self.AppelleFonction(2) - def appelleFonction2(self): - self.appelleFonction(2) + def AppelleFonction3(self): + self.AppelleFonction(3) - def appelleFonction3(self): - self.appelleFonction(3) + def AppelleFonction4(self): + self.AppelleFonction(4) - def appelleFonction4(self): - self.appelleFonction(4) - def appelleFonction(self,numero,nodeTraite=None): + def AppelleFonction(self,numero,nodeTraite=None): if nodeTraite==None : nodeTraite=self.tree.currentItem() - nomCmd=nodeTraite.item.getNom() + nomCmd=nodeTraite.item.get_nom() if hasattr(self.appliEficas, 'mesScripts'): if self.editor.code in self.editor.appliEficas.mesScripts : self.dict_commandes_mesScripts=self.appliEficas.mesScripts[self.editor.code].dict_commandes @@ -121,7 +125,7 @@ class PopUpMenuNodeMinimal(object) : conditionValid=commande[4] - if (nodeTraite.item.isValid() == 0 and conditionValid == True): + if (nodeTraite.item.isvalid() == 0 and conditionValid == True): QMessageBox.warning( None, tr("item invalide"), tr("l item doit etre valide"),) @@ -146,6 +150,26 @@ class PopUpMenuNodeMinimal(object) : + def createActionsQT4(self): + self.CommApres = QAction(tr('apres'),self.tree) + self.tree.connect(self.CommApres,SIGNAL("triggered()"),self.addCommApres) + self.CommApres.setStatusTip(tr("Insere un commentaire apres la commande ")) + self.CommAvant = QAction(tr('avant'),self.tree) + self.tree.connect(self.CommAvant,SIGNAL("triggered()"),self.addCommAvant) + self.CommAvant.setStatusTip(tr("Insere un commentaire avant la commande ")) + + self.ParamApres = QAction(tr('apres'),self.tree) + self.tree.connect(self.ParamApres,SIGNAL("triggered()"),self.addParametersApres) + self.ParamApres.setStatusTip(tr("Insere un parametre apres la commande ")) + self.ParamAvant = QAction(tr('avant'),self.tree) + self.tree.connect(self.ParamAvant,SIGNAL("triggered()"),self.addParametersAvant) + self.ParamAvant.setStatusTip(tr("Insere un parametre avant la commande ")) + + self.Supprime = QAction(tr('Supprimer'),self.tree) + self.tree.connect(self.Supprime,SIGNAL("triggered()"),self.supprimeNoeud) + self.Supprime.setStatusTip(tr("supprime le mot clef ")) + self.Documentation = QAction(tr('Documentation'),self.tree) + self.tree.connect(self.Documentation,SIGNAL("triggered()"),self.viewDoc) def createActions(self): self.CommApres = QAction(tr('apres'),self.tree) @@ -175,12 +199,12 @@ class PopUpMenuNodeMinimal(object) : def viewDoc(self): self.node=self.tree.currentItem() - cle_doc = self.node.item.getDocu() + cle_doc = self.node.item.get_docu() if cle_doc == None : QMessageBox.information( self.editor,tr( "Documentation Vide"), \ tr("Aucune documentation n'est associee a ce noeud")) return - commande = self.editor.appliEficas.maConfiguration.exec_acrobat + commande = self.editor.appliEficas.CONFIGURATION.exec_acrobat try : f=open(commande,"rb") except : @@ -191,7 +215,7 @@ class PopUpMenuNodeMinimal(object) : if cle_doc.startswith('http:'): fichier = cle_doc else : - fichier = os.path.abspath(os.path.join(self.editor.maConfiguration.path_doc, + fichier = os.path.abspath(os.path.join(self.editor.CONFIGURATION.path_doc, cle_doc)) try : f=open(fichier,"rb") @@ -223,10 +247,6 @@ class PopUpMenuNodeMinimal(object) : item= self.tree.currentItem() item.addComment(False) - def deplieCeNiveau(self): - item= self.tree.currentItem() - item.deplieCeNiveau() - #--------------------------------------------# class PopUpMenuNodePartiel (PopUpMenuNodeMinimal): #---------------------------------------------# @@ -251,12 +271,12 @@ class PopUpMenuNode(PopUpMenuNodePartiel) : def createPopUpMenu(self): PopUpMenuNodePartiel.createPopUpMenu(self) self.Commente = QAction(tr('ce noeud'),self.tree) - self.Commente.triggered.connect(self.commenter) + self.Commente.triggered.connect(self.Commenter) self.Commente.setStatusTip(tr("commente le noeud ")) self.commentMenu.addAction(self.Commente) self.menu.removeAction(self.Supprime) self.menu.addAction(self.Supprime) - def commenter(self): + def Commenter(self): item= self.tree.currentItem() item.commentIt() diff --git a/InterfaceQT4/viewManager.py b/InterfaceQT4/viewManager.py index 0050a294..85459d8c 100644 --- a/InterfaceQT4/viewManager.py +++ b/InterfaceQT4/viewManager.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -31,7 +31,7 @@ from PyQt5.QtWidgets import QFileDialog, QMessageBox from PyQt5.QtCore import QFileInfo DictExtensions= {"MAP" : ".map"} -class MyViewManager(object): +class MyTabview(object): def __init__(self,appliEficas): self.appliEficas=appliEficas @@ -52,8 +52,8 @@ class MyViewManager(object): index=self.myQtab.currentIndex() if index in self.dict_editors: editor=self.dict_editors[index] - self.appliEficas.maConfiguration=editor.maConfiguration - self.appliEficas.code=editor.maConfiguration.code + self.appliEficas.CONFIGURATION=editor.CONFIGURATION + self.appliEficas.code=editor.CONFIGURATION.code self.appliEficas.setWindowTitle(editor.titre) self.appliEficas.construitMenu() @@ -73,12 +73,12 @@ class MyViewManager(object): fichier = QFileDialog.getOpenFileName(self.appliEficas, tr('Ouvrir Fichier'), - self.appliEficas.maConfiguration.savedir, + self.appliEficas.CONFIGURATION.savedir, extensions) fichier=fichier[0] fichier = os.path.abspath(six.text_type(fichier)) ulfile = os.path.abspath(six.text_type(fichier)) - self.appliEficas.maConfiguration.savedir=os.path.split(ulfile)[0] + self.appliEficas.CONFIGURATION.savedir=os.path.split(ulfile)[0] self.appliEficas.addToRecentList(fichier) maPage=self.getEditor( fichier,units=units) if maPage: result = maPage @@ -176,13 +176,6 @@ class MyViewManager(object): editor=self.dict_editors[index] editor.handleSupprimer() - def handleAjoutEtape(self,nomEtape): - index=self.myQtab.currentIndex() - if index < 0 : return - editor=self.dict_editors[index] - editor.handleAjoutEtape(nomEtape) - - def newEditor(self,include=0): if self.appliEficas.demande==True : self.appliEficas.definitCode(None,None) @@ -218,7 +211,7 @@ class MyViewManager(object): if index < 0 : return self.dict_editors[index].viewJdcRegles() - def handleGestionParam(self): + def handlegestionParam(self): index=self.myQtab.currentIndex() if index < 0 : QMessageBox.warning( self.appliEficas,tr(u"Creation Parametre indisponible"),tr(u"les parametres sont lies a un jeu de donnees")) @@ -251,11 +244,11 @@ class MyViewManager(object): self.myQtab.setTabText(index,fileName) return ok - def saveCompleteCurrentEditor(self): + def saveLegerCurrentEditor(self): index=self.myQtab.currentIndex() if index < 0 : return editor=self.dict_editors[index] - ok, newName = editor.saveCompleteFile() + ok, newName = editor.saveFileLeger() return ok def sauveLigneCurrentEditor(self): @@ -305,7 +298,7 @@ class MyViewManager(object): indexEditor=0 for indexEditor in self.dict_editors : editor=self.dict_editors[indexEditor] - if self.samePath(fichier, editor.getFileName()): + if self.samepath(fichier, editor.getFileName()): msgBox = QMessageBox() msgBox.setWindowTitle(tr("Fichier")) msgBox.setText(tr("Le fichier %s est deja ouvert", str(fichier))) @@ -316,7 +309,8 @@ class MyViewManager(object): double=editor else : from .editor import JDCEditor - editor = JDCEditor(self.appliEficas,fichier, jdc, self.myQtab,units=units,include=include) + editor = JDCEditor(self.appliEficas,fichier, jdc, self.myQtab,units=units,vm = self,include=include) + if double != None : self.doubles[editor]=double if editor.jdc: # le fichier est bien un jdc @@ -339,7 +333,7 @@ class MyViewManager(object): #PNPNPNPN --> a affiner if fichier is None: self.untitledCount += 1 - self.myQtab.addTab(win, tr("Fichier non encore nomme " + self.appliEficas.readercata.versionCode, self.untitledCount)) + self.myQtab.addTab(win, tr("Fichier non encore nomme ", self.untitledCount)) #self.myQtab.addTab(win, str(self.appliEficas.code)) else: liste=fichier.split('/') @@ -359,7 +353,7 @@ class MyViewManager(object): except : return "" - def samePath(self,f1, f2): + def samepath(self,f1, f2): """ compare two paths. """ @@ -393,9 +387,8 @@ class MyViewManager(object): msgBox.setText(tr("Le fichier ne sera pas sauvegarde.")) msgBox.addButton(tr("&Sauvegarder"),1) msgBox.addButton(tr("&Quitter sans sauvegarder"),0) - msgBox.addButton(tr("&Annuler"),2) res=msgBox.exec_() - if res == 2 : return res + if res == 2 : res = 1 if res == 0: (ok, newName) = editor.saveFile() if ok: @@ -410,23 +403,3 @@ class MyViewManager(object): if index < 0 : return editor=self.dict_editors[index] editor.handleAjoutGroup(listeGroup) - - def handleFonctionUtilisateur(self,laFonctionUtilisateur, lesArguments): - # Peut-etre a blinder un peu plus sur le nb d argument - index=self.myQtab.currentIndex() - if index < 0 : return - editor=self.dict_editors[index] - if editor.getEtapeCourante() == None : - QMessageBox.information( self.appliEficas, - tr("Selectionner une etape"), - tr("Le texte ne peut pas etre insere dans un fichier vide,\nCreer un materiau vide ou une zone vide et inserer le catalogue apres")) - return - - listeParam = [] - for p in lesArguments: - print (p) - if hasattr(editor,p): listeParam.append(getattr(editor,p)) - if p=="editor" : listeParam.append(editor) - if p=="etapeCourante" : listeParam.append(editor.getEtapeCourante()) - apply(laFonctionUtilisateur,listeParam) - diff --git a/InterfaceQT4/viewManagerSsIhm.py b/InterfaceQT4/viewManagerSsIhm.py deleted file mode 100644 index a588c792..00000000 --- a/InterfaceQT4/viewManagerSsIhm.py +++ /dev/null @@ -1,416 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2017 EDF R&D -# -# 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. -# -# 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 -# - -from __future__ import absolute_import -try : - from builtins import str - from builtins import object -except : pass - -import os -from Extensions.i18n import tr -import six -from PyQt5.QtWidgets import QFileDialog, QMessageBox -from PyQt5.QtCore import QFileInfo - -# -------------------------------- -class JdcSsIhmHandler(object): -# -------------------------------- -# retourne a l utilisateur - - def __init__(self,viewManager): -# -------------------------------------- - self.viewManagerSsIhm=viewManager - - def viewJdcPy(self) : -# --------------------- - self.viewManagerSsIhm.handleViewJdcPy(self) - - def viewJdcSource(self) : -# --------------------- - self.viewManagerSsIhm.handleViewJdcSource(self) - - def getFileName(self): -# --------------------- - self.viewManagerSsIhm.getFileName(self) - - def viewJdcRapport(self) : -# --------------------- - self.viewManagerSsIhm.handleViewJdcRapport(self) - - def getJdcRapport(self) : -# --------------------- - return self.viewManagerSsIhm.handleGetJdcRapport(self) - - def getDicoPython(self) : -# ------------------------- - return self.viewManagerSsIhm.generDico(self) - - def isJdcValid(self) : -# ------------------------- - return self.viewManagerSsIhm.isJdcValid(self) - - def fileSaveAs(self,fileName): -# ------------------------- - return self.viewManagerSsIhm.fileSaveAs(self,fileName) - - def fileLegerSaveAs(self,fileName): -# ----------------------------------- - return self.viewManagerSsIhm.fileLegerSaveAs(self,fileName) - - - -#-------------------------------- -class MyViewManagerSsIhm(object): -#-------------------------------- -# Symetrique de ViewManager mais pas d heritage entre les 2 -# dans le viewManager pas de souci pour savoir qui est le jdc sur lequel on travaille -# ici en revanche.... c est moins sur - -# -------------------------------- - def __init__(self,appliEficas): -# -------------------------------- - self.appliEficas=appliEficas - self.tabWidgets = [] - self.mesIndexes = {} - self.dictEditors={} - self.untitledCount = 0 - self.doubles = {} - -# ------------------------------------------------------ - def handleOpen(self,fichier=None, units=None): -# ------------------------------------------------------ - result = None - if fichier is None: - print ('nom de fichier obligatoire') - return None - - for handler in self.dictEditors : - editor=self.dictEditors[handler] - if self.samePath(fichier, editor.getFileName()): - print ('fichier deja ouvert . pas de nouvel editor') - return handler - - monNewHandler = self.getNewEditor(fichier,units) - return monNewHandler - -# ---------------------------------------------------------------------- - def getNewEditor(self,fichier = None,jdc = None, units = None,include=0): -# ---------------------------------------------------------------------- - - from InterfaceQT4.editorSsIhm import JDCEditorSsIhm - editor = JDCEditorSsIhm(self.appliEficas,fichier,jdc, units=units,include=include) - - if editor.jdc: # le fichier est bien un jdc - monHandler = JdcSsIhmHandler(self) - self.dictEditors[monHandler]=editor - return monHandler - else: - print ('impossible de construire le jdc') - return None - -# ----------------------------- - def samePath(self,f1, f2): -# ------------------------------ - """ - compare two paths. - """ - if f1 is None or f2 is None: return 0 - if os.path.normcase(os.path.normpath(f1)) == os.path.normcase(os.path.normpath(f2)) : return 1 - return 0 - -# --------------------------------- - def handleViewJdcPy(self,handler): -# --------------------------------- - if not (handler in self.dictEditors) : - print ('editor non trouve') - return - self.dictEditors[handler].viewJdcPy() - -# --------------------------------- - def getFileName(self,handler): -# --------------------------------- - if not (handler in self.dictEditors) : - print ('editor non trouve') - return - return self.dictEditors[handler].getFileName() - - -# --------------------------------------------- - def handleViewJdcSource(self,handler): -# --------------------------------------------- - print (handler) - if not (handler in self.dictEditors) : - print ('editor non trouve') - return - self.dictEditors[handler].viewJdcSource() - - -# --------------------------------------------- - def handleViewJdcRapport(self,handler): -# --------------------------------------------- - print (handler) - if not (handler in self.dictEditors) : - print ('editor non trouve') - return - self.dictEditors[handler].viewJdcRapport() - -# --------------------------------------------- - def handleGetJdcRapport(self,handler): -# --------------------------------------------- - if not (handler in self.dictEditors) : - print ('editor non trouve') - return - return self.dictEditors[handler].getJdcRapport() - -# --------------------------------------------- - def handleViewJdcRapport(self,handler): -# --------------------------------------------- - print (handler) - if not (handler in self.dictEditors) : - print ('editor non trouve') - return - self.dictEditors[handler].viewJdcRapport() - - -# --------------------------------------------- - def generDico(self,handler): -# --------------------------------------------- - print (handler) - if not (handler in self.dictEditors) : - print ('editor non trouve') - return - return self.dictEditors[handler].generDico() - - -# --------------------------------------------- - def isJdcValid(self,handler): -# --------------------------------------------- - print (handler) - if not (handler in self.dictEditors) : - print ('editor non trouve') - return - return self.dictEditors[handler].jdc.isValid() - - -# --------------------------------------------- - def fileSaveAs(self,handler,fileName): -# --------------------------------------------- - print (handler) - if not (handler in self.dictEditors) : - print ('editor non trouve') - return - return self.dictEditors[handler].saveFile(fileName) - -# --------------------------------------------- - def fileLegerSaveAs(self, handler,fileName): -# --------------------------------------------- -# print (handler) - if not (handler in self.dictEditors) : - print ('editor non trouve') - return - self.dictEditors[handler].saveFileLegerAs(fileName) - - -# def handleClose(self,doitSauverRecent = 1,texte=tr('&Quitter')): -# if doitSauverRecent : self.appliEficas.sauveRecents() -# index=self.myQtab.currentIndex() -# if index < 0 : return -# res=self.checkDirty(self.dict_editors[index],texte) -# if res == 2 : return 2 # l utilisateur a annule -# index=self.myQtab.currentIndex() -# idx=index -# while idx < len(self.dict_editors) -1 : -# self.dict_editors[idx]=self.dict_editors[idx+1] -# idx = idx + 1 -# del self.dict_editors[len (self.dict_editors) -1] -# try : -# del self.doubles[self.dict_editors[index]] -# except : -# pass -# self.myQtab.removeTab(index) -# return res -# - -# -# def handleCloseAll(self,texte=tr('Quitter')): -# res=0 -# self.appliEficas.sauveRecents() -# while len(self.dict_editors) > 0 : -# self.myQtab.setCurrentIndex(0) -# res=self.handleClose(0,texte) -# if res==2 : return res # l utilsateur a annule -# return res -# -# -# -# def newEditor(self,include=0): -# if self.appliEficas.demande==True : -# self.appliEficas.definitCode(None,None) -# if self.appliEficas.code == None:return -# maPage=self.getEditor(include=include) -# - -# -# def handleViewJdcRegles(self): -# index=self.myQtab.currentIndex() -# if index < 0 : return -# self.dict_editors[index].viewJdcRegles() -# -# def handleGestionParam(self): -# index=self.myQtab.currentIndex() -# if index < 0 : -# QMessageBox.warning( self.appliEficas,tr(u"Creation Parametre indisponible"),tr(u"les parametres sont lies a un jeu de donnees")) -# return -# self.dict_editors[index].gestionParam() -# -# -# -# def saveCurrentEditor(self): -# index=self.myQtab.currentIndex() -# if index < 0 : return -# editor=self.dict_editors[index] -# if editor in self.doubles : -# QMessageBox.warning( -# None, -# tr("Fichier Duplique"), -# tr("Le fichier ne sera pas sauvegarde."),) -# return -# ok, newName = editor.saveFile() -# if ok : -# fileName=os.path.basename(six.text_type(newName)) -# self.myQtab.setTabText(index,fileName) -# return ok -# -# def saveLegerCurrentEditor(self): -# index=self.myQtab.currentIndex() -# if index < 0 : return -# editor=self.dict_editors[index] -# ok, newName = editor.saveFileLeger() -# return ok -# -# def sauveLigneCurrentEditor(self): -# index=self.myQtab.currentIndex() -# if index < 0 : return -# editor=self.dict_editors[index] -# if editor in self.doubles : -# QMessageBox.warning( -# None, -# tr("Fichier Duplique"), -# tr("Le fichier ne sera pas sauvegarde."),) -# return -# ok, newName = editor.sauveLigneFile() -# if ok : -# fileName=os.path.basename(six.text_type(newName)) -# self.myQtab.setTabText(index,fileName) -# return ok -# -# -# def saveAsCurrentEditor(self): -# index=self.myQtab.currentIndex() -# editor=self.dict_editors[index] -# oldName=editor.fichier -# ok,newName = editor.saveFileAs() -# if ok : -# fileName=os.path.basename(six.text_type(newName)) -# self.myQtab.setTabText(index,fileName) -# if editor in self.doubles : -# if oldName != newName : -# del self.doubles[editor] -# return ok -# -# def displayJDC(self,jdc,fn=None): -# """ -# Public slot to display a file in an editor. -# @param fn name of file to be opened -# # insert filename into list of recently opened files -# """ -# titre=None -# if fn != None : titre=fn.split("/")[-1] -# editor = self.getEditor(fichier= fn, jdc = jdc ,include=1) -# self.appliEficas.addToRecentList(editor.getFileName()) -# - -##PNPNPNPN --> a affiner -# if fichier is None: -# self.untitledCount += 1 -# self.myQtab.addTab(win, tr("Fichier non encore nomme ", self.untitledCount)) -# #self.myQtab.addTab(win, str(self.appliEficas.code)) -# else: -# liste=fichier.split('/') -# txt = liste[-1] -# if not QFileInfo(fichier).isWritable(): -# txt = '%s (ro)' % txt -# self.myQtab.addTab(win,txt ) -# self.myQtab.setCurrentWidget(win) -# self.currentEditor=win -# win.setFocus() -# -# def getOpenStartDir(self) : -# #PN --> Les Preferences -# try : -# userDir=os.path.expanduser("~/Eficas_install/") -# return userDir -# except : -# return "" -# -# -# def checkDirty(self, editor,texte): -# """ -# Private method to check dirty status and open a message window. -# -# @param editor editor window to check -# @return flag indicating successful reset of the dirty flag (boolean) -# """ -# res=1 -# if (editor.modified) and (editor in self.doubles) : -# msgBox = QMessageBox(None) -# msgBox.setWindowTitle(tr("Fichier Duplique")) -# msgBox.setText(tr("Le fichier ne sera pas sauvegarde.")) -# msgBox.addButton(texte,0) -# msgBox.addButton(tr("&Annuler"),1) -# res=msgBox.exec_() -# if res == 0 : return 1 -# return 2 -# if editor.modified: -# fn = editor.getFileName() -# if fn is None: fn = tr('Noname') -# msgBox = QMessageBox(None) -# msgBox.setWindowTitle(tr("Fichier Modifie")) -# msgBox.setText(tr("Le fichier ne sera pas sauvegarde.")) -# msgBox.addButton(tr("&Sauvegarder"),1) -# msgBox.addButton(tr("&Quitter sans sauvegarder"),0) -# msgBox.addButton(tr("&Annuler"),2) -# res=msgBox.exec_() -# if res == 2 : return res -# if res == 0: -# (ok, newName) = editor.saveFile() -# if ok: -# fileName=os.path.basename(six.text_type(newName)) -# index=self.myQtab.currentIndex() -# self.myQtab.setTabText(index,fileName) -# return ok -# return res -# -# def handleAjoutGroup(self,listeGroup): -# index=self.myQtab.currentIndex() -# if index < 0 : return -# editor=self.dict_editors[index] -# editor.handleAjoutGroup(listeGroup) diff --git a/MAP/configuration_MAP.py b/MAP/configuration_MAP.py deleted file mode 100644 index 6c997677..00000000 --- a/MAP/configuration_MAP.py +++ /dev/null @@ -1,60 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# 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. -# -# 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 -# -""" - Ce module sert pour charger les parametres de configuration d'EFICAS -""" -# Modules Python -import os -import sys -import configuration - -# Modules Eficas -from Editeur import utils - -class CONFIG(configuration.CONFIG_BASE): - - #----------------------------------- - def __init__(self,appli,repIni): - #----------------------------------- - self.ssCode=appli.ssCode - self.INSTALLDIR =os.path.dirname(__file__) - self.adresse="ftp://ftp.pleiade.edf.fr/projets/MAP/OnlineDoc/MAP2014.1/components" - - self.labels_user=['exec_acrobat','savedir','path_doc'] - self.labels_eficas=['exec_acrobat','savedir','path_doc','catalogues','closeAutreCommande','closeFrameRechercheCommande','taille'] - - #self.cataFile="catalogues_MAP.ini" - configuration.CONFIG_BASE.__init__(self,appli,repIni) - - def make_ssCode(self,ssCode): - if ssCode == None : return - try : - name='prefs_'+ssCode - prefs_ssCode=__import__(name) - prefs_ssCode.ajout(self) - except : - pass - - -def make_config(appli,rep): - return CONFIG(appli,rep) - - - diff --git a/MAP/mapcata.py b/MAP/mapcata.py deleted file mode 100755 index 80de7820..00000000 --- a/MAP/mapcata.py +++ /dev/null @@ -1,2283 +0,0 @@ - -from Accas import * - -JdC = JDC_CATA (code = 'MAP', - execmodul = None, - ) - -import types -class Tuple: - def __init__(self,ntuple): - self.ntuple=ntuple - - def __convert__(self,valeur): - if type(valeur) == types.StringType: - return None - if len(valeur) != self.ntuple: - return None - return valeur - - def info(self): - return "Tuple de %s elements" % self.ntuple - - __repr__=info - __str__=info - -# ====================================================================== -# Catalog entry for the MAP function : c_solver_primary_chemistry -# ====================================================================== -C_SOLVER_PRIMARY_CHEMISTRY_DATA=PROC(nom='C_SOLVER_PRIMARY_CHEMISTRY_DATA',op=None, -UIinfo ={'groupes':('solver',)}, -input_temp=SIMP(typ='R',fr= "value of the temperature in Celsius",ang= "value of the temperature in Celsius",docu= "",statut= "o",into=None,min=1,max=1,val_min=20.0,val_max=320.0,defaut=None), -input_bore=SIMP(typ='R',fr= "boron content (in ppm) in the primary water",ang= "boron content (in ppm) in the primary water",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max=2000.0,defaut=None), -input_lithium=SIMP(typ='R',fr= "lithium content (in ppm) in the primary water",ang= "lithium content (in ppm) in the primary water",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max=1000.0,defaut=None), -save_out=SIMP(typ=bool,fr= "boolean, if true output results in an output file",ang= "boolean, if true output results in an output file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_file=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "Pathname for the ouput file",ang= "Pathname for the ouput file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -) -# ====================================================================== -# Catalog entry for the MAP function : c_post_polymer_graphic -# ====================================================================== -C_POST_POLYMER_GRAPHIC_DATA=PROC(nom='C_POST_POLYMER_GRAPHIC_DATA',op=None, -UIinfo ={'groupes':('post',)}, -study_name=SIMP(typ='TXM',fr= "Describes the name of the study",ang= "Describes the name of the study",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_directory=SIMP(typ='TXM',fr= "Name of directory where input data are located.",ang= "Name of directory where input data are located.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -csv_output_file_name=SIMP(typ='TXM',fr= "Name of file where input data are stored.",ang= "Name of file where input data are stored.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -graphic_names=SIMP(typ='TXM',fr= "Names of graphics",ang= "Names of graphics",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_nodes=SIMP(typ='TXM',fr= "List of the nodes that have to be plot.if graphic_nodes is a list, all the nodes in the list will be plot for each graph. If the list contain only 'all', all the nodes will be plot. If the nodes are differents for each graph, graphic_nodes will be a list of list. The first list level will have the same lenth as graphic_names (same order) the second list level will contain the nodes for the graph",ang= "List of the nodes that have to be plot.if graphic_nodes is a list, all the nodes in the list will be plot for each graph. If the list contain only 'all', all the nodes will be plot. If the nodes are differents for each graph, graphic_nodes will be a list of list. The first list level will have the same lenth as graphic_names (same order) the second list level will contain the nodes for the graph",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_log=SIMP(typ='TXM',fr= "list of the boolean that indiacte if the X and Y axes will be plot in log. if graphic_log is a list of 1 boolean, ex True, the log will be applied for the 2 axes of all the graphs. if graphic_log is a list of 2 boolean, the 1st boolean will be link to the X axe, the second to the Y axe of all the graphs, If the log information is different for each graph, graphic_log will be a list of list. The first list level will have the same lenth as graphic_names (same order) the second list level will contain the same information as the 2 previous options",ang= "list of the boolean that indiacte if the X and Y axes will be plot in log. if graphic_log is a list of 1 boolean, ex True, the log will be applied for the 2 axes of all the graphs. if graphic_log is a list of 2 boolean, the 1st boolean will be link to the X axe, the second to the Y axe of all the graphs, If the log information is different for each graph, graphic_log will be a list of list. The first list level will have the same lenth as graphic_names (same order) the second list level will contain the same information as the 2 previous options",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_graphic_name=SIMP(typ='TXM',fr= "list of parameter name on which graph we wish to add other plots",ang= "list of parameter name on which graph we wish to add other plots",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_name=SIMP(typ='TXM',fr= "list of list of name of the experiemental plot that will be add. The first list level will have the same lenth as graphic_names (same order) the second list level will contain the experiemental names for the graph",ang= "list of list of name of the experiemental plot that will be add. The first list level will have the same lenth as graphic_names (same order) the second list level will contain the experiemental names for the graph",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_file=SIMP(typ='TXM',fr= "list of list of file name of the experiemental data that will be add. The first list level will have the same lenth as graphic_names (same order) the second list level will contain the experiemental file names",ang= "list of list of file name of the experiemental data that will be add. The first list level will have the same lenth as graphic_names (same order) the second list level will contain the experiemental file names",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_names=SIMP(typ='TXM',fr= "list of parameter name that have to be plot",ang= "list of parameter name that have to be plot",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_nodes=SIMP(typ='TXM',fr= "list of the nodes that have to be plot. if graphic_nodes is a list, all the nodes in the list will be plot for each graph. If the list contain only 'all', all the nodes will be plot. If the nodes are differents for each graph, graphic_nodes will be a list of list. The first list level will have the same lenth as graphic_space_names (same order) the second list level will contain the nodes for the graph",ang= "list of the nodes that have to be plot. if graphic_nodes is a list, all the nodes in the list will be plot for each graph. If the list contain only 'all', all the nodes will be plot. If the nodes are differents for each graph, graphic_nodes will be a list of list. The first list level will have the same lenth as graphic_space_names (same order) the second list level will contain the nodes for the graph",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_times=SIMP(typ='TXM',fr= "list of the time that have to be plot. if graphic_time is a list, all the time in the list will be plot for each graph. If the list contain only 'all', all the times will be plot. If the times are differents for each graph, graphic_nodes will be a list of list. The first list level will have the same lenth as graphic_space_names (same order) the second list level will contain the times for the graph",ang= "list of the time that have to be plot. if graphic_time is a list, all the time in the list will be plot for each graph. If the list contain only 'all', all the times will be plot. If the times are differents for each graph, graphic_nodes will be a list of list. The first list level will have the same lenth as graphic_space_names (same order) the second list level will contain the times for the graph",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_log=SIMP(typ='TXM',fr= "list of the boolean that indiacte if the X and Y axes will be plot in log. +if graphic_log is a list of 1 boolean, ex True, the log will be applied for the 2 axes of all the graphs if graphic_log is a list of 2 boolean, the 1st boolean will be link to the X axe, the second to the Y axe of all the graphs. If the log information is different for each graph, graphic_log will be a list of list. The first list level will have the same lenth as graphic_space_names (same order) the second list level will contain the same information as the 2 previous options",ang= "list of the boolean that indiacte if the X and Y axes will be plot in log. +if graphic_log is a list of 1 boolean, ex True, the log will be applied for the 2 axes of all the graphs if graphic_log is a list of 2 boolean, the 1st boolean will be link to the X axe, the second to the Y axe of all the graphs. If the log information is different for each graph, graphic_log will be a list of list. The first list level will have the same lenth as graphic_space_names (same order) the second list level will contain the same information as the 2 previous options",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -) -# ====================================================================== -# Catalog entry for the MAP function : c_post_grid_field -# ====================================================================== -C_POST_GRID_FIELD_DATA=PROC(nom='C_POST_GRID_FIELD_DATA',op=None, -UIinfo ={'groupes':('post',)}, -study_name=SIMP(typ='TXM',fr= "the name of your study",ang= "the name of your study",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_directory=SIMP(typ='Repertoire',fr= "the name of the output directory",ang= "the name of the output directory",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -prior_strain_dat_file_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "first Stereo output file",ang= "first Stereo output file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -second_strain_dat_file_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "second Stereo output file",ang= "second Stereo output file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -mesh_size_in_micron=SIMP(typ='R',fr= "grid mesh size in microns",ang= "grid mesh size in microns",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -mesh_size_in_pixel=SIMP(typ='I',fr= "grid mesh size in pixels",ang= "grid mesh size in pixels",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -matlab=SIMP(typ=bool,fr= "formatting output for matlab",ang= "formatting output for matlab",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -accuracy=SIMP(typ='I',fr= "number of subdivision",ang= "number of subdivision",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -bin_number=SIMP(typ='I',fr= "number of bins in histogram",ang= "number of bins in histogram",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -histograms=SIMP(typ=bool,fr= "save histograms",ang= "save histograms",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -prior_strain=SIMP(typ=bool,fr= "save the prior strain",ang= "save the prior strain",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -second_strain=SIMP(typ=bool,fr= "save the second strain",ang= "save the second strain",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -strain_path_beta=SIMP(typ=bool,fr= "save the strain path beta",ang= "save the strain path beta",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -peek=SIMP(typ=bool,fr= "save the peek",ang= "save the peek",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -oxydation_map=SIMP(typ=bool,fr= "save the oxydation map",ang= "save the oxydation map",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -) -# ====================================================================== -# Catalog entry for the MAP function : c_solver_generalised_corrosion -# ====================================================================== -C_SOLVER_GENERALISED_CORROSION_DATA=PROC(nom='C_SOLVER_GENERALISED_CORROSION_DATA',op=None, -UIinfo ={'groupes':('transverse',)}, -input_grid_field_csv=SIMP(typ=('Fichier', 'All Files (*)'),fr= "name of the grid field csv file with metal thickness field",ang= "name of the grid field csv file with metal thickness field",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "name of the grid field metadata file with metal thickness field",ang= "name of the grid field metadata file with metal thickness field",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -corrosion_speed_profile=SIMP(typ=('Fichier', 'All Files (*)'),fr= "name of the file describing corrosion speed profile with thickness",ang= "name of the file describing corrosion speed profile with thickness",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_grid_field_csv=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "resulting thickness field csv file (grid field format)",ang= "resulting thickness field csv file (grid field format)",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_grid_field_metadata=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "resulting thickness field metadata file (grid field format)",ang= "resulting thickness field metadata file (grid field format)",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_grid_field_pdf=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "pdf report including intermediate thickness fields",ang= "pdf report including intermediate thickness fields",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -computation_steps=SIMP(typ='I',fr= "number of time steps",ang= "number of time steps",docu= "",statut= "o",into=None,min=1,max=1,val_min=1,val_max=100,defaut=10), -computation_time_step=SIMP(typ='R',fr= "amplitude of the time steps",ang= "amplitude of the time steps",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -display=SIMP(typ=bool,fr= "turn it on to display fields",ang= "turn it on to display fields",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -initial_thickness=SIMP(typ='R',fr= "initial metal thickness",ang= "initial metal thickness",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -) -# ====================================================================== -# Catalog entry for the MAP function : c_pre_ct_specimen_mesh -# ====================================================================== -C_PRE_CT_SPECIMEN_MESH_DATA=PROC(nom='C_PRE_CT_SPECIMEN_MESH_DATA',op=None, -UIinfo ={'groupes':('pre',)}, -ct_scale=SIMP(typ='R',fr= "Scale factor of the CT specimen, with respect to a CT 12.5 model",ang= "Scale factor of the CT specimen, with respect to a CT 12.5 model",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.5,val_max=2.0,defaut=1.0), -crack_depth_ratio=SIMP(typ='R',fr= "Conventional a/w ratio of crack depth over specimen thickness",ang= "Conventional a/w ratio of crack depth over specimen thickness",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.3,val_max=0.6,defaut=0.5), -output_mesh=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "pathname of the file where the output MED mesh is generated",ang= "pathname of the file where the output MED mesh is generated",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_info=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "pathname of the file where the output information about the mesh is generated",ang= "pathname of the file where the output information about the mesh is generated",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -) -# ====================================================================== -# Catalog entry for the MAP function : c_post_scatterplot_sensitivity -# ====================================================================== -C_POST_SCATTERPLOT_SENSITIVITY_DATA=PROC(nom='C_POST_SCATTERPLOT_SENSITIVITY_DATA',op=None, -UIinfo ={'groupes':('post',)}, -xsample=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Name of the file that contains the input experimental design",ang= "Name of the file that contains the input experimental design",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -ysample=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Name of the file that contains the output experimental design",ang= "Name of the file that contains the output experimental design",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -degree=SIMP(typ='I',fr= "Maximum degree of the polynomial fit.If the parameter is not set, no fit is attempted",ang= "Maximum degree of the polynomial fit.If the parameter is not set, no fit is attempted",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -file_output=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "Name of the output file containing the analysis results",ang= "Name of the output file containing the analysis results",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -) -# ====================================================================== -# Catalog entry for the MAP function : c_image_2d_uncurtain -# ====================================================================== -C_IMAGE_2D_UNCURTAIN_DATA=PROC(nom='C_IMAGE_2D_UNCURTAIN_DATA',op=None, -UIinfo ={'groupes':('image',)}, -image_name=SIMP(typ='TXM',fr= "pathname of the files of input images ; globing (wild card) is allowed",ang= "pathname of the files of input images ; globing (wild card) is allowed",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -mask_width=SIMP(typ='R',fr= "(optional if GUI is used, mandatory otherwise) dark bands width of the mask",ang= "(optional if GUI is used, mandatory otherwise) dark bands width of the mask",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -core_width=SIMP(typ='R',fr= "(optional if GUI is used, mandatory otherwise)center size not to be darken in the fourier transform image",ang= "(optional if GUI is used, mandatory otherwise)center size not to be darken in the fourier transform image",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -mask_blur=SIMP(typ='R',fr= "(optional if GUI is used, mandatory otherwise)gaussian blur sigma applied on the mask",ang= "(optional if GUI is used, mandatory otherwise)gaussian blur sigma applied on the mask",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -gui=SIMP(typ=bool,fr= "Run the Graphical User Interface if set to True",ang= "Run the Graphical User Interface if set to True",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -output_prefix=SIMP(typ='TXM',fr= "Prefix appended before the output file name",ang= "Prefix appended before the output file name",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=''), -output_suffix=SIMP(typ='TXM',fr= "Suffix appended after the output file name",ang= "Suffix appended after the output file name",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=''), -output_directory=SIMP(typ='Repertoire',fr= "path where each output file is written",ang= "path where each output file is written",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut='refs'), -) -# ====================================================================== -# Catalog entry for the MAP function : c_image_2d_brightness_equalizer -# ====================================================================== -C_IMAGE_2D_BRIGHTNESS_EQUALIZER_DATA=PROC(nom='C_IMAGE_2D_BRIGHTNESS_EQUALIZER_DATA',op=None, -UIinfo ={'groupes':('image',)}, -mask_shape=SIMP(typ='TXM',fr= "(optional in standalone mode if gui parameter is set to True, mandatory otherwise) technic used to create the mask shape",ang= "(optional in standalone mode if gui parameter is set to True, mandatory otherwise) technic used to create the mask shape",docu= "",statut= "o",into=['gaussian', 'parabolic', 'planar'],min=1,max=1,val_min='**',val_max='**',defaut='gaussian'), -mask_shape_gaussian=BLOC(condition="(mask_shape=='gaussian')", -image_name=SIMP(typ='TXM',fr= "pathname of the files of input images ; globing (wild card) is allowed",ang= "pathname of the files of input images ; globing (wild card) is allowed",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -gui=SIMP(typ=bool,fr= "Run the Graphical User Interface if set to True",ang= "Run the Graphical User Interface if set to True",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -output_prefix=SIMP(typ='TXM',fr= "Prefix appended before the output file name",ang= "Prefix appended before the output file name",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=''), -output_suffix=SIMP(typ='TXM',fr= "Suffix appended after the output file name",ang= "Suffix appended after the output file name",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=''), -gaussian_blur_sigma=SIMP(typ='R',fr= "standard variation of the gaussian blur applied to the input image to create the mask",ang= "standard variation of the gaussian blur applied to the input image to create the mask",docu= "",statut= "f",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -), -output_directory=SIMP(typ='Repertoire',fr= "(optional, default : /refs) path where each output file is written",ang= "(optional, default : /refs) path where each output file is written",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -mask_shape_parabolic=BLOC(condition="(mask_shape=='parabolic')", -image_name=SIMP(typ='TXM',fr= "pathname of the files of input images ; globing (wild card) is allowed",ang= "pathname of the files of input images ; globing (wild card) is allowed",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -gui=SIMP(typ=bool,fr= "Run the Graphical User Interface if set to True",ang= "Run the Graphical User Interface if set to True",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -output_prefix=SIMP(typ='TXM',fr= "Prefix appended before the output file name",ang= "Prefix appended before the output file name",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=''), -output_suffix=SIMP(typ='TXM',fr= "Suffix appended after the output file name",ang= "Suffix appended after the output file name",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=''), -relative_steepness=SIMP(typ='R',fr= "(optional if GUI is used, mandatory otherwise) Set the steepness of the 2D parabola. The mask maximum value is computed as multiplied by the difference between input image minimum and maximum value divided by 100",ang= "(optional if GUI is used, mandatory otherwise) Set the steepness of the 2D parabola. The mask maximum value is computed as multiplied by the difference between input image minimum and maximum value divided by 100",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -mask_shape_planar=BLOC(condition="(mask_shape=='planar')", -image_name=SIMP(typ='TXM',fr= "pathname of the files of input images ; globing (wild card) is allowed",ang= "pathname of the files of input images ; globing (wild card) is allowed",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -gui=SIMP(typ=bool,fr= "Run the Graphical User Interface if set to True",ang= "Run the Graphical User Interface if set to True",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -output_prefix=SIMP(typ='TXM',fr= "Prefix appended before the output file name",ang= "Prefix appended before the output file name",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=''), -output_suffix=SIMP(typ='TXM',fr= "Suffix appended after the output file name",ang= "Suffix appended after the output file name",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=''), -relative_tilt=SIMP(typ='R',fr= "(optional if GUI is used, mandatory otherwise) set the plan tilt. In the direction, the mask value is decreased by multiplied by the difference between the input image maximum and minimum values divided by 100 times the image length",ang= "(optional if GUI is used, mandatory otherwise) set the plan tilt. In the direction, the mask value is decreased by multiplied by the difference between the input image maximum and minimum values divided by 100 times the image length",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -orientation=SIMP(typ='R',fr= "(optional if GUI is used, mandatory otherwise) direction toward which the plan is tilting in degrees",ang= "(optional if GUI is used, mandatory otherwise) direction toward which the plan is tilting in degrees",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -) -# ====================================================================== -# Catalog entry for the MAP function : c_solver_corrosion_evolution -# ====================================================================== -C_SOLVER_CORROSION_EVOLUTION_DATA=PROC(nom='C_SOLVER_CORROSION_EVOLUTION_DATA',op=None, -UIinfo ={'groupes':('solver',)}, -model=SIMP(typ='TXM',fr= "determines the physical model used in the code (must belong to the following list [Seyeux_2010, Leistner_2012])",ang= "determines the physical model used in the code (must belong to the following list [Seyeux_2010, Leistner_2012])",docu= "",statut= "o",into=['Seyeux_2010', 'Leistner_2012'],min=1,max=1,val_min='**',val_max='**',defaut='Seyeux_2010'), -model_Seyeux_2010=BLOC(condition="(model=='Seyeux_2010')", -temperature_in_K=SIMP(typ='R',fr= "it determines the value of the temperature in Kelvin degrees (must be >0)",ang= "it determines the value of the temperature in Kelvin degrees (must be >0)",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=603.0), -pH_temperature=SIMP(typ='R',fr= "it determines the value of the pH for the herebove determined temperature (must be >0)",ang= "it determines the value of the pH for the herebove determined temperature (must be >0)",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=7.2), -x_Cr=SIMP(typ='R',fr= "the fraction of Cr in the alloy (non dimensional unit : must be between 0 and 1 (x_Cr = 0.3 <=> 30% Cr in the alloy))",ang= "the fraction of Cr in the alloy (non dimensional unit : must be between 0 and 1 (x_Cr = 0.3 <=> 30% Cr in the alloy))",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max=1.0,defaut=0.3), -x_Fe=SIMP(typ='R',fr= "the fraction of Fe in the alloy (non dimensional unit : must be between 0 and 1 (x_Fe = 0.1 <=> 10% Fe in the alloy))",ang= "the fraction of Fe in the alloy (non dimensional unit : must be between 0 and 1 (x_Fe = 0.1 <=> 10% Fe in the alloy))",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max=1.0,defaut=0.1), -x_Ni=SIMP(typ='R',fr= "the fraction of Ni in the alloy (non dimensional unit : must be between 0 and 1 (x_Ni = 0.58 <=> 58% Ni in the alloy))",ang= "the fraction of Ni in the alloy (non dimensional unit : must be between 0 and 1 (x_Ni = 0.58 <=> 58% Ni in the alloy))",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max=1.0,defaut=0.58), -alpha=SIMP(typ='R',fr= "interface polarisability (between 0 and 1)",ang= "interface polarisability (between 0 and 1)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -DV=SIMP(typ='R',fr= "potential change with respect to a stationnary state",ang= "potential change with respect to a stationnary state",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -F_0f=SIMP(typ='R',fr= "potential drop in the film",ang= "potential drop in the film",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -F_0mf=SIMP(typ='R',fr= "potential drop at film-solution interface",ang= "potential drop at film-solution interface",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -F_0fs=SIMP(typ='R',fr= "potential drop at film-solution interface",ang= "potential drop at film-solution interface",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -D_vO=SIMP(typ='R',fr= "diffusion coefficient of oxygen vacancies",ang= "diffusion coefficient of oxygen vacancies",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -DG1=SIMP(typ='R',fr= "Gibbs energy of formation of reaction 1 (Cr_M -> Cr3+_ox + 3e- + 3/2 V_o with V_o = oxygen vacancy)",ang= "Gibbs energy of formation of reaction 1 (Cr_M -> Cr3+_ox + 3e- + 3/2 V_o with V_o = oxygen vacancy)",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=10000.0), -time_in_seconds=SIMP(typ='R',fr= "the duration of the physical time experiment",ang= "the duration of the physical time experiment",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=36000.0), -save_history=SIMP(typ=bool,fr= "must be set to yes if you want to save the integration times into the output file",ang= "must be set to yes if you want to save the integration times into the output file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -output_file_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "the name of the text file where the results are written",ang= "the name of the text file where the results are written",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_solver_corrosion_evolution.output'), -), -model_Leistner_2012=BLOC(condition="(model=='Leistner_2012')", -temperature_in_K=SIMP(typ='R',fr= "it determines the value of the temperature in Kelvin degrees (must be >0)",ang= "it determines the value of the temperature in Kelvin degrees (must be >0)",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=603.0), -pH_temperature=SIMP(typ='R',fr= "it determines the value of the pH for the herebove determined temperature (must be >0)",ang= "it determines the value of the pH for the herebove determined temperature (must be >0)",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=7.2), -x_Cr=SIMP(typ='R',fr= "the fraction of Cr in the alloy (non dimensional unit : must be between 0 and 1 (x_Cr = 0.3 <=> 30% Cr in the alloy))",ang= "the fraction of Cr in the alloy (non dimensional unit : must be between 0 and 1 (x_Cr = 0.3 <=> 30% Cr in the alloy))",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max=1.0,defaut=0.3), -x_Fe=SIMP(typ='R',fr= "the fraction of Fe in the alloy (non dimensional unit : must be between 0 and 1 (x_Fe = 0.1 <=> 10% Fe in the alloy))",ang= "the fraction of Fe in the alloy (non dimensional unit : must be between 0 and 1 (x_Fe = 0.1 <=> 10% Fe in the alloy))",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max=1.0,defaut=0.1), -x_Ni=SIMP(typ='R',fr= "the fraction of Ni in the alloy (non dimensional unit : must be between 0 and 1 (x_Ni = 0.58 <=> 58% Ni in the alloy))",ang= "the fraction of Ni in the alloy (non dimensional unit : must be between 0 and 1 (x_Ni = 0.58 <=> 58% Ni in the alloy))",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max=1.0,defaut=0.58), -alpha=SIMP(typ='R',fr= "interface polarisability (between 0 and 1)",ang= "interface polarisability (between 0 and 1)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -DV=SIMP(typ='R',fr= "potential change with respect to a stationnary state",ang= "potential change with respect to a stationnary state",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -F_0f=SIMP(typ='R',fr= "potential drop in the film",ang= "potential drop in the film",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -F_0mf=SIMP(typ='R',fr= "potential drop at film-solution interface",ang= "potential drop at film-solution interface",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -F_0fs=SIMP(typ='R',fr= "potential drop at film-solution interface",ang= "potential drop at film-solution interface",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -D_vO=SIMP(typ='R',fr= "diffusion coefficient of oxygen vacancies",ang= "diffusion coefficient of oxygen vacancies",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -DG1=SIMP(typ='R',fr= "Gibbs energy of formation of reaction 1 (Cr_M -> Cr3+_ox + 3e- + 3/2 V_o with V_o = oxygen vacancy)",ang= "Gibbs energy of formation of reaction 1 (Cr_M -> Cr3+_ox + 3e- + 3/2 V_o with V_o = oxygen vacancy)",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=10000.0), -time_in_seconds=SIMP(typ='R',fr= "the duration of the physical time experiment",ang= "the duration of the physical time experiment",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=36000.0), -save_history=SIMP(typ=bool,fr= "must be set to yes if you want to save the integration times into the output file",ang= "must be set to yes if you want to save the integration times into the output file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -output_file_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "the name of the text file where the results are written",ang= "the name of the text file where the results are written",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_solver_corrosion_evolution.output'), -DG8=SIMP(typ='R',fr= "Gibbs energy of formation of reaction 8 (V_o + H2O -> 2 H+ + O_ox)",ang= "Gibbs energy of formation of reaction 8 (V_o + H2O -> 2 H+ + O_ox)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -D_mCr=SIMP(typ='R',fr= "diffusion coefficient of Cr ions in metal",ang= "diffusion coefficient of Cr ions in metal",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -D_ICr=SIMP(typ='R',fr= " diffusion coefficient of Cr3+ cation",ang= " diffusion coefficient of Cr3+ cation",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -decay_length=SIMP(typ='R',fr= "length caracterising the influence zone of the potential",ang= "length caracterising the influence zone of the potential",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -charge_number=SIMP(typ='R',fr= "number of electrons transferred during dissolution reaction",ang= "number of electrons transferred during dissolution reaction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -dissol_order=SIMP(typ='R',fr= "order of dissolution reaction",ang= "order of dissolution reaction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -dissol_preexp=SIMP(typ='R',fr= "first order factor of dissolution reaction",ang= "first order factor of dissolution reaction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -dissol_Ea=SIMP(typ='R',fr= "dissolution reaction activation energy",ang= "dissolution reaction activation energy",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -DG2=SIMP(typ='R',fr= "Gibbs energy of formation of reaction 2 (Cr_M + V_Cr -> Cr3+_ox + 3e)",ang= "Gibbs energy of formation of reaction 2 (Cr_M + V_Cr -> Cr3+_ox + 3e)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -DG3=SIMP(typ='R',fr= "Gibbs energy of formation of reaction 3 (Cr_M + V_I -> I_Cr + 3e)",ang= "Gibbs energy of formation of reaction 3 (Cr_M + V_I -> I_Cr + 3e)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -DG4=SIMP(typ='R',fr= "Gibbs energy of formation of reaction 4 (Fe_M + V_Cr -> Fe3+_ox + 3e)",ang= "Gibbs energy of formation of reaction 4 (Fe_M + V_Cr -> Fe3+_ox + 3e)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -DG5=SIMP(typ='R',fr= "Gibbs energy of formation of reaction 5 (Fe_M + V_I -> I_Fe + 3e)",ang= "Gibbs energy of formation of reaction 5 (Fe_M + V_I -> I_Fe + 3e)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -DG6=SIMP(typ='R',fr= "Gibbs energy of formation of reaction 6 (Ni_M + 2/3 V_Cr -> Ni2+_ox + 2e-)",ang= "Gibbs energy of formation of reaction 6 (Ni_M + 2/3 V_Cr -> Ni2+_ox + 2e-)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -DG7=SIMP(typ='R',fr= "Gibbs energy of formation of reaction 7 (Ni_M + V_I -> I_Ni + 2e)",ang= "Gibbs energy of formation of reaction 7 (Ni_M + V_I -> I_Ni + 2e)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -DG9=SIMP(typ='R',fr= "Gibbs energy of formation of reaction 9 (Cr3+_ox + 3/2 H2O -> 3/2 O_ox + Cr3+_ox + V_Cr)",ang= "Gibbs energy of formation of reaction 9 (Cr3+_ox + 3/2 H2O -> 3/2 O_ox + Cr3+_ox + V_Cr)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -DG10=SIMP(typ='R',fr= " Gibbs energy of formation of reaction 10 (I_Cr + 3/2 H2O -> 3/2 O_ox + Cr3+_ox + 3H+ + V_I)",ang= " Gibbs energy of formation of reaction 10 (I_Cr + 3/2 H2O -> 3/2 O_ox + Cr3+_ox + 3H+ + V_I)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -DG11=SIMP(typ='R',fr= "Gibbs energy of formation of reaction 11 (Fe3+_ox -> V_Cr + Fe3+_aq)",ang= "Gibbs energy of formation of reaction 11 (Fe3+_ox -> V_Cr + Fe3+_aq)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -DG12=SIMP(typ='R',fr= " Gibbs energy of formation of reaction 12 (I_Fe -> V_I + Fe3+_aq)",ang= " Gibbs energy of formation of reaction 12 (I_Fe -> V_I + Fe3+_aq)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -DG13=SIMP(typ='R',fr= "Gibbs energy of formation of reaction 14 (M_Ni -> 2/3 V_Cr + Ni2+_aq)",ang= "Gibbs energy of formation of reaction 14 (M_Ni -> 2/3 V_Cr + Ni2+_aq)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -DG14=SIMP(typ='R',fr= "Gibbs energy of formation of reaction 14 (I_Ni -> V_I + Ni2+_aq)",ang= "Gibbs energy of formation of reaction 14 (I_Ni -> V_I + Ni2+_aq)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -CtotM_mf=SIMP(typ='R',fr= "total cation concentration in oxide at the metal-film interface",ang= "total cation concentration in oxide at the metal-film interface",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -) -# ====================================================================== -# Catalog entry for the MAP function : c_pre_image2mesh_2d -# ====================================================================== -C_PRE_IMAGE2MESH_2D_DATA=PROC(nom='C_PRE_IMAGE2MESH_2D_DATA',op=None, -UIinfo ={'groupes':('pre',)}, -study_path=SIMP(typ='Repertoire',fr= "determines the name of the directory where intermediate files produced by PINK library are written.",ang= "determines the name of the directory where intermediate files produced by PINK library are written.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='/tmp'), -study_name=SIMP(typ='TXM',fr= "determines the name of the study to determine the name of the intermediate files produced by PINK library are written",ang= "determines the name of the study to determine the name of the intermediate files produced by PINK library are written",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='study_c_pre_image2mesh_2d'), -input_image=SIMP(typ=('Fichier', 'All Files (*)'),fr= " name of the image input file name (pgm format only)",ang= " name of the image input file name (pgm format only)",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_mesh=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "name of the mesh output file name",ang= "name of the mesh output file name",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='output_c_pre_image2mesh_2d.med'), -mesh_size=SIMP(typ='R',fr= "size of the mesh elements",ang= "size of the mesh elements",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0.2), -) -# ====================================================================== -# Catalog entry for the MAP function : c_post_image_correlation -# ====================================================================== -C_POST_IMAGE_CORRELATION_DATA=PROC(nom='C_POST_IMAGE_CORRELATION_DATA',op=None, -UIinfo ={'groupes':('post',)}, -computation=SIMP(typ='TXM',fr= "Type of computation in the sequence RBM, Displacement, Deformation",ang= "Type of computation in the sequence RBM, Displacement, Deformation",docu= "",statut= "o",into=['RBM', 'Displacement', 'Deformation'],min=1,max=1,val_min='**',val_max='**',defaut='RBM'), -computation_RBM=BLOC(condition="(computation=='RBM')", -print_image=SIMP(typ=bool,fr= "true to print results in image format, false otherwise. ignored if computation is RBM.",ang= "true to print results in image format, false otherwise. ignored if computation is RBM.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -output_directory=SIMP(typ='Repertoire',fr= "directory where the output files will be written.",ang= "directory where the output files will be written.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -displacement_method=SIMP(typ='TXM',fr= "when computation = 'RBM', values can be 'direct' or 'direct_with_random_shifts'; when computation = 'Displacement', values can be 'direct', 'direct_with_random_shifts', 'Iterative' or 'IterativeFFT'.",ang= "when computation = 'RBM', values can be 'direct' or 'direct_with_random_shifts'; when computation = 'Displacement', values can be 'direct', 'direct_with_random_shifts', 'Iterative' or 'IterativeFFT'.",docu= "",statut= "o",into=('Direct', 'DirectWithRandomShifts', 'Iterative', 'IterativeFFT'),min=1,max=1,val_min='**',val_max='**',defaut='Direct'), -randomfile=SIMP(typ=('Fichier', 'All Files (*)'),fr= "('Name of the file where a random displacement field ', 'is stored. This parameter is mainly used ', 'for non-regression tests.')",ang= "('Name of the file where a random displacement field ', 'is stored. This parameter is mainly used ', 'for non-regression tests.')",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_type=SIMP(typ='TXM',fr= "type of input where data files have been stored.",ang= "type of input where data files have been stored.",docu= "",statut= "o",into=['archive', 'directory'],min=1,max=1,val_min='**',val_max='**',defaut=None), -input_directory=SIMP(typ='Repertoire',fr= "directory where the grayscale images are located.",ang= "directory where the grayscale images are located.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_archive=SIMP(typ=('Fichier', 'All Files (*)'),fr= ".zip archive where the grayscale images are located.",ang= ".zip archive where the grayscale images are located.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_file_root=SIMP(typ='TXM',fr= "string precising the generic root of the image name",ang= "string precising the generic root of the image name",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_file_extension=SIMP(typ='TXM',fr= "string precising the extension associated with the image type, e.g. bmp, tiff,png.",ang= "string precising the extension associated with the image type, e.g. bmp, tiff,png.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_file_first_index=SIMP(typ='I',fr= "index of the first image of the set",ang= "index of the first image of the set",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_file_last_index=SIMP(typ='I',fr= "index of the last image of the set",ang= "index of the last image of the set",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -step_between_images=SIMP(typ='I',fr= "ncrement between two consecutive images to be treated",ang= "ncrement between two consecutive images to be treated",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -step_between_updates=SIMP(typ='I',fr= "increment needed to update reference image.",ang= "increment needed to update reference image.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -DIC_subset_size=SIMP(typ='I',fr= "displacement calculation: size in pixel of the subset size.",ang= "displacement calculation: size in pixel of the subset size.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=20), -research_area_vmax=SIMP(typ='I',fr= "displacement calculation: size in pixel of the research area.",ang= "displacement calculation: size in pixel of the research area.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -grid_step=SIMP(typ='I',fr= "displacement calculation: spacing in pixel between the subset centers. Smaller values will correspond to higher densities of displacement field.",ang= "displacement calculation: spacing in pixel between the subset centers. Smaller values will correspond to higher densities of displacement field.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -DIC_big_subset_size=SIMP(typ='I',fr= "central point displacement: a large central subset is used to get an estimate of the global translation between two images. Should be about two times the maximum translation value in pixels up to the image dimension.",ang= "central point displacement: a large central subset is used to get an estimate of the global translation between two images. Should be about two times the maximum translation value in pixels up to the image dimension.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -DIC_big_subset_area_vmax=SIMP(typ='I',fr= "central point displacement: parameter identical to 'research_area_vmax' but specific to the big subset.",ang= "central point displacement: parameter identical to 'research_area_vmax' but specific to the big subset.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -ZOI_upper_left_corner=SIMP(typ='TXM',fr= "[, ] in pixelscoordinates (, ) in pixels of the upper left corner of the rectangular Zone of Interest where the calculation is performed.",ang= "[, ] in pixelscoordinates (, ) in pixels of the upper left corner of the rectangular Zone of Interest where the calculation is performed.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -ZOI_bottom_right_corner=SIMP(typ='TXM',fr= "[, ] in pixelsZone of Interest bottom right coordinates ",ang= "[, ] in pixelsZone of Interest bottom right coordinates ",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -), -computation_Displacement=BLOC(condition="(computation=='Displacement')", -print_image=SIMP(typ=bool,fr= "true to print results in image format, false otherwise. ignored if computation is RBM.",ang= "true to print results in image format, false otherwise. ignored if computation is RBM.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -output_directory=SIMP(typ='Repertoire',fr= "directory where the output files will be written.",ang= "directory where the output files will be written.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -displacement_method=SIMP(typ='TXM',fr= "when computation = 'RBM', values can be 'direct' or 'direct_with_random_shifts'; when computation = 'Displacement', values can be 'direct', 'direct_with_random_shifts', 'Iterative' or 'IterativeFFT'.",ang= "when computation = 'RBM', values can be 'direct' or 'direct_with_random_shifts'; when computation = 'Displacement', values can be 'direct', 'direct_with_random_shifts', 'Iterative' or 'IterativeFFT'.",docu= "",statut= "o",into=('Direct', 'DirectWithRandomShifts', 'Iterative', 'IterativeFFT'),min=1,max=1,val_min='**',val_max='**',defaut='Direct'), -randomfile=SIMP(typ=('Fichier', 'All Files (*)'),fr= "('Name of the file where a random displacement field ', 'is stored. This parameter is mainly used ', 'for non-regression tests.')",ang= "('Name of the file where a random displacement field ', 'is stored. This parameter is mainly used ', 'for non-regression tests.')",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -RBM_parameters_input_file=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Mandatory if computation is Displacement or Deformation. path of the input file used for the initial RBM calculations. ",ang= "Mandatory if computation is Displacement or Deformation. path of the input file used for the initial RBM calculations. ",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -DIC_subset_size=SIMP(typ='I',fr= "Not documented",ang= "Not documented",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -research_area_vmax=SIMP(typ='I',fr= "Not documented",ang= "Not documented",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -grid_step=SIMP(typ='I',fr= "Not documented",ang= "Not documented",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -max_iteration_number=SIMP(typ='I',fr= "if displacement_method is Iterative or IterativeFFTmaximum iteration number tolerated before exiting the Iterative resolution",ang= "if displacement_method is Iterative or IterativeFFTmaximum iteration number tolerated before exiting the Iterative resolution",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -iteration_convergence_criterion=SIMP(typ='R',fr= "if displacement_method is Iterative or IterativeFFTconvergence criterion of the iteration scheme",ang= "if displacement_method is Iterative or IterativeFFTconvergence criterion of the iteration scheme",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -polynomial_degree_of_transformation=SIMP(typ='I',fr= "if displacement_method is Iterativethe transformation between subsets can be a not purely rigid body motion but a more general polynomial transformation. The polynomial degree is given by this parameter.",ang= "if displacement_method is Iterativethe transformation between subsets can be a not purely rigid body motion but a more general polynomial transformation. The polynomial degree is given by this parameter.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -computation_Deformation=BLOC(condition="(computation=='Deformation')", -print_image=SIMP(typ=bool,fr= "true to print results in image format, false otherwise. ignored if computation is RBM.",ang= "true to print results in image format, false otherwise. ignored if computation is RBM.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -output_directory=SIMP(typ='Repertoire',fr= "directory where the output files will be written.",ang= "directory where the output files will be written.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -RBM_parameters_input_file=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Mandatory if computation is Displacement or Deformation. path of the input file used for the initial RBM calculations. ",ang= "Mandatory if computation is Displacement or Deformation. path of the input file used for the initial RBM calculations. ",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_directory_with_displacement_fields=SIMP(typ='Repertoire',fr= " directory where displacement fields can be found",ang= " directory where displacement fields can be found",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -deformation_type_of_calculation=SIMP(typ='TXM',fr= "Not documented",ang= "Not documented",docu= "",statut= "o",into=('Deformation', 'Deformation_Rate'),min=1,max=1,val_min='**',val_max='**',defaut=None), -deformation_model=SIMP(typ='TXM',fr= "can be chosen between 'Euler', 'Lagrange' (standard) or 'Hencky' (logarithmic).",ang= "can be chosen between 'Euler', 'Lagrange' (standard) or 'Hencky' (logarithmic).",docu= "",statut= "o",into=('Euler', 'Lagrange', 'Hencky'),min=1,max=1,val_min='**',val_max='**',defaut=None), -deformation_calculation_method=SIMP(typ='TXM',fr= "'FiniteDifference' (rough), 'Polynomial' (in this case the space and time approximations are independant) or 'SpaceTimePolynomial' (total space-time approximation)",ang= "'FiniteDifference' (rough), 'Polynomial' (in this case the space and time approximations are independant) or 'SpaceTimePolynomial' (total space-time approximation)",docu= "",statut= "o",into=('FiniteDifference', 'Polynomial', 'SpaceTimePolynomial'),min=1,max=1,val_min='**',val_max='**',defaut=None), -polynomial_deformation_space_degree=SIMP(typ='I',fr= "if deformation_calculation_method is Polynomial or SpaceTimePolynomialdegree of the polynomial approximation in space allowing to obtain the deformation by derivation.",ang= "if deformation_calculation_method is Polynomial or SpaceTimePolynomialdegree of the polynomial approximation in space allowing to obtain the deformation by derivation.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -polynomial_deformation_time_degree=SIMP(typ='I',fr= "if deformation_calculation_method is Polynomial or SpaceTimePolynomial",ang= "if deformation_calculation_method is Polynomial or SpaceTimePolynomial",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -polynomial_deformation_space_step=SIMP(typ='I',fr= "if deformation_calculation_method is Polynomial or SpaceTimePolynomialnumber of displacement points to be used in space at each side of a reference point to compute the deformation approximation. For example, if set to= k, the polynomial function will approximate the displacement values over (k+1+k)*(k+1+k) points.",ang= "if deformation_calculation_method is Polynomial or SpaceTimePolynomialnumber of displacement points to be used in space at each side of a reference point to compute the deformation approximation. For example, if set to= k, the polynomial function will approximate the displacement values over (k+1+k)*(k+1+k) points.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -polynomial_deformation_time_step=SIMP(typ='I',fr= "if deformation_calculation_method is Polynomial or SpaceTimePolynomialnumber of displacement points to be used in time at each side of a reference point to compute the deformation approximation.",ang= "if deformation_calculation_method is Polynomial or SpaceTimePolynomialnumber of displacement points to be used in time at each side of a reference point to compute the deformation approximation.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -) -# ====================================================================== -# Catalog entry for the MAP function : c_transverse_empty_python -# ====================================================================== -C_TRANSVERSE_EMPTY_PYTHON_DATA=PROC(nom='C_TRANSVERSE_EMPTY_PYTHON_DATA',op=None, -UIinfo ={'groupes':('transverse',)}, -a_string=SIMP(typ='TXM',fr= "simply print in verbose mode",ang= "simply print in verbose mode",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='Hello world of MAP'), -an_integer=SIMP(typ='I',fr= "number of lines in the output file",ang= "number of lines in the output file",docu= "",statut= "o",into=None,min=1,max=1,val_min=1,val_max=100,defaut=4), -a_float=SIMP(typ='R',fr= "simply print in verbose mode",ang= "simply print in verbose mode",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=5.3), -file_output=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "gives the name of the output file of the component",ang= "gives the name of the output file of the component",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_transverse_empty_python.output'), -) -# ====================================================================== -# Catalog entry for the MAP function : c_pre_morphology_synthesis_fractal_interface -# ====================================================================== -C_PRE_MORPHOLOGY_SYNTHESIS_FRACTAL_INTERFACE_DATA=PROC(nom='C_PRE_MORPHOLOGY_SYNTHESIS_FRACTAL_INTERFACE_DATA',op=None, -UIinfo ={'groupes':('pre',)}, -nx=SIMP(typ='I',fr= "Even number of grid points along x",ang= "Even number of grid points along x",docu= "",statut= "o",into=None,min=1,max=1,val_min=2,val_max='**',defaut=2), -ny=SIMP(typ='I',fr= "Even number of grid points along y",ang= "Even number of grid points along y",docu= "",statut= "o",into=None,min=1,max=1,val_min=2,val_max='**',defaut=2), -Df=SIMP(typ='R',fr= "Fractal dimension",ang= "Fractal dimension",docu= "",statut= "o",into=None,min=1,max=1,val_min=2,val_max=3,defaut=2.6), -Ra=SIMP(typ='R',fr= "Surface rugosity Ra value (in z units)",ang= "Surface rugosity Ra value (in z units)",docu= "",statut= "o",into=None,min=1,max=1,val_min=0,val_max='**',defaut=1.0), -Lx=SIMP(typ='R',fr= "Total length of surface along x",ang= "Total length of surface along x",docu= "",statut= "o",into=None,min=1,max=1,val_min=0,val_max='**',defaut=1.0), -Ly=SIMP(typ='R',fr= "Total length of surface along y",ang= "Total length of surface along y",docu= "",statut= "o",into=None,min=1,max=1,val_min=0,val_max='**',defaut=1.0), -seed=SIMP(typ='R',fr= "Seed of random generator",ang= "Seed of random generator",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -wc=SIMP(typ='R',fr= "Minimal cut frequency",ang= "Minimal cut frequency",docu= "",statut= "o",into=None,min=1,max=1,val_min=0,val_max='**',defaut=0), -output_csv_file_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "name of a file describing the synthesized grid surface with coordinates x,y,z in CSV format. Coordinate columns x and y define the grid. Length units are implicitly: the units of lx and ly for the grid, the units of Ra for the heights.",ang= "name of a file describing the synthesized grid surface with coordinates x,y,z in CSV format. Coordinate columns x and y define the grid. Length units are implicitly: the units of lx and ly for the grid, the units of Ra for the heights.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='surface.csv'), -output_csv_metadata_file_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "name of the metadata file for output_csv_file_name",ang= "name of the metadata file for output_csv_file_name",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='surface.metadata'), -) -# ====================================================================== -# Catalog entry for the MAP function : c_post_polymer_kinetics -# ====================================================================== -C_POST_POLYMER_KINETICS_DATA=PROC(nom='C_POST_POLYMER_KINETICS_DATA',op=None, -UIinfo ={'groupes':('post',)}, -study_name=SIMP(typ='TXM',fr= "Describes the name of the study",ang= "Describes the name of the study",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_directory=SIMP(typ='TXM',fr= "Name of directory where input data are located.",ang= "Name of directory where input data are located.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -csv_output_file_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "Name of the csv filename where results are written in the grid field csv format.",ang= "Name of the csv filename where results are written in the grid field csv format.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -equations=SIMP(typ='TXM',fr= "list of equations used to produce ",ang= "list of equations used to produce ",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -post_treatment_names=SIMP(typ='TXM',fr= "List of names of the post-treated fields",ang= "List of names of the post-treated fields",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -integer=SIMP(typ='TXM',fr= "List of booleans that define if post-treatment has to be integrated",ang= "List of booleans that define if post-treatment has to be integrated",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_names=SIMP(typ='TXM',fr= "Names of coefficients which follow Arrhenius law. This list MUST have the same number of parameters as Arrhenius_A and Arrhenius_Ea.",ang= "Names of coefficients which follow Arrhenius law. This list MUST have the same number of parameters as Arrhenius_A and Arrhenius_Ea.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_A=SIMP(typ='TXM',fr= "Arrhenius law pre exponential factors. This list MUST have the same number of parameter as Arrhenius_names and Arrhenius_Ea.",ang= "Arrhenius law pre exponential factors. This list MUST have the same number of parameter as Arrhenius_names and Arrhenius_Ea.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_Ea=SIMP(typ='TXM',fr= "Arrhenius law activation energy. This list MUST have the same number of parameter as Arrhenius_name and Arrhenius_A.",ang= "Arrhenius law activation energy. This list MUST have the same number of parameter as Arrhenius_name and Arrhenius_A.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -results_units=SIMP(typ='TXM',fr= "equation reslut units",ang= "equation reslut units",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -) -# ====================================================================== -# Catalog entry for the MAP function : c_pre_morphology_inclusions -# ====================================================================== -C_PRE_MORPHOLOGY_INCLUSIONS_DATA=PROC(nom='C_PRE_MORPHOLOGY_INCLUSIONS_DATA',op=None, -UIinfo ={'groupes':('pre',)}, -sphere=SIMP(typ='I',fr= "chose 1 to for spheres, chose 0 for polyhedra",ang= "chose 1 to for spheres, chose 0 for polyhedra",docu= "",statut= "o",into=[0, 1],min=1,max=1,val_min='**',val_max='**',defaut=1), -box_dimension=SIMP(typ='TXM',fr= "list of three float numbers to determine box dimensions along the three axis",ang= "list of three float numbers to determine box dimensions along the three axis",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -box_discretize=SIMP(typ='TXM',fr= "list of three integers to determine the number of voxels along the three axis",ang= "list of three integers to determine the number of voxels along the three axis",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -fraction=SIMP(typ='R',fr= "inclusion volume fraction",ang= "inclusion volume fraction",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.15), -sieve_curve=SIMP(typ=('Fichier', 'All Files (*)'),fr= "name of the file where inclusion sieve curve is defined",ang= "name of the file where inclusion sieve curve is defined",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -poisson_vertex_number=SIMP(typ='I',fr= "number of vertices used in the Poisson process",ang= "number of vertices used in the Poisson process",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=12), -lognormal_average=SIMP(typ='R',fr= "average of lognormal distribution of ???",ang= "average of lognormal distribution of ???",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -lognormal_sigma=SIMP(typ='R',fr= "standard deviation of lognormal distribution of ???",ang= "standard deviation of lognormal distribution of ???",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -aspect_ratio=SIMP(typ='R',fr= "inclusion aspect_ratio",ang= "inclusion aspect_ratio",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=1.0), -seed=SIMP(typ='I',fr= "random seed",ang= "random seed",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -) -# ====================================================================== -# Catalog entry for the MAP function : c_pre_morphology_synthesis_voronoi -# ====================================================================== -C_PRE_MORPHOLOGY_SYNTHESIS_VORONOI_DATA=PROC(nom='C_PRE_MORPHOLOGY_SYNTHESIS_VORONOI_DATA',op=None, -UIinfo ={'groupes':('pre',)}, -study_name=SIMP(typ='TXM',fr= "name given to the study, which will be used as the root to define output file names, e.g. 'my_aggregate_with_40_grains",ang= "name given to the study, which will be used as the root to define output file names, e.g. 'my_aggregate_with_40_grains",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='my_aggregate_with_xx_grains'), -folder_out=SIMP(typ='Repertoire',fr= "name of the folder where output files will be written",ang= "name of the folder where output files will be written",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='/tmp'), -printbrep=SIMP(typ=bool,fr= "boolean used to ask the print of the .brep file",ang= "boolean used to ask the print of the .brep file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -maillage=SIMP(typ=bool,fr= "boolean used to ask the print of the mesh in MED format",ang= "boolean used to ask the print of the mesh in MED format",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -printhist=SIMP(typ=bool,fr= "boolean that will trigger the print of an .hist histogram datafile for garn sizes, volumes and surfaces",ang= "boolean that will trigger the print of an .hist histogram datafile for garn sizes, volumes and surfaces",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -param_volumes=SIMP(typ='TXM',fr= "list of 3 values used to generate the histogram to specify the minimum value, maximum value and step numbers for the histogram. In cas the value is not specified for min and max, a void field [] can be used and the default value of 0. will be used for the min while the max is automatically calculated, a few examples follow: param_volumes = [0.,[],20] will correspond to a 20-bar histogram of min value 0. and automatic max value, param_volumes = [[],[],20] will give the same result, param_volumes = [2.,10.,20] will correspond to a 20-bar histogram of min value 2. and max value 10.",ang= "list of 3 values used to generate the histogram to specify the minimum value, maximum value and step numbers for the histogram. In cas the value is not specified for min and max, a void field [] can be used and the default value of 0. will be used for the min while the max is automatically calculated, a few examples follow: param_volumes = [0.,[],20] will correspond to a 20-bar histogram of min value 0. and automatic max value, param_volumes = [[],[],20] will give the same result, param_volumes = [2.,10.,20] will correspond to a 20-bar histogram of min value 2. and max value 10.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='[0.,[],20]'), -param_surfaces=SIMP(typ='TXM',fr= "list of 3 values used to generate the histogram to specify the minimum value, maximum value and step numbers for the histogram. In cas the value is not specified for min and max, a void field [] can be used and the default value of 0. will be used for the min while the max is automatically calculated, a few examples follow: param_volumes = [0.,[],20] will correspond to a 20-bar histogram of min value 0. and automatic max value, param_volumes = [[],[],20] will give the same result, param_volumes = [2.,10.,20] will correspond to a 20-bar histogram of min value 2. and max value 10.",ang= "list of 3 values used to generate the histogram to specify the minimum value, maximum value and step numbers for the histogram. In cas the value is not specified for min and max, a void field [] can be used and the default value of 0. will be used for the min while the max is automatically calculated, a few examples follow: param_volumes = [0.,[],20] will correspond to a 20-bar histogram of min value 0. and automatic max value, param_volumes = [[],[],20] will give the same result, param_volumes = [2.,10.,20] will correspond to a 20-bar histogram of min value 2. and max value 10.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='[0.,[],20]'), -param_dg=SIMP(typ='TXM',fr= "list of 3 values used to generate the histogram to specify the minimum value, maximum value and step numbers for the histogram. In cas the value is not specified for min and max, a void field [] can be used and the default value of 0. will be used for the min while the max is automatically calculated, a few examples follow: param_volumes = [0.,[],20] will correspond to a 20-bar histogram of min value 0. and automatic max value, param_volumes = [[],[],20] will give the same result, param_volumes = [2.,10.,20] will correspond to a 20-bar histogram of min value 2. and max value 10.",ang= "list of 3 values used to generate the histogram to specify the minimum value, maximum value and step numbers for the histogram. In cas the value is not specified for min and max, a void field [] can be used and the default value of 0. will be used for the min while the max is automatically calculated, a few examples follow: param_volumes = [0.,[],20] will correspond to a 20-bar histogram of min value 0. and automatic max value, param_volumes = [[],[],20] will give the same result, param_volumes = [2.,10.,20] will correspond to a 20-bar histogram of min value 2. and max value 10.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='[0.,[],20]'), -random_seed=SIMP(typ='I',fr= "Integer parameter, when set to -1 the random seed will be set by the alea parameter. For any different value, the random seed is arbitrary.",ang= "Integer parameter, when set to -1 the random seed will be set by the alea parameter. For any different value, the random seed is arbitrary.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=-1), -ngrains=SIMP(typ='I',fr= "number of grains in the generated aggregate",ang= "number of grains in the generated aggregate",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=20), -alea=SIMP(typ='I',fr= "integer parameter specifying the initial seed for the random algorithm used to distribute the germs of the voronoi cells. It will only be active when random_seed=-1. This situation is useful to reproduce the generation of similar aggregates.",ang= "integer parameter specifying the initial seed for the random algorithm used to distribute the germs of the voronoi cells. It will only be active when random_seed=-1. This situation is useful to reproduce the generation of similar aggregates.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -puis=SIMP(typ='R',fr= "float ranging between 0. an 1. used to control the repulsion between germs. Indeed, a random germ distribution can sometimes give unexpected results when two germs are too close to each other. Setting a strictly positive repulsion distance will produce an aggregate of more homogeneous grain sizes.",ang= "float ranging between 0. an 1. used to control the repulsion between germs. Indeed, a random germ distribution can sometimes give unexpected results when two germs are too close to each other. Setting a strictly positive repulsion distance will produce an aggregate of more homogeneous grain sizes.",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max=1.0,defaut=1.0), -predef=SIMP(typ='R',fr= "float used to control the pre-strain in the aggregate ?",ang= "float used to control the pre-strain in the aggregate ?",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0.0), -homot=SIMP(typ='R',fr= "float used to control the size of the aggregate ?",ang= "float used to control the size of the aggregate ?",docu= "",statut= "f",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=1.0), -sdec=SIMP(typ=bool,fr= "boolean used to determine ?",ang= "boolean used to determine ?",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -symet=SIMP(typ=bool,fr= "boolean used to determine the symetry",ang= "boolean used to determine the symetry",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -) -# ====================================================================== -# Catalog entry for the MAP function : c_pre_polycrystal_orientation -# ====================================================================== -C_PRE_POLYCRYSTAL_ORIENTATION_DATA=PROC(nom='C_PRE_POLYCRYSTAL_ORIENTATION_DATA',op=None, -UIinfo ={'groupes':('pre',)}, -material_symmetry=SIMP(typ='TXM',fr= "symetry of the orientation distribution",ang= "symetry of the orientation distribution",docu= "",statut= "o",into=['isotropic', 'transverse_isotropic', 'dispersed_transverse_isotropic'],min=1,max=1,val_min='**',val_max='**',defaut='isotropic'), -material_symmetry_isotropic=BLOC(condition="(material_symmetry=='isotropic')", -input_format=SIMP(typ='TXM',fr= "determines the format of the microstructure geometry file : BREP for SALOME geometry or TESS for NEPER tesselation",ang= "determines the format of the microstructure geometry file : BREP for SALOME geometry or TESS for NEPER tesselation",docu= "",statut= "o",into=['BREP', 'TESS'],min=1,max=1,val_min='**',val_max='**',defaut=None), -input_file=SIMP(typ=('Fichier', 'All Files (*)'),fr= "name of the file that describes the microstructure geometry",ang= "name of the file that describes the microstructure geometry",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -xao_output_file=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "('name of the XAO output file describing ', 'geometry, material and orientation fields')",ang= "('name of the XAO output file describing ', 'geometry, material and orientation fields')",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -material_index=SIMP(typ='I',fr= "material index in the microstructure",ang= "material index in the microstructure",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -random_seed=SIMP(typ='I',fr= "random seed is used to control random process",ang= "random seed is used to control random process",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -material_symmetry_transverse_isotropic=BLOC(condition="(material_symmetry=='transverse_isotropic')", -input_format=SIMP(typ='TXM',fr= "determines the format of the microstructure geometry file : BREP for SALOME geometry or TESS for NEPER tesselation",ang= "determines the format of the microstructure geometry file : BREP for SALOME geometry or TESS for NEPER tesselation",docu= "",statut= "o",into=['BREP', 'TESS'],min=1,max=1,val_min='**',val_max='**',defaut=None), -input_file=SIMP(typ=('Fichier', 'All Files (*)'),fr= "name of the file that describes the microstructure geometry",ang= "name of the file that describes the microstructure geometry",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -xao_output_file=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "('name of the XAO output file describing ', 'geometry, material and orientation fields')",ang= "('name of the XAO output file describing ', 'geometry, material and orientation fields')",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -material_index=SIMP(typ='I',fr= "material index in the microstructure",ang= "material index in the microstructure",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -random_seed=SIMP(typ='I',fr= "random seed is used to control random process",ang= "random seed is used to control random process",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -axis_projection_angle_1=SIMP(typ='R',fr= "angle that determines the first projection of the axis",ang= "angle that determines the first projection of the axis",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -axis_projection_angle_2=SIMP(typ='R',fr= "angle that determines the second projection of the axis",ang= "angle that determines the second projection of the axis",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -material_symmetry_dispersed_transverse_isotropic=BLOC(condition="(material_symmetry=='dispersed_transverse_isotropic')", -input_format=SIMP(typ='TXM',fr= "determines the format of the microstructure geometry file : BREP for SALOME geometry or TESS for NEPER tesselation",ang= "determines the format of the microstructure geometry file : BREP for SALOME geometry or TESS for NEPER tesselation",docu= "",statut= "o",into=['BREP', 'TESS'],min=1,max=1,val_min='**',val_max='**',defaut=None), -input_file=SIMP(typ=('Fichier', 'All Files (*)'),fr= "name of the file that describes the microstructure geometry",ang= "name of the file that describes the microstructure geometry",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -xao_output_file=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "('name of the XAO output file describing ', 'geometry, material and orientation fields')",ang= "('name of the XAO output file describing ', 'geometry, material and orientation fields')",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -material_index=SIMP(typ='I',fr= "material index in the microstructure",ang= "material index in the microstructure",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -random_seed=SIMP(typ='I',fr= "random seed is used to control random process",ang= "random seed is used to control random process",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -axis_projection_angle_1=SIMP(typ='R',fr= "angle that determines the first projection of the axis",ang= "angle that determines the first projection of the axis",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -axis_projection_angle_2=SIMP(typ='R',fr= "angle that determines the second projection of the axis",ang= "angle that determines the second projection of the axis",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -dispersion_width=SIMP(typ='R',fr= "angle angle of the three orientation angles",ang= "angle angle of the three orientation angles",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -) -# ====================================================================== -# Catalog entry for the MAP function : c_transverse_display_map -# ====================================================================== -C_TRANSVERSE_DISPLAY_MAP_DATA=PROC(nom='C_TRANSVERSE_DISPLAY_MAP_DATA',op=None, -UIinfo ={'groupes':('transverse',)}, -input_datafile=SIMP(typ=('Fichier', 'All Files (*)'),fr= "contains the data the display_map should be made on",ang= "contains the data the display_map should be made on",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -x_axis=SIMP(typ='TXM',fr= "the identifier of the x axis column",ang= "the identifier of the x axis column",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -y_axis=SIMP(typ='TXM',fr= "the identifier of the y axis column",ang= "the identifier of the y axis column",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -z_axis=SIMP(typ='TXM',fr= "the identifier of the z axis column",ang= "the identifier of the z axis column",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -palette=SIMP(typ='TXM',fr= "defines the color scale",ang= "defines the color scale",docu= "",statut= "o",into=['color', 'gray'],min=1,max=1,val_min='**',val_max='**',defaut=None), -color_scale=SIMP(typ='TXM',fr= "defines implicitely the number of colors to be used",ang= "defines implicitely the number of colors to be used",docu= "",statut= "o",into=['continuum', 'discrete'],min=1,max=1,val_min='**',val_max='**',defaut=None), -interpolation=SIMP(typ='TXM',fr= "defines how to interpolate the color levels between the given data",ang= "defines how to interpolate the color levels between the given data",docu= "",statut= "o",into=['nearest', 'bilinear', 'bicubic'],min=1,max=1,val_min='**',val_max='**',defaut=None), -show_grid=SIMP(typ=bool,fr= "display grid",ang= "display grid",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -contour_lines=SIMP(typ=bool,fr= "display color lines",ang= "display color lines",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -main_title=SIMP(typ='TXM',fr= "Graphic Main Title",ang= "Graphic Main Title",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -x_title=SIMP(typ='TXM',fr= "X-axis title",ang= "X-axis title",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -y_title=SIMP(typ='TXM',fr= "Y-axis title",ang= "Y-axis title",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -z_title=SIMP(typ='TXM',fr= "Z-axis title",ang= "Z-axis title",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -save_img=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "Save the plot result",ang= "Save the plot result",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -show_img=SIMP(typ=bool,fr= "Show the plot result",ang= "Show the plot result",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -profile=SIMP(typ=bool,fr= "Eval profile along a line",ang= "Eval profile along a line",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -save_profile=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "Save calculated profile as a text file",ang= "Save calculated profile as a text file",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -start=SIMP(typ='TXM',fr= "Start point coordinates",ang= "Start point coordinates",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -stop=SIMP(typ='TXM',fr= "End point coordinates",ang= "End point coordinates",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -) -# ====================================================================== -# Catalog entry for the MAP function : c_transverse_interpolation -# ====================================================================== -C_TRANSVERSE_INTERPOLATION_DATA=PROC(nom='C_TRANSVERSE_INTERPOLATION_DATA',op=None, -UIinfo ={'groupes':('transverse',)}, -interpolation=SIMP(typ='TXM',fr= "the type of interpolation the user wants",ang= "the type of interpolation the user wants",docu= "",statut= "o",into=['user_defined', 'standard'],min=1,max=1,val_min='**',val_max='**',defaut='standard'), -interpolation_user_defined=BLOC(condition="(interpolation=='user_defined')", -input_datafile=SIMP(typ=('Fichier', 'All Files (*)'),fr= "contains the data the interpolation should be made on",ang= "contains the data the interpolation should be made on",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -show=SIMP(typ=bool,fr= "show plot of the result",ang= "show plot of the result",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -save_out=SIMP(typ=bool,fr= "save interpolation result",ang= "save interpolation result",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -save_img=SIMP(typ=bool,fr= "save plot of the result",ang= "save plot of the result",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -output_basename=SIMP(typ='TXM',fr= "user defined output basename (for use in CADEEX)",ang= "user defined output basename (for use in CADEEX)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -function=SIMP(typ='TXM',fr= "user defined function",ang= "user defined function",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -initial_guess=SIMP(typ='TXM',fr= "initial guess for the adjustable parameters",ang= "initial guess for the adjustable parameters",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -interpolation_standard=BLOC(condition="(interpolation=='standard')", -input_datafile=SIMP(typ=('Fichier', 'All Files (*)'),fr= "contains the data the interpolation should be made on",ang= "contains the data the interpolation should be made on",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -show=SIMP(typ=bool,fr= "show plot of the result",ang= "show plot of the result",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -save_out=SIMP(typ=bool,fr= "save interpolation result",ang= "save interpolation result",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -save_img=SIMP(typ=bool,fr= "save plot of the result",ang= "save plot of the result",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -output_basename=SIMP(typ='TXM',fr= "user defined output basename (for use in CADEEX)",ang= "user defined output basename (for use in CADEEX)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -function=SIMP(typ='TXM',fr= "name of standard interpolation method to be used",ang= "name of standard interpolation method to be used",docu= "",statut= "o",into=['poly1', 'poly2', 'poly3', 'poly4', 'poly5', 'poly6', 'poly7', 'poly8', 'poly9', 'inverse1', 'inverse2', 'inverse3', 'inverse4', 'inverse5', 'inverse6', 'inverse7', 'inverse8', 'inverse9', 'power', 'expo', 'logn', 'gauss', 'poisson', 'double_gauss', 'double_poisson', 'weibull2', 'weibull3', 'gumbel', 'logn_affin'],min=1,max=1,val_min='**',val_max='**',defaut=None), -), -) -# ====================================================================== -# Catalog entry for the MAP function : c_post_experimental_loops -# ====================================================================== -C_POST_EXPERIMENTAL_LOOPS_DATA=PROC(nom='C_POST_EXPERIMENTAL_LOOPS_DATA',op=None, -UIinfo ={'groupes':('post',)}, -mode=SIMP(typ='TXM',fr= "execution mode",ang= "execution mode",docu= "",statut= "o",into=['map', 'cadeex'],min=1,max=1,val_min='**',val_max='**',defaut='cadeex'), -mode_map=BLOC(condition="(mode=='map')", -post_processing=SIMP(typ='TXM',fr= "post processing level",ang= "post processing level",docu= "",statut= "o",into=['classic', 'advanced', 'expert'],min=1,max=1,val_min='**',val_max='**',defaut='classic'), -spectra_zip=SIMP(typ=('Fichier', 'All Files (*)'),fr= "archive with all spectra",ang= "archive with all spectra",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -start_cycle=SIMP(typ='TXM',fr= "starting cycle",ang= "starting cycle",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -show_release=SIMP(typ=bool,fr= "to it on to get a graphic output of release curve",ang= "to it on to get a graphic output of release curve",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -x_axis=SIMP(typ='TXM',fr= "name of the axis on graphs",ang= "name of the axis on graphs",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -release=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "output csv file containing final release vs time",ang= "output csv file containing final release vs time",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='out.release'), -summary=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "output text file containing details on calculations",ang= "output text file containing details on calculations",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -y_scale=SIMP(typ='TXM',fr= "scale for y axis",ang= "scale for y axis",docu= "",statut= "f",into=['log', 'linear'],min=1,max=1,val_min='**',val_max='**',defaut='log'), -show_dead_time=SIMP(typ=bool,fr= "show dead time",ang= "show dead time",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -show_channel_max=SIMP(typ=bool,fr= "show channel max",ang= "show channel max",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -show_centroid=SIMP(typ=bool,fr= "show centroid",ang= "show centroid",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -show_FWHM=SIMP(typ=bool,fr= "show FWHM",ang= "show FWHM",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -show_counting=SIMP(typ=bool,fr= "show counting",ang= "show counting",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -show_spectra=SIMP(typ='TXM',fr= "spectra number the user wants to be displayed",ang= "spectra number the user wants to be displayed",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -show_background=SIMP(typ='TXM',fr= "spectra slice number with calculated background the user wants to be displayed",ang= "spectra slice number with calculated background the user wants to be displayed",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -dead_time_correction=SIMP(typ=bool,fr= "apply dead correction or not",ang= "apply dead correction or not",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -ROI1_BG_length=SIMP(typ='TXM',fr= "must be auto or a positive an odd integer",ang= "must be auto or a positive an odd integer",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='auto'), -ROI2_BG_length=SIMP(typ='TXM',fr= "must be auto or a positive an odd integer",ang= "must be auto or a positive an odd integer",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='auto'), -BG_half_width=SIMP(typ='TXM',fr= "must be auto or a positive integer",ang= "must be auto or a positive integer",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='auto'), -BG_sum_factor=SIMP(typ='TXM',fr= "must be auto or a positive integer",ang= "must be auto or a positive integer",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='auto'), -), -mode_cadeex=BLOC(condition="(mode=='cadeex')", -spectra_zip=SIMP(typ=('Fichier', 'All Files (*)'),fr= "archive with all spectra",ang= "archive with all spectra",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -start_cycle=SIMP(typ='TXM',fr= "starting cycle",ang= "starting cycle",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -release=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "output csv file containing final release vs time",ang= "output csv file containing final release vs time",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='out.release'), -), -) -# ====================================================================== -# Catalog entry for the MAP function : c_image_2d_fouling_rate -# ====================================================================== -C_IMAGE_2D_FOULING_RATE_DATA=PROC(nom='C_IMAGE_2D_FOULING_RATE_DATA',op=None, -UIinfo ={'groupes':('image',)}, -input_image_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "input image filename",ang= "input image filename",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -spatial_bandwidth=SIMP(typ='I',fr= "spatial bandwith parameter for Meanshift segmentation",ang= "spatial bandwith parameter for Meanshift segmentation",docu= "",statut= "o",into=[3, 5, 7, 9],min=1,max=1,val_min='**',val_max='**',defaut=5), -use_biasfield_correction=SIMP(typ='I',fr= "boolean to switch on or off the biasfield correction during the classification step",ang= "boolean to switch on or off the biasfield correction during the classification step",docu= "",statut= "o",into=[0, 1],min=1,max=1,val_min='**',val_max='**',defaut=1), -meanshift_image_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "output filename for the intermediate segmented image by Meanshift to be written",ang= "output filename for the intermediate segmented image by Meanshift to be written",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -segmented_image_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "output filename for the segmented image with crystals in green to be written",ang= "output filename for the segmented image with crystals in green to be written",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -text_output_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "text output filename where the results of the component: fouling rate",ang= "text output filename where the results of the component: fouling rate",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -) -# ====================================================================== -# Catalog entry for the MAP function : c_solver_elasticity_fdvgrid -# ====================================================================== -C_SOLVER_ELASTICITY_FDVGRID_DATA=PROC(nom='C_SOLVER_ELASTICITY_FDVGRID_DATA',op=None, -UIinfo ={'groupes':('solver',)}, -number_pixel_row_cube=SIMP(typ='I',fr= "number of voxel in a row, all produced images will be NxNxN large",ang= "number of voxel in a row, all produced images will be NxNxN large",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -easy_solve=SIMP(typ='TXM',fr= "Choose the solver !",ang= "Choose the solver !",docu= "",statut= "o",into=('LOW_RAM', 'MATRIX_FREE', 'LOW_CPU', 'CG_SOR', 'MULTIGRID', 'NONE'),min=1,max=1,val_min='**',val_max='**',defaut=None), -input_path=SIMP(typ='Repertoire',fr= "path to the input directory (ex : input/)",ang= "path to the input directory (ex : input/)",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_path=SIMP(typ='Repertoire',fr= "path to the output directory",ang= "path to the output directory",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -ratio_filename_dat=SIMP(typ=('Fichier', 'All Files (*)'),fr= "name of the input file describing the local volumic ratio of inclusion (3d image), ex micro_dis.dat",ang= "name of the input file describing the local volumic ratio of inclusion (3d image), ex micro_dis.dat",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -E_inclusion=SIMP(typ='R',fr= "Young modulus in inclusions",ang= "Young modulus in inclusions",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nu_inclusion=SIMP(typ='R',fr= "Poisson ratio in inclusions",ang= "Poisson ratio in inclusions",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -E_matrice=SIMP(typ='R',fr= "Young modulus in matrix",ang= "Young modulus in matrix",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nu_matrice=SIMP(typ='R',fr= "Poisson ratio in matrix",ang= "Poisson ratio in matrix",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -number_proc_micro=SIMP(typ='I',fr= "number of processus used for computing the 3d image of conductivity starting from the 3d image of local volumic ratio of inclusion in each voxel.",ang= "number of processus used for computing the 3d image of conductivity starting from the 3d image of local volumic ratio of inclusion in each voxel.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=1), -number_proc_solver=SIMP(typ='I',fr= "number of processus used for solving the diffusion problem",ang= "number of processus used for solving the diffusion problem",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=1), -number_proc_post=SIMP(typ='I',fr= "number of processus used for post porcessing",ang= "number of processus used for post porcessing",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=1), -multigrid_max_level_number=SIMP(typ='I',fr= "maximum number of level if a MULTIGIRD solver is used",ang= "maximum number of level if a MULTIGIRD solver is used",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=42), -configuration_file=SIMP(typ='TXM',fr= "path and name of the configuration file than the python interface will produce for the various .exe",ang= "path and name of the configuration file than the python interface will produce for the various .exe",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_solver_diffusion_fdvgrid.ini'), -kind_of_run=SIMP(typ='TXM',fr= "this component is runable sequential, parallel or as a PBS_job",ang= "this component is runable sequential, parallel or as a PBS_job",docu= "",statut= "f",into=('sequential', 'parallel', 'PBS_job'),min=1,max=1,val_min='**',val_max='**',defaut='sequential'), -start_run=SIMP(typ=bool,fr= "if yes, the conponent will run. It will only produce a batch script otherwise",ang= "if yes, the conponent will run. It will only produce a batch script otherwise",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -exp_id=SIMP(typ='I',fr= "this will be printed in the name of every produced image",ang= "this will be printed in the name of every produced image",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -petsc_option=SIMP(typ='TXM',fr= "add options for PETSC here",ang= "add options for PETSC here",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=''), -all_stdout_in_file=SIMP(typ=bool,fr= "if yes, all logs, profiling issues and errors will be redirected to a file",ang= "if yes, all logs, profiling issues and errors will be redirected to a file",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -grey_element=SIMP(typ='TXM',fr= "How to choose the mechanical behaviour of voxels that are neither in inclusions nor in the matrice ?",ang= "How to choose the mechanical behaviour of voxels that are neither in inclusions nor in the matrice ?",docu= "",statut= "f",into=('REUSS', 'VOIGT'),min=1,max=1,val_min='**',val_max='**',defaut='REUSS'), -x_start=SIMP(typ='I',fr= "offset in x direction when reading the 3D image of local volumic ratio of inclusion",ang= "offset in x direction when reading the 3D image of local volumic ratio of inclusion",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -y_start=SIMP(typ='I',fr= "offset in y direction when reading the 3D image of local volumic ratio of inclusion",ang= "offset in y direction when reading the 3D image of local volumic ratio of inclusion",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -z_start=SIMP(typ='I',fr= "offset in z direction when reading the 3D image of local volumic ratio of inclusion",ang= "offset in z direction when reading the 3D image of local volumic ratio of inclusion",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -number_nodes=SIMP(typ='I',fr= "number of nodes used (cluster)",ang= "number of nodes used (cluster)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -number_proc_per_node=SIMP(typ='I',fr= "number of processors used per node (cluster)",ang= "number of processors used per node (cluster)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -walltime=SIMP(typ='TXM',fr= "if the job did not end by this time, it will be killed by job manager (format 10:00:00 (hms))",ang= "if the job did not end by this time, it will be killed by job manager (format 10:00:00 (hms))",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -memory=SIMP(typ='TXM',fr= "the memory given here must be larger than the needed one (format 32gb",ang= "the memory given here must be larger than the needed one (format 32gb",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -source_environement=SIMP(typ='TXM',fr= "command to load environnement at start of job (ex: source /logiciels/openmpi/profile",ang= "command to load environnement at start of job (ex: source /logiciels/openmpi/profile",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -periodic_X=SIMP(typ=bool,fr= "if yes, periodic boundary conditions will be applied on corresponding x faces",ang= "if yes, periodic boundary conditions will be applied on corresponding x faces",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -periodic_Y=SIMP(typ=bool,fr= "if yes, periodic boundary conditions will be applied on corresponding y faces",ang= "if yes, periodic boundary conditions will be applied on corresponding y faces",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -periodic_Z=SIMP(typ=bool,fr= "if yes, periodic boundary conditions will be applied on corresponding z faces",ang= "if yes, periodic boundary conditions will be applied on corresponding z faces",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -eps11=SIMP(typ='R',fr= "Average of deformation direction xx (periodic BC)",ang= "Average of deformation direction xx (periodic BC)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -eps22=SIMP(typ='R',fr= "Average of deformation direction yy (periodic BC)",ang= "Average of deformation direction yy (periodic BC)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -eps33=SIMP(typ='R',fr= "Average of deformation direction zz (periodic BC)",ang= "Average of deformation direction zz (periodic BC)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -eps12=SIMP(typ='R',fr= "Average of deformation direction xy (periodic BC)",ang= "Average of deformation direction xy (periodic BC)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -eps13=SIMP(typ='R',fr= "Average of deformation direction xz (periodic BC)",ang= "Average of deformation direction xz (periodic BC)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -eps23=SIMP(typ='R',fr= "Average of deformation direction yz (periodic BC)",ang= "Average of deformation direction yz (periodic BC)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_cx=SIMP(typ='R',fr= "position of center of face",ang= "position of center of face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0.5), -boundary_condition_x_plus_cy=SIMP(typ='R',fr= "position of center of face",ang= "position of center of face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -boundary_condition_x_plus_cz=SIMP(typ='R',fr= "position of center of face",ang= "position of center of face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -boundary_condition_x_minus_cx=SIMP(typ='R',fr= "position of center of face",ang= "position of center of face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=-0.5), -boundary_condition_x_minus_cy=SIMP(typ='R',fr= "position of center of face",ang= "position of center of face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -boundary_condition_x_minus_cz=SIMP(typ='R',fr= "position of center of face",ang= "position of center of face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -boundary_condition_y_plus_cx=SIMP(typ='R',fr= "position of center of face",ang= "position of center of face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -boundary_condition_y_plus_cy=SIMP(typ='R',fr= "position of center of face",ang= "position of center of face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0.5), -boundary_condition_y_plus_cz=SIMP(typ='R',fr= "position of center of face",ang= "position of center of face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -boundary_condition_y_minus_cx=SIMP(typ='R',fr= "position of center of face",ang= "position of center of face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -boundary_condition_y_minus_cy=SIMP(typ='R',fr= "position of center of face",ang= "position of center of face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=-0.5), -boundary_condition_y_minus_cz=SIMP(typ='R',fr= "position of center of face",ang= "position of center of face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -boundary_condition_z_plus_cx=SIMP(typ='R',fr= "position of center of face",ang= "position of center of face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -boundary_condition_z_plus_cy=SIMP(typ='R',fr= "position of center of face",ang= "position of center of face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -boundary_condition_z_plus_cz=SIMP(typ='R',fr= "position of center of face",ang= "position of center of face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0.5), -boundary_condition_z_minus_cx=SIMP(typ='R',fr= "position of center of face",ang= "position of center of face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -boundary_condition_z_minus_cy=SIMP(typ='R',fr= "position of center of face",ang= "position of center of face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -boundary_condition_z_minus_cz=SIMP(typ='R',fr= "position of center of face",ang= "position of center of face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=-0.5), -norm_2_RHS_per_sqrt_pixel=SIMP(typ='R',fr= "norm_2_RHS_per_sqrt(pixel) at start",ang= "norm_2_RHS_per_sqrt(pixel) at start",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -MAP_c_solver_diffusion_fdvgrid_successful=SIMP(typ=bool,fr= "MAP_c_solver_diffusion_fdvgrid_successful",ang= "MAP_c_solver_diffusion_fdvgrid_successful",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -norm_2_residual_per_sqrt_pixel=SIMP(typ='R',fr= "norm_2_residual_per_sqrt(pixel) last",ang= "norm_2_residual_per_sqrt(pixel) last",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -ratio_is=SIMP(typ='R',fr= "ratio between residual and RHS",ang= "ratio between residual and RHS",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -number_of_iteration=SIMP(typ='I',fr= "number_of_iteration",ang= "number_of_iteration",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -time_solver_s=SIMP(typ='R',fr= "time_solver (seconds)",ang= "time_solver (seconds)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -GTx=SIMP(typ='R',fr= "average gradient GTx",ang= "average gradient GTx",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -GTy=SIMP(typ='R',fr= "average gradient GTy",ang= "average gradient GTy",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -GTz=SIMP(typ='R',fr= "average gradient GTz",ang= "average gradient GTz",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -flux_x=SIMP(typ='R',fr= "average flux x direction",ang= "average flux x direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -flux_y=SIMP(typ='R',fr= "average flux y direction",ang= "average flux y direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -flux_z=SIMP(typ='R',fr= "average flux z direction",ang= "average flux z direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -minux_int_TxF=SIMP(typ='R',fr= "minux_int_TxF (-volume integral of Temperature X Flux)",ang= "minux_int_TxF (-volume integral of Temperature X Flux)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_x_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the x plus face, dir x",ang= "kind of bondary conditions on the x plus face, dir x",docu= "",statut= "f",into=('DISPLACEMENT', 'FORCE'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_x_u0=SIMP(typ='R',fr= "Imposed displacement at the center of the face along the x direction",ang= "Imposed displacement at the center of the face along the x direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_x_dudy=SIMP(typ='R',fr= " rac{du_x}{dy} on this face",ang= " rac{du_x}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_x_dudz=SIMP(typ='R',fr= " rac{du_x}{dz} on this face",ang= " rac{du_x}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_x_T=SIMP(typ='R',fr= "force per area at the center of face along x direction",ang= "force per area at the center of face along x direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_x_dTdy=SIMP(typ='R',fr= " rac{dT_x}{dy} on this face",ang= " rac{dT_x}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_x_dTdz=SIMP(typ='R',fr= " rac{dT_x}{dz} on this face",ang= " rac{dT_x}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_x_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the y plus face, dir x",ang= "kind of bondary conditions on the y plus face, dir x",docu= "",statut= "f",into=('DISPLACEMENT', 'FORCE'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_x_u0=SIMP(typ='R',fr= "Imposed displacement at the center of the face along the x direction",ang= "Imposed displacement at the center of the face along the x direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_x_dudx=SIMP(typ='R',fr= " rac{du_x}{dx} on this face",ang= " rac{du_x}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_x_dudz=SIMP(typ='R',fr= " rac{du_x}{dz} on this face",ang= " rac{du_x}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_x_T=SIMP(typ='R',fr= "force per area at the center of face along x direction",ang= "force per area at the center of face along x direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_x_dTdx=SIMP(typ='R',fr= " rac{dT_x}{dx} on this face",ang= " rac{dT_x}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_x_dTdz=SIMP(typ='R',fr= " rac{dT_x}{dz} on this face",ang= " rac{dT_x}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_x_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the z plus face, dir x",ang= "kind of bondary conditions on the z plus face, dir x",docu= "",statut= "f",into=('DISPLACEMENT', 'FORCE'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_x_u0=SIMP(typ='R',fr= "Imposed displacement at the center of the face along the x direction",ang= "Imposed displacement at the center of the face along the x direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_x_dudx=SIMP(typ='R',fr= " rac{du_x}{dx} on this face",ang= " rac{du_x}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_x_dudy=SIMP(typ='R',fr= " rac{du_x}{dy} on this face",ang= " rac{du_x}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_x_T=SIMP(typ='R',fr= "force per area at the center of face along x direction",ang= "force per area at the center of face along x direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_x_dTdx=SIMP(typ='R',fr= " rac{dT_x}{dx} on this face",ang= " rac{dT_x}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_x_dTdy=SIMP(typ='R',fr= " rac{dT_x}{dy} on this face",ang= " rac{dT_x}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_y_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the x plus face, dir y",ang= "kind of bondary conditions on the x plus face, dir y",docu= "",statut= "f",into=('DISPLACEMENT', 'FORCE'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_y_u0=SIMP(typ='R',fr= "Imposed displacement at the center of the face along the y direction",ang= "Imposed displacement at the center of the face along the y direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_y_dudy=SIMP(typ='R',fr= " rac{du_y}{dy} on this face",ang= " rac{du_y}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_y_dudz=SIMP(typ='R',fr= " rac{du_y}{dz} on this face",ang= " rac{du_y}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_y_T=SIMP(typ='R',fr= "force per area at the center of face along y direction",ang= "force per area at the center of face along y direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_y_dTdy=SIMP(typ='R',fr= " rac{dT_y}{dy} on this face",ang= " rac{dT_y}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_y_dTdz=SIMP(typ='R',fr= " rac{dT_y}{dz} on this face",ang= " rac{dT_y}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_y_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the y plus face, dir y",ang= "kind of bondary conditions on the y plus face, dir y",docu= "",statut= "f",into=('DISPLACEMENT', 'FORCE'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_y_u0=SIMP(typ='R',fr= "Imposed displacement at the center of the face along the y direction",ang= "Imposed displacement at the center of the face along the y direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_y_dudx=SIMP(typ='R',fr= " rac{du_y}{dx} on this face",ang= " rac{du_y}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_y_dudz=SIMP(typ='R',fr= " rac{du_y}{dz} on this face",ang= " rac{du_y}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_y_T=SIMP(typ='R',fr= "force per area at the center of face along y direction",ang= "force per area at the center of face along y direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_y_dTdx=SIMP(typ='R',fr= " rac{dT_y}{dx} on this face",ang= " rac{dT_y}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_y_dTdz=SIMP(typ='R',fr= " rac{dT_y}{dz} on this face",ang= " rac{dT_y}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_y_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the z plus face, dir y",ang= "kind of bondary conditions on the z plus face, dir y",docu= "",statut= "f",into=('DISPLACEMENT', 'FORCE'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_y_u0=SIMP(typ='R',fr= "Imposed displacement at the center of the face along the y direction",ang= "Imposed displacement at the center of the face along the y direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_y_dudx=SIMP(typ='R',fr= " rac{du_y}{dx} on this face",ang= " rac{du_y}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_y_dudy=SIMP(typ='R',fr= " rac{du_y}{dy} on this face",ang= " rac{du_y}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_y_T=SIMP(typ='R',fr= "force per area at the center of face along y direction",ang= "force per area at the center of face along y direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_y_dTdx=SIMP(typ='R',fr= " rac{dT_y}{dx} on this face",ang= " rac{dT_y}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_y_dTdy=SIMP(typ='R',fr= " rac{dT_y}{dy} on this face",ang= " rac{dT_y}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_z_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the x plus face, dir z",ang= "kind of bondary conditions on the x plus face, dir z",docu= "",statut= "f",into=('DISPLACEMENT', 'FORCE'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_z_u0=SIMP(typ='R',fr= "Imposed displacement at the center of the face along the z direction",ang= "Imposed displacement at the center of the face along the z direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_z_dudy=SIMP(typ='R',fr= " rac{du_z}{dy} on this face",ang= " rac{du_z}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_z_dudz=SIMP(typ='R',fr= " rac{du_z}{dz} on this face",ang= " rac{du_z}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_z_T=SIMP(typ='R',fr= "force per area at the center of face along z direction",ang= "force per area at the center of face along z direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_z_dTdy=SIMP(typ='R',fr= " rac{dT_z}{dy} on this face",ang= " rac{dT_z}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_z_dTdz=SIMP(typ='R',fr= " rac{dT_z}{dz} on this face",ang= " rac{dT_z}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_z_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the y plus face, dir z",ang= "kind of bondary conditions on the y plus face, dir z",docu= "",statut= "f",into=('DISPLACEMENT', 'FORCE'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_z_u0=SIMP(typ='R',fr= "Imposed displacement at the center of the face along the z direction",ang= "Imposed displacement at the center of the face along the z direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_z_dudx=SIMP(typ='R',fr= " rac{du_z}{dx} on this face",ang= " rac{du_z}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_z_dudz=SIMP(typ='R',fr= " rac{du_z}{dz} on this face",ang= " rac{du_z}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_z_T=SIMP(typ='R',fr= "force per area at the center of face along z direction",ang= "force per area at the center of face along z direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_z_dTdx=SIMP(typ='R',fr= " rac{dT_z}{dx} on this face",ang= " rac{dT_z}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_z_dTdz=SIMP(typ='R',fr= " rac{dT_z}{dz} on this face",ang= " rac{dT_z}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_z_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the z plus face, dir z",ang= "kind of bondary conditions on the z plus face, dir z",docu= "",statut= "f",into=('DISPLACEMENT', 'FORCE'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_z_u0=SIMP(typ='R',fr= "Imposed displacement at the center of the face along the z direction",ang= "Imposed displacement at the center of the face along the z direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_z_dudx=SIMP(typ='R',fr= " rac{du_z}{dx} on this face",ang= " rac{du_z}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_z_dudy=SIMP(typ='R',fr= " rac{du_z}{dy} on this face",ang= " rac{du_z}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_z_T=SIMP(typ='R',fr= "force per area at the center of face along z direction",ang= "force per area at the center of face along z direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_z_dTdx=SIMP(typ='R',fr= " rac{dT_z}{dx} on this face",ang= " rac{dT_z}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_z_dTdy=SIMP(typ='R',fr= " rac{dT_z}{dy} on this face",ang= " rac{dT_z}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_x_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the x minus face, dir x",ang= "kind of bondary conditions on the x minus face, dir x",docu= "",statut= "f",into=('DISPLACEMENT', 'FORCE'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_x_u0=SIMP(typ='R',fr= "Imposed displacement at the center of the face along the x direction",ang= "Imposed displacement at the center of the face along the x direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_x_dudy=SIMP(typ='R',fr= " rac{du_x}{dy} on this face",ang= " rac{du_x}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_x_dudz=SIMP(typ='R',fr= " rac{du_x}{dz} on this face",ang= " rac{du_x}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_x_T=SIMP(typ='R',fr= "force per area at the center of face along x direction",ang= "force per area at the center of face along x direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_x_dTdy=SIMP(typ='R',fr= " rac{dT_x}{dy} on this face",ang= " rac{dT_x}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_x_dTdz=SIMP(typ='R',fr= " rac{dT_x}{dz} on this face",ang= " rac{dT_x}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_x_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the y minus face, dir x",ang= "kind of bondary conditions on the y minus face, dir x",docu= "",statut= "f",into=('DISPLACEMENT', 'FORCE'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_x_u0=SIMP(typ='R',fr= "Imposed displacement at the center of the face along the x direction",ang= "Imposed displacement at the center of the face along the x direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_x_dudx=SIMP(typ='R',fr= " rac{du_x}{dx} on this face",ang= " rac{du_x}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_x_dudz=SIMP(typ='R',fr= " rac{du_x}{dz} on this face",ang= " rac{du_x}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_x_T=SIMP(typ='R',fr= "force per area at the center of face along x direction",ang= "force per area at the center of face along x direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_x_dTdx=SIMP(typ='R',fr= " rac{dT_x}{dx} on this face",ang= " rac{dT_x}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_x_dTdz=SIMP(typ='R',fr= " rac{dT_x}{dz} on this face",ang= " rac{dT_x}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_x_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the z minus face, dir x",ang= "kind of bondary conditions on the z minus face, dir x",docu= "",statut= "f",into=('DISPLACEMENT', 'FORCE'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_x_u0=SIMP(typ='R',fr= "Imposed displacement at the center of the face along the x direction",ang= "Imposed displacement at the center of the face along the x direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_x_dudx=SIMP(typ='R',fr= " rac{du_x}{dx} on this face",ang= " rac{du_x}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_x_dudy=SIMP(typ='R',fr= " rac{du_x}{dy} on this face",ang= " rac{du_x}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_x_T=SIMP(typ='R',fr= "force per area at the center of face along x direction",ang= "force per area at the center of face along x direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_x_dTdx=SIMP(typ='R',fr= " rac{dT_x}{dx} on this face",ang= " rac{dT_x}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_x_dTdy=SIMP(typ='R',fr= " rac{dT_x}{dy} on this face",ang= " rac{dT_x}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_y_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the x minus face, dir y",ang= "kind of bondary conditions on the x minus face, dir y",docu= "",statut= "f",into=('DISPLACEMENT', 'FORCE'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_y_u0=SIMP(typ='R',fr= "Imposed displacement at the center of the face along the y direction",ang= "Imposed displacement at the center of the face along the y direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_y_dudy=SIMP(typ='R',fr= " rac{du_y}{dy} on this face",ang= " rac{du_y}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_y_dudz=SIMP(typ='R',fr= " rac{du_y}{dz} on this face",ang= " rac{du_y}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_y_T=SIMP(typ='R',fr= "force per area at the center of face along y direction",ang= "force per area at the center of face along y direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_y_dTdy=SIMP(typ='R',fr= " rac{dT_y}{dy} on this face",ang= " rac{dT_y}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_y_dTdz=SIMP(typ='R',fr= " rac{dT_y}{dz} on this face",ang= " rac{dT_y}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_y_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the y minus face, dir y",ang= "kind of bondary conditions on the y minus face, dir y",docu= "",statut= "f",into=('DISPLACEMENT', 'FORCE'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_y_u0=SIMP(typ='R',fr= "Imposed displacement at the center of the face along the y direction",ang= "Imposed displacement at the center of the face along the y direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_y_dudx=SIMP(typ='R',fr= " rac{du_y}{dx} on this face",ang= " rac{du_y}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_y_dudz=SIMP(typ='R',fr= " rac{du_y}{dz} on this face",ang= " rac{du_y}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_y_T=SIMP(typ='R',fr= "force per area at the center of face along y direction",ang= "force per area at the center of face along y direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_y_dTdx=SIMP(typ='R',fr= " rac{dT_y}{dx} on this face",ang= " rac{dT_y}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_y_dTdz=SIMP(typ='R',fr= " rac{dT_y}{dz} on this face",ang= " rac{dT_y}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_y_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the z minus face, dir y",ang= "kind of bondary conditions on the z minus face, dir y",docu= "",statut= "f",into=('DISPLACEMENT', 'FORCE'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_y_u0=SIMP(typ='R',fr= "Imposed displacement at the center of the face along the y direction",ang= "Imposed displacement at the center of the face along the y direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_y_dudx=SIMP(typ='R',fr= " rac{du_y}{dx} on this face",ang= " rac{du_y}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_y_dudy=SIMP(typ='R',fr= " rac{du_y}{dy} on this face",ang= " rac{du_y}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_y_T=SIMP(typ='R',fr= "force per area at the center of face along y direction",ang= "force per area at the center of face along y direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_y_dTdx=SIMP(typ='R',fr= " rac{dT_y}{dx} on this face",ang= " rac{dT_y}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_y_dTdy=SIMP(typ='R',fr= " rac{dT_y}{dy} on this face",ang= " rac{dT_y}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_z_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the x minus face, dir z",ang= "kind of bondary conditions on the x minus face, dir z",docu= "",statut= "f",into=('DISPLACEMENT', 'FORCE'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_z_u0=SIMP(typ='R',fr= "Imposed displacement at the center of the face along the z direction",ang= "Imposed displacement at the center of the face along the z direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_z_dudy=SIMP(typ='R',fr= " rac{du_z}{dy} on this face",ang= " rac{du_z}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_z_dudz=SIMP(typ='R',fr= " rac{du_z}{dz} on this face",ang= " rac{du_z}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_z_T=SIMP(typ='R',fr= "force per area at the center of face along z direction",ang= "force per area at the center of face along z direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_z_dTdy=SIMP(typ='R',fr= " rac{dT_z}{dy} on this face",ang= " rac{dT_z}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_z_dTdz=SIMP(typ='R',fr= " rac{dT_z}{dz} on this face",ang= " rac{dT_z}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_z_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the y minus face, dir z",ang= "kind of bondary conditions on the y minus face, dir z",docu= "",statut= "f",into=('DISPLACEMENT', 'FORCE'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_z_u0=SIMP(typ='R',fr= "Imposed displacement at the center of the face along the z direction",ang= "Imposed displacement at the center of the face along the z direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_z_dudx=SIMP(typ='R',fr= " rac{du_z}{dx} on this face",ang= " rac{du_z}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_z_dudz=SIMP(typ='R',fr= " rac{du_z}{dz} on this face",ang= " rac{du_z}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_z_T=SIMP(typ='R',fr= "force per area at the center of face along z direction",ang= "force per area at the center of face along z direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_z_dTdx=SIMP(typ='R',fr= " rac{dT_z}{dx} on this face",ang= " rac{dT_z}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_z_dTdz=SIMP(typ='R',fr= " rac{dT_z}{dz} on this face",ang= " rac{dT_z}{dz} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_z_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the z minus face, dir z",ang= "kind of bondary conditions on the z minus face, dir z",docu= "",statut= "f",into=('DISPLACEMENT', 'FORCE'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_z_u0=SIMP(typ='R',fr= "Imposed displacement at the center of the face along the z direction",ang= "Imposed displacement at the center of the face along the z direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_z_dudx=SIMP(typ='R',fr= " rac{du_z}{dx} on this face",ang= " rac{du_z}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_z_dudy=SIMP(typ='R',fr= " rac{du_z}{dy} on this face",ang= " rac{du_z}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_z_T=SIMP(typ='R',fr= "force per area at the center of face along z direction",ang= "force per area at the center of face along z direction",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_z_dTdx=SIMP(typ='R',fr= " rac{dT_z}{dx} on this face",ang= " rac{dT_z}{dx} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_z_dTdy=SIMP(typ='R',fr= " rac{dT_z}{dy} on this face",ang= " rac{dT_z}{dy} on this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -Av_EPS11=SIMP(typ='R',fr= "Average of EPS11",ang= "Average of EPS11",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -Av_EPS22=SIMP(typ='R',fr= "Average of EPS22",ang= "Average of EPS22",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -Av_EPS33=SIMP(typ='R',fr= "Average of EPS33",ang= "Average of EPS33",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -Av_EPS12=SIMP(typ='R',fr= "Average of EPS12",ang= "Average of EPS12",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -Av_EPS13=SIMP(typ='R',fr= "Average of EPS13",ang= "Average of EPS13",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -Av_EPS23=SIMP(typ='R',fr= "Average of EPS23",ang= "Average of EPS23",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -Av_SIG11=SIMP(typ='R',fr= "Average of SIG11",ang= "Average of SIG11",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -Av_SIG22=SIMP(typ='R',fr= "Average of SIG22",ang= "Average of SIG22",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -Av_SIG33=SIMP(typ='R',fr= "Average of SIG33",ang= "Average of SIG33",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -Av_SIG12=SIMP(typ='R',fr= "Average of SIG12",ang= "Average of SIG12",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -Av_SIG13=SIMP(typ='R',fr= "Average of SIG13",ang= "Average of SIG13",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -Av_SIG23=SIMP(typ='R',fr= "Average of SIG23",ang= "Average of SIG23",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -) -# ====================================================================== -# Catalog entry for the MAP function : c_pre_morphology_gravel -# ====================================================================== -C_PRE_MORPHOLOGY_GRAVEL_DATA=PROC(nom='C_PRE_MORPHOLOGY_GRAVEL_DATA',op=None, -UIinfo ={'groupes':('pre',)}, -multiscale=SIMP(typ='TXM',fr= "determine, in the case of the microstructure computation if it is multiscale or no",ang= "determine, in the case of the microstructure computation if it is multiscale or no",docu= "",statut= "o",into=['yes', 'no'],min=1,max=1,val_min='**',val_max='**',defaut='no'), -multiscale_yes=BLOC(condition="(multiscale=='yes')", -random_seed=SIMP(typ='I',fr= "gives the value of the seed used to initialize the random process. This parameter is optional, if it is not given, random is initialised with time. The parameter is mainly used for non-regression tests purpose.",ang= "gives the value of the seed used to initialize the random process. This parameter is optional, if it is not given, random is initialised with time. The parameter is mainly used for non-regression tests purpose.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=1332150941), -computation=SIMP(typ='TXM',fr= "determines the type of computation",ang= "determines the type of computation",docu= "",statut= "o",into=['microstructure'],min=1,max=1,val_min='**',val_max='**',defaut='microstructure'), -size=SIMP(typ='I',fr= "size of the image (discretization in the case of the covariance measurment)",ang= "size of the image (discretization in the case of the covariance measurment)",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=250), -lambda_poisson=SIMP(typ='R',fr= "density planes for buiding microstructures for class 1 polyhedra",ang= "density planes for buiding microstructures for class 1 polyhedra",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.035), -fraction=SIMP(typ='R',fr= "volume fraction for class 1 polyhedra",ang= "volume fraction for class 1 polyhedra",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.15), -voxel_side=SIMP(typ='R',fr= "resolution of the output image",ang= "resolution of the output image",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=1.0), -raw_type=SIMP(typ='TXM',fr= "unused",ang= "unused",docu= "",statut= "o",into=['image'],min=1,max=1,val_min='**',val_max='**',defaut='image'), -file_out_txt=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "text ascii file output that describes the list of polyhedra",ang= "text ascii file output that describes the list of polyhedra",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_pre_morphology_gravel.txt'), -file_out_raw=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "binary file output for binarized image",ang= "binary file output for binarized image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_pre_morphology_gravel.raw'), -lambda_poisson2=SIMP(typ='R',fr= "density planes for buiding microstructures for class 2 polyhedra",ang= "density planes for buiding microstructures for class 2 polyhedra",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -lambda_poisson3=SIMP(typ='R',fr= "density planes for buiding microstructures for class 3 polyhedra",ang= "density planes for buiding microstructures for class 3 polyhedra",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -fraction2=SIMP(typ='R',fr= "volume fraction for class 2 polyhedra",ang= "volume fraction for class 2 polyhedra",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -fraction3=SIMP(typ='R',fr= "volume fraction for class 3 polyhedra",ang= "volume fraction for class 3 polyhedra",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -r0=SIMP(typ='R',fr= "smaller radius of lambda_Poisson polyhedra",ang= "smaller radius of lambda_Poisson polyhedra",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -r1=SIMP(typ='R',fr= "larger radius of lambda_Poisson polyhedra, smaller of lambda_poisson2",ang= "larger radius of lambda_Poisson polyhedra, smaller of lambda_poisson2",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -r2=SIMP(typ='R',fr= "larger radius of lambda_Poisson2 polyhedra, smaller of lambda_poisson3",ang= "larger radius of lambda_Poisson2 polyhedra, smaller of lambda_poisson3",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -r3=SIMP(typ='R',fr= "larger radius of lambda_Poisson polyhedra3",ang= "larger radius of lambda_Poisson polyhedra3",docu= "",statut= "f",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -step=SIMP(typ='R',fr= "translation step used in displacement process when intersection occurs",ang= "translation step used in displacement process when intersection occurs",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -voids=SIMP(typ='R',fr= "fraction of voids according to experimental pore distribution",ang= "fraction of voids according to experimental pore distribution",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -), -multiscale_no=BLOC(condition="(multiscale=='no')", -random_seed=SIMP(typ='I',fr= "gives the value of the seed used to initialize the random process. This parameter is optional, if it is not given, random is initialised with time. The parameter is mainly used for non-regression tests purpose.",ang= "gives the value of the seed used to initialize the random process. This parameter is optional, if it is not given, random is initialised with time. The parameter is mainly used for non-regression tests purpose.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=1332150941), -computation=SIMP(typ='TXM',fr= "determines the type of computation",ang= "determines the type of computation",docu= "",statut= "o",into=['microstructure'],min=1,max=1,val_min='**',val_max='**',defaut='microstructure'), -size=SIMP(typ='I',fr= "size of the image (discretization in the case of the covariance measurment)",ang= "size of the image (discretization in the case of the covariance measurment)",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=250), -lambda_poisson=SIMP(typ='R',fr= "density planes for buiding microstructures for class 1 polyhedra",ang= "density planes for buiding microstructures for class 1 polyhedra",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.035), -fraction=SIMP(typ='R',fr= "volume fraction for class 1 polyhedra",ang= "volume fraction for class 1 polyhedra",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.15), -voxel_side=SIMP(typ='R',fr= "resolution of the output image",ang= "resolution of the output image",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=1.0), -raw_type=SIMP(typ='TXM',fr= "unused",ang= "unused",docu= "",statut= "o",into=['image'],min=1,max=1,val_min='**',val_max='**',defaut='image'), -file_out_txt=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "text ascii file output that describes the list of polyhedra",ang= "text ascii file output that describes the list of polyhedra",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_pre_morphology_gravel.txt'), -file_out_raw=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "binary file output for binarized image",ang= "binary file output for binarized image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_pre_morphology_gravel.raw'), -), -) -# ====================================================================== -# Catalog entry for the MAP function : c_image_weld_orientation -# ====================================================================== -C_IMAGE_WELD_ORIENTATION_DATA=PROC(nom='C_IMAGE_WELD_ORIENTATION_DATA',op=None, -UIinfo ={'groupes':('image',)}, -work_process=SIMP(typ='TXM',fr= "Which computations are made : Orientation, Reparation, Domain, VisualizationEx: OR means Orientation + Reparation",ang= "Which computations are made : Orientation, Reparation, Domain, VisualizationEx: OR means Orientation + Reparation",docu= "",statut= "o",into=['O', 'R', 'D', 'V', 'OR', 'OD', 'OV', 'RD', 'RV', 'DV', 'ORD', 'ORV', 'ODV', 'RDV', 'ORDV'],min=1,max=1,val_min='**',val_max='**',defaut='O'), -work_process_O=BLOC(condition="(work_process=='O')", -weld_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Weld image",ang= "Weld image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -computation_mode=SIMP(typ='TXM',fr= "Computation mode",ang= "Computation mode",docu= "",statut= "o",into=['sample', 'pixel'],min=1,max=1,val_min='**',val_max='**',defaut='sample'), -sample_size=SIMP(typ='I',fr= "Sample size",ang= "Sample size",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=40), -orientation_accuracy=SIMP(typ='I',fr= "Orientation accuracy (in degree)",ang= "Orientation accuracy (in degree)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=1), -), -work_process_R=BLOC(condition="(work_process=='R')", -orientation_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Orientation image",ang= "Orientation image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -confidence_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Confidence image",ang= "Confidence image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -confidence_level=SIMP(typ='R',fr= "Used to threshold the confidence image",ang= "Used to threshold the confidence image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=2.0), -), -work_process_D=BLOC(condition="(work_process=='D')", -computation_mode=SIMP(typ='TXM',fr= "Computation mode",ang= "Computation mode",docu= "",statut= "o",into=['domain'],min=1,max=1,val_min='**',val_max='**',defaut='domain'), -orientation_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Orientation image",ang= "Orientation image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -level_number=SIMP(typ='I',fr= "Number of level",ang= "Number of level",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=4), -smoothing_level=SIMP(typ='R',fr= "More smoothing means smoother boundaries",ang= "More smoothing means smoother boundaries",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0.0), -), -work_process_V=BLOC(condition="(work_process=='V')", -orientation_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Orientation image",ang= "Orientation image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -weld_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Weld image",ang= "Weld image",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -streamlines_pitch=SIMP(typ='I',fr= "Number of level",ang= "Number of level",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=20), -), -work_process_OR=BLOC(condition="(work_process=='OR')", -weld_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Weld image",ang= "Weld image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -computation_mode=SIMP(typ='TXM',fr= "Computation mode",ang= "Computation mode",docu= "",statut= "o",into=['sample', 'pixel'],min=1,max=1,val_min='**',val_max='**',defaut='sample'), -sample_size=SIMP(typ='I',fr= "Sample size",ang= "Sample size",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=40), -orientation_accuracy=SIMP(typ='I',fr= "Orientation accuracy (in degree)",ang= "Orientation accuracy (in degree)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=1), -confidence_level=SIMP(typ='R',fr= "Used to threshold the confidence image",ang= "Used to threshold the confidence image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=2.0), -), -work_process_OD=BLOC(condition="(work_process=='OD')", -weld_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Weld image",ang= "Weld image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -computation_mode=SIMP(typ='TXM',fr= "Computation mode",ang= "Computation mode",docu= "",statut= "o",into=['sample', 'pixel'],min=1,max=1,val_min='**',val_max='**',defaut='sample'), -sample_size=SIMP(typ='I',fr= "Sample size",ang= "Sample size",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=40), -orientation_accuracy=SIMP(typ='I',fr= "Orientation accuracy (in degree)",ang= "Orientation accuracy (in degree)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=1), -level_number=SIMP(typ='I',fr= "Number of level",ang= "Number of level",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=4), -smoothing_level=SIMP(typ='R',fr= "More smoothing means smoother boundaries",ang= "More smoothing means smoother boundaries",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0.0), -), -work_process_OV=BLOC(condition="(work_process=='OV')", -weld_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Weld image",ang= "Weld image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -computation_mode=SIMP(typ='TXM',fr= "Computation mode",ang= "Computation mode",docu= "",statut= "o",into=['sample', 'pixel'],min=1,max=1,val_min='**',val_max='**',defaut='sample'), -sample_size=SIMP(typ='I',fr= "Sample size",ang= "Sample size",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=40), -orientation_accuracy=SIMP(typ='I',fr= "Orientation accuracy (in degree)",ang= "Orientation accuracy (in degree)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=1), -streamlines_pitch=SIMP(typ='I',fr= "Number of level",ang= "Number of level",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=20), -), -work_process_RD=BLOC(condition="(work_process=='RD')", -orientation_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Orientation image",ang= "Orientation image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -confidence_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Confidence image",ang= "Confidence image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -confidence_level=SIMP(typ='R',fr= "Used to threshold the confidence image",ang= "Used to threshold the confidence image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=2.0), -computation_mode=SIMP(typ='TXM',fr= "Computation mode",ang= "Computation mode",docu= "",statut= "o",into=['domain'],min=1,max=1,val_min='**',val_max='**',defaut='domain'), -level_number=SIMP(typ='I',fr= "Number of level",ang= "Number of level",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=4), -smoothing_level=SIMP(typ='R',fr= "More smoothing means smoother boundaries",ang= "More smoothing means smoother boundaries",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0.0), -), -work_process_RV=BLOC(condition="(work_process=='RV')", -orientation_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Orientation image",ang= "Orientation image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -confidence_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Confidence image",ang= "Confidence image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -confidence_level=SIMP(typ='R',fr= "Used to threshold the confidence image",ang= "Used to threshold the confidence image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=2.0), -weld_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Weld image",ang= "Weld image",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -streamlines_pitch=SIMP(typ='I',fr= "Number of level",ang= "Number of level",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=20), -), -work_process_DV=BLOC(condition="(work_process=='DV')", -computation_mode=SIMP(typ='TXM',fr= "Computation mode",ang= "Computation mode",docu= "",statut= "o",into=['domain'],min=1,max=1,val_min='**',val_max='**',defaut='domain'), -orientation_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Orientation image",ang= "Orientation image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -level_number=SIMP(typ='I',fr= "Number of level",ang= "Number of level",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=4), -smoothing_level=SIMP(typ='R',fr= "More smoothing means smoother boundaries",ang= "More smoothing means smoother boundaries",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0.0), -weld_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Weld image",ang= "Weld image",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -streamlines_pitch=SIMP(typ='I',fr= "Number of level",ang= "Number of level",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=20), -), -work_process_ORD=BLOC(condition="(work_process=='ORD')", -weld_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Weld image",ang= "Weld image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -sample_size=SIMP(typ='I',fr= "Sample size",ang= "Sample size",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=40), -orientation_accuracy=SIMP(typ='I',fr= "Orientation accuracy (in degree)",ang= "Orientation accuracy (in degree)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=1), -confidence_level=SIMP(typ='R',fr= "Used to threshold the confidence image",ang= "Used to threshold the confidence image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=2.0), -computation_mode=SIMP(typ='TXM',fr= "Computation mode",ang= "Computation mode",docu= "",statut= "o",into=['domain'],min=1,max=1,val_min='**',val_max='**',defaut='domain'), -level_number=SIMP(typ='I',fr= "Number of level",ang= "Number of level",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=4), -smoothing_level=SIMP(typ='R',fr= "More smoothing means smoother boundaries",ang= "More smoothing means smoother boundaries",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0.0), -), -work_process_ORV=BLOC(condition="(work_process=='ORV')", -weld_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Weld image",ang= "Weld image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -computation_mode=SIMP(typ='TXM',fr= "Computation mode",ang= "Computation mode",docu= "",statut= "o",into=['sample', 'pixel'],min=1,max=1,val_min='**',val_max='**',defaut='sample'), -sample_size=SIMP(typ='I',fr= "Sample size",ang= "Sample size",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=40), -orientation_accuracy=SIMP(typ='I',fr= "Orientation accuracy (in degree)",ang= "Orientation accuracy (in degree)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=1), -confidence_level=SIMP(typ='R',fr= "Used to threshold the confidence image",ang= "Used to threshold the confidence image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=2.0), -streamlines_pitch=SIMP(typ='I',fr= "Number of level",ang= "Number of level",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=20), -), -work_process_ODV=BLOC(condition="(work_process=='ODV')", -weld_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Weld image",ang= "Weld image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -sample_size=SIMP(typ='I',fr= "Sample size",ang= "Sample size",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=40), -orientation_accuracy=SIMP(typ='I',fr= "Orientation accuracy (in degree)",ang= "Orientation accuracy (in degree)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=1), -computation_mode=SIMP(typ='TXM',fr= "Computation mode",ang= "Computation mode",docu= "",statut= "o",into=['domain'],min=1,max=1,val_min='**',val_max='**',defaut='domain'), -level_number=SIMP(typ='I',fr= "Number of level",ang= "Number of level",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=4), -smoothing_level=SIMP(typ='R',fr= "More smoothing means smoother boundaries",ang= "More smoothing means smoother boundaries",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0.0), -streamlines_pitch=SIMP(typ='I',fr= "Number of level",ang= "Number of level",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=20), -), -work_process_RDV=BLOC(condition="(work_process=='RDV')", -orientation_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Orientation image",ang= "Orientation image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -confidence_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Confidence image",ang= "Confidence image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -confidence_level=SIMP(typ='R',fr= "Used to threshold the confidence image",ang= "Used to threshold the confidence image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=2.0), -computation_mode=SIMP(typ='TXM',fr= "Computation mode",ang= "Computation mode",docu= "",statut= "o",into=['domain'],min=1,max=1,val_min='**',val_max='**',defaut='domain'), -level_number=SIMP(typ='I',fr= "Number of level",ang= "Number of level",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=4), -smoothing_level=SIMP(typ='R',fr= "More smoothing means smoother boundaries",ang= "More smoothing means smoother boundaries",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0.0), -streamlines_pitch=SIMP(typ='I',fr= "Number of level",ang= "Number of level",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=20), -), -work_process_ORDV=BLOC(condition="(work_process=='ORDV')", -weld_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Weld image",ang= "Weld image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -sample_size=SIMP(typ='I',fr= "Sample size",ang= "Sample size",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=40), -orientation_accuracy=SIMP(typ='I',fr= "Orientation accuracy (in degree)",ang= "Orientation accuracy (in degree)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=1), -confidence_level=SIMP(typ='R',fr= "Used to threshold the confidence image",ang= "Used to threshold the confidence image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=2.0), -computation_mode=SIMP(typ='TXM',fr= "Computation mode",ang= "Computation mode",docu= "",statut= "o",into=['domain'],min=1,max=1,val_min='**',val_max='**',defaut='domain'), -level_number=SIMP(typ='I',fr= "Number of color levels",ang= "Number of color levels",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=4), -smoothing_level=SIMP(typ='R',fr= "More smoothing means smoother boundaries",ang= "More smoothing means smoother boundaries",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0.0), -streamlines_pitch=SIMP(typ='I',fr= "Number of level",ang= "Number of level",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=20), -), -) -# ====================================================================== -# Catalog entry for the MAP function : c_image_2d_align -# ====================================================================== -C_IMAGE_2D_ALIGN_DATA=PROC(nom='C_IMAGE_2D_ALIGN_DATA',op=None, -UIinfo ={'groupes':('image',)}, -input_directory=SIMP(typ='Repertoire',fr= "directory where the input images are read",ang= "directory where the input images are read",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -essai=SIMP(typ='TXM',fr= "directory where the aligned images are to be written",ang= "directory where the aligned images are to be written",docu= "",statut= "o",into=None,min=4,max=5,val_min='**',val_max='**',defaut=None), -essaiListeInto=SIMP(typ='TXM',fr= "directory where the aligned images are to be written",ang= "directory where the aligned images are to be written",docu= "",statut= "o",min=4,max=5,val_min='**',val_max='**',into=['a','b','c','d']), -essaiListeInto2=SIMP(typ='TXM',fr= "directory where the aligned images are to be written",ang= "directory where the aligned images are to be written",docu= "",statut= "o",min=4,max=5,val_min='**',val_max='**',into=['a','b','c','d'],homo="SansOrdreNiDoublon"), -output_directory=SIMP(typ='Repertoire',fr= "directory where the aligned images are to be written",ang= "directory where the aligned images are to be written",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -shift=SIMP(typ='R',fr= "number of pixel each image is to be shifted from the previous one",ang= "number of pixel each image is to be shifted from the previous one",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -gui=SIMP(typ=bool,fr= "Run the Graphical User Interface if set to True",ang= "Run the Graphical User Interface if set to True",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -ExempleTuple3 = SIMP(statut = 'o',typ = Tuple(3),validators = VerifTypeTuple(('R','R','R')),), -ExempleTuple2 = SIMP(statut = 'o',typ = Tuple(2),validators = VerifTypeTuple(('R','R')),), -) -# ====================================================================== -# Catalog entry for the MAP function : c_image_2d_threshold -# ====================================================================== -C_IMAGE_2D_THRESHOLD_DATA=PROC(nom='C_IMAGE_2D_THRESHOLD_DATA',op=None, -UIinfo ={'groupes':('image',)}, -image_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "input image",ang= "input image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -threshold_level=SIMP(typ='R',fr= "(optional if GUI is used, mandatory otherwise) Threshold level applied to each input image file",ang= "(optional if GUI is used, mandatory otherwise) Threshold level applied to each input image file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=120.0), -gui=SIMP(typ=bool,fr= "Run the Graphical User Interface if set to True",ang= "Run the Graphical User Interface if set to True",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -background_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "background image for GUI preview",ang= "background image for GUI preview",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=''), -output_prefix=SIMP(typ='TXM',fr= "Prefix appended before the output file name",ang= "Prefix appended before the output file name",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=''), -output_suffix=SIMP(typ='TXM',fr= "Suffix appended after the output file name",ang= "Suffix appended after the output file name",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut='_thresholded'), -output_directory=SIMP(typ='Repertoire',fr= "path where each output file is written",ang= "path where each output file is written",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut='.'), -output_format=SIMP(typ='TXM',fr= "output format",ang= "output format",docu= "",statut= "f",into=['png', 'tif', 'csv', 'raw', 'edf'],min=1,max=1,val_min='**',val_max='**',defaut='png'), -) -# ====================================================================== -# Catalog entry for the MAP function : c_solver_stiff_ode_1d -# ====================================================================== -C_SOLVER_STIFF_ODE_1D_DATA=PROC(nom='C_SOLVER_STIFF_ODE_1D_DATA',op=None, -UIinfo ={'groupes':('solver',)}, -study_name=SIMP(typ='TXM',fr= "Describes the name of the study, is used in the metadata of the output, ...",ang= "Describes the name of the study, is used in the metadata of the output, ...",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -csv_output_file_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "Name of the text file where the resulting fields are written at different time steps.",ang= "Name of the text file where the resulting fields are written at different time steps.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -calculation_parameter_names=SIMP(typ='TXM',fr= "Names of the calculation parameters such as the calculation time, number of node, agings conditions ... This list MUST have the same number of parameters as calculation_parameters.",ang= "Names of the calculation parameters such as the calculation time, number of node, agings conditions ... This list MUST have the same number of parameters as calculation_parameters.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -calculation_parameters=SIMP(typ='TXM',fr= "Calculation parameters values. This list MUST have the same number of parameters as calculation_parameter_names.",ang= "Calculation parameters values. This list MUST have the same number of parameters as calculation_parameter_names.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_names=SIMP(typ='TXM',fr= "Names of coefficients which follow Arrhenius law. This list MUST have the same number of parameters as Arrhenius_A and Arrhenius_Ea.",ang= "Names of coefficients which follow Arrhenius law. This list MUST have the same number of parameters as Arrhenius_A and Arrhenius_Ea.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_A=SIMP(typ='TXM',fr= "Arrhenius law pre exponential factors. This list MUST have the same number of parameter as Arrhenius_names and Arrhenius_Ea.",ang= "Arrhenius law pre exponential factors. This list MUST have the same number of parameter as Arrhenius_names and Arrhenius_Ea.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_Ea=SIMP(typ='TXM',fr= "Arrhenius law activation energy. This list MUST have the same number of parameter as Arrhenius_name and Arrhenius_A.",ang= "Arrhenius law activation energy. This list MUST have the same number of parameter as Arrhenius_name and Arrhenius_A.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -non_Arrhenius_coef_names=SIMP(typ='TXM',fr= "Names of coefficients which do not follow Arrhenius law. This list MUST have the same number of parameter as non_Arrhenius_coef.",ang= "Names of coefficients which do not follow Arrhenius law. This list MUST have the same number of parameter as non_Arrhenius_coef.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -non_Arrhenius_coefs=SIMP(typ='TXM',fr= "Non Arrhenius coefficients values. This list MUST have the same number of parameter as Non_Arrhenius_coef_names.",ang= "Non Arrhenius coefficients values. This list MUST have the same number of parameter as Non_Arrhenius_coef_names.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -initial_value_names=SIMP(typ='TXM',fr= "Names of the differential equation unknowns. This list MUST have the same number of parameter as initial_values and equation.",ang= "Names of the differential equation unknowns. This list MUST have the same number of parameter as initial_values and equation.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -initial_values=SIMP(typ='TXM',fr= "Initial value of the differential equation unknow. This list MUST have the same number of parameter as initial_value_names and equation.",ang= "Initial value of the differential equation unknow. This list MUST have the same number of parameter as initial_value_names and equation.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -equation=SIMP(typ='TXM',fr= "Diffential equation system written in a mathematic form. This list MUST have the same number of parameter as initial_value_names and initial_values.",ang= "Diffential equation system written in a mathematic form. This list MUST have the same number of parameter as initial_value_names and initial_values.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_nodes=SIMP(typ='TXM',fr= "List of nodes where boundary conditions are applied.",ang= "List of nodes where boundary conditions are applied.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_types=SIMP(typ='TXM',fr= "List of boundary conditions types.",ang= "List of boundary conditions types.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_parameter=SIMP(typ='TXM',fr= "List of Boundary conditions parameter.",ang= "List of Boundary conditions parameter.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_values=SIMP(typ='TXM',fr= "List of values used to define boundary conditions.",ang= "List of values used to define boundary conditions.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -) -# ====================================================================== -# Catalog entry for the MAP function : c_pre_random_experimental_design -# ====================================================================== -C_PRE_RANDOM_EXPERIMENTAL_DESIGN_DATA=PROC(nom='C_PRE_RANDOM_EXPERIMENTAL_DESIGN_DATA',op=None, -UIinfo ={'groupes':('pre',)}, -random_seed=SIMP(typ='I',fr= "Random seed",ang= "Random seed",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -distributions=SIMP(typ='TXM',fr= "Distribution of each parameter",ang= "Distribution of each parameter",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -dependancy_relationship=SIMP(typ='TXM',fr= "Dependancy relationship for input random parameters",ang= "Dependancy relationship for input random parameters",docu= "",statut= "f",into=['Independent', 'Normal'],min=1,max=1,val_min='**',val_max='**',defaut='Independent'), -corr_matrix_filename=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Correlation matrix filename",ang= "Correlation matrix filename",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -size=SIMP(typ='I',fr= "Size of the experimental design",ang= "Size of the experimental design",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -design_type=SIMP(typ='TXM',fr= "Design type",ang= "Design type",docu= "",statut= "o",into=['MC', 'LHS', 'QMC_Sobol', 'QMC_Halton'],min=1,max=1,val_min='**',val_max='**',defaut=None), -template_file=SIMP(typ='TXM',fr= "Template filename (an empty string means no template)",ang= "Template filename (an empty string means no template)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -csv_output_filename=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "csv_output_filename readable with a text editor",ang= "csv_output_filename readable with a text editor",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -xml_output_filename=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "xml_output_filename readable by OpenTURNS with input distribution information",ang= "xml_output_filename readable by OpenTURNS with input distribution information",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -) -# ====================================================================== -# Catalog entry for the MAP function : c_pre_interface_mesh -# ====================================================================== -C_PRE_INTERFACE_MESH_DATA=PROC(nom='C_PRE_INTERFACE_MESH_DATA',op=None, -UIinfo ={'groupes':('pre',)}, -surface_type=SIMP(typ='TXM',fr= "nature of the input surface, select how it is interpreted by the component",ang= "nature of the input surface, select how it is interpreted by the component",docu= "",statut= "o",into=['rectangle_grid', 'crack_fit'],min=1,max=1,val_min='**',val_max='**',defaut='rectangle_grid'), -surface_type_rectangle_grid=BLOC(condition="(surface_type=='rectangle_grid')", -input_surface_field_csv_file_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Not documented",ang= "Not documented",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_surface_field_csv_metadata_file_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "input surface field metadata file name. Required if the input surface field file is in CSV format, ignored if metadata is contained in the input surface field file.",ang= "input surface field metadata file name. Required if the input surface field file is in CSV format, ignored if metadata is contained in the input surface field file.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_surf=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "pathname of the file where the output BREP surface is generated",ang= "pathname of the file where the output BREP surface is generated",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_mesh=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "pathname of the file where the output MED mesh is generated",ang= "pathname of the file where the output MED mesh is generated",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -surface_type_crack_fit=BLOC(condition="(surface_type=='crack_fit')", -input_surface_field_csv_file_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Not documented",ang= "Not documented",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_surface_field_csv_metadata_file_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "input surface field metadata file name. Required if the input surface field file is in CSV format, ignored if metadata is contained in the input surface field file.",ang= "input surface field metadata file name. Required if the input surface field file is in CSV format, ignored if metadata is contained in the input surface field file.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_surf=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "pathname of the file where the output BREP surface is generated",ang= "pathname of the file where the output BREP surface is generated",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_mesh=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "pathname of the file where the output MED mesh is generated",ang= "pathname of the file where the output MED mesh is generated",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -coeff_polyfit=SIMP(typ='TXM',fr= "tuple coerced to numpy array of shape length 2 (required only if surface_type = crack_fit)",ang= "tuple coerced to numpy array of shape length 2 (required only if surface_type = crack_fit)",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -front_shape=SIMP(typ='TXM',fr= "list of the coefficients of the 1D polynome describing the front shape (required only if surface_type = crack_fit)",ang= "list of the coefficients of the 1D polynome describing the front shape (required only if surface_type = crack_fit)",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -), -) -# ====================================================================== -# Catalog entry for the MAP function : c_post_cobwebplot -# ====================================================================== -C_POST_COBWEBPLOT_DATA=PROC(nom='C_POST_COBWEBPLOT_DATA',op=None, -UIinfo ={'groupes':('pre',)}, -input_ed_file=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Name of the file that content the input experimental design",ang= "Name of the file that content the input experimental design",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_ed_file=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Name of the file that content the output experimental design",ang= "Name of the file that content the output experimental design",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -high_level=SIMP(typ='R',fr= "High quantile of output to highlight, greater than low_level",ang= "High quantile of output to highlight, greater than low_level",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max=1.0,defaut=None), -low_level=SIMP(typ='R',fr= "Low quantile of output to highlight, lower than high_level",ang= "Low quantile of output to highlight, lower than high_level",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max=1.0,defaut=None), -image_file_name_prefix=SIMP(typ='TXM',fr= "Prefix to ouput images file names",ang= "Prefix to ouput images file names",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut='cobWeb-'), -) -# ====================================================================== -# Catalog entry for the MAP function : c_pre_polymer_kinetics_study -# ====================================================================== -C_PRE_POLYMER_KINETICS_STUDY_DATA=PROC(nom='C_PRE_POLYMER_KINETICS_STUDY_DATA',op=None, -UIinfo ={'groupes':('pre',)}, -model=SIMP(typ=bool,fr= "Determines if solver input will be created from a model.",ang= "Determines if solver input will be created from a model.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -applied_post=SIMP(typ=bool,fr= "Determines if a post treatement input will be created.",ang= "Determines if a post treatement input will be created.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -applied_graph=SIMP(typ=bool,fr= "Determines if a graphical treatement input will be created.",ang= "Determines if a graphical treatement input will be created.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -model_True_applied_post_True_applied_graph_True=BLOC(condition="(model==True and applied_post==True and applied_graph==True)", -folder_output=SIMP(typ='TXM',fr= "Name of the forder where output is written.",ang= "Name of the forder where output is written.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -study_name=SIMP(typ='TXM',fr= "Name of the computation.",ang= "Name of the computation.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -model_reference_number=SIMP(typ='I',fr= "Reference number of the model in data-base",ang= "Reference number of the model in data-base",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -csv_output_file_name=SIMP(typ='TXM',fr= "define the output file name.",ang= "define the output file name.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -job=SIMP(typ='TXM',fr= "type of treatement",ang= "type of treatement",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -solver_input_filename=SIMP(typ='TXM',fr= "Name of the input file given to the solver.",ang= "Name of the input file given to the solver.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_solver_stiff_ode_1d.input'), -computation_parameters=SIMP(typ='TXM',fr= "List of computation parameters.",ang= "List of computation parameters.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -computation_parameter_names=SIMP(typ='TXM',fr= "List of computation parameter names",ang= "List of computation parameter names",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -non_Arrhenius_coef_names=SIMP(typ='TXM',fr= "List of parameters which do not follow Arrhenius law.",ang= "List of parameters which do not follow Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -initial_value_names=SIMP(typ='TXM',fr= "List of the equations unkown parameter.",ang= "List of the equations unkown parameter.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -initial_values=SIMP(typ='TXM',fr= "List of the equations unkown initial values.",ang= "List of the equations unkown initial values.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -equation=SIMP(typ='TXM',fr= "List of equations number which is be used in the model.",ang= "List of equations number which is be used in the model.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_nodes=SIMP(typ='TXM',fr= "List of nodes where the boundary conditions will be applied.",ang= "List of nodes where the boundary conditions will be applied.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_parameter=SIMP(typ='TXM',fr= "List of species to whom the boundary conditions will be applied.",ang= "List of species to whom the boundary conditions will be applied.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_types=SIMP(typ='TXM',fr= "List of type of boundary conditions.",ang= "List of type of boundary conditions.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_values=SIMP(typ='TXM',fr= "List of values for the defiend boundary conditions.",ang= "List of values for the defiend boundary conditions.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -data_base=SIMP(typ='TXM',fr= "Name of the data base",ang= "Name of the data base",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -post_equations=SIMP(typ='TXM',fr= "List of post treatment equations.",ang= "List of post treatment equations.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -integrate=SIMP(typ='TXM',fr= "List of boolean which define if the equation have to be intergrated.",ang= "List of boolean which define if the equation have to be intergrated.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -post_treatment_names=SIMP(typ='TXM',fr= "List of post treatment names.",ang= "List of post treatment names.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -constant=SIMP(typ='TXM',fr= "List of cinetic parameter names.",ang= "List of cinetic parameter names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -forced_param=SIMP(typ='TXM',fr= "List of cinetic parameter names with a different value than the one used for the solver computation.",ang= "List of cinetic parameter names with a different value than the one used for the solver computation.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -prerequisite=SIMP(typ='TXM',fr= "List of parameter list which are prerequisite for the post treatement equation.",ang= "List of parameter list which are prerequisite for the post treatement equation.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_names_post=SIMP(typ='TXM',fr= "List of parameter names which follow Arrhenius law.",ang= "List of parameter names which follow Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_A=SIMP(typ='TXM',fr= "List of pre exponetial parameters for Arrhenius law.",ang= "List of pre exponetial parameters for Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_Ea=SIMP(typ='TXM',fr= "List of activation energy parameters for Arrhenius law.",ang= "List of activation energy parameters for Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_names=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_nodes=SIMP(typ='TXM',fr= "List of nodes.",ang= "List of nodes.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_log=SIMP(typ='TXM',fr= "List of boolean.",ang= "List of boolean.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_graphic_name=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_name=SIMP(typ='TXM',fr= "List of experimental data names.",ang= "List of experimental data names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_file=SIMP(typ='TXM',fr= "List of experimental data files.",ang= "List of experimental data files.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_names=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_nodes=SIMP(typ='TXM',fr= "List of nodes.",ang= "List of nodes.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_times=SIMP(typ='TXM',fr= "List of time.",ang= "List of time.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_log=SIMP(typ='TXM',fr= "List of boolean.",ang= "List of boolean.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -), -model_True_applied_post_True_applied_graph_False=BLOC(condition="(model==True and applied_post==True and applied_graph==False)", -folder_output=SIMP(typ='TXM',fr= "Name of the forder where output is written.",ang= "Name of the forder where output is written.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -study_name=SIMP(typ='TXM',fr= "Name of the computation.",ang= "Name of the computation.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -model_reference_number=SIMP(typ='I',fr= "Reference number of the model in data-base",ang= "Reference number of the model in data-base",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -csv_output_file_name=SIMP(typ='TXM',fr= "define the output file name.",ang= "define the output file name.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -job=SIMP(typ='TXM',fr= "type of treatement",ang= "type of treatement",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -solver_input_filename=SIMP(typ='TXM',fr= "Name of the input file given to the solver.",ang= "Name of the input file given to the solver.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_solver_stiff_ode_1d.input'), -computation_parameters=SIMP(typ='TXM',fr= "List of computation parameters.",ang= "List of computation parameters.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -computation_parameter_names=SIMP(typ='TXM',fr= "List of computation parameter names",ang= "List of computation parameter names",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -non_Arrhenius_coef_names=SIMP(typ='TXM',fr= "List of parameters which do not follow Arrhenius law.",ang= "List of parameters which do not follow Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -initial_value_names=SIMP(typ='TXM',fr= "List of the equations unkown parameter.",ang= "List of the equations unkown parameter.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -initial_values=SIMP(typ='TXM',fr= "List of the equations unkown initial values.",ang= "List of the equations unkown initial values.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -equation=SIMP(typ='TXM',fr= "List of equations number which is be used in the model.",ang= "List of equations number which is be used in the model.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_nodes=SIMP(typ='TXM',fr= "List of nodes where the boundary conditions will be applied.",ang= "List of nodes where the boundary conditions will be applied.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_parameter=SIMP(typ='TXM',fr= "List of species to whom the boundary conditions will be applied.",ang= "List of species to whom the boundary conditions will be applied.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_types=SIMP(typ='TXM',fr= "List of type of boundary conditions.",ang= "List of type of boundary conditions.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_values=SIMP(typ='TXM',fr= "List of values for the defiend boundary conditions.",ang= "List of values for the defiend boundary conditions.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -data_base=SIMP(typ='TXM',fr= "Name of the data base",ang= "Name of the data base",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -post_equations=SIMP(typ='TXM',fr= "List of post treatment equations.",ang= "List of post treatment equations.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -integrate=SIMP(typ='TXM',fr= "List of boolean which define if the equation have to be intergrated.",ang= "List of boolean which define if the equation have to be intergrated.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -post_treatment_names=SIMP(typ='TXM',fr= "List of post treatment names.",ang= "List of post treatment names.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -constant=SIMP(typ='TXM',fr= "List of cinetic parameter names.",ang= "List of cinetic parameter names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -forced_param=SIMP(typ='TXM',fr= "List of cinetic parameter names with a different value than the one used for the solver computation.",ang= "List of cinetic parameter names with a different value than the one used for the solver computation.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -prerequisite=SIMP(typ='TXM',fr= "List of parameter list which are prerequisite for the post treatement equation.",ang= "List of parameter list which are prerequisite for the post treatement equation.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_names_post=SIMP(typ='TXM',fr= "List of parameter names which follow Arrhenius law.",ang= "List of parameter names which follow Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_A=SIMP(typ='TXM',fr= "List of pre exponetial parameters for Arrhenius law.",ang= "List of pre exponetial parameters for Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_Ea=SIMP(typ='TXM',fr= "List of activation energy parameters for Arrhenius law.",ang= "List of activation energy parameters for Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -), -model_True_applied_post_False_applied_graph_True=BLOC(condition="(model==True and applied_post==False and applied_graph==True)", -folder_output=SIMP(typ='TXM',fr= "Name of the forder where output is written.",ang= "Name of the forder where output is written.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -study_name=SIMP(typ='TXM',fr= "Name of the computation.",ang= "Name of the computation.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -model_reference_number=SIMP(typ='I',fr= "Reference number of the model in data-base",ang= "Reference number of the model in data-base",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -csv_output_file_name=SIMP(typ='TXM',fr= "define the output file name.",ang= "define the output file name.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -job=SIMP(typ='TXM',fr= "type of treatement",ang= "type of treatement",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -solver_input_filename=SIMP(typ='TXM',fr= "Name of the input file given to the solver.",ang= "Name of the input file given to the solver.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_solver_stiff_ode_1d.input'), -computation_parameters=SIMP(typ='TXM',fr= "List of computation parameters.",ang= "List of computation parameters.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -computation_parameter_names=SIMP(typ='TXM',fr= "List of computation parameter names",ang= "List of computation parameter names",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -non_Arrhenius_coef_names=SIMP(typ='TXM',fr= "List of parameters which do not follow Arrhenius law.",ang= "List of parameters which do not follow Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -initial_value_names=SIMP(typ='TXM',fr= "List of the equations unkown parameter.",ang= "List of the equations unkown parameter.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -initial_values=SIMP(typ='TXM',fr= "List of the equations unkown initial values.",ang= "List of the equations unkown initial values.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -equation=SIMP(typ='TXM',fr= "List of equations number which is be used in the model.",ang= "List of equations number which is be used in the model.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_nodes=SIMP(typ='TXM',fr= "List of nodes where the boundary conditions will be applied.",ang= "List of nodes where the boundary conditions will be applied.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_parameter=SIMP(typ='TXM',fr= "List of species to whom the boundary conditions will be applied.",ang= "List of species to whom the boundary conditions will be applied.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_types=SIMP(typ='TXM',fr= "List of type of boundary conditions.",ang= "List of type of boundary conditions.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_values=SIMP(typ='TXM',fr= "List of values for the defiend boundary conditions.",ang= "List of values for the defiend boundary conditions.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -data_base=SIMP(typ='TXM',fr= "Name of the data base",ang= "Name of the data base",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -graphic_names=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_nodes=SIMP(typ='TXM',fr= "List of nodes.",ang= "List of nodes.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_log=SIMP(typ='TXM',fr= "List of boolean.",ang= "List of boolean.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_graphic_name=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_name=SIMP(typ='TXM',fr= "List of experimental data names.",ang= "List of experimental data names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_file=SIMP(typ='TXM',fr= "List of experimental data files.",ang= "List of experimental data files.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_names=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_nodes=SIMP(typ='TXM',fr= "List of nodes.",ang= "List of nodes.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_times=SIMP(typ='TXM',fr= "List of time.",ang= "List of time.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_log=SIMP(typ='TXM',fr= "List of boolean.",ang= "List of boolean.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -), -model_True_applied_post_False_applied_graph_False=BLOC(condition="(model==True and applied_post==False and applied_graph==False)", -folder_output=SIMP(typ='TXM',fr= "Name of the forder where output is written.",ang= "Name of the forder where output is written.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -study_name=SIMP(typ='TXM',fr= "Name of the computation.",ang= "Name of the computation.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -model_reference_number=SIMP(typ='I',fr= "Reference number of the model in data-base",ang= "Reference number of the model in data-base",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -csv_output_file_name=SIMP(typ='TXM',fr= "define the output file name.",ang= "define the output file name.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -job=SIMP(typ='TXM',fr= "type of treatement",ang= "type of treatement",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -solver_input_filename=SIMP(typ='TXM',fr= "Name of the input file given to the solver.",ang= "Name of the input file given to the solver.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_solver_stiff_ode_1d.input'), -computation_parameters=SIMP(typ='TXM',fr= "List of computation parameters.",ang= "List of computation parameters.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -computation_parameter_names=SIMP(typ='TXM',fr= "List of computation parameter names",ang= "List of computation parameter names",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -non_Arrhenius_coef_names=SIMP(typ='TXM',fr= "List of parameters which do not follow Arrhenius law.",ang= "List of parameters which do not follow Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -initial_value_names=SIMP(typ='TXM',fr= "List of the equations unkown parameter.",ang= "List of the equations unkown parameter.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -initial_values=SIMP(typ='TXM',fr= "List of the equations unkown initial values.",ang= "List of the equations unkown initial values.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -equation=SIMP(typ='TXM',fr= "List of equations number which is be used in the model.",ang= "List of equations number which is be used in the model.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_nodes=SIMP(typ='TXM',fr= "List of nodes where the boundary conditions will be applied.",ang= "List of nodes where the boundary conditions will be applied.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_parameter=SIMP(typ='TXM',fr= "List of species to whom the boundary conditions will be applied.",ang= "List of species to whom the boundary conditions will be applied.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_types=SIMP(typ='TXM',fr= "List of type of boundary conditions.",ang= "List of type of boundary conditions.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_values=SIMP(typ='TXM',fr= "List of values for the defiend boundary conditions.",ang= "List of values for the defiend boundary conditions.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -data_base=SIMP(typ='TXM',fr= "Name of the data base",ang= "Name of the data base",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -model_False_applied_post_True_applied_graph_True=BLOC(condition="(model==False and applied_post==True and applied_graph==True)", -post_equations=SIMP(typ='TXM',fr= "List of post treatment equations.",ang= "List of post treatment equations.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -integrate=SIMP(typ='TXM',fr= "List of boolean which define if the equation have to be intergrated.",ang= "List of boolean which define if the equation have to be intergrated.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -post_treatment_names=SIMP(typ='TXM',fr= "List of post treatment names.",ang= "List of post treatment names.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -constant=SIMP(typ='TXM',fr= "List of cinetic parameter names.",ang= "List of cinetic parameter names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -forced_param=SIMP(typ='TXM',fr= "List of cinetic parameter names with a different value than the one used for the solver computation.",ang= "List of cinetic parameter names with a different value than the one used for the solver computation.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -prerequisite=SIMP(typ='TXM',fr= "List of parameter list which are prerequisite for the post treatement equation.",ang= "List of parameter list which are prerequisite for the post treatement equation.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_names_post=SIMP(typ='TXM',fr= "List of parameter names which follow Arrhenius law.",ang= "List of parameter names which follow Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_A=SIMP(typ='TXM',fr= "List of pre exponetial parameters for Arrhenius law.",ang= "List of pre exponetial parameters for Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_Ea=SIMP(typ='TXM',fr= "List of activation energy parameters for Arrhenius law.",ang= "List of activation energy parameters for Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -folder_output=SIMP(typ='TXM',fr= "Name of the forder where output is written.",ang= "Name of the forder where output is written.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -study_name=SIMP(typ='TXM',fr= "Name of the computation.",ang= "Name of the computation.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -graphic_names=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_nodes=SIMP(typ='TXM',fr= "List of nodes.",ang= "List of nodes.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_log=SIMP(typ='TXM',fr= "List of boolean.",ang= "List of boolean.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_graphic_name=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_name=SIMP(typ='TXM',fr= "List of experimental data names.",ang= "List of experimental data names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_file=SIMP(typ='TXM',fr= "List of experimental data files.",ang= "List of experimental data files.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_names=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_nodes=SIMP(typ='TXM',fr= "List of nodes.",ang= "List of nodes.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_times=SIMP(typ='TXM',fr= "List of time.",ang= "List of time.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_log=SIMP(typ='TXM',fr= "List of boolean.",ang= "List of boolean.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -), -model_False_applied_post_True_applied_graph_False=BLOC(condition="(model==False and applied_post==True and applied_graph==False)", -folder_output=SIMP(typ='TXM',fr= "Name of the forder where output is written.",ang= "Name of the forder where output is written.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -study_name=SIMP(typ='TXM',fr= "Name of the computation.",ang= "Name of the computation.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -model_reference_number=SIMP(typ='I',fr= "Reference number of the model in data-base",ang= "Reference number of the model in data-base",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -csv_output_file_name=SIMP(typ='TXM',fr= "define the output file name.",ang= "define the output file name.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -post_equations=SIMP(typ='TXM',fr= "List of post treatment equations.",ang= "List of post treatment equations.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -integrate=SIMP(typ='TXM',fr= "List of boolean which define if the equation have to be intergrated.",ang= "List of boolean which define if the equation have to be intergrated.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -post_treatment_names=SIMP(typ='TXM',fr= "List of post treatment names.",ang= "List of post treatment names.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -constant=SIMP(typ='TXM',fr= "List of cinetic parameter names.",ang= "List of cinetic parameter names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -forced_param=SIMP(typ='TXM',fr= "List of cinetic parameter names with a different value than the one used for the solver computation.",ang= "List of cinetic parameter names with a different value than the one used for the solver computation.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -prerequisite=SIMP(typ='TXM',fr= "List of parameter list which are prerequisite for the post treatement equation.",ang= "List of parameter list which are prerequisite for the post treatement equation.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_names_post=SIMP(typ='TXM',fr= "List of parameter names which follow Arrhenius law.",ang= "List of parameter names which follow Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_A=SIMP(typ='TXM',fr= "List of pre exponetial parameters for Arrhenius law.",ang= "List of pre exponetial parameters for Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_Ea=SIMP(typ='TXM',fr= "List of activation energy parameters for Arrhenius law.",ang= "List of activation energy parameters for Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -data_base=SIMP(typ='TXM',fr= "Name of the data base",ang= "Name of the data base",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -model_False_applied_post_False_applied_graph_True=BLOC(condition="(model==False and applied_post==False and applied_graph==True)", -folder_output=SIMP(typ='TXM',fr= "Name of the forder where output is written.",ang= "Name of the forder where output is written.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -study_name=SIMP(typ='TXM',fr= "Name of the computation.",ang= "Name of the computation.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -graphic_names=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_nodes=SIMP(typ='TXM',fr= "List of nodes.",ang= "List of nodes.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_log=SIMP(typ='TXM',fr= "List of boolean.",ang= "List of boolean.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_graphic_name=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_name=SIMP(typ='TXM',fr= "List of experimental data names.",ang= "List of experimental data names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_file=SIMP(typ='TXM',fr= "List of experimental data files.",ang= "List of experimental data files.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_names=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_nodes=SIMP(typ='TXM',fr= "List of nodes.",ang= "List of nodes.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_times=SIMP(typ='TXM',fr= "List of time.",ang= "List of time.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_log=SIMP(typ='TXM',fr= "List of boolean.",ang= "List of boolean.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -), -model_False_applied_post_False_applied_graph_False=BLOC(condition="(model==False and applied_post==False and applied_graph==False)", -folder_output=SIMP(typ='TXM',fr= "Name of the forder where output is written.",ang= "Name of the forder where output is written.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -study_name=SIMP(typ='TXM',fr= "Name of the computation.",ang= "Name of the computation.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -graphic_names=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_nodes=SIMP(typ='TXM',fr= "List of nodes.",ang= "List of nodes.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_log=SIMP(typ='TXM',fr= "List of boolean.",ang= "List of boolean.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_graphic_name=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_name=SIMP(typ='TXM',fr= "List of experimental data names.",ang= "List of experimental data names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_file=SIMP(typ='TXM',fr= "List of experimental data files.",ang= "List of experimental data files.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_names=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_nodes=SIMP(typ='TXM',fr= "List of nodes.",ang= "List of nodes.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_times=SIMP(typ='TXM',fr= "List of time.",ang= "List of time.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_log=SIMP(typ='TXM',fr= "List of boolean.",ang= "List of boolean.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -), -) -# ====================================================================== -# Catalog entry for the MAP function : c_image_3d_altitude_thickness -# ====================================================================== -C_IMAGE_3D_ALTITUDE_THICKNESS_DATA=PROC(nom='C_IMAGE_3D_ALTITUDE_THICKNESS_DATA',op=None, -UIinfo ={'groupes':('image',)}, -calculation=SIMP(typ='TXM',fr= "The calculation type",ang= "The calculation type",docu= "",statut= "o",into=['altitude', 'thickness'],min=1,max=1,val_min='**',val_max='**',defaut='altitude'), -calculation_altitude=BLOC(condition="(calculation=='altitude')", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_grid_field_csv=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "CVS formated grid",ang= "CVS formated grid",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_grid_field_csv_metadata=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "CVS formated grid metadata",ang= "CVS formated grid metadata",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_grid_field_pgm=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "PGM file containing the 3d image",ang= "PGM file containing the 3d image",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness=BLOC(condition="(calculation=='thickness')", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_grid_field_csv=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "CVS formated grid",ang= "CVS formated grid",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_grid_field_csv_metadata=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "CVS formated grid metadata",ang= "CVS formated grid metadata",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_grid_field_pgm=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "PGM file containing the 3d image",ang= "PGM file containing the 3d image",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -), -) -# ====================================================================== -# Catalog entry for the MAP function : c_image_2d_inclusion_statistics -# ====================================================================== -C_IMAGE_2D_INCLUSION_STATISTICS_DATA=PROC(nom='C_IMAGE_2D_INCLUSION_STATISTICS_DATA',op=None, -UIinfo ={'groupes':('image',)}, -image_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "pathname of the file of input image",ang= "pathname of the file of input image",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -border_inclusion_option=SIMP(typ='I',fr= "0 : border inclusion area is doubled and their center of mass is set at the boundary, 1 : no special treatment for border inclusion, 2 : border inclusions are discarded",ang= "0 : border inclusion area is doubled and their center of mass is set at the boundary, 1 : no special treatment for border inclusion, 2 : border inclusions are discarded",docu= "",statut= "f",into=[0, 1, 2],min=1,max=1,val_min='**',val_max='**',defaut=0), -output_prefix=SIMP(typ='TXM',fr= "Prefix appended before the output file name",ang= "Prefix appended before the output file name",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=''), -output_suffix=SIMP(typ='TXM',fr= "Suffix appended after the output file name",ang= "Suffix appended after the output file name",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=''), -output_directory=SIMP(typ='Repertoire',fr= "path where each output file is written",ang= "path where each output file is written",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut='refs'), -) -# ====================================================================== -# Catalog entry for the MAP function : c_pre_polymer_data_management -# ====================================================================== -C_PRE_POLYMER_DATA_MANAGEMENT_DATA=PROC(nom='C_PRE_POLYMER_DATA_MANAGEMENT_DATA',op=None, -UIinfo ={'groupes':('pre',)}, -gui=SIMP(typ=bool,fr= "Determines if component dedicated GUI is launched.",ang= "Determines if component dedicated GUI is launched.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -folder_output=SIMP(typ='TXM',fr= "Determines the name of the output folder",ang= "Determines the name of the output folder",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -model=SIMP(typ=bool,fr= "Determines if model if modified.",ang= "Determines if model if modified.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -study_name=SIMP(typ='TXM',fr= "Determines the study name.",ang= "Determines the study name.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -job=SIMP(typ='TXM',fr= "Name of the study ?",ang= "Name of the study ?",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -data_base=SIMP(typ='TXM',fr= "Name of the data base ?",ang= "Name of the data base ?",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -comments=SIMP(typ='TXM',fr= "Comments to precise the nature of the study",ang= "Comments to precise the nature of the study",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -comment=SIMP(typ='TXM',fr= "Comments to precise the nature of the study",ang= "Comments to precise the nature of the study",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -model_reference_number=SIMP(typ='I',fr= "Reference number of the model in data-base",ang= "Reference number of the model in data-base",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -model_name=SIMP(typ='TXM',fr= "Model name.",ang= "Model name.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -solver_input_filename=SIMP(typ='TXM',fr= "Name of the input file given to the solver.",ang= "Name of the input file given to the solver.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_solver_stiff_ode_1d.input'), -applied_post=SIMP(typ=bool,fr= "Determines if a post treatement input will be created.",ang= "Determines if a post treatement input will be created.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -model_num=SIMP(typ='TXM',fr= "Reference number of the post treatement model in data-base.",ang= "Reference number of the post treatement model in data-base.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -doc=SIMP(typ='TXM',fr= "reference document name.",ang= "reference document name.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -post_treatement=SIMP(typ=bool,fr= "Determines if post treatement will be ask.",ang= "Determines if post treatement will be ask.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -chemical_reaction_representation=SIMP(typ='TXM',fr= "Textual representation of chemical reaction.",ang= "Textual representation of chemical reaction.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -backup=SIMP(typ=bool,fr= "Set True if you want to edit data-base into an ASCII text file.",ang= "Set True if you want to edit data-base into an ASCII text file.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -equation_add=SIMP(typ='TXM',fr= "List of equations number which will be add in the model.",ang= "List of equations number which will be add in the model.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -equation_removed=SIMP(typ='TXM',fr= "List of equations number which will be removed from the model.",ang= "List of equations number which will be removed from the model.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -diffusion=SIMP(typ='TXM',fr= "Determines if the diffusion is taken into account by the model.",ang= "Determines if the diffusion is taken into account by the model.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -diffusion_removed=SIMP(typ='TXM',fr= "List of the equations unkown parameter name from which the diffusion ability has been removed form the inital model.",ang= "List of the equations unkown parameter name from which the diffusion ability has been removed form the inital model.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -material_name=SIMP(typ='TXM',fr= "Material simulated by the model.",ang= "Material simulated by the model.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -ageing_type=SIMP(typ='TXM',fr= "Aging type simulated by the model.",ang= "Aging type simulated by the model.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -technical_use=SIMP(typ='TXM',fr= "Determines the technical use for which the model has been developped.",ang= "Determines the technical use for which the model has been developped.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -EDF=SIMP(typ='TXM',fr= "Determines if the model has been developped for EDF.",ang= "Determines if the model has been developped for EDF.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -modification_representation=SIMP(typ='TXM',fr= "Modifed textual representation of chemical reaction.",ang= "Modifed textual representation of chemical reaction.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -reaction_type=SIMP(typ='TXM',fr= "List of reaction type which use this chemical reaction.",ang= "List of reaction type which use this chemical reaction.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -aging_type=SIMP(typ='TXM',fr= "List of aging type which use this chemical reaction.",ang= "List of aging type which use this chemical reaction.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -reactants=SIMP(typ='TXM',fr= "List of chemical reactants used in this chemical reaction.",ang= "List of chemical reactants used in this chemical reaction.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -reactants_add=SIMP(typ='TXM',fr= "List of chemical reactants added in this chemical reaction.",ang= "List of chemical reactants added in this chemical reaction.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -reactants_removed=SIMP(typ='TXM',fr= "List of chemical reactants removed in this chemical reaction.",ang= "List of chemical reactants removed in this chemical reaction.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -solubility_name=SIMP(typ='TXM',fr= "List of the equations unkown parameter name for which the solubility parameter have to be calculated from the aging parameter.",ang= "List of the equations unkown parameter name for which the solubility parameter have to be calculated from the aging parameter.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -solubility=SIMP(typ='TXM',fr= "List of solubility parameter.",ang= "List of solubility parameter.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -evaporation=SIMP(typ='TXM',fr= "Determines if the evaporation is taken into account by the model.",ang= "Determines if the evaporation is taken into account by the model.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -constant_names=SIMP(typ='TXM',fr= "List of cinetic parameter names.",ang= "List of cinetic parameter names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -constant_names_add=SIMP(typ='TXM',fr= "List of cinetic parameter names which will be add.",ang= "List of cinetic parameter names which will be add.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -constant_names_removed=SIMP(typ='TXM',fr= "List of cinetic parameter names which has been removed.",ang= "List of cinetic parameter names which has been removed.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius=SIMP(typ='TXM',fr= "Determines if the cinetic parameter follows Arrhenius law.",ang= "Determines if the cinetic parameter follows Arrhenius law.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -Arrhenius_add=SIMP(typ='TXM',fr= "List of cinetic parameter names which follows the Arrhenius law.",ang= "List of cinetic parameter names which follows the Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -stabilizer=SIMP(typ='TXM',fr= "Determines if the stabilisation is taken into account by the model.",ang= "Determines if the stabilisation is taken into account by the model.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -arrhenius=SIMP(typ='TXM',fr= "Determines if the cinetic parameter follows Arrhenius law.",ang= "Determines if the cinetic parameter follows Arrhenius law.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -non_Arrhenius_coef_names=SIMP(typ='TXM',fr= "List of cinetic parameter names which will be add.",ang= "List of cinetic parameter names which will be add.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -non_Arrhenius_coefs=SIMP(typ='TXM',fr= "List of cinetic parameter which will be add.",ang= "List of cinetic parameter which will be add.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_names=SIMP(typ='TXM',fr= "Determines if the cinetic parameter follows Arrhenius law.",ang= "Determines if the cinetic parameter follows Arrhenius law.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -Arrhenius_A=SIMP(typ='TXM',fr= "Determines if pre exponantial factor.",ang= "Determines if pre exponantial factor.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -Arrhenius_Ea=SIMP(typ='TXM',fr= "Determines if activation energy factor.",ang= "Determines if activation energy factor.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -equation_addition=SIMP(typ='TXM',fr= "new eqaution.",ang= "new eqaution.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -add_equation=SIMP(typ='TXM',fr= "new eqaution.",ang= "new eqaution.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -constituant=SIMP(typ='TXM',fr= "List of post treatment equations parameters names.",ang= "List of post treatment equations parameters names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -name=SIMP(typ='TXM',fr= "post treatment name.",ang= "post treatment name.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -post_equation=SIMP(typ='TXM',fr= "List of post treatment equations.",ang= "List of post treatment equations.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -calculation_results=SIMP(typ='TXM',fr= "List of post treatment equations symbol.",ang= "List of post treatment equations symbol.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -results_units=SIMP(typ='TXM',fr= "List of post treatment equations units.",ang= "List of post treatment equations units.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -remove_equations=SIMP(typ='TXM',fr= "List of post treatment equations which has been removed.",ang= "List of post treatment equations which has been removed.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -remove_calculation_results=SIMP(typ='TXM',fr= "List of post treatment equations symbol which has been removed.",ang= "List of post treatment equations symbol which has been removed.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -remove_results_units=SIMP(typ='TXM',fr= "List of post treatment equations units which has been removed.",ang= "List of post treatment equations units which has been removed.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -integrate=SIMP(typ='TXM',fr= "List of boolean which define if the equation have to be intergrated.",ang= "List of boolean which define if the equation have to be intergrated.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -post_treatment_names=SIMP(typ='TXM',fr= "List of post treatment names.",ang= "List of post treatment names.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -constant=SIMP(typ='TXM',fr= "List of cinetic parameter names.",ang= "List of cinetic parameter names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -forced_param=SIMP(typ='TXM',fr= "List of cinetic parameter names with a different value than the one used for the solver computation.",ang= "List of cinetic parameter names with a different value than the one used for the solver computation.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -prerequisite=SIMP(typ='TXM',fr= "List of parameter list which are prerequisite for the post treatement equation.",ang= "List of parameter list which are prerequisite for the post treatement equation.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -remove_prerequisite=SIMP(typ='TXM',fr= "List of parameter list which are prerequisite for the post treatement equation has been removed.",ang= "List of parameter list which are prerequisite for the post treatement equation has been removed.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -type=SIMP(typ='TXM',fr= "List of type post treatement types.",ang= "List of type post treatement types.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -remove_constituant=SIMP(typ='TXM',fr= "List of post treatment equations parameters names which has been removed.",ang= "List of post treatment equations parameters names which has been removed.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_names_post=SIMP(typ='TXM',fr= "List of parameter names which follow Arrhenius law.",ang= "List of parameter names which follow Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -const_cine_nom=SIMP(typ='TXM',fr= "List of parameter names which not follow Arrhenius law.",ang= "List of parameter names which not follow Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -remove_arrhenius=SIMP(typ='TXM',fr= "List of parameter names which follow Arrhenius law which has been removed.",ang= "List of parameter names which follow Arrhenius law which has been removed.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -remove_const_cine_nom=SIMP(typ='TXM',fr= "List of parameter names which not follow Arrhenius law which has been removed.",ang= "List of parameter names which not follow Arrhenius law which has been removed.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -post_equations=SIMP(typ='TXM',fr= "List of post treatment equations.",ang= "List of post treatment equations.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -) -# ====================================================================== -# Catalog entry for the MAP function : c_post_distribution_properties -# ====================================================================== -C_POST_DISTRIBUTION_PROPERTIES_DATA=PROC(nom='C_POST_DISTRIBUTION_PROPERTIES_DATA',op=None, -UIinfo ={'groupes':('post',)}, -post=SIMP(typ='TXM',fr= "the value must be included into the following list: CDF (Cumulative Density Function), PDF (Probability Density Function), dgb (distance to grain boundary graph : needs a distance_grain_boundary column in the data file), quantification (computes the optimised distribution in a family of distributions and estimates its parameter)",ang= "the value must be included into the following list: CDF (Cumulative Density Function), PDF (Probability Density Function), dgb (distance to grain boundary graph : needs a distance_grain_boundary column in the data file), quantification (computes the optimised distribution in a family of distributions and estimates its parameter)",docu= "",statut= "o",into=['CDF', 'PDF', 'dgb', 'quantification'],min=1,max=1,val_min='**',val_max='**',defaut='PDF'), -post_CDF=BLOC(condition="(post=='CDF')", -variable_name=SIMP(typ='TXM',fr= "must be the name of one of the columns of the csv file whose name is given by input_grid_field_csv_name",ang= "must be the name of one of the columns of the csv file whose name is given by input_grid_field_csv_name",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -interactive=SIMP(typ=bool,fr= "True -> an interactive window appears when graphs are created.False -> no window.name of the output file of the component",ang= "True -> an interactive window appears when graphs are created.False -> no window.name of the output file of the component",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -input_grid_field_csv_file_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "name of the csv format input file (grid_field data read by the component)",ang= "name of the csv format input file (grid_field data read by the component)",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_csv_metadata_file_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "name of the metadata format input file (grid_field data read by the component)",ang= "name of the metadata format input file (grid_field data read by the component)",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_distribution_properties_text_file_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "gives the name of the output file of the component",ang= "gives the name of the output file of the component",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_post_distribution_properties.output.csv'), -output_distribution_properties_png_file_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "gives the name of the output file of the component",ang= "gives the name of the output file of the component",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_post_distribution_properties.output.png'), -), -post_PDF=BLOC(condition="(post=='PDF')", -variable_name=SIMP(typ='TXM',fr= "must be the name of one of the columns of the csv file whose name is given by input_grid_field_csv_name",ang= "must be the name of one of the columns of the csv file whose name is given by input_grid_field_csv_name",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -interactive=SIMP(typ=bool,fr= "True -> an interactive window appears when graphs are created.False -> no window.name of the output file of the component",ang= "True -> an interactive window appears when graphs are created.False -> no window.name of the output file of the component",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -input_grid_field_csv_file_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "name of the csv format input file (grid_field data read by the component)",ang= "name of the csv format input file (grid_field data read by the component)",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_csv_metadata_file_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "name of the metadata format input file (grid_field data read by the component)",ang= "name of the metadata format input file (grid_field data read by the component)",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_distribution_properties_text_file_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "gives the name of the output file of the component",ang= "gives the name of the output file of the component",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_post_distribution_properties.output.csv'), -output_distribution_properties_png_file_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "gives the name of the output file of the component",ang= "gives the name of the output file of the component",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_post_distribution_properties.output.png'), -), -post_dgb=BLOC(condition="(post=='dgb')", -variable_name=SIMP(typ='TXM',fr= "must be the name of one of the columns of the csv file whose name is given by input_grid_field_csv_name",ang= "must be the name of one of the columns of the csv file whose name is given by input_grid_field_csv_name",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -interactive=SIMP(typ=bool,fr= "True -> an interactive window appears when graphs are created.False -> no window.name of the output file of the component",ang= "True -> an interactive window appears when graphs are created.False -> no window.name of the output file of the component",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -input_grid_field_csv_file_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "name of the csv format input file (grid_field data read by the component)",ang= "name of the csv format input file (grid_field data read by the component)",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_csv_metadata_file_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "name of the metadata format input file (grid_field data read by the component)",ang= "name of the metadata format input file (grid_field data read by the component)",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_distribution_properties_text_file_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "gives the name of the output file of the component",ang= "gives the name of the output file of the component",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_post_distribution_properties.output.csv'), -output_distribution_properties_png_file_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "gives the name of the output file of the component",ang= "gives the name of the output file of the component",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_post_distribution_properties.output.png'), -), -post_quantification=BLOC(condition="(post=='quantification')", -variable_name=SIMP(typ='TXM',fr= "must be the name of one of the columns of the csv file whose name is given by input_grid_field_csv_name",ang= "must be the name of one of the columns of the csv file whose name is given by input_grid_field_csv_name",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -interactive=SIMP(typ=bool,fr= "True -> an interactive window appears when graphs are created.False -> no window.name of the output file of the component",ang= "True -> an interactive window appears when graphs are created.False -> no window.name of the output file of the component",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -input_grid_field_csv_file_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "name of the csv format input file (grid_field data read by the component)",ang= "name of the csv format input file (grid_field data read by the component)",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_csv_metadata_file_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "name of the metadata format input file (grid_field data read by the component)",ang= "name of the metadata format input file (grid_field data read by the component)",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_distribution_properties_text_file_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "gives the name of the output file of the component",ang= "gives the name of the output file of the component",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_post_distribution_properties.output.csv'), -output_distribution_properties_png_file_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "gives the name of the output file of the component",ang= "gives the name of the output file of the component",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_post_distribution_properties.output.png'), -quantification_options=SIMP(typ='TXM',fr= "this parameter is optional, it is only read in the case where post=quantification. This parameter is given as an enumeration of strings included into the following enumeration : Normal, Weibull, Lognormal, Gamma, Beta, Exponential, Gumbel, Truncatednormal. If the parameter is missing or empty then it is set by default as: Normal, Weibull, Gamma, Beta.",ang= "this parameter is optional, it is only read in the case where post=quantification. This parameter is given as an enumeration of strings included into the following enumeration : Normal, Weibull, Lognormal, Gamma, Beta, Exponential, Gumbel, Truncatednormal. If the parameter is missing or empty then it is set by default as: Normal, Weibull, Gamma, Beta.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -) -# ====================================================================== -# Catalog entry for the MAP function : c_post_poly_chaos -# ====================================================================== -C_POST_POLY_CHAOS_DATA=PROC(nom='C_POST_POLY_CHAOS_DATA',op=None, -UIinfo ={'groupes':('post',)}, -random_seed=SIMP(typ='I',fr= "Random seed",ang= "Random seed",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_sample=SIMP(typ=('Fichier', 'All Files (*)'),fr= "csv or xml input filename",ang= "csv or xml input filename",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_sample=SIMP(typ=('Fichier', 'All Files (*)'),fr= "csv or xml output filename",ang= "csv or xml output filename",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -distributions=SIMP(typ='TXM',fr= "Distribution of each input parameter",ang= "Distribution of each input parameter",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -polynomial_degree=SIMP(typ='I',fr= "Polynomial degree for PCE",ang= "Polynomial degree for PCE",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -truncature_method=SIMP(typ='R',fr= "Degree of quasi-norm used to retain PCE coefs",ang= "Degree of quasi-norm used to retain PCE coefs",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max=1,defaut=1), -coefficient_computation_method=SIMP(typ='TXM',fr= "Coefficient computation method",ang= "Coefficient computation method",docu= "",statut= "f",into=['LAR', 'OLS'],min=1,max=1,val_min='**',val_max='**',defaut='LAR'), -validation_percentage=SIMP(typ='R',fr= "Input sample percentage used for validation",ang= "Input sample percentage used for validation",docu= "",statut= "o",into=None,min=1,max=1,val_min=5,val_max=50,defaut=None), -validation_graphic=SIMP(typ=bool,fr= "Validation graphics printing",ang= "Validation graphics printing",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -metamodel_sample_size=SIMP(typ='I',fr= "Sample size for metamodel",ang= "Sample size for metamodel",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -csv_metamodel_sample_filename=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "csv metamodel output sample filename",ang= "csv metamodel output sample filename",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -xml_metamodel_sample_filename=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "xml metamodel output sample filename",ang= "xml metamodel output sample filename",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -covariance_filename=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "text file containing covariances",ang= "text file containing covariances",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -pce_validation_filename=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "name of the validation output file",ang= "name of the validation output file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -pce_post_pro_filename=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "name of the postprocessing file",ang= "name of the postprocessing file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -xml_pc_result=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "xml file containing input distributions, experimental design and PC result",ang= "xml file containing input distributions, experimental design and PC result",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -) -# ====================================================================== -# Catalog entry for the MAP function : c_transverse_empty_c -# ====================================================================== -C_TRANSVERSE_EMPTY_C_DATA=PROC(nom='C_TRANSVERSE_EMPTY_C_DATA',op=None, -UIinfo ={'groupes':('transverse',)}, -a_string=SIMP(typ='TXM',fr= "simply print in verbose mode",ang= "simply print in verbose mode",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='Hello world of MAP'), -an_integer=SIMP(typ='I',fr= "number of lines in the output file",ang= "number of lines in the output file",docu= "",statut= "o",into=None,min=1,max=1,val_min=1,val_max=100,defaut=4), -fibo_nb_elements=SIMP(typ='I',fr= "number of values to compute in Fibonnacci sequence",ang= "number of values to compute in Fibonnacci sequence",docu= "",statut= "o",into=None,min=1,max=1,val_min=3,val_max=90,sug=20), -a_float=SIMP(typ='R',fr= "simply print in verbose mode",ang= "simply print in verbose mode",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=5.3), -file_output=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "gives the name of the output file of the component",ang= "gives the name of the output file of the component",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_transverse_empty_c.output'), -) -# ====================================================================== -# Catalog entry for the MAP function : c_post_table_fft -# ====================================================================== -C_POST_TABLE_FFT_DATA=PROC(nom='C_POST_TABLE_FFT_DATA',op=None, -UIinfo ={'groupes':('post',)}, -input_surface_grid_field_csv_file_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "name of a file describing the grid surface with coordinates x,y,z in CSV format.",ang= "name of a file describing the grid surface with coordinates x,y,z in CSV format.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_surface_grid_field_csv_metadata_file_name=SIMP(typ=('Fichier', 'All Files (*)'),fr= "name of the metadata file for input_csv_file_name",ang= "name of the metadata file for input_csv_file_name",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -show_image=SIMP(typ=bool,fr= "if True : an isocontour heights graph of the analyzed surface is produced.",ang= "if True : an isocontour heights graph of the analyzed surface is produced.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -show_spectr=SIMP(typ=bool,fr= "if True : a spectral density graph of the analyzed surface is produced",ang= "if True : a spectral density graph of the analyzed surface is produced",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -interactive=SIMP(typ=bool,fr= "if True, an interactive window appears when graphs are created.",ang= "if True, an interactive window appears when graphs are created.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -output_spectr_x_png_file_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "spectral density graph of the analyzed surface along x",ang= "spectral density graph of the analyzed surface along x",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_spectr_y_png_file_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "spectral density graph of the analyzed surface along y",ang= "spectral density graph of the analyzed surface along y",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_surface_grid_field_png_file_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "Isocontour heights graph of the analyzed surface",ang= "Isocontour heights graph of the analyzed surface",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_surface_properties_file_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "file containing calculated properties of the input surface",ang= "file containing calculated properties of the input surface",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -) -# ====================================================================== -# Catalog entry for the MAP function : c_solver_computation_unit -# ====================================================================== -C_SOLVER_COMPUTATION_UNIT_DATA=PROC(nom='C_SOLVER_COMPUTATION_UNIT_DATA',op=None, -UIinfo ={'groupes':('solver',)}, -computation_script=SIMP(typ=('Fichier', 'All Files (*)'),fr= "A Python script to be run",ang= "A Python script to be run",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -csv_input_data_filename=SIMP(typ=('Fichier', 'All Files (*)'),fr= "A CSV file that contains NxP values",ang= "A CSV file that contains NxP values",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -csv_output_data_filename=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "A CSV file that contains NxS values",ang= "A CSV file that contains NxS values",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -) -# ====================================================================== -# Catalog entry for the MAP function : c_pre_morphology_synthesis_spheres -# ====================================================================== -C_PRE_MORPHOLOGY_SYNTHESIS_SPHERES_DATA=PROC(nom='C_PRE_MORPHOLOGY_SYNTHESIS_SPHERES_DATA',op=None, -UIinfo ={'groupes':('pre',)}, -rve_size=SIMP(typ='R',fr= "size of the RVE.",ang= "size of the RVE.",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -sieve_curve_in=SIMP(typ=('Fichier', 'All Files (*)'),fr= "name of the input sieve curve. This sieve curve is the ideal distribution of inclusions you want to build your volume.",ang= "name of the input sieve curve. This sieve curve is the ideal distribution of inclusions you want to build your volume.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -sieve_curve_out=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "name of the output sieve curve. This output gives an idea of the way the code has been able to respect the wanted sieve curve.",ang= "name of the output sieve curve. This output gives an idea of the way the code has been able to respect the wanted sieve curve.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -repulsion_distance=SIMP(typ='R',fr= "Minimum distance between two inclusions.",ang= "Minimum distance between two inclusions.",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -file_result_inclusions=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "name of the inclusion list output file",ang= "name of the inclusion list output file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -result_log_file=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "gives some more details on the result of the process : rve_size, volume fraction.",ang= "gives some more details on the result of the process : rve_size, volume fraction.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -) -# ====================================================================== -# Catalog entry for the MAP function : c_solver_diffusion_fdvgrid -# ====================================================================== -C_SOLVER_DIFFUSION_FDVGRID_DATA=PROC(nom='C_SOLVER_DIFFUSION_FDVGRID_DATA',op=None, -UIinfo ={'groupes':('solver',)}, -type_source=SIMP(typ='TXM',fr= "format of input image describing local volumic ratio of inclusion per voxel (3d image)",ang= "format of input image describing local volumic ratio of inclusion per voxel (3d image)",docu= "",statut= "o",into=('DAT', 'RAW'),min=1,max=1,val_min='**',val_max='**',defaut=None), -lambda_inclusion=SIMP(typ='R',fr= "conductivity in inclusions",ang= "conductivity in inclusions",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -lambda_matrice=SIMP(typ='R',fr= "conductivity in the matrix",ang= "conductivity in the matrix",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -number_pixel_row_cube=SIMP(typ='I',fr= "number of voxel in a row, all produced images will be NxNxN large",ang= "number of voxel in a row, all produced images will be NxNxN large",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -easy_solve=SIMP(typ='TXM',fr= "Choose the solver !",ang= "Choose the solver !",docu= "",statut= "o",into=('LOW_RAM', 'MATRIX_FREE', 'LOW_CPU', 'MULTIGRID', 'NONE'),min=1,max=1,val_min='**',val_max='**',defaut=None), -input_path=SIMP(typ='Repertoire',fr= "path to the input directory (ex : input/)",ang= "path to the input directory (ex : input/)",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_path=SIMP(typ='Repertoire',fr= "path to the output directory",ang= "path to the output directory",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -ratio_filename_dat=SIMP(typ=('Fichier', 'All Files (*)'),fr= "name of the input file describing the local volumic ratio of inclusion (3d image), ex micro_dis.dat",ang= "name of the input file describing the local volumic ratio of inclusion (3d image), ex micro_dis.dat",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -number_proc_micro=SIMP(typ='I',fr= "number of processus used for computing the 3d image of conductivity starting from the 3d image of local volumic ratio of inclusion in each voxel.",ang= "number of processus used for computing the 3d image of conductivity starting from the 3d image of local volumic ratio of inclusion in each voxel.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=1), -number_proc_solver=SIMP(typ='I',fr= "number of processus used for solving the diffusion problem",ang= "number of processus used for solving the diffusion problem",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=1), -number_proc_post=SIMP(typ='I',fr= "number of processus used for post porcessing",ang= "number of processus used for post porcessing",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=1), -configuration_file=SIMP(typ='TXM',fr= "path and name of the configuration file than the python interface will produce for the various .exe",ang= "path and name of the configuration file than the python interface will produce for the various .exe",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_solver_diffusion_fdvgrid.ini'), -kind_of_run=SIMP(typ='TXM',fr= "this component is runable sequential, parallel or as a PBS_job",ang= "this component is runable sequential, parallel or as a PBS_job",docu= "",statut= "f",into=('sequential', 'parallel', 'PBS_job'),min=1,max=1,val_min='**',val_max='**',defaut='sequential'), -start_run=SIMP(typ=bool,fr= "if yes, the conponent will run. It will only produce a batch script otherwise",ang= "if yes, the conponent will run. It will only produce a batch script otherwise",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -exp_id=SIMP(typ='I',fr= "this will be printed in the name of every produced image",ang= "this will be printed in the name of every produced image",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -petsc_option=SIMP(typ='TXM',fr= "add options for PETSC here",ang= "add options for PETSC here",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=''), -all_stdout_in_file=SIMP(typ=bool,fr= "if yes, all logs, profiling issues and errors will be redirected to a file",ang= "if yes, all logs, profiling issues and errors will be redirected to a file",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -VTK=SIMP(typ=bool,fr= "if yes, some VTK files( 3d images) will be printed",ang= "if yes, some VTK files( 3d images) will be printed",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -number_nodes=SIMP(typ='I',fr= "number of nodes used (cluster)",ang= "number of nodes used (cluster)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -number_proc_per_node=SIMP(typ='I',fr= "number of processors used per node (cluster)",ang= "number of processors used per node (cluster)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -walltime=SIMP(typ='TXM',fr= "if the job did not end by this time, it will be killed by job manager (format 10:00:00 (hms))",ang= "if the job did not end by this time, it will be killed by job manager (format 10:00:00 (hms))",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -memory=SIMP(typ='TXM',fr= "the memory given here must be larger than the needed one (format 32gb",ang= "the memory given here must be larger than the needed one (format 32gb",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -source_environement=SIMP(typ='TXM',fr= "command to load environnement at start of job (ex: source /logiciels/openmpi/profile",ang= "command to load environnement at start of job (ex: source /logiciels/openmpi/profile",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -periodic_X=SIMP(typ=bool,fr= "if yes, periodic boundary conditions will be applied on corresponding x faces",ang= "if yes, periodic boundary conditions will be applied on corresponding x faces",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -periodic_Y=SIMP(typ=bool,fr= "if yes, periodic boundary conditions will be applied on corresponding y faces",ang= "if yes, periodic boundary conditions will be applied on corresponding y faces",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -periodic_Z=SIMP(typ=bool,fr= "if yes, periodic boundary conditions will be applied on corresponding z faces",ang= "if yes, periodic boundary conditions will be applied on corresponding z faces",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -boundary_condition_x_delta_T=SIMP(typ='R',fr= "gap of temperature between corresponding points of faces x_plus and x_minus (periodic BC)",ang= "gap of temperature between corresponding points of faces x_plus and x_minus (periodic BC)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_delta_T=SIMP(typ='R',fr= "gap of temperature between corresponding points of faces y_plus and y_minus (periodic BC)",ang= "gap of temperature between corresponding points of faces y_plus and y_minus (periodic BC)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_delta_T=SIMP(typ='R',fr= "gap of temperature between corresponding points of faces z_plus and z_minus (periodic BC)",ang= "gap of temperature between corresponding points of faces z_plus and z_minus (periodic BC)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the x plus face",ang= "kind of bondary conditions on the x plus face",docu= "",statut= "f",into=('DIRICHLET', 'NEUMANN', 'NEWTON'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_T_center_face=SIMP(typ='R',fr= "temperature at the center of the face",ang= "temperature at the center of the face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_gTy=SIMP(typ='R',fr= "frac(dT)(dy) of the face",ang= "frac(dT)(dy) of the face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_gTz=SIMP(typ='R',fr= "frac(dT)(dz) of the face",ang= "frac(dT)(dz) of the face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_F=SIMP(typ='R',fr= "thermic flux going through this face",ang= "thermic flux going through this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_h=SIMP(typ='R',fr= "heat transfert coefficient",ang= "heat transfert coefficient",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_plus_Text=SIMP(typ='R',fr= "external temperature",ang= "external temperature",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the y minus face",ang= "kind of bondary conditions on the y minus face",docu= "",statut= "f",into=('DIRICHLET', 'NEUMANN', 'NEWTON'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_T_center_face=SIMP(typ='R',fr= "temperature at the center of the face",ang= "temperature at the center of the face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_gTy=SIMP(typ='R',fr= "frac(dT)(dy) of the face",ang= "frac(dT)(dy) of the face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_gTz=SIMP(typ='R',fr= "frac(dT)(dz) of the face",ang= "frac(dT)(dz) of the face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_F=SIMP(typ='R',fr= "thermic flux going through this face",ang= "thermic flux going through this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_h=SIMP(typ='R',fr= "heat transfert coefficient",ang= "heat transfert coefficient",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_x_minus_Text=SIMP(typ='R',fr= "external temperature",ang= "external temperature",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the y plus face",ang= "kind of bondary conditions on the y plus face",docu= "",statut= "f",into=('DIRICHLET', 'NEUMANN', 'NEWTON'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_T_center_face=SIMP(typ='R',fr= "temperature at the center of the face",ang= "temperature at the center of the face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_gTx=SIMP(typ='R',fr= "frac(dT)(dx) of the face",ang= "frac(dT)(dx) of the face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_gTz=SIMP(typ='R',fr= "frac(dT)(dz) of the face",ang= "frac(dT)(dz) of the face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_F=SIMP(typ='R',fr= "thermic flux going through this face",ang= "thermic flux going through this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_h=SIMP(typ='R',fr= "heat transfert coefficient",ang= "heat transfert coefficient",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_plus_Text=SIMP(typ='R',fr= "external temperature",ang= "external temperature",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the y minus face",ang= "kind of bondary conditions on the y minus face",docu= "",statut= "f",into=('DIRICHLET', 'NEUMANN', 'NEWTON'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_T_center_face=SIMP(typ='R',fr= "temperature at the center of the face",ang= "temperature at the center of the face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_gTx=SIMP(typ='R',fr= "frac(dT)(dx) of the face",ang= "frac(dT)(dx) of the face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_gTz=SIMP(typ='R',fr= "frac(dT)(dz) of the face",ang= "frac(dT)(dz) of the face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_F=SIMP(typ='R',fr= "thermic flux going through this face",ang= "thermic flux going through this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_h=SIMP(typ='R',fr= "heat transfert coefficient",ang= "heat transfert coefficient",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_y_minus_Text=SIMP(typ='R',fr= "external temperature",ang= "external temperature",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the z plus face",ang= "kind of bondary conditions on the z plus face",docu= "",statut= "f",into=('DIRICHLET', 'NEUMANN', 'NEWTON'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_T_center_face=SIMP(typ='R',fr= "temperature at the center of the face",ang= "temperature at the center of the face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_gTx=SIMP(typ='R',fr= "frac(dT)(dx) of the face",ang= "frac(dT)(dx) of the face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_gTy=SIMP(typ='R',fr= "frac(dT)(dy) of the face",ang= "frac(dT)(dy) of the face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_F=SIMP(typ='R',fr= "thermic flux going through this face",ang= "thermic flux going through this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_h=SIMP(typ='R',fr= "heat transfert coefficient",ang= "heat transfert coefficient",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_plus_Text=SIMP(typ='R',fr= "external temperature",ang= "external temperature",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_type=SIMP(typ='TXM',fr= "kind of bondary conditions on the z minus face",ang= "kind of bondary conditions on the z minus face",docu= "",statut= "f",into=('DIRICHLET', 'NEUMANN', 'NEWTON'),min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_T_center_face=SIMP(typ='R',fr= "temperature at the center of the face",ang= "temperature at the center of the face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_gTx=SIMP(typ='R',fr= "frac(dT)(dx) of the face",ang= "frac(dT)(dx) of the face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_gTy=SIMP(typ='R',fr= "frac(dT)(dy) of the face",ang= "frac(dT)(dy) of the face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_F=SIMP(typ='R',fr= "thermic flux going through this face",ang= "thermic flux going through this face",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_h=SIMP(typ='R',fr= "heat transfert coefficient",ang= "heat transfert coefficient",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -boundary_condition_z_minus_Text=SIMP(typ='R',fr= "external temperature",ang= "external temperature",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -norm_2_RHS_per_sqrt_pixel=SIMP(typ='R',fr= "norm_2_RHS_per_sqrt(pixel) at start",ang= "norm_2_RHS_per_sqrt(pixel) at start",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -MAP_c_solver_diffusion_fdvgrid_successful=SIMP(typ=bool,fr= "MAP_c_solver_diffusion_fdvgrid_successful",ang= "MAP_c_solver_diffusion_fdvgrid_successful",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -norm_2_residual_per_sqrt_pixel=SIMP(typ='R',fr= "norm_2_residual_per_sqrt(pixel) last",ang= "norm_2_residual_per_sqrt(pixel) last",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -ratio_is=SIMP(typ='R',fr= "ratio between residual and RHS",ang= "ratio between residual and RHS",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -number_of_iteration=SIMP(typ='I',fr= "number_of_iteration",ang= "number_of_iteration",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -time_solver_s=SIMP(typ='R',fr= "time_solver (seconds)",ang= "time_solver (seconds)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -GTx=SIMP(typ='R',fr= "Average of GTx",ang= "Average of GTx",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -GTy=SIMP(typ='R',fr= "Average of GTy",ang= "Average of GTy",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -GTz=SIMP(typ='R',fr= "Average of GTz",ang= "Average of GTz",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -flux_x=SIMP(typ='R',fr= "Average of flux_x",ang= "Average of flux_x",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -flux_y=SIMP(typ='R',fr= "Average of flux_y",ang= "Average of flux_y",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -flux_z=SIMP(typ='R',fr= "Average of flux_z",ang= "Average of flux_z",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -minux_int_TxF=SIMP(typ='R',fr= "Average of minux_int_TxF",ang= "Average of minux_int_TxF",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=0), -) -# ====================================================================== -# Catalog entry for the MAP function : c_solver_homogenisation_mechanics -# ====================================================================== -C_SOLVER_HOMOGENISATION_MECHANICS_DATA=PROC(nom='C_SOLVER_HOMOGENISATION_MECHANICS_DATA',op=None, -UIinfo ={'groupes':('solver',)}, -microstructure_composition_file=SIMP(typ=('Fichier', 'All Files (*)'),fr= "microstructure's description",ang= "microstructure's description",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -phase_input_file=SIMP(typ=('Fichier', 'All Files (*)'),fr= "phases description",ang= "phases description",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -homogenisation_scheme=SIMP(typ='TXM',fr= "homogenisation scheme",ang= "homogenisation scheme",docu= "",statut= "o",into=['Voigt', 'Reuss', 'Self-Consistent', 'Hashin-Shtrikman'],min=1,max=1,val_min='**',val_max='**',defaut=None), -reference_phase_file=SIMP(typ=('Fichier', 'All Files (*)'),fr= "reference phase description",ang= "reference phase description",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -effective_properties_text_output_file=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "computed effective properties",ang= "computed effective properties",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -effective_properties_visualisation_output_file=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "visualisation of effective properties",ang= "visualisation of effective properties",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -) -# ====================================================================== -# Catalog entry for the MAP function : c_pre_morphology_grid_projection -# ====================================================================== -C_PRE_MORPHOLOGY_GRID_PROJECTION_DATA=PROC(nom='C_PRE_MORPHOLOGY_GRID_PROJECTION_DATA',op=None, -UIinfo ={'groupes':('pre',)}, -phase_scan=SIMP(typ=bool,fr= "switch to scan phase at midpoints of cells edges (for FD codes) [default is to evaluate volume fraction in cells (for FEM, FV, FFT codes)]",ang= "switch to scan phase at midpoints of cells edges (for FD codes) [default is to evaluate volume fraction in cells (for FEM, FV, FFT codes)]",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -radius_first=SIMP(typ=bool,fr= "switch to indicate that in f_micro, radius is on the first column [default: radius is on the last column]",ang= "switch to indicate that in f_micro, radius is on the first column [default: radius is on the last column]",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -n_samples=SIMP(typ='TXM',fr= "number of sample points over cell edges (no space around commas) [default: 8,8[,8]]",ang= "number of sample points over cell edges (no space around commas) [default: 8,8[,8]]",docu= "",statut= "n",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -n_cells=SIMP(typ='TXM',fr= "number of cells along each axis of the RVE (no space around commas), example: 64,64,64",ang= "number of cells along each axis of the RVE (no space around commas), example: 64,64,64",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -f_micro=SIMP(typ=('Fichier', 'All Files (*)'),fr= "file describing microstructure (RVE+inclusions)",ang= "file describing microstructure (RVE+inclusions)",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -f_output=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "file to store volume fraction of inclusions for every cell or microstructure phase found at midpoints of cell edges",ang= "file to store volume fraction of inclusions for every cell or microstructure phase found at midpoints of cell edges",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -f_image=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "file to store a (raw) image of the discretized microstructure",ang= "file to store a (raw) image of the discretized microstructure",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -) -# ====================================================================== -# Catalog entry for the MAP function : c_solver_crystal_alloy_behaviour -# ====================================================================== -C_SOLVER_CRYSTAL_ALLOY_BEHAVIOUR_DATA=PROC(nom='C_SOLVER_CRYSTAL_ALLOY_BEHAVIOUR_DATA',op=None, -UIinfo ={'groupes':('solver',)}, -loading_type=SIMP(typ='TXM',fr= "Determines the type of loading",ang= "Determines the type of loading",docu= "",statut= "o",into=['tension', 'creep', 'none'],min=1,max=1,val_min='**',val_max='**',defaut='tension'), -loading_type_tension=BLOC(condition="(loading_type=='tension')", -loading_direction=SIMP(typ='TXM',fr= "Determines the direction of loading",ang= "Determines the direction of loading",docu= "",statut= "o",into=['sensT', 'sensL'],min=1,max=1,val_min='**',val_max='**',defaut='sensT'), -temperature=SIMP(typ='R',fr= "Set experimental temperature",ang= "Set experimental temperature",docu= "",statut= "o",into=None,min=1,max=1,val_min=273.0,val_max=873.0,defaut=673.0), -RX_RV=SIMP(typ='I',fr= "Active or not microstructure evolution",ang= "Active or not microstructure evolution",docu= "",statut= "o",into=[0, 1],min=1,max=1,val_min='**',val_max='**',defaut=0), -recristalisation_fraction=SIMP(typ='R',fr= "Set recristallisation fraction",ang= "Set recristallisation fraction",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max=1.0,defaut=1.0), -D0=SIMP(typ='R',fr= "Set grain size",ang= "Set grain size",docu= "",statut= "o",into=None,min=1,max=1,val_min=1e-06,val_max=2e-05,defaut=5e-06), -omega=SIMP(typ='R',fr= "Set distance effect of dialocation to grain boundary",ang= "Set distance effect of dialocation to grain boundary",docu= "",statut= "o",into=None,min=1,max=1,val_min=1e-06,val_max=2e-05,defaut=1e-06), -nsg=SIMP(typ='I',fr= "Number of active gliding system",ang= "Number of active gliding system",docu= "",statut= "o",into=None,min=1,max=1,val_min=1,val_max=21,defaut=21), -ngr=SIMP(typ='I',fr= "Number of macro-grain",ang= "Number of macro-grain",docu= "",statut= "o",into=None,min=1,max=1,val_min=1,val_max='**',defaut=4), -mechanical_behaviour_file=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Name of input file for mechanical parameters",ang= "Name of input file for mechanical parameters",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='mechanical_behaviour.dat'), -SR0=SIMP(typ='R',fr= "Set applied strain rate number 0",ang= "Set applied strain rate number 0",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=0.0002), -SR1=SIMP(typ='R',fr= "Set applied strain rate number 1",ang= "Set applied strain rate number 1",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=0.002), -SR2=SIMP(typ='R',fr= "Set applied strain rate number 2",ang= "Set applied strain rate number 2",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=2e-05), -SR3=SIMP(typ='R',fr= "Set applied strain rate number 3",ang= "Set applied strain rate number 3",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=0.002), -SR4=SIMP(typ='R',fr= "Set applied strain rate number 4",ang= "Set applied strain rate number 4",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=0.0002), -SR5=SIMP(typ='R',fr= "Set applied strain rate number 5",ang= "Set applied strain rate number 5",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=2e-05), -SR6=SIMP(typ='R',fr= "Set applied strain rate number 6",ang= "Set applied strain rate number 6",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=0.0002), -SR7=SIMP(typ='R',fr= "Set applied strain rate number 7",ang= "Set applied strain rate number 7",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=0.002), -SR8=SIMP(typ='R',fr= "Set applied strain rate number 8",ang= "Set applied strain rate number 8",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=0.0002), -e_saut_1=SIMP(typ='R',fr= "strain jump number 1",ang= "strain jump number 1",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.0244), -e_saut_2=SIMP(typ='R',fr= "strain jump number 2",ang= "strain jump number 2",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.0293), -e_saut_3=SIMP(typ='R',fr= "strain jump number 3",ang= "strain jump number 3",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.0336), -e_saut_4=SIMP(typ='R',fr= "strain jump number 4",ang= "strain jump number 4",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.0384), -e_saut_5=SIMP(typ='R',fr= "strain jump number 5",ang= "strain jump number 5",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.043), -e_saut_6=SIMP(typ='R',fr= "strain jump number 6",ang= "strain jump number 6",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.047), -e_saut_7=SIMP(typ='R',fr= "strain jump number 7",ang= "strain jump number 7",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.0522), -e_saut_8=SIMP(typ='R',fr= "strain jump number 8",ang= "strain jump number 8",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.0566), -strain_output_file=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "Name of output file",ang= "Name of output file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='test_400detT.txt'), -fraction_output_file=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "Name of microstructural output file",ang= "Name of microstructural output file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='Rx_RV.txt'), -jump=SIMP(typ='I',fr= "tensile test test with or without strain rate jumps",ang= "tensile test test with or without strain rate jumps",docu= "",statut= "o",into=[0, 1],min=1,max=1,val_min='**',val_max='**',defaut=0), -), -loading_type_creep=BLOC(condition="(loading_type=='creep')", -loading_direction=SIMP(typ='TXM',fr= "Determines the direction of loading",ang= "Determines the direction of loading",docu= "",statut= "o",into=['sensT', 'sensL'],min=1,max=1,val_min='**',val_max='**',defaut='sensT'), -temperature=SIMP(typ='R',fr= "Set experimental temperature",ang= "Set experimental temperature",docu= "",statut= "o",into=None,min=1,max=1,val_min=273.0,val_max=873.0,defaut=673.0), -RX_RV=SIMP(typ='I',fr= "Active or not microstructure evolution",ang= "Active or not microstructure evolution",docu= "",statut= "o",into=[0, 1],min=1,max=1,val_min='**',val_max='**',defaut=0), -recristalisation_fraction=SIMP(typ='R',fr= "Set recristallisation fraction",ang= "Set recristallisation fraction",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max=1.0,defaut=1.0), -D0=SIMP(typ='R',fr= "Set grain size",ang= "Set grain size",docu= "",statut= "o",into=None,min=1,max=1,val_min=1e-06,val_max=2e-05,defaut=5e-06), -omega=SIMP(typ='R',fr= "Set distance effect of dialocation to grain boundary",ang= "Set distance effect of dialocation to grain boundary",docu= "",statut= "o",into=None,min=1,max=1,val_min=1e-06,val_max=2e-05,defaut=1e-06), -nsg=SIMP(typ='I',fr= "Number of active gliding system",ang= "Number of active gliding system",docu= "",statut= "o",into=None,min=1,max=1,val_min=1,val_max=21,defaut=21), -ngr=SIMP(typ='I',fr= "Number of macro-grain",ang= "Number of macro-grain",docu= "",statut= "o",into=None,min=1,max=1,val_min=1,val_max='**',defaut=4), -mechanical_behaviour_file=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Name of input file for mechanical parameters",ang= "Name of input file for mechanical parameters",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='mechanical_behaviour.dat'), -SR0=SIMP(typ='R',fr= "Set applied strain rate number 0",ang= "Set applied strain rate number 0",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=0.0002), -SR1=SIMP(typ='R',fr= "Set applied strain rate number 1",ang= "Set applied strain rate number 1",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=0.002), -SR2=SIMP(typ='R',fr= "Set applied strain rate number 2",ang= "Set applied strain rate number 2",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=2e-05), -SR3=SIMP(typ='R',fr= "Set applied strain rate number 3",ang= "Set applied strain rate number 3",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=0.002), -SR4=SIMP(typ='R',fr= "Set applied strain rate number 4",ang= "Set applied strain rate number 4",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=0.0002), -SR5=SIMP(typ='R',fr= "Set applied strain rate number 5",ang= "Set applied strain rate number 5",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=2e-05), -SR6=SIMP(typ='R',fr= "Set applied strain rate number 6",ang= "Set applied strain rate number 6",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=0.0002), -SR7=SIMP(typ='R',fr= "Set applied strain rate number 7",ang= "Set applied strain rate number 7",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=0.002), -SR8=SIMP(typ='R',fr= "Set applied strain rate number 8",ang= "Set applied strain rate number 8",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=0.0002), -e_saut_1=SIMP(typ='R',fr= "strain jump number 1",ang= "strain jump number 1",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.0244), -e_saut_2=SIMP(typ='R',fr= "strain jump number 2",ang= "strain jump number 2",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.0293), -e_saut_3=SIMP(typ='R',fr= "strain jump number 3",ang= "strain jump number 3",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.0336), -e_saut_4=SIMP(typ='R',fr= "strain jump number 4",ang= "strain jump number 4",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.0384), -e_saut_5=SIMP(typ='R',fr= "strain jump number 5",ang= "strain jump number 5",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.043), -e_saut_6=SIMP(typ='R',fr= "strain jump number 6",ang= "strain jump number 6",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.047), -e_saut_7=SIMP(typ='R',fr= "strain jump number 7",ang= "strain jump number 7",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.0522), -e_saut_8=SIMP(typ='R',fr= "strain jump number 8",ang= "strain jump number 8",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.0566), -strain_output_file=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "Name of output file",ang= "Name of output file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='test_400detT.txt'), -fraction_output_file=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "Name of microstructural output file",ang= "Name of microstructural output file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='Rx_RV.txt'), -applied_stress=SIMP(typ='R',fr= "Set applied stress",ang= "Set applied stress",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max=250.0,defaut=80.0), -), -loading_type_none=BLOC(condition="(loading_type=='none')", -loading_direction=SIMP(typ='TXM',fr= "Determines the direction of loading",ang= "Determines the direction of loading",docu= "",statut= "o",into=['sensT', 'sensL'],min=1,max=1,val_min='**',val_max='**',defaut='sensT'), -temperature=SIMP(typ='R',fr= "Set experimental temperature",ang= "Set experimental temperature",docu= "",statut= "o",into=None,min=1,max=1,val_min=273.0,val_max=873.0,defaut=673.0), -RX_RV=SIMP(typ='I',fr= "Active or not microstructure evolution",ang= "Active or not microstructure evolution",docu= "",statut= "o",into=[0, 1],min=1,max=1,val_min='**',val_max='**',defaut=0), -recristalisation_fraction=SIMP(typ='R',fr= "Set recristallisation fraction",ang= "Set recristallisation fraction",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max=1.0,defaut=1.0), -D0=SIMP(typ='R',fr= "Set grain size",ang= "Set grain size",docu= "",statut= "o",into=None,min=1,max=1,val_min=1e-06,val_max=2e-05,defaut=5e-06), -omega=SIMP(typ='R',fr= "Set distance effect of dialocation to grain boundary",ang= "Set distance effect of dialocation to grain boundary",docu= "",statut= "o",into=None,min=1,max=1,val_min=1e-06,val_max=2e-05,defaut=1e-06), -nsg=SIMP(typ='I',fr= "Number of active gliding system",ang= "Number of active gliding system",docu= "",statut= "o",into=None,min=1,max=1,val_min=1,val_max=21,defaut=21), -ngr=SIMP(typ='I',fr= "Number of macro-grain",ang= "Number of macro-grain",docu= "",statut= "o",into=None,min=1,max=1,val_min=1,val_max='**',defaut=4), -mechanical_behaviour_file=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Name of input file for mechanical parameters",ang= "Name of input file for mechanical parameters",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='mechanical_behaviour.dat'), -SR0=SIMP(typ='R',fr= "Set applied strain rate number 0",ang= "Set applied strain rate number 0",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=0.0002), -SR1=SIMP(typ='R',fr= "Set applied strain rate number 1",ang= "Set applied strain rate number 1",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=0.002), -SR2=SIMP(typ='R',fr= "Set applied strain rate number 2",ang= "Set applied strain rate number 2",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=2e-05), -SR3=SIMP(typ='R',fr= "Set applied strain rate number 3",ang= "Set applied strain rate number 3",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=0.002), -SR4=SIMP(typ='R',fr= "Set applied strain rate number 4",ang= "Set applied strain rate number 4",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=0.0002), -SR5=SIMP(typ='R',fr= "Set applied strain rate number 5",ang= "Set applied strain rate number 5",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=2e-05), -SR6=SIMP(typ='R',fr= "Set applied strain rate number 6",ang= "Set applied strain rate number 6",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=0.0002), -SR7=SIMP(typ='R',fr= "Set applied strain rate number 7",ang= "Set applied strain rate number 7",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=0.002), -SR8=SIMP(typ='R',fr= "Set applied strain rate number 8",ang= "Set applied strain rate number 8",docu= "",statut= "o",into=None,min=1,max=1,val_min=2e-06,val_max=0.002,defaut=0.0002), -e_saut_1=SIMP(typ='R',fr= "strain jump number 1",ang= "strain jump number 1",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.0244), -e_saut_2=SIMP(typ='R',fr= "strain jump number 2",ang= "strain jump number 2",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.0293), -e_saut_3=SIMP(typ='R',fr= "strain jump number 3",ang= "strain jump number 3",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.0336), -e_saut_4=SIMP(typ='R',fr= "strain jump number 4",ang= "strain jump number 4",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.0384), -e_saut_5=SIMP(typ='R',fr= "strain jump number 5",ang= "strain jump number 5",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.043), -e_saut_6=SIMP(typ='R',fr= "strain jump number 6",ang= "strain jump number 6",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.047), -e_saut_7=SIMP(typ='R',fr= "strain jump number 7",ang= "strain jump number 7",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.0522), -e_saut_8=SIMP(typ='R',fr= "strain jump number 8",ang= "strain jump number 8",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=0.0566), -strain_output_file=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "Name of output file",ang= "Name of output file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='test_400detT.txt'), -fraction_output_file=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "Name of microstructural output file",ang= "Name of microstructural output file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='Rx_RV.txt'), -), -) -# ====================================================================== -# Catalog entry for the MAP function : c_transverse_cadeex2map -# ====================================================================== -C_TRANSVERSE_CADEEX2MAP_DATA=PROC(nom='C_TRANSVERSE_CADEEX2MAP_DATA',op=None, -UIinfo ={'groupes':('transverse',)}, -function=SIMP(typ='TXM',fr= "determines the CADEEX function used, the value is a string that must belong to the following list [connection_test, material] - connection_test : test the connection to CADEEX server - material : get data corresponding to a given material reference",ang= "determines the CADEEX function used, the value is a string that must belong to the following list [connection_test, material] - connection_test : test the connection to CADEEX server - material : get data corresponding to a given material reference",docu= "",statut= "o",into=['connection_test', 'material'],min=1,max=1,val_min='**',val_max='**',defaut=None), -function_connection_test=BLOC(condition="(function=='connection_test')", -CADEEX_machine=SIMP(typ='TXM',fr= "IP adress or name ot the machine where CADEEX server is installed.",ang= "IP adress or name ot the machine where CADEEX server is installed.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut='cadeex.der.edf.fr'), -CADEEX_user=SIMP(typ='TXM',fr= "id in CADEEX data-base (NNI for EDF users). If you don't mention the id, it is automatically computed from your CALIBRE $USER environnement variable.",ang= "id in CADEEX data-base (NNI for EDF users). If you don't mention the id, it is automatically computed from your CALIBRE $USER environnement variable.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_file_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "the file path of the result",ang= "the file path of the result",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -function_material=BLOC(condition="(function=='material')", -CADEEX_machine=SIMP(typ='TXM',fr= "IP adress or name ot the machine where CADEEX server is installed.",ang= "IP adress or name ot the machine where CADEEX server is installed.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut='cadeex.der.edf.fr'), -CADEEX_user=SIMP(typ='TXM',fr= "id in CADEEX data-base (NNI for EDF users). If you don't mention the id, it is automatically computed from your CALIBRE $USER environnement variable.",ang= "id in CADEEX data-base (NNI for EDF users). If you don't mention the id, it is automatically computed from your CALIBRE $USER environnement variable.",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -output_file_name=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "the file path of the result",ang= "the file path of the result",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -reference=SIMP(typ='TXM',fr= "reference name of material in CADEEX",ang= "reference name of material in CADEEX",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -simple=SIMP(typ=bool,fr= "determines in output is simple (i.e. short) or no",ang= "determines in output is simple (i.e. short) or no",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -), -) -# ====================================================================== -# Catalog entry for the MAP function : c_solver_concrete_asr -# ====================================================================== -C_SOLVER_CONCRETE_ASR_DATA=PROC(nom='C_SOLVER_CONCRETE_ASR_DATA',op=None, -UIinfo ={'groupes':('solver',)}, -sieve_curve_input_file=SIMP(typ=('Fichier', 'All Files (*)'),fr= "name of the sieve curve file decribing aggregate classes",ang= "name of the sieve curve file decribing aggregate classes",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -csv_output_filename=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "name of the csv file containing mechanical results",ang= "name of the csv file containing mechanical results",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -matlab_filename=SIMP(typ=('Fichier', 'All Files (*)'),fr= "name of the file with matlab thesis code result for a sake of comparison",ang= "name of the file with matlab thesis code result for a sake of comparison",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -plot_curves=SIMP(typ=bool,fr= "plot detailed evolution of variables with respect to attack depth",ang= "plot detailed evolution of variables with respect to attack depth",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -trace_study=SIMP(typ=bool,fr= "plot detailed evolution of variables with respect to time",ang= "plot detailed evolution of variables with respect to time",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=False), -time_scale=SIMP(typ='R',fr= "conversion from attack depth to time with a square root law",ang= "conversion from attack depth to time with a square root law",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -number_of_time_steps=SIMP(typ='I',fr= "number of numerical time steps: is used to compute the size of the first time step, but then time step adaptation guides the actual number of time steps",ang= "number of numerical time steps: is used to compute the size of the first time step, but then time step adaptation guides the actual number of time steps",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -minimum_step_size=SIMP(typ='R',fr= "minimum step size for the attack depth, as fraction of the smallest aggregate size",ang= "minimum step size for the attack depth, as fraction of the smallest aggregate size",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -initial_attacked_fraction_of_biggest_grain=SIMP(typ='R',fr= "initial fraction of the biggest grains attacked",ang= "initial fraction of the biggest grains attacked",docu= "",statut= "o",into=None,min=1,max=1,val_min=1e-08,val_max='**',defaut=None), -final_attacked_fraction_of_biggest_grain=SIMP(typ='R',fr= "final fraction of biggest grains attacked",ang= "final fraction of biggest grains attacked",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max=1,defaut=None), -ring_young_modulus=SIMP(typ='R',fr= "Young modulus of ring",ang= "Young modulus of ring",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -ring_poisson=SIMP(typ='R',fr= "Poisson ratio of ring",ang= "Poisson ratio of ring",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -sample_radius=SIMP(typ='R',fr= "radius of the sample",ang= "radius of the sample",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -ring_thickness=SIMP(typ='R',fr= "thickness of the ring",ang= "thickness of the ring",docu= "",statut= "o",into=None,min=1,max=1,val_min=1e-20,val_max='**',defaut=None), -imposed_strain=SIMP(typ='TXM',fr= "imposed strain (must be given as a list of float, ex. [0 0 0 0 0 0])",ang= "imposed strain (must be given as a list of float, ex. [0 0 0 0 0 0])",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -imposed_stress=SIMP(typ='TXM',fr= "imposed stress (must be given as a list of float, ex. [0 0 0 0 0 0])",ang= "imposed stress (must be given as a list of float, ex. [0 0 0 0 0 0])",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -directions_of_imposed_stress=SIMP(typ='TXM',fr= "directions of imposed stress (list of 0 and 1, ex. [0 0 0 0 0 0], 0 means this component of the stress is not imposed, 1 means it is.)",ang= "directions of imposed stress (list of 0 and 1, ex. [0 0 0 0 0 0], 0 means this component of the stress is not imposed, 1 means it is.)",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -directions_of_rings=SIMP(typ='TXM',fr= "directions of strain imposed by the ring (must be given as a list of loat, ex. [0 0 0 0 0 0], 0 means there is no ring in this direction, 1 means there is. )",ang= "directions of strain imposed by the ring (must be given as a list of loat, ex. [0 0 0 0 0 0], 0 means there is no ring in this direction, 1 means there is. )",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -symmetry_of_solution=SIMP(typ='I',fr= "imposes the symmetry of the solution : -1 means no symmetry assumed, 0 means all 3 directions behave identically, 1 means axial symmetry around axis 1",ang= "imposes the symmetry of the solution : -1 means no symmetry assumed, 0 means all 3 directions behave identically, 1 means axial symmetry around axis 1",docu= "",statut= "o",into=None,min=1,max=1,val_min=-1,val_max='**',defaut=None), -aggregate_young_modulus=SIMP(typ='R',fr= "Young modulus of aggregates",ang= "Young modulus of aggregates",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -aggregate_poisson=SIMP(typ='R',fr= "Poisson ratio of aggregates",ang= "Poisson ratio of aggregates",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -cement_paste_young_modulus=SIMP(typ='R',fr= "Young modulus of cement paste ",ang= "Young modulus of cement paste ",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -cement_paste_poisson=SIMP(typ='R',fr= "Poisson ratio of cement paste",ang= "Poisson ratio of cement paste",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -itz_porosity=SIMP(typ='R',fr= "porosity of cement paste/aggregate interface",ang= "porosity of cement paste/aggregate interface",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -itz_thickness=SIMP(typ='R',fr= "thickness of cement paste/aggregate interface",ang= "thickness of cement paste/aggregate interface",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -gel_bulk_modulus=SIMP(typ='R',fr= "bulk modulus of asr gel",ang= "bulk modulus of asr gel",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -gel_expansion_factor=SIMP(typ='R',fr= "expansion factor of asr gel",ang= "expansion factor of asr gel",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -decohesion_energy=SIMP(typ='R',fr= "value of the decohesion energy between paste and aggregate",ang= "value of the decohesion energy between paste and aggregate",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -fracture_energy=SIMP(typ='R',fr= "value of the fracture energy in cracks",ang= "value of the fracture energy in cracks",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -crack_aspect_ratio=SIMP(typ='R',fr= "aspect ratio of cracks",ang= "aspect ratio of cracks",docu= "",statut= "o",into=None,min=1,max=1,val_min=0.0,val_max='**',defaut=None), -) -# ====================================================================== -# Catalog entry for the MAP function : s_probabilistic_study -# ====================================================================== -S_PROBABILISTIC_STUDY_DATA=PROC(nom='S_PROBABILISTIC_STUDY_DATA',op=None, -UIinfo ={'groupes':('concrete',)}, -random_seed=SIMP(typ='I',fr= "Random seed",ang= "Random seed",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -#distributions=SIMP(typ='TXM',into=['Independent', 'Normal','hhh','hjk'],fr= "Distribution of each parameter",ang= "Distribution of each parameter",docu= "",statut= "o",min=1,max=6,val_min='**',val_max='**'), -distributions=SIMP(typ='I',into=[1,2,3,4],fr= "Distribution of each parameter",homo="SansOrdreNiDoublon",ang= "Distribution of each parameter",docu= "",statut= "o",min=1,max=6,val_min='**',val_max='**'), -#distributions=SIMP(typ='I',fr= "Distribution of each parameter",ang= "Distribution of each parameter",docu= "",statut= "o",min=3,max=6,val_min='**',val_max='**'), -#distributions=SIMP(typ='TXM',into=['Independent', 'Normal','hhh','hjk'],fr= "Distribution of each parameter",ang= "Distribution of each parameter",docu= "",statut= "o",min=1,max='**',val_min='**',val_max='**'), -dependancy_relationship=SIMP(typ='TXM',fr= "Dependancy relationship for input random parameters",ang= "Dependancy relationship for input random parameters",docu= "",statut= "f",into=['Independent', 'Normal'],min=1,max=1,val_min='**',val_max='**',defaut='Independent'), -corr_matrix_filename=SIMP(typ=('Fichier', 'All Files (*)'),fr= "Correlation matrix filename",ang= "Correlation matrix filename",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -size=SIMP(typ='I',fr= "Size of the experimental design",ang= "Size of the experimental design",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -design_type=SIMP(typ='TXM',fr= "Design type",ang= "Design type",docu= "",statut= "o",into=['MC', 'LHS', 'QMC_Sobol', 'QMC_Halton'],min=1,max=1,val_min='**',val_max='**',defaut=None), -template_file=SIMP(typ='TXM',fr= "Template filename (an empty string means no template)",ang= "Template filename (an empty string means no template)",docu= "",statut= "f",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -csv_output_filename=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "csv_output_filename readable with a text editor",ang= "csv_output_filename readable with a text editor",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -xml_output_filename=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "xml_output_filename readable by OpenTURNS with input distribution information",ang= "xml_output_filename readable by OpenTURNS with input distribution information",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -computation_script=SIMP(typ=('Fichier', 'All Files (*)'),fr= "A Python script to be run",ang= "A Python script to be run",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -csv_output_data_filename=SIMP(typ=('Fichier', 'All Files ()', 'Sauvegarde'),fr= "A CSV file that contains NxS values",ang= "A CSV file that contains NxS values",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -) -# ====================================================================== -# Catalog entry for the MAP function : s_polymers_study -# ====================================================================== -S_POLYMERS_STUDY_DATA=PROC(nom='S_POLYMERS_STUDY_DATA',op=None, -UIinfo ={'groupes':('polymers',)}, -model=SIMP(typ=bool,fr= "Determines if solver input will be created from a model.",ang= "Determines if solver input will be created from a model.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -applied_post=SIMP(typ=bool,fr= "Determines if a post treatement input will be created.",ang= "Determines if a post treatement input will be created.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -applied_graph=SIMP(typ=bool,fr= "Determines if a graphical treatement input will be created.",ang= "Determines if a graphical treatement input will be created.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -model_True_applied_post_True_applied_graph_True=BLOC(condition="(model==True and applied_post==True and applied_graph==True)", -folder_output=SIMP(typ='TXM',fr= "Name of the forder where output is written.",ang= "Name of the forder where output is written.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -study_name=SIMP(typ='TXM',fr= "Name of the computation.",ang= "Name of the computation.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -model_reference_number=SIMP(typ='I',fr= "Reference number of the model in data-base",ang= "Reference number of the model in data-base",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -csv_output_file_name=SIMP(typ='TXM',fr= "define the output file name.",ang= "define the output file name.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -job=SIMP(typ='TXM',fr= "type of treatement",ang= "type of treatement",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -solver_input_filename=SIMP(typ='TXM',fr= "Name of the input file given to the solver.",ang= "Name of the input file given to the solver.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_solver_stiff_ode_1d.input'), -computation_parameters=SIMP(typ='TXM',fr= "List of computation parameters.",ang= "List of computation parameters.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -computation_parameter_names=SIMP(typ='TXM',fr= "List of computation parameter names",ang= "List of computation parameter names",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -non_Arrhenius_coef_names=SIMP(typ='TXM',fr= "List of parameters which do not follow Arrhenius law.",ang= "List of parameters which do not follow Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -initial_value_names=SIMP(typ='TXM',fr= "List of the equations unkown parameter.",ang= "List of the equations unkown parameter.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -initial_values=SIMP(typ='TXM',fr= "List of the equations unkown initial values.",ang= "List of the equations unkown initial values.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -equation=SIMP(typ='TXM',fr= "List of equations number which is be used in the model.",ang= "List of equations number which is be used in the model.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_nodes=SIMP(typ='TXM',fr= "List of nodes where the boundary conditions will be applied.",ang= "List of nodes where the boundary conditions will be applied.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_parameter=SIMP(typ='TXM',fr= "List of species to whom the boundary conditions will be applied.",ang= "List of species to whom the boundary conditions will be applied.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_types=SIMP(typ='TXM',fr= "List of type of boundary conditions.",ang= "List of type of boundary conditions.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_values=SIMP(typ='TXM',fr= "List of values for the defiend boundary conditions.",ang= "List of values for the defiend boundary conditions.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -data_base=SIMP(typ='TXM',fr= "Name of the data base",ang= "Name of the data base",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -post_equations=SIMP(typ='TXM',fr= "List of post treatment equations.",ang= "List of post treatment equations.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -integrate=SIMP(typ='TXM',fr= "List of boolean which define if the equation have to be intergrated.",ang= "List of boolean which define if the equation have to be intergrated.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -post_treatment_names=SIMP(typ='TXM',fr= "List of post treatment names.",ang= "List of post treatment names.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -constant=SIMP(typ='TXM',fr= "List of cinetic parameter names.",ang= "List of cinetic parameter names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -forced_param=SIMP(typ='TXM',fr= "List of cinetic parameter names with a different value than the one used for the solver computation.",ang= "List of cinetic parameter names with a different value than the one used for the solver computation.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -prerequisite=SIMP(typ='TXM',fr= "List of parameter list which are prerequisite for the post treatement equation.",ang= "List of parameter list which are prerequisite for the post treatement equation.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_names_post=SIMP(typ='TXM',fr= "List of parameter names which follow Arrhenius law.",ang= "List of parameter names which follow Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_A=SIMP(typ='TXM',fr= "List of pre exponetial parameters for Arrhenius law.",ang= "List of pre exponetial parameters for Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_Ea=SIMP(typ='TXM',fr= "List of activation energy parameters for Arrhenius law.",ang= "List of activation energy parameters for Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_names=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_nodes=SIMP(typ='TXM',fr= "List of nodes.",ang= "List of nodes.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_log=SIMP(typ='TXM',fr= "List of boolean.",ang= "List of boolean.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_graphic_name=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_name=SIMP(typ='TXM',fr= "List of experimental data names.",ang= "List of experimental data names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_file=SIMP(typ='TXM',fr= "List of experimental data files.",ang= "List of experimental data files.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_names=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_nodes=SIMP(typ='TXM',fr= "List of nodes.",ang= "List of nodes.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_times=SIMP(typ='TXM',fr= "List of time.",ang= "List of time.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_log=SIMP(typ='TXM',fr= "List of boolean.",ang= "List of boolean.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -), -model_True_applied_post_True_applied_graph_False=BLOC(condition="(model==True and applied_post==True and applied_graph==False)", -folder_output=SIMP(typ='TXM',fr= "Name of the forder where output is written.",ang= "Name of the forder where output is written.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -study_name=SIMP(typ='TXM',fr= "Name of the computation.",ang= "Name of the computation.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -model_reference_number=SIMP(typ='I',fr= "Reference number of the model in data-base",ang= "Reference number of the model in data-base",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -csv_output_file_name=SIMP(typ='TXM',fr= "define the output file name.",ang= "define the output file name.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -job=SIMP(typ='TXM',fr= "type of treatement",ang= "type of treatement",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -solver_input_filename=SIMP(typ='TXM',fr= "Name of the input file given to the solver.",ang= "Name of the input file given to the solver.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_solver_stiff_ode_1d.input'), -computation_parameters=SIMP(typ='TXM',fr= "List of computation parameters.",ang= "List of computation parameters.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -computation_parameter_names=SIMP(typ='TXM',fr= "List of computation parameter names",ang= "List of computation parameter names",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -non_Arrhenius_coef_names=SIMP(typ='TXM',fr= "List of parameters which do not follow Arrhenius law.",ang= "List of parameters which do not follow Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -initial_value_names=SIMP(typ='TXM',fr= "List of the equations unkown parameter.",ang= "List of the equations unkown parameter.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -initial_values=SIMP(typ='TXM',fr= "List of the equations unkown initial values.",ang= "List of the equations unkown initial values.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -equation=SIMP(typ='TXM',fr= "List of equations number which is be used in the model.",ang= "List of equations number which is be used in the model.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_nodes=SIMP(typ='TXM',fr= "List of nodes where the boundary conditions will be applied.",ang= "List of nodes where the boundary conditions will be applied.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_parameter=SIMP(typ='TXM',fr= "List of species to whom the boundary conditions will be applied.",ang= "List of species to whom the boundary conditions will be applied.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_types=SIMP(typ='TXM',fr= "List of type of boundary conditions.",ang= "List of type of boundary conditions.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_values=SIMP(typ='TXM',fr= "List of values for the defiend boundary conditions.",ang= "List of values for the defiend boundary conditions.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -data_base=SIMP(typ='TXM',fr= "Name of the data base",ang= "Name of the data base",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -post_equations=SIMP(typ='TXM',fr= "List of post treatment equations.",ang= "List of post treatment equations.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -integrate=SIMP(typ='TXM',fr= "List of boolean which define if the equation have to be intergrated.",ang= "List of boolean which define if the equation have to be intergrated.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -post_treatment_names=SIMP(typ='TXM',fr= "List of post treatment names.",ang= "List of post treatment names.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -constant=SIMP(typ='TXM',fr= "List of cinetic parameter names.",ang= "List of cinetic parameter names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -forced_param=SIMP(typ='TXM',fr= "List of cinetic parameter names with a different value than the one used for the solver computation.",ang= "List of cinetic parameter names with a different value than the one used for the solver computation.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -prerequisite=SIMP(typ='TXM',fr= "List of parameter list which are prerequisite for the post treatement equation.",ang= "List of parameter list which are prerequisite for the post treatement equation.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_names_post=SIMP(typ='TXM',fr= "List of parameter names which follow Arrhenius law.",ang= "List of parameter names which follow Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_A=SIMP(typ='TXM',fr= "List of pre exponetial parameters for Arrhenius law.",ang= "List of pre exponetial parameters for Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_Ea=SIMP(typ='TXM',fr= "List of activation energy parameters for Arrhenius law.",ang= "List of activation energy parameters for Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -), -model_True_applied_post_False_applied_graph_True=BLOC(condition="(model==True and applied_post==False and applied_graph==True)", -folder_output=SIMP(typ='TXM',fr= "Name of the forder where output is written.",ang= "Name of the forder where output is written.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -study_name=SIMP(typ='TXM',fr= "Name of the computation.",ang= "Name of the computation.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -model_reference_number=SIMP(typ='I',fr= "Reference number of the model in data-base",ang= "Reference number of the model in data-base",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -csv_output_file_name=SIMP(typ='TXM',fr= "define the output file name.",ang= "define the output file name.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -job=SIMP(typ='TXM',fr= "type of treatement",ang= "type of treatement",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -solver_input_filename=SIMP(typ='TXM',fr= "Name of the input file given to the solver.",ang= "Name of the input file given to the solver.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_solver_stiff_ode_1d.input'), -computation_parameters=SIMP(typ='TXM',fr= "List of computation parameters.",ang= "List of computation parameters.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -computation_parameter_names=SIMP(typ='TXM',fr= "List of computation parameter names",ang= "List of computation parameter names",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -non_Arrhenius_coef_names=SIMP(typ='TXM',fr= "List of parameters which do not follow Arrhenius law.",ang= "List of parameters which do not follow Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -initial_value_names=SIMP(typ='TXM',fr= "List of the equations unkown parameter.",ang= "List of the equations unkown parameter.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -initial_values=SIMP(typ='TXM',fr= "List of the equations unkown initial values.",ang= "List of the equations unkown initial values.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -equation=SIMP(typ='TXM',fr= "List of equations number which is be used in the model.",ang= "List of equations number which is be used in the model.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_nodes=SIMP(typ='TXM',fr= "List of nodes where the boundary conditions will be applied.",ang= "List of nodes where the boundary conditions will be applied.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_parameter=SIMP(typ='TXM',fr= "List of species to whom the boundary conditions will be applied.",ang= "List of species to whom the boundary conditions will be applied.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_types=SIMP(typ='TXM',fr= "List of type of boundary conditions.",ang= "List of type of boundary conditions.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_values=SIMP(typ='TXM',fr= "List of values for the defiend boundary conditions.",ang= "List of values for the defiend boundary conditions.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -data_base=SIMP(typ='TXM',fr= "Name of the data base",ang= "Name of the data base",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -graphic_names=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_nodes=SIMP(typ='TXM',fr= "List of nodes.",ang= "List of nodes.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_log=SIMP(typ='TXM',fr= "List of boolean.",ang= "List of boolean.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_graphic_name=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_name=SIMP(typ='TXM',fr= "List of experimental data names.",ang= "List of experimental data names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_file=SIMP(typ='TXM',fr= "List of experimental data files.",ang= "List of experimental data files.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_names=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_nodes=SIMP(typ='TXM',fr= "List of nodes.",ang= "List of nodes.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_times=SIMP(typ='TXM',fr= "List of time.",ang= "List of time.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_log=SIMP(typ='TXM',fr= "List of boolean.",ang= "List of boolean.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -), -model_True_applied_post_False_applied_graph_False=BLOC(condition="(model==True and applied_post==False and applied_graph==False)", -folder_output=SIMP(typ='TXM',fr= "Name of the forder where output is written.",ang= "Name of the forder where output is written.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -study_name=SIMP(typ='TXM',fr= "Name of the computation.",ang= "Name of the computation.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -model_reference_number=SIMP(typ='I',fr= "Reference number of the model in data-base",ang= "Reference number of the model in data-base",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -csv_output_file_name=SIMP(typ='TXM',fr= "define the output file name.",ang= "define the output file name.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -job=SIMP(typ='TXM',fr= "type of treatement",ang= "type of treatement",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -solver_input_filename=SIMP(typ='TXM',fr= "Name of the input file given to the solver.",ang= "Name of the input file given to the solver.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut='c_solver_stiff_ode_1d.input'), -computation_parameters=SIMP(typ='TXM',fr= "List of computation parameters.",ang= "List of computation parameters.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -computation_parameter_names=SIMP(typ='TXM',fr= "List of computation parameter names",ang= "List of computation parameter names",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -non_Arrhenius_coef_names=SIMP(typ='TXM',fr= "List of parameters which do not follow Arrhenius law.",ang= "List of parameters which do not follow Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -initial_value_names=SIMP(typ='TXM',fr= "List of the equations unkown parameter.",ang= "List of the equations unkown parameter.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -initial_values=SIMP(typ='TXM',fr= "List of the equations unkown initial values.",ang= "List of the equations unkown initial values.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -equation=SIMP(typ='TXM',fr= "List of equations number which is be used in the model.",ang= "List of equations number which is be used in the model.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_nodes=SIMP(typ='TXM',fr= "List of nodes where the boundary conditions will be applied.",ang= "List of nodes where the boundary conditions will be applied.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_parameter=SIMP(typ='TXM',fr= "List of species to whom the boundary conditions will be applied.",ang= "List of species to whom the boundary conditions will be applied.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_types=SIMP(typ='TXM',fr= "List of type of boundary conditions.",ang= "List of type of boundary conditions.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -boundary_condition_values=SIMP(typ='TXM',fr= "List of values for the defiend boundary conditions.",ang= "List of values for the defiend boundary conditions.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -data_base=SIMP(typ='TXM',fr= "Name of the data base",ang= "Name of the data base",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -model_False_applied_post_True_applied_graph_True=BLOC(condition="(model==False and applied_post==True and applied_graph==True)", -post_equations=SIMP(typ='TXM',fr= "List of post treatment equations.",ang= "List of post treatment equations.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -integrate=SIMP(typ='TXM',fr= "List of boolean which define if the equation have to be intergrated.",ang= "List of boolean which define if the equation have to be intergrated.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -post_treatment_names=SIMP(typ='TXM',fr= "List of post treatment names.",ang= "List of post treatment names.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -constant=SIMP(typ='TXM',fr= "List of cinetic parameter names.",ang= "List of cinetic parameter names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -forced_param=SIMP(typ='TXM',fr= "List of cinetic parameter names with a different value than the one used for the solver computation.",ang= "List of cinetic parameter names with a different value than the one used for the solver computation.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -prerequisite=SIMP(typ='TXM',fr= "List of parameter list which are prerequisite for the post treatement equation.",ang= "List of parameter list which are prerequisite for the post treatement equation.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_names_post=SIMP(typ='TXM',fr= "List of parameter names which follow Arrhenius law.",ang= "List of parameter names which follow Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_A=SIMP(typ='TXM',fr= "List of pre exponetial parameters for Arrhenius law.",ang= "List of pre exponetial parameters for Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_Ea=SIMP(typ='TXM',fr= "List of activation energy parameters for Arrhenius law.",ang= "List of activation energy parameters for Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -folder_output=SIMP(typ='TXM',fr= "Name of the forder where output is written.",ang= "Name of the forder where output is written.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -study_name=SIMP(typ='TXM',fr= "Name of the computation.",ang= "Name of the computation.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -graphic_names=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_nodes=SIMP(typ='TXM',fr= "List of nodes.",ang= "List of nodes.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_log=SIMP(typ='TXM',fr= "List of boolean.",ang= "List of boolean.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_graphic_name=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_name=SIMP(typ='TXM',fr= "List of experimental data names.",ang= "List of experimental data names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_file=SIMP(typ='TXM',fr= "List of experimental data files.",ang= "List of experimental data files.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_names=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_nodes=SIMP(typ='TXM',fr= "List of nodes.",ang= "List of nodes.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_times=SIMP(typ='TXM',fr= "List of time.",ang= "List of time.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_log=SIMP(typ='TXM',fr= "List of boolean.",ang= "List of boolean.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -), -model_False_applied_post_True_applied_graph_False=BLOC(condition="(model==False and applied_post==True and applied_graph==False)", -folder_output=SIMP(typ='TXM',fr= "Name of the forder where output is written.",ang= "Name of the forder where output is written.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -study_name=SIMP(typ='TXM',fr= "Name of the computation.",ang= "Name of the computation.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -model_reference_number=SIMP(typ='I',fr= "Reference number of the model in data-base",ang= "Reference number of the model in data-base",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -csv_output_file_name=SIMP(typ='TXM',fr= "define the output file name.",ang= "define the output file name.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -post_equations=SIMP(typ='TXM',fr= "List of post treatment equations.",ang= "List of post treatment equations.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -integrate=SIMP(typ='TXM',fr= "List of boolean which define if the equation have to be intergrated.",ang= "List of boolean which define if the equation have to be intergrated.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -post_treatment_names=SIMP(typ='TXM',fr= "List of post treatment names.",ang= "List of post treatment names.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -constant=SIMP(typ='TXM',fr= "List of cinetic parameter names.",ang= "List of cinetic parameter names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -forced_param=SIMP(typ='TXM',fr= "List of cinetic parameter names with a different value than the one used for the solver computation.",ang= "List of cinetic parameter names with a different value than the one used for the solver computation.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -prerequisite=SIMP(typ='TXM',fr= "List of parameter list which are prerequisite for the post treatement equation.",ang= "List of parameter list which are prerequisite for the post treatement equation.",docu= "",statut= "o",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_names_post=SIMP(typ='TXM',fr= "List of parameter names which follow Arrhenius law.",ang= "List of parameter names which follow Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_A=SIMP(typ='TXM',fr= "List of pre exponetial parameters for Arrhenius law.",ang= "List of pre exponetial parameters for Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -Arrhenius_Ea=SIMP(typ='TXM',fr= "List of activation energy parameters for Arrhenius law.",ang= "List of activation energy parameters for Arrhenius law.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -data_base=SIMP(typ='TXM',fr= "Name of the data base",ang= "Name of the data base",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -model_False_applied_post_False_applied_graph_True=BLOC(condition="(model==False and applied_post==False and applied_graph==True)", -folder_output=SIMP(typ='TXM',fr= "Name of the forder where output is written.",ang= "Name of the forder where output is written.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -study_name=SIMP(typ='TXM',fr= "Name of the computation.",ang= "Name of the computation.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -graphic_names=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_nodes=SIMP(typ='TXM',fr= "List of nodes.",ang= "List of nodes.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_log=SIMP(typ='TXM',fr= "List of boolean.",ang= "List of boolean.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_graphic_name=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_name=SIMP(typ='TXM',fr= "List of experimental data names.",ang= "List of experimental data names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_file=SIMP(typ='TXM',fr= "List of experimental data files.",ang= "List of experimental data files.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_names=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_nodes=SIMP(typ='TXM',fr= "List of nodes.",ang= "List of nodes.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_times=SIMP(typ='TXM',fr= "List of time.",ang= "List of time.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_log=SIMP(typ='TXM',fr= "List of boolean.",ang= "List of boolean.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -), -model_False_applied_post_False_applied_graph_False=BLOC(condition="(model==False and applied_post==False and applied_graph==False)", -folder_output=SIMP(typ='TXM',fr= "Name of the forder where output is written.",ang= "Name of the forder where output is written.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -study_name=SIMP(typ='TXM',fr= "Name of the computation.",ang= "Name of the computation.",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -graphic_names=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_nodes=SIMP(typ='TXM',fr= "List of nodes.",ang= "List of nodes.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_log=SIMP(typ='TXM',fr= "List of boolean.",ang= "List of boolean.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_graphic_name=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_name=SIMP(typ='TXM',fr= "List of experimental data names.",ang= "List of experimental data names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -experimental_file=SIMP(typ='TXM',fr= "List of experimental data files.",ang= "List of experimental data files.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_names=SIMP(typ='TXM',fr= "List of graphic names.",ang= "List of graphic names.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_nodes=SIMP(typ='TXM',fr= "List of nodes.",ang= "List of nodes.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_times=SIMP(typ='TXM',fr= "List of time.",ang= "List of time.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -graphic_space_log=SIMP(typ='TXM',fr= "List of boolean.",ang= "List of boolean.",docu= "",statut= "f",into=None,min=1,max='**',val_min='**',val_max='**',defaut=None), -), -) -# ====================================================================== -# Catalog entry for the MAP function : s_scc_3d_analysis -# ====================================================================== -S_SCC_3D_ANALYSIS_DATA=PROC(nom='S_SCC_3D_ANALYSIS_DATA',op=None, -UIinfo ={'groupes':('scc',)}, -calculation=SIMP(typ='TXM',fr= "The calculation type",ang= "The calculation type",docu= "",statut= "o",into=['altitude', 'thickness'],min=1,max=1,val_min='**',val_max='**',defaut='altitude'), -surface_type=SIMP(typ='TXM',fr= "nature of the input surface, select how it is interpreted by the component",ang= "nature of the input surface, select how it is interpreted by the component",docu= "",statut= "o",into=['rectangle_grid', 'crack_fit'],min=1,max=1,val_min='**',val_max='**',defaut='rectangle_grid'), -post=SIMP(typ='TXM',fr= "the value must be included into the following list: CDF (Cumulative Density Function), PDF (Probability Density Function), dgb (distance to grain boundary graph : needs a distance_grain_boundary column in the data file), quantification (computes the optimised distribution in a family of distributions and estimates its parameter)",ang= "the value must be included into the following list: CDF (Cumulative Density Function), PDF (Probability Density Function), dgb (distance to grain boundary graph : needs a distance_grain_boundary column in the data file), quantification (computes the optimised distribution in a family of distributions and estimates its parameter)",docu= "",statut= "o",into=['CDF', 'PDF', 'dgb', 'quantification'],min=1,max=1,val_min='**',val_max='**',defaut='PDF'), -statistics=SIMP(typ=bool,fr= "Not documented",ang= "Not documented",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -spectrum_analysis=SIMP(typ=bool,fr= "Not documented",ang= "Not documented",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=True), -calculation_altitude_surface_type_rectangle_grid_post_CDF_statistics_True_spectrum_analysis_True=BLOC(condition="(calculation=='altitude' and surface_type=='rectangle_grid' and post=='CDF' and statistics==True and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_rectangle_grid_post_CDF_statistics_True_spectrum_analysis_False=BLOC(condition="(calculation=='altitude' and surface_type=='rectangle_grid' and post=='CDF' and statistics==True and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_rectangle_grid_post_CDF_statistics_False_spectrum_analysis_True=BLOC(condition="(calculation=='altitude' and surface_type=='rectangle_grid' and post=='CDF' and statistics==False and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_rectangle_grid_post_CDF_statistics_False_spectrum_analysis_False=BLOC(condition="(calculation=='altitude' and surface_type=='rectangle_grid' and post=='CDF' and statistics==False and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_rectangle_grid_post_PDF_statistics_True_spectrum_analysis_True=BLOC(condition="(calculation=='altitude' and surface_type=='rectangle_grid' and post=='PDF' and statistics==True and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_rectangle_grid_post_PDF_statistics_True_spectrum_analysis_False=BLOC(condition="(calculation=='altitude' and surface_type=='rectangle_grid' and post=='PDF' and statistics==True and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_rectangle_grid_post_PDF_statistics_False_spectrum_analysis_True=BLOC(condition="(calculation=='altitude' and surface_type=='rectangle_grid' and post=='PDF' and statistics==False and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_rectangle_grid_post_PDF_statistics_False_spectrum_analysis_False=BLOC(condition="(calculation=='altitude' and surface_type=='rectangle_grid' and post=='PDF' and statistics==False and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_rectangle_grid_post_dgb_statistics_True_spectrum_analysis_True=BLOC(condition="(calculation=='altitude' and surface_type=='rectangle_grid' and post=='dgb' and statistics==True and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_rectangle_grid_post_dgb_statistics_True_spectrum_analysis_False=BLOC(condition="(calculation=='altitude' and surface_type=='rectangle_grid' and post=='dgb' and statistics==True and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_rectangle_grid_post_dgb_statistics_False_spectrum_analysis_True=BLOC(condition="(calculation=='altitude' and surface_type=='rectangle_grid' and post=='dgb' and statistics==False and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_rectangle_grid_post_dgb_statistics_False_spectrum_analysis_False=BLOC(condition="(calculation=='altitude' and surface_type=='rectangle_grid' and post=='dgb' and statistics==False and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_rectangle_grid_post_quantification_statistics_True_spectrum_analysis_True=BLOC(condition="(calculation=='altitude' and surface_type=='rectangle_grid' and post=='quantification' and statistics==True and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_rectangle_grid_post_quantification_statistics_True_spectrum_analysis_False=BLOC(condition="(calculation=='altitude' and surface_type=='rectangle_grid' and post=='quantification' and statistics==True and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_rectangle_grid_post_quantification_statistics_False_spectrum_analysis_True=BLOC(condition="(calculation=='altitude' and surface_type=='rectangle_grid' and post=='quantification' and statistics==False and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_rectangle_grid_post_quantification_statistics_False_spectrum_analysis_False=BLOC(condition="(calculation=='altitude' and surface_type=='rectangle_grid' and post=='quantification' and statistics==False and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_crack_fit_post_CDF_statistics_True_spectrum_analysis_True=BLOC(condition="(calculation=='altitude' and surface_type=='crack_fit' and post=='CDF' and statistics==True and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_crack_fit_post_CDF_statistics_True_spectrum_analysis_False=BLOC(condition="(calculation=='altitude' and surface_type=='crack_fit' and post=='CDF' and statistics==True and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_crack_fit_post_CDF_statistics_False_spectrum_analysis_True=BLOC(condition="(calculation=='altitude' and surface_type=='crack_fit' and post=='CDF' and statistics==False and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_crack_fit_post_CDF_statistics_False_spectrum_analysis_False=BLOC(condition="(calculation=='altitude' and surface_type=='crack_fit' and post=='CDF' and statistics==False and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_crack_fit_post_PDF_statistics_True_spectrum_analysis_True=BLOC(condition="(calculation=='altitude' and surface_type=='crack_fit' and post=='PDF' and statistics==True and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_crack_fit_post_PDF_statistics_True_spectrum_analysis_False=BLOC(condition="(calculation=='altitude' and surface_type=='crack_fit' and post=='PDF' and statistics==True and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_crack_fit_post_PDF_statistics_False_spectrum_analysis_True=BLOC(condition="(calculation=='altitude' and surface_type=='crack_fit' and post=='PDF' and statistics==False and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_crack_fit_post_PDF_statistics_False_spectrum_analysis_False=BLOC(condition="(calculation=='altitude' and surface_type=='crack_fit' and post=='PDF' and statistics==False and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_crack_fit_post_dgb_statistics_True_spectrum_analysis_True=BLOC(condition="(calculation=='altitude' and surface_type=='crack_fit' and post=='dgb' and statistics==True and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_crack_fit_post_dgb_statistics_True_spectrum_analysis_False=BLOC(condition="(calculation=='altitude' and surface_type=='crack_fit' and post=='dgb' and statistics==True and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_crack_fit_post_dgb_statistics_False_spectrum_analysis_True=BLOC(condition="(calculation=='altitude' and surface_type=='crack_fit' and post=='dgb' and statistics==False and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_crack_fit_post_dgb_statistics_False_spectrum_analysis_False=BLOC(condition="(calculation=='altitude' and surface_type=='crack_fit' and post=='dgb' and statistics==False and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_crack_fit_post_quantification_statistics_True_spectrum_analysis_True=BLOC(condition="(calculation=='altitude' and surface_type=='crack_fit' and post=='quantification' and statistics==True and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_crack_fit_post_quantification_statistics_True_spectrum_analysis_False=BLOC(condition="(calculation=='altitude' and surface_type=='crack_fit' and post=='quantification' and statistics==True and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_crack_fit_post_quantification_statistics_False_spectrum_analysis_True=BLOC(condition="(calculation=='altitude' and surface_type=='crack_fit' and post=='quantification' and statistics==False and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_altitude_surface_type_crack_fit_post_quantification_statistics_False_spectrum_analysis_False=BLOC(condition="(calculation=='altitude' and surface_type=='crack_fit' and post=='quantification' and statistics==False and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_rectangle_grid_post_CDF_statistics_True_spectrum_analysis_True=BLOC(condition="(calculation=='thickness' and surface_type=='rectangle_grid' and post=='CDF' and statistics==True and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_rectangle_grid_post_CDF_statistics_True_spectrum_analysis_False=BLOC(condition="(calculation=='thickness' and surface_type=='rectangle_grid' and post=='CDF' and statistics==True and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_rectangle_grid_post_CDF_statistics_False_spectrum_analysis_True=BLOC(condition="(calculation=='thickness' and surface_type=='rectangle_grid' and post=='CDF' and statistics==False and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_rectangle_grid_post_CDF_statistics_False_spectrum_analysis_False=BLOC(condition="(calculation=='thickness' and surface_type=='rectangle_grid' and post=='CDF' and statistics==False and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_rectangle_grid_post_PDF_statistics_True_spectrum_analysis_True=BLOC(condition="(calculation=='thickness' and surface_type=='rectangle_grid' and post=='PDF' and statistics==True and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_rectangle_grid_post_PDF_statistics_True_spectrum_analysis_False=BLOC(condition="(calculation=='thickness' and surface_type=='rectangle_grid' and post=='PDF' and statistics==True and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_rectangle_grid_post_PDF_statistics_False_spectrum_analysis_True=BLOC(condition="(calculation=='thickness' and surface_type=='rectangle_grid' and post=='PDF' and statistics==False and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_rectangle_grid_post_PDF_statistics_False_spectrum_analysis_False=BLOC(condition="(calculation=='thickness' and surface_type=='rectangle_grid' and post=='PDF' and statistics==False and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_rectangle_grid_post_dgb_statistics_True_spectrum_analysis_True=BLOC(condition="(calculation=='thickness' and surface_type=='rectangle_grid' and post=='dgb' and statistics==True and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_rectangle_grid_post_dgb_statistics_True_spectrum_analysis_False=BLOC(condition="(calculation=='thickness' and surface_type=='rectangle_grid' and post=='dgb' and statistics==True and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_rectangle_grid_post_dgb_statistics_False_spectrum_analysis_True=BLOC(condition="(calculation=='thickness' and surface_type=='rectangle_grid' and post=='dgb' and statistics==False and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_rectangle_grid_post_dgb_statistics_False_spectrum_analysis_False=BLOC(condition="(calculation=='thickness' and surface_type=='rectangle_grid' and post=='dgb' and statistics==False and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_rectangle_grid_post_quantification_statistics_True_spectrum_analysis_True=BLOC(condition="(calculation=='thickness' and surface_type=='rectangle_grid' and post=='quantification' and statistics==True and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_rectangle_grid_post_quantification_statistics_True_spectrum_analysis_False=BLOC(condition="(calculation=='thickness' and surface_type=='rectangle_grid' and post=='quantification' and statistics==True and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_rectangle_grid_post_quantification_statistics_False_spectrum_analysis_True=BLOC(condition="(calculation=='thickness' and surface_type=='rectangle_grid' and post=='quantification' and statistics==False and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_rectangle_grid_post_quantification_statistics_False_spectrum_analysis_False=BLOC(condition="(calculation=='thickness' and surface_type=='rectangle_grid' and post=='quantification' and statistics==False and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_crack_fit_post_CDF_statistics_True_spectrum_analysis_True=BLOC(condition="(calculation=='thickness' and surface_type=='crack_fit' and post=='CDF' and statistics==True and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_crack_fit_post_CDF_statistics_True_spectrum_analysis_False=BLOC(condition="(calculation=='thickness' and surface_type=='crack_fit' and post=='CDF' and statistics==True and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_crack_fit_post_CDF_statistics_False_spectrum_analysis_True=BLOC(condition="(calculation=='thickness' and surface_type=='crack_fit' and post=='CDF' and statistics==False and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_crack_fit_post_CDF_statistics_False_spectrum_analysis_False=BLOC(condition="(calculation=='thickness' and surface_type=='crack_fit' and post=='CDF' and statistics==False and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_crack_fit_post_PDF_statistics_True_spectrum_analysis_True=BLOC(condition="(calculation=='thickness' and surface_type=='crack_fit' and post=='PDF' and statistics==True and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_crack_fit_post_PDF_statistics_True_spectrum_analysis_False=BLOC(condition="(calculation=='thickness' and surface_type=='crack_fit' and post=='PDF' and statistics==True and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_crack_fit_post_PDF_statistics_False_spectrum_analysis_True=BLOC(condition="(calculation=='thickness' and surface_type=='crack_fit' and post=='PDF' and statistics==False and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_crack_fit_post_PDF_statistics_False_spectrum_analysis_False=BLOC(condition="(calculation=='thickness' and surface_type=='crack_fit' and post=='PDF' and statistics==False and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_crack_fit_post_dgb_statistics_True_spectrum_analysis_True=BLOC(condition="(calculation=='thickness' and surface_type=='crack_fit' and post=='dgb' and statistics==True and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_crack_fit_post_dgb_statistics_True_spectrum_analysis_False=BLOC(condition="(calculation=='thickness' and surface_type=='crack_fit' and post=='dgb' and statistics==True and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_crack_fit_post_dgb_statistics_False_spectrum_analysis_True=BLOC(condition="(calculation=='thickness' and surface_type=='crack_fit' and post=='dgb' and statistics==False and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_crack_fit_post_dgb_statistics_False_spectrum_analysis_False=BLOC(condition="(calculation=='thickness' and surface_type=='crack_fit' and post=='dgb' and statistics==False and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_crack_fit_post_quantification_statistics_True_spectrum_analysis_True=BLOC(condition="(calculation=='thickness' and surface_type=='crack_fit' and post=='quantification' and statistics==True and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_crack_fit_post_quantification_statistics_True_spectrum_analysis_False=BLOC(condition="(calculation=='thickness' and surface_type=='crack_fit' and post=='quantification' and statistics==True and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_crack_fit_post_quantification_statistics_False_spectrum_analysis_True=BLOC(condition="(calculation=='thickness' and surface_type=='crack_fit' and post=='quantification' and statistics==False and spectrum_analysis==True)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -calculation_thickness_surface_type_crack_fit_post_quantification_statistics_False_spectrum_analysis_False=BLOC(condition="(calculation=='thickness' and surface_type=='crack_fit' and post=='quantification' and statistics==False and spectrum_analysis==False)", -direction=SIMP(typ='I',fr= "The direction type",ang= "The direction type",docu= "",statut= "o",into=[1, -1, 2, -2, 3, -3],min=1,max=1,val_min='**',val_max='**',defaut=1), -alt_min=SIMP(typ='I',fr= "The minimum altitude",ang= "The minimum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -alt_max=SIMP(typ='I',fr= "The maximum altitude",ang= "The maximum altitude",docu= "",statut= "f",into=None,min=1,max=1,val_min=0,val_max='**',defaut=None), -input_grid_field_raw=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field data file",ang= "field data file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -input_grid_field_raw_metadata=SIMP(typ=('Fichier', 'All Files (*)'),fr= "field metadata file",ang= "field metadata file",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -nb_segments=SIMP(typ='I',fr= "number of 1D segments for each elementary face of the surface in the resulting mesh",ang= "number of 1D segments for each elementary face of the surface in the resulting mesh",docu= "",statut= "o",into=None,min=1,max=1,val_min='**',val_max='**',defaut=None), -), -) - -# This text should be dump into a file named 'map_cata.py' to be -# copied in the eficas directory $EFICAS_ROOT/MAP/. -# Then run 'qtEficas_map.py -s maquettemap'. The key name -# maquettemap is the name defined in prefs_MAP.py diff --git a/MAP/prefs.py b/MAP/prefs.py deleted file mode 100644 index 549c9696..00000000 --- a/MAP/prefs.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (C) 2007-2013 EDF R&D -# -# 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. -# -# 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 -# -code='MAP' -import sys, os -if os.path.dirname(os.path.abspath(__file__)) not in sys.path : - sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/MAP/prefs_MAP.py b/MAP/prefs_MAP.py deleted file mode 100644 index f134bd1d..00000000 --- a/MAP/prefs_MAP.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# 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. -# -# 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 -# - -import os, sys -# Les variables pouvant positionnees sont : -#print "import des prefs de MAP" - -# repIni sert a localiser le fichier -# initialdir sert comme directory initial des QFileDialog -# positionnee a repin au debut mise a jour dans configuration -repIni=os.path.dirname(os.path.abspath(__file__)) -INSTALLDIR=os.path.join(repIni,'..') - - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -# lang indique la langue utilisee pour les chaines d'aide : fr ou ang -lang='fr' -encoding='iso-8859-1' - -# Acces a la documentation -path_doc = os.path.join(repIni,'Doc') -exec_acrobat = "/usr/bin/xpdf" -savedir = os.environ['HOME'] -affiche = "groupe" -taille = 1400 - -rep_cata=os.path.dirname(os.path.abspath(__file__)) - -catalogues=( -# ('MAP','Solver',os.path.join(rep_cata,'cata_solver1.py'),'solver1'), -# ('MAP','Test',os.path.join(rep_cata,'cata_s_test03.py'),'s_test03'), -# ('MAP','Exemple python',os.path.join(rep_cata,'cata_c_transverse_empty_python.py'),'c_transverse_empty_python'), -# ('MAP','Image 3D',os.path.join(rep_cata,'cata_c_image_3d_altitude_thickness.py'),'c_image_3d_altitude_thickness'), -# ('MAP','Table FFT',os.path.join(rep_cata,'cata_c_post_table_fft.py'), 'c_post_table_fft'), -# ('MAP','PRE Mesh',os.path.join(rep_cata,'cata_c_pre_interface_mesh.py'), 'c_pre_interface_mesh'), -# ('MAP','Analyse 3D',os.path.join(rep_cata,'cata_s_scc_3d_analysis.py'), 's_scc_3d_analysis'), - ('MAP','Map',os.path.join(rep_cata,'mapcata.py'), 'essai'), -) - -closeAutreCommande = True -closeFrameRechercheCommande = True - diff --git a/MAP/properties.py b/MAP/properties.py deleted file mode 100644 index ce5f1a2e..00000000 --- a/MAP/properties.py +++ /dev/null @@ -1,24 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# RESPONSABLE D6BHHHH J-P.LEFEBVRE -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR -# DE LA VERSION DU CODE_ASTER ASSOCIE -#---------------------------------------------------------------------- -version = "7.1.0" -date = "23/04/2003" diff --git a/MAP/style.py b/MAP/style.py deleted file mode 100644 index d5961788..00000000 --- a/MAP/style.py +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright (C) 2007-2013 EDF R&D -# -# 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. -# -# 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 -# -# Necessaire pour compatibilite avec Aster diff --git a/MED/CataAZ.py b/MED/CataAZ.py deleted file mode 100755 index b6e6494e..00000000 --- a/MED/CataAZ.py +++ /dev/null @@ -1,210 +0,0 @@ -# coding: utf-8 -import types -from Accas import * - -class grno(GEOM): - """ - Classe servant à définir le nom d'un groupe de noeuds dans le fichier de commande - En clair : un chaine de longueur 24. - """ - def __convert__(cls,valeur): - """ - Fonction de verification de la longueur de la chaine - """ - if isinstance(valeur, (str,unicode)) and len(valeur.strip()) <= 24: - return valeur.strip() - raise ValueError(_(u'On attend une chaine de caractères (de longueur <= 24).')) - __convert__ = classmethod(__convert__) - -class grma(GEOM): - """ - Classe servant à définir le nom d'un groupe de mailles dans le fichier de commande - En clair : un chaine de longueur 24. - """ - def __convert__(cls,valeur): - """ - Fonction de verification de la longueur de la chaine - """ - if isinstance(valeur, (str,unicode)) and len(valeur.strip()) <= 24: - return valeur.strip() - raise ValueError(_(u'On attend une chaine de caractères (de longueur <= 24).')) - __convert__ = classmethod(__convert__) - - -class Tuple: - def __init__(self,ntuple): - self.ntuple=ntuple - - def __convert__(self,valeur): - if type(valeur) == types.StringType: return None - if len(valeur) != self.ntuple: return None - return valeur - - def info(self): - return "Tuple de %s elements" % self.ntuple - - __repr__=info - __str__=info - -class ObjetUtilisateur(ASSD): pass - - -JdC = JDC_CATA(code='PATTERNS', - execmodul=None, - ) - - -EXAMPLE = PROC (nom = 'EXAMPLE', - op=None, - - TITRE = SIMP(statut ='o', typ = 'TXM', defaut = 'Mon Etude',), - TITRE2 = SIMP(statut ='f', typ = 'TXM', ), -) -CREEOBJET = OPER (nom="CREEOBJET", - op=None, - sd_prod=ObjetUtilisateur, - UIinfo={"groupes":("Group1",)}, - - TITLE = SIMP(statut ='o', typ = 'TXM', defaut = '',), - RB1 = SIMP(statut ='o', typ = 'I', into = [1,2,3],), - RB2 = SIMP(statut ='o', typ = 'I', into = [1,2,3,4,5,6,],), - CB = SIMP(statut ='o', typ = 'I', into = [1,2,3,4,5,6,7,8,9],), - MBool = SIMP(statut ='o', typ = bool,), - MFile = SIMP(statut ='o', typ = ('Fichier','All Files (*)')), - MDir = SIMP(statut ='o', typ = 'Repertoire'), - Reel1 = SIMP(statut ='o', typ = 'R'), - Compl = SIMP(statut ='o', typ = 'C'), - Tuple2 = SIMP(statut ='o', typ = Tuple(2), validators=VerifTypeTuple(('R','R'))), - Tuple3 = SIMP(statut ='o', typ = Tuple(3), validators=VerifTypeTuple(('R','R','R'))), - InSalome = SIMP(statut ='o', typ = SalomeEntry), - - LTITLE = SIMP(statut ='o', typ = 'TXM', max='**', defaut = '',), - LRB2 = SIMP(statut ='o', typ = 'I', max = '**', into = [1,2,3,4,5,6,],), - LCB = SIMP(statut ='o', typ = 'I', max = '**', homo="SansOrdreNiDoublon", into = [1,2,3,4,5,6,7,8,9],), - LReel1 = SIMP(statut ='o', typ = 'R', max = "**"), - LCompl = SIMP(statut ='o', typ = 'C', max = "**"), - LTuple2 = SIMP(statut ='o', typ = Tuple(2), validators=VerifTypeTuple(('R','R')), max = "**"), - LTuple3 = SIMP(statut ='o', typ = Tuple(3), validators=VerifTypeTuple(('R','R','R')), max = "**"), - LInSalome = SIMP(statut ='o', typ = SalomeEntry, max="**"), - - LREEL = SIMP(statut ='f', typ = 'R', max='**', defaut = '',), -) - -UTILISEOBJET = PROC (nom="UTILISEOBJET", - op=None, - UIinfo={"groupes":("Group1",)}, - Obj = SIMP (statut ='o', typ = ObjetUtilisateur,) -) - -ESSAI_FACT=OPER(nom="ESSAI_FACT", - sd_prod=ObjetUtilisateur, - op=None, - fr="Affectation de caractéristiques à des éléments de structure", - regles = (AU_MOINS_UN('Poutre','Barre'), - EXCLUS('Discret','Discret_2D'),), - Info = SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ), - Verif = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("Maille","Noeud") ), -# -# ============================================================================== - Poutre = FACT(statut= 'f',max= '**', - Section = SIMP(statut= 'o',typ= 'TXM' ,into= ("GENERALE","RECTANGLE","CERCLE") ), - - b_generale = BLOC(condition = " Section == 'GENERALE'", - regles = (UN_PARMI('Maille','GroupeMailles'),), - Maille = SIMP(statut= 'f',typ= 'TXM' ,validators= NoRepeat(),max= '**'), - GroupeMailles = SIMP(statut= 'f',typ= grma,validators= NoRepeat(),max= '**'), - - Vari = SIMP(statut= 'f',typ= 'TXM',into= ("CONSTANT","HOMOTHETIQUE"),defaut= "CONSTANT"), - - b_constant = BLOC(condition = "Vari == 'CONSTANT'", - regles = (PRESENT_ABSENT('Table','Cara'), - PRESENT_PRESENT('Table','Nom'), - PRESENT_PRESENT('Cara','Valeur'),), - Table = SIMP(statut= 'f',typ='TXM'), - Nom = SIMP(statut= 'f',typ= 'TXM'), - Cara = SIMP(statut= 'o',typ= 'TXM',min= 4 ,max= 5, - fr= "A,IY,IZ,JX sont des paramètres obligatoires", - validators= [NoRepeat(), Compulsory(['A','IY','IZ','JX'])], - into= ("A","IY","IZ","AY","AZ","EY","EZ","JX","RY","RZ","RT","JG","IYR2","IZR2","AI") ), - Valeur = SIMP(statut= 'f',typ= 'R',min= 4 ,max= 15), - ), - ), - b_rectangle = BLOC(condition = "Section == 'RECTANGLE'", - regles = (UN_PARMI('Maille','GroupeMailles'),), - Maille = SIMP(statut= 'f',typ= 'TXM' ,validators= NoRepeat(),max= '**'), - GroupeMailles = SIMP(statut= 'f',typ= grma,validators= NoRepeat(),max= '**'), - Vari = SIMP(statut= 'f',typ= 'TXM',into= ("CONSTANT","HOMOTHETIQUE","AFFINE"),defaut= "CONSTANT"), - b_constant = BLOC(condition = "Vari == 'CONSTANT'", - Cara = SIMP(statut= 'o',typ= 'TXM',min= 1 ,max= 4, - validators = [NoRepeat(), - OrVal( [AndVal( [Compulsory(['H']),Absent(['HY','HZ','EPY','EPZ'])] ), - AndVal( [Compulsory(['HY','HZ']),Together(['EPY','EPZ']),Absent(['H','EP'])] )] )], - into= ("H","EP", "HY","HZ","EPY","EPZ"),), - Valeur = SIMP(statut= 'o',typ= 'R',min= 1 ,max= 4), - ), - - Metrique = SIMP(statut= 'f',typ= 'TXM',defaut= "NON",into= ("OUI","NON") ), - Fcx = SIMP(statut= 'f',typ= 'R'), - Tuyau = SIMP(statut= 'f',typ= 'I',val_max= 10,defaut= 3), - ), - ), -# -# ============================================================================== - Barre = FACT(statut='f',max='**', - regles = (UN_PARMI('Maille','GroupeMailles'),), - Maille = SIMP(statut='f',typ='TXM' ,validators=NoRepeat(),max='**'), - GroupeMailles = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - Section = SIMP(statut='o',typ='TXM',into=("GENERALE","RECTANGLE","CERCLE") ), - b_generale = BLOC(condition = "Section=='GENERALE'", - regles = (PRESENT_ABSENT('Table','Cara'), - PRESENT_PRESENT('Table','Nom'), - PRESENT_PRESENT('Cara','Valeur')), - Table = SIMP(statut='f',typ='TXM'), - Nom = SIMP(statut='f',typ='TXM',validators=LongStr(1,24) ), - Cara = SIMP(statut='f',typ='TXM',into=("A",) ), - Valeur = SIMP(statut='f',typ='R',min=1,max=1 ), - ), - b_rectangle = BLOC(condition = "Section=='RECTANGLE'", - Cara = SIMP(statut='o',typ='TXM', min=1, max=4, - validators = [NoRepeat(), - OrVal( [AndVal( [Compulsory(['H']),Absent(['HY','HZ','EPY','EPZ'])] ), - AndVal( [Compulsory(['HY','HZ']),Together(['EPY','EPZ']),Absent(['H','EP'])] )] )], - into=("H","EP","HZ","HY","EPY","EPZ"), ), - Valeur = SIMP(statut='o',typ='R',min=1,max=4 ), ), - b_cercle = BLOC(condition = "Section=='CERCLE'", - Cara = SIMP(statut='o',typ='TXM',validators=[NoRepeat(),Compulsory(['R'])],min=1,max=2,into=("R","EP") ), - Valeur = SIMP(statut='o',typ='R',min=1,max=2 ), ), - ), -# -# ============================================================================== - Discret = FACT(statut='f',max='**', - REPERE = SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ), - AMOR_HYST = SIMP(statut='f',typ='R' ), - SYME = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),), - b_SYME_OUI = BLOC(condition="SYME=='OUI'", - fr="SYMETRIQUE: Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds", - Cara = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,defaut="None", - into = ("K_T_D_N", "K_T_D_L", "K_TR_D_N", "K_TR_D_L", "K_T_N", "K_T_L", "K_TR_N", "K_TR_L", - "M_T_D_N", "M_T_D_L", "M_TR_D_N", "M_TR_D_L", "M_T_N", "M_T_L", "M_TR_N", "M_TR_L", - "A_T_D_N", "A_T_D_L", "A_TR_D_N", "A_TR_D_L", "A_T_N", "A_T_L", "A_TR_N", "A_TR_L",),), - # Affection des caractéristiques de RIGIDITE/AMORTISSEMENT/MASSE - b_AK_T_D_N = BLOC(condition = "((Cara=='K_T_D_N')or(Cara=='A_T_D_N'))", - fr = "Noeud: 3 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('Maille','GroupeMailles','Noeud','GROUP_NO'),), - Noeud = SIMP(statut='f',typ='TXM' ,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - Maille = SIMP(statut='f',typ='TXM' ,validators=NoRepeat(),max='**'), - GroupeMailles = SIMP(statut='f',typ=grma,validators=NoRepeat(),homo='SansOrdreNiDoublon',max='**'), - Valeur = SIMP(statut='o',typ='R',min=3 ,max=3 ),), - ), - ), -# -# ============================================================================== - Discret_2D = FACT(statut='f',max='**', - REPERE = SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ), - AMOR_HYST = SIMP(statut='f',typ='R' ), - SYME = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),), - ), -) - - diff --git a/MED/Elementary_Lists_52996_Cata.py b/MED/Elementary_Lists_52996_Cata.py deleted file mode 100644 index f3cc11c8..00000000 --- a/MED/Elementary_Lists_52996_Cata.py +++ /dev/null @@ -1,86 +0,0 @@ -# coding: utf-8 - -from Accas import * - -#class myMesh(ASSD): pass -class myModel(ASSD): pass - -JdC = JDC_CATA(code='PATTERNS', - execmodul=None, - regles=(#AU_PLUS_UN('DEBUT', 'POURSUITE'), - AU_PLUS_UN('ALL_LISTS'), - #AU_PLUS_UN('FIN'), - A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN') - ) -) - -class grma(): - def __convert__(cls,valeur): - if isinstance(valeur, (str,unicode)) and len(valeur.strip()) <= 24 : #and ("item" in (valeur.strip())) - return valeur.strip() - raise ValueError("Name length does not contain \"test\" and is longer than allowed, 24") - __convert__ = classmethod(__convert__) - -def mySeveral(suffix,num): - out=list() - for i in range(1,num+1): - out.append(suffix+str(i).zfill(2)) - return out - -switch_facultatif=True #change 'o' to 'f' of some widgets in the loop -#empty_defauts=True - -def myBloc(num): - myNum=str(num).zfill(2) - list_item_body="Item_"+myNum+"_" - defauts0=["","",True,"'phenomena_"+myNum+"'",mySeveral(list_item_body,2)] #presence of default values - defauts_mask=[False,False,True,True,True] #switch off defaults of some types - defauts=list() - for id0 in range(len(defauts0)): - if defauts_mask[id0]: - item=", defaut="+str(defauts0[id0]) - else: - item="" - defauts.append(item) - #print defauts - - opt=['o','o','o','o','o'] #initial default obligation of items in FACT groups - #make different widgets optional, one by one: - myLen=len(opt) - if switch_facultatif: - make_f=(num)%myLen - opt[make_f]='f' - #print opt - #if empty_defauts: - # clean_defaut=num%myLen - - myString="BLOC(condition=\"MESH==\'mesh_"+myNum+"'\""+defauts[0]+", AFFE=FACT(statut='"+opt[1]+"'"+defauts[1]+", ALL=SIMP(statut='"+opt[2]+"', typ=bool,ang='ALL "+myNum+" help EN'"+defauts[2]+"),PHENOMENA=SIMP(statut='"+opt[3]+"',typ='TXM',into=mySeveral('phenomena_',"+str(num)+")"+defauts[3]+"), MODELISATION=SIMP(statut='"+opt[4]+"',typ='TXM', min=2,max='**',into=mySeveral('"+list_item_body+"',"+str(num*4)+")"+defauts[4]+", ang='Input "+myNum+" list EN', fr='Input "+myNum+" list FR'),),)" - print myString - return eval(myString) - -ALL_LISTS=OPER(nom="ALL_LISTS",op=18,sd_prod=myModel, - UIinfo={"groupes":("Group1",)}, - ang="Model mesh definition EN", - reentrant='n', - #regles=(AU_MOINS_UN('LIST_O_CHECKTEXT','LIST_F_CHECKTEXT','LIST_O_ANY','LIST_F_ANY')), - - #LIST_O_NOREPEAT_CHECKTEXT=SIMP(statut='o',typ=grma,validators=NoRepeat(),min=3, max='**'), - #LIST_F_NOREPEAT_CHECKTEXT=SIMP(statut='f',typ=grma,validators=NoRepeat(),min=3, max='**'), - #LIST_F_REPEAT_CHECKTEXT=SIMP(statut='f',typ=grma,min=3, max='**'), - #LIST_O_REPEAT_CHECKTEXT=SIMP(statut='o',typ=grma,min=3, max='**'), - - #LIST_F_NOREPEAT_ANYTEXT=SIMP(statut='f',typ='TXM',validators=NoRepeat(),min=3, max='**'), - #LIST_O_NOREPEAT_ANYTEXT=SIMP(statut='o',typ='TXM',min=3,validators=NoRepeat(), max='**'), - #LIST_O_REPEAT_ANYTEXT=SIMP(statut='o',typ='TXM',min=3, max='**'), - #LIST_F_REPEAT_ANYTEXT=SIMP(statut='f',typ='TXM',min=3, max='**'), - - #LIST_O_NOREPEAT_CHECKTEXT_ADD=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03",), min=3, max='**'), - #LIST_F_REPEAT_ANYTEXT_ADD=SIMP(statut='f',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03",), min=3, max='**'), - - LIST_O_NOREPEAT_CHECKTEXT_ADD_NODEFAUT=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03","item04","text04",), min=3, max='**'), - #LIST_O_NOREPEAT_CHECKTEXT_ADD_DEFAUT=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03",), defaut=('item01','item02','item03'), min=3, max='**'), -) - -Classement_Commandes_Ds_Arbre=('DEBUT','MESH_TYPES','ALL_LISTS','FIN') - -Ordre_Des_Commandes = ('DEBUT','MESH_TYPES','ALL_LISTS','FIN') diff --git a/MED/Elementary_Lists_53000_Cata.py b/MED/Elementary_Lists_53000_Cata.py deleted file mode 100644 index 0dbba473..00000000 --- a/MED/Elementary_Lists_53000_Cata.py +++ /dev/null @@ -1,52 +0,0 @@ -# coding: utf-8 -from Accas import * - -#class myMesh(ASSD): pass -class myModel(ASSD): pass - -JdC = JDC_CATA(code='PATTERNS', - execmodul=None, - regles=(#AU_PLUS_UN('DEBUT', 'POURSUITE'), - AU_PLUS_UN('ALL_LISTS'), - #AU_PLUS_UN('FIN'), - A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN') - ) -) - - -ALL_LISTS=OPER(nom="ALL_LISTS",op=18,sd_prod=myModel, - UIinfo={"groupes":("Group1",)}, - ang="Model mesh definition EN", - reentrant='n', - LIST_O_NOREPEAT_CHECKTEXT_ADD_DEFAUT=SIMP(statut='o',typ="TXM",validators=NoRepeat(), - into=("item01","text01","item02","text02","item03","text03","item04","text04","item05","text05",), - defaut=('item01','item02','item03'), - homo="SansOrdreNiDoublon", - min=3, max='**'), - - #regles=(AU_MOINS_UN('LIST_O_CHECKTEXT','LIST_F_CHECKTEXT','LIST_O_ANY','LIST_F_ANY')), - - #LIST_O_NOREPEAT_CHECKTEXT=SIMP(statut='o',typ=grma,validators=NoRepeat(),min=3, max='**'), - #LIST_F_NOREPEAT_CHECKTEXT=SIMP(statut='f',typ=grma,validators=NoRepeat(),min=3, max='**'), - #LIST_F_REPEAT_CHECKTEXT=SIMP(statut='f',typ=grma,min=3, max='**'), - #LIST_O_REPEAT_CHECKTEXT=SIMP(statut='o',typ=grma,min=3, max='**'), - - #LIST_F_NOREPEAT_ANYTEXT=SIMP(statut='f',typ='TXM',validators=NoRepeat(),min=3, max='**'), - #LIST_O_NOREPEAT_ANYTEXT=SIMP(statut='o',typ='TXM',min=3,validators=NoRepeat(), max='**'), - #LIST_O_REPEAT_ANYTEXT=SIMP(statut='o',typ='TXM',min=3, max='**'), - #LIST_F_REPEAT_ANYTEXT=SIMP(statut='f',typ='TXM',min=3, max='**'), - - #LIST_O_NOREPEAT_CHECKTEXT_ADD=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03",), min=3, max='**'), - #LIST_F_REPEAT_ANYTEXT_ADD=SIMP(statut='f',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03",), min=3, max='**'), - - #LIST_O_NOREPEAT_CHECKTEXT_ADD_NODEFAUT=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03","item04","text04",), min=3, max='**'), - - - #LIST_O_SANSORDRENODOUBLON_CHECKTEXT_DEFAUT=SIMP(statut='o',typ=grma,homo="SansOrdreNiDoublon", into=("item01","text01","item02","text02","item03","text03",), defaut=('item01','item02','item03'), min=3, max='**'), -) - - - -Classement_Commandes_Ds_Arbre=('DEBUT','MESH_TYPES','ALL_LISTS','FIN') - -Ordre_Des_Commandes = ('DEBUT','MESH_TYPES','ALL_LISTS','FIN') diff --git a/MED/Elementary_Lists_53013_Cata.py b/MED/Elementary_Lists_53013_Cata.py deleted file mode 100644 index cf371ff2..00000000 --- a/MED/Elementary_Lists_53013_Cata.py +++ /dev/null @@ -1,59 +0,0 @@ -# coding: utf-8 -from Accas import * - -class myModel(ASSD): pass - -JdC = JDC_CATA(code='PATTERNS', - execmodul=None, - regles=(#AU_PLUS_UN('DEBUT', 'POURSUITE'), - AU_PLUS_UN('ALL_LISTS'), - #AU_PLUS_UN('FIN'), - A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN') - ) -) - -class grma(): - def __convert__(cls,valeur): - if isinstance(valeur, (str,unicode)) and len(valeur.strip()) <= 12 and ("item" in (valeur.strip()).lower()): # - return valeur.strip() - raise ValueError("Name length does not contain \"test\" and is longer than allowed, 12") - __convert__ = classmethod(__convert__) - -def mySeveral(suffix,num): - out=list() - for i in range(1,num+1): - out.append(suffix+str(i).zfill(2)) - return out - -ALL_LISTS=OPER(nom="ALL_LISTS",op=18,sd_prod=myModel, - UIinfo={"groupes":("Group1",)}, - fr="All lists definition FR", - ang="All lists definition EN", - reentrant='n', - #regles=(AU_MOINS_UN('LIST_O_CHECKTEXT','LIST_F_CHECKTEXT','LIST_O_ANY','LIST_F_ANY')), - - L1_LIST_O_NOREPEAT_CHECKTEXT=SIMP(statut='o',typ=grma,validators=NoRepeat(),min=3, max='**', ang='Obligatory, No Repetitions, checked text, EN'), - L2_LIST_F_NOREPEAT_CHECKTEXT=SIMP(statut='f',typ=grma,validators=NoRepeat(),min=3, max='**', ang='Optional, No Repetitions, checked text, EN'), - L3_LIST_F_REPEAT_CHECKTEXT=SIMP(statut='f',typ=grma,min=3, max='**',ang='Optional, Allowed Repetitions, checked text, EN'), - L4_LIST_O_REPEAT_CHECKTEXT=SIMP(statut='o',typ=grma,min=3, max='**',ang='Obligatory, Allowed Repetitions, checked text, EN'), - - L5_LIST_F_NOREPEAT_ANYTEXT=SIMP(statut='f',typ='TXM',validators=NoRepeat(),min=3, max='**',ang='Optional, No Repetitions, any text, EN'), - L6_LIST_O_NOREPEAT_ANYTEXT=SIMP(statut='o',typ='TXM',min=3,validators=NoRepeat(), max='**',ang='Obligatory, No Repetitions, any text, EN'), - L7_LIST_O_REPEAT_ANYTEXT=SIMP(statut='o',typ='TXM',min=3, max='**',ang='Obligatory, Allowed Repetitions, any text, EN'), - L8_LIST_F_REPEAT_ANYTEXT=SIMP(statut='f',typ='TXM',min=3, max='**',ang='Optional, Allowed Repetitions, any text, EN'), - - L9_LIST_O_NOREPEAT_CHECKTEXT_ADD=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With spare list, Obligatory, No Repetitions, checked text, EN',), - L10_LIST_F_REPEAT_ANYTEXT_ADD=SIMP(statut='f',typ='TXM', into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With spare list, Optional, Allowed Repetitions, any text, EN'), - L11_LIST_O_REPEAT_CHECKTEXT_ADD_NODEFAUT=SIMP(statut='o',typ=grma, into=("item01","text01","item02","text02","item03","text03","item04","text04"),ang='With spare list, obligatory, No Repetitions, checked text, no default values, EN', min=3, max='**'), - L12_LIST_O_NOREPEAT_CHECKTEXT_ADD_DEFAUT=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03","item04","text04","item05","text05",), defaut=('item01','item02','item03'), min=3, max='**',ang='With spare list, Obligatory, No Repetitions, checked text, with default values EN'), - - L13_LIST_F_SANSORDRENODOUBLON_ANYTEXT_NODEFAUT=SIMP(statut='f',typ='TXM',homo="SansOrdreNiDoublon", into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With check boxes, Optional, any text, no defaults, EN'), - L14_LIST_O_SANSORDRENODOUBLON_CHECKTEXT_NODEFAUT=SIMP(statut='o',typ=grma,homo="SansOrdreNiDoublon", into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With check boxes, Obligatory, checked text, EN'), - L15_LIST_O_SANSORDRENODOUBLON_CHECKTEXT_DEFAUT=SIMP(statut='o',typ=grma,homo="SansOrdreNiDoublon", into=("item01","text01","item02","text02","item03","text03","item02","text02","item01","text01",), defaut=('item01','item02','item03'), min=3, max='**', ang='With check boxes, Obligatory, checked text, with default values, EN'), -) - - - -Classement_Commandes_Ds_Arbre=('DEBUT','MESH_TYPES','ALL_LISTS','FIN') - -Ordre_Des_Commandes = ('DEBUT','MESH_TYPES','ALL_LISTS','FIN') diff --git a/MED/Elementary_Lists_53036_Cata.py b/MED/Elementary_Lists_53036_Cata.py deleted file mode 100644 index 5cdc0faa..00000000 --- a/MED/Elementary_Lists_53036_Cata.py +++ /dev/null @@ -1,59 +0,0 @@ -# coding: utf-8 -from Accas import * - -class myModel(ASSD): pass - -JdC = JDC_CATA(code='PATTERNS', - execmodul=None, - regles=(#AU_PLUS_UN('DEBUT', 'POURSUITE'), - AU_PLUS_UN('ALL_LISTS'), - #AU_PLUS_UN('FIN'), - A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN') - ) -) - -class grma(): - def __convert__(cls,valeur): - if isinstance(valeur, (str,unicode)) and len(valeur.strip()) <= 12 and ("item" in (valeur.strip()).lower()): # - return valeur.strip() - raise ValueError("Name length does not contain \"item\" and is longer than allowed, 12") - __convert__ = classmethod(__convert__) - -def mySeveral(suffix,num): - out=list() - for i in range(1,num+1): - out.append(suffix+str(i).zfill(2)) - return out - -ALL_LISTS=OPER(nom="ALL_LISTS",op=18,sd_prod=myModel, - UIinfo={"groupes":("Group1",)}, - fr="All lists definition FR", - ang="All lists definition EN", - reentrant='n', - #regles=(AU_MOINS_UN('LIST_O_CHECKTEXT','LIST_F_CHECKTEXT','LIST_O_ANY','LIST_F_ANY')), - - L1_LIST_O_NOREPEAT_CHECKTEXT=SIMP(statut='o',typ=grma,validators=NoRepeat(),min=3, max='**', ang='Obligatory, No Repetitions, checked text, EN'), - L2_LIST_F_NOREPEAT_CHECKTEXT=SIMP(statut='f',typ=grma,validators=NoRepeat(),min=3, max='**', ang='Optional, No Repetitions, checked text, EN'), - L3_LIST_F_REPEAT_CHECKTEXT=SIMP(statut='f',typ=grma,min=3, max='**',ang='Optional, Allowed Repetitions, checked text, EN'), - L4_LIST_O_REPEAT_CHECKTEXT=SIMP(statut='o',typ=grma,min=3, max='**',ang='Obligatory, Allowed Repetitions, checked text, EN'), - - L5_LIST_F_NOREPEAT_ANYTEXT=SIMP(statut='f',typ='TXM',validators=NoRepeat(),min=3, max='**',ang='Optional, No Repetitions, any text, EN'), - L6_LIST_O_NOREPEAT_ANYTEXT=SIMP(statut='o',typ='TXM',min=3,validators=NoRepeat(), max='**',ang='Obligatory, No Repetitions, any text, EN'), - L7_LIST_O_REPEAT_ANYTEXT=SIMP(statut='o',typ='TXM',min=3, max='**',ang='Obligatory, Allowed Repetitions, any text, EN'), - L8_LIST_F_REPEAT_ANYTEXT=SIMP(statut='f',typ='TXM',min=3, max='**',ang='Optional, Allowed Repetitions, any text, EN'), - - L9_LIST_O_NOREPEAT_CHECKTEXT_ADD=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With spare list, Obligatory, No Repetitions, checked text, EN',), - L10_LIST_F_REPEAT_ANYTEXT_ADD=SIMP(statut='f',typ='TXM', into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With spare list, Optional, Allowed Repetitions, any text, EN'), - L11_LIST_O_REPEAT_CHECKTEXT_ADD_NODEFAUT=SIMP(statut='o',typ=grma, into=("item01","text01","item02","text02","item03","text03","item04","text04"),ang='With spare list, obligatory, No Repetitions, checked text, no default values, EN', min=3, max='**'), - L12_LIST_O_NOREPEAT_CHECKTEXT_ADD_DEFAUT=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03","item04","text04","item05","text05",), defaut=('item01','item02','item03'), min=3, max='**',ang='With spare list, Obligatory, No Repetitions, checked text, with default values EN'), - - L13_LIST_F_SANSORDRENODOUBLON_ANYTEXT_NODEFAUT=SIMP(statut='f',typ='TXM',homo="SansOrdreNiDoublon", into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With check boxes, Optional, any text, no defaults, EN'), - L14_LIST_O_SANSORDRENODOUBLON_CHECKTEXT_NODEFAUT=SIMP(statut='o',typ=grma,homo="SansOrdreNiDoublon", into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With check boxes, Obligatory, checked text, EN'), - L15_LIST_O_SANSORDRENODOUBLON_CHECKTEXT_NOREPEAT_DEFAUT=SIMP(statut='o',typ=grma,homo="SansOrdreNiDoublon", into=("item01","text01","item02","text02","item03","text03","item03","text03","item02","text02","item01","text01",), defaut=('item01','item02','item03'), min=3, max='**', ang='With check boxes, Obligatory, checked text, with default values, EN'), #validators=NoRepeat(), -) - - - -Classement_Commandes_Ds_Arbre=('DEBUT','MESH_TYPES','ALL_LISTS','FIN') - -Ordre_Des_Commandes = ('DEBUT','MESH_TYPES','ALL_LISTS','FIN') diff --git a/MED/Elementary_Lists_Cata.py b/MED/Elementary_Lists_Cata.py deleted file mode 100755 index 92d20b35..00000000 --- a/MED/Elementary_Lists_Cata.py +++ /dev/null @@ -1,59 +0,0 @@ -# coding: utf-8 -from Accas import * - -class myModel(ASSD): pass - -JdC = JDC_CATA(code='PATTERNS', - execmodul=None, - regles=(#AU_PLUS_UN('DEBUT', 'POURSUITE'), - AU_PLUS_UN('ALL_LISTS'), - #AU_PLUS_UN('FIN'), - A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN') - ) -) - -class grma(): - def __convert__(cls,valeur): - if isinstance(valeur, (str,unicode)) and len(valeur.strip()) <= 12 and ("item" in (valeur.strip()).lower()): # - return valeur.strip() - raise ValueError("Name length does not contain \"test\" and is longer than allowed, 12") - __convert__ = classmethod(__convert__) - -def mySeveral(suffix,num): - out=list() - for i in range(1,num+1): - out.append(suffix+str(i).zfill(2)) - return out - -ALL_LISTS=OPER(nom="ALL_LISTS",op=18,sd_prod=myModel, - UIinfo={"groupes":("Group1",)}, - fr="All lists definition FR", - ang="All lists definition EN", - reentrant='n', - #regles=(AU_MOINS_UN('LIST_O_CHECKTEXT','LIST_F_CHECKTEXT','LIST_O_ANY','LIST_F_ANY')), - - L1_LIST_O_NOREPEAT_CHECKTEXT=SIMP(statut='o',typ=grma,validators=NoRepeat(),min=3, max='**', ang='Obligatory, No Repetitions, checked text, EN'), - L2_LIST_F_NOREPEAT_CHECKTEXT=SIMP(statut='f',typ=grma,validators=NoRepeat(),min=3, max='**', ang='Optional, No Repetitions, checked text, EN'), - L3_LIST_F_REPEAT_CHECKTEXT=SIMP(statut='f',typ=grma,min=3, max='**',ang='Optional, Allowed Repetitions, checked text, EN'), - L4_LIST_O_REPEAT_CHECKTEXT=SIMP(statut='o',typ=grma,min=3, max='**',ang='Obligatory, Allowed Repetitions, checked text, EN'), - - L5_LIST_F_NOREPEAT_ANYTEXT=SIMP(statut='f',typ='TXM',validators=NoRepeat(),min=3, max='**',ang='Optional, No Repetitions, any text, EN'), - L6_LIST_O_NOREPEAT_ANYTEXT=SIMP(statut='o',typ='TXM',min=3,validators=NoRepeat(), max='**',ang='Obligatory, No Repetitions, any text, EN'), - L7_LIST_O_REPEAT_ANYTEXT=SIMP(statut='o',typ='TXM',min=3, max='**',ang='Obligatory, Allowed Repetitions, any text, EN'), - L8_LIST_F_REPEAT_ANYTEXT=SIMP(statut='f',typ='TXM',min=3, max='**',ang='Optional, Allowed Repetitions, any text, EN'), - - L9_LIST_O_NOREPEAT_CHECKTEXT_ADD=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With spare list, Obligatory, No Repetitions, checked text, EN',), - L10_LIST_F_REPEAT_ANYTEXT_ADD=SIMP(statut='f',typ='TXM', into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With spare list, Optional, Allowed Repetitions, any text, EN'), - L11_LIST_O_REPEAT_CHECKTEXT_ADD_NODEFAUT=SIMP(statut='o',typ=grma, into=("item01","text01","item02","text02","item03","text03","item04","text04"),ang='With spare list, obligatory, No Repetitions, checked text, no default values, EN', min=3, max='**'), - L12_LIST_O_NOREPEAT_CHECKTEXT_ADD_DEFAUT=SIMP(statut='o',typ=grma,validators=NoRepeat(), into=("item01","text01","item02","text02","item03","text03","item04","text04","item05","text05",), defaut=('item01','item02','item03'), min=3, max='**',ang='With spare list, Obligatory, No Repetitions, checked text, with default values EN'), - - L13_LIST_F_SANSORDRENODOUBLON_ANYTEXT_NODEFAUT=SIMP(statut='f',typ='TXM',homo="SansOrdreNiDoublon", into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With check boxes, Optional, any text, no defaults, EN'), - L14_LIST_O_SANSORDRENODOUBLON_CHECKTEXT_NODEFAUT=SIMP(statut='o',typ=grma,homo="SansOrdreNiDoublon", into=("item01","text01","item02","text02","item03","text03",), min=3, max='**',ang='With check boxes, Obligatory, checked text, EN'), - L15_LIST_O_SANSORDRENODOUBLON_CHECKTEXT_DEFAUT=SIMP(statut='o',typ=grma,homo="SansOrdreNiDoublon", into=("item01","text01","item02","text02","item03","text03",), defaut=('item01','item02','item03'), min=3, max='**', ang='With check boxes, Obligatory, checked text, with default values, EN'), -) - - - -Classement_Commandes_Ds_Arbre=('DEBUT','MESH_TYPES','ALL_LISTS','FIN') - -Ordre_Des_Commandes = ('DEBUT','MESH_TYPES','ALL_LISTS','FIN') diff --git a/MED/Global_Condition_Cata.py b/MED/Global_Condition_Cata.py deleted file mode 100755 index 02396340..00000000 --- a/MED/Global_Condition_Cata.py +++ /dev/null @@ -1,53 +0,0 @@ -# coding: utf-8 -from Accas import * -#class myModel(ASSD): pass - -JdC = JDC_CATA(code='GLOB_COND', - execmodul=None, - regles=(AU_PLUS_UN('TYPES',), - AU_PLUS_UN('INITS',), - AU_PLUS_UN('DATAS',), - #A_CLASSER('TYPES','INITS','DATAS') - ) -); - -TYPES=PROC(nom='TYPES',op=None,UIinfo={"groupes":("Global_Workflow",)}, #sd_prod=myModel, - MODE=SIMP( - typ='TXM', - statut='o', - position='global_jdc', - into=("MANUAL","AUTOMATIC","MIXED"), - defaut="AUTOMATIC", - ), -); - -liste_condition=('INITS', 'DATAS') - -INITS=PROC(nom='INITS',op=None,UIinfo={"groupes":("INI_param",)}, - ini_manual=BLOC(condition="MODE == 'MANUAL'", - Informer=SIMP(statut='o',typ='TXM', defaut="INITS MANUAL"), - ), - ini_auto=BLOC(condition="MODE == 'AUTOMATIC'", - Informer=SIMP(statut='o', typ='TXM', defaut="INITS AUTOMATIC",), - ), - ini_mixed=BLOC(condition="MODE == 'MIXED'", - Informer=SIMP(statut='o',typ='TXM', defaut="INITS MIXED",), - ), -); -DATAS=PROC(nom='DATAS',op=None,UIinfo={"groupes":("DATAS",)}, - data_manual=BLOC(condition="MODE == 'MANUAL'", - Informer=SIMP(statut='o',typ='TXM', defaut="DATAS MANUAL", - ), - ), - data_auto=BLOC(condition="MODE == 'AUTOMATIC'", - Informer=SIMP(statut='o', typ='TXM', defaut="DATAS AUTOMATIC", - ), - ), - data_mixed=BLOC(condition="MODE == 'MIXED'", - Informer=SIMP(statut='o',typ='TXM', defaut="DATAS MIXED", - ), - ), -); - -Classement_Commandes_Ds_Arbre=('TYPES','INITS','DATAS') -Ordre_Des_Commandes = ('TYPES','INITS','DATAS') diff --git a/MED/Many_Concepts_52983_Cata.py b/MED/Many_Concepts_52983_Cata.py deleted file mode 100644 index 70f099ac..00000000 --- a/MED/Many_Concepts_52983_Cata.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding: utf-8 - -from Accas import * - -#class myMesh(ASSD): pass -class myModel(ASSD): pass - -JdC = JDC_CATA(code='PATTERNS', - execmodul=None, - regles=(UN_PARMI('DEBUT', 'POURSUITE'), - AU_MOINS_UN('FIN'), - A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN'))) - -DEBUT=PROC(nom="DEBUT", op=68, repetable='n', UIinfo={"groupes":("Group1",)}, ang="Debut Eng help", - PAR_LOT=SIMP(ang="Debut Par Lot help En",statut='o',typ=bool, defaut=True), -) -AFFE_MODELE=OPER(nom="AFFE_MODELE",op=None,sd_prod=myModel, - UIinfo={"groupes":("Group1",)}, - ang="Model mesh definition EN", - MESH=SIMP(statut='o',typ='TXM',into=("mesh_01","mesh_02","mesh_03","mesh_04",) , defaut="mesh_01"), - #reentrant='n', - #regles=(AU_MOINS_UN('AFFE','AFFE_SOUS_STRUC'),UN_PARMI('MAILLAGE','GRILLE')), - - - block_mesh_01=BLOC(condition="MESH=='mesh_01'", - AFFE=FACT(statut='o', - ALL=SIMP(statut='o', typ=bool,ang='ALL 01 help EN', defaut=True), - PHENOMENA=SIMP(statut='o',typ='TXM',into=('phenomena_01','phenomena_02',), defaut='phenomena_01'), - #MODELISATION=SIMP(statut='o',typ='TXM', min=2,max='**', into=("mesh_01","mesh_02","mesh_03","mesh_04",) ,ang='Input 01 list EN', fr='Input 01 list FR'), - MODELISATION=SIMP(statut='o',typ='TXM', min=2,max='**', into=('Item_01_01','Item_01_02',) ,ang='Input 01 list EN', fr='Input 01 list FR'), - ), - ), -) -FIN=PROC(nom="FIN",op=9999,repetable='n',ang="Finish help EN",UIinfo={"groupes":("Group1",)}, - FORMAT_HDF =SIMP(ang="Save HDF EN",statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), -) - -Classement_Commandes_Ds_Arbre=('DEBUT','MESH','AFFE_MODELE','FIN') -Ordre_Des_Commandes = ('DEBUT','MESH','AFFE_MODELE','FIN') diff --git a/MED/Many_Concepts_52988_Cata.py b/MED/Many_Concepts_52988_Cata.py deleted file mode 100644 index 52d4f10f..00000000 --- a/MED/Many_Concepts_52988_Cata.py +++ /dev/null @@ -1,76 +0,0 @@ -# coding: utf-8 - -from Accas import * - -class myMesh(ASSD): pass -class myModel(ASSD): pass - -JdC = JDC_CATA(code='PATTERNS', - execmodul=None, - regles=(AU_PLUS_UN('DEBUT', 'POURSUITE'), - AU_PLUS_UN('AFFE_MODELE'), - AU_PLUS_UN('FIN'), - A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN'))) - -def mySeveral(suffix,num): - out=list() - for i in range(1,num+1): - out.append(suffix+str(i).zfill(2)) - return out - -switch_facultatif=True #change 'o' to 'f' of some widgets in the loop -empty_defauts=True - -def myBloc(num): - myNum=str(num).zfill(2) - list_item_body="Item_"+myNum+"_" - defauts0=["","",True,"'phenomena_"+myNum+"'",mySeveral(list_item_body,2)] #presence of default values - defauts_mask=[False,False,True,True,True] #switch off defaults of some types - defauts=list() - for id0 in range(len(defauts0)): - if defauts_mask[id0]: - item=", defaut="+str(defauts0[id0]) - else: - item="" - defauts.append(item) - #print defauts - - opt=['o','o','o','o','o'] #initial default obligation of items in FACT groups - #make some widgets optional: - myLen=len(opt) - if switch_facultatif: - make_f=(num)%myLen - opt[make_f]='f' - #print opt - if empty_defauts: - clean_defaut=num%myLen - - myString="BLOC(condition=\"MESH==\'mesh_"+myNum+"'\""+defauts[0]+", AFFE=FACT(statut='"+opt[1]+"'"+defauts[1]+", ALL=SIMP(statut='"+opt[2]+"', typ=bool,ang='ALL "+myNum+" help EN'"+defauts[2]+"),PHENOMENA=SIMP(statut='"+opt[3]+"',typ='TXM',into=mySeveral('phenomena_',"+str(num)+")"+defauts[3]+"), MODELISATION=SIMP(statut='"+opt[4]+"',typ='TXM', min=2,max='**',into=mySeveral('"+list_item_body+"',"+str(num*4)+")"+defauts[4]+", ang='Input "+myNum+" list EN', fr='Input "+myNum+" list FR'),),)" - print myString - return eval(myString) - -DEBUT=PROC(nom="DEBUT", op=10, repetable='n', UIinfo={"groupes":("Group1",)}, ang="Debut Eng help", - PAR_LOT=SIMP(ang="Debut Par Lot help En",statut='o',typ=bool, defaut=True), -); - -AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=myModel, - UIinfo={"groupes":("Group1",)}, - ang="Model mesh definition EN", - reentrant='n', - regles=(AU_MOINS_UN('APPROVED')), - MESH=SIMP(statut='o',typ='TXM',into=mySeveral("mesh_",4) ,defaut="mesh_01"), - APPROVED=SIMP(statut="o", typ=bool), - block_mesh_01=myBloc(1), - block_mesh_02=myBloc(2), - block_mesh_03=myBloc(3), - block_mesh_04=myBloc(4), -) - - -FIN=PROC(nom="FIN",op=9999,repetable='n',ang="Finish help EN",UIinfo={"groupes":("Group1",)}, - FORMAT_HDF =SIMP(ang="Save HDF EN",statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), -); - -Classement_Commandes_Ds_Arbre=('DEBUT','MESH_TYPES','AFFE_MODELE','FIN') - -Ordre_Des_Commandes = ('DEBUT','MESH_TYPES','AFFE_MODELE','FIN') diff --git a/MED/Many_Concepts_52989_Cata.py b/MED/Many_Concepts_52989_Cata.py deleted file mode 100644 index 930d9e89..00000000 --- a/MED/Many_Concepts_52989_Cata.py +++ /dev/null @@ -1,77 +0,0 @@ -# coding: utf-8 - -from Accas import * - -#class myMesh(ASSD): pass -class myModel(ASSD): pass - -JdC = JDC_CATA(code='PATTERNS', - execmodul=None, - regles=(AU_PLUS_UN('DEBUT', 'POURSUITE'), - AU_PLUS_UN('AFFE_MODELE'), - AU_PLUS_UN('FIN'), - A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN'))) - -def mySeveral(suffix,num): - out=list() - for i in range(1,num+1): - out.append(suffix+str(i).zfill(2)) - return out - -switch_facultatif=True #change 'o' to 'f' of some widgets in the loop -#empty_defauts=True - -def myBloc(num): - myNum=str(num).zfill(2) - list_item_body="Item_"+myNum+"_" - defauts0=["","",True,"'phenomena_"+myNum+"'",mySeveral(list_item_body,2)] #presence of default values - defauts_mask=[False,False,True,True,True] #switch off defaults of some types - defauts=list() - for id0 in range(len(defauts0)): - if defauts_mask[id0]: - item=", defaut="+str(defauts0[id0]) - else: - item="" - defauts.append(item) - #print defauts - - opt=['o','o','o','o','o'] #initial default obligation of items in FACT groups - #make different widgets optional, one by one: - myLen=len(opt) - if switch_facultatif: - make_f=(num)%myLen - opt[make_f]='f' - #print opt - #if empty_defauts: - # clean_defaut=num%myLen - - myString="BLOC(condition=\"MESH==\'mesh_"+myNum+"'\""+defauts[0]+", AFFE=FACT(statut='"+opt[1]+"'"+defauts[1]+", ALL=SIMP(statut='"+opt[2]+"', typ=bool,ang='ALL "+myNum+" help EN'"+defauts[2]+"),PHENOMENA=SIMP(statut='"+opt[3]+"',typ='TXM',into=mySeveral('phenomena_',"+str(num)+")"+defauts[3]+"), MODELISATION=SIMP(statut='"+opt[4]+"',typ='TXM', min=2,max='**',into=mySeveral('"+list_item_body+"',"+str(num*4)+")"+defauts[4]+", ang='Input "+myNum+" list EN', fr='Input "+myNum+" list FR'),),)" - print myString - return eval(myString) - -DEBUT=PROC(nom="DEBUT", op=10, repetable='n', UIinfo={"groupes":("Group1",)}, ang="Debut Eng help", - PAR_LOT=SIMP(ang="Debut Par Lot help En",statut='o',typ=bool, defaut=True), -); - -AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=myModel, - UIinfo={"groupes":("Group1",)}, - ang="Model mesh definition EN", - reentrant='n', - regles=(AU_MOINS_UN('APPROVED')), - MESH=SIMP(statut='o',typ='TXM',into=mySeveral("mesh_",4) ,defaut="mesh_01"), - APPROVED=SIMP(statut="f", typ=bool), # presence of this item will validate the whole group - PAR_LOT=SIMP(ang="Debut Par Lot help En",statut='o',typ='I', defaut=True), - block_mesh_01=myBloc(1), - block_mesh_02=myBloc(2), - block_mesh_03=myBloc(3), - block_mesh_04=myBloc(4), -) - - -FIN=PROC(nom="FIN",op=9999,repetable='n',ang="Finish help EN",UIinfo={"groupes":("Group1",)}, - FORMAT_HDF =SIMP(ang="Save HDF EN",statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), -); - -Classement_Commandes_Ds_Arbre=('DEBUT','MESH_TYPES','AFFE_MODELE','FIN') - -Ordre_Des_Commandes = ('DEBUT','MESH_TYPES','AFFE_MODELE','FIN') diff --git a/MED/Many_Concepts_52992_Cata.py b/MED/Many_Concepts_52992_Cata.py deleted file mode 100644 index 13145b96..00000000 --- a/MED/Many_Concepts_52992_Cata.py +++ /dev/null @@ -1,76 +0,0 @@ -# coding: utf-8 - -from Accas import * - -#class myMesh(ASSD): pass -class myModel(ASSD): pass - -JdC = JDC_CATA(code='PATTERNS', - execmodul=None, - regles=(AU_PLUS_UN('DEBUT', 'POURSUITE'), - AU_PLUS_UN('AFFE_MODELE'), - AU_PLUS_UN('FIN'), - A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN'))) - -def mySeveral(suffix,num): - out=list() - for i in range(1,num+1): - out.append(suffix+str(i).zfill(2)) - return out - -switch_facultatif=True #change 'o' to 'f' of some widgets in the loop -#empty_defauts=True - -def myBloc(num): - myNum=str(num).zfill(2) - list_item_body="Item_"+myNum+"_" - defauts0=["","",True,"'phenomena_"+myNum+"'",mySeveral(list_item_body,2)] #presence of default values - defauts_mask=[False,False,True,True,False] #switch off defaults of some types - defauts=list() - for id0 in range(len(defauts0)): - if defauts_mask[id0]: - item=", defaut="+str(defauts0[id0]) - else: - item="" - defauts.append(item) - #print defauts - - opt=['o','o','o','o','o'] #initial default obligation of items in FACT groups - #make different widgets optional, one by one: - myLen=len(opt) - if switch_facultatif: - make_f=(num)%myLen - opt[make_f]='f' - #print opt - #if empty_defauts: - # clean_defaut=num%myLen - - myString="BLOC(condition=\"MESH==\'mesh_"+myNum+"'\""+defauts[0]+", AFFE=FACT(statut='"+opt[1]+"'"+defauts[1]+", ALL=SIMP(statut='"+opt[2]+"', typ=bool,ang='ALL "+myNum+" help EN'"+defauts[2]+"),PHENOMENA=SIMP(statut='"+opt[3]+"',typ='TXM',into=mySeveral('phenomena_',"+str(num)+")"+defauts[3]+"), MODELISATION=SIMP(statut='"+opt[4]+"',typ='TXM', min=4,max='**',into=mySeveral('"+list_item_body+"',"+str(num*4)+")"+defauts[4]+", ang='Input "+myNum+" list EN', fr='Input "+myNum+" list FR'),),)" - print myString - return eval(myString) - -DEBUT=PROC(nom="DEBUT", op=10, repetable='n', UIinfo={"groupes":("Group1",)}, ang="Debut Eng help", - PAR_LOT=SIMP(ang="Debut Par Lot help En",statut='o',typ=bool, defaut=True), -); - -AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=myModel, - UIinfo={"groupes":("Group1",)}, - ang="Model mesh definition EN", - reentrant='n', - regles=(AU_MOINS_UN('APPROVED')), - MESH=SIMP(statut='o',typ='TXM',into=mySeveral("mesh_",4) ,defaut="mesh_01"), - APPROVED=SIMP(statut="f", typ=bool), # presence of this item will validate the whole group - block_mesh_01=myBloc(1), - block_mesh_02=myBloc(2), - block_mesh_03=myBloc(3), - block_mesh_04=myBloc(4), -) - - -FIN=PROC(nom="FIN",op=9999,repetable='n',ang="Finish help EN",UIinfo={"groupes":("Group1",)}, - FORMAT_HDF =SIMP(ang="Save HDF EN",statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), -); - -Classement_Commandes_Ds_Arbre=('DEBUT','MESH_TYPES','AFFE_MODELE','FIN') - -Ordre_Des_Commandes = ('DEBUT','MESH_TYPES','AFFE_MODELE','FIN') diff --git a/MED/Matrix_Cata.py b/MED/Matrix_Cata.py deleted file mode 100644 index 268a77bf..00000000 --- a/MED/Matrix_Cata.py +++ /dev/null @@ -1,87 +0,0 @@ -# coding: utf-8 -from Accas import * - -class loi ( ASSD ) : pass -class variable ( ASSD ) : pass - -class Matrice: - def __init__(self,nbLigs=None,nbCols=None,methodeCalculTaille=None,formatSortie="ligne",valSup=None,valMin=None,structure=None): - self.nbLigs=nbLigs - self.nbCols=nbCols - self.methodeCalculTaille=methodeCalculTaille - self.formatSortie=formatSortie - self.valSup=valSup - self.valMin=valMin - self.structure=structure - - def __convert__(self,valeur): - # Attention ne verifie pas grand chose - if type(valeur) != types.ListType : - return None - return valeur - - def info(self): - return "Matrice %s x %s" % (self.nbLigs, self.nbCols) - - __repr__=info - __str__=info - - - -class myModel(ASSD): pass - -JdC = JDC_CATA(code='PATTERNS', - execmodul=None, - regles=(AU_MOINS_UN ( 'CORRELATION' ), - ) -) - -DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", - sd_prod = variable, - op = None, - fr = "Variable deterministe", - ang = "Deterministic variable", - - N = SIMP ( statut = 'o', typ = "TXM", fr = "Nom", ang = "Name", defaut = "Var1" ), - T = SIMP ( statut = 'o', defaut = "in", into = ( "in" , "out", ), typ = "TXM", fr = "Type", ang = "Type" ), - R = SIMP ( statut = 'o', defaut = 0, typ = "I", fr = "Rang", ang = "Rank" ), -) - -DISTRIBUTION = OPER ( nom = "DISTRIBUTION", - sd_prod = loi, - op = 68, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - R = SIMP ( statut = "o", typ = "R", max = 1, val_min = 0., fr = "Parametre R de la loi | R > 0", ang = "R parameter | R > 0", defaut = 0.5 ), - # T > R - T = SIMP ( statut = "o", typ = "R", max = 1, val_min = 0., fr = "Parametre T de la loi | T > R", ang = "T parameter | T > R", defaut = 0.7 ), - A = SIMP ( statut = "o", typ = "R", max = 1, fr = "Borne inferieure du support de la loi", ang = "Support lower bound", defaut = 0.1 ), - # B > A - B = SIMP ( statut = "o", typ = "R", max = 1, fr = "Borne superieure du support de la loi", ang = "Support upper bound", defaut = 0.3 ), -) - -VARIABLE = PROC ( nom = "VARIABLE", - op = None, - docu = "", - fr = "Variable probabiliste", - ang = "Probabilistic variable", - - ModelVariable = SIMP ( statut = "o", typ = ( variable, ), fr = "Variable d'entrée du modèle", ang = "Input variable of the model" ), - Distribution = SIMP ( statut = "o", typ = ( loi, ), fr = "Modélisation probabiliste", ang = "Probabilistic modelisation" ), -) - -CORRELATION = PROC ( nom = 'CORRELATION', - op = None, - docu = "", - fr = "Correlation entre variables", - ang = "Variable correlation", - - CorrelationMatrix = SIMP ( statut = "o", typ = Matrice(nbLigs=None, - nbCols=None, - methodeCalculTaille='NbDeVariables', - valSup=1, - valMin=-1, - structure="symetrique"), - fr = "Matrice de correlation entre les variables d'entree", - ang = "Correlation matrix for input variables" ), -) diff --git a/MED/Nested_Cond_52945_Cata.py b/MED/Nested_Cond_52945_Cata.py deleted file mode 100644 index 9d3b119d..00000000 --- a/MED/Nested_Cond_52945_Cata.py +++ /dev/null @@ -1,61 +0,0 @@ -# coding: utf-8 - -from Accas import * - -class loi(): pass - -JdC = JDC_CATA (code = 'PATTERNS', - execmodul = None, - ) -use_and=False #switch off second condition about MAX_ROWS while it does not work for blocks greater than 2 -def cond2(myMax=False): - if use_and: - if myMax: - out= " and MAX_ROWS>="+str(myMax) - else: - out="" - else: - out="" - print out - return out - -PROC_01 = PROC(nom = "PROC_01",op = None, ang="Help for PROC_01 EN", - MAX_ROWS=SIMP(statut='o',typ='I',val_min=1,val_max=8, defaut=8), - PROCGROUP1=SIMP(statut='o',typ='TXM',into=("1A","2A","add new row",)), - wideblock1=BLOC(condition='PROCGROUP1=="add new row"'+cond2(1), - PROCGROUP2=SIMP(statut='o',typ='TXM',into=("1A","add new row","3A",)), - wideblock2=BLOC(condition='PROCGROUP2=="add new row"'+cond2(2), - PROCGROUP3=SIMP(statut='o',typ='TXM',into=("1","2","add new row",)), - PROCGROUP689=SIMP(statut='o',typ='TXM',), - wideblock3=BLOC(condition='PROCGROUP3=="add new row"'+cond2(3), - PROCGROUP4=SIMP(statut='o',typ='TXM',into=("1","add new row","3",)), - wideblock4=BLOC(condition='PROCGROUP4=="add new row"'+cond2(4), - PROCGROUP5=SIMP(statut='o',typ='TXM',into=("add new row","2","3",)), - wideblock5=BLOC(condition='PROCGROUP5=="add new row"'+cond2(5), - PROCGROUP6=SIMP(statut='o',typ='TXM',into=("1","2","add new row",)), - wideblock6=BLOC(condition='PROCGROUP6=="add new row"'+cond2(6), - PROCGROUP7=SIMP(statut='o',typ='TXM',into=("1","add new row","3",)), - wideblock7=BLOC(condition='PROCGROUP7=="add new row"'+cond2(7), - PROCGROUP8=SIMP(statut='o',typ='TXM',into=("add new row","2","3",)), - wideblock8=BLOC(condition='PROCGROUP8=="add new row"'+cond2(8), - ) - ) - ) - ) - ) - ) - ) - ) -) - -#LEV1 = OPER( nom = "LEV1", -# sd_prod=loi, -# op=68, -# fr='LEV1 FR', -# Boolean01=SIMP( statut = 'o',typ = bool, defaut=True, fr = 'Bool mandatory FR', ang = 'Bool mandatory EN'), -# SelectedItem=SIMP(statut = 'o',typ = 'TXM', into=["01_01","01_02","01_03","01_04"], fr="FR"), -#) - -Classement_Commandes_Ds_Arbre=('PROC_01',) - -Ordre_Des_Commandes = ('PROC_01',) diff --git a/MED/Nested_Cond_52946_Cata.py b/MED/Nested_Cond_52946_Cata.py deleted file mode 100644 index fef5edf0..00000000 --- a/MED/Nested_Cond_52946_Cata.py +++ /dev/null @@ -1,62 +0,0 @@ -# coding: utf-8 - -from Accas import * - -class loi(): pass - -JdC = JDC_CATA (code = 'PATTERNS', - execmodul = None, - ) -use_and=True #switch off second condition about MAX_ROWS while it does not work for blocks greater than 2 -def cond2(myMax=False): - if use_and: - if myMax: - out= " and MAX_ROWS>="+str(myMax) - else: - out="" - else: - out="" - print out - return out - -PROC_01 = PROC(nom = "PROC_01",op = None, ang="Help for PROC_01 EN", - MAX_ROWS=SIMP(statut='o',typ='I',val_min=1,val_max=8, defaut=8), - PROCGROUP1=SIMP(statut='o',typ='TXM',into=("1","2","add new row",)), - wideblock1=BLOC(condition='PROCGROUP1=="add new row"'+cond2(1), - PROCGROUP2=SIMP(statut='o',typ='TXM',into=("1","add new row","3",)), - #wideblock2=BLOC(condition='PROCGROUP2=="add new row"', - wideblock2=BLOC(condition='MAX_ROWS == 8', - #wideblock2=BLOC(condition='PROCGROUP2=="add new row" and (MAX_ROWS > 2)', - PROCGROUP3=SIMP(statut='o',typ='TXM',into=("1","2","add new row",)), - wideblock3=BLOC(condition='PROCGROUP3=="add new row"'+cond2(3), - PROCGROUP4=SIMP(statut='o',typ='TXM',into=("1","add new row","3",)), - wideblock4=BLOC(condition='PROCGROUP4=="add new row"'+cond2(4), - PROCGROUP5=SIMP(statut='o',typ='TXM',into=("add new row","2","3",)), - wideblock5=BLOC(condition='PROCGROUP5=="add new row"'+cond2(5), - PROCGROUP6=SIMP(statut='o',typ='TXM',into=("1","2","add new row",)), - wideblock6=BLOC(condition='PROCGROUP6=="add new row"'+cond2(6), - PROCGROUP7=SIMP(statut='o',typ='TXM',into=("1","add new row","3",)), - wideblock7=BLOC(condition='PROCGROUP7=="add new row"'+cond2(7), - PROCGROUP8=SIMP(statut='o',typ='TXM',into=("add new row","2","3",)), - wideblock8=BLOC(condition='PROCGROUP8=="add new row"'+cond2(8), - ) - ) - ) - ) - ) - ) - ) - ) -) - -#LEV1 = OPER( nom = "LEV1", -# sd_prod=loi, -# op=68, -# fr='LEV1 FR', -# Boolean01=SIMP( statut = 'o',typ = bool, defaut=True, fr = 'Bool mandatory FR', ang = 'Bool mandatory EN'), -# SelectedItem=SIMP(statut = 'o',typ = 'TXM', into=["01_01","01_02","01_03","01_04"], fr="FR"), -#) - -Classement_Commandes_Ds_Arbre=('PROC_01',) - -Ordre_Des_Commandes = ('PROC_01',) diff --git a/MED/Nested_Cond_52947_Cata.py b/MED/Nested_Cond_52947_Cata.py deleted file mode 100644 index bf3be39e..00000000 --- a/MED/Nested_Cond_52947_Cata.py +++ /dev/null @@ -1,17 +0,0 @@ -# coding: utf-8 - -from Accas import * - -class loi(): pass - -JdC = JDC_CATA (code = 'PATTERNS', - execmodul = None, - ) - -PROC_01 = PROC(nom = "PROC_01",op = None, ang="Help for PROC_01 EN", - PROCGROUP1=SIMP(statut='o',typ='TXM',into=("a1","a2","a3",)), -) - -Classement_Commandes_Ds_Arbre=('PROC_01',) - -Ordre_Des_Commandes = ('PROC_01',) diff --git a/MED/Nested_Cond_52948_Cata.py b/MED/Nested_Cond_52948_Cata.py deleted file mode 100644 index 81f216f8..00000000 --- a/MED/Nested_Cond_52948_Cata.py +++ /dev/null @@ -1,21 +0,0 @@ -# coding: utf-8 - -from Accas import * - -class loi(ASSD): pass - -JdC = JDC_CATA (code = 'PATTERNS', - execmodul = None, - ) - -PER_01 = OPER( nom = "PER_01", - sd_prod=loi, - op=68, - fr='LEV1 FR', - Boolean01=SIMP( statut = 'o',typ = bool, defaut=True, fr = 'Bool mandatory FR', ang = 'Bool mandatory EN'), - SelectedItem=SIMP(statut = 'o',typ = 'TXM', into=["01_01","01_02","01_03","01_04"], fr="FR"), -) - -#Classement_Commandes_Ds_Arbre=('OPER_01',) - -#Ordre_Des_Commandes = ('OPER_01',) diff --git a/MED/Nested_Cond_52949_Cata.py b/MED/Nested_Cond_52949_Cata.py deleted file mode 100644 index d09011a3..00000000 --- a/MED/Nested_Cond_52949_Cata.py +++ /dev/null @@ -1,19 +0,0 @@ -# coding: utf-8 - -from Accas import * - -JdC = JDC_CATA (code = 'PATTERNS', - execmodul = None, - ) - -PROC_01 = PROC(nom = "PROC_01",op = None, ang="Help for PROC_01 EN", - MAX_ROWS=SIMP(statut='o',typ='I',val_min=1,val_max=8, defaut=8), - PROCGROUP1=SIMP(statut='o',typ='TXM',into=("1","2","add new row",)), - wideblock1=BLOC(condition='PROCGROUP1 in "add new row"', - PROCGROUP2=SIMP(statut='o',typ='TXM',into=("1","add new row","3",)), - ) -) - -Classement_Commandes_Ds_Arbre=('PROC_01',) - -Ordre_Des_Commandes = ('PROC_01',) diff --git a/MED/Nested_Cond_52952_Cata.py b/MED/Nested_Cond_52952_Cata.py deleted file mode 100644 index 47a8d7c5..00000000 --- a/MED/Nested_Cond_52952_Cata.py +++ /dev/null @@ -1,60 +0,0 @@ -# coding: utf-8 - -from Accas import * - -class loi(): pass - -JdC = JDC_CATA (code = 'PATTERNS', - execmodul = None, - ) -use_and=False #switch off second condition about MAX_ROWS while it does not work for blocks greater than 2 -def cond2(myMax=False): - if use_and: - if myMax: - out= " and MAX_ROWS>="+str(myMax) - else: - out="" - else: - out="" - #print out - return out - -PROC_01 = PROC(nom = "PROC_01",op = None, ang="Help for PROC_01 EN", - MAX_ROWS=SIMP(statut='o',typ='I',val_min=1,val_max=8, defaut=8), - PROCGROUP1=SIMP(statut='o',typ='TXM',into=("1","2","add new row",)), - wideblock1=BLOC(condition='PROCGROUP1=="add new row"'+cond2(1), - PROCGROUP2=SIMP(statut='o',typ='TXM',into=("1","add new row","3",)), - wideblock2=BLOC(condition='PROCGROUP2=="add new row"'+cond2(2), - PROCGROUP3=SIMP(statut='o',typ='TXM',into=("1","2","add new row",)), - wideblock3=BLOC(condition='PROCGROUP3=="add new row"'+cond2(3), - PROCGROUP4=SIMP(statut='o',typ='TXM',into=("1","add new row","3",)), - wideblock4=BLOC(condition='PROCGROUP4=="add new row"'+cond2(4), - PROCGROUP5=SIMP(statut='o',typ='TXM',into=("add new row","2","3",)), - wideblock5=BLOC(condition='PROCGROUP5=="add new row"'+cond2(5), - PROCGROUP6=SIMP(statut='o',typ='TXM',into=("1","2","add new row",)), - wideblock6=BLOC(condition='PROCGROUP6=="add new row"'+cond2(6), - PROCGROUP7=SIMP(statut='o',typ='TXM',into=("1","add new row","3",)), - wideblock7=BLOC(condition='PROCGROUP7=="add new row"'+cond2(7), - PROCGROUP8=SIMP(statut='o',typ='TXM',into=("add new row","2","3",)), - wideblock8=BLOC(condition='PROCGROUP8=="add new row"'+cond2(8), - ) - ) - ) - ) - ) - ) - ) - ) -) - -#LEV1 = OPER( nom = "LEV1", -# sd_prod=loi, -# op=68, -# fr='LEV1 FR', -# Boolean01=SIMP( statut = 'o',typ = bool, defaut=True, fr = 'Bool mandatory FR', ang = 'Bool mandatory EN'), -# SelectedItem=SIMP(statut = 'o',typ = 'TXM', into=["01_01","01_02","01_03","01_04"], fr="FR"), -#) - -Classement_Commandes_Ds_Arbre=('PROC_01',) - -Ordre_Des_Commandes = ('PROC_01',) diff --git a/MED/Separate_Blocks_52958_Cata.py b/MED/Separate_Blocks_52958_Cata.py deleted file mode 100644 index 1327a3fb..00000000 --- a/MED/Separate_Blocks_52958_Cata.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding: utf-8 - -from Accas import * - -JdC = JDC_CATA (code = 'PATTERNS', - execmodul = None, - ) -def several(suffix,num): - out=list() - for i in range(1,num+1): - out.append(suffix+str(i).zfill(2)) - return out - -NUMERICAL_PARAMETERS=PROC(nom = "NUMERICAL_PARAMETERS", op=None, ang="Help for NUMERICAL_PARAMETERS, English version", - #Equations=SIMP(statut = 'o',typ = 'TXM',into=("EF","VF","BS"),defaut="EF"), - Solver_definition=FACT(statut = 'o', - Solver = SIMP(statut = 'o',typ = 'TXM', into=several("Solver_",12), defaut="Solver_06"), - ) -) -PASCALE=PROC(nom = "PASCALE", op=None, ang="Help for NUMERICAL_PARAMETERS, English version", - Equations=SIMP(statut = 'o',typ = 'TXM',into=("EF","VF","BS"),defaut="EF"), - Solver_definition=FACT(statut = 'o', - Solver = SIMP(statut = 'o',typ = 'TXM', into=several("Solver_",12), defaut="Solver_06"), - ) -) - -Classement_Commandes_Ds_Arbre=('NUMERICAL_PARAMETERS',) - -Ordre_Des_Commandes = ('NUMERICAL_PARAMETERS',) diff --git a/MED/Separate_Blocks_52963_Cata.py b/MED/Separate_Blocks_52963_Cata.py deleted file mode 100644 index c115196f..00000000 --- a/MED/Separate_Blocks_52963_Cata.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding: utf-8 - -from Accas import * - -JdC = JDC_CATA (code = 'PATTERNS', - execmodul = None, - ) -def mySeveral(suffix,num): - out=list() - for i in range(1,num+1): - out.append(suffix+str(i).zfill(2)) - return out - -def myFact(num): - myNum=str(num).zfill(2) - list_item_body="Item_"+myNum+"_" - myString="FACT(statut = 'f', List_"+myNum+" = SIMP(statut = 'o',typ = 'TXM', into=mySeveral('"+list_item_body+"',12), defaut='"+list_item_body+myNum+"'),Real_"+myNum+" = SIMP(statut = 'o',typ = 'R', defaut = "+str(num/100.)+", ang='Real "+myNum+" help EN'),Integer_"+myNum+" = SIMP(statut = 'o',typ = 'I', defaut = "+str(100+num)+",ang='Max_Iter "+myNum+" help EN'))" - print myString - return eval(myString) - - -PROC_01=PROC(nom = "PROC_01", op=None, ang="Help for PROC_01, English version",fr="Help for PROC_01, French version", docu="", - Radio_01=SIMP(statut = 'f',typ = 'TXM',into=("EF","VF","BS"),defaut="EF"), - FACT_01=myFact(1), - FACT_02=myFact(2), - FACT_03=myFact(3), - FACT_04=myFact(4), - FACT_05=myFact(5), - FACT_06=myFact(6), - FACT_07=myFact(7), - FACT_08=myFact(8), - FACT_09=myFact(9), - FACT_10=myFact(10), - FACT_11=myFact(11), - FACT_12=myFact(12), -) - -Classement_Commandes_Ds_Arbre=('PROC_01',) - -Ordre_Des_Commandes = ('PROC_01',) diff --git a/MED/Separate_Blocks_52966_Cata.py b/MED/Separate_Blocks_52966_Cata.py deleted file mode 100644 index baef1eb1..00000000 --- a/MED/Separate_Blocks_52966_Cata.py +++ /dev/null @@ -1,48 +0,0 @@ -# coding: utf-8 - -from Accas import * - -JdC = JDC_CATA (code = 'PATTERNS', - execmodul = None, - ) -def mySeveral(suffix,num): - out=list() - for i in range(1,num+1): - out.append(suffix+str(i).zfill(2)) - return out - -switch_facultatif=False #change 'o' to 'f' of some widgets in the loop - -def myFact(num): - opt=['o','f','o','o'] - if switch_facultatif: - myLen=len(opt) - make_f=(num-1)%myLen - opt[make_f]='f' - #print opt - myNum=str(num).zfill(2) - list_item_body="Item_"+myNum+"_" - myString="FACT(statut = '"+opt[0]+"', List_"+myNum+" = SIMP(statut = '"+opt[1]+"',typ = 'TXM', into=mySeveral('"+list_item_body+"',12), defaut='"+list_item_body+myNum+"'),Real_"+myNum+" = SIMP(statut = '"+opt[2]+"',typ = 'R', defaut = "+str(num/100.)+", ang='Real "+myNum+" help EN'),Integer_"+myNum+" = SIMP(statut = '"+opt[3]+"',typ = 'I', defaut = "+str(100+num)+",ang='Max_Iter "+myNum+" help EN'))" - print myString - return eval(myString) - - -PROC_01=PROC(nom = "PROC_01", op=None, ang="Help for PROC_01, English version",fr="Help for PROC_01, French version", docu="", - Radio_01=SIMP(statut = 'o',typ = 'TXM',into=("EF","VF","BS"),defaut="EF"), - FACT_01=myFact(1), - FACT_02=myFact(2), - FACT_03=myFact(3), - FACT_04=myFact(4), - FACT_05=myFact(5), - FACT_06=myFact(6), - FACT_07=myFact(7), - FACT_08=myFact(8), - FACT_09=myFact(9), - FACT_10=myFact(10), - FACT_11=myFact(11), - FACT_12=myFact(12), -) - -Classement_Commandes_Ds_Arbre=('PROC_01',) - -Ordre_Des_Commandes = ('PROC_01',) diff --git a/MED/Separate_Blocks_52972_Cata.py b/MED/Separate_Blocks_52972_Cata.py deleted file mode 100644 index 88927e49..00000000 --- a/MED/Separate_Blocks_52972_Cata.py +++ /dev/null @@ -1,66 +0,0 @@ -# coding: utf-8 - -from Accas import * - -JdC = JDC_CATA (code = 'PATTERNS', - execmodul = None, - ) -def mySeveral(suffix,num): - out=list() - for i in range(1,num+1): - out.append(suffix+str(i).zfill(2)) - return out - -switch_facultatif=True #change 'o' to 'f' of some widgets in the loop -empty_defauts=True - -def myFact(num): - myNum=str(num).zfill(2) - list_item_body="Item_"+myNum+"_" - - defauts0=["","'"+list_item_body+myNum+"'", str(num/100.), str(100+num), "'Text_"+myNum+"'" ] #presence of default values - defauts_mask=[False,True,True,False,True] #switch off defaults of some types - defauts=list() - for id0 in range(len(defauts0)): - if defauts_mask[id0]: - item=", defaut="+defauts0[id0] - else: - item="" - defauts.append(item) - print defauts - - opt=['o','o','o','o','o'] #initial default obligation of items in FACT groups - #make some widgets optional: - myLen=len(opt) - if switch_facultatif: - make_f=(num)%myLen - opt[make_f]='f' - #print opt - if empty_defauts: - clean_defaut=num%myLen - - - myString="FACT(statut = '"+opt[0]+"', List_"+myNum+" = SIMP(statut = '"+opt[1]+"',typ = 'TXM', into=mySeveral('"+list_item_body+"',12)"+defauts[1]+"),Real_"+myNum+" = SIMP(statut = '"+opt[2]+"',typ = 'R'"+defauts[2]+", ang='Real "+myNum+" help EN'),Integer_"+myNum+" = SIMP(statut = '"+opt[3]+"',typ = 'I'"+defauts[3]+",ang='Integer "+myNum+" help EN'),Text_"+myNum+" = SIMP(statut = '"+opt[4]+"',typ = 'TXM'"+defauts[4]+",ang='Text "+myNum+" help EN'))" - print myString - return eval(myString) - - -PROC_01=PROC(nom = "PROC_01", op=None, ang="Help for PROC_01, English version",fr="Help for PROC_01, French version", docu="", - Radio_01=SIMP(statut = 'o',typ = 'TXM',into=("EF","VF","BS"),defaut="EF"), - FACT_01=myFact(1), - FACT_02=myFact(2), - FACT_03=myFact(3), - FACT_04=myFact(4), - FACT_05=myFact(5), - #FACT_06=myFact(6), - #FACT_07=myFact(7), - #FACT_08=myFact(8), - #FACT_09=myFact(9), - #FACT_10=myFact(10), - #FACT_11=myFact(11), - #FACT_12=myFact(12), -) - -Classement_Commandes_Ds_Arbre=('PROC_01',) - -Ordre_Des_Commandes = ('PROC_01',) diff --git a/MED/Separate_Blocks_52975_Cata.py b/MED/Separate_Blocks_52975_Cata.py deleted file mode 100644 index 88927e49..00000000 --- a/MED/Separate_Blocks_52975_Cata.py +++ /dev/null @@ -1,66 +0,0 @@ -# coding: utf-8 - -from Accas import * - -JdC = JDC_CATA (code = 'PATTERNS', - execmodul = None, - ) -def mySeveral(suffix,num): - out=list() - for i in range(1,num+1): - out.append(suffix+str(i).zfill(2)) - return out - -switch_facultatif=True #change 'o' to 'f' of some widgets in the loop -empty_defauts=True - -def myFact(num): - myNum=str(num).zfill(2) - list_item_body="Item_"+myNum+"_" - - defauts0=["","'"+list_item_body+myNum+"'", str(num/100.), str(100+num), "'Text_"+myNum+"'" ] #presence of default values - defauts_mask=[False,True,True,False,True] #switch off defaults of some types - defauts=list() - for id0 in range(len(defauts0)): - if defauts_mask[id0]: - item=", defaut="+defauts0[id0] - else: - item="" - defauts.append(item) - print defauts - - opt=['o','o','o','o','o'] #initial default obligation of items in FACT groups - #make some widgets optional: - myLen=len(opt) - if switch_facultatif: - make_f=(num)%myLen - opt[make_f]='f' - #print opt - if empty_defauts: - clean_defaut=num%myLen - - - myString="FACT(statut = '"+opt[0]+"', List_"+myNum+" = SIMP(statut = '"+opt[1]+"',typ = 'TXM', into=mySeveral('"+list_item_body+"',12)"+defauts[1]+"),Real_"+myNum+" = SIMP(statut = '"+opt[2]+"',typ = 'R'"+defauts[2]+", ang='Real "+myNum+" help EN'),Integer_"+myNum+" = SIMP(statut = '"+opt[3]+"',typ = 'I'"+defauts[3]+",ang='Integer "+myNum+" help EN'),Text_"+myNum+" = SIMP(statut = '"+opt[4]+"',typ = 'TXM'"+defauts[4]+",ang='Text "+myNum+" help EN'))" - print myString - return eval(myString) - - -PROC_01=PROC(nom = "PROC_01", op=None, ang="Help for PROC_01, English version",fr="Help for PROC_01, French version", docu="", - Radio_01=SIMP(statut = 'o',typ = 'TXM',into=("EF","VF","BS"),defaut="EF"), - FACT_01=myFact(1), - FACT_02=myFact(2), - FACT_03=myFact(3), - FACT_04=myFact(4), - FACT_05=myFact(5), - #FACT_06=myFact(6), - #FACT_07=myFact(7), - #FACT_08=myFact(8), - #FACT_09=myFact(9), - #FACT_10=myFact(10), - #FACT_11=myFact(11), - #FACT_12=myFact(12), -) - -Classement_Commandes_Ds_Arbre=('PROC_01',) - -Ordre_Des_Commandes = ('PROC_01',) diff --git a/MED/cata_diapo.py b/MED/cata_diapo.py deleted file mode 100644 index 0c5268ef..00000000 --- a/MED/cata_diapo.py +++ /dev/null @@ -1,48 +0,0 @@ -# coding: utf-8 - -from Accas import * -class Tuple: - def __init__(self,ntuple): - self.ntuple=ntuple - - def __convert__(self,valeur): - import types - if type(valeur) == types.StringType: - return None - if len(valeur) != self.ntuple: - return None - return valeur - - def info(self): - return "Tuple de %s elements" % self.ntuple - - __repr__=info - __str__=info - - - -class forme ( ASSD ) : pass - -JdC = JDC_CATA (code = 'MED', - execmodul = None, - ) - -FORME_GEOMETRIQUE=OPER(nom='FORME_GEOMETRIQUE',sd_prod =forme ,op=None, - Forme=SIMP(statut="o",typ='TXM',into=[ 'carre', 'cercle', 'triangle' ],defaut='carre'), - bloc_pour_Carre = BLOC (condition = "Forme=='carre'", - Cote=SIMP(statut="o",typ='I'), ) , # fin bloc_pour_carre - bloc_pour_cercle = BLOC (condition ="Forme=='cercle'", - rayon=SIMP(statut="o",typ='I'), ) , # fin bloc_pour_cercle - - DE_NOMBREUSES_WIDGETS= FACT(statut="o", - Stop_Criteria = SIMP(statut = 'o',typ = Tuple(3),validators = VerifTypeTuple(('R','R','R'))), - Fichier_Med = SIMP( statut = 'o', typ = ('Fichier', 'Med Files (*.med);;All Files (*)',),), - ListeDeChoixPlusGrande=SIMP(statut="o",typ='TXM',into=['a','b,','c','d','e','f','g','h'], - homo="SansOrdreNiDoublon",), - Un_Parametre_Facultatif=SIMP(statut="f",typ='TXM') - - ), - Couleur=SIMP(statut = 'f',typ='TXM'), - Matiere=SIMP(statut = 'f',typ='TXM'), -); - diff --git a/MED/cata_med.py b/MED/cata_med.py deleted file mode 100644 index 4640f81e..00000000 --- a/MED/cata_med.py +++ /dev/null @@ -1,29 +0,0 @@ -# coding: utf-8 - -from Accas import * - -JdC = JDC_CATA (code = 'MED', - execmodul = None, - ) -FAS=PROC(nom='FAS',op=None, - FAMILY_MESH_NAME_REF = FACT(statut='o', max='**', - - NAME=SIMP(statut="o",typ='TXM'), - ELEM=FACT(statut="f", max="**", - NUM=SIMP(statut="o",typ='TXM',), - NAME=SIMP(statut="o",typ='TXM',), - ATT=FACT(statut="f", - NBR=SIMP(statut="o", max=1 , typ = 'I'), - DES=SIMP(statut="o", max="**", typ = 'TXM'), - IDE=SIMP(statut="o", max="**", typ = 'I'), - VAL=SIMP(statut="o", max="**", typ = 'I'), - ), - GRO=FACT(statut="f", - NBR=SIMP(statut="o", max=1 , typ = 'I'), - NOM=SIMP(statut="o", max="**", typ='TXM'), - ), - ), - ), -); - - diff --git a/MED/configuration_MED.py b/MED/configuration_MED.py deleted file mode 100644 index 4ab64b85..00000000 --- a/MED/configuration_MED.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== -""" - Ce module sert pour charger les paramètres de configuration d'EFICAS -""" -# Modules Python -from InterfaceQT4 import configuration -import os - - -class CONFIG(configuration.CONFIG_BASE): - - #----------------------------------- - def __init__(self,appli,repIni): - #----------------------------------- - - self.labels_user=['catalogues','lang'] - self.labels_eficas=['lang','rep_cata','catalogues'] - - configuration.CONFIG_BASE.__init__(self,appli,'.Eficas_monCode') - - -def make_config(appli,rep): - return CONFIG(appli,rep) - diff --git a/MED/monCode_qtEficas.py b/MED/monCode_qtEficas.py deleted file mode 100755 index b1254f2c..00000000 --- a/MED/monCode_qtEficas.py +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -""" - Ce module sert a lancer EFICAS configure pour Code_Aster -""" -# Modules Python -# Modules Eficas - -import sys,os -sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) - -from PyQt4.QtCore import * -import prefs -from InterfaceQT4 import eficas_go -eficas_go.lance_eficas(code=prefs.code) diff --git a/MED/prefs.py b/MED/prefs.py deleted file mode 100644 index 2e9d0a2e..00000000 --- a/MED/prefs.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -code="MED" -import sys, os -if os.path.dirname(os.path.abspath(__file__)) not in sys.path : - sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/MED/prefs_MED.py b/MED/prefs_MED.py deleted file mode 100644 index 220dc3f0..00000000 --- a/MED/prefs_MED.py +++ /dev/null @@ -1,48 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -import os,sys -# repIni sert a localiser le fichier editeur.ini -# Obligatoire -repIni=os.path.dirname(os.path.abspath(__file__)) -INSTALLDIR=os.path.join(repIni,'..') -sys.path[:0]=[INSTALLDIR] - - -# lang indique la langue utilisee pour les chaines d'aide : fr ou ang -lang='en' - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -encoding='iso-8859-1' -docPath=repIni - -# -catalogues=( - #('med','med',os.path.join(repIni,'cata_med.py'),'dico','python'), - ('med','med',os.path.join(repIni,'CataAZ.py'),'python','python'), -) - -simpleClic=True -nombreDeBoutonParLigne = 4 -dicoImages={ -'CREEOBJET' : os.path.join(repIni,'images/essaiAster.png') -} - diff --git a/MED/prefs_monCode.py b/MED/prefs_monCode.py deleted file mode 100644 index b9e513fc..00000000 --- a/MED/prefs_monCode.py +++ /dev/null @@ -1,68 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -import os,sys -# repIni sert a localiser le fichier editeur.ini -# Obligatoire -repIni=os.path.dirname(os.path.abspath(__file__)) -INSTALLDIR=os.path.join(repIni,'..') -sys.path[:0]=[INSTALLDIR] - - -# lang indique la langue utilisee pour les chaines d'aide : fr ou ang -lang='en' - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -encoding='iso-8859-1' -docPath=repIni - -# -catalogues=( - ('monCode','med',os.path.join(repIni,'CataAZ.py'),'python','python'), -# ('monCode','53036',os.path.join(repIni,'Elementary_Lists_53036_Cata.py'),'dico','python'), -# ('monCode','53033',os.path.join(repIni,'Tuples_Cata.py'),'dico','python'), -# ('monCode','53031',os.path.join(repIni,'Tuples_Cata.py'),'dico','python'), -# ('monCode','53030',os.path.join(repIni,'Tuples_Cata.py'),'dico','python'), -# ('monCode','53020',os.path.join(repIni,'Nested_Cond_52945_Cata.py'),'dico','python'), -# ('monCode','53013',os.path.join(repIni,'Elementary_Lists_53013_Cata.py'),'dico','python'), -# ('monCode','53000',os.path.join(repIni,'Elementary_Lists_53030_Cata.py'),'dico','python'), -# ('monCode','52996',os.path.join(repIni,'Elementary_Lists_52996_Cata.py'),'dico','python'), -# ('monCode','52992',os.path.join(repIni,'Many_Concepts_52992_Cata.py'),'dico','python'), -# ('monCode','52989',os.path.join(repIni,'Many_Concepts_52989_Cata.py'),'dico','python'), -# ('monCode','52988',os.path.join(repIni,'Many_Concepts_52988_Cata.py'),'dico','python'), -# ('monCode','52985',os.path.join(repIni,'fin_52985_Cata.py'),'dico','python'), -# ('monCode','52983',os.path.join(repIni,'Many_Concepts_52983_Cata.py'),'dico','python'), -# ('monCode','52975',os.path.join(repIni,'Separate_Blocks_52975_Cata.py'),'dico','python'), -# ('monCode','52972',os.path.join(repIni,'Separate_Blocks_52972_Cata.py'),'dico','python'), -# ('monCode','52958',os.path.join(repIni,'Separate_Blocks_52958_Cata.py'),'dico','python'), -# ('monCode','52952',os.path.join(repIni,'Nested_Cond_52952_Cata.py'),'dico','python'), -# ('monCode','52949',os.path.join(repIni,'Nested_Cond_52949_Cata.py'),'dico','python'), -# ('monCode','52947',os.path.join(repIni,'Nested_Cond_52947_Cata.py'),'dico','python'), -# ('monCode','52946',os.path.join(repIni,'Nested_Cond_52946_Cata.py'),'dico','python'), -# ('monCode','52945',os.path.join(repIni,'Nested_Cond_52945_Cata.py'),'dico','python'), -# ('monCode','Global',os.path.join(repIni,'Global_Condition_Cata.py'),'dico','python'), -## resolu ('monCode','52948',os.path.join(repIni,'Nested_Cond_52948_Cata.py'),'dico','python'), -# pb d afffichage des optionnels ('monCode','52963',os.path.join(repIni,'Separate_Blocks_52963_Cata.py'),'dico','python'), -# pb d afffichage des optionnels ('monCode','52966',os.path.join(repIni,'Separate_Blocks_52966_Cata.py'),'dico','python'), - -# ('monCode','test',os.path.join(repIni,'monCode_Cata1.py'),'dico','python'), -) - diff --git a/MED/properties.py b/MED/properties.py deleted file mode 100644 index 1d328a46..00000000 --- a/MED/properties.py +++ /dev/null @@ -1,24 +0,0 @@ -#@ MODIF properties Accas DATE 11/06/2008 AUTEUR aster M.ADMINISTRATEUR -# RESPONSABLE D6BHHHH J-P.LEFEBVRE -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR -# DE LA VERSION DU CODE_ASTER ASSOCIE -#---------------------------------------------------------------------- -version = "1.2" -date = "25/05/2010" -exploit = False diff --git a/MED/qtEficas_AZ.py b/MED/qtEficas_AZ.py deleted file mode 100755 index f49b9bcb..00000000 --- a/MED/qtEficas_AZ.py +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -""" - Ce module sert a lancer EFICAS configure pour Code_Aster -""" -# Modules Python -# Modules Eficas - -import sys,os -sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) - -import prefs -from InterfaceQT4 import eficas_go -eficas_go.lance_eficas(code=prefs.code) diff --git a/MED/qtEficas_Med.py b/MED/qtEficas_Med.py deleted file mode 100755 index f49b9bcb..00000000 --- a/MED/qtEficas_Med.py +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -""" - Ce module sert a lancer EFICAS configure pour Code_Aster -""" -# Modules Python -# Modules Eficas - -import sys,os -sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) - -import prefs -from InterfaceQT4 import eficas_go -eficas_go.lance_eficas(code=prefs.code) diff --git a/MT/MT_Cata_V1.py b/MT/MT_Cata_V1.py deleted file mode 100644 index fed6cb09..00000000 --- a/MT/MT_Cata_V1.py +++ /dev/null @@ -1,944 +0,0 @@ -## -*- coding: utf-8 -*- -# -## -------------------------------------------------- -## debut entete -## -------------------------------------------------- -# -# 20120510 : suppression de la valeur par defaut de MATERIAU->PARAMETRES_MAT->NU -# changement du nom MATERIAU->PARAMETRES_MAT->MASS_VOL en MATERIAU->PARAMETRES_MAT->RHO -# -# 20120619 : changement ordre d'affichage des macros -> ordre de création -# 20120725 : modification definition (matrices A,K,M) palier et support -# 20130411 : ajout elements dans palier generalise (mail tdg + comm tdg) -# -# todo : supprimer les noeuds -> definir les elements par leur longueur -# -# -# -# -# - - - - - - - - -from Accas import * -# - -import types -class Tuple: - def __init__(self,ntuple): - self.ntuple=ntuple - - def __convert__(self,valeur): - if type(valeur) == types.StringType: - return None - if len(valeur) != self.ntuple: - return None - return valeur - - def info(self): - return "Tuple de %s elements" % self.ntuple - - __repr__=info - __str__=info - - -#CONTEXT.debug = 1 -JdC = JDC_CATA(code = 'MT', - execmodul = None, - regles = (AU_MOINS_UN ( 'LIGNE_ARBRE',), - AU_PLUS_UN ( 'LIGNE_ARBRE',)), - ) # Fin JDC_CATA - -class Direction(ASSD): pass -class Materiau(ASSD): pass -#class Masse(ASSD): pass -class Zone(ASSD): pass -class Palier(ASSD): pass -#class Masse(ASSD): pass -#class ConditionsAuxLimites(ASSD): pass -class LigneArbre(ASSD): pass -class Support(ASSD): pass -#class Noeud(ASSD): pass - -## def macro_noeuds(self, NOEUD, **args): -## """ -## """ -## if NOEUD is not None: -## self.type_sdprod(NOEUD, Noeud) -## pass -## else: -## raise AsException("Impossible de typer les concepts resultats") - -## return Noeuds - -############################# DIRECTION ######################################## -DIRECTION = OPER(nom = "DIRECTION", - op = None, - sd_prod = Direction, - reentrant = 'n', - UIinfo = {"groupes": ("Machine tournante",)}, - fr = "Direction de la ligne d'arbre", - AXE = SIMP(statut = 'o', - typ = 'TXM', - fr = "Choix de la direction \n de l'axe de la ligne d'arbre (horizontal = Z, vertical = X)", - ang = "Choix de la direction \n de l'axe de la ligne d'arbre (horizontal = Z, vertical = X)", - min=1, - max=1, - into = ('HORIZONTAL','VERTICAL'), - defaut = 'HORIZONTAL', - ), # end AXE - ) # end DIRECTION - - -############################# MATERIAUX ######################################## -# @todo -# introduction manuelle => dans ce cas l'utilisateur definit le -# materiau comme ci-dessous -# recuperation depuis une bibliothèque de materiau => sera specife -# plus tard -MATERIAUX = OPER(nom = 'MATERIAUX', - op = None, - sd_prod = Materiau, - reentrant = 'n', - UIinfo = {"groupes": ("Machine tournante",)}, - fr = "Description materiau MT ", - TYPE_INTRO = SIMP(statut='o', - typ='TXM', - into=('MANUELLE','FICHIER'), - min=1, - max=1, - defaut='MANUELLE', - ), # end TYPE_INTRO - PARAMETRES_MAT = BLOC(condition = "((TYPE_INTRO == 'MANUELLE') )", - #MASS_VOL = SIMP(statut='o', typ='R', min=1, max=1, fr='masse volumique'), - RHO = SIMP(statut='o', - typ='R', - min=1, - max=1, - fr='masse volumique (en kg/m**3)', - ), # end RHO - E = SIMP(statut='o', - typ='R', - min=1, - max=1, - fr='module de Young (en Pa)', - ), # end E - NU = SIMP(statut='o', - typ='R', - min=1, - max=1, - val_min=-1.0, - val_max=0.5, - fr='coefficient de cisaillement (-1.0 <= NU <= 0.5)', - ), # end NU - ALPHA = SIMP(statut='f', - typ='R', - min=1, - max=1, - fr = "coefficient permettant de construire une matrice d'amortissement visqueux proportionnel a la rigidite", - ), # end ALPHA - BETA = SIMP(statut='f', - typ='R', - min=1, - max=1, - fr = "coefficient permettant de construire une matrice d'amortissement visqueux proportionnel a la masse", - ), # end BETA - GAMA = SIMP(statut='f', - typ='R', - min=1, - max=1, - fr = "coefficient d'amortissement hysteretique permettant de definir le module d'Young complexe", - ), # end GAMA - ), # end PARAMETRES_MAT - FICHIER_MAT = BLOC(condition = "((TYPE_INTRO == 'FICHIER') )", - MATERIAU_CATALOGUE = SIMP(statut='o', - min=1, - max=1, - typ=('Fichier','Fichier materiau (*.*)'), - fr="Format du fichier : CSV.", - ), # end MATERIAU_CATALOGUE - ), # end FICHIER_MAT - #SIMP(typ=('Fichier','JDC Files (*.comm)'),docu='',min=1,max=1,statut='o',defaut=None) - ) # end MATERIAU - - - -############################# ZONES ######################################## -ZONE = OPER(nom = 'ZONE', - op = None, - sd_prod = Zone, - reentrant = 'n', - UIinfo = {"groupes":("Machine tournante",)}, - fr = "Description zone MT ", - regles = (PRESENT_PRESENT("MASSE","TOTO","TITI")), - TOTO=SIMP(typ="TXM",statut='f'), - TITI=SIMP(typ="TXM",statut='f'), - MASSE = FACT(statut='f', - min=0, - max='**', - fr = "Definition des masses", - #POSITION = SIMP(statut='o', - NOEUD = SIMP(statut='o', - typ='TXM', - defaut=None, - fr = "Definition de la position de la masse par l'étiquette du noeud", - ), # end POSITION - TYPE_MASSE = SIMP(statut='o', - typ='TXM', - fr = "Choix du type de masse", - into=('DISQUE','AILETTE','QUELCONQUE'), - ), # end TYPE_MASSE - DISQUE = BLOC(condition = "((TYPE_MASSE == 'DISQUE') )", - TYPE_SAISIE = SIMP(statut='o', - typ='TXM', - fr = "Choix du type de saisie des parametres de la masse", - into = ('MECANIQUE','GEOMETRIQUE'), - defaut = 'MECANIQUE' - ), # end TYPE_SAISIE - PARAMETRES_MECANIQUE = BLOC(condition = "TYPE_SAISIE == 'MECANIQUE'", - PARAMETRES = FACT(statut = 'o', - fr = "Parametres mecanique pour Masse de type DISQUE", - MASSE = SIMP(statut='o', - typ='R', - val_min=0, - fr = "magnitude de la masse disque (en kg)", - ), # end MASSE_DISQUE - INERTIEX = SIMP(statut='o', - typ='R', - fr = "inertie en x (en kg.m**2)", - ), # end INERTIEX - INERTIEY = SIMP(statut='o', - typ='R', - fr = "inertie en y (en kg.m**2)", - ), # end INERTIEY - INERTIEZ = SIMP(statut='o', - typ='R', - fr = "inertie en z (en kg.m**2)", - ), # end INERTIEZ - ) # nd PARAMETRES_DISQUE_M - ), # end PARAMETRES_MECANIQUE - PARAMETRES_GEOMETRIQUE = BLOC(condition = "TYPE_SAISIE == 'GEOMETRIQUE'", - PARAMETRES = FACT(statut = 'o', - fr = "Parametres geometrique pour Masse de type DISQUE", - DIAMETRE_EXT = SIMP(statut='o', - typ='R', - val_min=0, - fr = "diametre exterieur de la masse disque (en m)", - ), # end MASSE_DISQUE - DIAMETRE_INT = SIMP(statut='o', - typ='R', - fr = "diametre interieur de la masse disque (en m). Verifier le diametre de la section avant saisie", - ), # end INERTIEX - EPAISSEUR = SIMP(statut='o', - typ='R', - val_min=0, - fr = "epaisseur (largeur) de la masse disque (en m)", - ), # end INERTIEY - MATERIAU = SIMP(statut='o', - typ=Materiau, - fr = "materiau defini par le concept MATERIAU", - ), # end INERTIEZ - ) # nd PARAMETRES_DISQUE_G - ), # end PARAMETRES_MECANIQUE - ), # end DISQUE - AILETTE = BLOC(condition = "((TYPE_MASSE == 'AILETTE') )", - TYPE_SAISIE = SIMP(statut='o', - typ='TXM', - fr = "Choix du type de saisie des parametres de la masse", - into = ('MECANIQUE','GEOMETRIQUE'), - defaut = 'MECANIQUE' - ), # end TYPE_SAISIE - PARAMETRES_MECANIQUE = BLOC(condition = "TYPE_SAISIE == 'MECANIQUE'", - PARAMETRES = FACT(statut = 'o', - fr = "Parametres mecanique pour Masse de type AILETTE", - MASSE = SIMP(statut='o', - typ='R', - val_min=0, - fr = "magnitude de la masse ailette (en kg)", - ), # end MASSE_AILETTE - INERTIEX = SIMP(statut='o', - typ='R', - fr = "inertie en x (en kg.m**2)", - ), # end INERTIEX - INERTIEY = SIMP(statut='o', - typ='R', - fr = "inertie en y (en kg.m**2)", - ), # end INERTIEY - INERTIEZ = SIMP(statut='o', - typ='R', - fr = "inertie en z (en kg.m**2)", - ), # end INERTIEZ - ) # nd PARAMETRES_AILETTE_M - ), # end PARAMETRES_MECANIQUE - PARAMETRES_GEOMETRIQUE = BLOC(condition = "TYPE_SAISIE == 'GEOMETRIQUE'", - PARAMETRES = FACT(statut = 'o', - fr = "Parametres geometrique pour Masse de type AILETTE", - MASSE_AILETTE = SIMP(statut='o', - typ='R', - val_min=0, - fr = "Renseignement de la masse d'une ailette (en kg)", - ), # end MASSE_AILETTE - RAYON = SIMP(statut='o', - typ='R', - val_min=0, - fr = "Renseignement de la distance entre le pied de l'ailette et le centre de rotation (en m). Verifier le diametre de la section avant saisie", - ), # end RAYON - HAUTEUR = SIMP(statut='o', - typ='R', - val_min=0, - fr = "Renseignement de la distance entre les deux extremites de l'ailette (en m)", - ), # end HAUTEUR - BASE = SIMP(statut='o', - typ='R', - val_min=0, - fr = "Renseignement de la largeur du pied de l'ailette (en m)", - ), # end BASE - NOMBRE = SIMP(statut='o', - typ='I', - val_min=1, - fr = "renseignement du nombre d'ailette sur le disque", - ), - ) # end PARAMETRES_DISQUE - ), # end PARAMETRES_MECANIQUE - ), # end AILETTE - QUELCONQUE = BLOC(condition = "((TYPE_MASSE == 'QUELCONQUE') )", - #TYPE_SAISIE = SIMP(statut='c',typ='TXM',defaut="MECANIQUE"), # cf 20120622 test : mot-clé caché - PARAMETRES = FACT(statut = 'o', - fr = "Parametres pour Masse de type QUELCONQUE", - MASSE = SIMP(statut='o', - typ='R', - val_min=0, - fr = "magnitude de la masse quelconque (en m)", - ), # end MASSE - INERTIEX = SIMP(statut='o', - typ='R', - fr = "inertie en x (en kg.m**2)", - ), # end INERTIEX - INERTIEY = SIMP(statut='o', - typ='R', - fr = "inertie en y (en kg.m**2)", - ), # end INERTIEY - INERTIEZ = SIMP(statut='o', - typ='R', - fr = "inertie en z (en kg.m**2)", - ), # end INERTIEZ - ), # end PARAMETRES_QUELCONQUE - ), # end QUELCONQUE - ), # end MASSE - NOEUDS = FACT(fr = "abscisse curviligne du noeud", - statut='o', - min=2, - max='**', - NOM = SIMP(statut='o', - typ='TXM', - fr="nom du noeud", - ), # end NOM - X = SIMP(statut='o', - typ='R', - defaut=0.0, - val_min=0.0, - fr = "abscisse curviligne du noeud", - ), # end X - ), # end NOEUDS - ELEMENTS = FACT(statut='o', - min=1, - max='**', - NOM = SIMP(statut='o', - typ='TXM', - fr="Nom de l'element" - ), # end NOM - DEBUT = SIMP(statut='o', - typ='TXM', - fr= "Noeud de debut de l'element (etiquette d'un noeud)" - ), # end DEBUT - FIN = SIMP(statut='o', - typ='TXM', - fr= "Noeud de fin de l'element (etiquette d'un noeud)" - ), # end FIN - RAFFINAGE = SIMP(statut='o', - typ='TXM', - into=('OUI','NON'), - defaut='NON' - ), # end RAFFINAGE - PARAM_RAFFINAGE = BLOC(condition = "((RAFFINAGE == 'OUI') )", - NB_POINTS_SUPPL = SIMP(statut='o', - typ='I' - ), # end NB_POINTS_SUPPL - ), # end PARAM_RAFFINAGE - MATERIAU = SIMP(statut='o', - typ=Materiau, - fr= "Choix du Materiau de l'element" - ), # end MATERIAU - SECTION_MASSE = FACT(statut='o', - fr = "Section liee à la masse ", - TYPE_SECTION = SIMP(statut='o', - typ='TXM', - into=('CONSTANTE','VARIABLE'), - defaut='CONSTANTE', - ), # end TYPE_SECTION - DIAM_EXTERN_DEBUT = SIMP(statut='o', - typ='R', - fr = "diametre exterieur en debut de section (en m)", - ), # end DIAM_EXTERN_DEBUT - DIAM_INTERN_DEBUT = SIMP(statut='o', - typ='R', - fr = "diametre interieur en debut de section (en m)", - ), # end DIAM_INTERN_DEBUT - PARAMETRE_SECT_VAR = BLOC(condition = "((TYPE_SECTION == 'VARIABLE') )", - DIAM_EXTERN_SORTIE = SIMP(statut='o', - typ='R', - fr = "diametre exterieur en fin de section (en m)", - ), # end DIAM_EXTERN_SORTIE - DIAM_INTERN_SORTIE = SIMP(statut='o', - typ='R', - fr = "diametre interieur en fin de section (en m)", - ), # DIAM_INTERN_SORTIE - ), - ), # end SECTION_MASSE - SECTION_RIGIDITE = FACT(statut='f', - fr = "Section liee à la rigidite ", - TYPE_SECTION = SIMP(statut='o', - typ='TXM', - into=('CONSTANTE','VARIABLE'), - defaut='CONSTANTE', - ), # end TYPE_SECTION - DIAM_EXTERN_DEBUT = SIMP(statut='o', - typ='R', - fr = "diametre exterieur en debut de section (en m)", - ), # end DIAM_EXTERN_DEBUT - DIAM_INTERN_DEBUT = SIMP(statut='o', - typ='R', - fr = "diametre interieur en debut de section (en m)", - ), # end DIAM_INTERN_DEBUT - PARAMETRE_SECT_VAR = BLOC(condition = "((TYPE_SECTION == 'VARIABLE') )", - DIAM_EXTERN_SORTIE = SIMP(statut='o', - typ='R', - fr = "diametre exterieur en fin de section (en m)", - ), # end DIAM_EXTERN_SORTIE - DIAM_INTERN_SORTIE = SIMP(statut='o', - typ='R', - fr = "diametre interieur en fin de section (en m)", - ), # end DIAM_INTERN_SORTIE - ), # end PARAMETRE_SECT_VAR - ), # end SECTION_RIGIDITE - ), # end ELEMENTS - FISSURE = FACT(statut='f', - fr="Saisie de la presence d'une fissure (uniquement sur section constante a droite et a gauche)", - MATERIAU = SIMP(statut='o', - typ=Materiau, - fr="Renseignement du materiau a la position de la fissure" - ), # end MATERIAU - NOEUD_FISSURE = SIMP(statut='o', - typ='TXM', - fr="Renseignement de l'etiquette du noeud de la fissure", - ), # end POSITION_FISSURE - ORIENTATION_FISSURE = SIMP(statut='o', - typ='R', - fr="Renseignement de la position angulaire de la fissure (en degres)", - ), # end ORIENTATION_FISSURE - FICHIER_RAIDEUR = SIMP(statut='o', - typ=('Fichier','Fichier loi de raideur (*.*)'), - fr="Renseignement du fichier contenant la loi de raideur", - ), # end FICHIER_RAIDEUR - DIAMETRE = SIMP(statut='o', - typ='R', - fr="Renseignement du diametre (pour la proportion par rapport à l'eprouvette)", - ), # end DIAMETRE - ), # end FISSURE - - ) # end ZONE - -############################# PALIERS ######################################## -PALIER = OPER(nom = 'PALIER', - op = None, - sd_prod = Palier, - reentrant = 'n', - UIinfo = {"groupes":("Machine tournante",)}, - fr = "Description palier MT ", - POSITION = SIMP(statut='o', - typ='R', - defaut=0.0, - fr = "position (absolue) du palier", - ), # end POSITION - TYPE_PALIER = SIMP(statut='o', - typ='TXM', - into=('PALIER LINEAIRE','PALIER NON-LINEAIRE','PALIER DE TORSION','LAME FLUIDE'), - ), # end TYPE_PALIER - PALIER_LINEAIRE = BLOC(condition = "((TYPE_PALIER == 'PALIER LINEAIRE') )", - TYPE_SAISIE = SIMP(statut='o', - typ='TXM', - into=('MANUELLE', 'CATALOGUE'), - ), # end TYPE_SAISIE - MANUELLE = BLOC(condition = "((TYPE_SAISIE == 'MANUELLE') )", - CARAC_PALIER = FACT(statut = 'o',max='**',fr = "Saisie des caracteristiques du palier par vitesse de rotation de l'arbre", - VITESSE_ROTATION = SIMP(statut='o', - typ='R', - fr= "Vitesse de rotation", - ), # end VITESSE_ROTATION - SYME = SIMP(statut = 'o', - typ = 'TXM', - max = 1, - fr = "Symetrie des matrices du palier", - into = ('OUI','NON'), - defaut = 'OUI', - ), # end SYME - RIGIDITE_NS = BLOC(condition="(SYME=='NON')", - RIGIDITE=FACT(statut='o',fr="Renseignement des caracteristiques non symetriques de rigidite du palier", - KXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Kxx dans la matrice de rigidite", - ),# end KXX - KXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Kxy dans la matrice de rigidite", - ),# end KXY - KYX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Kyx dans la matrice de rigidite", - ),# end KYX - KYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Kyy dans la matrice de rigidite", - ),# end KYY - ), # end RIGIDITE - ), # end RIGIDITE_S - RIGIDITE_S = BLOC(condition="(SYME=='OUI')", - RIGIDITE=FACT(statut='o',fr="Renseignement des caracteristiques symetriques de rigidite du palier", - KXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Kxx dans la matrice de rigidite", - ),# end KXX - KXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Kxy dans la matrice de rigidite", - ),# end KXY - KYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Kyy dans la matrice de rigidite", - ),# end KYY - ), # end RIGIDITE - ), # end RIGIDITE_NS - AMORTISSEMENT_NS = BLOC(condition="(SYME=='NON')", - AMORTISSEMENT=FACT(statut='o',fr="Renseignement des caracteristiques non symetriques d'amortissement du palier", - AXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Axx dans la matrice d'amortissement", - ),# end AXX - AXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Axy dans la matrice d'amortissement", - ),# end AXY - AYX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Ayx dans la matrice d'amortissement", - ),# end AYX - AYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Ayy dans la matrice d'amortissement", - ),# end AYY - ), # end AMORTISSEMENT - ), # end AMORTISSEMENT_NS - AMORTISSEMENT_S = BLOC(condition="(SYME=='OUI')", - AMORTISSEMENT=FACT(statut='o',fr="Renseignement des caracteristiques symetriques d'amortissement du palier", - AXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Axx dans la matrice d'amortissement", - ),# end AXX - AXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Axy dans la matrice d'amortissement", - ),# end AXY - AYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Ayy dans la matrice d'amortissement", - ),# end AYY - ), # end AMORTISSEMENT - ), # end AMORTISSEMENT_S - ), # end CARAC_PALIER - ), # end MANUELLE - CATALOGUE = BLOC(condition = "((TYPE_SAISIE == 'CATALOGUE') )", - CATALOGUE_AMORTISSEMENT = SIMP(statut='o', - min=1, - max=1, - typ='Fichier', - fr="Format du fichier : CSV.", - ), # end CATALOGUE_AMORTISSEMENT - CATALOGUE_RIGIDITE = SIMP(statut='o', - min=1, - max=1, - typ='Fichier', - fr="Format du fichier : CSV.", - ), # end CATALOGUE_RIGIDITE - ), # end CATALOGUE - ), # end PALIER_LINEAIRE - LAME_FLUIDE = BLOC(condition = "((TYPE_PALIER == 'LAME FLUIDE') )", - TYPE_SAISIE = SIMP(statut='o', - typ='TXM', - into=('MANUELLE', 'CATALOGUE'), - ), # end TYPE_SAISIE - MANUELLE = BLOC(condition = "((TYPE_SAISIE == 'MANUELLE') )", - CARAC_PALIER = FACT(statut = 'o',max='**',fr = "Saisie des caracteristiques du palier par vitesse de rotation de l'arbre", - SYME = SIMP(statut = 'o', - typ = 'TXM', - max = 1, - fr = "Symetrie des matrices du palier", - into = ('OUI','NON'), - defaut = 'OUI', - ), # end SYME - RIGIDITE_NS = BLOC(condition="(SYME=='NON')", - RIGIDITE=FACT(statut='o',fr="Renseignement des caracteristiques non symetriques de rigidite du palier", - KXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Kxx dans la matrice de rigidite", - ),# end KXX - KXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Kxy dans la matrice de rigidite", - ),# end KXY - KYX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Kyx dans la matrice de rigidite", - ),# end KYX - KYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Kyy dans la matrice de rigidite", - ),# end KYY - ), # end RIGIDITE - ), # end RIGIDITE_NS - RIGIDITE_S = BLOC(condition="(SYME=='OUI')", - RIGIDITE=FACT(statut='o',fr="Renseignement des caracteristiques symetriques de rigidite du palier", - KXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Kxx dans la matrice de rigidite", - ),# end KXX - KXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Kxy dans la matrice de rigidite", - ),# end KXY - KYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Kyy dans la matrice de rigidite", - ),# end KYY - ), # end RIGIDITE - ), # end RIGIDITE_S - AMORTISSEMENT_NS = BLOC(condition="(SYME=='NON')", - AMORTISSEMENT=FACT(statut='o',fr="Renseignement des caracteristiques non symetriques d'amortissement du palier", - AXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Axx dans la matrice d'amortissement", - ),# end AXX - AXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Axy dans la matrice d'amortissement", - ),# end AXY - AYX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Ayx dans la matrice d'amortissement", - ),# end AYX - AYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Ayy dans la matrice d'amortissement", - ),# end AYY - ), # end AMORTISSEMENT - ), # end AMORTISSEMENT_NS - AMORTISSEMENT_S = BLOC(condition="(SYME=='OUI')", - AMORTISSEMENT=FACT(statut='o',fr="Renseignement des caracteristiques symetriques d'amortissement du palier", - AXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Axx dans la matrice d'amortissement", - ),# end AXX - AXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Axy dans la matrice d'amortissement", - ),# end AXY - AYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Ayy dans la matrice d'amortissement", - ),# end AYY - ), # end AMORTISSEMENT - ), # end AMORTISSEMENT_S - MASSE_NS = BLOC(condition="(SYME=='NON')", - MASSE=FACT(statut='o',fr="Renseignement des caracteristiques non symetriques de masse du palier", - MXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Mxx dans la matrice de masse", - ),# end MXX - MXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Mxy dans la matrice de masse", - ),# end MXY - MYX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Myx dans la matrice de masse", - ),# end MYX - MYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Myy dans la matrice de masse", - ),# end MYY - ), # end MASSE - ), # end MASSE_NS - MASSE_S = BLOC(condition="(SYME=='OUI')", - MASSE=FACT(statut='o',fr="Renseignement des caracteristiques symetriques de masse du palier", - MXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Mxx dans la matrice de masse", - ),# end MXX - MXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Mxy dans la matrice de masse", - ),# end MXY - MYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Myy dans la matrice de masse", - ),# end MYY - ), # end MASSE - ), # end MASSE_S - VITESSE_ROTATION = SIMP(statut='o', - typ='R', - fr= "Vitesse de rotation", - ), # end VITESSE_ROTATION - ), # end CARAC_PALIER - ), # end MANUELLE - CATALOGUE = BLOC(condition = "((TYPE_SAISIE == 'CATALOGUE') )", - PALIERS_CATALOGUE = SIMP(statut='o', - min=1, - max=1, - typ='Fichier', - fr="Format du fichier : CSV.", - ), # end PALIERS_CATALOGUE - ), # end CATALOGUE - - ), # end LAME_FLUIDE - PALIER_NON_LINEAIRE = BLOC(condition = "((TYPE_PALIER == 'PALIER NON-LINEAIRE') )", - # 20121126 : reception spec du calcul transitoire accidentel - # - TYPE = SIMP(statut='o', - typ='TXM', - into=('PAPANL','PAFINL','PAHYNL','PACONL'), - defaut=None, - fr="Le choix d'un palier non-lineaire n'est valide que lors d'un calcul Aster/Edyos", - ), # end TYPE - REPERTOIRE_EDYOS = SIMP(statut='o', - typ=('Repertoire'), - defaut=None, - fr="Renseigement du repertoire contenant le fichier DONNEES_YACS (il faudra choisir ce repertoire au moment de la creation du cas de calcul)", - ), # end REPERTOIRE_EDYOS - ), # end PALIER_NON_LINEAIRE - PALIER_DE_TORSION = BLOC(condition = "((TYPE_PALIER == 'PALIER DE TORSION') )", - # ce type de palier sera implémenté dans la version 2 ... - ), # end PALIER_DE_TORSION - ) # end PALIER - - -############################# SUPPORT ######################################## -SUPPORT = OPER(nom = "SUPPORT", - op = None, - sd_prod = Support, - reentrant = 'n', - UIinfo = {"groupes":("Machine tournante",)}, - fr = "Description d'un support ", - TYPE_SUPPORT = SIMP(statut='o', - typ='TXM', - defaut="RIGIDE", - into=("RIGIDE", "SIMPLIFIE", "GENERALISE", ), - ), # end TYPE_SUPPORT - SIMPLIFIE = BLOC(condition = "((TYPE_SUPPORT == 'SIMPLIFIE') )", - RIGIDITE = FACT(statut='o', fr = "Matrice de rigidite", - KXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Kxx dans la matrice de rigidite", - ),# end KXX - KXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Kxy dans la matrice de rigidite", - ),# end KXY - KYX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Kyx dans la matrice de rigidite", - ),# end KYX - KYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Kyy dans la matrice de rigidite", - ),# end KYY - ), # end RIGIDITE - AMORTISSEMENT = FACT(statut='o', fr= "Matrice d'amortissement", - AXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Axx dans la matrice d'amortissement", - ),# end AXX - AXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Axy dans la matrice d'amortissement", - ),# end AXY - AYX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Ayx dans la matrice d'amortissement", - ),# end AYX - AYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Ayy dans la matrice d'amortissement", - ),# end AYY - ), # end AMORTISSEMENT - MASSE = FACT(statut='o', fr= "Matrice d'amortissement", - MXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Mxx dans la matrice de masse", - ),# end MXX - MXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Mxy dans la matrice de masse", - ),# end MXY - MYX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Myx dans la matrice de masse", - ),# end MYX - MYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de Myy dans la matrice de masse", - ),# end MYY - ), # end MASSE - ), # end SIMPLIFIE - GENERALISE = BLOC(condition = "((TYPE_SUPPORT == 'GENERALISE') )", - # cft 20130422 modif - ANGL_NAUT = SIMP(statut='f', - fr="Renseignement de la rotation du modele de la table de groupe a effectuer (X,Y,Z)", - typ='R', - min=3,max=3, - ), # end ANGL_NAUT - TRANS = SIMP(statut='f', - fr="Renseignement de la translation du modele de la table de groupe a effectuer (X,Y,Z)", - typ='R', - min=3,max=3, - ), # end TRANS - MAIL_TDG = SIMP(statut='o', - fr="Maillage de la table de groupe", - typ=("Fichier","Fichier maillage TdG (*.*)"), - min=1,max=1, - ), # end MAIL_TDG - COMM_TDG = SIMP(statut='o', - fr="Mise en données de la table de groupe", - typ=("Fichier","Fichier commande TdG (*.*)"), - min=1,max=1, - ), # end COMM_TDG - NOM_MACRO_ELEMENT_DYNAMIQUE = SIMP(statut='o', - fr="Renseignement du nom du macro element dynamique cree dans le fichier importe", - typ='TXM', - min=1,max=1, - ), # end NOM_MACRO_ELEMENT_DYNAMIQUE - NOM_INTERFACE = SIMP(statut='o', - fr="Renseignement du nom de l'interface cree dans le fichier importe", - typ='TXM', - min=1,max=1, - ), # end NOM_INTERFACE - NOM_GROUP_MA_MASSIF = SIMP(statut='o', - fr="Renseignement du nom du groupe de maille du massif cree dans le fichier importe", - typ='TXM', - min=1,max=1, - ), # end NOM_GROUP_MA_MASSIF - REDUIT = SIMP(statut='f', - fr="Introduction du mot-cle REDUIT pour le cas ou le nombre d'interface n'est pas identique entre le support et le ligne d'arbre", - typ='TXM', - into=("OUI"), - defaut="OUI", - ), # end REDUIT - # fin cft 20130422 modif - #MODELE_COMPLET = SIMP(statut = 'o', - # fr = "Parametres pour support generalisee", - # typ='Fichier', - # min=1, - # max=1, - # ), # end MODELE_COMPLET - ), # end GENERALISE - ) # end SUPPORT - -############################# LIGNE_ARBRE ######################################## -LIGNE_ARBRE = OPER(nom = 'LIGNE_ARBRE', - op = None, - sd_prod = LigneArbre, - reentrant = 'n', - UIinfo = {"groupes":("Machine tournante",)}, - fr = "Description Ligne d'arbre ", - DIRECTION = SIMP(statut='o', - typ=Direction, - min=1, - max=1, - ), # end DIRECTION - ZONES = SIMP(statut='o', - typ=Zone, - min=1, - max='**', - ), # end ZONES - PALIERS = SIMP(statut='o', - typ=Palier, - min=2, - max='**', - ), # end PALIERS - #MASSES = SIMP(statut='f', - #typ=Masse, - #max='**', - #), # end MASSES - #POIDS_PROPRE = SIMP(statut='f', - #fr= "Poids propre", - #typ='TXM', - #into=('OUI', 'NON'), - #defaut='NON', - #), # end POIDS_PROPRE - SUPPORTS = SIMP(statut='o', - typ=Support, - min=1, - max='**', - ), # end SUPPORTS - ) # end LIGNE_ARBRE - diff --git a/MT/MT_Cata_V2016.py b/MT/MT_Cata_V2016.py deleted file mode 100644 index 6911bb19..00000000 --- a/MT/MT_Cata_V2016.py +++ /dev/null @@ -1,1066 +0,0 @@ -## -*- coding: utf-8 -*- -# -## -------------------------------------------------- -## debut entete -## -------------------------------------------------- -# -# 20120510 : suppression de la valeur par defaut de MATERIAU->PARAMETRES_MAT->NU -# changement du nom MATERIAU->PARAMETRES_MAT->MASS_VOL en MATERIAU->PARAMETRES_MAT->RHO -# -# 20120619 : changement ordre d'affichage des macros -> ordre de création -# 20120725 : modification definition (matrices A,K,M) palier et support -# 20130411 : ajout elements dans palier generalise (mail tdg + comm tdg) -# -# todo : supprimer les noeuds -> definir les elements par leur longueur -# -# -# -# -# - - - - -from Accas import * -# - -import types -class Tuple: - def __init__(self,ntuple): - self.ntuple=ntuple - - def __convert__(self,valeur): - if type(valeur) == types.StringType: - return None - if len(valeur) != self.ntuple: - return None - return valeur - - def info(self): - return "Tuple de %s elements" % self.ntuple - - __repr__=info - __str__=info - - -#CONTEXT.debug = 1 -VERSION_CATALOGUE="2016.0.0"; -JdC = JDC_CATA(code = 'MT', - execmodul = None, - regles = (AU_MOINS_UN ( 'LIGNE_ARBRE',), - AU_PLUS_UN ( 'LIGNE_ARBRE',)), - ) # Fin JDC_CATA - -class Direction(ASSD): pass -class Materiau(ASSD): pass -#class Masse(ASSD): pass -class Zone(ASSD): pass -class Palier(ASSD): pass -#class Masse(ASSD): pass -#class ConditionsAuxLimites(ASSD): pass -class LigneArbre(ASSD): pass -class Support(ASSD): pass -class Butee(ASSD): pass -class PalTor(ASSD):pass -#class Noeud(ASSD): pass - -## def macro_noeuds(self, NOEUD, **args): -## """ -## """ -## if NOEUD is not None: -## self.type_sdprod(NOEUD, Noeud) -## pass -## else: -## raise AsException("Impossible de typer les concepts resultats") - -## return Noeuds - -############################# DIRECTION ######################################## -DIRECTION = MACRO(nom = "DIRECTION", - op = None, - sd_prod = Direction, - reentrant = 'n', - UIinfo = {"groupes": ("Machine tournante",)}, - fr = "Renseignement de la direction de la ligne d'arbres", - AXE = SIMP(statut = 'o', - typ = 'TXM', - fr = "Direction de l'axe de la ligne d'arbres", - min=1, - max=1, - into = ('HORIZONTAL','VERTICAL'), - defaut = 'HORIZONTAL', - ), # end AXE - ) # end DIRECTION - - -############################# MATERIAUX ######################################## -# @todo -# introduction manuelle => dans ce cas l'utilisateur definit le -# materiau comme ci-dessous -# recuperation depuis une bibliothèque de materiau => sera specife -# plus tard -MATERIAUX = MACRO(nom = 'MATERIAUX', - op = None, - sd_prod = Materiau, - reentrant = 'n', - UIinfo = {"groupes": ("Machine tournante",)}, - fr = "Renseignement des caracteristiques des materiaux", - TYPE_INTRO = SIMP(statut='o', - fr = "Mode de description des caracteristiques des materiaux", - typ='TXM', - into=('MANUELLE','FICHIER'), - min=1, - max=1, - defaut='MANUELLE', - ), # end TYPE_INTRO - PARAMETRES_MAT = BLOC(condition = "((TYPE_INTRO == 'MANUELLE') )", - #MASS_VOL = SIMP(statut='o', typ='R', min=1, max=1, fr='masse volumique'), - fr = "Saisie manuelle des caracteristiques du materiau", - RHO = SIMP(statut='o', - typ='R', - min=1, - fr='Masse volumique (kg/m**3)', - ), # end RHO - E = SIMP(statut='o', - typ='R', - min=1, - max=1, - fr="Module d'Young (Pa)", - ), # end E - NU = SIMP(statut='o', - typ='R', - min=1, - max=1, - val_min=-1.0, - val_max=0.5, - fr='Coefficient de cisaillement (-1.0 <= NU <= 0.5)', - ), # end NU - ALPHA = SIMP(statut='f', - typ='R', - min=1, - max=1, - fr = "Coefficient permettant de construire une matrice d'amortissement visqueux proportionnel a la rigidite", - ), # end ALPHA - BETA = SIMP(statut='f', - typ='R', - min=1, - max=1, - fr = "Coefficient permettant de construire une matrice d'amortissement visqueux proportionnel a la masse", - ), # end BETA - GAMA = SIMP(statut='f', - typ='R', - min=1, - max=1, - fr = "Coefficient d'amortissement hysteretique permettant de definir le module d'Young complexe", - ), # end GAMA - ), # end PARAMETRES_MAT - FICHIER_MAT = BLOC(condition = "((TYPE_INTRO == 'FICHIER') )", - MATERIAU_CATALOGUE = SIMP(statut='o', - fr="Fichier decrivant les caracteristiques materiaux (format decrit dans le Manuel Utilisateur)", - min=1, - max=1, - typ=('Fichier','Fichier materiau (*.*)'), - ), # end MATERIAU_CATALOGUE - ), # end FICHIER_MAT - #SIMP(typ=('Fichier','JDC Files (*.comm)'),docu='',min=1,max=1,statut='o',defaut=None) - ) # end MATERIAU - - - -############################# ZONES ######################################## -ZONE = MACRO(nom = 'ZONE', - op = None, - sd_prod = Zone, - reentrant = 'n', - UIinfo = {"groupes":("Machine tournante",)}, - fr = "Description d'une zone (comportant noeuds et elements, et en option masses ponctuelles et fissures)", - regles = (AU_MOINS_UN("ELEMENTS")), - MASSE = FACT(statut='f', - min=0, - max='**', - fr = "Description des masses ponctuelles", - #POSITION = SIMP(statut='o', - NOEUD = SIMP(statut='o', - typ='TXM', - defaut=None, - fr = "Definition de la position axiale de la masse (label du noeud de la ligne d'arbres en vis-a-vis)", - ), # end POSITION - TYPE_MASSE = SIMP(statut='o', - typ='TXM', - fr = "Renseignement du type de masse consideree", - into=('DISQUE','AILETTE','QUELCONQUE'), - ), # end TYPE_MASSE - DISQUE = BLOC(condition = "((TYPE_MASSE == 'DISQUE') )", - TYPE_SAISIE = SIMP(statut='o', - typ='TXM', - fr = "Type de saisie des parametres du DISQUE", - into = ('MECANIQUE','GEOMETRIQUE'), - defaut = 'MECANIQUE' - ), # end TYPE_SAISIE - PARAMETRES_MECANIQUE = BLOC(condition = "TYPE_SAISIE == 'MECANIQUE'", - PARAMETRES = FACT(statut = 'o', - fr = "Parametres mecaniques pour un DISQUE", - MASSE = SIMP(statut='o', - typ='R', - val_min=0, - fr = "Masse du DISQUE (kg)", - ), # end MASSE_DISQUE - INERTIEX = SIMP(statut='o', - typ='R', - fr = "Inertie du DISQUE en X (kg.m**2)", - ), # end INERTIEX - INERTIEY = SIMP(statut='o', - typ='R', - fr = "Inertie du DISQUE en Y (kg.m**2)", - ), # end INERTIEY - INERTIEZ = SIMP(statut='o', - typ='R', - fr = "Inertie du DISQUE en Z (axe de rotation de la ligne d'arbres)(kg.m**2)", - ), # end INERTIEZ - ) # end PARAMETRES_DISQUE_M - ), # end PARAMETRES_MECANIQUE - PARAMETRES_GEOMETRIQUE = BLOC(condition = "TYPE_SAISIE == 'GEOMETRIQUE'", - PARAMETRES = FACT(statut = 'o', - fr = "Parametres geometriques pour un DISQUE", - DIAMETRE_EXT = SIMP(statut='o', - typ='R', - val_min=0, - fr = "Diametre exterieur du DISQUE (m)", - ), # end MASSE_DISQUE - DIAMETRE_INT = SIMP(statut='o', - typ='R', - fr = "Diametre interieur du DISQUE (m). Verifier le diametre exterieur du rotor avant saisie", - ), # end INERTIEX - EPAISSEUR = SIMP(statut='o', - typ='R', - val_min=0, - fr = "Epaisseur (dans la direction axiale) du DISQUE (m)", - ), # end INERTIEY - MATERIAU = SIMP(statut='o', - typ=Materiau, - fr = "Materiau constituant le DISQUE (doit avoir ete defini via une entree MATERIAUX)", - ), # end INERTIEZ - ) # nd PARAMETRES_DISQUE_G - ), # end PARAMETRES_MECANIQUE - ), # end DISQUE - AILETTE = BLOC(condition = "((TYPE_MASSE == 'AILETTE') )", - TYPE_SAISIE = SIMP(statut='o', - typ='TXM', - fr = "Type de saisie des parametres de la rangee d'AILETTES", - into = ('MECANIQUE','GEOMETRIQUE'), - defaut = 'MECANIQUE' - ), # end TYPE_SAISIE - PARAMETRES_MECANIQUE = BLOC(condition = "TYPE_SAISIE == 'MECANIQUE'", - PARAMETRES = FACT(statut = 'o', - fr = "Parametres mecaniques de la rangee d'AILETTES", - MASSE = SIMP(statut='o', - typ='R', - val_min=0, - fr = "Masse de la rangee d'AILETTES (kg)", - ), # end MASSE_AILETTE - INERTIEX = SIMP(statut='o', - typ='R', - fr = "Inertie de la rangee d'AILETTES en X (kg.m**2)", - ), # end INERTIEX - INERTIEY = SIMP(statut='o', - typ='R', - fr = "Inertie de la rangee d'AILETTES en Y (kg.m**2)", - ), # end INERTIEY - INERTIEZ = SIMP(statut='o', - typ='R', - fr = "Inertie de la rangee d'AILETTES en Z (axe de rotation de la ligne d'arbres) (kg.m**2)", - ), # end INERTIEZ - ) # nd PARAMETRES_AILETTE_M - ), # end PARAMETRES_MECANIQUE - PARAMETRES_GEOMETRIQUE = BLOC(condition = "TYPE_SAISIE == 'GEOMETRIQUE'", - PARAMETRES = FACT(statut = 'o', - fr = "Parametres geometriques d'une AILETTE", - MASSE_AILETTE = SIMP(statut='o', - typ='R', - val_min=0, - fr = "Masse d'une AILETTE (kg)", - ), # end MASSE_AILETTE - RAYON = SIMP(statut='o', - typ='R', - val_min=0, - fr = "Distance entre le pied de l'AILETTE et le centre de rotation (m). Verifier le diametre exterieur du rotor avant saisie", - ), # end RAYON - HAUTEUR = SIMP(statut='o', - typ='R', - val_min=0, - fr = "Distance entre les deux extremites de l'AILETTE (m)", - ), # end HAUTEUR - BASE = SIMP(statut='o', - typ='R', - val_min=0, - fr = "Largeur du pied de l'AILETTE (m)", - ), # end BASE - NOMBRE = SIMP(statut='o', - typ='I', - val_min=1, - fr = "Nombre d'AILETTES dans la rangee", - ), - ) # end PARAMETRES_DISQUE - ), # end PARAMETRES_MECANIQUE - ), # end AILETTE - QUELCONQUE = BLOC(condition = "((TYPE_MASSE == 'QUELCONQUE') )", - #TYPE_SAISIE = SIMP(statut='c',typ='TXM',defaut="MECANIQUE"), # cf 20120622 test : mot-clé caché - PARAMETRES = FACT(statut = 'o', - fr = "Parametres pour masse de type QUELCONQUE", - MASSE = SIMP(statut='o', - typ='R', - val_min=0, - fr = "Masse (m)", - ), # end MASSE - INERTIEX = SIMP(statut='o', - typ='R', - fr = "Inertie en X (kg.m**2)", - ), # end INERTIEX - INERTIEY = SIMP(statut='o', - typ='R', - fr = "Inertie en Y (kg.m**2)", - ), # end INERTIEY - INERTIEZ = SIMP(statut='o', - typ='R', - fr = "Inertie en Z (axe de rotation de la ligne d'arbres) (kg.m**2)", - ), # end INERTIEZ - ), # end PARAMETRES_QUELCONQUE - ), # end QUELCONQUE - ), # end MASSE - ESSAI=SIMP(typ = Tuple(2), - max = '**', - validators=VerifTypeTuple(('TXM','R')),), - - NOEUDS = FACT(fr = "Definition des noeuds de la zone (2 noeuds minimum)", - statut='o', - min=2, - max='**', - NOM = SIMP(statut='o', - typ='TXM', - fr="Label du noeud", - ), # end NOM - POSITION_AXIALE = SIMP(statut='o', - typ='R', - defaut=0.0, - val_min=0.0, - fr = "Position axiale du noeud (relative par rapport au debut de la zone (1er noeud a 0m)) (m)", - ), # end X - ), # end NOEUDS - ELEMENTS = FACT(fr = "Definition des elements poutre de la zone", - statut='o', - min=1, - max='**', - NOM = SIMP(statut='o', - typ='TXM', - fr="Label de l'element" - ), # end NOM - NOEUD_DEBUT = SIMP(statut='o', - typ='TXM', - fr= "Noeud de debut de l'element poutre (label d'un noeud)" - ), # end DEBUT - NOEUD_FIN = SIMP(statut='o', - typ='TXM', - fr= "Noeud de fin de l'element poutre (label d'un noeud)" - ), # end FIN - RAFFINEMENT = SIMP(fr = "Choix de raffiner l'element poutre", - statut='o', - typ='TXM', - into=('OUI','NON'), - defaut='NON' - ), # end RAFFINEMENT - PARAM_RAFFINEMENT = BLOC(fr = "Nombre de points supplementaires a ajouter pour le raffinement (nombre elements : 1 -> nb points + 1)", - condition = "((RAFFINEMENT == 'OUI') )", - NB_POINTS_SUPPL = SIMP(statut='o', - typ='I' - ), # end NB_POINTS_SUPPL - ), # end PARAM_RAFFINEMENT - MATERIAU = SIMP(statut='o', - typ=Materiau, - fr= "Materiau constituant l'element poutre (doit avoir ete defini via une entree MATERIAUX)" - ), # end MATERIAU - SECTION_MASSE = FACT(statut='o', - fr = "Section a partir de laquelle est determinee la masse de l'element poutre", - TYPE_SECTION = SIMP(statut='o', - fr = "Choix d'une section de dimensions constantes ou variables", - typ='TXM', - into=('CONSTANTE','VARIABLE'), - defaut='CONSTANTE', - ), # end TYPE_SECTION - DIAM_EXTERN_DEBUT = SIMP(statut='o', - typ='R', - fr = "Diametre exterieur en debut d'element poutre (m)", - ), # end DIAM_EXTERN_DEBUT - DIAM_INTERN_DEBUT = SIMP(statut='o', - typ='R', - fr = "Diametre interieur en debut d'element poutre (m) (different de 0 si element creux)", - ), # end DIAM_INTERN_DEBUT - PARAMETRE_SECT_VAR = BLOC(condition = "((TYPE_SECTION == 'VARIABLE') )", - fr = "Renseignement des dimensions de fin d'element (variation lineaire entre le debut et la fin)", - DIAM_EXTERN_SORTIE = SIMP(statut='o', - typ='R', - fr = "Diametre exterieur en fin d'element (m)", - ), # end DIAM_EXTERN_SORTIE - DIAM_INTERN_SORTIE = SIMP(statut='o', - typ='R', - fr = "Diametre interieur en fin d'element (m)", - ), # DIAM_INTERN_SORTIE - ), - ), # end SECTION_MASSE - SECTION_RIGIDITE = FACT(statut='f', - fr = "Section a partir de laquelle est determinee la rigidite de l'element poutre", - TYPE_SECTION = SIMP(statut='o', - fr = "Choix d'une section de dimensions constantes ou variables", - typ='TXM', - into=('CONSTANTE','VARIABLE'), - defaut='CONSTANTE', - ), # end TYPE_SECTION - DIAM_EXTERN_DEBUT = SIMP(statut='o', - typ='R', - fr = "Diametre exterieur en debut d'element poutre (m)", - ), # end DIAM_EXTERN_DEBUT - DIAM_INTERN_DEBUT = SIMP(statut='o', - typ='R', - fr = "Diametre interieur en debut d'element poutre (m) (different de 0 si element creux)", - ), # end DIAM_INTERN_DEBUT - PARAMETRE_SECT_VAR = BLOC(condition = "((TYPE_SECTION == 'VARIABLE') )", - fr = "Renseignement des dimensions de fin d'element (variation lineaire entre le debut et la fin)", - DIAM_EXTERN_SORTIE = SIMP(statut='o', - typ='R', - fr = "Diametre exterieur en fin d'element (m)", - ), # end DIAM_EXTERN_SORTIE - DIAM_INTERN_SORTIE = SIMP(statut='o', - typ='R', - fr = "Diametre interieur en fin d'element (m)", - ), # end DIAM_INTERN_SORTIE - ), # end PARAMETRE_SECT_VAR - ), # end SECTION_RIGIDITE - ), # end ELEMENTS - FISSURE = FACT(statut='f', - fr="Description d'une fissure sur un noeud de l'arbre (licite uniquement si les elements poutres a gauche et a droite du noeud ont des sections masse et rigidite constantes)", - MATERIAU = SIMP(statut='o', - typ=Materiau, - fr="Materiau a la position de la fissure (doit avoir ete defini via une entree MATERIAUX)" - ), # end MATERIAU - NOEUD_FISSURE = SIMP(statut='o', - typ='TXM', - fr="Label du noeud ou est positionnee la fissure", - ), # end POSITION_FISSURE - ORIENTATION_FISSURE = SIMP(statut='o', - typ='R', - fr="Angle initial du fond de fissure par rapport à sa définition dans la loi de comportement de fissure (0. par defaut)(degres)", - ), # end ORIENTATION_FISSURE - FICHIER_RAIDEUR = SIMP(statut='o', - typ=('Fichier','Fichier loi de raideur (*.*)'), - fr="Fichier contenant la loi de comportement en raideur de la fissure", - ), # end FICHIER_RAIDEUR - DIAMETRE = SIMP(statut='o', - typ='R', - fr="Diametre du rotor a l'emplacement de la fissure (m)", - ), # end DIAMETRE - ), # end FISSURE - - ) # end ZONE - -############################# PALIERS ######################################## -PALIER = MACRO(nom = 'PALIER', - op = None, - sd_prod = Palier, - reentrant = 'n', - UIinfo = {"groupes":("Machine tournante",)}, - fr = "Description d'un palier radial", - POSITION = SIMP(statut='o', - typ='R', - defaut=0.0, - fr = "Position axiale (absolue) du palier radial (m)", - ), # end POSITION - TYPE_PALIER = SIMP(statut='o', - fr = "Type de palier radial", - typ='TXM', - into=('PALIER LINEAIRE','PALIER NON-LINEAIRE','LAME FLUIDE'), - ), # end TYPE_PALIER - PALIER_LINEAIRE = BLOC(condition = "((TYPE_PALIER == 'PALIER LINEAIRE') )", - fr = "Description d'un palier radial lineaire", - TYPE_SAISIE = SIMP(statut='o', - fr = "Mode de description des caracteristiques du palier radial lineaire", - typ='TXM', - into=('MANUELLE', 'CATALOGUE'), - ), # end TYPE_SAISIE - MANUELLE = BLOC(condition = "((TYPE_SAISIE == 'MANUELLE') )", - fr = "Saisie manuelle des caracteristiques du palier radial lineaire", - CARAC_PALIER = FACT(statut = 'o',max='**',fr = "Caracteristiques du palier par vitesse de rotation de la ligne d'arbres", - VITESSE_ROTATION = SIMP(statut='o', - typ='R', - fr= "Vitesse de rotation (tr/min)", - ), # end VITESSE_ROTATION - SYME = SIMP(statut = 'o', - typ = 'TXM', - max = 1, - fr = "Symetrie des matrices du palier radial lineaire (KXY=KYX et AXY=AYX)", - into = ('OUI','NON'), - defaut = 'OUI', - ), # end SYME - RIGIDITE_NS = BLOC(condition="(SYME=='NON')", - RIGIDITE=FACT(statut='o',fr="Renseignement des caracteristiques non-symetriques de rigidite du palier radial lineaire", - KXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de KXX dans la matrice de rigidite (N/m)", - ),# end KXX - KXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de KXY dans la matrice de rigidite (N/m)", - ),# end KXY - KYX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de KYX dans la matrice de rigidite (N/m)", - ),# end KYX - KYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de KYY dans la matrice de rigidite (N/m)", - ),# end KYY - ), # end RIGIDITE - ), # end RIGIDITE_S - RIGIDITE_S = BLOC(condition="(SYME=='OUI')", - RIGIDITE=FACT(statut='o',fr="Renseignement des caracteristiques symetriques de rigidite du palier radial lineaire", - KXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de KXX dans la matrice de rigidite (N/m)", - ),# end KXX - KXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de KXY dans la matrice de rigidite (N/m)", - ),# end KXY - KYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de KYY dans la matrice de rigidite (N/m)", - ),# end KYY - ), # end RIGIDITE - ), # end RIGIDITE_NS - AMORTISSEMENT_NS = BLOC(condition="(SYME=='NON')", - AMORTISSEMENT=FACT(statut='o',fr="Renseignement des caracteristiques non-symetriques d'amortissement du palier radial lineaire", - AXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de AXX dans la matrice d'amortissement (N.s/m)", - ),# end AXX - AXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de AXY dans la matrice d'amortissement (N.s/m)", - ),# end AXY - AYX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de AYX dans la matrice d'amortissement (N.s/m)", - ),# end AYX - AYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de AYY dans la matrice d'amortissement (N.s/m)", - ),# end AYY - ), # end AMORTISSEMENT - ), # end AMORTISSEMENT_NS - AMORTISSEMENT_S = BLOC(condition="(SYME=='OUI')", - AMORTISSEMENT=FACT(statut='o',fr="Renseignement des caracteristiques symetriques d'amortissement du palier radial lineaire", - AXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de AXX dans la matrice d'amortissement (N.s/m)", - ),# end AXX - AXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de AXY dans la matrice d'amortissement (N.s/m)", - ),# end AXY - AYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de AYY dans la matrice d'amortissement (N.s/m)", - ),# end AYY - ), # end AMORTISSEMENT - ), # end AMORTISSEMENT_S - ), # end CARAC_PALIER - ),# end MANUELLE - CATALOGUE = BLOC(condition = "((TYPE_SAISIE == 'CATALOGUE') )", - fr = "Renseignement des fichiers contenant les caracteristiques du palier radial lineaire", - CATALOGUE_AMORTISSEMENT = SIMP(statut='o', - min=1, - max=1, - typ='Fichier', - fr="Fichier decrivant les caracteristiques d'amortissement (N.s/m) du palier radial lineaire (format decrit dans le Manuel Utilisateur)", - ), # end CATALOGUE_AMORTISSEMENT - CATALOGUE_RIGIDITE = SIMP(statut='o', - min=1, - max=1, - typ='Fichier', - fr="Fichier decrivant les caracteristiques de rigidite (N/m) du palier radial lineaire (format decrit dans le Manuel Utilisateur)", - ), # end CATALOGUE_RIGIDITE - ), # end CATALOGUE - ), # end PALIER_LINEAIRE - LAME_FLUIDE = BLOC(condition = "((TYPE_PALIER == 'LAME FLUIDE') )", - fr = "Description d'une lame fluide", - TYPE_SAISIE = SIMP(statut='o', - fr = "Mode de description des caracteristiques de la lame fluide", - typ='TXM', - defaut = 'MANUELLE', - #into=('MANUELLE', 'CATALOGUE'), #Fonctionnalite catalogue non encore implementee - into=('MANUELLE',), - ), # end TYPE_SAISIE - MANUELLE = BLOC(condition = "((TYPE_SAISIE == 'MANUELLE') )", - fr = "Saisie manuelle des caracteristiques de la lame fluide", - CARAC_PALIER = FACT(statut = 'o',max='**',fr = "Caracteristiques de la lame fluide par vitesse de rotation de la ligne d'arbres", - SYME = SIMP(statut = 'o', - typ = 'TXM', - max = 1, - fr = "Symetrie des matrices de la lame fluide (KXY=KYX et AXY=AYX)", - into = ('OUI','NON'), - defaut = 'OUI', - ), # end SYME - RIGIDITE_NS = BLOC(condition="(SYME=='NON')", - RIGIDITE=FACT(statut='o',fr="Renseignement des caracteristiques non-symetriques de rigidite de la lame fluide", - KXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de KXX dans la matrice de rigidite (N/m)", - ),# end KXX - KXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de KXY dans la matrice de rigidite (N/m)", - ),# end KXY - KYX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de KYX dans la matrice de rigidite (N/m)", - ),# end KYX - KYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de KYY dans la matrice de rigidite (N/m)", - ),# end KYY - ), # end RIGIDITE_NS - RIGIDITE_S = BLOC(condition="(SYME=='OUI')", - RIGIDITE=FACT(statut='o',fr="Renseignement des caracteristiques symetriques de rigidite de la lame fluide", - KXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de KXX dans la matrice de rigidite (N/m)", - ),# end KXX - KXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de KXY dans la matrice de rigidite (N/m)", - ),# end KXY - KYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de KYY dans la matrice de rigidite (N/m)", - ),# end KYY - ), # end RIGIDITE - ), # end RIGIDITE_S - AMORTISSEMENT_NS = BLOC(condition="(SYME=='NON')", - AMORTISSEMENT=FACT(statut='o',fr="Renseignement des caracteristiques non-symetriques d'amortissement de la lame fluide", - AXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de AXX dans la matrice d'amortissement (N.s/m)", - ),# end AXX - AXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de AXY dans la matrice d'amortissement (N.s/m)", - ),# end AXY - AYX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de AYX dans la matrice d'amortissement (N.s/m)", - ),# end AYX - AYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de AYY dans la matrice d'amortissement (N.s/m)", - ),# end AYY - ), # end AMORTISSEMENT - ), # end AMORTISSEMENT - ), # end AMORTISSEMENT_NS - AMORTISSEMENT_S = BLOC(condition="(SYME=='OUI')", - AMORTISSEMENT=FACT(statut='o',fr="Renseignement des caracteristiques symetriques d'amortissement de la lame fluide", - AXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de AXX dans la matrice d'amortissement (N.s/m)", - ),# end AXX - AXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de AXY dans la matrice d'amortissement (N.s/m)", - ),# end AXY - AYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de AYY dans la matrice d'amortissement (N.s/m)", - ),# end AYY - ), # end AMORTISSEMENT - ), # end AMORTISSEMENT_S - MASSE_NS = BLOC(condition="(SYME=='NON')", - MASSE=FACT(statut='o',fr="Renseignement des caracteristiques non symetriques de masse de la lame fluide", - MXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de MXX dans la matrice de masse (kg)", - ),# end MXX - MXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de MXY dans la matrice de masse (kg)", - ),# end MXY - MYX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de MYX dans la matrice de masse (kg)", - ),# end MYX - MYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de MYY dans la matrice de masse (kg)", - ),# end MYY - ), # end MASSE - ), # end MASSE_NS - MASSE_S = BLOC(condition="(SYME=='OUI')", - MASSE=FACT(statut='o',fr="Renseignement des caracteristiques symetriques de masse de la lame fluide", - MXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de MXX dans la matrice de masse (kg)", - ),# end MXX - MXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de MXY dans la matrice de masse (kg)", - ),# end MXY - MYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de MYY dans la matrice de masse (kg)", - ),# end MYY - ), # end MASSE - ), # end MASSE_S - VITESSE_ROTATION = SIMP(statut='o', - typ='R', - fr= "Vitesse de rotation (tr/min)", - ), # end VITESSE_ROTATION - ), # end CARAC_PALIER - ), # end MANUELLE - #Fonctionnalite non encore implementee - CATALOGUE = BLOC(condition = "((TYPE_SAISIE == 'CATALOGUE') )", - PALIERS_CATALOGUE = SIMP(statut='o', - min=1, - max=1, - typ='Fichier', - fr="Format du fichier : CSV.", - ), # end PALIERS_CATALOGUE - ), # end CATALOGUE - - ), # end LAME_FLUIDE - PALIER_NON_LINEAIRE = BLOC(condition = "((TYPE_PALIER == 'PALIER NON-LINEAIRE') )", - fr = "Description d'un palier non-lineaire (licite uniquement en cas d'analyse de type 'TRANSITOIRE ACCIDENTEL'", - TYPE = SIMP(statut='o', - typ='TXM', - into=('PAPANL','PAFINL','PAHYNL','PACONL'), - defaut=None, - fr="Type de palier non-lineaire parmi ceux proposes dans Edyos", - ), # end TYPE - REPERTOIRE_EDYOS = SIMP(statut='o', - typ=('Repertoire'), - defaut=None, - fr="Repertoire 'CDC' du palier non-lineaire utilise (les fichiers Geometrie et Donnees doivent exister dans les repertoires parents respectivement de niveau 2 et 1 de CDC)", - ), # end REPERTOIRE_EDYOS - ), # end PALIER_NON_LINEAIRE - ) # end PALIER - -PALIER_TORSION=MACRO(nom="PALIER_TORSION", - op=None, - sd_prod=PalTor, - reentrant='n', - UIinfo={"groupes":("Machine tournante",)}, - fr="Description d'un palier de torsion", - POSITION = SIMP(statut='o',typ='R',defaut=0.0,fr = "Position axiale (absolue) du palier de torsion (m)",), # end POSITION - TYPE_SAISIE = SIMP(statut='o',typ='TXM',into=('MANUELLE',),fr = "Mode de description des caracteristiques du palier de torsion",), # end TYPE_SAISIE - MANUELLE = BLOC(condition = "((TYPE_SAISIE == 'MANUELLE') )", - fr = "Saisie manuelle des caracteristiques du palier de torsion", - CARAC_PALIER = FACT(statut = 'o',max=1,fr = "Caracteristiques du palier par vitesse de rotation de l'arbre", - VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max='**',fr= "Liste des vitesses de rotation (tr/min)",), # end VITESSE_ROTATION - KRZ = SIMP(statut = 'o',typ = 'R',min=1,max = '**',fr = "Liste des caracteristiques de rigidite (N/m) du palier de torsion en fonction de la vitesse de rotation",),# end KRZ - ARZ = SIMP(statut = 'o',typ = 'R',min=1,max = '**',fr = "Liste des caracteristiques d'amortissement (N.s/m) du palier de torsion en fonction de la vitesse de rotation",),# end ARZ - MRZ = SIMP(statut = 'f',typ = 'R',min=1,max = '**',fr = "Liste des caracteristiques de masse ajoutee (kg) du palier de torsion en fonction de la vitesse de rotation",),# end MRZ - ),#end CARAC_PALIER - ), # end MANUELLE - #Fonctionnalite pas encore implementee - CATALOGUE = BLOC(condition = "((TYPE_SAISIE == 'CATALOGUE') )", - fr = "Renseignement des fichiers contenant les caracteristiques du palier de torsion", - CATA_PALIER = SIMP(statut='o',min=1,max=1,typ='Fichier',fr="Format du fichier : CSV.",), # end CATA_PALIER - ), # end CATALOGUE - )#end PALIER TORSION - -BUTEE=MACRO(nom="BUTEE", - op=None, - sd_prod=Butee, - reentrant='n', - UIinfo={"groupes":("Machine tournante",)}, - fr="Description d'une butee", - POSITION = SIMP(statut='o',typ='R',defaut=0.0,fr = "Position axiale (absolue) de la butee (m)",), # end POSITION - TYPE_BUTEE = SIMP(statut='o',typ='TXM',into=('BUTEE LINEAIRE',),fr = "Type de butee",), # end TYPE_BUTEE, BUTEE NON LINEAIRE reintegrable - BUTEE_LINEAIRE=BLOC(condition="TYPE_BUTEE=='BUTEE LINEAIRE'", - fr = "Description d'une butee lineaire", - TYPE_SAISIE = SIMP(statut='o',typ='TXM',into=('MANUELLE',),fr = "Mode de description des caracteristiques de la butee lineaire",), # end TYPE_SAISIE; 'CATALOGUE' reintegrable - MANUELLE=BLOC(condition="TYPE_SAISIE=='MANUELLE'", - fr = "Saisie manuelle des caracteristiques de la butee lineaire", - CARAC_BUTEE=FACT(statut='o',max=1,fr="Caracteristiques de la butee en fonction de la vitesse de rotation", - VITESSE_ROTATION=SIMP(statut='o',typ='R',min=1,max='**',fr="Liste des vitesses de rotation (tr/min)",), - SYMETRIQUE=SIMP(statut='o',typ='TXM',min=1,max=1,into=("OUI","NON"),defaut="OUI",fr="Symetrie des matrices de la butee (KRXRY=KRYRX , ARXRY=ARYRX et MRXRY=MRYRX)",), - - RIGIDITE_NS = BLOC(condition="(SYMETRIQUE=='NON')", - RIGIDITE=FACT(statut='o',max=1,fr="Caracteristiques non-symetriques de rigidite de la butee lineaire en fonction de la vitesse de rotation", - KZZ=SIMP(statut='o',typ='R',min=1,max='**',fr="Rigidite axiale (N/m) de la butee lineaire en fonction de la vitesse de rotation"), - KRXRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Rigidite directe de rotation autour de l'axe X (N/m) de la butee lineaire en fonction de la vitesse de rotation"), - KRXRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Rigidite croisee de rotation autour de l'axe X (N/m) de la butee lineaire en fonction de la vitesse de rotation"), - KRYRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Rigidite croisee de rotation autour de l'axe Y (N/m) de la butee lineaire en fonction de la vitesse de rotation"), - KRYRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Rigidite directe de rotation autour de l'axe Y (N/m) de la butee lineaire en fonction de la vitesse de rotation"), - ), #END RIGIDITE - ),#END RIGIDITE_NS - RIGIDITE_S = BLOC(condition="(SYMETRIQUE=='OUI')", - RIGIDITE=FACT(statut='o',max=1,fr="Caracteristiques symetriques de rigidite de la butee lineaire en fonction de la vitesse de rotation", - KZZ=SIMP(statut='o',typ='R',min=1,max='**',fr="Rigidite axiale (N/m) de la butee lineaire en fonction de la vitesse de rotation"), - KRXRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Rigidite directe de rotation autour de l'axe X (N/m) de la butee lineaire en fonction de la vitesse de rotation"), - KRXRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Rigidite croisee de rotation autour de l'axe X (N/m) de la butee lineaire en fonction de la vitesse de rotation"), - KRYRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Rigidite directe de rotation autour de l'axe Y (N/m) de la butee lineaire en fonction de la vitesse de rotation"), - ), #END RIGIDITE - ),#END RIGIDITE_S - - AMORTISSEMENT_NS = BLOC(condition="(SYMETRIQUE=='NON')", - AMORTISSEMENT=FACT(statut='o',max=1,fr="Caracteristiques non-symetriques d'amortissement de la butee lineaire en fonction de la vitesse de rotation", - AZZ=SIMP(statut='o',typ='R',min=1,max='**',fr="Amortissement axial (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"), - ARXRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Amortissement direct de rotation autour de l'axe X (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"), - ARXRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Amortissement croise de rotation autour de l'axe X (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"), - ARYRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Amortissement croise de rotation autour de l'axe Y (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"), - ARYRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Amortissement croise de rotation autour de l'axe Y (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"), - ),#END AMORTISSEMENT - ),#END AMORTISSEMENT_NS - AMORTISSEMENT_S = BLOC(condition="(SYMETRIQUE=='OUI')", - AMORTISSEMENT=FACT(statut='o',max=1,fr="Caracteristiques symetriques d'amortissement de la butee lineaire en fonction de la vitesse de rotation", - AZZ=SIMP(statut='o',typ='R',min=1,max='**',fr="Amortissement axial (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"), - ARXRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Amortissement direct de rotation autour de l'axe X (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"), - ARXRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Amortissement croise de rotation autour de l'axe X (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"), - ARYRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Amortissement croise de rotation autour de l'axe Y (N.s/m) de la butee lineaire en fonction de la vitesse de rotation"), - ),#END AMORTISSEMENT - ),#END AMORTISSEMENT_S - - INERTIE_NS = BLOC(condition="(SYMETRIQUE=='NON')", - INERTIE=FACT(statut='f',max=1,fr="Caracteristiques non-symetriques de masse ajoutee de la butee lineaire en fonction de la vitesse de rotation", - MZZ=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee axiale (kg) de la butee lineaire en fonction de la vitesse de rotation"), - MRXRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee directe de rotation autour de l'axe X (kg) de la butee lineaire en fonction de la vitesse de rotation"), - MRXRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee croisee de rotation autour de l'axe X (kg) de la butee lineaire en fonction de la vitesse de rotation"), - MRYRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee croisee de rotation autour de l'axe Y (kg) de la butee lineaire en fonction de la vitesse de rotation"), - MRYRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee croisee de rotation autour de l'axe Y (kg) de la butee lineaire en fonction de la vitesse de rotation"), - ),#END INERTIE - ),#END INERTIE_NS - INERTIE_S = BLOC(condition="(SYMETRIQUE=='OUI')", - INERTIE=FACT(statut='f',max=1,fr="Caracteristiques symetriques de masse ajoutee de la butee lineaire en fonction de la vitesse de rotation", - MZZ=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee axiale (kg) de la butee lineaire en fonction de la vitesse de rotation"), - MRXRX=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee directe de rotation autour de l'axe X (kg) de la butee lineaire en fonction de la vitesse de rotation"), - MRXRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee croisee de rotation autour de l'axe X (kg) de la butee lineaire en fonction de la vitesse de rotation"), - MRYRY=SIMP(statut='f',typ='R',min=1,max='**',fr="Masse ajoutee croisee de rotation autour de l'axe Y (kg) de la butee lineaire en fonction de la vitesse de rotation"), - ),#END INERTIE - ),#END INERTIE_S - - ),#END CARA_BUTEE - ),#end MANUELLE - CATALOGUE=BLOC(condition="TYPE_SAISIE=='CATALOGUE'", - fr = "Renseignement des fichiers contenant les caracteristiques de la butee lineaire", - ),#END CATALOGUE - ),#END BUTEE LINEAIRE - - BUTEE_NON_LINEAIRE=BLOC(condition="TYPE_BUTEE=='BUTEE NON LINEAIRE'", - fr = "Description d'une butee non-lineaire", - ),#END BUTEE NON LINEAIRE - - );#END BUTEE - -############################# SUPPORT ######################################## -SUPPORT = MACRO(nom = "SUPPORT", - op = None, - sd_prod = Support, - reentrant = 'n', - UIinfo = {"groupes":("Machine tournante",)}, - fr = "Description d'un support ", - TYPE_SUPPORT = SIMP(statut='o', - fr = "Type de support", - typ='TXM', - defaut="RIGIDE", - into=("RIGIDE", "SIMPLIFIE", "GENERALISE", ), - ), # end TYPE_SUPPORT - SIMPLIFIE = BLOC(condition = "((TYPE_SUPPORT == 'SIMPLIFIE') )", - fr = "Description d'un support simplifie", - RIGIDITE = FACT(statut='o', fr = "Renseignement des caracteristiques de rigidite du support simplifie", - KXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de KXX dans la matrice de rigidite (N/m)", - ),# end KXX - KXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de KXY dans la matrice de rigidite (N/m)", - ),# end KXY - KYX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de KYX dans la matrice de rigidite (N/m)", - ),# end KYX - KYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de KYY dans la matrice de rigidite (N/m)", - ),# end KYY - ), # end RIGIDITE - AMORTISSEMENT = FACT(statut='o', fr= "Renseignement des caracteristiques d'amortissement du support simplifie", - AXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de AXX dans la matrice d'amortissement (N.s/m)", - ),# end AXX - AXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de AXY dans la matrice d'amortissement (N.s/m)", - ),# end AXY - AYX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de AYX dans la matrice d'amortissement (N.s/m)", - ),# end AYX - AYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de AYY dans la matrice d'amortissement (N.s/m)", - ),# end AYY - ), # end AMORTISSEMENT - MASSE = FACT(statut='o', fr= "Renseignement des caracteristiques de masse du support simplifie", - MXX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de MXX dans la matrice de masse (kg)", - ),# end MXX - MXY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de MXY dans la matrice de masse (kg)", - ),# end MXY - MYX = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de MYX dans la matrice de masse (kg)", - ),# end MYX - MYY = SIMP(statut = 'o', - typ = 'R', - max = 1, - fr = "Valeur de MYY dans la matrice de masse (kg)", - ),# end MYY - ), # end MASSE - ), # end SIMPLIFIE - GENERALISE = BLOC(condition = "((TYPE_SUPPORT == 'GENERALISE') )", - fr = "Description d'un support generalise", - ANGL_NAUT = SIMP(statut='f', - fr="Rotation du modele du support generalise a effectuer pour coincider avec le repere de la ligne d'arbres (rotation autour de X, puis Y, puis Z (degres))", - typ='R', - min=3,max=3, - ), # end ANGL_NAUT - TRANS = SIMP(statut='f', - fr="Translation du modele du support generalise a effectuer pour que ses noeuds de connexion soient confondus avec ceux de la ligne d'arbres (translation suivant X, Y et Z (m))", - typ='R', - min=3,max=3, - ), # end TRANS - MAIL_TDG = SIMP(statut='o', - fr="Fichier du maillage du support generalise", - typ=("Fichier","Fichier maillage TdG (*.*)"), - min=1,max=1, - ), # end MAIL_TDG - COMM_TDG = SIMP(statut='o', - fr="Fichier de la mise en donnees du support generalise", - typ=("Fichier","Fichier commande TdG (*.*)"), - min=1,max=1, - ), # end COMM_TDG - NOM_MACRO_ELEMENT_DYNAMIQUE = SIMP(statut='o', - fr="Nom du macro element dynamique cree pour le support generalise", - typ='TXM', - min=1,max=1, - ), # end NOM_MACRO_ELEMENT_DYNAMIQUE - NOM_INTERFACE = SIMP(statut='o', - fr="Nom de l'interface cree pour le support generalise", - typ='TXM', - min=1,max=1, - ), # end NOM_INTERFACE - NOM_GROUP_MA_MASSIF = SIMP(statut='o', - fr="Nom du groupe de maille representant le support generalise", - typ='TXM', - min=1,max=1, - ), # end NOM_GROUP_MA_MASSIF - REDUIT = SIMP(statut='f', - fr="Introduction du mot-cle REDUIT pour le cas ou le nombre d'interfaces n'est pas identique entre le support generalise et la ligne d'arbres", - typ='TXM', - into=("OUI",), - defaut="OUI", - ), # end REDUIT - ), # end GENERALISE - ) # end SUPPORT - -############################# LIGNE_ARBRE ######################################## -LIGNE_ARBRE = MACRO(nom = 'LIGNE_ARBRE', - op = None, - sd_prod = LigneArbre, - reentrant = 'n', - UIinfo = {"groupes":("Machine tournante",)}, - fr = "Description de la ligne d'arbres", - DIRECTION = SIMP(statut='o', - fr = "Direction de la ligne d'arbres consideree (choisir une des entrees DIRECTION creees)", - typ=Direction, - min=1, - max=1, - ), # end DIRECTION - ZONES = SIMP(statut='o', - fr = "Zone(s) composant la ligne d'arbres (choisir, en faisant attention a l'ordre, parmi les entrees ZONE creees)", - typ=Zone, - min=1, - max='**', - ), # end ZONES - PALIERS = SIMP(statut='o', - fr = "Paliers supportant la ligne d'arbres (choisir, en faisant attention a l'ordre, parmi les entrees PALIER creees)", - typ=Palier, - min=2, - max='**', - ), # end PALIERS - - BUTEES = SIMP(statut='f', - fr = "Butee(s) guidant axialement la ligne d'arbres (choisir, en faisant attention a l'ordre, parmi les entrees BUTEES creees)", - typ=Butee, - max='**' - ),#end BUTEE - PALIERS_TORSION=SIMP(statut='f', - fr = "Palier(s) de torsion de la ligne d'arbres (choisir, en faisant attention a l'ordre, parmi les entrees PALIERS_TORSION creees)", - typ=PalTor, - max='**' - ),#end PALIERS_TORSION - SUPPORTS = SIMP(statut='o', - fr = "Supports sous les paliers (choisir, en faisant attention a l'ordre, parmi les entrees SUPPORTS creees)", - typ=Support, - min=1, - max='**', - ), # end SUPPORTS - ) # end LIGNE_ARBRE - diff --git a/MT/configuration_MT.py b/MT/configuration_MT.py deleted file mode 100644 index b9b56fe0..00000000 --- a/MT/configuration_MT.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== -""" - Ce module sert pour charger les paramètres de configuration d'EFICAS -""" -# Modules Python -from InterfaceQT4 import configuration -import os - - -class CONFIG(configuration.CONFIG_BASE): - - #----------------------------------- - def __init__(self,appli,repIni): - #----------------------------------- - - self.labels_user=['catalogues','lang'] - self.labels_eficas=['lang','rep_cata','catalogues'] - - configuration.CONFIG_BASE.__init__(self,appli,repIni) - - -def make_config(appli,rep): - return CONFIG(appli,rep) - diff --git a/MT/mesScripts_MT.py b/MT/mesScripts_MT.py deleted file mode 100644 index 010ea2d6..00000000 --- a/MT/mesScripts_MT.py +++ /dev/null @@ -1,70 +0,0 @@ -def view_zone(listeparam) : - item=listeparam[0] - from mt.visu import visu_geom - visu_zone = visu_geom.VisuGeom(from_eficas=True, - eficas_item=item, - ligne_arbre=False) - visu_zone.visualize() - -def view_ligne_arbre(listeparam) : - item=listeparam[0] - from mt.visu import visu_geom - visu_arbre = visu_geom.VisuGeom(from_eficas=True, - eficas_item=item, - ligne_arbre=True) - visu_arbre.visualize() - -def import_zone_MT(listeparam): - from PyQt5.QtWidgets import QFileDialog - - # selection fichier - fn = QFileDialog.getOpenFileName() - if not fn : return - FichieraTraduire=str(fn[0]) - - # lancement traduction - from mt.visu import traduire_catalogue_zone - tr=traduire_catalogue_zone.TraductionZone(file1=FichieraTraduire) - result,texte=tr.traduireZone() - - if result==True : - txt="sansnom="+texte - editor=listeparam[0] - itemWidget=listeparam[1] - editor.updateJdcEtape(itemWidget,txt) - - -def import_zone(listeparam): - #texte="ZONE(NOEUDS=(_F(NOM='N1',POSITION_AXIALE=0.0,), _F(NOM='N2',POSITION_AXIALE=0.1,), _F(NOM='N3',POSITION_AXIALE=0.2,), _F(NOM='N4',POSITION_AXIALE=0.3,),),)," - from txtZone import texte - #texte="sansnom="+texte - editor=listeparam[0] - itemWidget=listeparam[1] - itemParent=itemWidget.vraiParent - index = itemWidget.vraiParent.children.index(itemWidget) - - #print editor.updateJdc - #editor.updateJdc(itemWidget,txt) - retour = editor.updateJdcEtape(itemWidget,texte) - if retour : - - oldItem=itemParent.children[index] - oldItem.select() - oldItem.supprimeNoeud() - - -# le dictionnaire des commandes a la structure suivante : -# la clef est la commande qui va proposer l action -# puis un tuple qui contient -# - la fonction a appeler -# - le label dans le menu du clic droit -# - un tuple contenant les parametres attendus par la fonction -# - appelable depuis Salome uniquement -) -# - appelable depuis un item valide uniquement -# - toolTip -dict_commandes={ - 'LIGNE_ARBRE':((view_ligne_arbre,"View",('item',),False,True,"affiche dans Geom la representation de la ligne d'arbre"),), - 'ZONE':( - (view_zone,"View",('item',),False,True,"affiche dans Geom la representation de la zone "), - (import_zone,"import_zone",('editor','self'),False,False,"import de fichier zone"),) - } diff --git a/MT/prefs.py b/MT/prefs.py deleted file mode 100644 index 7f8d8fa1..00000000 --- a/MT/prefs.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -code="MT" -import sys, os -if os.path.dirname(os.path.abspath(__file__)) not in sys.path : - sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/MT/prefs_MT.py b/MT/prefs_MT.py deleted file mode 100644 index ec6a9af5..00000000 --- a/MT/prefs_MT.py +++ /dev/null @@ -1,42 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -import os,sys -# repIni sert a localiser le fichier editeur.ini -# Obligatoire -repIni=os.path.dirname(os.path.abspath(__file__)) -INSTALLDIR=os.path.join(repIni,'..') -sys.path[:0]=[INSTALLDIR] - - -# lang indique la langue utilisee pour les chaines d'aide : fr ou ang -lang='fr' - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -encoding='iso-8859-1' - -# -catalogues=( - ('MT','V2016',os.path.join(repIni,'MT_Cata_V2016.py'),'python','python'), -) -nombreDeBoutonParLigne=4 -simpleClic=True -closeFrameRechercheCommande=True diff --git a/MT/properties.py b/MT/properties.py deleted file mode 100644 index 1d328a46..00000000 --- a/MT/properties.py +++ /dev/null @@ -1,24 +0,0 @@ -#@ MODIF properties Accas DATE 11/06/2008 AUTEUR aster M.ADMINISTRATEUR -# RESPONSABLE D6BHHHH J-P.LEFEBVRE -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR -# DE LA VERSION DU CODE_ASTER ASSOCIE -#---------------------------------------------------------------------- -version = "1.2" -date = "25/05/2010" -exploit = False diff --git a/MT/qtEficasMT.py b/MT/qtEficasMT.py deleted file mode 100755 index e07cbaf3..00000000 --- a/MT/qtEficasMT.py +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# 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. -# -# 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 -# -""" - Ce module sert a lancer EFICAS configure pour MAP -""" -# Modules Python -# Modules Eficas -import prefs -name='prefs_'+prefs.code -__import__(name) - -import sys -reload(sys) -sys.setdefaultencoding('latin1') -import os -sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) - -import prefs -from InterfaceQT4 import eficas_go -eficas_go.lance_eficas(code=prefs.code) diff --git a/MT/reecrit_comm.py_VOprofile.py b/MT/reecrit_comm.py_VOprofile.py deleted file mode 100755 index 2ea327f2..00000000 --- a/MT/reecrit_comm.py_VOprofile.py +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -""" -""" -# Modules Python -from __future__ import absolute_import - -import sys,os - -# Modules Eficas -import prefs -if hasattr(prefs,'encoding'): - # Hack pour changer le codage par defaut des strings - import sys - reload(sys) - sys.setdefaultencoding(prefs.encoding) - del sys.setdefaultencoding - # Fin hack - - -sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) -from InterfaceQT4 import eficas_go - -from PyQt5.QtWidgets import QApplication -app = QApplication(sys.argv) -# on veut ouvrir un fichier directement au lancement d'Eficas - - -import cProfile, pstats, StringIO -pr = cProfile.Profile() -pr.enable() -eficas_go.lance_eficas_ssIhm_reecrit(code='MT',fichier = 'gros_modele_MT.comm',ou = 'toto',cr=True) -pr.disable() -s = StringIO.StringIO() -sortby = 'cumulative' -ps = pstats.Stats(pr, stream=s).sort_stats(sortby) -ps.print_stats() -print s.getvalue() diff --git a/MT/txtZone.py b/MT/txtZone.py deleted file mode 100644 index 89f4204f..00000000 --- a/MT/txtZone.py +++ /dev/null @@ -1,227 +0,0 @@ -texte="ZONE(NOEUDS=(_F(NOM='N1',POSITION_AXIALE=0.0,),\ - _F(NOM='N2',POSITION_AXIALE=0.1,),\ - _F(NOM='N3',POSITION_AXIALE=0.2,),\ - _F(NOM='N4',POSITION_AXIALE=0.3,),\ - _F(NOM='N5',POSITION_AXIALE=0.4,),\ - _F(NOM='N6',POSITION_AXIALE=0.5,),\ - _F(NOM='N7',POSITION_AXIALE=0.6,),\ - _F(NOM='N8',POSITION_AXIALE=0.7,),\ - _F(NOM='N9',POSITION_AXIALE=0.8,),\ - _F(NOM='N10',POSITION_AXIALE=0.9,),\ - _F(NOM='N11',POSITION_AXIALE=1.0,),\ - _F(NOM='N12',POSITION_AXIALE=1.1,),\ - _F(NOM='N13',POSITION_AXIALE=1.2,),\ - _F(NOM='N14',POSITION_AXIALE=1.3,),\ -),\ - ELEMENTS=(_F(NOM='E1',\ - NOEUD_DEBUT='N1',\ - NOEUD_FIN='N2',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ - _F(NOM='E2',\ - NOEUD_DEBUT='N2',\ - NOEUD_FIN='N3',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ - _F(NOM='E3',\ - NOEUD_DEBUT='N3',\ - NOEUD_FIN='N4',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ - _F(NOM='E4',\ - NOEUD_DEBUT='N4',\ - NOEUD_FIN='N5',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ - _F(NOM='E5',\ - NOEUD_DEBUT='N5',\ - NOEUD_FIN='N6',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ - _F(NOM='E6',\ - NOEUD_DEBUT='N6',\ - NOEUD_FIN='N7',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ - _F(NOM='E7',\ - NOEUD_DEBUT='N7',\ - NOEUD_FIN='N8',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.05,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.05,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.05,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.05,),),\ - _F(NOM='E8',\ - NOEUD_DEBUT='N8',\ - NOEUD_FIN='N9',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ - _F(NOM='E9',\ - NOEUD_DEBUT='N9',\ - NOEUD_FIN='N10',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ - _F(NOM='E10',\ - NOEUD_DEBUT='N10',\ - NOEUD_FIN='N11',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ - _F(NOM='E11',\ - NOEUD_DEBUT='N11',\ - NOEUD_FIN='N12',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ - _F(NOM='E12',\ - NOEUD_DEBUT='N12',\ - NOEUD_FIN='N13',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ - _F(NOM='E13',\ - NOEUD_DEBUT='N13',\ - NOEUD_FIN='N14',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ -),\ - MASSE=(_F(NOEUD='N5',\ - TYPE_MASSE='AILETTE',\ - TYPE_SAISIE='MECANIQUE',\ - PARAMETRES=_F(MASSE=1.3,\ - INERTIEX=0.1,\ - INERTIEY=0.1,\ - INERTIEZ=0.05,),),\ - _F(NOEUD='N8',\ - TYPE_MASSE='QUELCONQUE',\ - PARAMETRES=_F(MASSE=1.2,\ - INERTIEX=0.0,\ - INERTIEY=0.0,\ - INERTIEZ=0.0,),),\ -),\ -),\ -" diff --git a/MT/txtZonePN.py b/MT/txtZonePN.py deleted file mode 100644 index 89f4204f..00000000 --- a/MT/txtZonePN.py +++ /dev/null @@ -1,227 +0,0 @@ -texte="ZONE(NOEUDS=(_F(NOM='N1',POSITION_AXIALE=0.0,),\ - _F(NOM='N2',POSITION_AXIALE=0.1,),\ - _F(NOM='N3',POSITION_AXIALE=0.2,),\ - _F(NOM='N4',POSITION_AXIALE=0.3,),\ - _F(NOM='N5',POSITION_AXIALE=0.4,),\ - _F(NOM='N6',POSITION_AXIALE=0.5,),\ - _F(NOM='N7',POSITION_AXIALE=0.6,),\ - _F(NOM='N8',POSITION_AXIALE=0.7,),\ - _F(NOM='N9',POSITION_AXIALE=0.8,),\ - _F(NOM='N10',POSITION_AXIALE=0.9,),\ - _F(NOM='N11',POSITION_AXIALE=1.0,),\ - _F(NOM='N12',POSITION_AXIALE=1.1,),\ - _F(NOM='N13',POSITION_AXIALE=1.2,),\ - _F(NOM='N14',POSITION_AXIALE=1.3,),\ -),\ - ELEMENTS=(_F(NOM='E1',\ - NOEUD_DEBUT='N1',\ - NOEUD_FIN='N2',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ - _F(NOM='E2',\ - NOEUD_DEBUT='N2',\ - NOEUD_FIN='N3',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ - _F(NOM='E3',\ - NOEUD_DEBUT='N3',\ - NOEUD_FIN='N4',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ - _F(NOM='E4',\ - NOEUD_DEBUT='N4',\ - NOEUD_FIN='N5',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ - _F(NOM='E5',\ - NOEUD_DEBUT='N5',\ - NOEUD_FIN='N6',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ - _F(NOM='E6',\ - NOEUD_DEBUT='N6',\ - NOEUD_FIN='N7',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ - _F(NOM='E7',\ - NOEUD_DEBUT='N7',\ - NOEUD_FIN='N8',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.05,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.05,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.05,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.05,),),\ - _F(NOM='E8',\ - NOEUD_DEBUT='N8',\ - NOEUD_FIN='N9',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ - _F(NOM='E9',\ - NOEUD_DEBUT='N9',\ - NOEUD_FIN='N10',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ - _F(NOM='E10',\ - NOEUD_DEBUT='N10',\ - NOEUD_FIN='N11',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ - _F(NOM='E11',\ - NOEUD_DEBUT='N11',\ - NOEUD_FIN='N12',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ - _F(NOM='E12',\ - NOEUD_DEBUT='N12',\ - NOEUD_FIN='N13',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ - _F(NOM='E13',\ - NOEUD_DEBUT='N13',\ - NOEUD_FIN='N14',\ - RAFFINEMENT='NON',\ - MATERIAU=MAT,\ - SECTION_MASSE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.1,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.1,\ - DIAM_INTERN_SORTIE=0.0,),\ - SECTION_RIGIDITE=_F(TYPE_SECTION='VARIABLE',\ - DIAM_EXTERN_DEBUT=0.11,\ - DIAM_INTERN_DEBUT=0.0,\ - DIAM_EXTERN_SORTIE=0.11,\ - DIAM_INTERN_SORTIE=0.0,),),\ -),\ - MASSE=(_F(NOEUD='N5',\ - TYPE_MASSE='AILETTE',\ - TYPE_SAISIE='MECANIQUE',\ - PARAMETRES=_F(MASSE=1.3,\ - INERTIEX=0.1,\ - INERTIEY=0.1,\ - INERTIEZ=0.05,),),\ - _F(NOEUD='N8',\ - TYPE_MASSE='QUELCONQUE',\ - PARAMETRES=_F(MASSE=1.2,\ - INERTIEX=0.0,\ - INERTIEY=0.0,\ - INERTIEZ=0.0,),),\ -),\ -),\ -" diff --git a/Noyau/N_ASSD.py b/Noyau/N_ASSD.py index a7fae981..0ca831da 100644 --- a/Noyau/N_ASSD.py +++ b/Noyau/N_ASSD.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -48,16 +48,16 @@ class ASSD(object): if etape: self.parent = etape.parent else: - self.parent = CONTEXT.getCurrentStep() + self.parent = CONTEXT.get_current_step() if self.parent: - self.jdc = self.parent.getJdcRoot() + self.jdc = self.parent.get_jdc_root() else: self.jdc = None if not self.parent: self.id = None elif reg == 'oui': - self.id = self.parent.regSD(self) + self.id = self.parent.reg_sd(self) else: self.id = self.parent.o_register(self) # permet de savoir si le concept a été calculé (1) ou non (0) @@ -74,7 +74,7 @@ class ASSD(object): # 0 : assd normal, 1 : type CO, 2 : type CO typé self._as_co = 0 - def _getSdj(self): + def _get_sdj(self): """Retourne le catalogue de SD associé au concept.""" if self.ptr_sdj is None: cata_sdj = getattr(self, 'cata_sdj', None) @@ -82,7 +82,7 @@ class ASSD(object): % self.__class__.__name__ assert self.nom, "The attribute 'nom' has not been filled!" if self.ptr_class_sdj is None: - self.ptr_class_sdj = importObject(cata_sdj) + self.ptr_class_sdj = import_object(cata_sdj) self.ptr_sdj = self.ptr_class_sdj(nomj=self.nom) return self.ptr_sdj @@ -93,7 +93,7 @@ class ASSD(object): self.ptr_sdj = None self.ptr_class_sdj = None - sdj = property(_getSdj, None, _del_sdj) + sdj = property(_get_sdj, None, _del_sdj) def __getitem__(self, key): text_error = "ASSD.__getitem__ est déprécié car la référence a l'objet ETAPE parent sera supprimée." @@ -101,12 +101,12 @@ class ASSD(object): warn(text_error, DeprecationWarning, stacklevel=2) return self.etape[key] - def setName(self, nom): + def set_name(self, nom): """Positionne le nom de self (et appelle sd_init) """ self.nom = nom - def isTypCO(self): + def is_typco(self): """Permet de savoir si l'ASSD est issu d'un type CO. Retourne: 0 : ce n'est pas un type CO @@ -115,19 +115,19 @@ class ASSD(object): """ return self._as_co - def changeType(self, new_type): + def change_type(self, new_type): """Type connu a posteriori (type CO).""" self.__class__ = new_type assert self._as_co != 0, 'it should only be called on CO object.' self._as_co = 2 - def getName(self): + def get_name(self): """ Retourne le nom de self, éventuellement en le demandant au JDC """ if not self.nom: try: - self.nom = self.parent.getName(self) or self.id + self.nom = self.parent.get_name(self) or self.id except: self.nom = "" if self.nom.find('sansnom') != -1 or self.nom == '': @@ -140,15 +140,15 @@ class ASSD(object): 'force' est utilisée pour faire des suppressions complémentaires (voir les formules dans N_FONCTION). """ - self.supprimeSd() + self.supprime_sd() self.etape = None self.sd = None self.jdc = None self.parent = None - def supprimeSd(self): + def supprime_sd(self): """Supprime la partie du catalogue de SD.""" - # 'del self.sdj' appellerait la méthode '_getSdj()'... + # 'del self.sdj' appellerait la méthode '_get_sdj()'... self._del_sdj() @@ -183,7 +183,7 @@ class ASSD(object): """ if CONTEXT.debug: print(('| accessible ?', self.nom)) - is_accessible = CONTEXT.getCurrentStep().sdAccessible() + is_accessible = CONTEXT.get_current_step().sd_accessible() if CONTEXT.debug: print((' `- is_accessible =', repr(is_accessible))) return is_accessible @@ -205,13 +205,13 @@ class ASSD(object): ctxt[key] = value return ctxt - def parLot(self): + def par_lot(self): """Conserver uniquement pour la compatibilite avec le catalogue v9 dans eficas.""" # XXX eficas if not hasattr(self, 'jdc') or self.jdc == None: val = None else: - val = self.jdc.parLot + val = self.jdc.par_lot return val == 'OUI' def rebuild_sd(self): diff --git a/Noyau/N_BLOC.py b/Noyau/N_BLOC.py index b1315229..dd33cfdf 100644 --- a/Noyau/N_BLOC.py +++ b/Noyau/N_BLOC.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -32,7 +32,7 @@ import traceback from . import N_ENTITE from . import N_MCBLOC from .N_Exception import AsException -from .N_types import forceList +from .N_types import force_list class BLOC(N_ENTITE.ENTITE): @@ -70,7 +70,6 @@ class BLOC(N_ENTITE.ENTITE): self.fr = fr self.ang = ang self.docu = docu - self.fenetreIhm=None if type(regles) == tuple: self.regles = regles else: @@ -80,26 +79,26 @@ class BLOC(N_ENTITE.ENTITE): self.entites = args self.affecter_parente() - def __call__(self, val, nom, parent=None, dicoPyxbDeConstruction=None): + def __call__(self, val, nom, parent=None): """ Construit un objet MCBLOC a partir de sa definition (self) de sa valeur (val), de son nom (nom) et de son parent dans l arboresence (parent) """ - return self.class_instance(nom=nom, definition=self, val=val, parent=parent,dicoPyxbDeConstruction=dicoPyxbDeConstruction) + return self.class_instance(nom=nom, definition=self, val=val, parent=parent) - def verifCata(self): + def verif_cata(self): """ Cette méthode vérifie si les attributs de définition sont valides. Les éventuels messages d'erreur sont écrits dans l'objet compte-rendu (self.cr). """ - self.checkFr() - self.checkDocu() - self.checkRegles() - self.checkStatut(into=('f', 'o')) - self.checkCondition() - self.verifCataRegles() - - def verifPresence(self, dict, globs): + self.check_fr() + self.check_docu() + self.check_regles() + self.check_statut(into=('f', 'o')) + self.check_condition() + self.verif_cata_regles() + + def verif_presence(self, dict, globs): """ Cette méthode vérifie si le dictionnaire passé en argument (dict) est susceptible de contenir un bloc de mots-clés conforme à la @@ -113,7 +112,7 @@ class BLOC(N_ENTITE.ENTITE): les valeurs des mots-clés """ # On recopie le dictionnaire pour protéger l'original - dico = blocUtils() + dico = bloc_utils() dico.update(dict) if self.condition != None: try: @@ -143,22 +142,17 @@ class BLOC(N_ENTITE.ENTITE): '\n', "Erreur dans la condition : ", self.condition, ''.join(l)) else: return 0 - - def longueurDsArbre(self): - longueur=0 - for mc in self.mcListe : - longueur = longueur + longueurDsArbre(mc) - return longueur - -def blocUtils(): + + +def bloc_utils(): """Définit un ensemble de fonctions utilisables pour écrire les conditions de BLOC.""" def au_moins_un(mcsimp, valeurs): """Valide si la (ou une) valeur de 'mcsimp' est au moins une fois dans la ou les 'valeurs'. Similaire à la règle AU_MOINS_UN, 'mcsimp' peut contenir plusieurs valeurs.""" - test = set(forceList(mcsimp)) - valeurs = set(forceList(valeurs)) + test = set(force_list(mcsimp)) + valeurs = set(force_list(valeurs)) return not test.isdisjoint(valeurs) def aucun(mcsimp, valeurs): diff --git a/Noyau/N_CO.py b/Noyau/N_CO.py index c46cd58d..76025307 100644 --- a/Noyau/N_CO.py +++ b/Noyau/N_CO.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -40,14 +40,14 @@ class CO(ASSD) : try: self.parent.NommerSdprod(self, nom) except AsException as e: - appel = N_utils.calleeWhere(niveau=2) + appel = N_utils.callee_where(niveau=2) raise AsException( "Concept CO, fichier: ", appel[1], " ligne : ", appel[0], '\n', e) else: self.nom = nom def __convert__(cls, valeur): - if valeur.isTypCO(): + if valeur.is_typco(): return valeur raise ValError("Pas un concept CO") __convert__ = classmethod(__convert__) diff --git a/Noyau/N_CONVERT.py b/Noyau/N_CONVERT.py index 3a89a528..d4fc92ac 100644 --- a/Noyau/N_CONVERT.py +++ b/Noyau/N_CONVERT.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -26,10 +26,10 @@ try: from builtins import object except : pass -from .N_types import isInt, isFloat, isSequence +from .N_types import is_int, is_float, is_sequence -def hasIntValue(real): +def has_int_value(real): """Est-ce que 'real' a une valeur entière ? """ return abs(int(real) - real) < 1.e-12 @@ -47,7 +47,7 @@ class Conversion(object): def convert(self, obj): """Filtre liste """ - in_as_seq = isSequence(obj) + in_as_seq = is_sequence(obj) if not in_as_seq: obj = (obj,) @@ -84,7 +84,7 @@ class IntConversion(TypeConversion): TypeConversion.__init__(self, 'I') def function(self, o): - if isFloat(o) and hasIntValue(o): + if is_float(o) and has_int_value(o): o = int(o) return o @@ -98,7 +98,7 @@ class FloatConversion(TypeConversion): TypeConversion.__init__(self, 'R') def function(self, o): - if isFloat(o): + if is_float(o): o = float(o) return o diff --git a/Noyau/N_CR.py b/Noyau/N_CR.py index 95aa455a..e304f9d2 100644 --- a/Noyau/N_CR.py +++ b/Noyau/N_CR.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -101,7 +101,7 @@ class CR(object): self.crfatal = [] self.subcr = [] - def beautifieMessages(self): + def beautifie_messages(self): """ Beautifie les messages stockés dans crok,crfatal,crexception et crwarn """ @@ -111,15 +111,15 @@ class CR(object): self.crok_belle = l l = [] for mess in self.crwarn: - l.append(encadreMessage(mess, '*')) + l.append(encadre_message(mess, '*')) self.crwarn_belle = l l = [] for mess in self.crfatal: - l.append(encadreMessage(mess, '!')) + l.append(encadre_message(mess, '!')) self.crfatal_belle = l l = [] for mess in self.crexception: - l.append(encadreMessage(mess, '!')) + l.append(encadre_message(mess, '!')) self.crexception_belle = l def indent(self, s): @@ -135,7 +135,7 @@ class CR(object): Retourne une chaine de caractères décorée et représentative de self """ s = '' - self.beautifieMessages() + self.beautifie_messages() s = s + ''.join(self.crok_belle) s = s + ''.join(self.crwarn_belle) s = s + ''.join(self.crfatal_belle) @@ -181,7 +181,7 @@ class CR(object): (decalage - 1) * self.dec + self.fin + '\n' return s - def getMessFatal(self): + def get_mess_fatal(self): """ Retourne une chaine de caractères contenant les messages de la liste crfatal (du dernier au premier) @@ -193,7 +193,7 @@ class CR(object): self.crfatal.reverse() return s - def getMessException(self): + def get_mess_exception(self): """ Retourne une chaine de caractères contenant les messages de la liste crexception (du dernier au premier) @@ -228,7 +228,7 @@ def split(ligne, cesure): return ligne[:coupure + 1] + '\n' + split(ligne[coupure + 1:], cesure) -def justifyText(texte='', cesure=50): +def justify_text(texte='', cesure=50): if not isinstance (texte,str) : texte = ''.join(texte) texte = texte.strip() liste_lignes = texte.split('\n') @@ -237,12 +237,12 @@ def justifyText(texte='', cesure=50): return texte_justifie -def encadreMessage(texte, motif): +def encadre_message(texte, motif): """ Retourne la chaine de caractères texte entourée d'un cadre formés d'éléments 'motif' """ - texte = justifyText(texte, cesure=80) + texte = justify_text(texte, cesure=80) if texte.strip() == "" : return '' lignes = texte.split( '\n') longueur = 0 diff --git a/Noyau/N_ENTITE.py b/Noyau/N_ENTITE.py index 4735edd3..d9387e29 100644 --- a/Noyau/N_ENTITE.py +++ b/Noyau/N_ENTITE.py @@ -1,6 +1,7 @@ # coding=utf-8 +# person_in_charge: mathieu.courtois at edf.fr # ====================================================================== -# COPYRIGHT (C) 1991 - 2017 EDF R&D WWW.CODE-ASTER.ORG +# COPYRIGHT (C) 1991 - 2015 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR @@ -79,18 +80,17 @@ class ENTITE(object): v.pere = self v.nom = k - def verifCata(self): + def verif_cata(self): """ Cette methode sert à valider les attributs de l'objet de définition """ - raise NotImplementedError("La méthode verifCata de la classe %s doit être implémentée" + raise NotImplementedError("La méthode verif_cata de la classe %s doit être implémentée" % self.__class__.__name__) def __call__(self): """ Cette methode doit retourner un objet dérivé de la classe OBJECT """ - raise NotImplementedError("La méthode __call__ de la classe %s doit être implémentée" % self.__class__.__name__) @@ -100,7 +100,7 @@ class ENTITE(object): rapport de validation de la définition portée par cet objet """ self.cr = self.CR() - self.verifCata() + self.verif_cata() for k, v in list(self.entites.items()): try: cr = v.report() @@ -113,7 +113,7 @@ class ENTITE(object): print(("père =", self)) return self.cr - def verifCataRegles(self): + def verif_cata_regles(self): """ Cette méthode vérifie pour tous les objets dérivés de ENTITE que les objets REGLES associés ne portent que sur des sous-entités @@ -129,7 +129,7 @@ class ENTITE(object): self.cr.fatal( _(u"Argument(s) non permis : %r pour la règle : %s"), l, txt) - def checkDefinition(self, parent): + def check_definition(self, parent): """Verifie la definition d'un objet composite (commande, fact, bloc).""" args = self.entites.copy() mcs = set() @@ -140,7 +140,7 @@ class ENTITE(object): # if val.max != 1 and val.type == 'TXM': # print "#CMD", parent, nom elif val.label == 'FACT': - val.checkDefinition(parent) + val.check_definition(parent) # CALC_SPEC ! # assert self.label != 'FACT', \ #'Commande %s : Mot-clef facteur present sous un mot-clef facteur : interdit !' \ @@ -152,67 +152,67 @@ class ENTITE(object): # niveau for nom, val in list(args.items()): if val.label == 'BLOC': - mcbloc = val.checkDefinition(parent) + mcbloc = val.check_definition(parent) # XXX # print "#BLOC", parent, re.sub('\s+', ' ', val.condition) assert mcs.isdisjoint(mcbloc), "Commande %s : Mot(s)-clef(s) vu(s) plusieurs fois : %s" \ % (parent, tuple(mcs.intersection(mcbloc))) return mcs - def checkOp(self, valmin=-9999, valmax=9999): + def check_op(self, valmin=-9999, valmax=9999): """Vérifie l'attribut op.""" if self.op is not None and \ (type(self.op) is not int or self.op < valmin or self.op > valmax): self.cr.fatal(_(u"L'attribut 'op' doit être un entier " u"compris entre %d et %d : %r"), valmin, valmax, self.op) - def checkProc(self): + def check_proc(self): """Vérifie l'attribut proc.""" if self.proc is not None and not isinstance(self.proc, N_OPS.OPS): self.cr.fatal( _(u"L'attribut op doit être une instance d'OPS : %r"), self.proc) - def checkRegles(self): + def check_regles(self): """Vérifie l'attribut regles.""" if type(self.regles) is not tuple: self.cr.fatal(_(u"L'attribut 'regles' doit être un tuple : %r"), self.regles) - def checkFr(self): + def check_fr(self): """Vérifie l'attribut fr.""" if type(self.fr) not in stringTypes: self.cr.fatal( _(u"L'attribut 'fr' doit être une chaine de caractères : %r"), self.fr) - def checkDocu(self): + def check_docu(self): """Vérifie l'attribut docu.""" if type(self.docu) not in stringTypes: self.cr.fatal( _(u"L'attribut 'docu' doit être une chaine de caractères : %r"), self.docu) - def checkNom(self): + def check_nom(self): """Vérifie l'attribut proc.""" if type(self.nom) is not str: self.cr.fatal( _(u"L'attribut 'nom' doit être une chaine de caractères : %r"), self.nom) - def checkReentrant(self): + def check_reentrant(self): """Vérifie l'attribut reentrant.""" if self.reentrant not in ('o', 'n', 'f'): self.cr.fatal( _(u"L'attribut 'reentrant' doit valoir 'o','n' ou 'f' : %r"), self.reentrant) - def checkStatut(self, into=('o', 'f', 'c', 'd')): + def check_statut(self, into=('o', 'f', 'c', 'd')): """Vérifie l'attribut statut.""" if self.statut not in into: self.cr.fatal(_(u"L'attribut 'statut' doit être parmi %s : %r"), into, self.statut) - def checkCondition(self): + def check_condition(self): """Vérifie l'attribut condition.""" if self.condition != None: if type(self.condition) is not str: @@ -222,7 +222,7 @@ class ENTITE(object): else: self.cr.fatal(_(u"La condition ne doit pas valoir None !")) - def checkMinMax(self): + def check_min_max(self): """Vérifie les attributs min/max.""" if type(self.min) != int: if self.min != '**'and self.min != float('-inf'): @@ -237,42 +237,27 @@ class ENTITE(object): _(u"Nombres d'occurrence min et max invalides : %r %r"), self.min, self.max) - def checkValidators(self): + def check_validators(self): """Vérifie les validateurs supplémentaires""" - if self.validators and not self.validators.verifCata(): + if self.validators and not self.validators.verif_cata(): self.cr.fatal(_(u"Un des validateurs est incorrect. Raison : %s"), self.validators.cata_info) - def checkHomo(self): + def check_homo(self): """Vérifie l'attribut homo.""" if self.homo != 0 and self.homo != 1: self.cr.fatal( _(u"L'attribut 'homo' doit valoir 0 ou 1 : %r"), self.homo) - def checkInto(self): + def check_into(self): """Vérifie l'attribut into.""" if self.into != None: if (type(self.into) not in (list, tuple)) and (type(self.into) != types.FunctionType) : self.cr.fatal( _(u"L'attribut 'into' doit être un tuple : %r"), self.into) - def checkPosition(self): + def check_position(self): """Vérifie l'attribut position.""" if self.position not in ('local', 'global', 'global_jdc'): self.cr.fatal(_(u"L'attribut 'position' doit valoir 'local', 'global' " u"ou 'global_jdc' : %r"), self.position) - - def dumpXSD(self): - args = self.entites.copy() - mcs = set() - for nom, val in list(args.items()): - if val.label == 'SIMP': - mcs.add(nom) - # XXX - # if val.max != 1 and val.type == 'TXM': - # print "#CMD", parent, nom - elif val.label == 'FACT': - liste=val.dumpXSD() - mcs.update(liste) - print (self.nom, mcs) - return mcs diff --git a/Noyau/N_ETAPE.py b/Noyau/N_ETAPE.py index 9a777aa6..50c99e7a 100644 --- a/Noyau/N_ETAPE.py +++ b/Noyau/N_ETAPE.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -66,40 +66,29 @@ class ETAPE(N_MCCOMPO.MCCOMPO): - reuse : indique le concept d'entree reutilise. Il se trouvera donc en sortie si les conditions d'execution de l'operateur l'autorise - valeur : arguments d'entree de type mot-cle=valeur. Initialise avec l'argument args. - - objPyxbDeConstruction - """ - # faut il le faire ds MC_Build ? - # traitement de Pyxb si Pyxb - self.dicoPyxbDeConstruction = args.get('dicoPyxbDeConstruction', None) - if self.dicoPyxbDeConstruction : - del args['dicoPyxbDeConstruction'] - self.objPyxbDeConstruction=self.dicoPyxbDeConstruction['objEnPyxb'] - else : - self.objPyxbDeConstruction=None + """ self.definition = oper self.reuse = reuse self.valeur = args self.nettoiargs() - self.parent = CONTEXT.getCurrentStep() + self.parent = CONTEXT.get_current_step() self.etape = self self.nom = oper.nom self.idracine = oper.label - self.appel = N_utils.calleeWhere(niveau) + self.appel = N_utils.callee_where(niveau) self.mc_globaux = {} self.sd = None self.actif = 1 - self.makeRegister() + self.make_register() self.icmd = None - def makeRegister(self): + def make_register(self): """ Initialise les attributs jdc, id, niveau et realise les enregistrements necessaires - surcharge dans Ihm """ - print ('makeRegister de ETAPE') if self.parent: - self.jdc = self.parent.getJdcRoot() + self.jdc = self.parent.get_jdc_root() self.id = self.parent.register(self) self.niveau = None else: @@ -116,14 +105,14 @@ class ETAPE(N_MCCOMPO.MCCOMPO): if self.valeur[k] == None: del self.valeur[k] - def MCBuild(self): + def McBuild(self): """ Demande la construction des sous-objets et les stocke dans l'attribut - mcListe. + mc_liste. """ - self.mcListe = self.buildMc() + self.mc_liste = self.build_mc() - def buildSd(self, nom): + def Build_sd(self, nom): """ Construit le concept produit de l'operateur. Deux cas peuvent se presenter : @@ -138,18 +127,18 @@ class ETAPE(N_MCCOMPO.MCCOMPO): self.sdnom = nom try: if self.parent: - sd = self.parent.createSdprod(self, nom) + sd = self.parent.create_sdprod(self, nom) if type(self.definition.op_init) == types.FunctionType: self.definition.op_init(*( self, self.parent.g_context)) else: - sd = self.getSdProd() + sd = self.get_sd_prod() # On n'utilise pas self.definition.op_init car self.parent # n'existe pas if sd != None and self.reuse == None: # On ne nomme le concept que dans le cas de non reutilisation # d un concept - sd.setName(nom) + sd.set_name(nom) except AsException as e: raise AsException("Etape ", self.nom, 'ligne : ', self.appel[0], 'fichier : ', self.appel[1], e) @@ -173,7 +162,7 @@ class ETAPE(N_MCCOMPO.MCCOMPO): """ return - def getSdProd(self): + def get_sd_prod(self): """ Retourne le concept resultat de l'etape Deux cas : @@ -182,12 +171,12 @@ class ETAPE(N_MCCOMPO.MCCOMPO): on construit le sd a partir de cette classe et on le retourne - cas 2 : il s'agit d'une fonction - on l'evalue avec les mots-cles de l'etape (mcListe) + on l'evalue avec les mots-cles de l'etape (mc_liste) on construit le sd a partir de la classe obtenue et on le retourne """ if type(self.definition.sd_prod) == types.FunctionType: - d = self.creeDictValeurs(self.mcListe) + d = self.cree_dict_valeurs(self.mc_liste) try: sd_prod = self.definition.sd_prod(*(), **d) except EOFError: @@ -218,13 +207,13 @@ Causes possibles : Developpeur : La fonction "sd_prod" retourne un type invalide.""") return self.sd - def getType_produit(self): + def get_type_produit(self): try: - return self.getType_produit_brut() + return self.get_type_produit_brut() except: return None - def getType_produit_brut(self): + def get_type_produit_brut(self): """ Retourne le type du concept resultat de l'etape Deux cas : @@ -232,17 +221,17 @@ Causes possibles : il s'agit d'une sous classe de ASSD on retourne le nom de la classe - cas 2 : il s'agit d'une fonction - on l'evalue avec les mots-cles de l'etape (mcListe) + on l'evalue avec les mots-cles de l'etape (mc_liste) et on retourne son resultat """ if type(self.definition.sd_prod) == types.FunctionType: - d = self.creeDictValeurs(self.mcListe) + d = self.cree_dict_valeurs(self.mc_liste) sd_prod = self.definition.sd_prod(*(), **d) else: sd_prod = self.definition.sd_prod return sd_prod - def getEtape(self): + def get_etape(self): """ Retourne l'etape a laquelle appartient self Un objet de la categorie etape doit retourner self pour indiquer que @@ -267,7 +256,7 @@ Causes possibles : def __del__(self): pass - def getCreated_sd(self): + def get_created_sd(self): """Retourne la liste des sd reellement produites par l'etape. Si reuse est present, `self.sd` a ete creee avant, donc n'est pas dans cette liste.""" @@ -275,37 +264,37 @@ Causes possibles : return [self.sd, ] return [] - def isActif(self): + def isactif(self): """ Indique si l'etape est active (1) ou inactive (0) """ return self.actif - def setCurrentStep(self): + def set_current_step(self): """ Methode utilisee pour que l etape self se declare etape courante. Utilise par les macros """ - cs = CONTEXT.getCurrentStep() + cs = CONTEXT.get_current_step() if self.parent != cs: raise AsException("L'etape courante", cs.nom, cs, "devrait etre le parent de", self.nom, self) else: - CONTEXT.unsetCurrentStep() - CONTEXT.setCurrentStep(self) + CONTEXT.unset_current_step() + CONTEXT.set_current_step(self) - def resetCurrentStep(self): + def reset_current_step(self): """ Methode utilisee par l'etape self qui remet son etape parent comme etape courante """ - cs = CONTEXT.getCurrentStep() + cs = CONTEXT.get_current_step() if self != cs: raise AsException("L'etape courante", cs.nom, cs, "devrait etre", self.nom, self) else: - CONTEXT.unsetCurrentStep() - CONTEXT.setCurrentStep(self.parent) + CONTEXT.unset_current_step() + CONTEXT.set_current_step(self.parent) def issubstep(self, etape): """ @@ -317,13 +306,13 @@ Causes possibles : """ return 0 - def getFile(self, unite=None, fic_origine='', fname=None): + def get_file(self, unite=None, fic_origine='', fname=None): """ Retourne le nom du fichier correspondant a un numero d'unite logique (entier) ainsi que le source contenu dans le fichier """ if self.jdc: - return self.jdc.getFile(unite=unite, fic_origine=fic_origine, fname=fname) + return self.jdc.get_file(unite=unite, fic_origine=fic_origine, fname=fname) else: if unite != None: if os.path.exists("fort." + str(unite)): @@ -347,7 +336,7 @@ Causes possibles : """ visitor.visitETAPE(self) - def updateContext(self, d): + def update_context(self, d): """ Cette methode doit updater le contexte fournit par l'appelant en argument (d) en fonction de sa definition @@ -367,20 +356,20 @@ Causes possibles : etape.reuse = None etape.sdnom = None etape.etape = etape - etape.mcListe = [] - for objet in self.mcListe: + etape.mc_liste = [] + for objet in self.mc_liste: new_obj = objet.copy() new_obj.reparent(etape) - etape.mcListe.append(new_obj) + etape.mc_liste.append(new_obj) return etape - def copyReuse(self, old_etape): + def copy_reuse(self, old_etape): """ Methode qui copie le reuse d'une autre etape. """ if hasattr(old_etape, "reuse"): self.reuse = old_etape.reuse - def copySdnom(self, old_etape): + def copy_sdnom(self, old_etape): """ Methode qui copie le sdnom d'une autre etape. """ if hasattr(old_etape, "sdnom"): @@ -391,30 +380,30 @@ Causes possibles : Cette methode sert a reinitialiser la parente de l'objet """ self.parent = parent - self.jdc = parent.getJdcRoot() + self.jdc = parent.get_jdc_root() self.etape = self - for mocle in self.mcListe: + for mocle in self.mc_liste: mocle.reparent(self) if self.sd and self.reuse == None: self.sd.jdc = self.jdc - def getCmd(self, nomcmd): + def get_cmd(self, nomcmd): """ Methode pour recuperer la definition d'une commande donnee par son nom dans les catalogues declares au niveau du jdc Appele par un ops d'une macro en Python """ - return self.jdc.getCmd(nomcmd) + return self.jdc.get_cmd(nomcmd) - def copyIntern(self, etape): + def copy_intern(self, etape): """ Methode permettant lors du processus de recopie de copier les elements internes d'une etape dans une autre """ return - def fullCopy(self, parent=None): + def full_copy(self, parent=None): """ Methode permettant d'effectuer une copie complète d'une etape (y compris concept produit, elements internes) @@ -422,8 +411,8 @@ Causes possibles : aura cet objet comme parent. """ new_etape = self.copy() - new_etape.copyReuse(self) - new_etape.copySdnom(self) + new_etape.copy_reuse(self) + new_etape.copy_sdnom(self) if parent: new_etape.reparent(parent) if self.sd: @@ -432,34 +421,34 @@ Causes possibles : if self.reuse == None: new_etape.parent.NommerSdprod(new_sd, self.sd.nom) else: - new_sd.setName(self.sd.nom) - new_etape.copyIntern(self) + new_sd.set_name(self.sd.nom) + new_etape.copy_intern(self) return new_etape - def resetJdc(self, new_jdc): + def reset_jdc(self, new_jdc): """ Reinitialise le nommage du concept de l'etape lors d'un changement de jdc """ if self.sd and self.reuse == None: self.parent.NommerSdprod(self.sd, self.sd.nom) - def isInclude(self): + def is_include(self): """Permet savoir si on a affaire a la commande INCLUDE car le comportement de ces macros est particulier. """ return self.nom.startswith('INCLUDE') - def sdAccessible(self): + def sd_accessible(self): """Dit si on peut acceder aux "valeurs" (jeveux) de l'ASSD produite par l'etape. """ if CONTEXT.debug: - print(('`- ETAPE sdAccessible :', self.nom)) - return self.parent.sdAccessible() + print(('`- ETAPE sd_accessible :', self.nom)) + return self.parent.sd_accessible() - def getConcept(self, nomsd): + def get_concept(self, nomsd): """ Methode pour recuperer un concept a partir de son nom """ # pourrait etre appelee par une commande fortran faisant appel a des fonctions python # on passe la main au parent - return self.parent.getConcept(nomsd) + return self.parent.get_concept(nomsd) diff --git a/Noyau/N_Exception.py b/Noyau/N_Exception.py index 459c5b17..362db727 100644 --- a/Noyau/N_Exception.py +++ b/Noyau/N_Exception.py @@ -1,6 +1,7 @@ # coding=utf-8 +# person_in_charge: mathieu.courtois at edf.fr # ====================================================================== -# COPYRIGHT (C) 1991 - 2017 EDF R&D WWW.CODE-ASTER.ORG +# COPYRIGHT (C) 1991 - 2015 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR @@ -24,7 +25,7 @@ # Modules EFICAS from __future__ import absolute_import -from .strfunc import getEncoding, toUnicode +from .strfunc import get_encoding, to_unicode import six @@ -33,17 +34,17 @@ class AsException(Exception): def __unicode__(self): args = [] for x in self.args: - ustr = toUnicode(x) + ustr = to_unicode(x) if type(ustr) is not six.text_type: ustr = six.text_type( repr(x) ) args.append(ustr) return " ".join(args) def __str__(self): - return six.text_type(self).encode(getEncoding()) + return six.text_type(self).encode(get_encoding()) class InterruptParsingError(Exception): """Exception used to interrupt the parsing of the command file - without raising an error (see N_JDC.execCompile for usage)""" + without raising an error (see N_JDC.exec_compile for usage)""" diff --git a/Noyau/N_FACT.py b/Noyau/N_FACT.py index 4e45660c..1824185a 100644 --- a/Noyau/N_FACT.py +++ b/Noyau/N_FACT.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -30,7 +30,7 @@ from . import N_ENTITE from . import N_MCFACT from . import N_MCLIST from .N__F import _F -from .N_types import isSequence +from .N_types import is_sequence from . import N_OBJECT @@ -54,7 +54,7 @@ class FACT(N_ENTITE.ENTITE): list_instance = N_MCLIST.MCList label = 'FACT' - def __init__(self, fr="", docu="", regles=(), statut='f', defaut=None,ang="",fenetreIhm=None, + def __init__(self, fr="", docu="", regles=(), statut='f', defaut=None,ang="", min=0, max=1, validators=None, **args): """ Un mot-clé facteur est caractérisé par les attributs suivants : @@ -67,7 +67,6 @@ class FACT(N_ENTITE.ENTITE): - max - position - docu - - fenetreIhm """ N_ENTITE.ENTITE.__init__(self, validators) # Initialisation des attributs @@ -87,9 +86,8 @@ class FACT(N_ENTITE.ENTITE): self.entites = args self.position = None self.affecter_parente() - self.fenetreIhm = fenetreIhm - def __call__(self, val, nom, parent, dicoPyxbDeConstruction = None): + def __call__(self, val, nom, parent): """ Construit la structure de donnee pour un mot cle facteur a partir de sa definition (self) de sa valeur (val), de son nom (nom) et de @@ -120,7 +118,7 @@ class FACT(N_ENTITE.ENTITE): # On ne devrait jamais passer par la print ("On ne devrait jamais passer par la") return None - elif isSequence(val) and len(val) == 0 and self.statut == 'o': + elif is_sequence(val) and len(val) == 0 and self.statut == 'o': # On est dans le cas où le mcfact est présent mais est une liste/tuple # vide. Il est obligatoire donc on l'initialise. Les règles, mots-clés # obligatoires diront si un mcfact vide est accepté. @@ -130,38 +128,31 @@ class FACT(N_ENTITE.ENTITE): l = self.list_instance() l.init(nom=nom, parent=parent) if type(val) in (tuple, list, self.list_instance): - indice=0 for v in val: if type(v) == dict or isinstance(v, _F): objet = self.class_instance( - nom=nom, definition=self, val=v, parent=parent,dicoPyxbDeConstruction=None) - #nom=nom, definition=self, val=v, parent=parent,dicoPyxbDeConstruction=dicoPyxbDeConstruction[indice]) - indice=indice+1 + nom=nom, definition=self, val=v, parent=parent) l.append(objet) elif isinstance(v, self.class_instance): -# if faut gerer ici --> on passe la avec une liste de concept ? -# PNPN --> si pyxb l.append(v) else: l.append(N_OBJECT.ErrorObj(self, v, parent, nom)) elif type(val) == dict or isinstance(val, _F): objet = self.class_instance( - nom=nom, definition=self, val=val, parent=parent,dicoPyxbDeConstruction=dicoPyxbDeConstruction) + nom=nom, definition=self, val=val, parent=parent) l.append(objet) elif isinstance(val, self.class_instance): -# idem --> quand passe t on la l.append(val) else: l.append(N_OBJECT.ErrorObj(self, val, parent, nom)) - l.cata=l.jdc.cata - #l.buildObjPyxb(l) + return l - def verifCata(self): - self.checkMinMax() - self.checkFr() - self.checkRegles() - self.checkStatut() - self.checkDocu() - self.checkValidators() - self.verifCataRegles() + def verif_cata(self): + self.check_min_max() + self.check_fr() + self.check_regles() + self.check_statut() + self.check_docu() + self.check_validators() + self.verif_cata_regles() diff --git a/Noyau/N_FONCTION.py b/Noyau/N_FONCTION.py index 2638cccd..87de6af3 100644 --- a/Noyau/N_FONCTION.py +++ b/Noyau/N_FONCTION.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -121,7 +121,7 @@ class formule(ASSD): if self.accessible(): TypeProl = { 'E': 'EXCLU', 'L': 'LINEAIRE', 'C': 'CONSTANT', 'I': 'INTERPRE'} - sd = sd_formule(self.getName()) + sd = sd_formule(self.get_name()) prol = sd.PROL.get() nova = sd.NOVA.get() if prol is None or nova is None: diff --git a/Noyau/N_FORM.py b/Noyau/N_FORM.py index 0521db73..ab6032e9 100644 --- a/Noyau/N_FORM.py +++ b/Noyau/N_FORM.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Noyau/N_FORM_ETAPE.py b/Noyau/N_FORM_ETAPE.py index 4b6aad4f..3e1abdba 100644 --- a/Noyau/N_FORM_ETAPE.py +++ b/Noyau/N_FORM_ETAPE.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Noyau/N_GEOM.py b/Noyau/N_GEOM.py index 2bde47a3..b0429914 100644 --- a/Noyau/N_GEOM.py +++ b/Noyau/N_GEOM.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -42,19 +42,19 @@ class GEOM(ASSD): if etape: self.parent = etape.parent else: - self.parent = CONTEXT.getCurrentStep() + self.parent = CONTEXT.get_current_step() if self.parent: - self.jdc = self.parent.getJdcRoot() + self.jdc = self.parent.get_jdc_root() else: self.jdc = None if not self.parent: self.id = None elif reg == 'oui': - self.id = self.parent.regSD(self) + self.id = self.parent.reg_sd(self) self.nom = nom - def getName(self): + def get_name(self): return self.nom def __convert__(cls, valeur): diff --git a/Noyau/N_JDC.py b/Noyau/N_JDC.py index 172ed05a..2a30674f 100644 --- a/Noyau/N_JDC.py +++ b/Noyau/N_JDC.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -40,7 +40,7 @@ from . import N_OBJECT from . import N_CR from .N_Exception import AsException, InterruptParsingError from .N_ASSD import ASSD -from .strfunc import getEncoding +from .strfunc import get_encoding from six.moves import range @@ -92,9 +92,8 @@ NONE = None self.procedure = procedure self.definition = definition self.cata = cata - # PN pourquoi ? - #if type(self.cata) != tuple and cata != None: - # self.cata = (self.cata,) + if type(self.cata) != tuple and cata != None: + self.cata = (self.cata,) self._build_reserved_kw_list() self.cata_ordonne_dico = cata_ord_dico self.nom = nom @@ -112,8 +111,8 @@ NONE = None self.args.update(args) self.nstep = 0 self.nsd = 0 - self.parLot = 'OUI' - self.parLot_user = None + self.par_lot = 'OUI' + self.par_lot_user = None if definition: self.regles = definition.regles self.code = definition.code @@ -150,12 +149,12 @@ NONE = None """ try: if self.appli != None: - self.appli.afficheInfos( + self.appli.affiche_infos( 'Compilation du fichier de commandes en cours ...') # Python 2.7 compile function does not accept unicode filename, so we encode it # with the current locale encoding in order to have a correct # traceback - encoded_filename = self.nom.encode(getEncoding()) + encoded_filename = self.nom.encode(get_encoding()) self.proc_compile = compile( self.procedure, encoded_filename, 'exec') except SyntaxError as e: @@ -177,18 +176,12 @@ Causes possibles : self.cr.exception("Compilation impossible : " + ''.join(l)) return - def setCurrentContext(self): - # beaucoup trop simple Ne tient pas compte des imports - # et des include - # ne sert que pour le POC - CONTEXT.setCurrentStep(self) - - def execCompile(self): + def exec_compile(self): """ Cette methode execute le jeu de commandes compile dans le contexte self.g_context de l'objet JDC """ - CONTEXT.setCurrentStep(self) + CONTEXT.set_current_step(self) # Le module nommage utilise le module linecache pour acceder # au source des commandes du jeu de commandes. # Dans le cas d'un fichier, on accède au contenu de ce fichier @@ -198,15 +191,11 @@ Causes possibles : linecache.cache[self.nom] = 0, 0, self.procedure.split('\n'), self.nom try: exec(self.exec_init, self.g_context) - for obj_cata in (self.cata,): + for obj_cata in self.cata: if type(obj_cata) == types.ModuleType: init2 = "from " + obj_cata.__name__ + " import *" exec(init2, self.g_context) - else : - # ici on a un catalogue en grammaire Eficas XML - # il faut ajouter ce qu on a construit au contexte - for (k,v) in obj_cata.contexteXML.items() : - self.g_context[k]=v + # Initialisation du contexte global pour l'evaluation des conditions de BLOC # On utilise une copie de l'initialisation du contexte du jdc self.condition_context = self.g_context.copy() @@ -222,7 +211,7 @@ Causes possibles : self.sds_dict[sdnom] = sd if self.appli != None: - self.appli.afficheInfos( + self.appli.affiche_infos( 'Interpretation du fichier de commandes en cours ...') # On sauve le contexte pour garder la memoire des constantes # En mode edition (EFICAS) ou lors des verifications le contexte @@ -231,9 +220,9 @@ Causes possibles : self.const_context = self.g_context exec(self.proc_compile, self.g_context) - CONTEXT.unsetCurrentStep() + CONTEXT.unset_current_step() if self.appli != None: - self.appli.afficheInfos('') + self.appli.affiche_infos('') except InterruptParsingError: # interrupt the command file parsing used by FIN to ignore the end @@ -245,9 +234,9 @@ Causes possibles : # de commandes avant la fin # Fonctionnement normal, ne doit pas etre considere comme une # erreur - CONTEXT.unsetCurrentStep() - self.afficheFinExec() - self.traiterFinExec('commande') + CONTEXT.unset_current_step() + self.affiche_fin_exec() + self.traiter_fin_exec('commande') except AsException as e: # une erreur a ete identifiee @@ -259,7 +248,7 @@ Causes possibles : if txt.find('MemoryError') >= 0: txt = MemoryErrorMsg self.cr.exception(txt) - CONTEXT.unsetCurrentStep() + CONTEXT.unset_current_step() except NameError as e: etype, value, tb = sys.exc_info() @@ -269,13 +258,13 @@ Causes possibles : if CONTEXT.debug: traceback.print_exc() self.cr.exception(msg) - CONTEXT.unsetCurrentStep() + CONTEXT.unset_current_step() # except self.UserError as exc_val: - # self.traiterUserException(exc_val) - # CONTEXT.unsetCurrentStep() - # self.afficheFinExec() - # self.traiterFinExec('commande') + # self.traiter_user_exception(exc_val) + # CONTEXT.unset_current_step() + # self.affiche_fin_exec() + # self.traiter_fin_exec('commande') except: # erreur inattendue @@ -291,9 +280,9 @@ Causes possibles : self.cr.exception( "erreur non prevue et non traitee prevenir la maintenance " + '\n' + ''.join(l)) del exc_typ, exc_val, exc_fr - CONTEXT.unsetCurrentStep() + CONTEXT.unset_current_step() - def afficheFinExec(self): + def affiche_fin_exec(self): """ Cette methode realise l'affichage final des statistiques de temps apres l'execution de toutes @@ -302,7 +291,7 @@ Causes possibles : """ return - def traiterFinExec(self, mode, etape=None): + def traiter_fin_exec(self, mode, etape=None): """ Cette methode realise un traitement final apres l'execution de toutes les commandes en mode commande par commande ou par lot @@ -311,7 +300,7 @@ Causes possibles : """ print ( "FIN D'EXECUTION %s %s" %s( mode, etape)) - def traiterUserException(self, exc_val): + def traiter_user_exception(self, exc_val): """Cette methode realise un traitement sur les exceptions utilisateur Par defaut il n'y a pas de traitement. La methode doit etre surchargee pour en introduire un. @@ -325,7 +314,7 @@ Causes possibles : """ self.etapes.append(etape) self.index_etapes[etape] = len(self.etapes) - 1 - return self.gRegister(etape) + return self.g_register(etape) def o_register(self, sd): """ @@ -335,7 +324,7 @@ Causes possibles : nom = sd.idracine + self.SEP + repr(self.nsd) return nom - def gRegister(self, etape): + def g_register(self, etape): """ Retourne un identificateur pour etape """ @@ -343,7 +332,7 @@ Causes possibles : idetape = etape.idracine + self.SEP + repr(self.nstep) return idetape - def createSdprod(self, etape, nomsd): + def create_sdprod(self, etape, nomsd): """ Cette methode doit fabriquer le concept produit retourne par l'etape etape et le nommer. @@ -364,7 +353,7 @@ Causes possibles : etape. Dans le cas du JDC, le deuxième cas ne peut pas se produire. """ - sd = etape.getSdProd() + sd = etape.get_sd_prod() if sd != None and (etape.definition.reentrant == 'n' or etape.reuse is None): # ATTENTION : On ne nomme la SD que dans le cas de non reutilisation # d un concept. Commande non reentrante ou reuse absent. @@ -385,23 +374,23 @@ Causes possibles : raise AsException( "Nom de concept invalide. '%s' est un mot-cle reserve." % sdnom) - # Ajoute a la creation (appel de regSD). + # Ajoute a la creation (appel de reg_sd). self.sds_dict[sdnom] = sd - sd.setName(sdnom) + sd.set_name(sdnom) # En plus si restrict vaut 'non', on insere le concept dans le contexte # du JDC if restrict == 'non': self.g_context[sdnom] = sd - def regSD(self, sd): + def reg_sd(self, sd): """ Methode appelee dans l __init__ d un ASSD lors de sa creation pour s enregistrer """ return self.o_register(sd) - def deleteConceptAfterEtape(self, etape, sd): + def delete_concept_after_etape(self, etape, sd): """ Met a jour les etapes du JDC qui sont après etape suite a la disparition du concept sd @@ -430,7 +419,7 @@ Causes possibles : e.jdc = jdc del self.index_etapes[e] - def getFile(self, unite=None, fic_origine='', fname=None): + def get_file(self, unite=None, fic_origine='', fname=None): """ Retourne le nom du fichier correspondant a un numero d'unite logique (entier) ainsi que le source contenu dans le fichier @@ -438,7 +427,7 @@ Causes possibles : if self.appli: # Si le JDC est relie a une application maitre, on delègue la # recherche - return self.appli.getFile(unite, fic_origine) + return self.appli.get_file(unite, fic_origine) else: if unite != None: if os.path.exists("fort." + str(unite)): @@ -455,7 +444,7 @@ Causes possibles : linecache.cache[fname] = 0, 0, text.split('\n'), fname return fname, text - def set_parLot(self, parLot, user_value=False): + def set_par_lot(self, par_lot, user_value=False): """ Met le mode de traitement a PAR LOT ou a COMMANDE par COMMANDE @@ -465,16 +454,16 @@ Causes possibles : En PAR_LOT='NON', il n'y a pas d'ambiguite. d'analyse et juste avant la phase d'execution. `user_value` : permet de stocker la valeur choisie par l'utilisateur - pour l'interroger plus tard (par exemple dans `getContexteAvant`). + pour l'interroger plus tard (par exemple dans `get_contexte_avant`). """ if user_value: - self.parLot_user = parLot + self.par_lot_user = par_lot if self.appli == None: # Pas d application maitre - self.parLot = parLot + self.par_lot = par_lot else: # Avec application maitre - self.parLot = 'OUI' + self.par_lot = 'OUI' def accept(self, visitor): """ @@ -488,7 +477,7 @@ Causes possibles : Cette methode a pour fonction d'ouvrir un interpreteur pour que l'utilisateur entre des commandes interactivement """ - CONTEXT.setCurrentStep(self) + CONTEXT.set_current_step(self) try: # Le module nommage utilise le module linecache pour acceder # au source des commandes du jeu de commandes. @@ -506,9 +495,9 @@ Causes possibles : console.interact(banner) finally: console = None - CONTEXT.unsetCurrentStep() + CONTEXT.unset_current_step() - def getContexteAvant(self, etape): + def get_contexte_avant(self, etape): """ Retourne le dictionnaire des concepts connus avant etape On tient compte des commandes qui modifient le contexte @@ -523,12 +512,12 @@ Causes possibles : # Si on insère des commandes (par ex, dans EFICAS), il faut prealablement # remettre ce pointeur a 0 # self.current_context.items() if isinstance(v, ASSD)]) - if self.parLot_user == 'NON': + if self.par_lot_user == 'NON': d = self.current_context = self.g_context.copy() if etape is None: return d # retirer les sd produites par 'etape' - sd_names = [sd.nom for sd in etape.getCreated_sd()] + sd_names = [sd.nom for sd in etape.get_created_sd()] for nom in sd_names: try: del d[nom] @@ -558,48 +547,48 @@ Causes possibles : for e in liste_etapes: if e is etape: break - if e.isActif(): - e.updateContext(d) + if e.isactif(): + e.update_context(d) self.index_etape_courante = index_etape return d - def getGlobalContexte(self): + def get_global_contexte(self): """Retourne "un" contexte global ;-)""" # N'est utilise que par INCLUDE (sauf erreur). # g_context est remis a {} en PAR_LOT='OUI'. const_context permet - # de retrouver ce qui y a ete mis par execCompile. + # de retrouver ce qui y a ete mis par exec_compile. # Les concepts n'y sont pas en PAR_LOT='OUI'. Ils sont ajoutes - # par getGlobalContexte de la MACRO. + # par get_global_contexte de la MACRO. d = self.const_context.copy() d.update(self.g_context) return d - def getContexteCourant(self, etape_courante=None): + def get_contexte_courant(self, etape_courante=None): """ Retourne le contexte tel qu'il est (ou 'sera' si on est en phase de construction) au moment de l'execution de l'etape courante. """ if etape_courante is None: - etape_courante = CONTEXT.getCurrentStep() - return self.getContexteAvant(etape_courante) + etape_courante = CONTEXT.get_current_step() + return self.get_contexte_avant(etape_courante) - def getConcept(self, nomsd): + def get_concept(self, nomsd): """ Methode pour recuperer un concept a partir de son nom """ - co = self.getContexteCourant().get(nomsd.strip(), None) + co = self.get_contexte_courant().get(nomsd.strip(), None) if not isinstance(co, ASSD): co = None return co - def getConceptByType(self, nomsd, typesd, etape): + def get_concept_by_type(self, nomsd, typesd, etape): """ Methode pour recuperer un concept a partir de son nom et de son type. Il aura comme père 'etape'. """ assert issubclass(typesd, ASSD), typesd co = typesd(etape=etape) - co.setName(nomsd) + co.set_name(nomsd) co.executed = 1 return co @@ -613,13 +602,13 @@ Causes possibles : except: pass - def getCmd(self, nomcmd): + def get_cmd(self, nomcmd): """ Methode pour recuperer la definition d'une commande donnee par son nom dans les catalogues declares au niveau du jdc """ - for cata in (self.cata,): + for cata in self.cata: if hasattr(cata, nomcmd): return getattr(cata, nomcmd) @@ -631,22 +620,21 @@ Causes possibles : self.etapes.append(etape) self.index_etapes[etape] = len(self.etapes) - 1 etape.reparent(self) - etape.resetJdc(self) + etape.reset_jdc(self) - def sdAccessible(self): + def sd_accessible(self): """On peut acceder aux "valeurs" (jeveux) des ASSD si le JDC est en PAR_LOT="NON". """ if CONTEXT.debug: - print((' `- JDC sdAccessible : PAR_LOT =', self.parLot)) - return self.parLot == 'NON' + print((' `- JDC sd_accessible : PAR_LOT =', self.par_lot)) + return self.par_lot == 'NON' def _build_reserved_kw_list(self): """Construit la liste des mots-cles reserves (interdits pour le nommage des concepts).""" self._reserved_kw = set() - #for cat in self.cata: - cat=self.cata - self._reserved_kw.update( + for cat in self.cata: + self._reserved_kw.update( [kw for kw in dir(cat) if len(kw) <= 8 and kw == kw.upper()]) self._reserved_kw.difference_update( ['OPER', 'MACRO', 'BLOC', 'SIMP', 'FACT', 'FORM', diff --git a/Noyau/N_JDC_CATA.py b/Noyau/N_JDC_CATA.py index 27a76e8f..3f52de55 100644 --- a/Noyau/N_JDC_CATA.py +++ b/Noyau/N_JDC_CATA.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -67,11 +67,9 @@ class JDC_CATA(N_ENTITE.ENTITE): self.d_niveaux[niveau.nom] = niveau # On change d'objet catalogue. Il faut d'abord mettre le catalogue # courant à None - CONTEXT.unsetCurrentCata() - CONTEXT.setCurrentCata(self) - self.fenetreIhm=None - self.dictTypesXSD={} - + CONTEXT.unset_current_cata() + CONTEXT.set_current_cata(self) + def __call__(self, procedure=None, cata=None, cata_ord_dico=None, nom='SansNom', parent=None, **args): """ @@ -91,14 +89,14 @@ class JDC_CATA(N_ENTITE.ENTITE): """ self.commandes.append(commande) - def verifCata(self): + def verif_cata(self): """ Méthode de vérification des attributs de définition """ - self.checkRegles() - self.verifCataRegles() + self.check_regles() + self.verif_cata_regles() - def verifCataRegles(self): + def verif_cata_regles(self): """ Cette méthode vérifie pour tous les objets stockés dans la liste entités respectent les REGLES associés à self @@ -112,7 +110,7 @@ class JDC_CATA(N_ENTITE.ENTITE): self.cr = self.CR( debut=u"Compte-rendu de validation du catalogue " + self.code, fin=u"Fin Compte-rendu de validation du catalogue " + self.code) - self.verifCata() + self.verif_cata() for commande in self.commandes: cr = commande.report() cr.debut = u"Début Commande :" + commande.nom @@ -128,7 +126,7 @@ class JDC_CATA(N_ENTITE.ENTITE): for commande in self.commandes: commande.supprime() - def getNiveau(self, nom_niveau): + def get_niveau(self, nom_niveau): """ Retourne l'objet de type NIVEAU de nom nom_niveau ou None s'il n'existe pas diff --git a/Noyau/N_LASSD.py b/Noyau/N_LASSD.py index 31669567..24468835 100644 --- a/Noyau/N_LASSD.py +++ b/Noyau/N_LASSD.py @@ -1,5 +1,5 @@ # -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Noyau/N_MACRO.py b/Noyau/N_MACRO.py index a80f98e4..88665420 100644 --- a/Noyau/N_MACRO.py +++ b/Noyau/N_MACRO.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -87,7 +87,7 @@ class MACRO(N_ENTITE.ENTITE): nommage = nommage def __init__( - self, nom, op, sd_prod=None, reentrant='n', repetable='o', fr="",ang="",fenetreIhm=None, + self, nom, op, sd_prod=None, reentrant='n', repetable='o', fr="",ang="", docu="", regles=(), op_init=None, niveau = None, fichier_ini=0, UIinfo=None, **args): """ Méthode d'initialisation de l'objet MACRO. Les arguments sont utilisés pour initialiser @@ -113,7 +113,6 @@ class MACRO(N_ENTITE.ENTITE): self.ang=ang self.repetable = repetable self.docu = docu - self.fenetreIhm=fenetreIhm if type(regles) == tuple: self.regles = regles else: @@ -123,26 +122,26 @@ class MACRO(N_ENTITE.ENTITE): # operateur sauf si == None self.op_init = op_init self.entites = args - current_cata = CONTEXT.getCurrentCata() + current_cata = CONTEXT.get_current_cata() if niveau == None: self.niveau = None current_cata.enregistre(self) else: - self.niveau = current_cata.getNiveau(niveau) + self.niveau = current_cata.get_niveau(niveau) self.niveau.enregistre(self) self.UIinfo = UIinfo self.affecter_parente() - self.checkDefinition(self.nom) + self.check_definition(self.nom) def __call__(self, reuse=None, **args): """ Construit l'objet MACRO_ETAPE a partir de sa definition (self), puis demande la construction de ses sous-objets et du concept produit. """ - nomsd = self.nommage.getNomConceptResultat(self.nom) + nomsd = self.nommage.GetNomConceptResultat(self.nom) etape = self.class_instance(oper=self, reuse=reuse, args=args) - etape.MCBuild() - return etape.buildSd(nomsd) + etape.McBuild() + return etape.Build_sd(nomsd) def make_objet(self, mc_list='oui'): """ @@ -154,21 +153,21 @@ class MACRO(N_ENTITE.ENTITE): """ etape = self.class_instance(oper=self, reuse=None, args={}) if mc_list == 'oui': - etape.MCBuild() + etape.McBuild() return etape - def verifCata(self): + def verif_cata(self): """ Méthode de vérification des attributs de définition """ - self.checkOp(valmax=0) - self.checkProc() - self.checkRegles() - self.checkFr() - self.checkDocu() - self.checkNom() - self.checkReentrant() - self.verifCataRegles() + self.check_op(valmax=0) + self.check_proc() + self.check_regles() + self.check_fr() + self.check_docu() + self.check_nom() + self.check_reentrant() + self.verif_cata_regles() def supprime(self): """ diff --git a/Noyau/N_MACRO_ETAPE.py b/Noyau/N_MACRO_ETAPE.py index 793fe07e..a12147d1 100644 --- a/Noyau/N_MACRO_ETAPE.py +++ b/Noyau/N_MACRO_ETAPE.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -83,18 +83,18 @@ class MACRO_ETAPE(N_ETAPE.ETAPE): # permet de stocker le nom du dernier concept nomme dans la macro self.last = None - def makeRegister(self): + def make_register(self): """ Initialise les attributs jdc, id, niveau et realise les enregistrements necessaires """ - N_ETAPE.ETAPE.makeRegister(self) + N_ETAPE.ETAPE.make_register(self) if self.parent: self.UserError = self.jdc.UserError else: self.UserError = "UserError" - def buildSd(self, nom): + def Build_sd(self, nom): """ Construit le concept produit de l'operateur. Deux cas peuvent se presenter : @@ -111,31 +111,31 @@ class MACRO_ETAPE(N_ETAPE.ETAPE): # On positionne la macro self en tant que current_step pour que les # etapes creees lors de l'appel a sd_prod et a op_init aient la macro # comme parent - self.setCurrentStep() + self.set_current_step() if self.parent: - sd = self.parent.createSdprod(self, nom) + sd = self.parent.create_sdprod(self, nom) if type(self.definition.op_init) == types.FunctionType: self.definition.op_init(*( self, self.parent.g_context)) else: - sd = self.getSdProd() + sd = self.get_sd_prod() if sd != None and self.reuse == None: # On ne nomme le concept que dans le cas de non reutilisation # d un concept - sd.setName(nom) - self.resetCurrentStep() + sd.set_name(nom) + self.reset_current_step() except AsException as e: - self.resetCurrentStep() + self.reset_current_step() raise AsException("Etape ", self.nom, 'ligne : ', self.appel[0], 'fichier : ', self.appel[1], e) #except (EOFError, self.UserError): except (EOFError): # Le retablissement du step courant n'est pas strictement # necessaire. On le fait pour des raisons de coherence - self.resetCurrentStep() + self.reset_current_step() raise except: - self.resetCurrentStep() + self.reset_current_step() l = traceback.format_exception( sys.exc_info()[0], sys.exc_info()[1], sys.exc_info()[2]) raise AsException("Etape ", self.nom, 'ligne : ', self.appel[0], @@ -145,7 +145,7 @@ class MACRO_ETAPE(N_ETAPE.ETAPE): self.Execute() return sd - def getSdProd(self): + def get_sd_prod(self): """ Retourne le concept resultat d'une macro etape La difference avec une etape ou une proc-etape tient a ce que @@ -159,7 +159,7 @@ class MACRO_ETAPE(N_ETAPE.ETAPE): on construit le sd a partir de cette classe et on le retourne - cas 2 : sd_prod est une fonction - on l'evalue avec les mots-cles de l'etape (mcListe) + on l'evalue avec les mots-cles de l'etape (mc_liste) on construit le sd a partir de la classe obtenue et on le retourne """ @@ -167,10 +167,10 @@ class MACRO_ETAPE(N_ETAPE.ETAPE): self.typret = None if type(self.definition.sd_prod) == types.FunctionType: - d = self.creeDictValeurs(self.mcListe) + d = self.cree_dict_valeurs(self.mc_liste) try: # la sd_prod d'une macro a l'objet macro_etape lui meme en premier argument - # Comme sd_prod peut invoquer la methode typeSDProd qui ajoute + # Comme sd_prod peut invoquer la methode type_sdprod qui ajoute # les concepts produits dans self.sdprods, il faut le mettre a # zero avant de l'appeler self.sdprods = [] @@ -207,14 +207,14 @@ Causes possibles : Developpeur : La fonction "sd_prod" retourne un type invalide.""") return self.sd - def getType_produit(self, force=0): + def get_type_produit(self, force=0): try: - return self.getType_produit_brut(force) + return self.get_type_produit_brut(force) except: # traceback.print_exc() return None - def getType_produit_brut(self, force=0): + def get_type_produit_brut(self, force=0): """ Retourne le type du concept resultat de l'etape et eventuellement type les concepts produits "a droite" du signe egal (en entree) @@ -224,15 +224,15 @@ Causes possibles : il s'agit d'une sous classe de ASSD on retourne le nom de la classe - cas 2 : il s'agit d'une fonction - on l'evalue avec les mots-cles de l'etape (mcListe) + on l'evalue avec les mots-cles de l'etape (mc_liste) et on retourne son resultat """ if not force and hasattr(self, 'typret'): return self.typret if type(self.definition.sd_prod) == types.FunctionType: - d = self.creeDictValeurs(self.mcListe) - # Comme sd_prod peut invoquer la methode typeSDProd qui ajoute + d = self.cree_dict_valeurs(self.mc_liste) + # Comme sd_prod peut invoquer la methode type_sdprod qui ajoute # les concepts produits dans self.sdprods, il faut le mettre a zero self.sdprods = [] sd_prod = self.definition.sd_prod(*(self,), **d) @@ -240,7 +240,7 @@ Causes possibles : sd_prod = self.definition.sd_prod return sd_prod - def getContexteAvant(self, etape): + def get_contexte_avant(self, etape): """ Retourne le dictionnaire des concepts connus avant etape pour les commandes internes a la macro @@ -254,7 +254,7 @@ Causes possibles : if etape is None: return d # retirer les sd produites par 'etape' - sd_names = [sd.nom for sd in etape.getCreated_sd()] + sd_names = [sd.nom for sd in etape.get_created_sd()] for nom in sd_names: try: del d[nom] @@ -296,7 +296,7 @@ Causes possibles : e.jdc = jdc del self.index_etapes[e] - def typeSDProd(self, co, t): + def type_sdprod(self, co, t): """ Cette methode a pour fonction de typer le concept co avec le type t dans les conditions suivantes : @@ -312,17 +312,17 @@ Causes possibles : # # On cherche a discriminer les differents cas de typage d'un concept # produit par une macro qui est specifie dans un mot cle simple. - # On peut passer plusieurs fois par typeSDProd ce qui explique + # On peut passer plusieurs fois par type_sdprod ce qui explique # le nombre important de cas. # # Cas 1 : Le concept est libre. Il vient d'etre cree par CO(nom) - # Cas 2 : Le concept est produit par la macro. On est deja passe par typeSDProd. + # Cas 2 : Le concept est produit par la macro. On est deja passe par type_sdprod. # Cas semblable a Cas 1. # Cas 3 : Le concept est produit par la macro englobante (parent). On transfere # la propriete du concept de la macro parent a la macro courante (self) # en verifiant que le type est valide # Cas 4 : La concept est la propriete d'une etape fille. Ceci veut dire qu'on est - # deja passe par typeSDProd et que la propriete a ete transfere a une + # deja passe par type_sdprod et que la propriete a ete transfere a une # etape fille. Cas semblable a Cas 3. # Cas 5 : Le concept est produit par une etape externe a la macro. # @@ -330,7 +330,7 @@ Causes possibles : # Cas 1 : le concept est libre # On l'attache a la macro et on change son type dans le type demande # Recherche du mot cle simple associe au concept - mcs = self.getMcsWithCo(co) + mcs = self.get_mcs_with_co(co) if len(mcs) != 1: raise AsException("""Erreur interne. Il ne devrait y avoir qu'un seul mot cle porteur du concept CO (%s)""" % co) @@ -340,19 +340,19 @@ Il ne devrait y avoir qu'un seul mot cle porteur du concept CO (%s)""" % co) Impossible de changer le type du concept (%s). Le mot cle associe ne supporte pas CO mais seulement (%s)""" % (co, mcs.definition.type)) co.etape = self # affectation du bon type du concept - co.changeType(t) + co.change_type(t) self.sdprods.append(co) elif co.etape == self: # Cas 2 : le concept est produit par la macro (self) - # On est deja passe par typeSDProd (Cas 1 ou 3). + # On est deja passe par type_sdprod (Cas 1 ou 3). # XXX Peut-il etre creer par une autre macro ? # On verifie juste que c'est un vrai CO non deja type # if co.etape == co._etape: - if co.isTypCO() == 1: + if co.is_typco() == 1: # Le concept a ete cree par la macro (self) # On peut changer son type - co.changeType(t) + co.change_type(t) else: # Le concept a ete cree par une macro parente # Le type du concept doit etre coherent avec le type demande @@ -375,7 +375,7 @@ Le type demande (%s) et le type du concept (%s) devraient etre derives""" % (t, raise AsException(""" Impossible de changer le type du concept produit (%s) en (%s). Le type actuel (%s) devrait etre une classe derivee du nouveau type (%s)""" % (co, t, co.__class__, t)) - mcs = self.getMcsWithCo(co) + mcs = self.get_mcs_with_co(co) if len(mcs) != 1: raise AsException("""Erreur interne. Il ne devrait y avoir qu'un seul mot cle porteur du concept CO (%s)""" % co) @@ -390,7 +390,7 @@ Impossible de changer le type du concept (%s). Le mot cle associe ne supporte pa elif self.issubstep(co.etape): # Cas 4 : Le concept est propriete d'une sous etape de la macro (self). - # On est deja passe par typeSDProd (Cas 3 ou 1). + # On est deja passe par type_sdprod (Cas 3 ou 1). # Il suffit de le mettre dans la liste des concepts produits (self.sdprods) # Le type du concept et t doivent etre derives. # Il n'y a aucune raison pour que la condition ne soit pas @@ -426,17 +426,17 @@ Le type demande (%s) et le type du concept (%s) devraient etre derives""" % (t, """ self.etapes.append(etape) self.index_etapes[etape] = len(self.etapes) - 1 - idetape = self.jdc.gRegister(etape) + idetape = self.jdc.g_register(etape) return idetape - def regSD(self, sd): + def reg_sd(self, sd): """ Methode appelee dans l __init__ d un ASSD a sa creation pour s enregistrer (reserve aux ASSD crees au sein d'une MACRO) """ return self.jdc.o_register(sd) - def createSdprod(self, etape, nomsd): + def create_sdprod(self, etape, nomsd): """ Cette methode doit fabriquer le concept produit retourne par l'etape etape et le nommer. @@ -454,9 +454,9 @@ Le type demande (%s) et le type du concept (%s) devraient etre derives""" % (t, if nomsd in self.Outputs: # Il s'agit d'un concept de sortie de la macro. Il ne faut pas le creer # Il faut quand meme appeler la fonction sd_prod si elle existe. - # getType_produit le fait et donne le type attendu par la commande + # get_type_produit le fait et donne le type attendu par la commande # pour verification ulterieure. - sdprod = etape.getType_produit_brut() + sdprod = etape.get_type_produit_brut() sd = self.Outputs[nomsd] # On verifie que le type du concept existant sd.__class__ est un sur type de celui attendu # Cette règle est normalement coherente avec les règles de @@ -486,9 +486,9 @@ Le type demande (%s) et le type du concept (%s) devraient etre derives""" % (t, self.g_context[sd.nom] = sd elif etape.definition.reentrant != 'n' and etape.reuse != None: # On est dans le cas d'une commande avec reutilisation d'un concept existant - # getSdProd fait le necessaire : verifications, associations, etc. mais ne cree + # get_sd_prod fait le necessaire : verifications, associations, etc. mais ne cree # pas un nouveau concept. Il retourne le concept reutilise - sd = etape.getSdProd() + sd = etape.get_sd_prod() # Dans le cas d'un concept nomme automatiquement : _xxx, __xxx, # On force le nom stocke dans l'attribut sdnom de l'objet etape : on lui donne le nom # du concept reutilise (sd ou etape.reuse c'est pareil) @@ -501,7 +501,7 @@ Le type demande (%s) et le type du concept (%s) devraient etre derives""" % (t, etape.sdnom = sd.nom else: # On est dans le cas de la creation d'un nouveau concept - sd = etape.getSdProd() + sd = etape.get_sd_prod() if sd != None: self.NommerSdprod(sd, nomsd) return sd @@ -517,7 +517,7 @@ Le type demande (%s) et le type du concept (%s) devraient etre derives""" % (t, """ # Normalement, lorsqu'on appelle cette methode, on ne veut nommer que des concepts nouvellement crees. # Le filtrage sur les concepts a creer ou a ne pas creer est fait dans la methode - # createSdprod. La seule chose a verifier apres conversion eventuelle du nom + # create_sdprod. La seule chose a verifier apres conversion eventuelle du nom # est de verifier que le nom n'est pas deja attribue. Ceci est fait en delegant # au JDC par l'intermediaire du parent. if sdnom in self.Outputs : @@ -545,7 +545,7 @@ Le type demande (%s) et le type du concept (%s) devraient etre derives""" % (t, else: # On est dans le cas d'un nom de concept global # XXX a voir, creation de CO() dans CALC_ESSAI (sdls139a) - if not sd.isTypCO(): + if not sd.is_typco(): raise AsException( "Resultat non declare par la macro %s : %s" % (self.nom, sdnom)) self.last = sdnom @@ -561,7 +561,7 @@ Le type demande (%s) et le type du concept (%s) devraient etre derives""" % (t, # le concept dans son contexte. On ne traite plus que le nommage (restrict="oui") self.parent.NommerSdprod(sd, sdnom, restrict='oui') - def deleteConceptAfterEtape(self, etape, sd): + def delete_concept_after_etape(self, etape, sd): """ Met a jour les etapes de la MACRO qui sont après etape suite a la disparition du concept sd @@ -571,7 +571,7 @@ Le type demande (%s) et le type du concept (%s) devraient etre derives""" % (t, # Dans d'autres conditions, il faudrait surcharger cette methode. return - def getCreated_sd(self): + def get_created_sd(self): """Retourne la liste des sd reellement produites par l'etape. Si reuse est present, `self.sd` a ete creee avant, donc n'est pas dans cette liste.""" @@ -580,7 +580,7 @@ Le type demande (%s) et le type du concept (%s) devraient etre derives""" % (t, sdprods.append(self.sd) return sdprods - def getLastConcept(self): + def get_last_concept(self): """Retourne le dernier concept produit dans la macro. Peut-etre utile pour acceder au contenu 'fortran' dans une clause 'except'.""" @@ -593,7 +593,7 @@ Le type demande (%s) et le type du concept (%s) devraient etre derives""" % (t, """ visitor.visitMACRO_ETAPE(self) - def updateContext(self, d): + def update_context(self, d): """ Met a jour le contexte contenu dans le dictionnaire d Une MACRO_ETAPE peut ajouter plusieurs concepts dans le contexte @@ -606,7 +606,7 @@ Le type demande (%s) et le type du concept (%s) devraient etre derives""" % (t, for co in self.sdprods: d[co.nom] = co - def makeInclude(self, unite=None, fname=None): + def make_include(self, unite=None, fname=None): """Inclut un fichier dont l'unite logique est `unite` ou de nom `fname`""" if unite is not None: warn("'unite' is deprecated, please use 'fname' instead", @@ -614,17 +614,17 @@ Le type demande (%s) et le type du concept (%s) devraient etre derives""" % (t, fname = 'fort.%s' % unite if not fname: return - f, text = self.getFile(fic_origine=self.parent.nom, fname=fname) + f, text = self.get_file(fic_origine=self.parent.nom, fname=fname) self.fichier_init = f if f == None: return - self.makeContexte(f, text) + self.make_contexte(f, text) - def makePoursuite(self): + def make_poursuite(self): """Inclut un fichier poursuite""" raise NotImplementedError('this method must be derivated (in Eficas)') - def makeContexte(self, f, text): + def make_contexte(self, f, text): """ Interprete le texte fourni (text) issu du fichier f dans le contexte du parent. @@ -636,13 +636,13 @@ Le type demande (%s) et le type du concept (%s) devraient etre derives""" % (t, # et le contexte de l etape (local au sens Python) code = compile(text, f, 'exec') d = self.g_context = self.macro_const_context - globs = self.getGlobalContexte() + globs = self.get_global_contexte() d.update(globs) exec(code, globs, d) # pour ne pas conserver des references sur tout self.macro_const_context = {} - def getGlobalContexte(self): + def get_global_contexte(self): """ Cette methode retourne le contexte global fourni par le parent(self) a une etape fille (l'appelant) pour @@ -651,45 +651,45 @@ Le type demande (%s) et le type du concept (%s) devraient etre derives""" % (t, # Le contexte global est forme par concatenation du contexte # du parent de self et de celui de l'etape elle meme (self) # Pour les concepts, cela ne doit rien changer. Mais pour les constantes, - # les valeurs de getContexteAvant sont moins recentes que dans - # getGlobalContexte. On prend donc la precaution de ne pas ecraser + # les valeurs de get_contexte_avant sont moins recentes que dans + # get_global_contexte. On prend donc la precaution de ne pas ecraser # ce qui y est deja. - d = self.parent.getGlobalContexte() + d = self.parent.get_global_contexte() d.update(self.g_context) - d.update([(k, v) for k, v in list(self.parent.getContexteAvant(self).items()) + d.update([(k, v) for k, v in list(self.parent.get_contexte_avant(self).items()) if d.get(k) is None]) return d - def getContexteCourant(self, etape_fille_du_jdc=None): + def get_contexte_courant(self, etape_fille_du_jdc=None): """ Retourne le contexte tel qu'il est au moment de l'execution de l'etape courante. """ ctx = {} # update car par ricochet on modifierait jdc.current_context - ctx.update(self.parent.getContexteCourant(self)) + ctx.update(self.parent.get_contexte_courant(self)) # on peut mettre None car toujours en PAR_LOT='NON', donc la dernière - ctx.update(self.getContexteAvant(None)) + ctx.update(self.get_contexte_avant(None)) return ctx - def getConcept(self, nomsd): + def get_concept(self, nomsd): """ Methode pour recuperer un concept a partir de son nom dans le contexte du jdc connu avant l'execution de la macro courante. """ - # chercher dans self.getContexteAvant, puis si non trouve - # self.parent.getConcept est peut-etre plus performant - co = self.getContexteCourant().get(nomsd.strip(), None) + # chercher dans self.get_contexte_avant, puis si non trouve + # self.parent.get_concept est peut-etre plus performant + co = self.get_contexte_courant().get(nomsd.strip(), None) if not isinstance(co, ASSD): co = None return co - def getConceptByType(self, nomsd, typesd, etape=None): + def get_concept_by_type(self, nomsd, typesd, etape=None): """ Methode pour recuperer un concept a partir de son nom et de son type. Il aura comme père 'etape' (ou la macro courante si etape est absente). """ - return self.parent.getConceptByType(nomsd, typesd, etape=etape or self) + return self.parent.get_concept_by_type(nomsd, typesd, etape=etape or self) def copy(self): """ Methode qui retourne une copie de self non enregistree auprès du JDC @@ -702,7 +702,7 @@ Le type demande (%s) et le type du concept (%s) devraient etre derives""" % (t, etape.sdprods = [] return etape - def copyIntern(self, etape): + def copy_intern(self, etape): """ Cette methode effectue la recopie des etapes internes d'une macro passee en argument (etape) """ @@ -710,21 +710,21 @@ Le type demande (%s) et le type du concept (%s) devraient etre derives""" % (t, self.index_etapes = {} for etp in etape.etapes: new_etp = etp.copy() - new_etp.copyReuse(etp) - new_etp.copySdnom(etp) + new_etp.copy_reuse(etp) + new_etp.copy_sdnom(etp) new_etp.reparent(self) if etp.sd: new_sd = etp.sd.__class__(etape=new_etp) new_etp.sd = new_sd if etp.reuse: - new_sd.setName(etp.sd.nom) + new_sd.set_name(etp.sd.nom) else: self.NommerSdprod(new_sd, etp.sd.nom) - new_etp.copyIntern(etp) + new_etp.copy_intern(etp) self.etapes.append(new_etp) self.index_etapes[new_etp] = len(self.etapes) - 1 - def resetJdc(self, new_jdc): + def reset_jdc(self, new_jdc): """ Reinitialise l'etape avec un nouveau jdc parent new_jdc """ @@ -745,22 +745,22 @@ Le type demande (%s) et le type du concept (%s) devraient etre derives""" % (t, for e in self.etapes: e.reparent(self) - def updateConstContext(self, d): + def update_const_context(self, d): """ Met a jour le contexte des constantes pour l'evaluation de formules dans la macro. """ - # Dans le jdc, const_context est mis a jour par execCompile + # Dans le jdc, const_context est mis a jour par exec_compile # Dans la macro, on n'a pas le code a compiler pour recupèrer les # constantes locales a la macro. On demande donc explicitement de # definir les constantes "locales". self.macro_const_context.update(d) - def sdAccessible(self): + def sd_accessible(self): """On peut acceder aux "valeurs" (jeveux) des ASSD dans les macro-commandes qui sont localement en PAR_LOT="NON" sauf pour INCLUDE. """ if CONTEXT.debug: - print((' `- MACRO sdAccessible :', self.nom)) - return self.parent.sdAccessible() or not self.isInclude() + print((' `- MACRO sd_accessible :', self.nom)) + return self.parent.sd_accessible() or not self.is_include() diff --git a/Noyau/N_MCBLOC.py b/Noyau/N_MCBLOC.py index a0305414..d0612550 100644 --- a/Noyau/N_MCBLOC.py +++ b/Noyau/N_MCBLOC.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -39,7 +39,7 @@ class MCBLOC(N_MCCOMPO.MCCOMPO): nature = "MCBLOC" - def __init__(self, val, definition, nom, parent,dicoPyxbDeConstruction=None): + def __init__(self, val, definition, nom, parent): """ Attributs : @@ -53,17 +53,14 @@ class MCBLOC(N_MCCOMPO.MCCOMPO): - parent : le créateur du bloc. Ce peut etre un mot-clé facteur ou un autre objet composite de type OBJECT. Si parent vaut None, le bloc ne possède pas de contexte englobant. - - mcListe : liste des sous-objets du bloc construite par appel à la méthode buildMc + - mc_liste : liste des sous-objets du bloc construite par appel à la méthode build_mc """ - #print ('MCBLOC' , val, definition, nom, parent) self.definition = definition self.nom = nom self.val = val self.parent = parent self.valeur = val - self.objPyxbDeConstruction=None - self.dicoPyxbDeConstruction=dicoPyxbDeConstruction if parent: self.jdc = self.parent.jdc self.niveau = self.parent.niveau @@ -73,29 +70,29 @@ class MCBLOC(N_MCCOMPO.MCCOMPO): self.jdc = None self.niveau = None self.etape = None - self.mcListe = self.buildMc() + self.mc_liste = self.build_mc() - def getValeur(self): + def get_valeur(self): """ Retourne la "valeur" de l'objet bloc. Il s'agit d'un dictionnaire dont - les clés seront les noms des objets de self.mcListe et les valeurs - les valeurs des objets de self.mcListe obtenues par application de - la méthode getValeur. + les clés seront les noms des objets de self.mc_liste et les valeurs + les valeurs des objets de self.mc_liste obtenues par application de + la méthode get_valeur. Dans le cas particulier d'un objet bloc les éléments du dictionnaire - obtenu par appel de la méthode getValeur sont intégrés au niveau + obtenu par appel de la méthode get_valeur sont intégrés au niveau supérieur. """ dico = {} - for mocle in self.mcListe: + for mocle in self.mc_liste: if mocle.isBLOC(): # Si mocle est un BLOC, on inclut ses items dans le dictionnaire # représentatif de la valeur de self. Les mots-clés fils de blocs sont # donc remontés au niveau supérieur. - dico.update(mocle.getValeur()) + dico.update(mocle.get_valeur()) else: - dico[mocle.nom] = mocle.getValeur() + dico[mocle.nom] = mocle.get_valeur() # On rajoute tous les autres mots-clés locaux possibles avec la valeur # par défaut ou None diff --git a/Noyau/N_MCCOMPO.py b/Noyau/N_MCCOMPO.py index 6f0af8f5..d98d3a82 100644 --- a/Noyau/N_MCCOMPO.py +++ b/Noyau/N_MCCOMPO.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -36,27 +36,22 @@ class MCCOMPO(N_OBJECT.OBJECT): """ - def buildMc(self): + def build_mc(self): """ Construit la liste des sous-entites du MCCOMPO à partir du dictionnaire des arguments (valeur) """ - - #import traceback - #traceback.print_stack() - #print(("MCCOMPO.buildMc _____________________________________", self.nom)) - #print (self.dicoPyxbDeConstruction) if CONTEXT.debug: - print(("MCCOMPO.buildMc ", self.nom)) + print(("MCCOMPO.build_mc ", self.nom)) # Dans la phase de reconstruction args peut contenir des mots-clés # qui ne sont pas dans le dictionnaire des entites de definition (self.definition.entites) # de l'objet courant (self) # mais qui sont malgré tout des descendants de l'objet courant # (petits-fils, ...) args = self.valeur - if args == None: args = {} - mcListe = [] - + if args == None: + args = {} + mc_liste = [] # On recopie le dictionnaire des arguments pour protéger l'original des # delete (del args[k]) @@ -68,9 +63,6 @@ class MCCOMPO(N_OBJECT.OBJECT): # 2- les entités non présentes dans les arguments, présentes dans la définition avec un défaut # Phase 1.1 : on traite d'abord les SIMP pour enregistrer les mots cles # globaux - # PN ligne suivante uniquement pour commodite - # a detruire quand cela fonctionne recursivement - if not hasattr(self, 'dicoPyxbDeConstruction') : self.dicoPyxbDeConstruction = {} for k, v in list(self.definition.entites.items()): if v.label != 'SIMP': continue @@ -80,13 +72,8 @@ class MCCOMPO(N_OBJECT.OBJECT): # si une valeur existe dans args ou est obligatoire (generique si toutes les # entites ont l attribut statut ) # - if self.dicoPyxbDeConstruction and k in self.dicoPyxbDeConstruction : - objPyxbDeConstruction=self.dicoPyxbDeConstruction[k] - del self.dicoPyxbDeConstruction[k] - else : - objPyxbDeConstruction=None - objet = v(val=args.get(k, None), nom=k, parent=self,objPyxbDeConstruction=objPyxbDeConstruction) - mcListe.append(objet) + objet = v(val=args.get(k, None), nom=k, parent=self) + mc_liste.append(objet) # Si l'objet a une position globale on l'ajoute aux listes # correspondantes if hasattr(objet.definition, 'position'): @@ -108,19 +95,14 @@ class MCCOMPO(N_OBJECT.OBJECT): # si une valeur existe dans args ou est obligatoire (generique si toutes les # entites ont l attribut statut ) # - if self.dicoPyxbDeConstruction and k in self.dicoPyxbDeConstruction : - dicoPyxbDeConstruction=self.dicoPyxbDeConstruction[k] - del self.dicoPyxbDeConstruction[k] - else : - dicoPyxbDeConstruction=None - objet = v(val=args.get(k, None), nom=k, parent=self,dicoPyxbDeConstruction=dicoPyxbDeConstruction) - mcListe.append(objet) + objet = v(val=args.get(k, None), nom=k, parent=self) + mc_liste.append(objet) if k in args: del args[k] # Phase 2: # On construit les objets (en général, blocs) conditionnés par les mots-clés précédemment créés. - # A ce stade, mcListe ne contient que les fils de l'objet courant + # A ce stade, mc_liste ne contient que les fils de l'objet courant # args ne contient plus que des mots-clés qui n'ont pas été attribués car ils sont # à attribuer à des blocs du niveau inférieur ou bien sont des mots-clés erronés for k, v in list(self.definition.entites.items()): @@ -132,48 +114,42 @@ class MCCOMPO(N_OBJECT.OBJECT): #PNPN on recalcule dico_valeurs dans le for # pour les globaux imbriques (exple Telemac Advection) # avant le calcul etait avant le for - dico_valeurs = self.creeDictCondition(mcListe, condition=1) + dico_valeurs = self.cree_dict_condition(mc_liste, condition=1) globs = self.jdc and self.jdc.condition_context or {} - if v.verifPresence(dico_valeurs, globs): + if v.verif_presence(dico_valeurs, globs): # Si le bloc existe : # 1- on le construit - # 2- on l'ajoute à mcListe + # 2- on l'ajoute à mc_liste # 3- on récupère les arguments restant - # 4- on reconstruit le dictionnaire équivalent à mcListe - bloc = v(nom=k, val=args, parent=self,dicoPyxbDeConstruction=self.dicoPyxbDeConstruction) - mcListe.append(bloc) + # 4- on reconstruit le dictionnaire équivalent à mc_liste + bloc = v(nom=k, val=args, parent=self) + mc_liste.append(bloc) args = bloc.reste_val # On ne recalcule pas le contexte car on ne tient pas compte des blocs # pour évaluer les conditions de présence des blocs - # dico_valeurs = self.creeDictValeurs(mcListe) + # dico_valeurs = self.cree_dict_valeurs(mc_liste) # On conserve les arguments superflus dans l'attribut reste_val self.reste_val = args # On ordonne la liste ainsi créée suivant l'ordre du catalogue # (utile seulement pour IHM graphique) - mcListe = self.ordonneListe(mcListe) + mc_liste = self.ordonne_liste(mc_liste) # on retourne la liste ainsi construite - if self.jdc : self.cata=self.jdc.cata - else : self.cata = None - #self.buildObjPyxb(mcListe) - #else : print ('pas de construction pour ', self.nom, self.objPyxbDeConstruction) - #print ('buildObjPyxb : ' , self.nom) - #print(("MCCOMPO.buildMc fin_____________________________________", self.nom)) - return mcListe + return mc_liste - def ordonneListe(self, mcListe): + def ordonne_liste(self, mc_liste): """ Ordonne la liste suivant l'ordre du catalogue. Seulement pour IHM graphique """ if self.jdc and self.jdc.cata_ordonne_dico != None: - liste_noms_mc_ordonnee = self.getListeMcOrdonneeBrute( - self.getGenealogie(), self.jdc.cata_ordonne_dico) - return self.ordonneListeMc(mcListe, liste_noms_mc_ordonnee) + liste_noms_mc_ordonnee = self.get_liste_mc_ordonnee_brute( + self.get_genealogie(), self.jdc.cata_ordonne_dico) + return self.ordonne_liste_mc(mc_liste, liste_noms_mc_ordonnee) else: - return mcListe + return mc_liste - def creeDictValeurs(self, liste=[], condition=0): + def cree_dict_valeurs(self, liste=[], condition=0): """ Cette méthode crée un contexte (sous la forme d'un dictionnaire) à partir des valeurs des mots clés contenus dans l'argument liste. @@ -195,7 +171,7 @@ class MCCOMPO(N_OBJECT.OBJECT): - ajouter tous les mots-clés globaux (attribut position = 'global' et 'global_jdc') - L'argument liste est, en général, une mcListe en cours de + L'argument liste est, en général, une mc_liste en cours de construction, contenant les mots-clés locaux et les blocs déjà créés. """ @@ -203,16 +179,16 @@ class MCCOMPO(N_OBJECT.OBJECT): for v in liste: if v.isBLOC(): # Si v est un BLOC, on inclut ses items dans le dictionnaire - # représentatif du contexte. Les blocs sont retournés par getValeur + # représentatif du contexte. Les blocs sont retournés par get_valeur # sous la forme d'un dictionnaire : les mots-clés fils de blocs sont # donc remontés au niveau du contexte. if not condition: - dadd = v.getValeur() + dadd = v.get_valeur() assert intersection_vide(dico, dadd) dico.update(dadd) else: assert not v.nom in dico, "deja vu : %s" % v.nom - dico[v.nom] = v.getValeur() + dico[v.nom] = v.get_valeur() # On rajoute tous les autres mots-clés locaux possibles avec la valeur # par défaut ou None @@ -240,26 +216,26 @@ class MCCOMPO(N_OBJECT.OBJECT): # valeur par défaut ou la valeur None # On rajoute les mots-clés globaux sans écraser les clés existantes - dico_mc = self.rechercheMcGlobaux() + dico_mc = self.recherche_mc_globaux() dico_mc.update(dico) dico = dico_mc return dico - def creeDictToutesValeurs(self): - """Semblable à `creeDictValeurs(liste=self.mcListe)` en supprimant les + def cree_dict_toutes_valeurs(self): + """Semblable à `cree_dict_valeurs(liste=self.mc_liste)` en supprimant les valeurs None.""" - dico = self.creeDictValeurs(self.mcListe, condition=0) + dico = self.cree_dict_valeurs(self.mc_liste, condition=0) dico = dict([(k, v) for k, v in list(dico.items()) if v is not None]) return dico - def creeDictCondition(self, liste=[], condition=0): + def cree_dict_condition(self, liste=[], condition=0): """ Methode pour construire un contexte qui servira dans l'évaluation des conditions de présence de blocs. Si une commande a un concept produit réutilisé, on ajoute la clé 'reuse' """ - dico = self.creeDictValeurs(liste, condition=1) + dico = self.cree_dict_valeurs(liste, condition=1) # On ajoute la cle "reuse" pour les MCCOMPO qui ont un attribut reuse. A destination # uniquement des commandes. Ne devrait pas etre dans cette classe mais # dans une classe dérivée @@ -267,31 +243,31 @@ class MCCOMPO(N_OBJECT.OBJECT): dico['reuse'] = self.reuse return dico - def rechercheMcGlobaux(self): + def recherche_mc_globaux(self): """ Retourne la liste des mots-clés globaux de l'étape à laquelle appartient self et des mots-clés globaux du jdc """ - etape = self.getEtape() + etape = self.get_etape() if etape: - dict_mc_globaux_fac = self.rechercheMcGlobauxFacultatifs() + dict_mc_globaux_fac = self.recherche_mc_globaux_facultatifs() for k, v in list(etape.mc_globaux.items()): - dict_mc_globaux_fac[k] = v.getValeur() + dict_mc_globaux_fac[k] = v.get_valeur() if self.jdc: for k, v in list(self.jdc.mc_globaux.items()): - dict_mc_globaux_fac[k] = v.getValeur() + dict_mc_globaux_fac[k] = v.get_valeur() return dict_mc_globaux_fac else: return {} - def rechercheMcGlobauxFacultatifs(self): + def recherche_mc_globaux_facultatifs(self): """ Cette méthode interroge la définition de self et retourne la liste des mots-clés fils directs de self de type 'global'. position='global' n'est donc possible (et n'a de sens) qu'au plus haut niveau. """ dico = {} - etape = self.getEtape() + etape = self.get_etape() if not etape: return {} for k, v in list(etape.definition.entites.items()): @@ -302,7 +278,7 @@ class MCCOMPO(N_OBJECT.OBJECT): if v.statut == 'o': continue obj = v(val=None, nom=k, parent=etape) - dico[k] = obj.getValeur() + dico[k] = obj.get_valeur() return dico def supprime(self): @@ -311,26 +287,26 @@ class MCCOMPO(N_OBJECT.OBJECT): etre correctement détruit par le garbage collector """ N_OBJECT.OBJECT.supprime(self) - for child in self.mcListe: + for child in self.mc_liste: child.supprime() def __getitem__(self, key): """ Cette méthode retourne la valeur d'un sous mot-clé (key) """ - return self.getMocle(key) + return self.get_mocle(key) - def getMocle(self, key): + def get_mocle(self, key): """ Retourne la valeur du sous mot-clé key Ce sous mot-clé peut exister, avoir une valeur par defaut ou etre dans un BLOC fils de self """ # on cherche dans les mots cles presents, le mot cle de nom key - # s'il est là on retourne sa valeur (méthode getVal) - for child in self.mcListe: + # s'il est là on retourne sa valeur (méthode get_val) + for child in self.mc_liste: if child.nom == key: - return child.getValeur() + return child.get_valeur() # Si on n a pas trouve de mot cle present on retourne le defaut # eventuel pour les mots cles accessibles dans la definition # a ce niveau @@ -353,11 +329,11 @@ class MCCOMPO(N_OBJECT.OBJECT): # Si on a toujours rien trouve, on cherche dans les blocs presents # On suppose que tous les blocs possibles ont ete crees meme ceux # induits par un mot cle simple absent avec defaut (???) - for mc in self.mcListe: + for mc in self.mc_liste: if not mc.isBLOC(): continue try: - return mc.getMocle(key) + return mc.get_mocle(key) except: # On n a rien trouve dans ce bloc, on passe au suivant pass @@ -365,14 +341,18 @@ class MCCOMPO(N_OBJECT.OBJECT): # On leve une exception raise IndexError("Le mot cle %s n existe pas dans %s" % (key, self)) - def getChild(self, name, restreint='non'): + def get_child(self, name, restreint='non'): """ Retourne le fils de self de nom name ou None s'il n'existe pas - Si restreint vaut oui : ne regarde que dans la mcListe + Si restreint vaut oui : ne regarde que dans la mc_liste Si restreint vaut non : regarde aussi dans les entites possibles avec defaut (Ce dernier cas n'est utilisé que dans le catalogue) """ - for v in self.mcListe: +# print('debut') +# print(self.mc_liste) +# print(name) + for v in self.mc_liste: +# print(v.nom) if v.nom == name: return v if restreint == 'non': @@ -382,14 +362,13 @@ class MCCOMPO(N_OBJECT.OBJECT): return entite(None, name, None) except: pass - return None - + def append_mc_global(self, mc): """ Ajoute le mot-clé mc à la liste des mots-clés globaux de l'étape """ - etape = self.getEtape() + etape = self.get_etape() if etape: nom = mc.nom etape.mc_globaux[nom] = mc @@ -413,11 +392,11 @@ class MCCOMPO(N_OBJECT.OBJECT): # est acceptee objet.valeur = copy(self.valeur) objet.val = copy(self.val) - objet.mcListe = [] - for obj in self.mcListe: + objet.mc_liste = [] + for obj in self.mc_liste: new_obj = obj.copy() new_obj.reparent(objet) - objet.mcListe.append(new_obj) + objet.mc_liste.append(new_obj) return objet def reparent(self, parent): @@ -425,22 +404,22 @@ class MCCOMPO(N_OBJECT.OBJECT): Cette methode sert a reinitialiser la parente de l'objet """ self.parent = parent - self.jdc = parent.getJdcRoot() + self.jdc = parent.get_jdc_root() self.etape = parent.etape - for mocle in self.mcListe: + for mocle in self.mc_liste: mocle.reparent(self) - def getSd_utilisees(self): + def get_sd_utilisees(self): """ Retourne la liste des concepts qui sont utilisés à l'intérieur de self ( comme valorisation d'un MCS) """ l = [] - for child in self.mcListe: - l.extend(child.getSd_utilisees()) + for child in self.mc_liste: + l.extend(child.get_sd_utilisees()) return l - def getSd_mcs_utilisees(self): + def get_sd_mcs_utilisees(self): """ Retourne la ou les SD utilisée par self sous forme d'un dictionnaire : - Si aucune sd n'est utilisée, le dictionnaire est vide. @@ -453,14 +432,14 @@ class MCCOMPO(N_OBJECT.OBJECT): 'MODELE': [] } """ dico = {} - for child in self.mcListe: - daux = child.getSd_mcs_utilisees() + for child in self.mc_liste: + daux = child.get_sd_mcs_utilisees() for cle in daux: dico[cle] = dico.get(cle, []) dico[cle].extend(daux[cle]) return dico - def getMcsWithCo(self, co): + def get_mcs_with_co(self, co): """ Cette methode retourne l'objet MCSIMP fils de self qui a le concept co comme valeur. @@ -468,17 +447,17 @@ class MCCOMPO(N_OBJECT.OBJECT): instances de la classe CO """ l = [] - for child in self.mcListe: - l.extend(child.getMcsWithCo(co)) + for child in self.mc_liste: + l.extend(child.get_mcs_with_co(co)) return l - def getAllCo(self): + def get_all_co(self): """ Cette methode retourne tous les concepts instances de CO """ l = [] - for child in self.mcListe: - l.extend(child.getAllCo()) + for child in self.mc_liste: + l.extend(child.get_all_co()) return l diff --git a/Noyau/N_MCFACT.py b/Noyau/N_MCFACT.py index 52be4313..f054ec5f 100644 --- a/Noyau/N_MCFACT.py +++ b/Noyau/N_MCFACT.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -34,7 +34,7 @@ class MCFACT(N_MCCOMPO.MCCOMPO): """ nature = "MCFACT" - def __init__(self, val, definition, nom, parent,dicoPyxbDeConstruction): + def __init__(self, val, definition, nom, parent): """ Attributs : - val : valeur du mot clé simple @@ -42,16 +42,6 @@ class MCFACT(N_MCCOMPO.MCCOMPO): - nom - parent """ - #print ('MCFACT', self, val, definition, nom, parent, objPyxbDeConstruction) - import traceback - #traceback.print_stack() - #if nom == 'experience' : print ('MCFACT', self, parent, dicoPyxbDeConstruction); exit() - self.dicoPyxbDeConstruction=dicoPyxbDeConstruction - if self.dicoPyxbDeConstruction : - self.objPyxbDeConstruction=self.dicoPyxbDeConstruction['objEnPyxb'] - del self.dicoPyxbDeConstruction['objEnPyxb'] - else : - self.objPyxbDeConstruction=None self.definition = definition self.nom = nom self.val = val @@ -66,7 +56,7 @@ class MCFACT(N_MCCOMPO.MCCOMPO): self.jdc = None self.niveau = None self.etape = None - self.mcListe = self.buildMc() + self.mc_liste = self.build_mc() def GETVAL(self, val): """ @@ -78,7 +68,7 @@ class MCFACT(N_MCCOMPO.MCCOMPO): else: return val - def getValeur(self): + def get_valeur(self): """ Retourne la "valeur" d'un mot-clé facteur qui est l'objet lui-meme. Cette valeur est utilisée lors de la création d'un contexte @@ -86,10 +76,10 @@ class MCFACT(N_MCCOMPO.MCCOMPO): """ return self - def getVal(self): + def get_val(self): """ Une autre méthode qui retourne une "autre" valeur du mot clé facteur. - Elle est utilisée par la méthode getMocle + Elle est utilisée par la méthode get_mocle """ return [self] @@ -100,7 +90,7 @@ class MCFACT(N_MCCOMPO.MCCOMPO): """ if key == 0: return self - return self.getMocle(key) + return self.get_mocle(key) def accept(self, visitor): """ diff --git a/Noyau/N_MCLIST.py b/Noyau/N_MCLIST.py index 5d693ed9..cb758ef9 100644 --- a/Noyau/N_MCLIST.py +++ b/Noyau/N_MCLIST.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -50,7 +50,6 @@ class MCList(UserList): nature = 'MCList' def init(self, nom, parent): - self.objPyxbDeConstruction=None self.definition = None self.nom = nom self.parent = parent @@ -64,7 +63,7 @@ class MCList(UserList): self.niveau = None self.etape = None - def getValeur(self): + def get_valeur(self): """ Retourne la "valeur" d'un objet MCList. Sert à construire un contexte d'évaluation pour une expression Python. @@ -72,10 +71,10 @@ class MCList(UserList): """ return self - def getVal(self): + def get_val(self): """ Une autre méthode qui retourne une "autre" valeur d'une MCList - Elle est utilisée par la méthode getMocle + Elle est utilisée par la méthode get_mocle """ return self @@ -91,20 +90,20 @@ class MCList(UserList): for child in self.data: child.supprime() - def getChild(self, name,restreint='non'): + def get_child(self, name,restreint='non'): """ Retourne le fils de nom name s'il est contenu dans self Par défaut retourne le fils du premier de la liste """ obj = self.data[0] # Phase 1 : on cherche dans les fils directs de obj - for child in obj.mcListe: + for child in obj.mc_liste: if child.nom == name: return child # Phase 2 : on cherche dans les blocs de self - for child in obj.mcListe: + for child in obj.mc_liste: if child.isBLOC(): - resu = child.getChild(name) + resu = child.get_child(name) if resu != None: return resu # Phase 3 : on cherche dans les entites possibles pour les défauts @@ -130,17 +129,17 @@ class MCList(UserList): """ visitor.visitMCList(self) - def getSd_utilisees(self): + def get_sd_utilisees(self): """ Retourne la liste des concepts qui sont utilisés à l'intérieur de self ( comme valorisation d'un MCS) """ l = [] for child in self.data: - l.extend(child.getSd_utilisees()) + l.extend(child.get_sd_utilisees()) return l - def getSd_mcs_utilisees(self): + def get_sd_mcs_utilisees(self): """ Retourne la ou les SD utilisée par self sous forme d'un dictionnaire : - Si aucune sd n'est utilisée, le dictionnaire est vide. @@ -155,13 +154,13 @@ class MCList(UserList): """ dico = {} for child in self.data: - daux = child.getSd_mcs_utilisees() + daux = child.get_sd_mcs_utilisees() for cle in daux: dico[cle] = dico.get(cle, []) dico[cle].extend(daux[cle]) return dico - def getMcsWithCo(self, co): + def get_mcs_with_co(self, co): """ Cette methode retourne l'objet MCSIMP fils de self qui a le concept co comme valeur. @@ -170,16 +169,16 @@ class MCList(UserList): """ l = [] for child in self.data: - l.extend(child.getMcsWithCo(co)) + l.extend(child.get_mcs_with_co(co)) return l - def getAllCo(self): + def get_all_co(self): """ Cette methode retourne tous les concepts instances de CO """ l = [] for child in self.data: - l.extend(child.getAllCo()) + l.extend(child.get_all_co()) return l def copy(self): @@ -209,7 +208,7 @@ class MCList(UserList): for mcfact in self.data: mcfact.reparent(parent) - def getEtape(self): + def get_etape(self): """ Retourne l'étape à laquelle appartient self Un objet de la catégorie etape doit retourner self pour indiquer que @@ -218,14 +217,14 @@ class MCList(UserList): """ if self.parent == None: return None - return self.parent.getEtape() + return self.parent.get_etape() def __getitem__(self, key): """ Dans le cas d un mot cle facteur de longueur 1 on simule un scalaire """ if type(key) != int and len(self) == 1: - return self.data[0].getMocle(key) + return self.data[0].get_mocle(key) else: return self.data[key] @@ -236,13 +235,9 @@ class MCList(UserList): """ dresu = [] for mcf in self: - dico = mcf.creeDictValeurs(mcf.mcListe) + dico = mcf.cree_dict_valeurs(mcf.mc_liste) for i in list(dico.keys()): if dico[i] == None: del dico[i] dresu.append(dico) return dresu - - def longueurDsArbre(self): - # pour Pyxb : longueur dans le orderedcontent de pyxb - return len(self) diff --git a/Noyau/N_MCSIMP.py b/Noyau/N_MCSIMP.py index a06134df..dc2b5f4f 100644 --- a/Noyau/N_MCSIMP.py +++ b/Noyau/N_MCSIMP.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -31,7 +31,7 @@ from Noyau.N_ASSD import ASSD from Noyau.N_CO import CO from . import N_OBJECT from .N_CONVERT import ConversionFactory -from .N_types import forceList, isSequence +from .N_types import force_list, is_sequence class MCSIMP(N_OBJECT.OBJECT): @@ -40,7 +40,7 @@ class MCSIMP(N_OBJECT.OBJECT): """ nature = 'MCSIMP' - def __init__(self, val, definition, nom, parent,objPyxbDeConstruction): + def __init__(self, val, definition, nom, parent): """ Attributs : @@ -57,29 +57,19 @@ class MCSIMP(N_OBJECT.OBJECT): - valeur : valeur du mot-clé simple en tenant compte de la valeur par défaut """ - #print ("MCSIMP, ------------------------") - #print (self, val, definition, nom, parent) - #print ("MCSIMP, ------------------------") self.definition = definition self.nom = nom self.val = val self.parent = parent self.convProto = ConversionFactory('type', typ=self.definition.type) self.valeur = self.GETVAL(self.val) - self.objPyxbDeConstruction=objPyxbDeConstruction if parent: - self.jdc = self.parent.jdc - if self.jdc : self.cata = self.jdc.cata - else : self.cata = None + self.jdc = self.parent.jdc self.niveau = self.parent.niveau self.etape = self.parent.etape - #self.buildObjPyxb() else: # Le mot cle simple a été créé sans parent - # est-ce possible ? - print ('je suis dans le else sans parent du build') self.jdc = None - self.cata = None self.niveau = None self.etape = None @@ -94,7 +84,7 @@ class MCSIMP(N_OBJECT.OBJECT): val = self.convProto.convert(val) return val - def getValeur(self): + def get_valeur(self): """ Retourne la "valeur" d'un mot-clé simple. Cette valeur est utilisée lors de la création d'un contexte @@ -108,19 +98,19 @@ class MCSIMP(N_OBJECT.OBJECT): # par "not has_attr(v, '__iter__')". if v is None: pass - elif isSequence(v) and len(v) == 1 and self.definition.max == 1: + elif is_sequence(v) and len(v) == 1 and self.definition.max == 1: v = v[0] - elif not isSequence(v) and self.definition.max != 1: + elif not is_sequence(v) and self.definition.max != 1: v = (v, ) # traitement particulier pour les complexes ('RI', r, i) if 'C' in self.definition.type and self.definition.max != 1 and v != None and v[0] in ('RI', 'MP'): v = (v, ) return v - def getVal(self): + def get_val(self): """ Une autre méthode qui retourne une "autre" valeur du mot clé simple. - Elle est utilisée par la méthode getMocle + Elle est utilisée par la méthode get_mocle """ return self.valeur @@ -154,7 +144,7 @@ class MCSIMP(N_OBJECT.OBJECT): self.jdc = parent.jdc self.etape = parent.etape - def getSd_utilisees(self): + def get_sd_utilisees(self): """ Retourne une liste qui contient la ou les SD utilisée par self si c'est le cas ou alors une liste vide @@ -168,7 +158,7 @@ class MCSIMP(N_OBJECT.OBJECT): l.append(val) return l - def getSd_mcs_utilisees(self): + def get_sd_mcs_utilisees(self): """ Retourne la ou les SD utilisée par self sous forme d'un dictionnaire : - Si aucune sd n'est utilisée, le dictionnaire est vide. @@ -179,25 +169,25 @@ class MCSIMP(N_OBJECT.OBJECT): { 'VALE_F': [ , ] } """ - l = self.getSd_utilisees() + l = self.get_sd_utilisees() dico = {} if len(l) > 0: dico[self.nom] = l return dico - def getMcsWithCo(self, co): + def get_mcs_with_co(self, co): """ Cette methode retourne l'objet MCSIMP self s'il a le concept co comme valeur. """ - if co in forceList(self.valeur): + if co in force_list(self.valeur): return [self, ] return [] - def getAllCo(self): + def get_all_co(self): """ Cette methode retourne la liste de tous les concepts co associés au mot cle simple """ - return [co for co in forceList(self.valeur) - if isinstance(co, CO) and co.isTypCO()] + return [co for co in force_list(self.valeur) + if isinstance(co, CO) and co.is_typco()] diff --git a/Noyau/N_OBJECT.py b/Noyau/N_OBJECT.py index 8765539f..646d8fca 100644 --- a/Noyau/N_OBJECT.py +++ b/Noyau/N_OBJECT.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -42,7 +42,7 @@ class OBJECT(object): """ - def getEtape(self): + def get_etape(self): """ Retourne l'étape à laquelle appartient self Un objet de la catégorie etape doit retourner self pour indiquer que @@ -51,7 +51,7 @@ class OBJECT(object): """ if self.parent == None: return None - return self.parent.getEtape() + return self.parent.get_etape() def supprime(self): """ @@ -64,7 +64,7 @@ class OBJECT(object): self.jdc = None self.niveau = None - def getVal(self): + def get_val(self): """ Retourne la valeur de l'objet. Cette méthode fournit une valeur par defaut. Elle doit etre dérivée pour chaque @@ -72,14 +72,19 @@ class OBJECT(object): """ return self + def isBLOC(self): + """ + Indique si l'objet est un BLOC + """ + return 0 - def getJdcRoot(self): + def get_jdc_root(self): """ Cette méthode doit retourner l'objet racine c'est à dire celui qui n'a pas de parent """ if self.parent: - return self.parent.getJdcRoot() + return self.parent.get_jdc_root() else: return self @@ -100,16 +105,6 @@ class OBJECT(object): self.parent = parent self.jdc = parent.jdc - def isBLOC(self): - """ - Indique si l'objet est un BLOC - surcharge dans MCBLOC - """ - return 0 - - def longueurDsArbre(self): - return 1 - class ErrorObj(OBJECT): @@ -121,7 +116,7 @@ class ErrorObj(OBJECT): self.definition = definition self.valeur = valeur self.parent = parent - self.mcListe = [] + self.mc_liste = [] if parent: self.jdc = self.parent.jdc # self.niveau = self.parent.niveau @@ -132,7 +127,7 @@ class ErrorObj(OBJECT): # self.niveau = None # self.etape = None - def isValid(self, cr='non'): + def isvalid(self, cr='non'): return 0 def report(self): @@ -143,5 +138,3 @@ class ErrorObj(OBJECT): self.cr.fatal(_(u"Type non autorisé pour le mot-clé %s : '%s'"), self.nom, self.valeur) return self.cr - - diff --git a/Noyau/N_OPER.py b/Noyau/N_OPER.py index 955b0897..9464651a 100644 --- a/Noyau/N_OPER.py +++ b/Noyau/N_OPER.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -86,7 +86,7 @@ class OPER(N_ENTITE.ENTITE): label = 'OPER' nommage = nommage - def __init__(self, nom, op=None, sd_prod=None, reentrant='n', repetable='o', fr="",ang="",fenetreIhm=None, + def __init__(self, nom, op, sd_prod, reentrant='n', repetable='o', fr="",ang="", docu="", regles=(), op_init=None, niveau = None, UIinfo=None, **args): """ Méthode d'initialisation de l'objet OPER. Les arguments sont utilisés pour initialiser @@ -100,7 +100,6 @@ class OPER(N_ENTITE.ENTITE): self.ang = ang self.repetable = repetable self.docu = docu - self.fenetreIhm= fenetreIhm if type(regles) == tuple: self.regles = regles else: @@ -109,26 +108,26 @@ class OPER(N_ENTITE.ENTITE): # operateur sauf si == None self.op_init = op_init self.entites = args - current_cata = CONTEXT.getCurrentCata() + current_cata = CONTEXT.get_current_cata() if niveau == None: self.niveau = None current_cata.enregistre(self) else: - self.niveau = current_cata.getNiveau(niveau) + self.niveau = current_cata.get_niveau(niveau) self.niveau.enregistre(self) self.UIinfo = UIinfo self.affecter_parente() - self.checkDefinition(self.nom) + self.check_definition(self.nom) def __call__(self, reuse=None, **args): """ Construit l'objet ETAPE a partir de sa definition (self), puis demande la construction de ses sous-objets et du concept produit. """ - nomsd = self.nommage.getNomConceptResultat(self.nom) + nomsd = self.nommage.GetNomConceptResultat(self.nom) etape = self.class_instance(oper=self, reuse=reuse, args=args) - etape.MCBuild() - return etape.buildSd(nomsd) + etape.McBuild() + return etape.Build_sd(nomsd) def make_objet(self, mc_list='oui'): """ @@ -139,20 +138,20 @@ class OPER(N_ENTITE.ENTITE): """ etape = self.class_instance(oper=self, reuse=None, args={}) if mc_list == 'oui': - etape.MCBuild() + etape.McBuild() return etape - def verifCata(self): + def verif_cata(self): """ Méthode de vérification des attributs de définition """ - self.checkRegles() - self.checkFr() - self.checkReentrant() - self.checkDocu() - self.checkNom() - self.checkOp(valmin=0) - self.verifCataRegles() + self.check_regles() + self.check_fr() + self.check_reentrant() + self.check_docu() + self.check_nom() + self.check_op(valmin=0) + self.verif_cata_regles() def supprime(self): """ diff --git a/Noyau/N_OPS.py b/Noyau/N_OPS.py index d835a6a4..3b77056a 100644 --- a/Noyau/N_OPS.py +++ b/Noyau/N_OPS.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -22,7 +22,7 @@ try : from builtins import object except : pass -from .N_utils import importObject +from .N_utils import import_object class OPS(object): @@ -36,7 +36,7 @@ class OPS(object): def __call__(self, *args, **kwargs): """Import the real function and call it.""" - func = importObject(self.uri) + func = import_object(self.uri) return func(*args, **kwargs) diff --git a/Noyau/N_PROC.py b/Noyau/N_PROC.py index 97c120df..949e2e2c 100644 --- a/Noyau/N_PROC.py +++ b/Noyau/N_PROC.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -71,8 +71,6 @@ class PROC(N_ENTITE.ENTITE): rangés par niveau. Ils apparaissent alors exclusivement dans leur niveau de rangement. Si niveau vaut None, l'opérateur est rangé au niveau global. - - fenetreIhm : specification de la fenetre - - entites : dictionnaire dans lequel sont stockés les sous entités de l'opérateur. Il s'agit des entités de définition pour les mots-clés : FACT, BLOC, SIMP. Cet attribut est initialisé avec args, c'est à dire les arguments d'appel restants. @@ -82,39 +80,38 @@ class PROC(N_ENTITE.ENTITE): class_instance = N_PROC_ETAPE.PROC_ETAPE label = 'PROC' - def __init__(self, nom, op=None, reentrant='n', repetable='o', fr="",ang="", fenetreIhm=None, + def __init__(self, nom, op=None, reentrant='n', repetable='o', fr="",ang="", docu="", regles=(), op_init=None, niveau = None, UIinfo=None, **args): """ Méthode d'initialisation de l'objet PROC. Les arguments sont utilisés pour initialiser les attributs de meme nom """ - self.nom = nom - self.op = op - self.reentrant = reentrant - self.repetable = repetable - self.fenetreIhm = fenetreIhm - self.fr = fr + self.nom = nom + self.op = op + self.reentrant = reentrant + self.repetable = repetable + self.fr = fr #self.ang="" - self.ang = ang - self.docu = docu + self.ang=ang + self.docu = docu if type(regles) == tuple: self.regles = regles else: self.regles = (regles,) # Attribut op_init : Fonction a appeler a la construction de l # operateur sauf si == None - self.op_init = op_init - self.entites = args - current_cata = CONTEXT.getCurrentCata() + self.op_init = op_init + self.entites = args + current_cata = CONTEXT.get_current_cata() if niveau == None: self.niveau = None current_cata.enregistre(self) else: - self.niveau = current_cata.getNiveau(niveau) + self.niveau = current_cata.get_niveau(niveau) self.niveau.enregistre(self) self.UIinfo = UIinfo self.affecter_parente() - self.checkDefinition(self.nom) + self.check_definition(self.nom) def __call__(self, **args): """ @@ -122,8 +119,8 @@ class PROC(N_ENTITE.ENTITE): puis demande la construction de ses sous-objets et du concept produit. """ etape = self.class_instance(oper=self, args=args) - etape.MCBuild() - return etape.buildSd() + etape.McBuild() + return etape.Build_sd() def make_objet(self, mc_list='oui'): """ @@ -134,20 +131,20 @@ class PROC(N_ENTITE.ENTITE): """ etape = self.class_instance(oper=self, args={}) if mc_list == 'oui': - etape.MCBuild() + etape.McBuild() return etape - def verifCata(self): + def verif_cata(self): """ Méthode de vérification des attributs de définition """ - self.checkRegles() - self.checkFr() - self.checkReentrant() - self.checkDocu() - self.checkNom() - self.checkOp(valmin=0) - self.verifCataRegles() + self.check_regles() + self.check_fr() + self.check_reentrant() + self.check_docu() + self.check_nom() + self.check_op(valmin=0) + self.verif_cata_regles() def supprime(self): """ diff --git a/Noyau/N_PROC_ETAPE.py b/Noyau/N_PROC_ETAPE.py index 7611d57b..ad590250 100644 --- a/Noyau/N_PROC_ETAPE.py +++ b/Noyau/N_PROC_ETAPE.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -56,14 +56,14 @@ class PROC_ETAPE(N_ETAPE.ETAPE): N_ETAPE.ETAPE.__init__(self, oper, reuse=None, args=args, niveau=5) self.reuse = None - def buildSd(self): + def Build_sd(self): """ Cette methode applique la fonction op_init au contexte du parent et lance l'exécution en cas de traitement commande par commande Elle doit retourner le concept produit qui pour une PROC est toujours None En cas d'erreur, elle leve une exception : AsException ou EOFError """ - if not self.isActif(): + if not self.isactif(): return try: if self.parent: @@ -103,7 +103,7 @@ class PROC_ETAPE(N_ETAPE.ETAPE): """ visitor.visitPROC_ETAPE(self) - def updateContext(self, d): + def update_context(self, d): """ Met à jour le contexte de l'appelant passé en argument (d) Une PROC_ETAPE n ajoute pas directement de concept dans le contexte diff --git a/Noyau/N_REGLE.py b/Noyau/N_REGLE.py index 4f09b7f6..dafb8917 100644 --- a/Noyau/N_REGLE.py +++ b/Noyau/N_REGLE.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -66,7 +66,7 @@ class REGLE(object): """ raise NotImplementedError('class REGLE should be derived') - def listeToDico(self, args): + def liste_to_dico(self, args): """ Cette méthode est utilitaire pour les seuls besoins des classes dérivées. diff --git a/Noyau/N_SENSIBILITE.py b/Noyau/N_SENSIBILITE.py index bd6fbd5e..33d120ad 100644 --- a/Noyau/N_SENSIBILITE.py +++ b/Noyau/N_SENSIBILITE.py @@ -1,5 +1,5 @@ # -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -46,7 +46,7 @@ class CONCEPT_SENSIBLE(REGLE): self._modes = { 'ENSEMBLE' : 0, 'SEPARE' : 1 } self.mode = self._modes.get(mode, self._modes['ENSEMBLE']) - def getText(self): + def gettext(self): """Pour EFICAS """ return '' @@ -77,8 +77,8 @@ class CONCEPT_SENSIBLE(REGLE): if not type(valeur) in (list, tuple): valeur = [valeur,] for v in valeur: - if not v.getName() in etape.sd.sensi: - etape.sd.sensi[v.getName()] = id_etape + if not v.get_name() in etape.sd.sensi: + etape.sd.sensi[v.get_name()] = id_etape return '', 1 @@ -97,7 +97,7 @@ class REUSE_SENSIBLE(REGLE): REGLE.__init__(self) self.mocle = mocle - def getText(self): + def gettext(self): """Pour EFICAS """ return '' @@ -144,7 +144,7 @@ class DERIVABLE(REGLE): REGLE.__init__(self) self.mocle = mocle - def getText(self): + def gettext(self): """Pour EFICAS """ return '' diff --git a/Noyau/N_SIMP.py b/Noyau/N_SIMP.py index 9606f351..4eff2a72 100644 --- a/Noyau/N_SIMP.py +++ b/Noyau/N_SIMP.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -25,8 +25,8 @@ from __future__ import absolute_import import types -from Noyau import N_ENTITE -from Noyau import N_MCSIMP +from . import N_ENTITE +from . import N_MCSIMP class SIMP(N_ENTITE.ENTITE): @@ -49,7 +49,7 @@ class SIMP(N_ENTITE.ENTITE): def __init__(self, typ,ang="", fr="", statut='f', into=None, intoSug = None,siValide = None, defaut=None, min=1, max=1, homo=1, position='local', val_min=float('-inf'), val_max=float('inf'), docu="", validators=None, - sug=None,fenetreIhm=None): + sug=None): """ Un mot-clé simple est caractérisé par les attributs suivants : - type : cet attribut est obligatoire et indique le type de valeur attendue @@ -60,19 +60,14 @@ class SIMP(N_ENTITE.ENTITE): - defaut : valeur par défaut - min : nombre minimal de valeurs - max : nombre maximal de valeurs - - homo : un certatin nb de choses qui il faut redispacher ailleurs (information, constant) + - homo : ? - ang : doc - position : si global, le mot-clé peut-être lu n'importe où dans la commande - val_min : valeur minimale autorisée - val_max : valeur maximale autorisée - - docu : clef sur de la documentation utilisateur - - sug : valeur suggere - - fenetreIhm=None + - docu : ? + - sug : ? """ - #print (self) - #import traceback - #traceback.print_stack() - #print (self) N_ENTITE.ENTITE.__init__(self, validators) # Initialisation des attributs if type(typ) == tuple: @@ -98,61 +93,23 @@ class SIMP(N_ENTITE.ENTITE): if self.val_max == '**' : self.val_max = float('inf') if self.min == '**' : self.min = float('-inf') if self.val_min == '**' : self.val_min = float('-inf') - self.fenetreIhm=fenetreIhm - #self.creeT_SIMP() - def verifCata(self): + def verif_cata(self): """ Cette methode sert à valider les attributs de l'objet de définition de la classe SIMP """ - self.checkMinMax() - self.checkFr() - self.checkStatut() - self.checkHomo() - self.checkInto() - self.checkPosition() - self.checkValidators() - - def __call__(self, val, nom, parent=None, objPyxbDeConstruction = None): + self.check_min_max() + self.check_fr() + self.check_statut() + self.check_homo() + self.check_into() + self.check_position() + self.check_validators() + + def __call__(self, val, nom, parent=None): """ Construit un objet mot cle simple (MCSIMP) a partir de sa definition (self) de sa valeur (val), de son nom (nom) et de son parent dans l arboresence (parent) """ - return self.class_instance(nom=nom, definition=self, val=val, parent=parent, objPyxbDeConstruction=objPyxbDeConstruction) - -# def creeT_SIMP(self): -# from Efi2Xsd.readerEfficas import monSIMP -# from Efi2Xsd.mapDesTypes import dictSIMPEficasXML -# self.objXML=monSIMP() -# for nomEficasArg in dictSIMPEficasXML : -# argu=getattr(self,nomEficasArg) -# nomXMLarg=dictSIMPEficasXML[nomEficasArg] -# if not isinstance(nomXMLarg, (list, tuple)) : -# print(nomXMLarg, argu) - #if nomEficasArg in listeParamDeTypeTypeAttendu: - # typeAttendu = self.typ -# -# setattr(self.objXML, nomXMLarg, argu) - - - -# for nomXMLArg in dir(self) : -# if nomXMLArg in self.dictATraiter : -# nomEficasArg=self.dictATraiter[nomXMLArg] -# argu=getattr(self,nomXMLArg) -# if argu==None : continue -# -# if type(nomEficasArg) == types.DictionaryType: -# for nomXML in list(nomEficasArg.keys()): -# arguDecoupe=getattr(argu,nomXML) -# nomEficasDecoupe=nomEficasArg[nomXML] -# if arguDecoupe == None : continue -# self.dictArgsEficas[nomEficasDecoupe]=arguDecoupe -# else : -# self.dictArgsEficas[nomEficasArg] = argu -# -# -# -# -# + return self.class_instance(nom=nom, definition=self, val=val, parent=parent) diff --git a/Noyau/N_VALIDATOR.py b/Noyau/N_VALIDATOR.py index 9f7720cf..8712d686 100644 --- a/Noyau/N_VALIDATOR.py +++ b/Noyau/N_VALIDATOR.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2015 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -36,7 +36,7 @@ import types import traceback import re from .N_ASSD import ASSD -from .N_types import isInt, isFloat_or_int, isComplex, isNumber, isStr, isSequence +from .N_types import is_int, is_float_or_int, is_complex, is_number, is_str, is_sequence from Extensions.i18n import tr import six from six.moves import range @@ -119,7 +119,7 @@ class ListProtocol(Protocol): elif obj == None: # pas de valeur affecte. La cardinalite vaut 0 return obj - elif isStr(obj): + elif is_str(obj): # il s'agit d'une chaine. La cardinalite vaut 1 return (obj,) else: @@ -150,19 +150,19 @@ class TypeProtocol(PProtocol): err = "" for type_permis in typ: if type_permis == 'R': - if isFloat_or_int(obj): + if is_float_or_int(obj): return obj elif type_permis == 'I': - if isInt(obj): + if is_int(obj): return obj elif type_permis == 'C': - if self.isComplexe(obj): + if self.is_complexe(obj): return obj elif type_permis == 'TXM': - if isStr(obj): + if is_str(obj): return obj elif type_permis == 'shell': - if isStr(obj): + if is_str(obj): return obj elif type_permis == 'Fichier': import os @@ -197,11 +197,11 @@ class TypeProtocol(PProtocol): raise ValError( "%s n'est pas un fichier ou un repertoire valide" % repr(obj)) elif type(type_permis) == type or isinstance(type_permis, type): try: - if self.isObjectFrom(obj, type_permis): + if self.is_object_from(obj, type_permis): return obj except Exception as err: pass - elif isinstance(type_permis, object): + elif type(type_permis) == types.InstanceType or isinstance(type_permis, object): try: if type_permis.__convert__(obj): return obj @@ -212,9 +212,9 @@ class TypeProtocol(PProtocol): raise ValError( tr("%s (de type %s) n'est pas d'un type autorise: %s %s") % (repr(obj), type(obj), typ, err)) - def isComplexe(self, valeur): + def is_complexe(self, valeur): """ Retourne 1 si valeur est un complexe, 0 sinon """ - if isNumber(valeur): + if is_number(valeur): # Pour permettre l'utilisation de complexes Python (accepte les # entiers et réels) return 1 @@ -235,7 +235,7 @@ class TypeProtocol(PProtocol): else: return 0 - def isObjectFrom(self, objet, classe): + def is_object_from(self, objet, classe): """ Retourne 1 si objet est une instance de la classe classe, 0 sinon """ @@ -250,6 +250,9 @@ class TypeProtocol(PProtocol): except: return 0 # On accepte les instances de la classe et des classes derivees + # PN Horrible + if isinstance(objet, classe) : return True + if objet.__class__ == classe : return True return isinstance(objet, classe) reelProto = TypeProtocol("reel", typ=('R',)) @@ -296,7 +299,7 @@ class IntoProtocol(PProtocol): else: # on est dans le cas d'un ensemble continu de valeurs possibles # (intervalle) - if isFloat_or_int(obj): + if is_float_or_int(obj): if val_min == '**': val_min = obj - 1 if val_max == '**': @@ -317,7 +320,7 @@ class MinStr(object): self.max = max def __convert__(self, valeur): - if isStr(valeur) and self.min <= len(valeur) <= self.max: return valeur + if is_str(valeur) and self.min <= len(valeur) <= self.max: return valeur raise ValError( "%s n'est pas une chaine de longueur comprise entre %s et %s" % (valeur, self.min, self.max)) @@ -358,7 +361,7 @@ class Valid(PProtocol): """ return self.info() - def infoErreurItem(self): + def info_erreur_item(self): """ Cette méthode permet d'avoir un message d'erreur pour un item dans une liste dans le cas ou le validateur fait des vérifications @@ -368,10 +371,10 @@ class Valid(PProtocol): """ return " " - def infoErreurListe(self): + def info_erreur_liste(self): """ Cette méthode a un comportement complémentaire de celui de - infoErreurItem. Elle retourne un message d'erreur lié uniquement + info_erreur_item. Elle retourne un message d'erreur lié uniquement aux vérifications sur la liste elle meme et pas sur ses items. Dans le cas où le validateur ne fait pas de vérification sur des listes, elle retourne une chaine vide @@ -391,19 +394,19 @@ class Valid(PProtocol): """ raise NotImplementedError("Must be implemented") - def verifItem(self, valeur): + def verif_item(self, valeur): """ La methode verif du validateur effectue une validation complete de la valeur. valeur peut etre un scalaire ou une liste. Le validateur doit traiter les 2 aspects s'il accepte des listes (dans ce cas la - methode isList doit retourner 1). + methode is_list doit retourner 1). La methode valid_item sert pour effectuer des validations partielles de liste. Elle doit uniquement verifier la validite d'un item de liste mais pas les caracteristiques de la liste. """ return 0 - def valideListePartielle(self, liste_courante): + def valide_liste_partielle(self, liste_courante): """ Cette methode retourne un entier qui indique si liste_courante est partiellement valide (valeur 1) ou invalide (valeur 0). La validation partielle concerne les listes en cours de construction : on @@ -414,7 +417,7 @@ class Valid(PProtocol): """ return self.verif(liste_courante) - def verifCata(self): + def verif_cata(self): """ Cette methode sert a realiser des verifications du validateur lui meme. Elle est facultative et retourne 1 (valide) par defaut. @@ -427,7 +430,7 @@ class Valid(PProtocol): """ return 1 - def isList(self): + def is_list(self): """ Cette méthode retourne un entier qui indique si le validateur permet les listes (valeur 1) ou ne les permet pas (valeur 0). @@ -435,7 +438,7 @@ class Valid(PProtocol): """ return 0 - def hasInto(self): + def has_into(self): """ Cette méthode retourne un entier qui indique si le validateur propose une liste de choix (valeur 1) ou n'en propose pas. @@ -443,25 +446,25 @@ class Valid(PProtocol): """ return 0 - def getInto(self, liste_courante=None, into_courant=None): + def get_into(self, liste_courante=None, into_courant=None): """ Cette méthode retourne la liste de choix proposée par le validateur. Si le validateur ne propose pas de liste de choix, la méthode retourne None. L'argument d'entrée liste_courante, s'il est différent de None, donne la liste des choix déjà effectués par l'utilisateur. Dans ce cas, la - méthode getInto doit calculer la liste des choix en en tenant + méthode get_into doit calculer la liste des choix en en tenant compte. Par exemple, si le validateur n'autorise pas les répétitions, la liste des choix retournée ne doit pas contenir les choix déjà contenus dans liste_courante. L'argument d'entrée into_courant, s'il est différent de None, donne la liste des choix proposés par d'autres validateurs. Dans ce cas, - la méthode getInto doit calculer la liste des choix à retourner + la méthode get_into doit calculer la liste des choix à retourner en se limitant à cette liste initiale. Par exemple, si into_courant vaut (1,2,3) et que le validateur propose la liste de choix (3,4,5), la méthode ne doit retourner que (3,). - La méthode getInto peut retourner une liste vide [], ce qui veut + La méthode get_into peut retourner une liste vide [], ce qui veut dire qu'il n'y a pas (ou plus) de choix possible. Cette situation peut etre normale : l''utilisateur a utilisé tous les choix, ou résulter d'une incohérence des validateurs : @@ -478,12 +481,12 @@ class ListVal(Valid): des listes. """ - def isList(self): + def is_list(self): return 1 - def getInto(self, liste_courante=None, into_courant=None): + def get_into(self, liste_courante=None, into_courant=None): """ - Cette méthode getInto effectue un traitement général qui consiste + Cette méthode get_into effectue un traitement général qui consiste a filtrer la liste de choix into_courant, si elle existe, en ne conservant que les valeurs valides (appel de la méthode valid). """ @@ -499,30 +502,30 @@ class ListVal(Valid): def convert(self, valeur): """ Méthode convert pour les validateurs de listes. Cette méthode - fait appel à la méthode convertItem sur chaque élément de la + fait appel à la méthode convert_item sur chaque élément de la liste. """ - if isSequence(valeur): + if is_sequence(valeur): for val in valeur: - self.convertItem(val) + self.convert_item(val) return valeur else: - return self.convertItem(valeur) + return self.convert_item(valeur) def verif(self, valeur): """ Méthode verif pour les validateurs de listes. Cette méthode - fait appel à la méthode verifItem sur chaque élément de la + fait appel à la méthode verif_item sur chaque élément de la liste. Si valeur est un paramètre, on utilise sa valeur effective valeur.valeur. """ - if isSequence(valeur): + if is_sequence(valeur): for val in valeur: - if not self.verifItem(val): + if not self.verif_item(val): return 0 return 1 else: - return self.verifItem(valeur) + return self.verif_item(valeur) class Compulsory(ListVal): @@ -533,7 +536,7 @@ class Compulsory(ListVal): registry = {} def __init__(self, elem=()): - if not isSequence(elem): + if not is_sequence(elem): elem = (elem,) Valid.__init__(self, elem=elem) self.elem = elem @@ -545,7 +548,7 @@ class Compulsory(ListVal): def default(self, valeur, elem): return valeur - def verifItem(self, valeur): + def verif_item(self, valeur): return 1 def convert(self, valeur): @@ -559,11 +562,11 @@ class Compulsory(ListVal): tr("%s ne contient pas les elements obligatoires : %s ") % (valeur, elem)) return valeur - def hasInto(self): + def has_into(self): return 1 def verif(self, valeur): - if not isSequence(valeur): + if not is_sequence(valeur): liste = list(valeur) else: liste = valeur @@ -572,7 +575,7 @@ class Compulsory(ListVal): return 0 return 1 - def infoErreurItem(self): + def info_erreur_item(self): return tr("La valeur n'est pas dans la liste des choix possibles") @@ -584,7 +587,7 @@ class Together(ListVal): registry = {} def __init__(self, elem=()): - if not isSequence(elem): + if not is_sequence(elem): elem = (elem,) Valid.__init__(self, elem=elem) self.elem = elem @@ -596,7 +599,7 @@ class Together(ListVal): def default(self, valeur, elem): return valeur - def verifItem(self, valeur): + def verif_item(self, valeur): return 1 def convert(self, valeur): @@ -609,11 +612,11 @@ class Together(ListVal): raise ValError(tr("%s ne contient pas les elements devant etre presents ensemble: %s ") %( valeur, elem)) return valeur - def hasInto(self): + def has_into(self): return 1 def verif(self, valeur): - if not isSequence(valeur): + if not is_sequence(valeur): liste = list(valeur) else: liste = valeur @@ -624,7 +627,7 @@ class Together(ListVal): if ( compte != len( list(self.elem) ) ): return 0 return 1 - def infoErreurItem(self): + def info_erreur_item(self): return tr("La valeur n'est pas dans la liste des choix possibles") @@ -636,7 +639,7 @@ class Absent(ListVal): registry = {} def __init__(self, elem=()): - if not isSequence(elem): + if not is_sequence(elem): elem = (elem,) Valid.__init__(self, elem=elem) self.elem = elem @@ -648,7 +651,7 @@ class Absent(ListVal): def default(self, valeur, elem): return valeur - def verifItem(self, valeur): + def verif_item(self, valeur): return 1 def convert(self, valeur): @@ -659,11 +662,11 @@ class Absent(ListVal): raise ValError(tr("%s n'est pas autorise : %s ")% (v, elem)) return valeur - def hasInto(self): + def has_into(self): return 1 def verif(self, valeur): - if not isSequence(valeur): + if not is_sequence(valeur): liste = list(valeur) else: liste = valeur @@ -671,7 +674,7 @@ class Absent(ListVal): if val in liste: return 0 return 1 - def infoErreurItem(self): + def info_erreur_item(self): return tr("La valeur n'est pas dans la liste des choix possibles") @@ -687,7 +690,7 @@ class NoRepeat(ListVal): def info(self): return tr("Pas de doublon dans la liste") - def infoErreurListe(self): + def info_erreur_liste(self): return tr("Les doublons ne sont pas permis") def default(self, valeur): @@ -702,11 +705,11 @@ class NoRepeat(ListVal): self.liste.append(v) return valeur - def verifItem(self, valeur): + def verif_item(self, valeur): return 1 def verif(self, valeur): - if isSequence(valeur): + if is_sequence(valeur): liste = list(valeur) for val in liste: if liste.count(val) != 1: @@ -715,9 +718,9 @@ class NoRepeat(ListVal): else: return 1 - def getInto(self, liste_courante=None, into_courant=None): + def get_into(self, liste_courante=None, into_courant=None): """ - Methode getInto spécifique pour validateur NoRepeat, on retourne + Methode get_into spécifique pour validateur NoRepeat, on retourne une liste de choix qui ne contient aucune valeur de into_courant déjà contenue dans liste_courante """ @@ -750,7 +753,7 @@ class LongStr(ListVal): def info(self): return (tr("longueur de la chaine entre %s et %s") %( self.low, self.high)) - def infoErreurItem(self): + def info_erreur_item(self): return tr("Longueur de la chaine incorrecte") def convert(self, valeur): @@ -758,7 +761,7 @@ class LongStr(ListVal): v = self.adapt(val) return valeur - def verifItem(self, valeur): + def verif_item(self, valeur): try: self.adapt(valeur) return 1 @@ -766,7 +769,7 @@ class LongStr(ListVal): return 0 def default(self, valeur, low, high): - if not isStr(valeur): + if not is_str(valeur): raise ValError ("%s n'est pas une chaine" % repr(valeur)) if valeur[0] == "'" and valeur[-1] == "'": low = low + 2 @@ -791,7 +794,7 @@ class OnlyStr(ListVal): def info(self): return tr("regarde si c'est une chaine") - def infoErreurItem(self): + def info_erreur_item(self): return tr("Ce n'est pas une chaine") def convert(self, valeur): @@ -799,7 +802,7 @@ class OnlyStr(ListVal): v = self.adapt(val) return valeur - def verifItem(self, valeur): + def verif_item(self, valeur): try: self.adapt(valeur) return 1 @@ -807,7 +810,7 @@ class OnlyStr(ListVal): return 0 def default(self, valeur): - if not isStr(valeur): + if not is_str(valeur): raise ValError (tr("%s n'est pas une chaine") % repr(valeur)) return valeur @@ -827,7 +830,7 @@ class OrdList(ListVal): def info(self): return ("liste %s" % self.ord) - def infoErreurListe(self): + def info_erreur_liste(self): return (tr("La liste doit etre en ordre %s") % self.ord) def convert(self, valeur): @@ -849,12 +852,12 @@ class OrdList(ListVal): self.val = valeur return valeur - def verifItem(self, valeur): + def verif_item(self, valeur): return 1 - def getInto(self, liste_courante=None, into_courant=None): + def get_into(self, liste_courante=None, into_courant=None): """ - Methode getInto spécifique pour validateur OrdList, on retourne + Methode get_into spécifique pour validateur OrdList, on retourne une liste de choix qui ne contient aucune valeur de into_courant dont la valeur est inférieure à la dernière valeur de liste_courante, si elle est différente de None. @@ -884,7 +887,7 @@ class OrVal(Valid): """ def __init__(self, validators=()): - if not isSequence(validators): + if not is_sequence(validators): validators = (validators,) self.validators = [] for validator in validators: @@ -905,32 +908,32 @@ class OrVal(Valid): pass raise ValError(tr("%s n'est pas du bon type")% repr(valeur)) - def infoErreurItem(self): + def info_erreur_item(self): l = [] for v in self.validators: - err = v.infoErreurItem() + err = v.info_erreur_item() if err != " ": l.append(err) chaine = " \n ou ".join(l) return chaine - def infoErreurListe(self): + def info_erreur_liste(self): l = [] for v in self.validators: - err = v.infoErreurListe() + err = v.info_erreur_liste() if err != " ": l.append(err) chaine = " \n ou ".join(l) return chaine - def isList(self): + def is_list(self): """ Si plusieurs validateurs sont reliés par un OU il suffit qu'un seul des validateurs attende une liste pour qu'on considère que leur union attend une liste. """ for validator in self.validators: - v = validator.isList() + v = validator.is_list() if v: return 1 return 0 @@ -942,17 +945,17 @@ class OrVal(Valid): return 1 return 0 - def verifItem(self, valeur): + def verif_item(self, valeur): for validator in self.validators: - v = validator.verifItem(valeur) + v = validator.verif_item(valeur) if v: return 1 return 0 - def verifCata(self): + def verif_cata(self): infos = [] for validator in self.validators: - v = validator.verifCata() + v = validator.verif_cata() if not v: infos.append(validator.cata_info) if infos: @@ -961,7 +964,7 @@ class OrVal(Valid): self.cata_info = "" return 1 - def hasInto(self): + def has_into(self): """ Dans le cas ou plusieurs validateurs sont reliés par un OU il faut que tous les validateurs proposent un choix pour @@ -970,12 +973,12 @@ class OrVal(Valid): En revanche, Enum(1,2,3) OU Enum(4,5,6) propose un choix (1,2,3,4,5,6) """ for validator in self.validators: - v = validator.hasInto() + v = validator.has_into() if not v: return 0 return 1 - def getInto(self, liste_courante=None, into_courant=None): + def get_into(self, liste_courante=None, into_courant=None): """ Dans le cas ou plusieurs validateurs sont reliés par un OU tous les validateurs doivent proposer un choix pour @@ -987,20 +990,20 @@ class OrVal(Valid): """ validator_into = [] for validator in self.validators: - v_into = validator.getInto(liste_courante, into_courant) + v_into = validator.get_into(liste_courante, into_courant) if v_into is None: return v_into validator_into.extend(v_into) return validator_into - def valideListePartielle(self, liste_courante=None): + def valide_liste_partielle(self, liste_courante=None): """ Méthode de validation de liste partielle pour le validateur Or. Si un des validateurs gérés par le validateur Or considère la liste comme valide, le validateur Or la considère comme valide. """ for validator in self.validators: - v = validator.valideListePartielle(liste_courante) + v = validator.valide_liste_partielle(liste_courante) if v: return 1 return 0 @@ -1015,7 +1018,7 @@ class AndVal(Valid): """ def __init__(self, validators=()): - if not isSequence(validators): + if not is_sequence(validators): validators = (validators,) self.validators = [] for validator in validators: @@ -1037,28 +1040,28 @@ class AndVal(Valid): valeur = validator.convert(valeur) return valeur - def infoErreurItem(self): + def info_erreur_item(self): chaine = "" a = 1 for v in self.validators: - if v.infoErreurItem() != " ": + if v.info_erreur_item() != " ": if a == 1: - chaine = v.infoErreurItem() + chaine = v.info_erreur_item() a = 0 else: - chaine = chaine + " \n et " + v.infoErreurItem() + chaine = chaine + " \n et " + v.info_erreur_item() return chaine - def infoErreurListe(self): + def info_erreur_liste(self): chaine="" a = 1 for v in self.validators: - if v.infoErreurListe() != " ": + if v.info_erreur_liste() != " ": if a == 1: - chaine = v.infoErreurListe() + chaine = v.info_erreur_liste() a = 0 else: - chaine = chaine + " \n et " + v.infoErreurListe() + chaine = chaine + " \n et " + v.info_erreur_liste() return chaine def verif(self, valeur): @@ -1069,19 +1072,19 @@ class AndVal(Valid): return 0 return 1 - def verifItem(self, valeur): + def verif_item(self, valeur): for validator in self.validators: - v = validator.verifItem(valeur) + v = validator.verif_item(valeur) if not v: # L'info n'est probablement pas la meme que pour verif ??? self.local_info = validator.info() return 0 return 1 - def verifCata(self): + def verif_cata(self): infos = [] for validator in self.validators: - v = validator.verifCata() + v = validator.verif_cata() if not v: infos.append(validator.cata_info) if infos: @@ -1090,7 +1093,7 @@ class AndVal(Valid): self.cata_info = "" return 1 - def valideListePartielle(self, liste_courante=None): + def valide_liste_partielle(self, liste_courante=None): """ Méthode de validation de liste partielle pour le validateur And. Tous les validateurs gérés par le validateur And doivent considérer @@ -1098,12 +1101,12 @@ class AndVal(Valid): comme valide. """ for validator in self.validators: - v = validator.valideListePartielle(liste_courante) + v = validator.valide_liste_partielle(liste_courante) if not v: return 0 return 1 - def isList(self): + def is_list(self): """ Si plusieurs validateurs sont reliés par un ET il faut que tous les validateurs attendent une liste @@ -1112,12 +1115,12 @@ class AndVal(Valid): Range(2,5) ET Pair attend une liste """ for validator in self.validators: - v = validator.isList() + v = validator.is_list() if v == 0: return 0 return 1 - def hasInto(self): + def has_into(self): """ Dans le cas ou plusieurs validateurs sont reliés par un ET il suffit qu'un seul validateur propose un choix pour @@ -1126,12 +1129,12 @@ class AndVal(Valid): En revanche, entier pair ET superieur à 10 ne propose pas de choix """ for validator in self.validators: - v = validator.hasInto() + v = validator.has_into() if v: return 1 return 0 - def getInto(self, liste_courante=None, into_courant=None): + def get_into(self, liste_courante=None, into_courant=None): """ Dans le cas ou plusieurs validateurs sont reliés par un ET il suffit qu'un seul validateur propose un choix pour @@ -1142,7 +1145,7 @@ class AndVal(Valid): En revanche, Enum(1,2,3) ET Enum(4,5,6) ne propose pas de choix. """ for validator in self.validators: - into_courant = validator.getInto(liste_courante, into_courant) + into_courant = validator.get_into(liste_courante, into_courant) if into_courant in ([], None): break return into_courant @@ -1198,19 +1201,19 @@ class RangeVal(ListVal): def info(self): return (tr("valeur dans l'intervalle %s , %s") %( self.low, self.high)) - def convertItem(self, valeur): + def convert_item(self, valeur): if valeur > self.low and valeur < self.high: return valeur raise ValError(tr("%s devrait etre comprise entre %s et %s") % (valeur, self.low, self.high)) - def verifItem(self, valeur): + def verif_item(self, valeur): return valeur > self.low and valeur < self.high - def infoErreurItem(self): + def info_erreur_item(self): return (tr("la valeur %s doit etre comprise entre %s et %s") % (valeur, self.low, self.high)) - def verifCata(self): + def verif_cata(self): if self.low > self.high: return 0 return 1 @@ -1234,13 +1237,13 @@ class CardVal(Valid): def info(self): return (tr("longueur de liste comprise entre %s et %s") %(self.min, self.max)) - def infoErreurListe(self): + def info_erreur_liste(self): return (tr("Le cardinal de la liste doit etre compris entre %s et %s") % (self.min, self.max)) - def isList(self): + def is_list(self): return self.max == '**' or self.max > 1 - def getInto(self, liste_courante=None, into_courant=None): + def get_into(self, liste_courante=None, into_courant=None): if into_courant is None: return None elif liste_courante is None: @@ -1253,7 +1256,7 @@ class CardVal(Valid): return [] def convert(self, valeur): - if isSequence(valeur): + if is_sequence(valeur): l = len(valeur) elif valeur is None: l = 0 @@ -1267,11 +1270,11 @@ class CardVal(Valid): tr("%s devrait etre de longueur superieure a %s") % (valeur, self.min)) return valeur - def verifItem(self, valeur): + def verif_item(self, valeur): return 1 def verif(self, valeur): - if isSequence(valeur): + if is_sequence(valeur): if self.max != '**' and len(valeur) > self.max: return 0 if self.min != '**' and len(valeur) < self.min: @@ -1284,12 +1287,12 @@ class CardVal(Valid): return 0 return 1 - def verifCata(self): + def verif_cata(self): if self.min != '**' and self.max != '**' and self.min > self.max: return 0 return 1 - def valideListePartielle(self, liste_courante=None): + def valide_liste_partielle(self, liste_courante=None): validite = 1 if liste_courante != None: if len(liste_courante) > self.max: @@ -1313,7 +1316,7 @@ class PairVal(ListVal): def info(self): return _(u"valeur paire") - def infoErreurItem(self): + def info_erreur_item(self): return tr("La valeur saisie doit etre paire") def convert(self, valeur): @@ -1327,13 +1330,13 @@ class PairVal(ListVal): def default(self, valeur): return valeur - def verifItem(self, valeur): + def verif_item(self, valeur): if type(valeur) not in six.integer_types: return 0 return valeur % 2 == 0 def verif(self, valeur): - if isSequence(valeur): + if is_sequence(valeur): for val in valeur: if val % 2 != 0: return 0 @@ -1353,7 +1356,7 @@ class EnumVal(ListVal): """ def __init__(self, into=()): - if not isSequence(into): + if not is_sequence(into): into = (into,) self.into = into self.cata_info = "" @@ -1361,21 +1364,21 @@ class EnumVal(ListVal): def info(self): return ("valeur dans %s" % self.into) - def convertItem(self, valeur): + def convert_item(self, valeur): if valeur in self.into: return valeur raise ValError( tr("%s contient des valeurs hors des choix possibles: %s ") % (valeur, self.into)) - def verifItem(self, valeur): + def verif_item(self, valeur): if valeur not in self.into: return 0 return 1 - def hasInto(self): + def has_into(self): return 1 - def getInto(self, liste_courante=None, into_courant=None): + def get_into(self, liste_courante=None, into_courant=None): if into_courant is None: liste_choix = list(self.into) else: @@ -1385,7 +1388,7 @@ class EnumVal(ListVal): liste_choix.append(e) return liste_choix - def infoErreurItem(self): + def info_erreur_item(self): return tr("La valeur n'est pas dans la liste des choix possibles") @@ -1395,7 +1398,7 @@ def ImpairVal(valeur): Cette fonction est un validateur. Elle verifie que la valeur passee est bien un nombre impair. """ - if isSequence(valeur): + if is_sequence(valeur): for val in valeur: if val % 2 != 1: return 0 @@ -1425,7 +1428,7 @@ class F1Val(Valid): return (tr("valeur %s pour la somme des cles A et B ") % self.somme) def verif(self, valeur): - if isSequence(valeur): + if is_sequence(valeur): for val in valeur: if not "A" in val: return 0 @@ -1457,13 +1460,13 @@ class FunctionVal(Valid): def info(self): return self.function.info - def infoErreurItem(self): + def info_erreur_item(self): return self.function.info def verif(self, valeur): return self.function(valeur) - def verifItem(self, valeur): + def verif_item(self, valeur): return self.function(valeur) def convert(self, valeur): @@ -1510,10 +1513,10 @@ class TypeVal(ListVal): return value raise ValError - def convertItem(self, valeur): + def convert_item(self, valeur): return self.coerce(valeur) - def verifItem(self, valeur): + def verif_item(self, valeur): try: self.coerce(valeur) except: @@ -1533,8 +1536,7 @@ class InstanceVal(ListVal): def __init__(self, aClass): # Si aClass est une classe on la memorise dans self.aClass # sinon c'est une instance dont on memorise la classe - #if type(aClass) == types.InstanceType: - if type(aClass) == object : + if type(aClass) == types.InstanceType: # instance ancienne mode aClass = aClass.__class__ elif type(aClass) == type: @@ -1554,7 +1556,7 @@ class InstanceVal(ListVal): def info(self): return (tr("valeur d'instance de %s") % self.aClass.__name__) - def verifItem(self, valeur): + def verif_item(self, valeur): if not isinstance(valeur, self.aClass): return 0 return 1 @@ -1568,18 +1570,18 @@ class VerifTypeTuple(ListVal): self.cata_info = "" def info(self): - return tr(": verifie les \ntypes dans un tuple") + return tr(": verifie les types dans un tuple") - def infoErreurListe(self): + def info_erreur_liste(self): return tr("Les types entres ne sont pas permis") def default(self, valeur): return valeur - def isList(self): + def is_list(self): return 1 - def convertItem(self, valeur): + def convert_item(self, valeur): if len(valeur) != len(self.typeDesTuples): raise ValError( tr("%s devrait etre de type %s ") %( valeur, self.typeDesTuples)) @@ -1590,7 +1592,7 @@ class VerifTypeTuple(ListVal): tr("%s devrait etre de type %s ") % (valeur, self.typeDesTuples)) return valeur - def verifItem(self, valeur): + def verif_item(self, valeur): try: if len(valeur) != len(self.typeDesTuples): return 0 @@ -1610,10 +1612,10 @@ class VerifTypeTuple(ListVal): if type(valeur) in (int, int): return 1 elif type_permis == 'C': - if self.isComplexe(valeur): + if self.is_complexe(valeur): return 1 elif type_permis == 'TXM': - if type(valeur) == bytes or type(valeur) == str: + if type(valeur) == bytes: return 1 elif isinstance(valeur, type_permis): return 1 @@ -1623,7 +1625,7 @@ class VerifTypeTuple(ListVal): if type(valeur) in (list, tuple): liste = list(valeur) for val in liste: - if self.verifItem(val) != 1: + if self.verif_item(val) != 1: return 0 return 1 @@ -1648,19 +1650,19 @@ class VerifExiste(ListVal): self.niveauVerif = niveauVerif self.MCSimp = None self.listeDesFreres = () - self.fonctions = ('verifieListe', 'set_MCSimp') + self.fonctions = ('verifie_liste', 'set_MCSimp') - def isList(self): + def is_list(self): return 1 - def verifieListe(self, liste): + def verifie_liste(self, liste): self.set_MCSimp(self.MCSimp) for item in liste: if not(item in self.listeDesFreres): return 0 return 1 - def verifItem(self, valeur): + def verif_item(self, valeur): self.set_MCSimp(self.MCSimp) if valeur in self.listeDesFreres: return 1 @@ -1676,9 +1678,9 @@ class VerifExiste(ListVal): k = k - 1 # on met la liste à jour parent.forceRecalcul = self.niveauVerif - self.listeDesFreres = parent.listeMcPresents() + self.listeDesFreres = parent.liste_mc_presents() - def convertItem(self, valeur): + def convert_item(self, valeur): if valeur in self.listeDesFreres: return valeur raise ValError( @@ -1700,16 +1702,16 @@ class RegExpVal(ListVal): def info(self): return tr('Une chaîne correspondant au motif ') + str(self.pattern) + tr(" est attendue") - def infoErreurItem(self): + def info_erreur_item(self): return tr('Une chaîne correspondant au motif ') + str(self.pattern) + tr(" est attendue") - def verifItem(self, valeur): + def verif_item(self, valeur): if self.compiled_regexp.match(valeur): return 1 else: return (0, self.errormsg % {"value": valeur, "pattern": self.pattern}) - def convertItem(self, valeur): + def convert_item(self, valeur): if self.compiled_regexp.match(valeur): return valeur else: @@ -1734,7 +1736,7 @@ class FileExtVal(RegExpVal): def info(self): return ('Un nom de fichier se terminant par ".%s" est attendu.' % self.ext) - def infoErreurItem(self): + def info_erreur_item(self): return ('Un nom de fichier se terminant par ".%s" est attendu.' % self.ext) class CreeMotClef(object): @@ -1750,30 +1752,30 @@ class CreeMotClef(object): if hasattr(parent, 'inhibeValidator') and parent.inhibeValidator: return lval - if parent.getChild(self.MotClef) == None : longueur=0 - else : longueur=len(parent.getChild(self.MotClef)) + if parent.get_child(self.MotClef) == None : longueur=0 + else : longueur=len(parent.get_child(self.MotClef)) - pos=parent.getIndexChild(self.MCSimp.nom)+1 + pos=parent.get_index_child(self.MCSimp.nom)+1 while longueur < valeur : parent.inhibeValidator=1 - parent.addEntite(self.MotClef,pos) + parent.addentite(self.MotClef,pos) pos=pos+1 parent.inhibeValidator=0 - longueur=len(parent.getChild(self.MotClef)) + longueur=len(parent.get_child(self.MotClef)) if longueur > valeur : parent.inhibeValide=1 - parentObj=parent.getChild(self.MotClef) - obj=parent.getChild(self.MotClef)[-1] - parentObj.suppEntite(obj) - longueur=len(parent.getChild(self.MotClef)) + parentObj=parent.get_child(self.MotClef) + obj=parent.get_child(self.MotClef)[-1] + parentObj.suppentite(obj) + longueur=len(parent.get_child(self.MotClef)) parent.inhibeValide=0 return lval def info(self): return "Cree le bon nombre de Mot %s" % self.MotClef - def verifItem(self, valeur): + def verif_item(self, valeur): return 1 def set_MCSimp(self, MCSimp): diff --git a/Noyau/N__F.py b/Noyau/N__F.py index 95527da7..85819b9d 100644 --- a/Noyau/N__F.py +++ b/Noyau/N__F.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/Noyau/N_types.py b/Noyau/N_types.py index fdc0af77..db686f81 100644 --- a/Noyau/N_types.py +++ b/Noyau/N_types.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -34,74 +34,74 @@ except ImportError: # inherit from python scalars but are numpy.float64 or numpy.int32... -def isInt(obj): +def is_int(obj): return isinstance(obj, int) or type(obj) is int -def isFloat(obj): +def is_float(obj): return isinstance(obj, float) -def isComplex(obj): +def is_complex(obj): return isinstance(obj, complex) from decimal import Decimal -def isFloat_or_int(obj): - return isFloat(obj) or isInt(obj) or isinstance(obj, Decimal) +def is_float_or_int(obj): + return is_float(obj) or is_int(obj) or isinstance(obj, Decimal) -def isNumber(obj): - return isFloat_or_int(obj) or isComplex(obj) +def is_number(obj): + return is_float_or_int(obj) or is_complex(obj) -def isStr(obj): +def is_str(obj): return isinstance(obj, (str, six.text_type)) -def isList(obj): +def is_list(obj): return type(obj) is list -def isTuple(obj): +def is_tuple(obj): return type(obj) is tuple -def isArray(obj): +def is_array(obj): """a numpy array ?""" return type(obj) is _np_arr -def isSequence(obj): +def is_sequence(obj): """a sequence (allow iteration, not a string) ?""" - return isList(obj) or isTuple(obj) or isArray(obj) + return is_list(obj) or is_tuple(obj) or is_array(obj) -def isASSD(obj): +def is_assd(obj): from .N_ASSD import ASSD return isinstance(obj, ASSD) -def forceList(obj): +def force_list(obj): """Retourne `obj` si c'est une liste ou un tuple, sinon retourne [obj,] (en tant que list). """ - if not isSequence(obj): + if not is_sequence(obj): obj = [obj, ] return list(obj) -def forceTuple(obj): +def force_tuple(obj): """Return `obj` as a tuple.""" - return tuple(forceList(obj)) + return tuple(force_list(obj)) # backward compatibility from warnings import warn -def isEnum(obj): - """same as isSequence""" - warn("'isEnum' is deprecated, use 'isSequence'", +def is_enum(obj): + """same as is_sequence""" + warn("'is_enum' is deprecated, use 'is_sequence'", DeprecationWarning, stacklevel=2) - return isSequence(obj) + return is_sequence(obj) diff --git a/Noyau/N_utils.py b/Noyau/N_utils.py index a0415268..e53a8851 100644 --- a/Noyau/N_utils.py +++ b/Noyau/N_utils.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -35,8 +35,8 @@ import sys # Modules EFICAS from .N_Exception import AsException -from .N_types import isInt, isFloat, isComplex, isStr, isSequence, isASSD -from .strfunc import getEncoding +from .N_types import is_int, is_float, is_complex, is_str, is_sequence, is_assd +from .strfunc import get_encoding import six SEP = '_' @@ -46,7 +46,7 @@ try : except : print ('pb avec la version de python pour cur_frame = sys._getframe') -def calleeWhere(niveau=4): +def callee_where(niveau=4): """ recupere la position de l appel """ @@ -57,8 +57,8 @@ def calleeWhere(niveau=4): # Python 2.7 compile function does not accept unicode filename, so we encode it # with the current locale encoding in order to have a correct traceback. # Here, we convert it back to unicode. - filename = six.text_type(frame.f_code.co_filename, getEncoding()) - return frame.fLineNo, filename, frame.f_code.co_firstlineno, frame.f_locals + filename = six.text_type(frame.f_code.co_filename, get_encoding()) + return frame.f_lineno, filename, frame.f_code.co_firstlineno, frame.f_locals except: return 0, "inconnu", 0, {} @@ -68,15 +68,15 @@ def AsType(a): Retourne le type d'un concept (a) à partir des caractéristiques de l'objet Python """ - if isSequence(a): + if is_sequence(a): return AsType(a[0]) - if isASSD(a): + if is_assd(a): return type(a) - if isFloat(a): + if is_float(a): return "R" - if isInt(a): + if is_int(a): return "I" - if isStr(a): + if is_str(a): return "TXM" if a == None: return None @@ -158,7 +158,7 @@ def repr_float(valeur): return s -def importObject(uri): +def import_object(uri): """Load and return a python object (class, function...). Its `uri` looks like "mainpkg.subpkg.module.object", this means that "mainpkg.subpkg.module" is imported and "object" is @@ -215,8 +215,8 @@ class Enum(object): def exists(self, value): """Tell if value is in the enumeration""" - return self.getId(value) is not None + return self.get_id(value) is not None - def getId(self, value): + def get_id(self, value): """Return the key associated to the given value""" return self._dict_keys.get(value, None) diff --git a/Noyau/__init__.py b/Noyau/__init__.py index f2ab7062..455a3211 100644 --- a/Noyau/__init__.py +++ b/Noyau/__init__.py @@ -1,6 +1,6 @@ # coding=utf-8 # ====================================================================== -# COPYRIGHT (C) 1991 - 2017 EDF R&D WWW.CODE-ASTER.ORG +# COPYRIGHT (C) 1991 - 2015 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR @@ -29,7 +29,7 @@ """ # Avant toutes choses, on met le module context dans le global de l'interpreteur (__builtin__) # sous le nom CONTEXT afin d'avoir acces aux fonctions -# getCurrentStep, setCurrentStep et unsetCurrentStep de n'importe ou +# get_current_step, set_current_step et unset_current_step de n'importe ou from __future__ import absolute_import from . import context diff --git a/Noyau/context.py b/Noyau/context.py index 4e0833e0..8ad129bd 100644 --- a/Noyau/context.py +++ b/Noyau/context.py @@ -1,6 +1,7 @@ # coding=utf-8 +# person_in_charge: mathieu.courtois at edf.fr # ====================================================================== -# COPYRIGHT (C) 1991 - 2017 EDF R&D WWW.CODE-ASTER.ORG +# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR @@ -30,7 +31,7 @@ debug = 0 # (Build ne fait rien pour une etape) -def setCurrentStep(step): +def set_current_step(step): """ Fonction qui permet de changer la valeur de l'etape courante """ @@ -40,14 +41,14 @@ def setCurrentStep(step): _root = step -def getCurrentStep(): +def get_current_step(): """ Fonction qui permet d'obtenir la valeur de l'etape courante """ return _root -def unsetCurrentStep(): +def unset_current_step(): """ Fonction qui permet de remettre a None l'etape courante """ @@ -55,7 +56,7 @@ def unsetCurrentStep(): _root = None -def setCurrentCata(cata): +def set_current_cata(cata): """ Fonction qui permet de changer l'objet catalogue courant """ @@ -65,14 +66,14 @@ def setCurrentCata(cata): _cata = cata -def getCurrentCata(): +def get_current_cata(): """ Fonction qui retourne l'objet catalogue courant """ return _cata -def unsetCurrentCata(): +def unset_current_cata(): """ Fonction qui permet de remettre a None le catalogue courant """ diff --git a/Noyau/nommage.py b/Noyau/nommage.py index 72b4ceed..d402efeb 100644 --- a/Noyau/nommage.py +++ b/Noyau/nommage.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -20,7 +20,7 @@ """ Ce module sert à nommer les concepts produits par les commandes. - Le nom du concept est obtenu en appelant la fonction getNomConceptResultat + Le nom du concept est obtenu en appelant la fonction GetNomConceptResultat du module avec le nom de la commande en argument. Cette fonction parcourt le source dans lequel la commande se trouve, parse le @@ -46,7 +46,7 @@ from functools import partial # Modules EFICAS from . import N_utils -from .strfunc import getEncoding +from .strfunc import get_encoding import six from six.moves import range @@ -56,7 +56,7 @@ regex1 = '=?\s*%s\s*\(' pattern_comment = re.compile(r"^\s*#.*") -def _getNomConceptResultat(ope, level=2): +def _GetNomConceptResultat(ope, level=2): """ Cette fonction recherche dans la pile des appels, l'appel à la commande qui doit etre situé à 2 niveaux au-dessus (cur_frame(2)). @@ -77,7 +77,7 @@ def _getNomConceptResultat(ope, level=2): lineno = f.f_lineno # XXX Too bad if -O is used # lineno = f_lineno(f) # Ne marche pas toujours co = f.f_code - filename = six.text_type(co.co_filename, getEncoding()) + filename = six.text_type(co.co_filename, get_encoding()) name = co.co_name # pattern pour identifier le debut de la commande pattern_oper = re.compile(regex1 % ope) @@ -166,14 +166,14 @@ class NamingSystem(N_utils.Singleton): def __init__(self): """Initialisation""" - self.native = _getNomConceptResultat - self.useGlobalNaming() + self.native = _GetNomConceptResultat + self.use_global_naming() - def useNamingFunction(self, function): + def use_naming_function(self, function): """Utilise une fonction particulière de nommage.""" self.naming_func = function - def useGlobalNaming(self): + def use_global_naming(self): """Utilise la fonction native de nommage.""" self.naming_func = partial(self.native, level=3) @@ -181,4 +181,4 @@ class NamingSystem(N_utils.Singleton): """Appel à la fonction de nommage.""" return self.naming_func(*args) -getNomConceptResultat = NamingSystem() +GetNomConceptResultat = NamingSystem() diff --git a/Noyau/old/N_ASSD_NonAster.py b/Noyau/old/N_ASSD_NonAster.py new file mode 100644 index 00000000..8991c724 --- /dev/null +++ b/Noyau/old/N_ASSD_NonAster.py @@ -0,0 +1,136 @@ +# -*- coding: iso-8859-1 -*- +# Copyright (C) 2007-2013 EDF R&D +# +# 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. +# +# 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 + +""" + +""" + +class ASSD(object): + """ + Classe de base pour definir des types de structures de donnees ASTER + equivalent d un concept ASTER + """ + idracine="SD" + + def __init__(self,etape=None,sd=None,reg='oui'): + """ + reg est un paramètre qui vaut oui ou non : + - si oui (défaut) : on enregistre la SD auprès du JDC + - si non : on ne l'enregistre pas + """ + self.etape=etape + self.sd=sd + self.nom=None + if etape: + self.parent=etape.parent + else: + self.parent=CONTEXT.get_current_step() + if self.parent : + self.jdc = self.parent.get_jdc_root() + else: + self.jdc = None + + if not self.parent: + self.id=None + elif reg == 'oui' : + self.id = self.parent.reg_sd(self) + else : + self.id = self.parent.o_register(self) + # permet de savoir si le concept a été calculé (1) ou non (0) + self.executed = 0 + # initialise la partie "sd" + super(ASSD, self).__init__(nomj='?&?&?&?&') + + def __getitem__(self,key): + return self.etape[key] + + def set_name(self, nom): + """Positionne le nom de self (et appelle sd_init) + """ + self.nom = nom + # test car FORMULE n'a pas de SD associée + meth = getattr(super(ASSD, self), 'set_name', None) + if meth: + meth(nom) + + def reparent_sd(self): + """Repositionne le parent des attributs de la SD associée. + """ + # test car FORMULE n'a pas de SD associée + meth = getattr(super(ASSD, self), 'reparent', None) + if meth: + meth(None, None) + + def get_name(self): + """ + Retourne le nom de self, éventuellement en le demandant au JDC + """ + if not self.nom : + try: + self.nom=self.parent.get_name(self) or self.id + except: + self.nom="" + if self.nom.find('sansnom') != -1 or self.nom == '': + self.nom = self.id + return self.nom + + def supprime(self): + """ + Cassage des boucles de références pour destruction du JDC + """ + self.etape = None + self.sd = None + self.jdc = None + self.parent = None + + def accept(self,visitor): + """ + Cette methode permet de parcourir l'arborescence des objets + en utilisant le pattern VISITEUR + """ + visitor.visitASSD(self) + + def __getstate__(self): + """ + Cette methode permet de pickler les objets ASSD + Ceci est possible car on coupe les liens avec les objets + parent, etape et jdc qui conduiraient à pickler de nombreux + objets inutiles ou non picklables. + """ + d=self.__dict__.copy() + for key in ('parent','etape','jdc'): + if d.has_key(key):del d[key] + for key in d.keys(): + if key[0]=='_':del d[key] + return d + + def par_lot(self): + """ + Retourne True si l'ASSD est créée en mode PAR_LOT='OUI'. + """ + if not hasattr(self, 'jdc') or self.jdc == None: + val = None + else: + val = self.jdc.par_lot + return val == 'OUI' + +class assd(ASSD): + def __convert__(cls,valeur): + return valeur + __convert__=classmethod(__convert__) diff --git a/Noyau/oldAster/N_info.py b/Noyau/oldAster/N_info.py new file mode 100644 index 00000000..ef43b22d --- /dev/null +++ b/Noyau/oldAster/N_info.py @@ -0,0 +1,287 @@ +# coding=utf-8 +# Copyright (C) 2007-2013 EDF R&D +# +# 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. +# +# 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 + + +"""Module to manage information printing : debug, info, error. +Should replace 'print' and 'UTMESS' calls at least in the supervisor +modules. +Only used for debug right now. +""" + +from __future__ import absolute_import +from __future__ import print_function +from __future__ import division +try : + from builtins import object +except : + pass +import os +import os.path as osp +import re +import traceback +from functools import partial +from subprocess import Popen, PIPE + +from .N_utils import Enum, Singleton + + +def default_print(text): + """Basic print function.""" + print (text) + +LEVEL = Enum( + 'DEBUG', + 'INFO', + 'WARN', + 'ERROR' +) + + +class Category(object): + + """Define a category of message for different parts of the code. + This allows to store different parameters for each category of message.""" + + def __init__(self): + self._level = LEVEL.INFO + self._fmt = "%-8s" + self._header = { + LEVEL.DEBUG: "DEBUG", + LEVEL.INFO: None, + LEVEL.WARN: "WARNING", + LEVEL.ERROR: "ERROR", + } + + def set_level(self, level): + """Set the current level.""" + self._level = level + + def get_level(self): + """Return the current level.""" + return self._level + + def set_header(self, level, header): + """Set the header of ``level`` messages.""" + self._header[level] = header + + def get_header(self, level): + """Return the header at this ``level``.""" + header = self._header.get(level, "") + if header: + header = self._fmt % header + return header + + def active(self, level): + """Tell if a message should be print at this ``level``.""" + return self._level <= level + + +ALL = Category() +SUPERV = Category() +SUPERV.set_header(LEVEL.ERROR, None) +MISS = Category() + +REGEXP_ORIG = re.compile('File [\'\"]*(.*?)[\'\"]*, *line ([0-9]+), *in (.*)') + +# slighty different and very simplier than logger objects +# from the logging module. + + +class InfoLevel(Singleton): + + """Store informations level.""" + _singleton_id = 'N_info.InfoLevel' + + def __init__(self, level): + """Initialization""" + self._parts = [] + for part in self._parts: + part.level = level + self.reset_print_function() + self._msg_callback = [] + # self.extend_message(ALL, stack_header_callback) + self.extend_message(ALL, insert_header) + + def add(self, category): + """Add a category of message.""" + self._parts.append(category) + + def set_level(self, category, level): + """Set the current level for ``category``.""" + assert category in self._parts, "unknown category : %s" % category + assert LEVEL.exists(level), "unknown level : %s" % level + category.set_level(level) + if category == ALL: + for part in self._parts: + part.set_level(level) + + def set_debug(self): + """Set debug level for all categories.""" + self.set_level(ALL, LEVEL.DEBUG) + + def set_header(self, category, level, header): + """Set the header of ``level`` messages.""" + category.set_header(level, header) + + def register_print_function(self, print_function): + """Define the `print_function` to use.""" + self._print = print_function + + def reset_print_function(self): + """Register the default 'print function'.""" + self._print = default_print + + def extend_message(self, category, callback): + """Allow to extend the message calling an external function.""" + self._msg_callback.append((category, callback)) + + def _message(self, category, level, msg, args, kwargs): + """Print the message if the level is reached.""" + if category.active(level): + if kwargs.get('utmess'): + func = self._message_utmess + else: + func = self._message_print + func = self._message_print + func(*(category, level, msg, args, kwargs)) + + def _message_print(self, category, level, msg, args, kwargs): + """Print the message if the level is reached.""" + for cat, cbk in self._msg_callback: + if cat in (ALL, category): + msg, args = cbk(category, level, msg, args, kwargs) + if len(args) > 0: + try: + msg = msg % args + except Exception as err: + msg = repr((msg, args, err)) + self._print(msg) + + def _message_utmess(self, category, level, msg, args, kwargs): + """Print the message if the level is reached.""" + # how to use callbacks ? valk ? + from Utilitai.Utmess import MessageLog + code = { + LEVEL.DEBUG: 'I', + LEVEL.INFO: 'I', + LEVEL.WARN: 'A', + LEVEL.ERROR: 'F', + } + valk = kwargs.get('valk', ()) + vali = kwargs.get('vali', ()) + valr = kwargs.get('valr', ()) + msg = MessageLog.GetText(code[level], msg, valk, vali, valr) + for cat, cbk in self._msg_callback: + if cat in (ALL, category): + msg, args = cbk(category, level, msg, args, kwargs) + self._print(msg) + + def debug(self, category, msg, *args, **kwargs): + """Print a debug message.""" + self._message(category or ALL, LEVEL.DEBUG, msg, args, kwargs) + + def info(self, category, msg, *args, **kwargs): + """Print an information message.""" + self._message(category or ALL, LEVEL.INFO, msg, args, kwargs) + + def warn(self, category, msg, *args, **kwargs): + """Print a warning message.""" + self._message(category or ALL, LEVEL.WARN, msg, args, kwargs) + + def error(self, category, msg, *args, **kwargs): + """Print an error message.""" + self._message(category or ALL, LEVEL.ERROR, msg, args, kwargs) + + critical = error + + def add_memory_info(self, category): + """Shortcut to add memory informations.""" + self.extend_message(category, mem_msg_callback) + + def use_aster_print(self): + """Shortcut to use aster.affiche function to print the messages.""" + import aster + self.register_print_function(partial(aster.affiche, 'MESSAGE')) + + +# defined extensions +def insert_header(category, level, msg, args, kwargs): + """Insert the header.""" + header = category.get_header(level) + if header: + msg = header + msg + return msg, args + + +def stack_header_callback(category, level, msg, args, kwargs): + """To insert the origin.""" + if level <= LEVEL.DEBUG: + stack_id = -5 + kwargs.get('stack_id', 0) + stack = traceback.format_stack(limit=10)[stack_id] + mat = REGEXP_ORIG.search(stack) + origin = '[%s:%s in %s] ' % ( + osp.basename(mat.group(1)), mat.group(2), mat.group(3)) + msg = origin + msg + return msg, args + + +# objet singleton +message = InfoLevel(LEVEL.INFO) +message.add(ALL) +message.add(SUPERV) +message.add(MISS) + +# callback to add memory information +_pid = os.getpid() + +RE_VMPEAK = re.compile('VmPeak:\s*([0-9]+)\s*([kMGBo]+)', re.M | re.I) + + +def memory_used(pid): + """Return the current VmPeak value.""" + p = Popen(['cat', '/proc/%s/status' % pid], stdout=PIPE) + output = p.communicate()[0] + mat = RE_VMPEAK.search(output) + mem = mat and int(mat.group(1)) or 0. + return old_div(mem, 1024.) + +current_memory_used = partial(memory_used, _pid) + + +def mem_msg_callback(category, level, msg, args, kwargs): + """Callback to add memory infos to message.""" + if level <= LEVEL.DEBUG: + msg = msg + " - VmPeak : %.2f Mo" + args = tuple(list(args) + [current_memory_used(), ]) + return msg, args + + +if __name__ == "__main__": + message.set_level(SUPERV, LEVEL.WARN) + message.set_level(MISS, LEVEL.DEBUG) + # message.debug(None, "debug message") + message.info(ALL, "information message") + message.warn(None, "warning message") + message.error(ALL, "error message") + message.add_memory_info() + # message.debug(MISS, "debug supervisor message") + message.info(SUPERV, "information supervisor message") + message.warn(SUPERV, "warning supervisor message") + message.error(SUPERV, "error supervisor message") + message.critical(MISS, "test the critical alias") diff --git a/Noyau/oldAster/ascheckers.py b/Noyau/oldAster/ascheckers.py new file mode 100644 index 00000000..75b92f85 --- /dev/null +++ b/Noyau/oldAster/ascheckers.py @@ -0,0 +1,143 @@ +# coding=utf-8 +# Copyright (C) 2007-2013 EDF R&D +# +# 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. +# +# 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 +class Parmi(object): + + """Classe qui exprime une contrainte multiple pour un attribut""" + + def __init__(self, *args): + self.values = list(args) + + def add_value(self, value): + if value not in self.values: + self.values.append(value) + + def __call__(self, obj, name, value, log): + if value not in self.values: + log.err(obj, "l'attribut %s=%r n'est pas dans %r" % + (name, value, self.values)) + + def __repr__(self): + l = ["Parmi(", ] + g = [repr(v) for v in self.values] + l.append(", ".join(g)) + l.append(")") + return "".join(l) + + +class CheckLog(object): + + """Un validateur qui enregistre toutes les erreurs trouvees. + checkedXXX repond True si la "marq" courante est inferieure ou egale + a la celle de la derniere verification. + Si on incrementait "marq" a chaque etape, on reverifie a chaque fois. + """ + + def __init__(self): + self.msg = [] + self.names = {} + self.cksums = {} + self.optional = False + self._marq = 1 + self._lastmarq = self._marq + self._debug = False + self._profond = False # True pour forcer des verifications plus profondes + + def log(self, level, obj, msg): + if obj: + self.msg.append((level, obj.nomj(), msg)) + else: + self.msg.append((level, 'None', msg)) + + def err(self, obj, msg): + self.log(0, obj, msg) + + def warn(self, obj, msg): + self.log(1, obj, msg) + + def visitOJB(self, obj): + key = obj.nomj() + self.names[key] = self._marq + + def checkSumOJB(self, obj, sd, maj='non'): + # verifie que le checksum de obj n'a pas change + # sd : concept qui contient obj + # maj='maj', l'operateur a le droit de modifier ojb + if obj.exists: + import md5 + m = md5.new() + m.update(str(obj.get())) + cksum = m.digest() + nom = obj.nomj() + if not nom in self.cksums : + self.cksums[nom] = cksum + else: + if self.cksums[nom] != cksum: + self.cksums[nom] = cksum + # if maj.strip()=='maj' and nom[0:8].strip()==sd.nomj.nomj[0:8].strip() : + # Remarque : ne pas tester 'maj' premet de resoudre (un peu) le probleme + # pose par la commande DETRUIRE + if nom[0:8].strip() == sd.nomj.nomj[0:8].strip(): + pass + else: + self.err(obj, 'Le checksum a change') + + def visitAsBase(self, obj): + key = (obj.nomj(), obj.__class__.__name__) + self.names[key] = self._marq + + def force(self, force=False): + if not force: + self._marq = 1 + else: + self._lastmarq += 1 + self._marq = self._lastmarq + + def checkedOJB(self, obj): + key = obj.nomj() + res = self.names.get(key, 0) >= self._marq + self.help_dbg([key, ], res) + return res + + def checkedAsBase(self, obj): + key = (obj.nomj(), obj.__class__.__name__) + res = self.names.get(key, 0) >= self._marq + self.help_dbg(key, res) + return res + + def help_dbg(self, key, res): + if self._debug: + if res: + s = 'ignore' + else: + s = 'check ' + print ('#DBG %6d %s : %s' % (self._marq, s, ', '.join(key))) + + def __str__(self): + d = {0: "E", 1: "W"} + return "\n".join(["%s:%s: %s" % (d[l], n, m) + for l, n, m in self.msg]) + + +class CheckFail(CheckLog): + + """Un validateur qui leve une exception + des la premiere erreur""" + + def err(self, obj, msg): + raise AssertionError("%s: %s" % (obj.nomj(), msg)) diff --git a/Noyau/oldAster/asnom.py b/Noyau/oldAster/asnom.py new file mode 100644 index 00000000..a4d45be0 --- /dev/null +++ b/Noyau/oldAster/asnom.py @@ -0,0 +1,132 @@ +# coding=utf-8 +# Copyright (C) 2007-2013 EDF R&D +# +# 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. +# +# 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 +""" +Description des types de base aster + +version 2 - réécrite pour essayer de simplifier +le problème des instances/types et instances/instances + +le type de base ASBase permet de représenter une structure +de donnée. Une instance de ASBase comme attribut d'une classe +dérivée de ASBase représente une sous-structure nommée. + +une instance de ASBase 'libre' représente une instance de la +structure de donnée complète. + +c'est ce comportement qui est capturé dans la classe StructType +""" + +from __future__ import absolute_import +from .basetype import Type + + +class SDNom(Type): + + """Objet représentant une sous-partie de nom + d'objet jeveux""" + nomj = None + debut = None + fin = None + just = None + justtype = None + + def __init__(self, nomj=None, debut=None, fin=None, just='l', **kwargs): + """ + Configure un objet nom + nomj : la partie du nom fixée (par ex .TITR) ou '' si non précisée + debut, fin : la partie du K24 concernée + just : la justification a droite ou a gauche ('l' ou 'r') + kwargs : inutilisé, juste par simplicité + + Note: + On utilise cet objet comme attribut d'instance ou de classe. + En attribut de classe pour les noms de structure, cela permet + de définir la position du nom d'objet dans le nom jeveux, l'attribut + nom est alors la valeur du suffixe pour une sous-structure ou None pour + une structure principale. + """ + super(SDNom, self).__init__( + nomj=nomj, debut=debut, fin=fin, just=just, **kwargs) + self.update((nomj, debut, fin, just)) + + def __call__(self): + if self._parent is None or self._parent._parent is None: + debut = self.debut or 0 + prefix = ' ' * debut + else: + # normalement + # assert self._parent.nomj is self + nomparent = self._parent._parent.nomj + prefix = nomparent() + debut = self.debut or nomparent.fin or len(prefix) + fin = self.fin or 24 + nomj = self.nomj or '' + nomj = self.just(nomj, fin - debut) + prefix = prefix.ljust(24) + res = prefix[:debut] + nomj + prefix[fin:] + return res[:24] + + def fcata(self): + return self.just(self.nomj, self.fin - self.debut).replace(' ', '?') + + def __repr__(self): + return "" % (self.nomj, self.debut, self.fin) + + # On utilise pickle pour les copies, et pickle ne sait pas gérer la + # sauvegarde de str.ljust ou str.rjust (c'est une méthode non liée) + + def __getstate__(self): + return (self.nomj, self.debut, self.fin, self.justtype) + + def __setstate__(self, (nomj, debut, fin, just)): + self.nomj = nomj + self.debut = debut + self.fin = fin + if just == 'l' or just is None: + self.just = str.ljust + elif just == 'r': + self.just = str.rjust + else: + raise ValueError("Justification '%s' invalide" % just) + self.justtype = just + + def update(self, (nomj, debut, fin, just)): + if nomj is not None: + self.nomj = nomj + if self.debut is None: + self.debut = debut + if self.fin is None: + self.fin = fin + if self.justtype is None and just is not None: + if just == 'l': + self.just = str.ljust + elif just == 'r': + self.just = str.rjust + else: + raise ValueError("Justification '%s' invalide" % just) + self.justtype = just + + def reparent(self, parent, new_name): + self._parent = parent + self._name = new_name + for nam in self._subtypes: + obj = getattr(self, nam) + obj.reparent(self, nam) + if self.nomj is None and self._parent._name is not None: + self.nomj = "." + self._parent._name diff --git a/Noyau/oldAster/asojb.py b/Noyau/oldAster/asojb.py new file mode 100644 index 00000000..f07d1ecc --- /dev/null +++ b/Noyau/oldAster/asojb.py @@ -0,0 +1,398 @@ +# coding=utf-8 +# person_in_charge: mathieu.courtois at edf.fr +# ====================================================================== +# COPYRIGHT (C) 1991 - 2015 EDF R&D WWW.CODE-ASTER.ORG +# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY +# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY +# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR +# (AT YOUR OPTION) ANY LATER VERSION. +# +# THIS PROGRAM 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 +# GENERAL PUBLIC LICENSE FOR MORE DETAILS. +# +# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE +# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, +# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. +# ====================================================================== + +""" + Description des OJB jeveux +""" +from basetype import Type +from asnom import SDNom +from ascheckers import CheckLog +import traceback +import sys + +# pour utilisation dans eficas +try: + import aster + from Utilitai.Utmess import UTMESS +except: + pass + +# ----------------------------------------------------------------------------- + + +class AsBase(Type): + nomj = SDNom() + optional = False + + def __init__(self, nomj=None, *args, **kwargs): + super(AsBase, self).__init__(nomj, *args, **kwargs) + assert self.nomj is not self.__class__.nomj + if isinstance(nomj, str): + self.nomj.nomj = nomj + elif isinstance(nomj, SDNom): + self.nomj.update(nomj.__getstate__()) + + def set_name(self, nomj): + """Positionne le nomj de self + """ + assert isinstance(self.nomj.nomj, str), "uniquement pour les concepts" + self.nomj.nomj = nomj + + def check(self, checker=None): + if checker is None: + checker = CheckLog() + + # vérif déjà faite ? (en tenant compte du type) + if checker.checkedAsBase(self): + return checker + checker.visitAsBase(self) + + # vérifie les enfants : + optional = checker.optional + checker.optional = checker.optional or self.optional + for name in self._subtypes: + v = getattr(self, name) + if isinstance(v, (OJB, AsBase)): + v.check(checker) + for name in dir(self): + if name.startswith('check_'): + v = getattr(self, name) + if callable(v): + try: + v(checker) + except: + mess = 60 * '-' + '\n' + mess = mess + \ + 'Erreur SDVERI (Attention : vérification incomplète)' + \ + '\n' + mess = mess.join( + traceback.format_tb(sys.exc_traceback)) + checker.err(self, mess) + + checker.optional = optional + return checker + + def dump(self, indent=""): + import pydoc + l = [] + checkers = [] + nomj = self.nomj() + if self.optional: + f = "(f)" + else: + f = "(o)" + l.append(f + " " + nomj) + for name in self._subtypes: + obj = getattr(self, name) + if isinstance(obj, (AsBase, OJB)): + l.append(obj.dump(indent)) + for name in dir(self): + if name.startswith('check_'): + obj = getattr(self, name) + if callable(obj) and name.startswith("check_"): + checkers.append(obj) + + indent = " " * len(nomj) + for checker in checkers: + doc = pydoc.text.document(checker) + for line in doc.splitlines(): + l.append(indent + line) + return "\n".join(l) + + def short_repr(self): + return "<%s(%x,%r)>" % (self.__class__.__name__, id(self), self.nomj()) + + def long_repr(self): + if not hasattr(self, "accessible") or not self.accessible(): + # hors Aster ou en par_lot='oui' + return self.short_repr() + else: + from Cata.cata import IMPR_CO, _F + IMPR_CO(CONCEPT=_F(NOM=self.nom), UNITE=6) + return '' + + def __repr__(self): + # par défaut, on fait court ! + return self.short_repr() + + +# ----------------------------------------------------------------------------- +class JeveuxAttr(object): + + """Un attribut jeveux""" + + def __init__(self, name): + self.name = name + + def __get__(self, obj, klass): + raise NotImplementedError + + def check(self, attrname, obj, log): + checker = getattr(obj, "_" + attrname, None) + if checker is None: + return True + val = self.__get__(obj, obj.__class__) + if callable(checker): + return checker(obj, attrname, val, log) + elif val == checker: + return True + else: + log.err(obj, "Attribut incorrect %s %r!=%r" % + (self.name, val, checker)) + return False + +# ----------------------------------------------------------------------------- + + +class JeveuxExists(JeveuxAttr): + + def __init__(self): + pass + + def __get__(self, obj, klass): + if obj is None: + return self + nomj = obj.nomj() + if len(nomj) != 24: + raise AssertionError(repr(nomj)) + return aster.jeveux_exists(nomj.ljust(24)) + +# ----------------------------------------------------------------------------- + + +class JeveuxIntAttr(JeveuxAttr): + + def __get__(self, obj, klass): + if obj is None: + return self + nomj = obj.nomj() + if aster.jeveux_exists(nomj): + return aster.jeveux_getattr(nomj, self.name)[0] + else: + return None + +# ----------------------------------------------------------------------------- + + +class JeveuxStrAttr(JeveuxAttr): + + def __get__(self, obj, klass): + if obj is None: + return self + nomj = obj.nomj() + if aster.jeveux_exists(nomj): + return aster.jeveux_getattr(nomj, self.name)[1].strip() + else: + return None + +# ----------------------------------------------------------------------------- + + +class OJB(AsBase): + _clas = None + _genr = None + _type = None + _ltyp = None + _xous = None + _docu = None + _exists = True + + clas = JeveuxStrAttr("CLAS") + genr = JeveuxStrAttr("GENR") + type = JeveuxStrAttr("TYPE") + ltyp = JeveuxIntAttr("LTYP") + xous = JeveuxStrAttr("XOUS") + docu = JeveuxStrAttr("DOCU") + exists = JeveuxExists() + nomj = SDNom() + + def __init__(self, nomj=None, **attrs): + super(OJB, self).__init__(nomj, **attrs) + self.foreachattr(self.setattribute, attrs) + self.optional = attrs.get('optional', False) + + def setattribute(self, name, prop, attrs): + _name = "_" + name + if name in attrs: + setattr(self, _name, attrs[name]) + + def get(self): + nomj = self.nomj() + if aster.jeveux_exists(nomj): + obj_simple = aster.jeveux_getattr(nomj, 'XOUS')[1].strip() == 'S' + if obj_simple: + return aster.getvectjev(nomj) + else: + return aster.getcolljev(nomj) + else: + return None + + def changeJeveuxValues(self, nbval, indices, reel, imag, num = 1): + """Modify values of existing data structures""" + nomj = self.nomj() + if aster.jeveux_exists(nomj): + obj_simple = aster.jeveux_getattr(nomj, 'XOUS')[1].strip() == 'S' + if obj_simple: + assert num==1,"""For vectors last argument must be set to 1""" + # aster.putvectjev can be used for vectors (num=1) and collections + aster.putvectjev(nomj, nbval, indices, reel, imag, num) + + def get_stripped(self): + """Fonction utilitaire, renvoie une liste de chaines 'strippées'""" + data = self.get() + if data is not None: + return [x.strip() for x in data] + else: + return [] + + def foreachattr(self, callback, *args, **kwargs): + klass = self.__class__ + for k in dir(klass): + v = getattr(klass, k) + if isinstance(v, JeveuxAttr): + callback(k, v, *args, **kwargs) + + def check(self, checker=None): + if checker is None: + checker = CheckLog() + # l'objet a déjà été vérifié, on ne fait rien + if checker.checkedOJB(self): + return checker + checker.visitOJB(self) + if self.exists: + self.foreachattr(lambda k, v, obj, c: v.check(k, obj, c), + self, checker) + else: + if not self.optional and not checker.optional: + checker.err(self, "n'existe pas (%r)" % self._parent) + return checker + + def dump(self, indent=""): + if self.optional: + f = "(f)" + else: + f = "(o)" + return f + " " + self.nomj() + " " + str(self.exists) + +# ----------------------------------------------------------------------------- + + +def Facultatif(ojb): + ojb.optional = True + return ojb + +# ----------------------------------------------------------------------------- + + +class OJBVect(OJB): + lonmax = JeveuxIntAttr("LONMAX") + lonuti = JeveuxIntAttr("LONUTI") + _xous = "S" + _genr = "V" + +# ----------------------------------------------------------------------------- + + +class OJBPtnom(OJB): + nommax = JeveuxIntAttr("NOMMAX") + nomuti = JeveuxIntAttr("NOMUTI") + _xous = "S" + _genr = "N" + _type = "K" + +# ----------------------------------------------------------------------------- + + +class OJBCollec(OJB): + stockage = JeveuxStrAttr("STOCKAGE") + nutioc = JeveuxIntAttr("NUTIOC") + acces = JeveuxStrAttr("ACCES") + modelong = JeveuxStrAttr("MODELONG") + nmaxoc = JeveuxIntAttr("NMAXOC") + +# ----------------------------------------------------------------------------- + + +class AsVI(OJBVect): + _type = "I" + +# ----------------------------------------------------------------------------- + + +class AsVS(OJBVect): + _type = "S" + +# ----------------------------------------------------------------------------- + + +class AsVR(OJBVect): + _type = "R" + +# ----------------------------------------------------------------------------- + + +class AsVC(OJBVect): + _type = "C" + +# ----------------------------------------------------------------------------- + + +class AsVL(OJBVect): + _type = "L" + +# ----------------------------------------------------------------------------- + + +class AsVK8(OJBVect): + _type = "K" + _ltyp = 8 + +# ----------------------------------------------------------------------------- + + +class AsVK16(OJBVect): + _type = "K" + _ltyp = 16 + +# ----------------------------------------------------------------------------- + + +class AsVK24(OJBVect): + _type = "K" + _ltyp = 24 + +# ----------------------------------------------------------------------------- + + +class AsVK32(OJBVect): + _type = "K" + _ltyp = 32 + +# ----------------------------------------------------------------------------- + + +class AsVK80(OJBVect): + _type = "K" + _ltyp = 80 + +# Pour compatibilite +AsObject = OJB +AsColl = OJBCollec +AsPn = OJBPtnom +AsVect = OJBVect diff --git a/Noyau/oldAster/basetype.py b/Noyau/oldAster/basetype.py new file mode 100644 index 00000000..57ab8251 --- /dev/null +++ b/Noyau/oldAster/basetype.py @@ -0,0 +1,161 @@ +# coding=utf-8 +# Copyright (C) 2007-2013 EDF R&D +# +# 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. +# +# 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 + +""" + +Description des types de base aster +----------------------------------- + +version 2 - réécrite pour essayer de simplifier +le problème des instances/types et instances/instances. + +Le type de base `Type` permet de représenter une structure +de donnée. Une instance de `Type` comme attribut d'une classe +dérivée de `Type` représente une sous-structure nommée. + +Une instance de `Type` 'libre' représente une instance de la +structure de donnée complète. + +C'est ce comportement qui est capturé dans la classe BaseType + +La classe `Type` hérite de BaseType et y associe la métaclasse MetaType. + +""" + +import cPickle + +__docformat__ = "restructuredtext" + + +class MetaType(type): + + """Métaclasse d'un type représentant une structure de données. + Les méthodes spéciales __new__ et __call__ sont réimplémentées + """ + def __new__(mcs, name, bases, classdict): + """Création d'une nouvelle 'classe' dérivant de Type. + + Cette méthode permet de calculer certains attributs automatiquement: + + - L'attribut _subtypes qui contient la liste des sous-structures + de type 'Type' attributs (directs ou hérités) de cette classe. + + Pour chaque attribut de classe héritant de Type, on recrée une nouvelle + instance des attributs hérités pour pouvoir maintenir une structure de + parentée entre l'attribut de classe et sa nouvelle classe. + + L'effet obtenu est que tous les attributs de classe ou des classes parentes + de cette classe sont des attributs associés à la classe feuille. Ces attributs + ont eux-meme un attribut parent qui pointe sur la classe qui les contient. + """ + new_cls = type.__new__(mcs, name, bases, classdict) + new_cls._subtypes = [] + for b in bases: + if hasattr(b, '_subtypes'): + new_cls._subtypes += b._subtypes + # affecte la classe comme parent des attributs de classe + # et donne l'occasion aux attributs de se renommer à partir + # du nom utilisé. + for k, v in classdict.items(): + if not isinstance(v, BaseType): + continue + v.reparent(new_cls, k) + new_cls._subtypes.append(k) + return new_cls + + def dup_attr(cls, inst): + """Duplique les attributs de la classe `cls` pour qu'ils deviennent + des attributs de l'instance `inst`. + """ + # reinstantiate and reparent subtypes + for nam in cls._subtypes: + obj = getattr(cls, nam) + # permet de dupliquer completement l'instance + cpy = cPickle.dumps(obj) + newobj = cPickle.loads(cpy) + newobj.reparent(inst, None) + setattr(inst, nam, newobj) + + def __call__(cls, *args, **kwargs): + """Instanciation d'un Type structuré. + Lors de l'instanciation on effectue un travail similaire à la + création de classe: Les attributs sont re-parentés à l'instance + et réinstanciés pour obtenir une instanciation de toute la structure + et de ses sous-structures. + + Les attributs de classe deviennent des attributs d'instance. + """ + inst = cls.__new__(cls, *args, **kwargs) + # reinstantiate and reparent subtypes + cls.dup_attr(inst) + type(inst).__init__(inst, *args, **kwargs) + return inst + + def mymethod(cls): + pass + + +class BaseType(object): + # Le parent de la structure pour les sous-structures + _parent = None + _name = None + + def __init__(self, *args, **kwargs): + self._initargs = args + self._initkwargs = kwargs + self._name = None + self._parent = None + + def reparent(self, parent, new_name): + self._parent = parent + self._name = new_name + for nam in self._subtypes: + obj = getattr(self, nam) + obj.reparent(self, nam) + + def supprime(self, delete=False): + """Permet de casser les boucles de références pour que les ASSD + puissent être détruites. + Si `delete` vaut True, on supprime l'objet lui-même et pas + seulement les références remontantes.""" + self._parent = None + self._name = None + for nam in self._subtypes: + obj = getattr(self, nam) + obj.supprime(delete) + # XXX MC : avec ce code, j'ai l'impression qu'on supprime aussi + # des attributs de classe, ce qui pose problème pour une + # instanciation future... + # Supprimer les références remontantes devrait suffir. + # if delete: + # while len(self._subtypes): + # nam = self._subtypes.pop(0) + # try: + # delattr(self, nam) + # except AttributeError: + # pass + + def base(self): + if self._parent is None: + return self + return self._parent.base() + + +class Type(BaseType): + __metaclass__ = MetaType diff --git a/Noyau/strfunc.py b/Noyau/strfunc.py index 1cb1f51d..3339a852 100644 --- a/Noyau/strfunc.py +++ b/Noyau/strfunc.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright (C) 2007-2017 EDF R&D +# Copyright (C) 2007-2013 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -33,7 +33,7 @@ import six _encoding = None -def getEncoding(): +def get_encoding(): """Return local encoding """ global _encoding @@ -45,19 +45,19 @@ def getEncoding(): return _encoding -def toUnicode(string): +def to_unicode(string): """Try to convert string into a unicode string.""" if type(string) is six.text_type: return string elif type(string) is dict: new = {} for k, v in list(string.items()): - new[k] = toUnicode(v) + new[k] = to_unicode(v) return new elif type(string) is list: - return [toUnicode(elt) for elt in string] + return [to_unicode(elt) for elt in string] elif type(string) is tuple: - return tuple(toUnicode(list(string))) + return tuple(to_unicode(list(string))) elif type(string) is not str: return string assert type(string) is str, u"unsupported object: %s" % string @@ -70,7 +70,7 @@ def toUnicode(string): return six.text_type(string, 'utf-8', 'replace') -#def fromUnicode(ustring, encoding, errors='replace'): +#def from_unicode(ustring, encoding, errors='replace'): # """Try to encode a unicode string using encoding.""" # try: # return ustring.encode(encoding) @@ -84,23 +84,23 @@ def toUnicode(string): # if type(content) not in (str, six.text_type): # content = six.text_type(content) # if type(content) == str: -# content = toUnicode(content) -# return fromUnicode(content, encoding or getEncoding(), errors) +# content = to_unicode(content) +# return from_unicode(content, encoding or get_encoding(), errors) # # #def ufmt(uformat, *args): # """Helper function to format a string by converting all its arguments to unicode""" # if type(uformat) is not six.text_type: -# uformat = toUnicode(uformat) +# uformat = to_unicode(uformat) # if len(args) == 1 and type(args[0]) is dict: -# arguments = toUnicode(args[0]) +# arguments = to_unicode(args[0]) # else: # nargs = [] # for arg in args: # if type(arg) in (str, six.text_type, list, tuple, dict): -# nargs.append(toUnicode(arg)) +# nargs.append(to_unicode(arg)) # elif type(arg) not in (int, int, float): -# nargs.append(toUnicode(str(arg))) +# nargs.append(to_unicode(str(arg))) # else: # nargs.append(arg) # arguments = tuple(nargs) diff --git a/OldCodes/Aster/Cata/__init__.py b/OldCodes/Aster/Cata/__init__.py deleted file mode 100644 index fda01819..00000000 --- a/OldCodes/Aster/Cata/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -#@ MODIF __init__ Cata DATE 20/09/2004 AUTEUR DURAND C.DURAND -# -*- coding: iso-8859-1 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== diff --git a/OldCodes/Aster/Cata/cataSTA11/__init__.py b/OldCodes/Aster/Cata/cataSTA11/__init__.py deleted file mode 100644 index 3cdb1caf..00000000 --- a/OldCodes/Aster/Cata/cataSTA11/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -import os,sys -sys.modules["Cata"]=sys.modules[__name__] -rep_macro = os.path.dirname(__file__) -sys.path.insert(0,rep_macro) -rep_macro=os.path.join(rep_macro,'Macro') -sys.path.insert(0,rep_macro) - -if sys.modules.has_key("SD"): - del sys.modules["SD"] -for k in sys.modules.keys(): - if k[0:3] == "SD.": - del sys.modules[k] - - -from cata import * -from math import ceil -from Extensions import param2 -pi=param2.Variable('pi',pi) diff --git a/OldCodes/Aster/Cata/cataSTA11/cata.py b/OldCodes/Aster/Cata/cataSTA11/cata.py deleted file mode 100755 index 484fc518..00000000 --- a/OldCodes/Aster/Cata/cataSTA11/cata.py +++ /dev/null @@ -1,34413 +0,0 @@ -# coding: utf-8 -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -import os -from math import sin, cos, tan, asin, acos, atan2, atan, sinh, cosh, tanh -from math import pi ,exp,log, log10, sqrt - -import Accas -from Accas import * -from Accas import _F -import ops - -try: - import aster - aster_exists = True -except ImportError: - aster = None - aster_exists = False - -# Le catalogue est constitué par concaténation des fichiers .capy -# de catapy/{entete,commun,commande}. - -# Tous les imports globaux devraient être faits ici dans accas.capy. -# Veillez à limiter les imports dans la définition des concepts (co_*.capy) -# au strict nécessaire et les faire sous les méthodes qui en ont -# expressément besoin. - -JdC = JDC_CATA(code='ASTER', - execmodul=None, -# regles=(AU_MOINS_UN('DEBUT', 'POURSUITE'), -# AU_MOINS_UN('FIN'), -# A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN')) - ) - -# Types géométriques -class no(GEOM): - """ - Classe servant à définir le nom d'un noeud dans le fichier de commande - En clair : un chaine de longueur 8. - """ - pass - -class grno(GEOM): - """ - Classe servant à définir le nom d'un groupe de noeuds dans le fichier de commande - En clair : un chaine de longueur 24. - """ - def __convert__(cls,valeur): - """ - Fonction de verification de la longueur de la chaine - """ - if isinstance(valeur, (str,unicode)) and len(valeur.strip()) <= 24: - return valeur.strip() - raise ValueError(_(u'On attend une chaine de caractères (de longueur <= 24).')) - __convert__ = classmethod(__convert__) - -class ma(GEOM): - """ - Classe servant à définir le nom d'une maille dans le fichier de commande - En clair : un chaine de longueur 8. - """ - pass - -class grma(GEOM): - """ - Classe servant à définir le nom d'un groupe de mailles dans le fichier de commande - En clair : un chaine de longueur 24. - """ - def __convert__(cls,valeur): - """ - Fonction de verification de la longueur de la chaine - """ - if isinstance(valeur, (str,unicode)) and len(valeur.strip()) <= 24: - return valeur.strip() - raise ValueError(_(u'On attend une chaine de caractères (de longueur <= 24).')) - __convert__ = classmethod(__convert__) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class cabl_precont(ASSD): - cata_sdj = "SD.sd_cabl_precont.sd_cabl_precont" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class cara_elem(ASSD): - cata_sdj = "SD.sd_cara_elem.sd_cara_elem" - - def toEPX(self): - - # Raideurs - ressorts = {} - - try: - EPXnoeud = self.sdj.CARRIGXN.get() - EPXval = self.sdj.CARRIGXV.get() - lenEPXval = len(EPXval) - lenEPXnoeud = len(EPXnoeud)*6 - except: - # s'il y a un problème sur la structure de données ==> - from Utilitai.Utmess import UTMESS - UTMESS('F','MODELISA9_98') - # Vérification de la déclaration qui est faite dans 'acearp' - if ( lenEPXval != lenEPXnoeud ): - from Utilitai.Utmess import UTMESS - UTMESS('F','MODELISA9_97') - # Tout est OK - i=0 - for no in EPXnoeud : - ressorts[no] = EPXval[i:i+6] - i+=6 - - # Amortissements - amorts = {} - try: - EPXnoeud = self.sdj.CARAMOXN.get() - EPXval = self.sdj.CARAMOXV.get() - lenEPXval = len(EPXval) - lenEPXnoeud = len(EPXnoeud)*6 - except: - # s'il y a un problème sur la structure de données ==> - from Utilitai.Utmess import UTMESS - UTMESS('F','MODELISA9_98') - # Vérification de la déclaration qui est faite dans 'acearp' - if ( lenEPXval != lenEPXnoeud ): - from Utilitai.Utmess import UTMESS - UTMESS('F','MODELISA9_97') - # Tout est OK - i=0 - for no in EPXnoeud : - amorts[no] = EPXval[i:i+6] - i+=6 - - return ressorts, amorts - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -class cham_gd_sdaster(ASSD): - cata_sdj = "SD.sd_champ.sd_champ" - -class carte_sdaster(cham_gd_sdaster): - cata_sdj = "SD.sd_champ.sd_carte_class" - -class cham_elem(cham_gd_sdaster): - cata_sdj = "SD.sd_champ.sd_cham_elem_class" - - def EXTR_COMP(self,comp,lgma,topo=0) : - """ retourne les valeurs de la composante comp du champ sur la liste - de groupes de mailles lgma avec eventuellement l'info de la - topologie si topo>0. Si lgma est une liste vide, c'est equivalent - a un TOUT='OUI' dans les commandes aster - Attributs retourne - - self.valeurs : numpy.array contenant les valeurs - Si on a demande la topo : - - self.maille : numero de mailles - - self.point : numero du point dans la maille - - self.sous_point : numero du sous point dans la maille """ - import numpy - if not self.accessible() : - raise Accas.AsException("Erreur dans cham_elem.EXTR_COMP en PAR_LOT='OUI'") - - ncham=self.get_name() - ncham=ncham+(8-len(ncham))*' ' - nchams=ncham[0:7]+'S' - ncmp=comp+(8-len(comp))*' ' - - aster.prepcompcham(ncham,nchams,ncmp,"EL ",topo,lgma) - - valeurs=numpy.array(aster.getvectjev(nchams+(19-len(ncham))*' '+'.V')) - - if (topo>0) : - maille=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.M')) - point=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.P')) - sous_point=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.SP')) - else : - maille=None - point=None - sous_point=None - - aster.prepcompcham("__DETR__",nchams,ncmp,"EL ",topo,lgma) - - return post_comp_cham_el(valeurs,maille,point,sous_point) - -class cham_no_sdaster(cham_gd_sdaster): - cata_sdj = "SD.sd_champ.sd_cham_no_class" - - def EXTR_COMP(self,comp=' ',lgno=[],topo=0) : - """ retourne les valeurs de la composante comp du champ sur la liste - de groupes de noeuds lgno avec eventuellement l'info de la - topologie si topo>0. Si lgno est une liste vide, c'est equivalent - a un TOUT='OUI' dans les commandes aster - Attributs retourne - - self.valeurs : numpy.array contenant les valeurs - Si on a demande la topo (i.e. self.topo = 1) : - - self.noeud : numero de noeud - Si on demande toutes les composantes (comp = ' ') : - - self.comp : les composantes associees a chaque grandeur pour chaque noeud - """ - import numpy - if not self.accessible() : - raise Accas.AsException("Erreur dans cham_no.EXTR_COMP en PAR_LOT='OUI'") - - ncham=self.get_name() - ncham=ncham+(8-len(ncham))*' ' - nchams=ncham[0:7]+'S' - ncmp=comp+(8-len(comp))*' ' - - aster.prepcompcham(ncham,nchams,ncmp,"NO ",topo,lgno) - - valeurs=numpy.array(aster.getvectjev(nchams+(19-len(ncham))*' '+'.V')) - - if (topo>0) : - noeud=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.N')) - else : - noeud=None - - if comp[:1] == ' ': - comp=(aster.getvectjev(nchams+(19-len(ncham))*' '+'.C')) - aster.prepcompcham("__DETR__",nchams,ncmp,"NO ",topo,lgno) - return post_comp_cham_no(valeurs,noeud,comp) - else: - aster.prepcompcham("__DETR__",nchams,ncmp,"NO ",topo,lgno) - return post_comp_cham_no(valeurs,noeud) - - def __add__(self, other): - from SD.sd_nume_equa import sd_nume_equa - # on recupere le type - __nume_ddl=sd_nume_equa(self.sdj.REFE.get()[1]) - __gd=__nume_ddl.REFN.get()[1].strip() - __type='NOEU_'+__gd - # on recupere le nom du maillage - __nomMaillage=self.sdj.REFE.get()[0].strip() - # on recupere l'objet du maillage - __maillage=CONTEXT.get_current_step().get_concept(__nomMaillage) - __CHAM = CREA_CHAMP(OPERATION='ASSE', - MAILLAGE=__maillage, - TYPE_CHAM=__type, - INFO=1, - ASSE=(_F(CHAM_GD=self, - TOUT='OUI', - CUMUL='OUI', - COEF_R=1.), - _F(CHAM_GD=other, - TOUT='OUI', - CUMUL='OUI', - COEF_R=1.), - )) - return __CHAM - -# post-traitement : -class post_comp_cham_no : - def __init__(self, valeurs, noeud=None, comp=None) : - self.valeurs = valeurs - self.noeud = noeud - self.comp = comp - -class post_comp_cham_el : - def __init__(self, valeurs, maille=None, point=None, sous_point=None) : - self.valeurs = valeurs - self.maille = maille - self.point = point - self.sous_point = sous_point - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -class cham_mater(ASSD): - cata_sdj = "SD.sd_cham_mater.sd_cham_mater" - - def get_vale_ref(self, nom_varc): - """Retourne la valeur de référence de `nom_varc`.""" - from SD.sd_carte import sd_carte - nom_varc = nom_varc.strip() - varc = self.sdj.varc - nom = [sv.strip() for sv in varc.CVRCNOM.get()] - assert nom_varc in nom, (nom_varc, nom) - idx = nom.index(nom_varc) - novarc = [sv for sv in varc.CVRCVARC.get()] - assert len(novarc) > idx, novarc - nomch = novarc[idx] - # accès à la carte - cartref = sd_carte("%-8s.%-8s.1" % (self.nom, nomch)) - valref = cartref.VALE.get()[0] - return valref - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class char_acou(ASSD): - cata_sdj = "SD.sd_char_acou.sd_char_acou" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class char_cine_acou(ASSD): - cata_sdj = "SD.sd_char_cine.sd_char_cine" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class char_cine_meca(ASSD): - cata_sdj = "SD.sd_char_cine.sd_char_cine" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class char_cine_ther(ASSD): - cata_sdj = "SD.sd_char_cine.sd_char_cine" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class char_contact(ASSD): - cata_sdj = "SD.sd_contact.sd_contact" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class char_meca(ASSD): - cata_sdj = "SD.sd_char_meca.sd_char_meca" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class char_ther(ASSD): - cata_sdj = "SD.sd_char_ther.sd_char_ther" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class compor_sdaster(ASSD): - cata_sdj = "SD.sd_compor.sd_compor" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class corresp_2_mailla(ASSD): - cata_sdj = "SD.sd_corresp_2_mailla.sd_corresp_2_mailla" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class courbe_sdaster(ASSD): - cata_sdj = "SD.sd_courbe.sd_courbe" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -class entier(ASSD): - cata_sdj = "SD.AsBase" - - def __init__(self, valeur=None, **args): - ASSD.__init__(self, **args) - self.valeur = valeur - - def __adapt__(self, validator): - if validator.name == "list": - # validateur liste,cardinalité - return (self, ) - elif validator.name == "type": - # validateur type - return validator.adapt(self.valeur or 0) - else: - # validateur into et valid - return self - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class fiss_xfem(ASSD): - cata_sdj = "SD.sd_xfem.sd_fiss_xfem" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -# types 'fonction' : -class fonction_class(ASSD): - cata_sdj = "SD.sd_fonction.sd_fonction_aster" - - def Valeurs(self): - pass - - def Parametres(self): - """ - Retourne un dictionnaire contenant les parametres de la fonction ; - le type jeveux (FONCTION, FONCT_C, NAPPE) n'est pas retourne, - le dictionnaire peut ainsi etre fourni a CALC_FONC_INTERP tel quel. - """ - from Utilitai.Utmess import UTMESS - if self.accessible(): - TypeProl={'E':'EXCLU', 'L':'LINEAIRE', 'C':'CONSTANT' } - objev = '%-19s.PROL' % self.get_name() - prol = self.sdj.PROL.get() - if prol == None: - UTMESS('F', 'SDVERI_2', valk=[objev]) - dico={ - 'INTERPOL' : [prol[1][0:3],prol[1][4:7]], - 'NOM_PARA' : prol[2][0:16].strip(), - 'NOM_RESU' : prol[3][0:16].strip(), - 'PROL_DROITE' : TypeProl[prol[4][1]], - 'PROL_GAUCHE' : TypeProl[prol[4][0]], - } - elif hasattr(self,'etape') and self.etape.nom=='DEFI_FONCTION' : - dico={ - 'INTERPOL' : self.etape['INTERPOL'], - 'NOM_PARA' : self.etape['NOM_PARA'], - 'NOM_RESU' : self.etape['NOM_RESU'], - 'PROL_DROITE' : self.etape['PROL_DROITE'], - 'PROL_GAUCHE' : self.etape['PROL_GAUCHE'], - } - if type(dico['INTERPOL']) == tuple: - dico['INTERPOL']=list(dico['INTERPOL']) - elif type(dico['INTERPOL']) == str: - dico['INTERPOL']=[dico['INTERPOL'],] - if len(dico['INTERPOL'])==1 : - dico['INTERPOL']=dico['INTERPOL']*2 - else: - raise Accas.AsException("Erreur dans fonction.Parametres en PAR_LOT='OUI'") - return dico - - def Trace(self,FORMAT='TABLEAU',**kargs): - """Tracé d'une fonction""" - if not self.accessible() : - raise Accas.AsException("Erreur dans fonction.Trace en PAR_LOT='OUI'") - from Utilitai.Graph import Graph - gr=Graph() - gr.AjoutCourbe(Val=self.Valeurs(), - Lab=[self.Parametres()['NOM_PARA'],self.Parametres()['NOM_RESU']], - Leg=os.linesep.join(self.sdj.TITR.get()) ) - gr.Trace(FORMAT=FORMAT,**kargs) - -class fonction_sdaster(fonction_class): - - def convert(self, arg='real'): - """ - Retourne un objet de la classe t_fonction - représentation python de la fonction - """ - from Cata_Utils.t_fonction import t_fonction, t_fonction_c - class_fonction = t_fonction - if arg == 'complex': - class_fonction = t_fonction_c - absc, ordo = self.Valeurs() - return class_fonction(absc, ordo, self.Parametres(), nom=self.nom) - - def Valeurs(self) : - """ - Retourne deux listes de valeurs : abscisses et ordonnees - """ - from Utilitai.Utmess import UTMESS - if self.accessible(): - vale = '%-19s.VALE' % self.get_name() - lbl = self.sdj.VALE.get() - if lbl == None: - UTMESS('F', 'SDVERI_2', valk=[vale]) - lbl = list(lbl) - dim = len(lbl)/2 - lx = lbl[0:dim] - ly = lbl[dim:2*dim] - elif hasattr(self, 'etape') and self.etape.nom == 'DEFI_FONCTION' : - if self.etape['VALE'] is not None: - lbl = list(self.etape['VALE']) - dim = len(lbl) - lx = [lbl[i] for i in range(0,dim,2)] - ly = [lbl[i] for i in range(1,dim,2)] - elif self.etape['VALE_PARA'] is not None: - lx = self.etape['VALE_PARA'].Valeurs() - ly = self.etape['VALE_FONC'].Valeurs() - elif self.etape['ABSCISSE'] is not None: - lx = self.etape['ABSCISSE'] - ly = self.etape['ORDONNEE'] - else: - raise Accas.AsException("Erreur (fonction.Valeurs) : ne fonctionne en " \ - "PAR_LOT='OUI' que sur des fonctions produites par DEFI_FONCTION " \ - "dans le fichier de commandes courant.") - else: - raise Accas.AsException("Erreur (fonction.Valeurs) : ne fonctionne en " \ - "PAR_LOT='OUI' que sur des fonctions produites par DEFI_FONCTION " \ - "dans le fichier de commandes courant.") - return [lx, ly] - - def Absc(self): - """Retourne la liste des abscisses""" - return self.Valeurs()[0] - - def Ordo(self): - """Retourne la liste des ordonnées""" - return self.Valeurs()[1] - - def __call__(self, val, tol=1.e-6): - """Evaluate a function at 'val'. If provided, 'tol' is a relative - tolerance to match an abscissa value.""" - # Pour EFICAS : substitution de l'instance de classe - # parametre par sa valeur - if isinstance(val, ASSD): - val=val.valeur - __ff=self.convert() - return __ff(val, tol=tol) - - -class fonction_c(fonction_class): - - def convert(self,arg='real'): - """ - Retourne un objet de la classe t_fonction ou t_fonction_c, - représentation python de la fonction complexe - """ - import numpy - from Cata_Utils.t_fonction import t_fonction, t_fonction_c - class_fonction = t_fonction - if arg == 'complex': - class_fonction = t_fonction_c - absc = self.Absc() - para = self.Parametres() - if arg == 'real': - ordo = self.Ordo() - elif arg == 'imag': - ordo = self.OrdoImg() - elif arg == 'modul': - ordo = numpy.sqrt(numpy.array(self.Ordo())**2 + numpy.array(self.OrdoImg())**2) - elif arg == 'phase': - ordo = numpy.arctan2(numpy.array(self.OrdoImg()), numpy.array(self.Ordo())) * 180. / pi - elif arg == 'complex': - ordo = map(complex,self.Ordo(),self.OrdoImg()) - else: - assert False, 'unexpected value for arg: %r' % arg - return class_fonction(self.Absc(), ordo, self.Parametres(), nom=self.nom) - - def Valeurs(self) : - """ - Retourne trois listes de valeurs : abscisses, parties reelles et imaginaires. - """ - from Utilitai.Utmess import UTMESS - if self.accessible(): - vale = '%-19s.VALE' % self.get_name() - lbl = self.sdj.VALE.get() - if lbl == None: - UTMESS('F', 'SDVERI_2', valk=[vale]) - lbl = list(lbl) - dim=len(lbl)/3 - lx=lbl[0:dim] - lr=[] - li=[] - for i in range(dim): - lr.append(lbl[dim+2*i]) - li.append(lbl[dim+2*i+1]) - elif hasattr(self, 'etape') and self.etape.nom == 'DEFI_FONCTION' \ - and self.etape['VALE_C'] is not None: - lbl=list(self.etape['VALE_C']) - dim=len(lbl) - lx=[lbl[i] for i in range(0,dim,3)] - lr=[lbl[i] for i in range(1,dim,3)] - li=[lbl[i] for i in range(2,dim,3)] - else: - raise Accas.AsException("Erreur (fonction_c.Valeurs) : ne fonctionne en " \ - "PAR_LOT='OUI' que sur des fonctions produites par DEFI_FONCTION " \ - "dans le jdc courant.") - return [lx, lr, li] - - def Absc(self): - """Retourne la liste des abscisses""" - return self.Valeurs()[0] - - def Ordo(self): - """Retourne la liste des parties réelles des ordonnées""" - return self.Valeurs()[1] - - def OrdoImg(self): - """Retourne la liste des parties imaginaires des ordonnées""" - return self.Valeurs()[2] - - def Trace(self,FORMAT='TABLEAU',**kargs): - """Tracé d'une fonction complexe""" - if not self.accessible(): - raise Accas.AsException("Erreur dans fonction_c.Trace en PAR_LOT='OUI'") - from Utilitai.Graph import Graph - para = self.Parametres() - gr=Graph() - gr.AjoutCourbe(Val=self.Valeurs(), - Lab=[para['NOM_PARA'], '%s_R' % para['NOM_RESU'], '%s_I' % para['NOM_RESU']], - Leg=os.linesep.join(self.sdj.TITR.get()) ) - gr.Trace(FORMAT=FORMAT,**kargs) - - def __call__(self, val, tol=1.e-6): - """Evaluate a function at 'val'. If provided, 'tol' is a relative - tolerance to match an abscissa value.""" - # Pour EFICAS : substitution de l'instance de classe - # parametre par sa valeur - if isinstance(val, ASSD): - val=val.valeur - __ff=self.convert(arg='complex') - return __ff(val, tol=tol) - - -class nappe_sdaster(fonction_class): - - def convert(self): - """ - Retourne un objet de la classe t_nappe, représentation python de la nappe - """ - from Cata_Utils.t_fonction import t_fonction, t_nappe - para = self.Parametres() - vale = self.Valeurs() - l_fonc = [] - i = 0 - for pf in para[1] : - para_f = {'INTERPOL' : pf['INTERPOL_FONC'], - 'PROL_DROITE' : pf['PROL_DROITE_FONC'], - 'PROL_GAUCHE' : pf['PROL_GAUCHE_FONC'], - 'NOM_PARA' : para[0]['NOM_PARA_FONC'], - 'NOM_RESU' : para[0]['NOM_RESU'], - } - l_fonc.append(t_fonction(vale[1][i][0],vale[1][i][1],para_f)) - i += 1 - return t_nappe(vale[0], l_fonc, para[0], nom=self.nom) - - def Valeurs(self): - """ - Retourne la liste des valeurs du parametre, - et une liste de couples (abscisses,ordonnees) de chaque fonction. - """ - from Utilitai.Utmess import UTMESS - if not self.accessible(): - raise Accas.AsException("Erreur dans nappe.Valeurs en PAR_LOT='OUI'") - nsd = '%-19s' % self.get_name() - dicv=aster.getcolljev(nsd+'.VALE') - # les cles de dicv sont 1,...,N (indice du parametre) - lpar=aster.getvectjev(nsd+'.PARA') - if lpar == None: - UTMESS('F', 'SDVERI_2', valk=[nsd+'.PARA']) - lval=[] - for k in range(len(dicv)): - lbl=dicv[k+1] - dim=len(lbl)/2 - lval.append([lbl[0:dim],lbl[dim:2*dim]]) - return [list(lpar),lval] - - def Parametres(self): - """ - Retourne un dictionnaire contenant les parametres de la nappe, - le type jeveux (NAPPE) n'est pas retourne, - le dictionnaire peut ainsi etre fourni a CALC_FONC_INTERP tel quel, - et une liste de dictionnaire des parametres de chaque fonction. - """ - from Utilitai.Utmess import UTMESS - if not self.accessible(): - raise Accas.AsException("Erreur dans nappe.Parametres en PAR_LOT='OUI'") - TypeProl={'E':'EXCLU', 'L':'LINEAIRE', 'C':'CONSTANT' } - objev = '%-19s.PROL' % self.get_name() - prol=aster.getvectjev(objev) - if prol == None: - UTMESS('F', 'SDVERI_2', valk=[objev]) - dico={ - 'INTERPOL' : [prol[1][0:3],prol[1][4:7]], - 'NOM_PARA' : prol[2][0:16].strip(), - 'NOM_RESU' : prol[3][0:16].strip(), - 'PROL_DROITE' : TypeProl[prol[4][1]], - 'PROL_GAUCHE' : TypeProl[prol[4][0]], - 'NOM_PARA_FONC' : prol[6][0:4].strip(), - } - lparf=[] - nbf=(len(prol)-7)/2 - for i in range(nbf): - dicf={ - 'INTERPOL_FONC' : [prol[7+i*2][0:3],prol[7+i*2][4:7]], - 'PROL_DROITE_FONC' : TypeProl[prol[8+i*2][1]], - 'PROL_GAUCHE_FONC' : TypeProl[prol[8+i*2][0]], - } - lparf.append(dicf) - return [dico,lparf] - - def Absc(self): - """Retourne la liste des abscisses""" - return self.Valeurs()[0] - - def Trace(self,FORMAT='TABLEAU',**kargs): - """Tracé d'une nappe""" - if not self.accessible(): - raise Accas.AsException("Erreur dans nappe.Trace en PAR_LOT='OUI'") - from Utilitai.Graph import Graph - gr=Graph() - lv=self.Valeurs()[1] - dp=self.Parametres()[0] - for lx,ly in lv: - gr.AjoutCourbe(Val=[lx,ly], Lab=[dp['NOM_PARA_FONC'],dp['NOM_RESU']], - Leg=os.linesep.join(self.sdj.TITR.get()) ) - gr.Trace(FORMAT=FORMAT,**kargs) - - def __call__(self, val1, val2, tol=1.e-6): - """Evaluate a function at 'val'. If provided, 'tol' is a relative - tolerance to match an abscissa value.""" - # Pour EFICAS : substitution de l'instance de classe - # parametre par sa valeur - if isinstance(val1, ASSD): - val1=val1.valeur - if isinstance(val2, ASSD): - val2=val2.valeur - __ff=self.convert() - return __ff(val1, val2, tol=tol) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class fond_fiss(ASSD): - cata_sdj = "SD.sd_fond_fiss.sd_fond_fiss" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class gfibre_sdaster(ASSD): - cata_sdj = "SD.sd_gfibre.sd_gfibre" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class interf_dyna_clas(ASSD): - cata_sdj = "SD.sd_interf_dyna_clas.sd_interf_dyna_clas" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: harinaivo.andriambololona at edf.fr - - -class interspectre(ASSD): - cata_sdj = "SD.sd_interspectre.sd_interspectre" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class list_inst(ASSD): - cata_sdj = "SD.sd_list_inst.sd_list_inst" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class listis_sdaster(ASSD): - cata_sdj = "SD.sd_listis.sd_listis" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class listr8_sdaster(ASSD): - cata_sdj = "SD.sd_listr8.sd_listr8" - - def Valeurs(self) : - """ - Retourne la liste des valeurs : [val1, ..., valN] - """ - if not self.accessible(): - raise Accas.AsException("Erreur dans listr8.Valeurs en PAR_LOT='OUI'") - from Utilitai.Utmess import UTMESS - t_vale = self.sdj.VALE.get() - if t_vale == None: - UTMESS('F', 'SDVERI_2', valk=[vale]) - return list(t_vale) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -def VALE_triang2array(vect_VALE, dim, dtype=None): - """Conversion (par recopie) de l'objet .VALE decrivant une matrice pleine - par sa triangulaire sup en numpy.array plein. - """ - import numpy - triang_sup = numpy.array(vect_VALE) - assert dim*(dim+1)/2 == len(triang_sup), \ - 'Matrice non pleine : %d*(%d+1)/2 != %d' % (dim, dim, len(triang_sup)) - - valeur = numpy.zeros([dim, dim], dtype=dtype) - for i in range(1, dim+1): - for j in range(1, i+1): - k = i*(i-1)/2 + j - valeur[j-1, i-1]=triang_sup[k-1] - valeur = valeur + numpy.transpose(valeur) - for i in range(dim): - valeur[i, i] = 0.5 * valeur[i, i] - return valeur - -class macr_elem_dyna(ASSD): - cata_sdj = "SD.sd_macr_elem_dyna.sd_macr_elem_dyna" - - def EXTR_MATR_GENE(self,typmat) : - """ retourne les valeurs des matrices generalisees reelles - dans un format numpy - typmat='MASS_GENE' pour obtenir la matrice de masse generalisee - typmat='RIGI_GENE' pour obtenir la matrice de raideur generalisee - typmat='AMOR_GENE' pour obtenir la matrice d'amortissement generalisee - Attributs retourne - - self.valeurs : numpy.array contenant les valeurs """ - import numpy - if not self.accessible(): - raise Accas.AsException("Erreur dans macr_elem_dyna.EXTR_MATR_GENE en PAR_LOT='OUI'") - - if (typmat=='MASS_GENE') : - macr_elem = self.sdj.MAEL_MASS - elif (typmat=='RIGI_GENE') : - macr_elem = self.sdj.MAEL_RAID - elif (typmat=='AMOR_GENE') : - macr_elem = self.sdj.MAEL_AMOR - else: - raise Accas.AsException("Le type de la matrice est incorrect") - - desc=numpy.array(macr_elem.DESC.get()) - # On teste si le DESC du vecteur existe - if (desc==None): - raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster") - - matrice = VALE_triang2array(macr_elem.VALE.get(), desc[1]) - return matrice - - def RECU_MATR_GENE(self,typmat,matrice) : - """ envoie les valeurs d'un tableau numpy dans des matrices generalisees - reelles definies dans jeveux - typmat='MASS_GENE' pour obtenir la matrice de masse generalisee - typmat='RIGI_GENE' pour obtenir la matrice de raideur generalisee - typmat='AMOR_GENE' pour obtenir la matrice d'amortissement generalisee - Attributs ne retourne rien """ - import numpy - if not self.accessible(): - raise Accas.AsException("Erreur dans macr_elem_dyna.RECU_MATR_GENE en PAR_LOT='OUI'") - - nommacr=self.get_name() - if (typmat=='MASS_GENE') : - macr_elem = self.sdj.MAEL_MASS - elif (typmat=='RIGI_GENE') : - macr_elem = self.sdj.MAEL_RAID - elif (typmat=='AMOR_GENE') : - macr_elem = self.sdj.MAEL_AMOR - else: - raise Accas.AsException("Le type de la matrice est incorrect") - nom_vale = macr_elem.VALE.nomj() - desc=numpy.array(macr_elem.DESC.get()) - - # On teste si le DESC de la matrice jeveux existe - if (desc==None): - raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster") - numpy.asarray(matrice) - - # On teste si la matrice python est de dimension 2 - if (len(numpy.shape(matrice))<>2): - raise Accas.AsException("La dimension de la matrice est incorrecte") - - # On teste si les tailles de la matrice jeveux et python sont identiques - if (tuple([desc[1],desc[1]])<>numpy.shape(matrice)) : - raise Accas.AsException("La dimension de la matrice est incorrecte") - taille=desc[1]*desc[1]/2.0+desc[1]/2.0 - tmp=numpy.zeros([int(taille)]) - for j in range(desc[1]+1): - for i in range(j): - k=j*(j-1)/2+i - tmp[k]=matrice[j-1,i] - aster.putvectjev(nom_vale,len(tmp),tuple(( - range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class macr_elem_stat(ASSD): - cata_sdj = "SD.sd_macr_elem_stat.sd_macr_elem_stat" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class maillage_sdaster(ASSD): - cata_sdj = "SD.sd_maillage.sd_maillage" - - def LIST_GROUP_NO(self) : - """ retourne la liste des groupes de noeuds sous la forme : - [ (gno1, nb noeuds gno1), ...] """ - if not self.accessible(): - raise Accas.AsException("Erreur dans maillage.LIST_GROUP_NO en PAR_LOT='OUI'") - dic_gpno = self.sdj.GROUPENO.get() - if dic_gpno is None: - return [] - return [(gpno.strip(),len(dic_gpno[gpno])) for gpno in dic_gpno] - - def LIST_GROUP_MA(self) : - """ retourne la liste des groupes de mailles sous la forme : - [ (gma1, nb mailles gma1, dime max des mailles gma1), ...] """ - if not self.accessible(): - raise Accas.AsException("Erreur dans maillage.LIST_GROUP_MA en PAR_LOT='OUI'") - ltyma = aster.getvectjev("&CATA.TM.NOMTM") - catama = aster.getcolljev("&CATA.TM.TMDIM") - dic_gpma = self.sdj.GROUPEMA.get() - if dic_gpma is None: - return [] - dimama = [catama[ltyma[ma-1].ljust(24)][0] for ma in self.sdj.TYPMAIL.get()] - ngpma = [] - for grp in dic_gpma.keys(): - dim = max([dimama[ma-1] for ma in dic_gpma[grp]]) - ngpma.append((grp.strip(), len(dic_gpma[grp]),dim)) - return ngpma - -class grille_sdaster(maillage_sdaster): - cata_sdj = "SD.sd_grille.sd_grille" - -class squelette(maillage_sdaster): - cata_sdj = "SD.sd_squelette.sd_squelette" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class mater_sdaster(ASSD): - cata_sdj = "SD.sd_mater.sd_mater" - - def RCVALE(self, phenomene, nompar=(), valpar=(), nomres=(), stop=1): - """Appel à la routine fortran RCVALE pour récupérer les valeurs des - propriétés du matériau. - """ - if not self.accessible(): - raise Accas.AsException("Erreur dans mater.RCVALE en PAR_LOT='OUI'") - from Utilitai.Utmess import UTMESS - # vérification des arguments - if not type(nompar) in (list, tuple): - nompar = [nompar,] - if not type(valpar) in (list, tuple): - valpar = [valpar,] - if not type(nomres) in (list, tuple): - nomres = [nomres,] - nompar = tuple(nompar) - valpar = tuple(valpar) - nomres = tuple(nomres) - if len(nompar) != len(valpar): - vk1=', '.join(nompar) - vk2=', '.join([repr(v) for v in valpar]) - UTMESS('F','SDVERI_4',valk=[vk1,vk2]) - if len(nomres) < 1: - UTMESS('F', 'SDVERI_5') - # appel à l'interface Python/C - return aster.rcvale(self.nom, phenomene, nompar, valpar, nomres, stop) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -class matr_asse(ASSD): - cata_sdj = "SD.sd_matr_asse.sd_matr_asse" - - def EXTR_MATR(self) : - """ retourne les valeurs de la matrice dans un format numpy - Attributs retourne - - self.valeurs : numpy.array contenant les valeurs """ - import numpy - from SD.sd_stoc_morse import sd_stoc_morse - - if not self.accessible(): - raise Accas.AsException("Erreur dans matr_asse.EXTR_MATR en PAR_LOT='OUI'") - - refa = numpy.array(self.sdj.REFA.get()) - ma=refa[0] - nu=refa[1] - smos = sd_stoc_morse(nu[:14]+'.SMOS') - - valm=self.sdj.VALM.get() - smhc=smos.SMHC.get() - smdi=smos.SMDI.get() - - sym=len(valm)==1 - dim=len(smdi) - nnz=smdi[dim-1] - - triang_sup = numpy.array(valm[1]) - if sym: - triang_inf = triang_sup - else: - triang_inf = numpy.array(valm[2]) - - if type(valm[1][0]) == type(1.j) : - dtype=complex - else : - dtype=float - valeur=numpy.zeros([dim, dim], dtype=dtype) - - jcol=1 - for kterm in range(1,nnz+1): - ilig=smhc[kterm-1] - if (smdi[jcol-1] < kterm): - jcol=jcol+1 - valeur[jcol-1,ilig-1]=triang_inf[kterm-1] - valeur[ilig-1,jcol-1]=triang_sup[kterm-1] - - return valeur - -class matr_asse_gd(matr_asse): - cata_sdj = "SD.sd_matr_asse.sd_matr_asse" - -class matr_asse_depl_c(matr_asse_gd): - pass - -class matr_asse_depl_r(matr_asse_gd): - pass - -class matr_asse_pres_c(matr_asse_gd): - pass - -class matr_asse_pres_r(matr_asse_gd): - pass - -class matr_asse_temp_c(matr_asse_gd): - pass - -class matr_asse_temp_r(matr_asse_gd): - pass - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -def VALM_triang2array(dict_VALM, dim, dtype=None): - """Conversion (par recopie) de l'objet .VALM decrivant une matrice pleine - par sa triangulaire inf (et parfois triang sup) en numpy.array plein. - """ - import numpy - # stockage symetrique ou non (triang inf+sup) - sym = len(dict_VALM) == 1 - triang_sup = numpy.array(dict_VALM[1]) - assert dim*(dim+1)/2 == len(triang_sup), \ - 'Matrice non pleine : %d*(%d+1)/2 != %d' % (dim, dim, len(triang_sup)) - if sym: - triang_inf = triang_sup - else: - triang_inf = numpy.array(dict_VALM[2]) - valeur=numpy.zeros([dim, dim], dtype=dtype) - for i in range(1, dim+1): - for j in range(1, i+1): - k = i*(i-1)/2 + j - valeur[i-1, j-1]=triang_inf[k-1] - valeur[j-1, i-1]=triang_sup[k-1] - return valeur - -def VALM_diag2array(dict_VALM, dim, dtype=None): - """Conversion (par recopie) de l'objet .VALM decrivant une matrice - diagonale en numpy.array plein. - """ - import numpy - diag = numpy.array(dict_VALM[1]) - assert dim == len(diag), 'Dimension incorrecte : %d != %d' % (dim, len(diag)) - valeur=numpy.zeros([dim, dim], dtype=dtype) - for i in range(dim): - valeur[i,i] = diag[i] - return valeur - -class matr_asse_gene(ASSD): - cata_sdj = "SD.sd_matr_asse_gene.sd_matr_asse_gene" - -class matr_asse_gene_r(matr_asse_gene): - def EXTR_MATR_GENE(self) : - """ retourne les valeurs de la matrice generalisee reelle - dans un format numpyal Array - Attributs retourne - - self.valeurs : numpy.array contenant les valeurs """ - if not self.accessible(): - raise Accas.AsException("Erreur dans matr_asse_gene.EXTR_MATR_GENE en PAR_LOT='OUI'") - import numpy - - desc=numpy.array(self.sdj.DESC.get()) - # On teste si le DESC de la matrice existe - if (desc==None): - raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster") - # Si le stockage est plein - if desc[2]==2 : - valeur = VALM_triang2array(self.sdj.VALM.get(), desc[1]) - - # Si le stockage est diagonal - elif desc[2]==1 : - valeur = VALM_diag2array(self.sdj.VALM.get(), desc[1]) - - # Sinon on arrete tout - else: - raise KeyError - return valeur - - def RECU_MATR_GENE(self,matrice) : - """ envoie les valeurs d'un tableau numpy dans des matrices - generalisees reelles definies dans jeveux - Attributs ne retourne rien """ - import numpy - if not self.accessible(): - raise Accas.AsException("Erreur dans matr_asse_gene.RECU_MATR_GENE en PAR_LOT='OUI'") - - ncham=self.get_name() - desc=numpy.array(self.sdj.DESC.get()) - - # On teste si le DESC de la matrice existe - if (desc==None): - raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster") - numpy.asarray(matrice) - - # On teste si la dimension de la matrice python est 2 - if (len(numpy.shape(matrice))<>2) : - raise Accas.AsException("La dimension de la matrice est incorrecte ") - - # On teste si les tailles des matrices jeveux et python sont identiques - if (tuple([desc[1],desc[1]])<>numpy.shape(matrice)) : - raise Accas.AsException("La taille de la matrice est incorrecte ") - - # Si le stockage est plein - if desc[2]==2 : - taille=desc[1]*desc[1]/2.0+desc[1]/2.0 - tmp=numpy.zeros([int(taille)]) - for j in range(desc[1]+1): - for i in range(j): - k=j*(j-1)/2+i - tmp[k]=matrice[j-1,i] - aster.putcolljev('%-19s.VALM' % ncham,len(tmp),tuple((\ - range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1) - # Si le stockage est diagonal - elif desc[2]==1 : - tmp=numpy.zeros(desc[1]) - for j in range(desc[1]): - tmp[j]=matrice[j,j] - aster.putcolljev('%-19s.VALM' % ncham,len(tmp),tuple((\ - range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1) - # Sinon on arrete tout - else: - raise KeyError - return - -class matr_asse_gene_c(matr_asse_gene): - def EXTR_MATR_GENE(self) : - """ retourne les valeurs de la matrice generalisee complexe - dans un format numpy - Attributs retourne - - self.valeurs : numpy.array contenant les valeurs """ - import numpy - if not self.accessible(): - raise Accas.AsException("Erreur dans matr_asse_gene_c.EXTR_MATR_GENE en PAR_LOT='OUI'") - - desc = numpy.array(self.sdj.DESC.get()) - if desc == None: - raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster ") - # Si le stockage est plein - if desc[2] == 2 : - valeur = VALM_triang2array(self.sdj.VALM.get(), desc[1], complex) - - # Si le stockage est diagonal - elif desc[2]==1 : - valeur = VALM_diag2array(self.sdj.VALM.get(), desc[1], complex) - - # Sinon on arrete tout - else: - raise KeyError - return valeur - - def RECU_MATR_GENE(self,matrice) : - """ envoie les valeurs d'un tableau numpy dans des matrices - generalisees reelles definies dans jeveux - Attributs ne retourne rien """ - import numpy - if not self.accessible(): - raise Accas.AsException("Erreur dans matr_asse_gene_c.RECU_MATR_GENE en PAR_LOT='OUI'") - - numpy.asarray(matrice) - ncham=self.get_name() - desc=numpy.array(self.sdj.DESC.get()) - - # On teste si le DESC de la matrice existe - if (desc==None): - raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster") - numpy.asarray(matrice) - - # On teste si la dimension de la matrice python est 2 - if (len(numpy.shape(matrice))<>2) : - raise Accas.AsException("La dimension de la matrice est incorrecte ") - - # On teste si la taille de la matrice jeveux et python est identique - if (tuple([desc[1],desc[1]])<>numpy.shape(matrice)) : - raise Accas.AsException("La taille de la matrice est incorrecte ") - - # Si le stockage est plein - if desc[2]==2 : - taille=desc[1]*desc[1]/2.0+desc[1]/2.0 - tmpr=numpy.zeros([int(taille)]) - tmpc=numpy.zeros([int(taille)]) - for j in range(desc[1]+1): - for i in range(j): - k=j*(j-1)/2+i - tmpr[k]=matrice[j-1,i].real - tmpc[k]=matrice[j-1,i].imag - aster.putvectjev('%-19s.VALM' % ncham, len(tmpr), tuple((\ - range(1,len(tmpr)+1))),tuple(tmpr),tuple(tmpc),1) - # Si le stockage est diagonal - elif desc[2]==1 : - tmpr=numpy.zeros(desc[1]) - tmpc=numpy.zeros(desc[1]) - for j in range(desc[1]): - tmpr[j]=matrice[j,j].real - tmpc[j]=matrice[j,j].imag - aster.putvectjev('%-19s.VALM' % ncham,len(tmpr),tuple((\ - range(1,len(tmpr)+1))),tuple(tmpr),tuple(tmpc),1) - # Sinon on arrete tout - else: - raise KeyError - return - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class matr_elem(ASSD): - cata_sdj = "SD.sd_matr_elem.sd_matr_elem" - -class matr_elem_depl_c(matr_elem): - pass - -class matr_elem_depl_r(matr_elem): - pass - -class matr_elem_pres_c(matr_elem): - pass - -class matr_elem_temp_r(matr_elem): - pass - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class melasflu_sdaster(ASSD): - cata_sdj = "SD.sd_melasflu.sd_melasflu" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class mode_cycl(ASSD): - cata_sdj = "SD.sd_mode_cycl.sd_mode_cycl" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class modele_gene(ASSD): - cata_sdj = "SD.sd_modele_gene.sd_modele_gene" - - def LIST_SOUS_STRUCT(self) : - """ retourne la liste des sous structures du modele generalise - la liste des macro-elements sous-jacents""" - if not self.accessible(): - raise Accas.AsException("Erreur dans modele_gene.LIST_SOUS_STRUCT en PAR_LOT='OUI'") - nommodgen=self.get_name() - ncham=nommodgen+(8-len(nommodgen))*' ' - ssno=aster.getvectjev(ncham+(14-len(ncham))*' '+'.MODG.SSNO') - ssme=aster.getcolljev(ncham+(14-len(ncham))*' '+'.MODG.SSME') - return [([ssno[ind], ssme[ind+1]]) for ind in range(len(ssno))] - - def LIST_LIAIS_STRUCT(self) : - """ retourne la liste des liaisons entre sous structures du modele generalise sous la forme : - [ (ss1, nom_liais1, ss2 , nom_liais2), ...] """ - if not self.accessible() : - raise Accas.AsException("Erreur dans modele_gene.LIST_LIAIS_STRUCT en PAR_LOT='OUI'") - nommodgen=self.get_name() - ncham=nommodgen+(8-len(nommodgen))*' ' - lidf=aster.getcolljev(ncham+(14-len(ncham))*' '+'.MODG.LIDF') - return [([(lidf[ind][indb]) for indb in range(4)]) for ind in lidf] - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class modele_sdaster(ASSD): - cata_sdj = "SD.sd_modele.sd_modele" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class nume_ddl_gene(ASSD): - cata_sdj = "SD.sd_nume_ddl.sd_nume_ddl" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class nume_ddl_sdaster(ASSD): - cata_sdj = "SD.sd_nume_ddl.sd_nume_ddl" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -class reel(ASSD): - cata_sdj = "SD.AsBase" - - def __init__(self, valeur=None, **args): - ASSD.__init__(self, **args) - self.valeur = valeur - - def __call__(self): - return self.valeur - - def __adapt__(self, validator): - if validator.name == "list": - # validateur liste,cardinalité - return (self, ) - elif validator.name == "type": - # validateur type - return validator.adapt(self.valeur or 0.) - else: - # validateur into et valid - return self - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class resultat_sdaster(ASSD): - cata_sdj = "SD.sd_resultat.sd_resultat" - - def LIST_CHAMPS (self) : - if not self.accessible(): - raise Accas.AsException("Erreur dans resultat.LIST_CHAMPS en PAR_LOT='OUI'") - return aster.GetResu(self.get_name(), "CHAMPS") - - def LIST_NOM_CMP (self) : - if not self.accessible(): - raise Accas.AsException("Erreur dans resultat.LIST_NOM_CMP en PAR_LOT='OUI'") - return aster.GetResu(self.get_name(), "COMPOSANTES") - - def LIST_VARI_ACCES (self) : - if not self.accessible(): - raise Accas.AsException("Erreur dans resultat.LIST_VARI_ACCES en PAR_LOT='OUI'") - return aster.GetResu(self.get_name(), "VARI_ACCES") - - def LIST_PARA (self) : - if not self.accessible(): - raise Accas.AsException("Erreur dans resultat.LIST_PARA en PAR_LOT='OUI'") - return aster.GetResu(self.get_name(), "PARAMETRES") - -class resultat_jeveux(resultat_sdaster): - """Classe permettant d'accéder à un resultat jeveux qui n'a pas d'ASSD associée, - c'est le cas des concepts résultats (table, evol_xxxx) dérivés.""" - def __init__(self, nom_jeveux): - resultat_sdaster.__init__(self) - self.set_name(nom_jeveux) - -class comb_fourier(resultat_sdaster): pass -class fourier_elas(resultat_sdaster): pass -class fourier_ther(resultat_sdaster): pass -class mult_elas(resultat_sdaster): pass -class theta_geom(resultat_sdaster): pass - -# resultat_sdaster/evol_sdaster : -class evol_sdaster(resultat_sdaster): pass -class evol_char(evol_sdaster): pass -class evol_elas(evol_sdaster): pass -class evol_noli(evol_sdaster): pass -class evol_ther(evol_sdaster): pass -class evol_varc(evol_sdaster): pass - - - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: hassan.berro at edf.fr - -class dyna_gene(ASSD): - cata_sdj = "SD.sd_dyna_gene.sd_dyna_gene" - -class dyna_phys(resultat_sdaster): - cata_sdj="SD.sd_dyna_phys.sd_dyna_phys" - -# Concepts généralisés -class harm_gene (dyna_gene) : pass -class tran_gene (dyna_gene) : pass - -# Concepts physiques -class acou_harmo (dyna_phys) : pass -class dyna_harmo (dyna_phys) : pass -class dyna_trans (dyna_phys) : pass -class mode_acou (dyna_phys) : pass -class mode_flamb (dyna_phys) : pass -class mode_meca (dyna_phys) : pass -class mode_meca_c(mode_meca) : pass - -# TODO : convertir mode_gene en format généralisé -class mode_gene (dyna_phys) : pass -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class sd_partit(ASSD): - cata_sdj = "SD.sd_partition.sd_partit" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class spectre_sdaster(ASSD): - cata_sdj = "SD.sd_spectre.sd_spectre" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class surface_sdaster(ASSD): - cata_sdj = "SD.sd_surface.sd_surface" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class table_sdaster(ASSD): - cata_sdj = "SD.sd_table.sd_table" - - def __getitem__(self, key): - """Retourne la valeur d'une cellule de la table. - Exemple : TAB['INST', 1] retourne la 1ère valeur de la colonne 'INST'.""" - from Utilitai.Utmess import UTMESS - if not self.accessible(): - raise Accas.AsException("Erreur dans table.__getitem__ en PAR_LOT='OUI'") - assert len(key) == 2 - para, numlign = key - tabnom = self.sdj.TBLP.get() - try: - i = tabnom.index('%-24s' % para) - resu = aster.getvectjev(tabnom[i + 2]) - exist = aster.getvectjev(tabnom[i + 3]) - assert resu is not None - assert exist is not None - assert exist[numlign - 1] != 0 - res = resu[numlign - 1] - except (IndexError, AssertionError): - # pour __getitem__, il est plus logique de retourner KeyError. - raise KeyError - return res - - def TITRE(self): - """Retourne le titre d'une table Aster - (Utile pour récupérer le titre et uniquement le titre d'une table dont - on souhaite manipuler la dérivée). - """ - if not self.accessible(): - raise Accas.AsException("Erreur dans table.TITRE en PAR_LOT='OUI'") - #titj = aster.getvectjev('%-19s.TITR' % self.get_name()) - titj = self.sdj.TITR.get() - if titj != None: - titr = '\n'.join(titj) - else: - titr = '' - return titr - - def EXTR_TABLE(self, para=None) : - """Produit un objet Table à partir du contenu d'une table Aster. - On peut limiter aux paramètres listés dans 'para'. - """ - def Nonefy(l1,l2) : - if l2 == 0: - return None - else: - return l1 - if not self.accessible(): - raise Accas.AsException("Erreur dans table.EXTR_TABLE en PAR_LOT='OUI'") - from Utilitai.Table import Table - # titre - titr = self.TITRE() - # récupération des paramètres - #v_tblp = aster.getvectjev('%-19s.TBLP' % self.get_name()) - v_tblp = self.sdj.TBLP.get() - if v_tblp == None: - # retourne une table vide - return Table(titr=titr, nom=self.nom) - tabnom=list(v_tblp) - nparam=len(tabnom)/4 - lparam=[tabnom[4*i:4*i+4] for i in range(nparam)] - # restriction aux paramètres demandés - if para is not None: - if type(para) not in (list, tuple): - para = [para, ] - para = [p.strip() for p in para] - restr = [] - for ip in lparam: - if ip[0].strip() in para: - restr.append(ip) - lparam = restr - dval={} - # liste des paramètres et des types - lpar=[] - ltyp=[] - for i in lparam : - value=list(aster.getvectjev(i[2])) - exist=aster.getvectjev(i[3]) - dval[i[0].strip()] = map(Nonefy, value, exist) - lpar.append(i[0].strip()) - ltyp.append(i[1].strip()) - n=len(dval[lpar[0]]) - # contenu : liste de dict - lisdic=[] - for i in range(n) : - d={} - for p in lpar: - d[p]=dval[p][i] - lisdic.append(d) - return Table(lisdic, lpar, ltyp, titr, self.nom) - -class table_fonction(table_sdaster): - """Table contenant en plus une colonne FONCTION et/ou FONCTION_C dont les - valeurs des cellules sont des noms de fonction_sdaster ou fonction_c.""" - -class table_jeveux(table_sdaster): - """Classe permettant d'accéder à une table jeveux qui n'a pas d'ASSD associée, - c'est le cas des concepts résultats (table, evol_xxxx) dérivés.""" - def __init__(self, nom_jeveux): - table_sdaster.__init__(self) - self.set_name(nom_jeveux) - -class table_fonction(table_sdaster): - """Table contenant une colonne FONCTION et/ou FONCTION_C dont les - valeurs des cellules sont des noms de fonction_sdaster ou - fonction_c.""" - cata_sdj = "SD.sd_table_fonction.sd_table_fonction" - -class table_container(table_sdaster): - """Table contenant les colonnes NOM_OBJET, TYPE_OBJET et NOM_SD.""" - cata_sdj = "SD.sd_table_container.sd_table_container" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class type_flui_stru(ASSD): - cata_sdj = "SD.sd_type_flui_stru.sd_type_flui_stru" - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class vect_asse_gene(ASSD): - cata_sdj = "SD.sd_cham_gene.sd_cham_gene" - - def EXTR_VECT_GENE_R(self) : - """ retourne les valeurs du vecteur generalisee - dans un format numpy - Attributs retourne - - self.valeurs : numpy.array contenant les valeurs """ - import numpy - if not self.accessible(): - raise Accas.AsException("Erreur dans vect_asse_gene_r.EXTR_VECT_GENE en PAR_LOT='OUI'") - #ncham=self.get_name() - #ncham=ncham+(8-len(ncham))*' ' - #valeur=numpy.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.VALE')) - valeur = numpy.array(self.sdj.VALE.get()) - return valeur - - def RECU_VECT_GENE_R(self, vecteur) : - """ envoie les valeurs d'un tableau numpy dans un vecteur generalise - reel definie dans jeveux - Attributs ne retourne rien """ - if not self.accessible(): - raise Accas.AsException("Erreur dans vect_asse_gene_r.RECU_VECT_GENE en PAR_LOT='OUI'") - import numpy - numpy.asarray(vecteur) - ncham=self.get_name() - ncham=ncham+(8-len(ncham))*' ' - #desc=numpy.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC')) - desc = numpy.array(self.sdj.DESC.get()) - # On teste si le DESC du vecteur existe - if (desc==None): - raise Accas.AsException("L'objet vecteur n'existe pas ou \ - est mal cree par Code Aster") - # On teste si la taille du vecteur jeveux et python est identique - if desc[1] != numpy.shape(vecteur)[0] : - raise Accas.AsException("La taille du vecteur python est incorrecte") - aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALE', - len(vecteur), - tuple(range(1, len(vecteur)+1)), - tuple(vecteur), - tuple(vecteur), - 1) - return - - def EXTR_VECT_GENE_C(self) : - """ retourne les valeurs du vecteur generalisee - dans un format numpy - Attributs retourne - - self.valeurs : numpy.array contenant les valeurs """ - import numpy - if not self.accessible(): - raise Accas.AsException("Erreur dans vect_asse_gene_c.EXTR_VECT_GENE en PAR_LOT='OUI'") - - #ncham=self.get_name() - #ncham=ncham+(8-len(ncham))*' ' - #valeur=numpy.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.VALE'), complex) - valeur=numpy.array(self.sdj.VALE.get(), complex) - - return valeur - - def RECU_VECT_GENE_C(self,vecteur) : - """ envoie les valeurs d'un tableau numpy dans un vecteur generalise - complexe definie dans jeveux - Attributs ne retourne rien """ - if not self.accessible(): - raise Accas.AsException("Erreur dans vect_asse_gene_c.RECU_VECT_GENE en PAR_LOT='OUI'") - import numpy - numpy.asarray(vecteur) - ncham=self.get_name() - ncham=ncham+(8-len(ncham))*' ' - desc=numpy.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC')) - # On teste si le DESC de la matrice existe - if (desc==None): - raise Accas.AsException("L'objet vecteur n'existe pas ou \ - est mal cree par Code Aster") - # On teste si la taille de la matrice jeveux et python est identique - if desc[1]<>numpy.shape(vecteur)[0] : - raise Accas.AsException("La taille du vecteur python est incorrecte") - tmpr=vecteur.real - tmpc=vecteur.imag - aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALE', - len(tmpr), - tuple(range(1, len(tmpr)+1)), - tuple(tmpr), - tuple(tmpc), - 1) - return - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -class vect_elem(ASSD): - cata_sdj = "SD.sd_vect_elem.sd_vect_elem" - -class vect_elem_depl_r(vect_elem): - pass - -class vect_elem_pres_r(vect_elem): - pass - -class vect_elem_pres_c(vect_elem): - pass - -class vect_elem_temp_r(vect_elem): - pass - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr - -def C_AFFICHAGE() : return FACT(statut='f',max=1, - INFO_RESIDU = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - INFO_TEMPS = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - UNITE = SIMP(statut='f',typ='I',val_min=1), - PAS = SIMP(statut='f',typ='I',val_min=1), - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -def C_ARCHIVAGE() : return FACT(statut='d',max=1, - regles = (EXCLUS('PAS_ARCH','LIST_INST','INST'),), - LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_ARCH = SIMP(statut='f',typ='I' ), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - CHAM_EXCLU = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jean-michel.proix at edf.fr -def C_COMPORTEMENT(COMMAND=None) : #COMMUN# - - assert COMMAND in ('MACR_ASCOUF_CALC','MACR_ASPIC_CALC','CALC_G','POST_GP','CALC_ESSAI_GEOMECA','CALC_EUROPLEXUS', - 'CALC_POINT_MAT','SIMU_POINT_MAT', 'DYNA_NON_LINE','STAT_NON_LINE','CALCUL','CALC_FORC_NONL', - 'CALC_IFS_DNL','CALC_PRECONT','CREA_RESU','LIRE_RESU','MACR_ECREVISSE','TEST_COMPOR',None) - - if COMMAND !='CALC_EUROPLEXUS': - mcfact = FACT(statut='f',min=1,max='**', - - RELATION =SIMP( statut='o',typ='TXM',defaut="ELAS",into=C_RELATION(COMMAND)), - b_monox = BLOC(condition = "RELATION == 'MONOCRISTAL' ", - fr="SD issue de DEFI_COMPOR", - COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1),), - b_polyx = BLOC(condition = "RELATION == 'POLYCRISTAL' ", - fr="SD issue de DEFI_COMPOR", - COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1),), - b_zmat = BLOC(condition = "RELATION == 'ZMAT' ", - fr="Comportement de la bibliotheque Zmat", - NB_VARI =SIMP(statut='o',typ='I',max=1), - UNITE =SIMP(statut='o',typ='I',max=1),), - b_umat = BLOC(condition = "RELATION == 'UMAT' ", - fr="Comportement utilisateur de type UMAT", - NB_VARI =SIMP(statut='o',typ='I',max=1,fr="Nombre de variables internes"), - LIBRAIRIE = SIMP(statut='o', typ='TXM',validators=LongStr(1,128), - fr="Chemin vers la bibliothèque dynamique définissant le comportement UMAT"), - NOM_ROUTINE = SIMP(statut='o', typ='TXM', - fr="Nom de la routine UMAT dans la bibliothèque"),), - b_mfront = BLOC(condition = "RELATION == 'MFRONT' ", - fr="Comportement utilisateur de type MFRONT", - NB_VARI =SIMP(statut='o',typ='I',max=1,fr="Nombre de variables internes"), - LIBRAIRIE = SIMP(statut='o', typ='TXM',validators=LongStr(1,128), - fr="Chemin vers la bibliothèque dynamique définissant le comportement MFRONT"), - NOM_ROUTINE = SIMP(statut='o', typ='TXM', - fr="Nom de la routine MFRONT dans la bibliothèque"),), - -# KITs - b_kit_ddi = BLOC(condition = "RELATION == 'KIT_DDI' ", - fr="relations de couplage fluage-plasticite", - RELATION_KIT =SIMP(statut='o',typ='TXM',min=2,max=2,validators=NoRepeat(), - into=( - "VMIS_CINE_LINE", - "VMIS_ISOT_TRAC", - "VMIS_ISOT_LINE", - "VMIS_ISOT_PUIS", - "GLRC_DM", - "GRANGER_FP", - "GRANGER_FP_INDT", - "GRANGER_FP_V", - "BETON_UMLV_FP", - "ROUSS_PR", - "BETON_DOUBLE_DP", - "ENDO_ISOT_BETON", - "MAZARS" - ),), - ), - b_kit_cg= BLOC(condition = "RELATION == 'KIT_CG' ", - fr="relations pour elements cables gaines", - RELATION_KIT =SIMP(statut='o',typ='TXM',min=2,max=2,validators=NoRepeat(), - into=( - "CABLE_GAINE_FROT", - "VMIS_ISOT_LINE", - "VMIS_ISOT_TRAC", - "VMIS_CINE_LINE", - "PINTO_MENEGOTTO", - "ELAS", - "SANS" - ),), - ), - - b_kit_thm = BLOC(condition = "RELATION in ['KIT_HHM','KIT_HH','KIT_H','KIT_HM','KIT_THHM', \ - 'KIT_THH','KIT_THM','KIT_THV']", - fr="lois de comportements thermo-hydro-mecaniques", - RELATION_KIT =SIMP(statut='o',typ='TXM',max=9,validators=NoRepeat(), - into=( -# MECA - "ELAS", - "CJS", - "HUJEUX", - "CAM_CLAY", - "BARCELONE", - "LAIGLE", - "LETK", - "DRUCK_PRAGER", - "DRUCK_PRAG_N_A", - "VISC_DRUC_PRAG", - "ELAS_GONF", - "HOEK_BROWN_EFF", - "HOEK_BROWN_TOT", - "MAZARS", - "ENDO_ISOT_BETON", - "JOINT_BANDIS", - "CZM_LIN_REG", - "CZM_EXP_REG", -# THMC - "GAZ", - "LIQU_SATU", - "LIQU_GAZ_ATM", - "LIQU_VAPE_GAZ", - "LIQU_AD_GAZ_VAPE", - "LIQU_AD_GAZ", - "LIQU_VAPE", - "LIQU_GAZ", -# HYDR - "HYDR_UTIL", - "HYDR_VGM", - "HYDR_VGC", - "HYDR", - "HYDR_ENDO", - ),), - ), - b_kit_meta = BLOC(condition = "RELATION in ('META_LEMA_ANI','META_P_CL_PT_RE','META_P_CL_PT','META_P_CL_RE','META_P_CL',\ - 'META_P_IL_PT_RE','META_P_IL_PT','META_P_IL_RE','META_P_IL','META_P_INL_PT_RE','META_P_INL_PT','META_P_INL_RE','META_P_INL',\ - 'META_V_CL_PT_RE','META_V_CL_PT','META_V_CL_RE','META_V_CL','META_V_IL_PT_RE','META_V_IL_PT','META_V_IL_RE','META_V_IL',\ - 'META_V_INL_PT_RE','META_V_INL_PT','META_V_INL_RE','META_V_INL')", - fr="nombre de phases metallurgiques", - RELATION_KIT =SIMP(statut='o',typ='TXM',max=1,validators=NoRepeat(), - into=("ACIER","ZIRC"),), - ), - - DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT", - into=("PETIT","PETIT_REAC","GROT_GDEP","SIMO_MIEHE","GDEF_HYPO_ELAS","GDEF_LOG")), - - # gestion des contraintes planes par la méthode itérative - - RESI_CPLAN_MAXI =SIMP(statut='f',typ='R', - fr="Critère d'arret absolu pour assurer la condition de contraintes planes"), - - b_resi_cplan =BLOC(condition = " RESI_CPLAN_MAXI == None ", - - RESI_CPLAN_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-6, - fr="Critère d'arret relatif pour assurer la condition de contraintes planes"), - ), - - ITER_CPLAN_MAXI =SIMP(statut='f',typ='I',defaut= 1, - fr="Nombre d'itérations maxi pour assurer la condition de contraintes planes"), - # - RESI_INTE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-6), - ITER_INTE_MAXI =SIMP(statut='f',typ='I',defaut= 20 ), - - b_redec_local = BLOC(condition = "DEFORMATION in ('PETIT','PETIT_REAC','GROT_GDEP')", - fr="Nombre de redécoupages internes du pas de temps", - ITER_INTE_PAS =SIMP(statut='f',typ='I',defaut= 0 ), - ), - - ALGO_INTE =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE", "SECANTE", "DEKKER", "NEWTON_1D","BRENT", - "NEWTON", "NEWTON_RELI", "NEWTON_PERT", "RUNGE_KUTTA", - "SPECIFIQUE", "SANS_OBJET")), - - TYPE_MATR_TANG =SIMP(statut='f',typ='TXM',into=("PERTURBATION","VERIFICATION","TANGENTE_SECANTE")), - - b_perturb =BLOC(condition = " (TYPE_MATR_TANG != None) and (TYPE_MATR_TANG != 'TANGENTE_SECANTE') ", - fr="Calcul de la matrice tangente par perturbation, valeur de la perturbation", - VALE_PERT_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-5), - ), - - b_tangsec = BLOC(condition = " TYPE_MATR_TANG == 'TANGENTE_SECANTE' ", - fr="Modification evolutive de la matrice tangente/secante", - SEUIL =SIMP(statut='f',typ='R',defaut= 3. ), - AMPLITUDE =SIMP(statut='f',typ='R',defaut= 1.5 ), - TAUX_RETOUR =SIMP(statut='f',typ='R',defaut= 0.05 ), - ), - - b_crirupt = BLOC(condition = - " RELATION in ('VMIS_ISOT_LINE','VMIS_ISOT_TRAC','VISCOCHAB','VISC_ISOT_LINE','VISC_ISOT_TRAC',)", - fr="Critere de rupture selon une contrainte critique", - POST_ITER =SIMP(statut='f',typ='TXM',into=("CRIT_RUPT",), ), - ), - - PARM_THETA =SIMP(statut='f',typ='R',val_min=0.,val_max=1., defaut= 1.), - PARM_ALPHA =SIMP(statut='f',typ='R',defaut= 1. ), - - b_radi =BLOC(condition = "TYPE_MATR_TANG == None", - RESI_RADI_RELA =SIMP(statut='f',typ='R', ), - ), - - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - - ) - - else: - mcfact = FACT(statut='o',min=1,max='**', #COMMUN# - - RELATION = SIMP( statut='o',typ='TXM',defaut="ELAS",into=('ELAS','GLRC_DAMAGE')), - GROUP_MA = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - ) - - - return mcfact - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -def C_CONVERGENCE() : return FACT(statut='d', - regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA','RESI_COMP_RELA'),), - b_refe_rela =BLOC(condition = "RESI_REFE_RELA != None", - regles=(AU_MOINS_UN('SIGM_REFE','EPSI_REFE','FLUX_THER_REFE','FORC_REFE', - 'FLUX_HYD1_REFE','FLUX_HYD2_REFE','VARI_REFE','DEPL_REFE','LAGR_REFE'),), - FORC_REFE =SIMP(statut='f',typ='R',min=2,max=2, - fr="Force et Moment de référence pour les éléments de structure."), - SIGM_REFE =SIMP(statut='f',typ='R'), - DEPL_REFE =SIMP(statut='f',typ='R'), - EPSI_REFE =SIMP(statut='f',typ='R'), - FLUX_THER_REFE =SIMP(statut='f',typ='R'), - FLUX_HYD1_REFE =SIMP(statut='f',typ='R'), - FLUX_HYD2_REFE =SIMP(statut='f',typ='R'), - VARI_REFE =SIMP(statut='f',typ='R'), - LAGR_REFE =SIMP(statut='f',typ='R'), - ), - RESI_REFE_RELA =SIMP(statut='f',typ='R'), - RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), - RESI_GLOB_RELA =SIMP(statut='f',typ='R'), - RESI_COMP_RELA =SIMP(statut='f',typ='R'), - ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), - ITER_GLOB_ELAS =SIMP(statut='f',typ='I',defaut=25), - ARRET =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -def C_INCREMENT(TYPE_CMD) : #COMMUN# -# - assert TYPE_CMD in ('THERMIQUE','MECANIQUE',) - kwargs = {} - statut_liste_inst = ' ' - -# La liste d'instants est facultative en thermique et obligatoire en mecanique - - if TYPE_CMD in ('THERMIQUE'): - statut_liste_inst = 'f' - elif TYPE_CMD in ('MECANIQUE'): - statut_liste_inst = 'o' - - kwargs['LIST_INST'] =SIMP(statut=statut_liste_inst,typ=(listr8_sdaster,list_inst)) - kwargs['NUME_INST_INIT'] =SIMP(statut='f',typ='I') - kwargs['INST_INIT'] =SIMP(statut='f',typ='R') - kwargs['NUME_INST_FIN'] =SIMP(statut='f',typ='I') - kwargs['INST_FIN'] =SIMP(statut='f',typ='R') - kwargs['PRECISION'] =SIMP(statut='f',typ='R',defaut=1.0E-6 ) - - mcfact = FACT(statut=statut_liste_inst,max='**', - regles=(EXCLUS('NUME_INST_INIT','INST_INIT'), - EXCLUS('NUME_INST_FIN','INST_FIN'),), - **kwargs) - - return mcfact - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -def C_NEWTON() : return FACT(statut='d', - REAC_INCR =SIMP(statut='f',typ='I',defaut= 1,val_min=0), - PREDICTION =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOLE") ), - MATRICE =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ), - PAS_MINI_ELAS =SIMP(statut='f',typ='R',val_min=0.0), - REAC_ITER =SIMP(statut='f',typ='I',defaut=0,val_min=0), - REAC_ITER_ELAS =SIMP(statut='f',typ='I',defaut=0,val_min=0), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: josselin.delmas at edf.fr - -class NOM_CHAM_INTO: #COMMUN# - """ - """ - def Tous(self): - """ Tous les champs - """ - self.all_phenomenes = ('CONTRAINTE', 'DEFORMATION', 'ENERGIE', 'CRITERES', - 'VARI_INTERNE', 'HYDRAULIQUE', 'THERMIQUE', - 'ACOUSTIQUE', 'FORCE', 'ERREUR', 'DEPLACEMENT', - 'METALLURGIE', 'AUTRES') - d = {} - d['CONTRAINTE'] = { - "EFGE_ELGA": ( ("lin", "nonlin",), - _(u"Efforts généralisés aux points de Gauss"), ), - "EFGE_ELNO": ( ("lin", "nonlin",), - _(u"Efforts généralisés aux noeuds par élément"), ), - "EFGE_NOEU": ( ("lin", "nonlin",), - _(u"Efforts généralisés aux noeuds"), ), - "SIEF_ELGA": ( ("lin",), - _(u"Contraintes et efforts aux points de Gauss"), ), - "SIEF_ELNO": ( ("lin", "nonlin",), - _(u"Contraintes et efforts aux noeuds par élément"), ), - "SIEF_NOEU": ( ("lin", "nonlin",), - _(u"Contraintes et efforts aux noeuds"), ), - "SIGM_ELGA": ( ("lin", "nonlin",), - _(u"Contraintes aux points de Gauss"), ), - "SIGM_ELNO": ( ("lin", "nonlin",), - _(u"Contraintes aux noeuds par élément"), ), - "SIGM_NOEU": ( ("lin", "nonlin",), - _(u"Contraintes aux noeuds"), ), - "SIPM_ELNO": ( ("lin","nonlin"), - _(u"Contraintes aux noeuds par élément pour les éléments de poutre"), ), - "SIPO_ELNO": ( ("lin", "nonlin",), - _(u"Contraintes aux noeuds par élément pour les éléments de poutre"), ), - "SIPO_NOEU": ( ("lin", "nonlin",), - _(u"Contraintes aux noeuds pour les éléments de poutre"), ), - "SIRO_ELEM": ( ("lin", "nonlin",), - _(u"Contraintes de rosette par élément"), ), - } - d['DEFORMATION'] = { - "DEGE_ELGA": ( ("lin", "nonlin",), - _(u"Déformations généralisées aux points de Gauss"), ), - "DEGE_ELNO": ( ("lin", "nonlin",), - _(u"Déformations généralisées aux noeuds par élément"), ), - "DEGE_NOEU": ( ("lin", "nonlin",), - _(u"Déformations généralisées aux noeuds"), ), - "EPFD_ELGA": ( ("nonlin",), - _(u"Déformations de fluage de déssication aux points de Gauss"), ), - "EPFD_ELNO": ( ("nonlin",), - _(u"Déformations de fluage de déssication aux noeuds par élément"), ), - "EPFD_NOEU": ( ("nonlin",), - _(u"Déformations de fluage de déssication aux noeuds"), ), - "EPFP_ELGA": ( ("nonlin",), - _(u"Déformations de fluage propre aux points de Gauss"), ), - "EPFP_ELNO": ( ("nonlin",), - _(u"Déformations de fluage propre aux noeuds par élément"), ), - "EPFP_NOEU": ( ("nonlin",), - _(u"Déformations de fluage propre aux noeuds"), ), - "EPME_ELGA": ( ("lin", "nonlin",), - _(u"Déformations mécaniques en petits déplacements aux points de Gauss"), ), - "EPME_ELNO": ( ("lin", "nonlin",), - _(u"Déformations mécaniques en petits déplacements aux noeuds par élément"), ), - "EPME_NOEU": ( ("lin", "nonlin",), - _(u"Déformations mécaniques en petits déplacements aux noeuds"), ), - "EPMG_ELGA": ( ("nonlin",), - _(u"Déformations mécaniques en grands déplacements aux points de Gauss"), ), - "EPMG_ELNO": ( ("nonlin",), - _(u"Déformations mécaniques en grands déplacements aux noeuds par élément"), ), - "EPMG_NOEU": ( ("nonlin",), - _(u"Déformations mécaniques en grands déplacements aux noeuds"), ), - "EPSG_ELGA": ( ("lin","nonlin",), - _(u"Déformations de Green-Lagrange aux points de Gauss"), ), - "EPSG_ELNO": ( ("lin","nonlin",), - _(u"Déformations de Green-Lagrange aux noeuds par élément"), ), - "EPSG_NOEU": ( ("lin","nonlin",), - _(u"Déformations de Green-Lagrange aux noeuds"), ), - "EPSI_ELGA": ( ("lin", "nonlin",), - _(u"Déformations aux points de Gauss"), ), - "EPSI_ELNO": ( ("lin", "nonlin",), - _(u"Déformations aux noeuds par élément"), ), - "EPSI_NOEU": ( ("lin", "nonlin",), - _(u"Déformations aux noeuds"), ), - "EPSP_ELGA": ( ("nonlin",), - _(u"Déformations anélastique aux points de Gauss"), ), - "EPSP_ELNO": ( ("nonlin",), - _(u"Déformations anélastique aux noeuds par élément"), ), - "EPSP_NOEU": ( ("nonlin",), - _(u"Déformations anélastique aux noeuds"), ), - "EPVC_ELGA": ( ("lin", "nonlin",), - _(u"Déformations dues aux variables de commande aux points de Gauss"), ), - "EPVC_ELNO": ( ("lin", "nonlin",), - _(u"Déformations dues aux variables de commande aux noeuds par élément"), ), - "EPVC_NOEU": ( ("lin", "nonlin",), - _(u"Déformations dues aux variables de commande aux noeuds"), ), - } - d['ENERGIE'] = { - "DISS_ELEM": ( ("lin", "nonlin",), - _(u"Énergie de dissipation par élément"), ), - "DISS_ELGA": ( ("lin", "nonlin",), - _(u"Densité d'énergie de dissipation aux points de Gauss"), ), - "DISS_ELNO": ( ("lin", "nonlin",), - _(u"Densité d'énergie de dissipation aux noeuds par élément"), ), - "DISS_NOEU": ( ("lin", "nonlin",), - _(u"Densité d'énergie de dissipation aux noeuds"), ), - "ECIN_ELEM": ( ("lin",), - _(u"Énergie cinétique par élément"), ), - "ENEL_ELEM": ( ("lin", "nonlin",), - _(u"Énergie élastique par élément"), ), - "ENEL_ELGA": ( ("lin", "nonlin",), - _(u"Densité d'énergie élastique aux points de Gauss"), ), - "ENEL_ELNO": ( ("lin", "nonlin",), - _(u"Densité d'énergie élastique aux noeuds par élément"), ), - "ENEL_NOEU": ( ("lin", "nonlin",), - _(u"Densité d'énergie élastique aux noeuds"), ), - "EPOT_ELEM": ( ("lin",), - _(u"Énergie potentielle de déformation élastique par élément"), ), - "ETOT_ELEM": ( ("lin", "nonlin",), - _(u"Incrément d'énergie de déformation totale par élément"), ), - "ETOT_ELGA": ( ("lin", "nonlin",), - _(u"Incrément de densité d'énergie de déformation totale aux points de Gauss"), ), - "ETOT_ELNO": ( ("lin", "nonlin",), - _(u"Incrément de densité d'énergie de déformation totale aux noeuds par élément"), ), - "ETOT_NOEU": ( ("lin", "nonlin",), - _(u"Incrément de densité d'énergie de déformation totale aux noeuds"), ), - } - d['CRITERES'] = { - "DERA_ELGA": ( ("nonlin",), - _(u"Indicateur local de décharge et de perte de radialité aux points de Gauss"), ), - "DERA_ELNO": ( ("nonlin",), - _(u"Indicateur local de décharge et de perte de radialité aux noeuds par élément"), ), - "DERA_NOEU": ( ("nonlin",), - _(u"Indicateur local de décharge et de perte de radialité aux noeuds"), ), - "ENDO_ELGA": ( ("nonlin",), - _(u"Dommage de Lemaître-Sermage aux points de Gauss"), ), - "ENDO_ELNO": ( ("nonlin",), - _(u"Dommage de Lemaître-Sermage aux noeuds par élément"), ), - "ENDO_NOEU": ( ("nonlin",), - _(u"Dommage de Lemaître-Sermage aux noeuds"), ), - "EPEQ_ELGA": ( ("lin", "nonlin",), - _(u"Déformations équivalentes aux points de Gauss"), ), - "EPEQ_ELNO": ( ("lin", "nonlin",), - _(u"Déformations équivalentes aux noeuds par élément"), ), - "EPEQ_NOEU": ( ("lin", "nonlin",), - _(u"Déformations équivalentes aux noeuds"), ), - "EPMQ_ELGA": ( ("lin", "nonlin",), - _(u"Déformations mécaniques équivalentes aux points de Gauss"), ), - "EPMQ_ELNO": ( ("lin", "nonlin",), - _(u"Déformations mécaniques équivalentes aux noeuds par élément"), ), - "EPMQ_NOEU": ( ("lin", "nonlin",), - _(u"Déformations mécaniques équivalentes aux noeuds"), ), - "INDL_ELGA": ( ("nonlin",), - _(u"Indicateur de localisation aux points de Gauss"), ), - "PDIL_ELGA": ( ("nonlin",), - _(u"Module de rigidité de micro-dilatation"), ), - "SIEQ_ELGA": ( ("lin", "nonlin",), - _(u"Contraintes équivalentes aux points de Gauss"), ), - "SIEQ_ELNO": ( ("lin", "nonlin",), - _(u"Contraintes équivalentes aux noeuds par élément"), ), - "SIEQ_NOEU": ( ("lin", "nonlin",), - _(u"Contraintes équivalentes aux noeuds"), ), - } - d['VARI_INTERNE'] = { - "VAEX_ELGA": ( ("nonlin",), - _(u"Extraction d'une variable interne aux points de Gauss"), ), - "VAEX_ELNO": ( ("nonlin",), - _(u"Extraction d'une variable interne aux noeuds pas élément"), ), - "VAEX_NOEU": ( ("nonlin",), - _(u"Extraction d'une variable interne aux noeuds"), ), - "VARC_ELGA": ( ("lin", "nonlin",), - _(u"Variables de commande aux points de Gauss"), ), - "VARI_ELNO": ( ("nonlin",), - _(u"Variables internes aux noeuds pas élément"), ), - "VARI_NOEU": ( ("nonlin",), - _(u"Variables internes aux noeuds"), ), - } - d['HYDRAULIQUE'] = { - "FLHN_ELGA": ( ("nonlin",), - _(u"Flux hydrauliques aux points de Gauss"), ), - } - d['THERMIQUE'] = { - "TEMP_ELGA": ( (), - _(u"Température aux points de Gauss"), ), - "FLUX_ELGA": ( (), - _(u"Flux thermique aux points de Gauss"), ), - "FLUX_ELNO": ( (), - _(u"Flux thermique aux noeuds par élément"), ), - "FLUX_NOEU": ( (), - _(u"Flux thermique aux noeuds"), ), - "HYDR_NOEU": ( (), - _(u"Hydratation aux noeuds"), ), - "SOUR_ELGA": ( (), - _(u"Source de chaleur à partir d'un potentiel électrique"), ), - "ETHE_ELEM": ( (), - _(u"Énergie dissipée thermiquement"), ), - } - d['ACOUSTIQUE'] = { - "PRAC_ELNO": ( (), - _(u"Pression acoustique aux noeuds par élément"), ), - "PRAC_NOEU": ( (), - _(u"Pression acoustique aux noeuds"), ), - "PRME_ELNO": ( (), - _(u"Pression aux noeuds par élément pour les éléments FLUIDE"), ), - "INTE_ELNO": ( (), - _(u"Intensité acoustique aux noeuds par élément"), ), - "INTE_NOEU": ( (), - _(u"Intensité acoustique aux noeuds"), ), - } - d['FORCE'] = { - "FORC_NODA": ( (), - _(u"Forces nodales"), ), - "REAC_NODA": ( (), - _(u"Réactions nodales"), ), - } - d['ERREUR'] = { - "SIZ1_NOEU": ( (), - _(u"Contraintes lissées de Zhu-Zienkiewicz version 1 aux noeuds"), ), - "ERZ1_ELEM": ( (), - _(u"Indicateur d'erreur de Zhu-Zienkiewicz version 1 par élément"), ), - "SIZ2_NOEU": ( (), - _(u"Contraintes lissées de Zhu-Zienkiewicz version 2 aux noeuds"), ), - "ERZ2_ELEM": ( (), - _(u"Indicateur d'erreur de Zhu-Zienkiewicz version 2 par élément"), ), - "ERME_ELEM": ( (), - _(u"Indicateur d'erreur en résidu en mécanique par élément"), ), - "ERME_ELNO": ( (), - _(u"Indicateur d'erreur en résidu en mécanique aux noeuds par élément"), ), - "ERME_NOEU": ( (), - _(u"Indicateur d'erreur en résidu en mécanique aux noeuds"), ), - "QIRE_ELEM": ( (), - _(u"Indicateur d'erreur en quantités d'intérêt en résidu par élément"), ), - "QIRE_ELNO": ( (), - _(u"Indicateur d'erreur en quantités d'intérêt en résidu aux noeuds par élément"), ), - "QIRE_NOEU": ( (), - _(u"Indicateur d'erreur en quantités d'intérêt en résidu aux noeuds"), ), - "QIZ1_ELEM": ( (), - _(u"Indicateur d'erreur en quantités d'intérêt de Zhu-Zienkiewicz version 1 par élément"), ), - "QIZ2_ELEM": ( (), - _(u"Indicateur d'erreur en quantités d'intérêt de Zhu-Zienkiewicz version 2 par élément"), ), - "SING_ELEM": ( (), - _(u"Degré de singularité par élément"), ), - "SING_ELNO": ( (), - _(u"Degré de singularité aux noeuds par élément"), ), - "ERTH_ELEM": ( (), - _(u"Indicateur d'erreur en résidu en thermique par élément"), ), - "ERTH_ELNO": ( (), - _(u"Indicateur d'erreur en résidu en thermique aux noeuds par élément"), ), - "ERTH_NOEU": ( (), - _(u"Indicateur d'erreur en résidu en thermique aux noeuds"), ), - } - d['METALLURGIE'] = { - "DURT_ELNO": ( (), - _(u"Dureté aux noeuds par élément"), ), - "DURT_NOEU": ( (), - _(u"Dureté aux noeuds"), ), - "META_ELNO": ( (), - _(u"Proportion de phases métallurgiques aux noeuds par élément"), ), - "META_NOEU": ( (), - _(u"Proportion de phases métallurgiques aux noeuds"), ), - } - d['DEPLACEMENT'] = { - "ACCE": ( (), - _(u"Accélération aux noeuds"), ), - "ACCE_ABSOLU": ( (), - _(u"Accélération absolue aux noeuds"), ), - "DEPL": ( (), - _(u"Déplacements aux noeuds"), ), - "DEPL_ABSOLU": ( (), - _(u"Déplacements absolus aux noeuds"), ), - "STRX_ELGA": ( (), - _(u"Efforts généralisés à partir des déplacements en linéaire aux points de Gauss"), ), - "TEMP": ( (), - _(u"Température aux noeuds"), ), - "VITE": ( (), - _(u"Vitesse aux noeuds"), ), - "VALE_CONT": ( (), - _(u"Statuts de contact"), ), - "VARI_ELGA": ( (), - _(u"Variables internes aux points de Gauss"), ), - "VITE_ABSOLU": ( (), - _(u"Vitesse absolue aux noeuds"), ), - } - d['AUTRES'] = { - "COMPORTEMENT": ( (), - _(u"Carte de comportement mécanique"), ), - "COMPORTHER": ( (), - _(u"Carte de comportement thermique"), ), - "DEPL_VIBR": ( (), - _(u"Déplacement pour mode vibratoire"), ), - "DIVU": ( (), - _(u"Déformation volumique en THM"), ), - "EPSA_ELNO": ( (), - _(u"Déformations anélastique aux noeuds par élément"), ), - "EPSA_NOEU": ( (), - _(u"Déformations anélastique aux noeuds"), ), - "FERRAILLAGE": ( ("lin",), - _(u"Densité de ferraillage"), ), - "FSUR_2D": ( (), - _(u"Chargement de force surfacique en 2D"), ), - "FSUR_3D": ( (), - _(u"Chargement de force surfacique en 3D"), ), - "FVOL_2D": ( (), - _(u"Chargement de force volumique en 2D"), ), - "FVOL_3D": ( (), - _(u"Chargement de force volumique en 3D"), ), - "HYDR_ELNO": ( (), - _(u"Hydratation aux noeuds par élément"), ), - "IRRA": ( (), - _(u"Irradition aux noeuds"), ), - "MODE_FLAMB": ( (), - _(u"Mode de flambement"), ), - "MODE_STAB": ( (), - _(u"Mode de stabilité"), ), - "NEUT": ( (), - _(u"Variable de commande 'neutre'"), ), - "PRES": ( (), - _(u"Chargement de pression"), ), - "PTOT": ( (), - _(u"Pression totale de fluide en THM"), ), - "SISE_ELNO": ( (), - _(u"Contraintes aux noeuds par sous-élément"), ), - "SPMX_ELGA": ( (), - _(u"Valeurs maximum sur un sous-point"), ), - "THETA": ( (), - _(u"Champ theta"), ), - "VITE_VENT": ( (), - _(u"Chargement vitesse du vent"), ), - } - for typ in ('ELGA', 'ELNO', 'ELEM', 'NOEU', 'CART'): - for i in range(1, 11): - d['AUTRES']['UT%02d_%s' % (i, typ)]=( (), - _(u"Champ utilisateur numéro %02d_%s" % (i, typ)), ) - self.d_all = d - return - - def CheckPhenom(self): - """ Vérification de la cohérence entre les phenomènes et les clés - """ - l_keys = list(self.d_all.keys()) - l_phen = list(self.all_phenomenes) - uniq_keys = set(l_keys) - uniq_phen = set(l_phen) - if len(l_keys) != len(uniq_keys) or len(l_phen) != len(uniq_phen) : - for i in uniq_keys : - l_keys.remove(i) - assert len(l_keys) == 0, 'Keys must be unique: %s' % l_keys - for i in uniq_phen : - l_phen.remove(i) - assert len(l_phen) == 0, 'Phenomenon must be unique: %s' % l_phen - if len(l_keys) > len(l_phen) : - for i in l_phen : - l_keys.remove(i) - assert len(l_keys) == 0, 'Key %s not listed in the list of phenomenons' % l_keys - if len(l_keys) < len(l_phen) : - for i in l_keys: - l_phen.remove(i) - assert len(l_phen) == 0, 'Phenomenon %s not known as a key' % l_phen - - - def CheckField(self): - """ Vérification des doublons dans les noms des champs - """ - l_cham = [] - for phen in self.all_phenomenes: - l_cham.extend(self.d_all[phen].keys()) - uniq = set(l_cham) - if len(l_cham) != len(uniq): - for i in uniq: - l_cham.remove(i) - assert len(l_cham) == 0, 'Field names must be unique: %s' % l_cham - - - def InfoChamps(self, l_nom_cham): - """ on renvoie juste les informations relatives au(x) champ(s) - """ - d_cham = {}.fromkeys( l_nom_cham, ( '', '', '' ) ) - for nom_cham in l_nom_cham: - for phen in self.all_phenomenes: - for cham in self.d_all[phen].keys(): - if nom_cham == cham: - cate = self.d_all[phen][cham][0] - helptxt = self.d_all[phen][cham][1] - d_cham[nom_cham] = ( phen, cate, helptxt ) - return d_cham - - def Filtre(self, *l_typ_cham, **kwargs): - """ Check des doublons - """ - phenomene = kwargs.get('phenomene') - categorie = kwargs.get('categorie') - # Construction de la liste des champs en tenant compte des eventuels filtre (phenomene, categorie, l_typ_cham) - # ------------------------------------------------------------------------------------------------------------ - l_cham = [] - # Filtre par phenomene - if phenomene is None: - l_phen = self.all_phenomenes - else: - l_phen = [ phenomene ] - for phen in l_phen: - # parcours de tous les champs - for cham in self.d_all[phen].keys(): - isok = True - # Filtre par categorie - if categorie is not None: - lcat = self.d_all[phen][cham][0] - if type(lcat) not in (tuple, list): - lcat = [lcat, ] - if categorie in lcat: - isok = True - else: - isok = False - if isok: - l_cham.append(cham) - l_cham.sort() - # Filtre sur les types de champs - if len(l_typ_cham) == 0: - return tuple(l_cham) - l_ncham = [] - for typ in l_typ_cham : - for cham in l_cham : - if typ in cham.split('_'): - l_ncham.append(cham) - return tuple(l_ncham) - - def __init__(self): - self.Tous() - # check les doublons (fonctionnalite developpeur permettant de detecter les doublons dans les champs) - if 1: - self.CheckPhenom() - self.CheckField() - - def __call__(self, *l_typ_cham, **kwargs): - """Cette fonction retourne la liste des "into" possibles pour le mot-clé NOM_CHAM. - C'est à dire les noms de champs des SD RESULTAT (DATA de la routine RSCRSD). - l_typ_cham : rien ou un ou plusieurs parmi 'ELGA', 'ELNO', 'NOEU', 'ELEM'. - kwargs : un dictionnaire de mot-cles, les cles parmis : - 'phenomene' : retourne la liste des champs en filtrant par le phenomene (eventuellement mixe avec le suivant) - 'categorie' : retourne la liste des champs en filtrant par le phenomene (eventuellement mixe avec le precedent) - 'l_nom_cham' : (une liste ou un string) retourne uniqement les informations relatives au champ precise en argument - """ - l_nom_cham = kwargs.get('l_nom_cham') - if type(l_nom_cham) == str: - l_nom_cham = [ l_nom_cham ] - if l_nom_cham: - return self.InfoChamps(l_nom_cham) - else: - return self.Filtre(*l_typ_cham, **kwargs) - - -C_NOM_CHAM_INTO = NOM_CHAM_INTO() - -# person_in_charge: xavier.desroches at edf.fr -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# ce fichier contient la liste des noms des grandeurs de CODE_ASTER -def C_NOM_GRANDEUR() : return ( #COMMUN# -"ABSC_R", -"ADRSJEVE", -"ADRSJEVN", -"CAARPO", -"CACABL", -"CACOQU", -"CADISA", -"CADISK", -"CADISM", -"CAFI_R", -"CAGEBA", -"CAGEPO", -"CAGNBA", -"CAGNPO", -"CAMASS", -"CAORIE", -"CAPOUF", -"CARCRI", -"CASECT", -"CHLI_R", -"CODE_I", -"COEH_F", -"COEH_R", -"COMPOR", -"CORR_R", -"CRRU_R", -"DBEL_R", -"DCEL_I", -"DDLI_C", -"DDLI_F", -"DDLI_R", -"DDLM_C", -"DDLM_R", -"DEPL_C", -"DEPL_F", -"DEPL_R", -"DISS_R", -"DOMA_R", -"DURT_R", -"ENDO_R", -"ENER_R", -"EPSI_C", -"EPSI_F", -"EPSI_R", -"ERRE_R", -"FACY_R", -"FELECR", -"FER2_R", -"FISS_R", -"FLAPLA", -"FLUN_F", -"FLUN_R", -"FLUX_F", -"FLUX_R", -"FORC_C", -"FORC_F", -"FORC_R", -"FREQ_R", -"FTHM_F", -"FTHM_R", -"G", -"GEOM_R", -"G_DEPL_R", -"HARMON", -"HYDR_R", -"IMPE_C", -"IMPE_F", -"IMPE_R", -"INDL_R", -"INFC_R", -"INST_R", -"INTE_R", -"INTLOC", -"IRRA_R", -"ITECREL", -"ITEDEC", -"J", -"LISTMA", -"MACOMP", -"MASS_R", -"MATE_F", -"NBSP_I", -"NEUT_F", -"NEUT_I", -"NEUT_K16", -"NEUT_K24", -"NEUT_K8", -"NEUT_R", -"NUMC_I", -"NUMMOD", -"ONDE_F", -"ONDE_R", -"PESA_R", -"PDIL_R", -"PILO_K", -"PILO_R", -"POSI", -"PREC", -"PRES_C", -"PRES_F", -"PRES_R", -"RAYO_F", -"RAYO_R", -"RCCM_K", -"RCCM_R", -"RESCREL", -"RICE_TRA", -"ROTA_R", -"SECTION", -"SIEF_C", -"SIEF_R", -"SIZZ_R", -"SOUR_F", -"SOUR_R", -"SPMX_R", -"STRX_R", -"STAOUDYN", -"TEMP_C", -"TEMP_F", -"TEMP_R", -"THETA", -"VALO_R", -"VANL_R", -"VAR2_R", -"VARI_R", -"VENTCX_F", -"VNOR_C", -"VNOR_F", -"VOISIN", -"WEIBULL", -"XCONTAC", - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr - -def C_OBSERVATION() : return FACT(statut='f',max=99, - TITRE =SIMP(statut='f',typ='TXM',max=1), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1, - into=("VALE_CONT","FORC_NODA", - "DEPL","VITE","ACCE","TEMP", - "SIEF_ELGA","VARI_ELGA", - "DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU",)), - - EVAL_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE', - into=("MIN","MAX","MOY","MAXI_ABS","MINI_ABS","VALE",),), - - NOM_CMP =SIMP(statut='o',typ='TXM',max=20), - EVAL_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE', - into=("VALE","FORMULE",),), - - b_formule =BLOC(condition="(EVAL_CMP=='FORMULE')", - FORMULE = SIMP(statut='o',typ=formule,max=1), - ), - - b_cham_no =BLOC(condition="(NOM_CHAM=='DEPL') or \ - (NOM_CHAM=='VITE') or \ - (NOM_CHAM=='ACCE') or \ - (NOM_CHAM=='TEMP') or \ - (NOM_CHAM=='FORC_NODA') or \ - (NOM_CHAM=='VALE_CONT') or \ - (NOM_CHAM=='DEPL_ABSOLU') or \ - (NOM_CHAM=='VITE_ABSOLU') or \ - (NOM_CHAM=='ACCE_ABSOLU')", - regles =(UN_PARMI('NOEUD','GROUP_NO','GROUP_MA','MAILLE','TOUT')), - TOUT =SIMP(statut='d',typ='TXM',into=("OUI",) ), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - - - b_cham_elga =BLOC(condition="(NOM_CHAM=='SIEF_ELGA') or \ - (NOM_CHAM=='VARI_ELGA')", - regles =(UN_PARMI('GROUP_MA','MAILLE','TOUT')), - TOUT =SIMP(statut='d',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - EVAL_ELGA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE', - into=("MIN","MAX","VALE",),), - b_elga_vale =BLOC(condition="(EVAL_ELGA=='VALE')", - POINT =SIMP(statut='o',typ='I' ,validators=NoRepeat(),max='**'), - SOUS_POINT =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'), - ), - ), - - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - PAS_OBSE =SIMP(statut='f',typ='I'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - - - ); - -# person_in_charge: mathieu.courtois at edf.fr -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# ce fichier contient la liste des PARA possibles pour les fonctions et les nappes -def C_PARA_FONCTION() : return ( #COMMUN# - "DX","DY","DZ","DRX","DRY","DRZ","TEMP","TSEC", - "INST","X","Y","Z","EPSI","META","FREQ","PULS","DSP", - "AMOR","ABSC","ABSC_CURV","SIGM","HYDR","SECH","PORO","SAT", - "PGAZ","PCAP","PLIQ","PVAP","PAD","VITE","ENDO", - "NORM","EPAIS","NEUT1","NEUT2",) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: kyrylo.kazymyrenko at edf.fr -def C_PILOTAGE() : return FACT(statut='f', - regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TYPE =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","DEFORMATION", - "ANA_LIM","SAUT_IMPO","SAUT_LONG_ARC") ), - COEF_MULT =SIMP(statut='f',typ='R',defaut= 1.0E+0), - EVOL_PARA =SIMP(statut='f',typ='TXM',defaut="SANS", into=("SANS","CROISSANT","DECROISSANT") ), - ETA_PILO_MAX =SIMP(statut='f',typ='R'), - ETA_PILO_MIN =SIMP(statut='f',typ='R'), - ETA_PILO_R_MAX=SIMP(statut='f',typ='R'), - ETA_PILO_R_MIN=SIMP(statut='f',typ='R'), - PROJ_BORNES =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - SELECTION =SIMP(statut='f',typ='TXM',defaut="NORM_INCR_DEPL", - into=("RESIDU","MIXTE","ANGL_INCR_DEPL","NORM_INCR_DEPL")), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - FISSURE =SIMP(statut='f',typ=fiss_xfem ,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), - NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), - DIRE_PILO =SIMP(statut='f',typ='TXM',max='**'), - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -def C_RECH_LINEAIRE() : return FACT(statut='f', - METHODE =SIMP(statut='f',typ='TXM',defaut="CORDE",into=("CORDE","MIXTE","PILOTAGE") ), - RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-1 ), - ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut= 3,val_max=999), - RHO_MIN =SIMP(statut='f',typ='R',defaut=1.0E-2), - RHO_MAX =SIMP(statut='f',typ='R',defaut=1.0E+1), - RHO_EXCL =SIMP(statut='f',typ='R',defaut=0.9E-2,val_min=0.), - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jean-michel.proix@edf.fr -# -def C_RELATION( COMMAND ): - - if COMMAND in ('CALC_G',): - return ( "ELAS", #COMMUN# - "ELAS_VMIS_LINE", - "ELAS_VMIS_TRAC", - "ELAS_VMIS_PUIS", - "ELAS_HYPER", - "VMIS_ISOT_LINE", - "VMIS_ISOT_TRAC", - # relations interdites depuis issue21711, elles - # devront etre introduites dans le F90 si besoin - #"VMIS_CINE_LINE", - #"VMIS_ISOT_PUIS", - ) - elif COMMAND in ('MACR_ASCOUF_CALC','MACR_ASPIC_CALC',): - return ( "ELAS", - "ELAS_VMIS_TRAC", - "VMIS_ISOT_TRAC", - ) - elif COMMAND =='DEFI_COMPOR' : - return ( "ELAS", #uniquement ce qui a du sens (cf doc) et qui fait l'objet d'un test - "BETON_UMLV_FP", - "BETON_DOUBLE_DP", - "CORR_ACIER", - "GRANGER_FP", - "GRANGER_FP_V", - "GRANGER_FP_INDT", - "GRAN_IRRA_LOG", - "MAZARS_GC", - "VISC_IRRA_LOG", - "VMIS_CINE_GC", - "VMIS_CINE_LINE", - "VMIS_ISOT_LINE", - "VMIS_ISOT_TRAC", - "VMIS_ISOT_PUIS", - ) - else : - return ( "ELAS", - "ELAS_VMIS_LINE", - "ELAS_VMIS_TRAC", - "ELAS_VMIS_PUIS", - "ELAS_HYPER", - "ELAS_POUTRE_GR", - "CABLE", - "ARME", - "ASSE_CORN", - "BARCELONE", - "BETON_BURGER_FP", - "BETON_DOUBLE_DP", - "BETON_RAG", - "BETON_REGLE_PR", - "BETON_UMLV_FP", - "CABLE_GAINE_FROT", - "CAM_CLAY", - "CJS", - "CORR_ACIER", - "CZM_EXP", - "CZM_EXP_REG", - "CZM_FAT_MIX", - "CZM_LIN_REG", - "CZM_OUV_MIX", - "CZM_TAC_MIX", - "CZM_LAB_MIX", - "CZM_TRA_MIX", - "DIS_BILI_ELAS", - "DIS_CHOC", - "DIS_ECRO_CINE", - "DIS_GOUJ2E_ELAS", - "DIS_GOUJ2E_PLAS", - "DIS_GRICRA", - "DIS_VISC", - "DRUCK_PRAGER", - "DRUCK_PRAG_N_A", - "ELAS_GONF", - "ELAS_HYPER", - "ENDO_CARRE", - "ENDO_FISS_EXP", - "ENDO_FRAGILE", - "ENDO_HETEROGENE", - "ENDO_ISOT_BETON", - "ENDO_ORTH_BETON", - "ENDO_SCALAIRE", - "GATT_MONERIE", - "GLRC_DAMAGE", - "GLRC_DM", - "DHRC", - "GRANGER_FP", - "GRANGER_FP_INDT", - "GRANGER_FP_V", - "GRAN_IRRA_LOG", - "GRILLE_CINE_LINE", - "GRILLE_ISOT_LINE", - "GRILLE_PINTO_MEN", - "HAYHURST", - "HOEK_BROWN", - "HOEK_BROWN_EFF", - "HOEK_BROWN_TOT", - "HUJEUX", - "IRRAD3M", - "JOINT_BA", - "JOINT_BANDIS", - "JOINT_MECA_RUPT", - "JOINT_MECA_FROT", - "KIT_CG", - "KIT_DDI", - "KIT_HH", - "KIT_H", - "KIT_HHM", - "KIT_HM", - "KIT_THH", - "KIT_THHM", - "KIT_THM", - "KIT_THV", - "LAIGLE", - "LEMAITRE", - "LEMAITRE_IRRA", - "LEMA_SEUIL", - "LETK", - "LMARC_IRRA", - "MAZARS", - "MAZARS_GC", - "META_LEMA_ANI", - "META_P_CL", - "META_P_CL_PT", - "META_P_CL_PT_RE", - "META_P_CL_RE", - "META_P_IL", - "META_P_IL_PT", - "META_P_IL_PT_RE", - "META_P_IL_RE", - "META_P_INL", - "META_P_INL_PT", - "META_P_INL_PT_RE", - "META_P_INL_RE", - "META_V_CL", - "META_V_CL_PT", - "META_V_CL_PT_RE", - "META_V_CL_RE", - "META_V_IL", - "META_V_IL_PT", - "META_V_IL_PT_RE", - "META_V_IL_RE", - "META_V_INL", - "META_V_INL_PT", - "META_V_INL_PT_RE", - "META_V_INL_RE", - "MOHR_COULOMB", - "MONOCRISTAL", - "MULTIFIBRE", - "NORTON", - "NORTON_HOFF", - "PINTO_MENEGOTTO", - "POLYCRISTAL", - "ROUSSELIER", - "ROUSS_PR", - "ROUSS_VISC", - "RUPT_FRAG", - "SANS", - "VENDOCHAB", - "VISC_ENDO_LEMA", - "VISCOCHAB", - "VISC_CIN1_CHAB", - "VISC_CIN2_CHAB", - "VISC_CIN2_MEMO", - "VISC_CIN2_NRAD", - "VISC_MEMO_NRAD", - "VISC_DRUC_PRAG", - "VISC_IRRA_LOG", - "VISC_ISOT_LINE", - "VISC_ISOT_TRAC", - "VISC_TAHERI", - "VMIS_ASYM_LINE", - "VMIS_CIN1_CHAB", - "VMIS_CIN2_CHAB", - "VMIS_CINE_GC", - "VMIS_CIN2_MEMO", - "VMIS_CIN2_NRAD", - "VMIS_MEMO_NRAD", - "VMIS_CINE_LINE", - "VMIS_ECMI_LINE", - "VMIS_ECMI_TRAC", - "VMIS_ISOT_LINE", - "VMIS_ISOT_PUIS", - "VMIS_ISOT_TRAC", - "VMIS_JOHN_COOK", - "ZMAT", - "UMAT", - "MFRONT", - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: olivier.boiteau at edf.fr - -def C_SOLVEUR( COMMAND, BASE=None ) : #COMMUN# - -# ---------------------------------------------------------------------------------------------------------------------------------- -# -# VERIFICATIONS -# -# ---------------------------------------------------------------------------------------------------------------------------------- - - assert COMMAND in ('CALC_ERREUR', - 'CALC_FORC_AJOU', - 'CALC_IFS_DNL', - 'CALC_MATR_AJOU', - 'CALC_PRECONT', - 'CREA_ELEM_SSD', - 'DEFI_BASE_MODALE', - 'DYNA_LINE_HARM', - 'DYNA_LINE_TRAN', - 'DYNA_NON_LINE', - 'DYNA_TRAN_MODAL', - 'INFO_MODE', - 'MACR_ASCOUF_CALC', - 'MACR_ASPIC_CALC', - 'MACRO_BASCULE_SCHEMA', - 'MACRO_MATR_AJOU', - 'MECA_STATIQUE', - 'MODE_ITER_SIMULT', - 'MODE_ITER_INV', - 'MODE_STATIQUE', - 'MODE_NON_LINE', - 'STAT_NON_LINE', - 'THER_LINEAIRE', - 'THER_NON_LINE', - 'THER_NON_LINE_MO', - ) - - if BASE != None: - assert COMMAND == 'DYNA_LINE_HARM' - assert BASE in ('GENE','PHYS') - -# ---------------------------------------------------------------------------------------------------------------------------------- -# -# CLASSIFICATION EN 3 CATEGORIES : -# - solveurs directs uniquement -# - solveurs pour le linéaire -# - solveurs pour le non-linéaire -# -# GESTION DES EXCEPTIONS -# -# ---------------------------------------------------------------------------------------------------------------------------------- - - _type = None - -# Classification ('SD'/'LIN'/'NL') - if COMMAND in ('CREA_ELEM_SSD', - 'DEFI_BASE_MODALE', - 'DYNA_LINE_HARM', - 'DYNA_TRAN_MODAL', - 'INFO_MODE', - 'MODE_ITER_SIMULT', - 'MODE_ITER_INV', - ): - _type = 'SD' - elif COMMAND in ('CALC_ERREUR', - 'CALC_FORC_AJOU', - 'CALC_MATR_AJOU', - 'DYNA_LINE_TRAN', - 'MACRO_MATR_AJOU', - 'MECA_STATIQUE', - 'MODE_STATIQUE', - 'THER_LINEAIRE', - 'THER_NON_LINE_MO', - ): - _type = 'LIN' - elif COMMAND in ('CALC_IFS_DNL', - 'CALC_PRECONT', - 'DYNA_NON_LINE', - 'MACR_ASCOUF_CALC', - 'MACR_ASPIC_CALC', - 'MACRO_BASCULE_SCHEMA', - 'STAT_NON_LINE', - 'THER_NON_LINE', - 'MODE_NON_LINE', - ): - _type = 'NL' - else: - assert False - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _dist = False - -# MATR_DISTRIBUEE ne fonctionnent que dans MECA_STATIQUE et MECA_NON_LINE - if COMMAND in ('CALC_IFS_DNL', - 'CALC_PRECONT', - 'DYNA_NON_LINE', - 'MACR_ASCOUF_CALC', - 'MACR_ASPIC_CALC', - 'MACRO_BASCULE_SCHEMA', - 'MECA_STATIQUE', - 'STAT_NON_LINE', - ): - _dist = True - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _gene = False - _ldlt = False - -# Avec des matrices généralisées, MULT_FRONT n'est pas permis, LDLT est donc par défaut - if BASE == 'GENE': - _gene = True - _ldlt = True - -# LDLT est le solveur par défaut dans DYNA_TRAN_MODAL (systèmes linéaires petits) - if COMMAND == 'DYNA_TRAN_MODAL': - _ldlt = True - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _syme = False - -# Seuls les opérateurs non-linéaires produisent des matrices non-symétriques - if _type == 'NL': - _syme = True - if COMMAND == 'THER_NON_LINE_MO': - _syme = True - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _singu = True - _rcmk = True - _resol = True - _cmodal = False - -# Avec les solveurs modaux STOP_SINGULIER n'existe pas, de plus RCMK n'est pas disponible - if COMMAND in ('INFO_MODE','MODE_ITER_INV','MODE_ITER_SIMULT'): - _cmodal= True - _singu = False - _rcmk = False -# Dans INFO_MODE on ne fait que factoriser - if COMMAND == 'INFO_MODE': - _resol = False - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _singu_non = False - -# Dans DEFI_BASE_MODALE, NON est le défaut de STOP_SINGULIER - if COMMAND == 'DEFI_BASE_MODALE': - _singu_non = True - -# ---------------------------------------------------------------------------------------------------------------------------------- -# -# INITIALISATIONS -# -# ---------------------------------------------------------------------------------------------------------------------------------- - -# Mot-clés simples - _MotCleSimples={} - -# Solveurs - _BlocMF={} - _BlocLD={} - _BlocMU={} - _BlocGC={} - _BlocPE={} - -# Préconditionneurs - _BlocGC_INC={} - _BlocPE_INC={} - _BlocXX_SP={} - _BlocPE_ML={} - _BlocPE_BOOMER={} - _BlocXX_Autres={} - -# ---------------------------------------------------------------------------------------------------------------------------------- -# -# MOT-CLES SIMPLES : METHODE -# SYME -# -# ---------------------------------------------------------------------------------------------------------------------------------- - -# METHODE - if (_ldlt): - _defaut = "LDLT" - else: - _defaut = "MULT_FRONT" - - if _type == 'SD': - _into = ("MULT_FRONT", "LDLT", "MUMPS", ) - if _gene: - _into = ("LDLT", "MUMPS", ) - else: - _into = ("MULT_FRONT", "LDLT", "MUMPS", "GCPC", "PETSC", ) - - if COMMAND =='MODE_NON_LINE': - _defaut = "MUMPS" - _into = ("MUMPS",) - - _MotCleSimples['METHODE'] = SIMP(statut='f', typ='TXM', defaut=_defaut, into=_into, ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - -# SYME - if _syme: - _MotCleSimples['SYME'] = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON", ), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- -# -# MULT_FRONT/LDLT/MUMPS (RENUM/NPREC/STOP_SINGULIER) -# -# ---------------------------------------------------------------------------------------------------------------------------------- - -# RENUM - _BlocMF['RENUM'] = SIMP(statut='f', typ='TXM', defaut="METIS", into=("MD", "MDA", "METIS", ), ) - - if _rcmk: - _into = ("RCMK", "SANS", ) - _defaut = "RCMK" - else: - _into = ("SANS",) - _defaut = "SANS" - - _BlocLD['RENUM'] = SIMP(statut='f', typ='TXM', defaut=_defaut, into=_into, ) - - _BlocMU['RENUM'] = SIMP(statut='f', typ='TXM', defaut="AUTO", into=("AMD", "AMF", "PORD", "METIS", "QAMD", "SCOTCH", "AUTO", ), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- -# NPREC - _BlocMF['NPREC'] = SIMP(statut='f', typ='I', defaut=8, ) - _BlocLD['NPREC'] = SIMP(statut='f', typ='I', defaut=8, ) - _BlocMU['NPREC'] = SIMP(statut='f', typ='I', defaut=8, ) - -# ---------------------------------------------------------------------------------------------------------------------------------- -# ELIM_LAGR - - if not _cmodal : - _BlocPE['ELIM_LAGR' ] = SIMP(statut='f', typ='TXM', defaut="NON" , into=("OUI", "NON"), ) - _BlocMF['ELIM_LAGR' ] = SIMP(statut='f', typ='TXM', defaut="NON" , into=("OUI", "NON"), ) - _BlocLD['ELIM_LAGR' ] = SIMP(statut='f', typ='TXM', defaut="NON" , into=("OUI", "NON"), ) - _BlocMU['ELIM_LAGR' ] = SIMP(statut='f', typ='TXM', defaut="LAGR2" , into=("OUI", "NON", "LAGR2"), ) - else : - _BlocMU['ELIM_LAGR' ] = SIMP(statut='f', typ='TXM', defaut="LAGR2" , into=("NON", "LAGR2"), ) - - -# ---------------------------------------------------------------------------------------------------------------------------------- -# STOP_SINGULIER - _into = ("OUI", "NON", ) - _defaut = "OUI" - - if _singu_non: - _defaut = "NON" - - if _singu: - _BlocMF['STOP_SINGULIER'] = SIMP(statut='f', typ='TXM', defaut=_defaut, into=_into, ) - _BlocLD['STOP_SINGULIER'] = SIMP(statut='f', typ='TXM', defaut=_defaut, into=_into, ) - _BlocMU['STOP_SINGULIER'] = SIMP(statut='f', typ='TXM', defaut=_defaut, into=_into, ) - -# ---------------------------------------------------------------------------------------------------------------------------------- -# -# MUMPS (MOT-CLES RESTANT) -# -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocMU['TYPE_RESOL' ] = SIMP(statut='f', typ='TXM', defaut="AUTO", into=("NONSYM", "SYMGEN", "SYMDEF", "AUTO", ), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocMU['PRETRAITEMENTS' ] = SIMP(statut='f', typ='TXM', defaut="AUTO", into=("SANS", "AUTO", ), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - if _resol: - _BlocMU['POSTTRAITEMENTS'] = SIMP(statut='f', typ='TXM', defaut="AUTO", into=("SANS", "AUTO", "FORCE", ), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocMU['PCENT_PIVOT' ] = SIMP(statut='f', typ='I' , defaut=20, val_min=1, ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - if _resol: - if _type == 'LIN': - _BlocMU['RESI_RELA'] = SIMP(statut='f', typ='R', defaut=1.0E-6, ) - else: - _BlocMU['RESI_RELA'] = SIMP(statut='f', typ='R', defaut=-1.0, ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocMU['GESTION_MEMOIRE'] = SIMP(statut='f', typ='TXM', defaut="AUTO", into=("IN_CORE", "OUT_OF_CORE", "AUTO", "EVAL"), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - if _type == 'NL': - _BlocMU['FILTRAGE_MATRICE'] = SIMP(statut='f', typ='R' , defaut=-1.0, ) - _BlocMU['MIXER_PRECISION' ] = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON", ), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - if _dist: - _BlocMU['MATR_DISTRIBUEE' ] = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON", ), ) - _BlocPE['MATR_DISTRIBUEE' ] = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON", ), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- -# -# GCPC/PETSC -# -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocPE['ALGORITHME'] = SIMP(statut='f', typ='TXM', defaut="GMRES", into=("CG", "CR", "GMRES", "GCR", ), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocGC['PRE_COND'] = SIMP(statut='f', typ='TXM', defaut="LDLT_INC", into=("LDLT_INC", "LDLT_SP", ), ) - _BlocPE['PRE_COND'] = SIMP(statut='f', typ='TXM', defaut="LDLT_SP" , - into=("LDLT_INC", "LDLT_SP", "JACOBI", "SOR", "ML", "BOOMER", "SANS", ), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocGC['RESI_RELA'] = SIMP(statut='f', typ='R', defaut= 1.E-6, ) - _BlocPE['RESI_RELA'] = SIMP(statut='f', typ='R', defaut= 1.E-6, ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocGC['NMAX_ITER'] = SIMP(statut='f', typ='I', defaut= 0, ) - _BlocPE['NMAX_ITER'] = SIMP(statut='f', typ='I', defaut= 0, ) - -# ---------------------------------------------------------------------------------------------------------------------------------- -# Mot-cle cache pour desactiver le critere en norme non preconditionnee dans PETSC - - if _type == 'NL': - _BlocPE['RESI_RELA_PC'] = SIMP(statut='c', typ='R', defaut= -1.0, ) - else: - _BlocPE['RESI_RELA_PC'] = SIMP(statut='c', typ='R', defaut= 0.0, ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocGC_INC['RENUM'] = SIMP(statut='f', typ='TXM', defaut="RCMK", into=("SANS","RCMK"), ) - _BlocPE_INC['RENUM'] = SIMP(statut='f', typ='TXM', defaut="RCMK", into=("SANS","RCMK"), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocGC_INC['NIVE_REMPLISSAGE'] = SIMP(statut='f', typ='I', defaut= 0, ) - _BlocPE_INC['NIVE_REMPLISSAGE'] = SIMP(statut='f', typ='I', defaut= 0, ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocPE_INC['REMPLISSAGE'] = SIMP(statut='f', typ='R', defaut= 1.0, ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocXX_SP['RENUM'] = SIMP(statut='f', typ='TXM', defaut="SANS", into=("SANS",), ) - _BlocXX_SP['REAC_PRECOND'] = SIMP(statut='f', typ='I', defaut=30, ) - _BlocXX_SP['PCENT_PIVOT' ] = SIMP(statut='f', typ='I', defaut=20, val_min=1, ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocPE_ML['RENUM'] = SIMP(statut='f', typ='TXM', defaut="SANS", into=("SANS",), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocPE_BOOMER['RENUM'] = SIMP(statut='f', typ='TXM', defaut="SANS", into=("SANS",), ) - -# ---------------------------------------------------------------------------------------------------------------------------------- - - _BlocXX_Autres['RENUM'] = SIMP(statut='f', typ='TXM', defaut="SANS", into=("SANS","RCMK", ), ) - - -# ---------------------------------------------------------------------------------------------------------------------------------- -# -# PREPARATION DU MOT-CLE FACTEUR -# -# ---------------------------------------------------------------------------------------------------------------------------------- - - mcfact = FACT(statut='d', - b_mult_front = BLOC(condition = "METHODE == 'MULT_FRONT' ", - fr="Paramètres de la méthode multi frontale", - **_BlocMF - ), - b_ldlt = BLOC(condition = "METHODE == 'LDLT' ", - fr="Paramètres de la méthode LDLT", - **_BlocLD - ), - b_mumps = BLOC(condition = "METHODE == 'MUMPS' ", - fr="Paramètres de la méthode MUMPS", - **_BlocMU - ), - b_gcpc = BLOC(condition = "METHODE == 'GCPC' ", - fr="Paramètres de la méthode du gradient conjugué", - b_ldltinc = BLOC(condition = "PRE_COND == 'LDLT_INC' ", - fr="Paramètres de la factorisation incomplète", - **_BlocGC_INC - ), - b_simple = BLOC(condition = "PRE_COND == 'LDLT_SP' ", - fr="Paramètres de la factorisation simple précision", - **_BlocXX_SP - ), - **_BlocGC - ), - b_petsc = BLOC(condition = "METHODE == 'PETSC' ", - fr="Paramètres de la méthode PETSC", - b_ldltinc = BLOC(condition = "PRE_COND == 'LDLT_INC' ", - fr="Paramètres de la factorisation incomplète", - **_BlocPE_INC - ), - b_simple = BLOC(condition = "PRE_COND == 'LDLT_SP' ", - fr="Paramètres de la factorisation simple précision", - **_BlocXX_SP - ), - b_ml = BLOC(condition = "PRE_COND == 'ML' ", - fr="Paramètres du multigrille algébrique ML", - **_BlocPE_ML - ), - b_boomer = BLOC(condition = "PRE_COND == 'BOOMER' ", - fr="Paramètres du multigrille algébrique HYPRE", - **_BlocPE_BOOMER - ), - b_autres = BLOC(condition = "PRE_COND == 'JACOBI' or \ - PRE_COND == 'SOR' or \ - PRE_COND == 'SANS'", - **_BlocXX_Autres - ), - **_BlocPE - ), - **_MotCleSimples - ) - - return mcfact - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr - -def C_SUIVI_DDL() : return FACT(statut='f',max=4, - - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1, - into=("DEPL","VITE","ACCE", - "FORC_NODA", - "SIEF_ELGA","VARI_ELGA",)), - - EVAL_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE', - into=("MIN","MAX","MOY","MAXI_ABS","MINI_ABS","VALE",),), - - NOM_CMP =SIMP(statut='o',typ='TXM',max=20), - EVAL_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE', - into=("VALE","FORMULE",),), - - b_formule =BLOC(condition="(EVAL_CMP=='FORMULE')", - FORMULE = SIMP(statut='o',typ=formule,max=1), - ), - - b_cham_no =BLOC(condition="(NOM_CHAM=='DEPL') or \ - (NOM_CHAM=='VITE') or \ - (NOM_CHAM=='ACCE') or \ - (NOM_CHAM=='FORC_NODA') or \ - (NOM_CHAM=='VALE_CONT')", - regles =(UN_PARMI('NOEUD','GROUP_NO','GROUP_MA','MAILLE','TOUT')), - TOUT =SIMP(statut='d',typ='TXM',into=("OUI",) ), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - - b_cham_elga =BLOC(condition="(NOM_CHAM=='SIEF_ELGA') or \ - (NOM_CHAM=='VARI_ELGA')", - regles =(UN_PARMI('GROUP_MA','MAILLE','TOUT')), - TOUT =SIMP(statut='d',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - EVAL_ELGA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,defaut='VALE', - into=("MIN","MAX","VALE",),), - b_elga_vale =BLOC(condition="(EVAL_ELGA=='VALE')", - POINT =SIMP(statut='o',typ='I' ,validators=NoRepeat(),max='**'), - SOUS_POINT =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'), - ), - ), - - TITRE = SIMP(statut='f',typ='TXM',max=3), - - - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -def C_TEST_REFERENCE(keyword, max=1): #COMMUN# - """Mots-clés communs pour TEST_RESU, TEST_TABLE, TEST_FONCTION. - On retourne un bloc pour ajouter la règle UN_PARMI.""" - assert keyword in ('CHAM_NO', 'CHAM_ELEM', 'CARTE', 'RESU', 'GENE', 'OBJET', - 'TABLE', 'FONCTION', 'FICHIER') - with_int = keyword not in ('FONCTION', 'FICHIER') - with_complex = keyword not in ('OBJET', 'FICHIER') - with_string = keyword in ('FICHIER', 'TABLE') - vale_abs = keyword not in ('CARTE', 'FICHIER') - type_test = keyword not in ('CARTE', 'GENE', 'OBJET') - multi_prec = keyword in ('RESU', 'GENE') - reference = keyword not in ('FICHIER', ) - un_parmi = keyword not in ('FICHIER', ) - - opts = {} - opts_ref = {} - types = ['',] - def add_type(typ): - ttyp = typ == 'K' and 'TXM' or typ - types.append('_' + typ) - opts['VALE_CALC_' + typ] = SIMP(statut='f',typ=ttyp,max=max) - opts_ref['VALE_REFE_' + typ] = SIMP(statut='f',typ=ttyp,max=max) - if with_int: - add_type('I') - if with_complex: - add_type('C') - if with_string: - add_type('K') - if vale_abs: - opts['VALE_ABS'] = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")) - if type_test: - opts['TYPE_TEST'] = SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN")) - if not multi_prec: - opts['TOLE_MACHINE'] = SIMP(statut='f',typ='R',defaut=1.e-6) - opts['CRITERE'] = SIMP(statut='f',typ='TXM',defaut='RELATIF',into=("RELATIF","ABSOLU")) - else: - opts['TOLE_MACHINE'] = SIMP(statut='f',typ='R',max=2) - opts['CRITERE'] = SIMP(statut='f',typ='TXM',max=2,into=("RELATIF","ABSOLU")) - if un_parmi: - opts['regles'] = (UN_PARMI(*['VALE_CALC' + t for t in types])) - opts_ref['regles'] = (UN_PARMI(*['VALE_REFE' + t for t in types])) - if reference: - opts['b_reference'] = BLOC(condition = "REFERENCE != None", - VALE_REFE = SIMP(statut='f',typ='R',max=max), - PRECISION = SIMP(statut='f',typ='R',defaut=1.e-3), - **opts_ref) - opts['REFERENCE'] = SIMP(statut='f',typ='TXM', - into=("ANALYTIQUE","SOURCE_EXTERNE","AUTRE_ASTER","NON_DEFINI")) - kwargs = { - 'b_values' : BLOC(condition = "True", - VALE_CALC = SIMP(statut='f',typ='R',max=max), - LEGENDE = SIMP(statut='f',typ='TXM'), - **opts - ) - } - return kwargs - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: gerald.nicolas at edf.fr -# -# ce fichier contient la liste des "into" possibles pour le mot cle TYPE_CHAM -def C_TYPE_CHAM_INTO( type_cham=None ) : #COMMUN# -# Si aucun argument n'est passe, on utilise tous les types de champs possibles - if ( type_cham is None ) : - l_cham = ["ELEM", "ELNO", "ELGA", "CART", "NOEU"] -# Sinon, on n'utilise que les types passes en argument - else : - l_cham = [] - for typ in type_cham : - l_cham.append(typ) - - l = [] - for gd in C_NOM_GRANDEUR() : - if gd != "VARI_R" : - for typ in l_cham : - l.append(typ+"_"+gd) - else : - # il ne peut pas exister NOEU_VARI_R ni CART_VARI_R (il faut utiliser VAR2_R): - for typ in l_cham : - if typ not in ("CART", "NOEU") : - l.append(typ+"_"+gd) - - return tuple(l) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jean-luc.flejou at edf.fr -AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op= 19,sd_prod=cara_elem, - fr="Affectation de caracteristiques a des elements de structure", - reentrant='n', - UIinfo ={"groupes":("Modélisation",)}, - regles = (AU_MOINS_UN('POUTRE','BARRE','COQUE','CABLE','DISCRET','DISCRET_2D','MASSIF', - 'GRILLE','MEMBRANE','MULTIFIBRE','RIGI_PARASOL'), - PRESENT_PRESENT('MULTIFIBRE','GEOM_FIBRE'), - EXCLUS('DISCRET','DISCRET_2D'),), - MODELE = SIMP(statut='o',typ=modele_sdaster ), - INFO = SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ), - VERIF = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("MAILLE","NOEUD") ), - -# ============================================================================ - POUTRE = FACT(statut= 'f',max= '**', - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut= 'f',typ= ma ,validators= NoRepeat(),max= '**'), - GROUP_MA = SIMP(statut= 'f',typ= grma,validators= NoRepeat(),max= '**'), - SECTION = SIMP(statut= 'o',typ= 'TXM' ,into= ("GENERALE","RECTANGLE","CERCLE") ), - b_generale = BLOC(condition = " SECTION == 'GENERALE'", - VARI_SECT = SIMP(statut= 'f',typ= 'TXM',into= ("CONSTANT","HOMOTHETIQUE"),defaut= "CONSTANT"), - b_constant = BLOC(condition = "VARI_SECT == 'CONSTANT'", - regles = (PRESENT_ABSENT('TABLE_CARA','CARA'), - PRESENT_PRESENT('TABLE_CARA','NOM_SEC'),PRESENT_PRESENT('CARA','VALE')), - TABLE_CARA = SIMP(statut= 'f',typ=table_sdaster), - NOM_SEC = SIMP(statut= 'f',typ= 'TXM'), - CARA = SIMP(statut= 'f',typ= 'TXM',validators= NoRepeat(),min= 4 ,max= 15, - fr= "A,IY,IZ,JX sont des paramètres obligatoires", - into= ("A","IY","IZ","AY","AZ","EY","EZ","JX","RY","RZ","RT", - "JG","IYR2","IZR2","AI") ), - VALE = SIMP(statut= 'f',typ= 'R',min= 4 ,max= 15), ), - b_homothetique = BLOC(condition = "VARI_SECT == 'HOMOTHETIQUE'", - CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 8 ,max= 30, - fr= "A1,A2,IY1,IY2,IZ1,IZ2,JX1,JX2 sont des paramètres obligatoires", - into= ("A1","IY1","IZ1","AY1","AZ1","EY1","EZ1","JX1","RY1", - "RZ1","RT1","JG1","IYR21","IZR21","AI1", - "A2","IY2","IZ2","AY2","AZ2","EY2","EZ2","JX2","RY2", - "RZ2","RT2","JG2","IYR22","IZR22","AI2") ), - VALE = SIMP(statut= 'o',typ= 'R',min= 8 ,max= 30),), - ), - b_rectangle = BLOC(condition = "SECTION == 'RECTANGLE'", - VARI_SECT = SIMP(statut= 'f',typ= 'TXM',into= ("CONSTANT","HOMOTHETIQUE","AFFINE"),defaut= "CONSTANT"), - b_constant = BLOC(condition = "VARI_SECT == 'CONSTANT'", - CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 1 ,max= 4, - into= ("H","EP", "HY","HZ","EPY","EPZ") ), - VALE = SIMP(statut= 'o',typ= 'R',min= 1 ,max= 4), ), - b_homothetique = BLOC(condition = "VARI_SECT == 'HOMOTHETIQUE'", - CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 2 ,max= 8, - into= ("H1","HZ1","HY1","EP1","EPY1","EPZ1", - "H2","HZ2","HY2","EP2","EPY2","EPZ2") ), - VALE = SIMP(statut= 'o',typ= 'R',min= 2 ,max= 8), ), - b_affine = BLOC(condition = "VARI_SECT == 'AFFINE'", - CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 3 ,max= 6, - into= ("HY","EPY", "HZ1","EPZ1","HZ2","EPZ2") ), - VALE = SIMP(statut= 'o',typ= 'R',min= 3 ,max= 6), ), - ), - b_cercle = BLOC(condition = " SECTION == 'CERCLE'", - VARI_SECT = SIMP(statut= 'f',typ= 'TXM',into= ("CONSTANT","HOMOTHETIQUE"),defaut= "CONSTANT"), - b_constant = BLOC(condition = "VARI_SECT == 'CONSTANT'", - CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 1 ,max= 2, - fr= "R est un paramètre obligatoire", - into= ("R","EP") ), - VALE = SIMP(statut= 'o',typ= 'R',min= 1 ,max= 2), ), - b_homothetique = BLOC(condition = "VARI_SECT == 'HOMOTHETIQUE'", - CARA = SIMP(statut= 'o',typ= 'TXM',validators= NoRepeat(),min= 2 ,max= 4, - fr= "R1, R2 sont des paramètres obligatoires", - into= ("R1","R2","EP1","EP2") ), - VALE = SIMP(statut= 'o',typ= 'R',min= 2 ,max= 4), ), - MODI_METRIQUE = SIMP(statut= 'f',typ= 'TXM',defaut= "NON",into= ("OUI","NON") ), - FCX = SIMP(statut= 'f',typ= (fonction_sdaster,nappe_sdaster,formule) ), - TUYAU_NSEC = SIMP(statut= 'f',typ= 'I',val_max= 32,defaut= 16), - TUYAU_NCOU = SIMP(statut= 'f',typ= 'I',val_max= 10,defaut= 3), - ), - ), - -# ============================================================================ - BARRE = FACT(statut='f',max='**', - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SECTION = SIMP(statut='o',typ='TXM',into=("GENERALE","RECTANGLE","CERCLE") ), - b_generale = BLOC(condition = "SECTION=='GENERALE'", - regles = (PRESENT_ABSENT('TABLE_CARA','CARA'), - PRESENT_PRESENT('TABLE_CARA','NOM_SEC'),PRESENT_PRESENT('CARA','VALE')), - TABLE_CARA = SIMP(statut= 'f',typ=table_sdaster), - NOM_SEC = SIMP(statut= 'f',typ= 'TXM'), - CARA = SIMP(statut='f',typ='TXM',into=("A",) ), - VALE = SIMP(statut='f',typ='R',min=1,max=1 ), ), - b_rectangle = BLOC(condition = "SECTION=='RECTANGLE'", - CARA = SIMP(statut='o',typ='TXM', - into=("H","EP","HZ","HY","EPY","EPZ"), - validators=NoRepeat(),min=1,max=4 ), - VALE = SIMP(statut='o',typ='R',min=1,max=4 ), ), - b_cercle = BLOC(condition = "SECTION=='CERCLE'", - CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=2,into=("R","EP") ), - VALE = SIMP(statut='o',typ='R',min=1,max=2 ), ), - FCX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - -# ============================================================================ - COQUE = FACT(statut='f',max='**', - regles = (UN_PARMI('MAILLE','GROUP_MA' ), - EXCLUS('ANGL_REP','VECTEUR'), - PRESENT_PRESENT( 'EXCENTREMENT', 'INER_ROTA' ), - PRESENT_PRESENT( 'EXCENTREMENT_FO','INER_ROTA' ), - UN_PARMI('EPAIS','EPAIS_FO' ), - EXCLUS('EXCENTREMENT','EXCENTREMENT_FO'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - EPAIS = SIMP(statut='f',typ='R' ), - EPAIS_FO = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ANGL_REP = SIMP(statut='f',typ='R',min=2,max=2), - VECTEUR = SIMP(statut='f',typ='R',min=3,max=3), - A_CIS = SIMP(statut='f',typ='R',defaut= 0.8333333E0), - COEF_RIGI_DRZ = SIMP(statut='f',typ='R',defaut= 1.0E-5 ), - COQUE_NCOU = SIMP(statut='f',typ='I',defaut= 1 ), - EXCENTREMENT = SIMP(statut='f',typ='R' ), - EXCENTREMENT_FO = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - INER_ROTA = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MODI_METRIQUE = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ), - -# ============================================================================ - CABLE = FACT(statut='f',max='**', - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - N_INIT = SIMP(statut='f',typ='R',defaut= 5000. ), - SECTION = SIMP(statut='f',typ='R' ), - FCX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - -# ============================================================================ - DISCRET = FACT(statut='f',max='**', - REPERE = SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ), - AMOR_HYST = SIMP(statut='f',typ='R' ), - - SYME = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),), - b_SYME_OUI = BLOC(condition="SYME=='OUI'", - fr="SYMETRIQUE: Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds", - CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,defaut="None", - into=("K_T_D_N", "K_T_D_L", "K_TR_D_N", "K_TR_D_L", "K_T_N", "K_T_L", "K_TR_N", "K_TR_L", - "M_T_D_N", "M_T_D_L", "M_TR_D_N", "M_TR_D_L", "M_T_N", "M_T_L", "M_TR_N", "M_TR_L", - "A_T_D_N", "A_T_D_L", "A_TR_D_N", "A_TR_D_L", "A_T_N", "A_T_L", "A_TR_N", "A_TR_L",),), - # Affection des caractéristiques de RIGIDITE/AMORTISSEMENT/MASSE - b_AK_T_D_N = BLOC(condition = "((CARA=='K_T_D_N')or(CARA=='A_T_D_N'))", - fr="NOEUD: 3 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=3 ,max=3 ),), - b_AK_T_D_L = BLOC(condition = "((CARA=='K_T_D_L')or(CARA=='A_T_D_L'))", - fr="SEGMENT: 3 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=3 ,max=3 ),), - b_AK_TR_D_N = BLOC(condition = "((CARA=='K_TR_D_N')or(CARA=='A_TR_D_N'))", - fr="NOEUD: 6 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=6 ,max=6 ),), - b_AK_TR_D_L = BLOC(condition = "((CARA=='K_TR_D_L')or(CARA=='A_TR_D_L'))", - fr="SEGMENT: 6 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=6 ,max=6 ),), - b_MAK_T_N = BLOC(condition = "((CARA=='K_T_N')or(CARA=='A_T_N')or(CARA=='M_T_N'))", - fr="NOEUD: 6 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=6 ,max=6 ),), - b_MAK_T_L = BLOC(condition = "((CARA=='K_T_L')or(CARA=='A_T_L')or(CARA=='M_T_L'))", - fr="SEGMENT: 21 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=21,max=21),), - b_MAK_TR_N = BLOC(condition = "((CARA=='K_TR_N')or(CARA=='A_TR_N')or(CARA=='M_TR_N'))", - fr="NOEUD: 21 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=21,max=21),), - b_MAK_TR_L = BLOC(condition = "((CARA=='K_TR_L')or(CARA=='A_TR_L')or(CARA=='M_TR_L'))", - fr="SEGMENT: 78 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=78,max=78),), - # Affection des caractéristiques de MASSE - b_M_T_D_N = BLOC(condition = "(CARA=='M_T_D_N')", - fr="NOEUD: 1 valeur de masse", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=1 ,max=1 ),), - b_M_T_D_L = BLOC(condition = "(CARA=='M_T_D_L')", - fr="SEGMENT: 1 valeur de masse", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=1 ,max=1 ),), - b_M_TR_D_N = BLOC(condition = "(CARA=='M_TR_D_N')", - fr="NOEUD: 1 valeur de masse, 6 valeurs du tenseur d'inertie, 3 composantes du vecteur d'excentrement", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=10,max=10),), - b_M_TR_D_L = BLOC(condition = "(CARA=='M_TR_D_L')", - fr="SEGMENT: 1 valeur de masse, 3 valeurs du tenseur d'inertie", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=4,max=4),), - ), - # éléments à matrice non-symétrique - # b_MAK_T_N_NS 'K_T_N' 'A_T_N' 'M_T_N' - # b_MAK_T_L_NS 'K_T_L' 'A_T_L' 'M_T_L' - # b_MAK_TR_N_NS 'K_TR_N' 'A_TR_N' 'M_TR_N' - # b_MAK_TR_L_NS 'K_TR_L' 'A_TR_L' 'M_TR_L' - b_SYME_NON = BLOC(condition="SYME=='NON'", - fr="NON-SYMETRIQUE: Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds", - CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,defaut="None", - into=("K_T_N", "K_T_L", "K_TR_N", "K_TR_L", - "M_T_N", "M_T_L", "M_TR_N", "M_TR_L", - "A_T_N", "A_T_L", "A_TR_N", "A_TR_L",),), - # Affection des caractéristiques de RIGIDITE/AMORTISSEMENT/MASSE : NON-SYMETRIQUE - b_MAK_T_N_NS = BLOC(condition = "((CARA=='K_T_N')or(CARA=='A_T_N')or(CARA=='M_T_N'))", - fr="NOEUD: 9 valeurs (matrice pleine par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=9 ,max=9 ),), - b_MAK_T_L_NS = BLOC(condition = "((CARA=='K_T_L')or(CARA=='A_T_L')or(CARA=='M_T_L'))", - fr="SEGMENT: 36 valeurs (matrice pleine par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=36,max=36),), - b_MAK_TR_N_NS = BLOC(condition = "((CARA=='K_TR_N')or(CARA=='A_TR_N')or(CARA=='M_TR_N'))", - fr="NOEUD: 36 valeurs (matrice pleine par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=36,max=36),), - b_MAK_TR_L_NS = BLOC(condition = "((CARA=='K_TR_L')or(CARA=='A_TR_L')or(CARA=='M_TR_L'))", - fr="SEGMENT: 144 valeurs (matrice pleine par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=144,max=144),), - ), - ), -# ============================================================================ - DISCRET_2D = FACT(statut='f',max='**', - REPERE = SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ), - AMOR_HYST = SIMP(statut='f',typ='R' ), - SYME = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),), - b_SYME_OUI = BLOC(condition="SYME=='OUI'", - fr="SYMETRIQUE: Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds", - CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,defaut="None", - into=("K_T_D_N", "K_T_D_L", "K_TR_D_N", "K_TR_D_L", "K_T_N", "K_T_L", "K_TR_N", "K_TR_L", - "M_T_D_N", "M_T_D_L", "M_TR_D_N", "M_TR_D_L", "M_T_N", "M_T_L", "M_TR_N", "M_TR_L", - "A_T_D_N", "A_T_D_L", "A_TR_D_N", "A_TR_D_L", "A_T_N", "A_T_L", "A_TR_N", "A_TR_L",),), - # Affection des caractéristiques de RIGIDITE/AMORTISSEMENT/MASSE - b_AK_T_D_N = BLOC(condition = "((CARA=='K_T_D_N')or(CARA=='A_T_D_N'))", - fr="NOEUD: 2 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=2 ,max=2 ),), - b_AK_T_D_L = BLOC(condition = "((CARA=='K_T_D_L')or(CARA=='A_T_D_L'))", - fr="SEGMENT: 2 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=2 ,max=2 ),), - b_AK_TR_D_N = BLOC(condition = "((CARA=='K_TR_D_N')or(CARA=='A_TR_D_N'))", - fr="NOEUD: 3 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=3 ,max=3 ),), - b_AK_TR_D_L = BLOC(condition = "((CARA=='K_TR_D_L')or(CARA=='A_TR_D_L'))", - fr="SEGMENT: 3 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=3 ,max=3 ),), - b_MAK_T_N = BLOC(condition = "((CARA=='K_T_N')or(CARA=='A_T_N')or(CARA=='M_T_N'))", - fr="NOEUD: 3 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=3 ,max=3 ),), - b_MAK_T_L = BLOC(condition = "((CARA=='K_T_L')or(CARA=='A_T_L')or(CARA=='M_T_L'))", - fr="SEGMENT: 10 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=10,max=10),), - b_MAK_TR_N = BLOC(condition = "((CARA=='K_TR_N')or(CARA=='A_TR_N')or(CARA=='M_TR_N'))", - fr="NOEUD: 6 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=6 ,max=6),), - b_MAK_TR_L = BLOC(condition = "((CARA=='K_TR_L')or(CARA=='A_TR_L')or(CARA=='M_TR_L'))", - fr="SEGMENT: 21 valeurs (triangulaire supérieure par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=21,max=21),), - # Affection des caractéristiques de MASSE - b_M_T_D_N = BLOC(condition = "(CARA=='M_T_D_N')", - fr="NOEUD: 1 valeur de masse", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=1 ,max=1 ),), - b_M_T_D_L = BLOC(condition = "(CARA=='M_T_D_L')", - fr="SEGMENT: 1 valeur de masse", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=1 ,max=1 ),), - b_M_TR_D_N = BLOC(condition = "(CARA=='M_TR_D_N')", - fr="NOEUD: 1 valeur de masse, 1 valeur d'inertie, 2 composantes du vecteur d'excentrement", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=4 ,max=4 ),), - b_M_TR_D_L = BLOC(condition = "(CARA=='M_TR_D_L')", - fr="SEGMENT: 1 valeur de masse, 1 valeur d'inertie", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=2 ,max=2 ),), - ), - # éléments à matrice non-symétrique - # b_MAK_T_N_NS 'K_T_N' 'A_T_N' 'M_T_N' - # b_MAK_T_L_NS 'K_T_L' 'A_T_L' 'M_T_L' - # b_MAK_TR_N_NS 'K_TR_N' 'A_TR_N' 'M_TR_N' - # b_MAK_TR_L_NS 'K_TR_L' 'A_TR_L' 'M_TR_L' - b_SYME_NON = BLOC(condition="SYME=='NON'", - fr="NON-SYMETRIQUE: Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds", - CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,defaut="None", - into=("K_T_N", "K_T_L", "K_TR_N", "K_TR_L", - "M_T_N", "M_T_L", "M_TR_N", "M_TR_L", - "A_T_N", "A_T_L", "A_TR_N", "A_TR_L",),), - # Affection des caractéristiques de RIGIDITE/AMORTISSEMENT/MASSE : NON-SYMETRIQUE - b_MAK_T_N_NS = BLOC(condition = "((CARA=='K_T_N')or(CARA=='A_T_N')or(CARA=='M_T_N'))", - fr="NOEUD: 4 valeurs (matrice pleine par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=4 ,max=4 ),), - b_MAK_T_L_NS = BLOC(condition = "((CARA=='K_T_L')or(CARA=='A_T_L')or(CARA=='M_T_L'))", - fr="SEGMENT: 16 valeurs (matrice pleine par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=16,max=16),), - b_MAK_TR_N_NS = BLOC(condition = "((CARA=='K_TR_N')or(CARA=='A_TR_N')or(CARA=='M_TR_N'))", - fr="NOEUD: 9 valeurs (matrice pleine par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=9 ,max=9),), - b_MAK_TR_L_NS = BLOC(condition = "((CARA=='K_TR_L')or(CARA=='A_TR_L')or(CARA=='M_TR_L'))", - fr="SEGMENT: 36 valeurs (matrice pleine par colonne)", - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - VALE = SIMP(statut='o',typ='R',min=36,max=36),), - ), - ), -# ============================================================================ - ORIENTATION = FACT(statut='f',max='**', - regles = (UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO' ),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - CARA = SIMP(statut='o',typ='TXM', - into=("VECT_Y","ANGL_VRIL","VECT_X_Y","ANGL_NAUT","GENE_TUYAU") ), - VALE = SIMP(statut='o',typ='R',max='**'), - PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-4 ), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - ), - -# ============================================================================ - DEFI_ARC = FACT(statut='f',max='**', - regles = (UN_PARMI('MAILLE','GROUP_MA'), - UN_PARMI('ORIE_ARC','CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE', - 'POIN_TANG','NOEUD_POIN_TANG','GROUP_NO_POIN_TG'), - PRESENT_PRESENT('ORIE_ARC','RAYON'), - EXCLUS('COEF_FLEX','COEF_FLEX_XY'), - EXCLUS('COEF_FLEX','COEF_FLEX_XZ'), - EXCLUS('INDI_SIGM','INDI_SIGM_XY'), - EXCLUS('INDI_SIGM','INDI_SIGM_XZ'), - PRESENT_PRESENT('COEF_FLEX_XY','COEF_FLEX_XZ'), - PRESENT_PRESENT('INDI_SIGM_XY','INDI_SIGM_XZ'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ORIE_ARC = SIMP(statut='f',typ='R'), - CENTRE = SIMP(statut='f',typ='R',max='**'), - NOEUD_CENTRE = SIMP(statut='f',typ=no), - GROUP_NO_CENTRE = SIMP(statut='f',typ=grno), - POIN_TANG = SIMP(statut='f',typ='R',max='**'), - NOEUD_POIN_TANG = SIMP(statut='f',typ=no), - GROUP_NO_POIN_TG = SIMP(statut='f',typ=grno), - RAYON = SIMP(statut='f',typ='R'), - COEF_FLEX = SIMP(statut='f',typ='R'), - INDI_SIGM = SIMP(statut='f',typ='R'), - COEF_FLEX_XY = SIMP(statut='f',typ='R'), - INDI_SIGM_XY = SIMP(statut='f',typ='R'), - COEF_FLEX_XZ = SIMP(statut='f',typ='R'), - INDI_SIGM_XZ = SIMP(statut='f',typ='R'), - PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - ), - -#============================================================================ - MASSIF = FACT(statut='f',max='**', - regles = (UN_PARMI('MAILLE','GROUP_MA'), - UN_PARMI('ANGL_REP','ANGL_AXE','ANGL_EULER'), - EXCLUS('ANGL_REP','ANGL_EULER'), - EXCLUS('ANGL_REP','ANGL_AXE'), - EXCLUS('ANGL_REP','ORIG_AXE'), - PRESENT_PRESENT('ANGL_AXE','ORIG_AXE'), ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ANGL_REP = SIMP(statut='f',typ='R',max=3), - ANGL_EULER = SIMP(statut='f',typ='R',min=3,max=3), - ANGL_AXE = SIMP(statut='f',typ='R',max=2), - ORIG_AXE = SIMP(statut='f',typ='R',max=3), - ), - -# ============================================================================ - POUTRE_FLUI = FACT(statut='f',max='**', - regles = (UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - B_T = SIMP(statut='o',typ='R'), - B_N = SIMP(statut='o',typ='R'), - B_TN = SIMP(statut='o',typ='R',defaut= 0.E+0 ), - A_FLUI = SIMP(statut='o',typ='R'), - A_CELL = SIMP(statut='o',typ='R'), - COEF_ECHELLE = SIMP(statut='o',typ='R'), - ), - -# ============================================================================ - GRILLE = FACT(statut='f',max='**', - regles = (UN_PARMI('MAILLE','GROUP_MA'), - EXCLUS('ANGL_REP','AXE'), - UN_PARMI('SECTION','SECTION_FO' ), - EXCLUS('EXCENTREMENT','EXCENTREMENT_FO'), ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SECTION = SIMP(statut='f',typ='R'), - SECTION_FO = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ANGL_REP = SIMP(statut='f',typ='R',max=2), - EXCENTREMENT = SIMP(statut='f',typ='R'), - EXCENTREMENT_FO = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - AXE = SIMP(statut='f',typ='R',max='**'), - COEF_RIGI_DRZ = SIMP(statut='f',typ='R',defaut= 1.0E-10 ), - ), - -# ============================================================================ - MEMBRANE = FACT(statut='f',max='**', - regles = (UN_PARMI('MAILLE','GROUP_MA'), - EXCLUS('ANGL_REP','AXE'), - ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ANGL_REP = SIMP(statut='f',typ='R',max=2), - AXE = SIMP(statut='f',typ='R',max='**'), - ), - -#============================================================================ - RIGI_PARASOL = FACT(statut='f',max='**', - regles = (UN_PARMI('COEF_GROUP','FONC_GROUP'), - UN_PARMI('COOR_CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'), - EXCLUS('GROUP_MA_POI1','GROUP_MA_SEG2'),), - GROUP_MA = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**', - fr="Surface servant à répartir les caractéristiques des discrets"), - GROUP_MA_POI1 = SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1, - fr="Mailles de type point correspondant aux discrets"), - GROUP_MA_SEG2 = SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1, - fr="Mailles de type seg2 correspondant aux discrets"), - FONC_GROUP = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - COEF_GROUP = SIMP(statut='f',typ='R',max='**'), - REPERE = SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ), - CARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2, - into=("K_TR_D_N","K_T_D_N","K_TR_D_L","K_T_D_L", - "A_TR_D_N","A_T_D_N","A_TR_D_L","A_T_D_L"), - fr="Choix des types de discrets du tapis de ressorts." ), - b_cara= BLOC(condition =""" au_moins_un(CARA, ["K_TR_D_N","K_T_D_N","K_TR_D_L","K_T_D_L", - "A_TR_D_N","A_T_D_N","A_TR_D_L","A_T_D_L"]) or \ - (len(CARA)==2 and CARA[0][2:]==CARA[1][2:])""", - fr="Valeurs pour les discrets du tapis de ressorts.", - VALE = SIMP(statut='o',typ='R',max='**', - fr="Valeurs pour les discrets du tapis de ressorts.",), - ), - GROUP_NO_CENTRE = SIMP(statut='f',typ=grno), - NOEUD_CENTRE = SIMP(statut='f',typ=no), - COOR_CENTRE = SIMP(statut='f',typ='R',min=2,max=3), - EUROPLEXUS = SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON"), - UNITE = SIMP(statut='f',typ='I',val_min=1), - ), - -#============================================================================ - RIGI_MISS_3D = FACT(statut='f',max='**', - GROUP_MA_POI1 = SIMP(statut='o',typ=grma,max=1), - GROUP_MA_SEG2 = SIMP(statut='f',typ=grma,max=1), - FREQ_EXTR = SIMP(statut='o',typ='R',max=1), - UNITE_RESU_IMPE = SIMP(statut='f',typ='I',defaut=30), - ), - -#============================================================================ - MASS_AJOU = FACT(statut='f',max='**', - GROUP_MA = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**', - fr="Surface servant à répartir les caractéristiques des discrets"), - GROUP_MA_POI1 = SIMP(statut='o',typ=grma,validators=NoRepeat(),max=1, - fr="Mailles de type point correspondant aux discrets"), - FONC_GROUP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - -#============================================================================ - GEOM_FIBRE = SIMP(statut='f',max=1,typ=gfibre_sdaster, - fr="Donner le nom de la SD regroupant tous les groupes de fibres (issue de DEFI_GEOM_FIBRE)"), - - MULTIFIBRE = FACT(statut='f',max='**', - regles = (AU_MOINS_UN('GROUP_MA','MAILLE'),), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_FIBRE = SIMP(statut='o',typ='TXM',max='**'), - PREC_AIRE = SIMP(statut= 'f',typ= 'R',defaut= 0.01), - PREC_INERTIE = SIMP(statut= 'f',typ= 'R',defaut= 0.1), - ), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# -AFFE_CHAR_ACOU=OPER(nom="AFFE_CHAR_ACOU",op= 68,sd_prod=char_acou, - fr="Affectation de charges et conditions aux limites acoustiques constantes", - reentrant='n', - UIinfo={"groupes":("Chargements","Acoustique",)}, - regles=(AU_MOINS_UN('PRES_IMPO','VITE_FACE','IMPE_FACE','LIAISON_UNIF' ),), - MODELE =SIMP(statut='o',typ=modele_sdaster ), - METHODE =SIMP(statut='c',typ='TXM',fr="Stratégie de résolution pour les pressions imposées", - into=('DUALISATION',),defaut='DUALISATION',), - # METHODE='ELIMINATION' est traité dans le fortran mais dangereux actuellement - PRES_IMPO =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - PRES =SIMP(statut='o',typ='C' ), - ), - VITE_FACE =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - VNOR =SIMP(statut='o',typ='C' ), - ), - IMPE_FACE =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - IMPE =SIMP(statut='o',typ='C' ), - ), - LIAISON_UNIF =FACT(statut='f',max='**', - regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE' ),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - DDL =SIMP(statut='o',typ='TXM',max='**'), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -def affe_char_cine_prod(MECA_IMPO,THER_IMPO,ACOU_IMPO,EVOL_IMPO,**args): - if MECA_IMPO != None : return char_cine_meca - if THER_IMPO != None : return char_cine_ther - if ACOU_IMPO != None : return char_cine_acou - if EVOL_IMPO != None : - if AsType(EVOL_IMPO) in (evol_elas,evol_noli) : - return char_cine_meca - elif AsType(EVOL_IMPO) in (evol_ther,) : - return char_cine_ther - else : - raise AsException("Extension à faire ...") - - raise AsException("type de concept resultat non prevu") - - -AFFE_CHAR_CINE=OPER(nom="AFFE_CHAR_CINE",op= 101,sd_prod=affe_char_cine_prod - ,fr="Affectation de conditions aux limites cinématiques (U=U0) pour un traitement sans dualisation", - reentrant='n', - UIinfo={"groupes":("Chargements","Mécanique",)}, - regles=(UN_PARMI('MECA_IMPO','THER_IMPO','ACOU_IMPO','EVOL_IMPO'), - ), - MODELE =SIMP(statut='o',typ=modele_sdaster ), - - MECA_IMPO =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), - AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', - 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', - 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', - 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', - 'VO6','WI6','WO6','WO','WI1','WO1','GONF', - 'H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', - 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','V11','V12','V13','V21','V22', - 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21', - 'PRES22','PRES23','PRES31','PRES32','PRES33','LH1','GLIS'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - DX =SIMP(statut='f',typ='R' ), - DY =SIMP(statut='f',typ='R' ), - DZ =SIMP(statut='f',typ='R' ), - DRX =SIMP(statut='f',typ='R' ), - DRY =SIMP(statut='f',typ='R' ), - DRZ =SIMP(statut='f',typ='R' ), - GRX =SIMP(statut='f',typ='R' ), - PRES =SIMP(statut='f',typ='R' ), - PHI =SIMP(statut='f',typ='R' ), - TEMP =SIMP(statut='f',typ='R' ), - PRE1 =SIMP(statut='f',typ='R' ), - PRE2 =SIMP(statut='f',typ='R' ), - UI2 =SIMP(statut='f',typ='R' ), - UI3 =SIMP(statut='f',typ='R' ), - UI4 =SIMP(statut='f',typ='R' ), - UI5 =SIMP(statut='f',typ='R' ), - UI6 =SIMP(statut='f',typ='R' ), - UO2 =SIMP(statut='f',typ='R' ), - UO3 =SIMP(statut='f',typ='R' ), - UO4 =SIMP(statut='f',typ='R' ), - UO5 =SIMP(statut='f',typ='R' ), - UO6 =SIMP(statut='f',typ='R' ), - VI2 =SIMP(statut='f',typ='R' ), - VI3 =SIMP(statut='f',typ='R' ), - VI4 =SIMP(statut='f',typ='R' ), - VI5 =SIMP(statut='f',typ='R' ), - VI6 =SIMP(statut='f',typ='R' ), - VO2 =SIMP(statut='f',typ='R' ), - VO3 =SIMP(statut='f',typ='R' ), - VO4 =SIMP(statut='f',typ='R' ), - VO5 =SIMP(statut='f',typ='R' ), - VO6 =SIMP(statut='f',typ='R' ), - WI2 =SIMP(statut='f',typ='R' ), - WI3 =SIMP(statut='f',typ='R' ), - WI4 =SIMP(statut='f',typ='R' ), - WI5 =SIMP(statut='f',typ='R' ), - WI6 =SIMP(statut='f',typ='R' ), - WO2 =SIMP(statut='f',typ='R' ), - WO3 =SIMP(statut='f',typ='R' ), - WO4 =SIMP(statut='f',typ='R' ), - WO5 =SIMP(statut='f',typ='R' ), - WO6 =SIMP(statut='f',typ='R' ), - WO =SIMP(statut='f',typ='R' ), - WI1 =SIMP(statut='f',typ='R' ), - WO1 =SIMP(statut='f',typ='R' ), - GONF =SIMP(statut='f',typ='R' ), - H1X =SIMP(statut='f',typ='R' ), - H1Y =SIMP(statut='f',typ='R' ), - H1Z =SIMP(statut='f',typ='R' ), - E1X =SIMP(statut='f',typ='R' ), - E1Y =SIMP(statut='f',typ='R' ), - E1Z =SIMP(statut='f',typ='R' ), - E2X =SIMP(statut='f',typ='R' ), - E2Y =SIMP(statut='f',typ='R' ), - E2Z =SIMP(statut='f',typ='R' ), - E3X =SIMP(statut='f',typ='R' ), - E3Y =SIMP(statut='f',typ='R' ), - E3Z =SIMP(statut='f',typ='R' ), - E4X =SIMP(statut='f',typ='R' ), - E4Y =SIMP(statut='f',typ='R' ), - E4Z =SIMP(statut='f',typ='R' ), - V11 =SIMP(statut='f',typ='R' ), - V12 =SIMP(statut='f',typ='R' ), - V13 =SIMP(statut='f',typ='R' ), - V21 =SIMP(statut='f',typ='R' ), - V22 =SIMP(statut='f',typ='R' ), - V23 =SIMP(statut='f',typ='R' ), - V31 =SIMP(statut='f',typ='R' ), - V32 =SIMP(statut='f',typ='R' ), - V33 =SIMP(statut='f',typ='R' ), - PRES11 =SIMP(statut='f',typ='R' ), - PRES12 =SIMP(statut='f',typ='R' ), - PRES13 =SIMP(statut='f',typ='R' ), - PRES21 =SIMP(statut='f',typ='R' ), - PRES22 =SIMP(statut='f',typ='R' ), - PRES23 =SIMP(statut='f',typ='R' ), - PRES31 =SIMP(statut='f',typ='R' ), - PRES32 =SIMP(statut='f',typ='R' ), - PRES33 =SIMP(statut='f',typ='R' ), - LH1 =SIMP(statut='f',typ='R' ), - GLIS =SIMP(statut='f',typ='R' ), - ), - - THER_IMPO =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), - AU_MOINS_UN('TEMP','TEMP_MIL','TEMP_INF','TEMP_SUP'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TEMP =SIMP(statut='f',typ='R' ), - TEMP_MIL =SIMP(statut='f',typ='R' ), - TEMP_SUP =SIMP(statut='f',typ='R' ), - TEMP_INF =SIMP(statut='f',typ='R' ), - ), - - ACOU_IMPO =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - PRES =SIMP(statut='o',typ='C' ), - ), - - EVOL_IMPO =SIMP(statut='f',typ=(evol_noli,evol_elas,evol_ther),fr="Pour imposer les ddls d'un evol_xxx"), - b_evol_impo = BLOC ( condition = "EVOL_IMPO != None", - NOM_CMP =SIMP(statut='f',typ='TXM',max='**',), # pour n'imposer que certaines CMPS (par défaut : toutes) - ), - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -def affe_char_cine_f_prod(MECA_IMPO,THER_IMPO,**args): - if MECA_IMPO != None : return char_cine_meca - if THER_IMPO != None : return char_cine_ther - raise AsException("type de concept resultat non prevu") - -AFFE_CHAR_CINE_F=OPER(nom="AFFE_CHAR_CINE_F",op= 101,sd_prod=affe_char_cine_f_prod, - fr="Affectation de conditions aux limites cinématiques fonction d'un (ou plusieurs) paramètres" - +" pour un traitement sans dualisation", - reentrant='n', - UIinfo={"groupes":("Chargements","Mécanique",)}, - regles=(UN_PARMI('MECA_IMPO','THER_IMPO')), - MODELE =SIMP(statut='o',typ=modele_sdaster ), - MECA_IMPO =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), - AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', - 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', - 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', - 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', - 'VO6','WI6','WO6','WO','WI1','WO1','GONF', - 'H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', - 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','V11','V12','V13','V21','V22', - 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21', - 'PRES22','PRES23','PRES31','PRES32','PRES33','LH1','GLIS'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - GRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PHI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRE1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRE2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - UI2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - UI3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - UI4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - UI5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - UI6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - UO2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - UO3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - UO4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - UO5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - UO6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VI2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VI3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VI4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VI5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VI6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VO2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VO3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VO4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VO5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VO6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WI2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WI3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WI4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WI5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WI6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WO2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WO3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WO4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WO5 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WO6 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WI1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - WO1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - GONF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - H1X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - H1Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - H1Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E1X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E1Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E1Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E2X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E2Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E2Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E3X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E3Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E3Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E4X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E4Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E4Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - V11 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - V12 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - V13 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - V21 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - V22 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - V23 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - V31 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - V32 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - V33 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES11=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES12=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES13=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES21=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES22=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES23=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES31=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES32=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES33=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - LH1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - GLIS =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - - ), - THER_IMPO =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), - AU_MOINS_UN('TEMP','TEMP_MIL','TEMP_INF','TEMP_SUP' ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP_MIL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op= 7,sd_prod=char_meca, - fr="Affectation de charges et conditions aux limites mécaniques constantes", - reentrant='n', - UIinfo={"groupes":("Chargements","Mécanique",)}, - regles=(AU_MOINS_UN('EVOL_CHAR','PESANTEUR','ROTATION','DDL_IMPO','DDL_POUTRE','FACE_IMPO', - 'CHAMNO_IMPO','ARETE_IMPO', - 'LIAISON_DDL','LIAISON_OBLIQUE','LIAISON_GROUP','LIAISON_MAIL', - 'LIAISON_CYCL','LIAISON_SOLIDE','LIAISON_ELEM','LIAISON_UNIF', - 'LIAISON_CHAMNO','LIAISON_RBE3','LIAISON_INTERF', - 'VECT_ASSE', - 'FORCE_NODALE','FORCE_FACE','FORCE_ARETE','FORCE_CONTOUR','FORCE_INTERNE', - 'PRE_SIGM','PRES_REP','EFFE_FOND','PRE_EPSI','FORCE_POUTRE','FORCE_TUYAU', - 'FORCE_COQUE','LIAISON_COQUE','RELA_CINE_BP','FORCE_ELEC','INTE_ELEC', - 'IMPE_FACE','VITE_FACE','ONDE_FLUI','FLUX_THM_REP','FORCE_SOL',), - ), - VERI_NORM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - EVOL_CHAR =SIMP(statut='f',fr="Champ de pression issu d'un autre calcul", - typ=evol_char ), - - PESANTEUR =FACT(statut='f',max=1,fr="Champ de pesanteur", - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GRAVITE =SIMP(statut='o',typ='R',min=1,max=1), - DIRECTION =SIMP(statut='o',typ='R',min=3,max=3),), - - METHODE =SIMP(statut='c',typ='TXM',fr="Stratégie de résolution pour les déplacements imposés", - into=('DUALISATION',),defaut='DUALISATION',), - # METHODE='ELIMINATION' est traité dans le fortran mais dangereux actuellement - - ROTATION =FACT(statut='f', max=1, - fr="Définition d'un chargement de rotation", - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(), max='**'), - MAILLE =SIMP(statut='f',typ=ma, validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - VITESSE =SIMP(statut='o', typ='R',min=1,max=1), - AXE =SIMP(statut='o', typ='R',min=2, max=3), - CENTRE =SIMP(statut='f',typ='R',min=2, max=3), - b_rotation_tout=BLOC(condition="(GROUP_MA == None) and (MAILLE ==None)", - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",),),), - - DDL_IMPO =FACT(statut='f',max='**', - fr="Impose à des noeuds une ou plusieurs valeurs de déplacement (ou de certaines grandeurs asscociées)", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), - AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', - 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', - 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', - 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', - 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON', - 'H1X','H1Y','H1Z','H2X','H2Y','H2Z','H3X','H3Y','H3Z','H4X','H4Y','H4Z', - 'E1X','E1Y','E1Z','E2X','E2Y','E2Z','E3X','E3Y','E3Z','E4X','E4Y','E4Z', - 'LAGS_C','LAGS_F1','LAGS_F2','LAG2_C','LAG2_F1','LAG2_F2','LAG3_C','LAG3_F1', - 'V11','V12','V13','V21','V22','V23','V31','V32','V33', - 'PRES11','PRES12','PRES13','PRES21','PRES22','PRES23','PRES31','PRES32','PRES33','LH1','GLIS'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - LIAISON =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)), - DX =SIMP(statut='f',typ='R' ), - DY =SIMP(statut='f',typ='R' ), - DZ =SIMP(statut='f',typ='R' ), - DRX =SIMP(statut='f',typ='R' ), - DRY =SIMP(statut='f',typ='R' ), - DRZ =SIMP(statut='f',typ='R' ), - GRX =SIMP(statut='f',typ='R' ), - PRES =SIMP(statut='f',typ='R' ), - PHI =SIMP(statut='f',typ='R' ), - TEMP =SIMP(statut='f',typ='R' ), - PRE1 =SIMP(statut='f',typ='R' ), - PRE2 =SIMP(statut='f',typ='R' ), - UI2 =SIMP(statut='f',typ='R' ), - UI3 =SIMP(statut='f',typ='R' ), - UI4 =SIMP(statut='f',typ='R' ), - UI5 =SIMP(statut='f',typ='R' ), - UI6 =SIMP(statut='f',typ='R' ), - UO2 =SIMP(statut='f',typ='R' ), - UO3 =SIMP(statut='f',typ='R' ), - UO4 =SIMP(statut='f',typ='R' ), - UO5 =SIMP(statut='f',typ='R' ), - UO6 =SIMP(statut='f',typ='R' ), - VI2 =SIMP(statut='f',typ='R' ), - VI3 =SIMP(statut='f',typ='R' ), - VI4 =SIMP(statut='f',typ='R' ), - VI5 =SIMP(statut='f',typ='R' ), - VI6 =SIMP(statut='f',typ='R' ), - VO2 =SIMP(statut='f',typ='R' ), - VO3 =SIMP(statut='f',typ='R' ), - VO4 =SIMP(statut='f',typ='R' ), - VO5 =SIMP(statut='f',typ='R' ), - VO6 =SIMP(statut='f',typ='R' ), - WI2 =SIMP(statut='f',typ='R' ), - WI3 =SIMP(statut='f',typ='R' ), - WI4 =SIMP(statut='f',typ='R' ), - WI5 =SIMP(statut='f',typ='R' ), - WI6 =SIMP(statut='f',typ='R' ), - WO2 =SIMP(statut='f',typ='R' ), - WO3 =SIMP(statut='f',typ='R' ), - WO4 =SIMP(statut='f',typ='R' ), - WO5 =SIMP(statut='f',typ='R' ), - WO6 =SIMP(statut='f',typ='R' ), - WO =SIMP(statut='f',typ='R' ), - WI1 =SIMP(statut='f',typ='R' ), - WO1 =SIMP(statut='f',typ='R' ), - GONF =SIMP(statut='f',typ='R' ), - H1X =SIMP(statut='f',typ='R' ), - H1Y =SIMP(statut='f',typ='R' ), - H1Z =SIMP(statut='f',typ='R' ), - H2X =SIMP(statut='f',typ='R' ), - H2Y =SIMP(statut='f',typ='R' ), - H2Z =SIMP(statut='f',typ='R' ), - H3X =SIMP(statut='f',typ='R' ), - H3Y =SIMP(statut='f',typ='R' ), - H3Z =SIMP(statut='f',typ='R' ), - H4X =SIMP(statut='f',typ='R' ), - H4Y =SIMP(statut='f',typ='R' ), - H4Z =SIMP(statut='f',typ='R' ), - E1X =SIMP(statut='f',typ='R' ), - E1Y =SIMP(statut='f',typ='R' ), - E1Z =SIMP(statut='f',typ='R' ), - E2X =SIMP(statut='f',typ='R' ), - E2Y =SIMP(statut='f',typ='R' ), - E2Z =SIMP(statut='f',typ='R' ), - E3X =SIMP(statut='f',typ='R' ), - E3Y =SIMP(statut='f',typ='R' ), - E3Z =SIMP(statut='f',typ='R' ), - E4X =SIMP(statut='f',typ='R' ), - E4Y =SIMP(statut='f',typ='R' ), - E4Z =SIMP(statut='f',typ='R' ), - LAGS_C =SIMP(statut='f',typ='R' ), - LAGS_F1 =SIMP(statut='f',typ='R' ), - LAGS_F2 =SIMP(statut='f',typ='R' ), - LAG2_C =SIMP(statut='f',typ='R' ), - LAG2_F1 =SIMP(statut='f',typ='R' ), - LAG2_F2 =SIMP(statut='f',typ='R' ), - LAG3_C =SIMP(statut='f',typ='R' ), - LAG3_F1 =SIMP(statut='f',typ='R' ), - V11 =SIMP(statut='f',typ='R' ), - V12 =SIMP(statut='f',typ='R' ), - V13 =SIMP(statut='f',typ='R' ), - V21 =SIMP(statut='f',typ='R' ), - V22 =SIMP(statut='f',typ='R' ), - V23 =SIMP(statut='f',typ='R' ), - V31 =SIMP(statut='f',typ='R' ), - V32 =SIMP(statut='f',typ='R' ), - V33 =SIMP(statut='f',typ='R' ), - PRES11 =SIMP(statut='f',typ='R' ), - PRES12 =SIMP(statut='f',typ='R' ), - PRES13 =SIMP(statut='f',typ='R' ), - PRES21 =SIMP(statut='f',typ='R' ), - PRES22 =SIMP(statut='f',typ='R' ), - PRES23 =SIMP(statut='f',typ='R' ), - PRES31 =SIMP(statut='f',typ='R' ), - PRES32 =SIMP(statut='f',typ='R' ), - PRES33 =SIMP(statut='f',typ='R' ), - LH1 =SIMP(statut='f',typ='R' ), - GLIS =SIMP(statut='f',typ='R' ), - ), - - - - DDL_POUTRE =FACT(statut='f',max='**', - fr="Bloque des DDLs dans un repère local d'une poutre", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), - AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ'), - UN_PARMI('VECT_Y','ANGL_VRIL'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - - - DX =SIMP(statut='f',typ='R' ), - DY =SIMP(statut='f',typ='R' ), - DZ =SIMP(statut='f',typ='R' ), - DRX =SIMP(statut='f',typ='R' ), - DRY =SIMP(statut='f',typ='R' ), - DRZ =SIMP(statut='f',typ='R' ), -# définition du repère local - VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), - ANGL_VRIL =SIMP(statut='f',typ='R',), -# restriction sur les mailles servant à définir le repère local - GROUP_MA_REPE =SIMP(statut='f',typ=grma,), - MAILLE_REPE =SIMP(statut='f',typ=ma,), - ), - - - - FACE_IMPO =FACT(statut='f',max='**', - fr="Impose à tous les noeuds d'une face une ou plusieurs valeurs de déplacement (ou de certaines grandeurs associées)", - regles=(UN_PARMI('GROUP_MA','MAILLE',), - AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', - 'TEMP','PRE1','PRE2','DNOR','DTAN'), - EXCLUS('DNOR','DX'), - EXCLUS('DNOR','DY'), - EXCLUS('DNOR','DZ'), - EXCLUS('DNOR','DRX'), - EXCLUS('DNOR','DRY'), - EXCLUS('DNOR','DRZ'), - EXCLUS('DTAN','DX'), - EXCLUS('DTAN','DY'), - EXCLUS('DTAN','DZ'), - EXCLUS('DTAN','DRX'), - EXCLUS('DTAN','DRY'), - EXCLUS('DTAN','DRZ'),), -# rajout d'un mot clé REPERE :/ LOCAL /GLOBAL - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - DX =SIMP(statut='f',typ='R' ), - DY =SIMP(statut='f',typ='R' ), - DZ =SIMP(statut='f',typ='R' ), - DRX =SIMP(statut='f',typ='R' ), - DRY =SIMP(statut='f',typ='R' ), - DRZ =SIMP(statut='f',typ='R' ), - DNOR =SIMP(statut='f',typ='R' ), - DTAN =SIMP(statut='f',typ='R' ), - GRX =SIMP(statut='f',typ='R' ), - PRES =SIMP(statut='f',typ='R' ), - PHI =SIMP(statut='f',typ='R' ), - TEMP =SIMP(statut='f',typ='R' ), - PRE1 =SIMP(statut='f',typ='R' ), - PRE2 =SIMP(statut='f',typ='R' ), - ), - - CHAMNO_IMPO =FACT(statut='f',max='**', - fr="Impose des DDLs aux valeurs d'un concept cham_no_sdaster", -# type de cham_no_sdaster CO() - CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), #CO() - COEF_MULT =SIMP(statut='o',typ='R' ), - NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), - ), - - ARETE_IMPO =FACT(statut='f',max='**', - fr="Impose à tous les noeuds d'une arete des elements 3D une ou plusieurs valeurs de déplacement", - regles=(UN_PARMI('GROUP_MA','MAILLE',), - AU_MOINS_UN('DX','DY','DZ','DTAN','PRES','PHI','TEMP','PRE1','PRE2'), - EXCLUS('DTAN','DX'), - EXCLUS('DTAN','DY'), - EXCLUS('DTAN','DZ'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - DX =SIMP(statut='f',typ='R' ), - DY =SIMP(statut='f',typ='R' ), - DZ =SIMP(statut='f',typ='R' ), - DTAN =SIMP(statut='f',typ='R' ), - PRE1 =SIMP(statut='f',typ='R' ), - PRE2 =SIMP(statut='f',typ='R' ), - PRES =SIMP(statut='f',typ='R' ), - PHI =SIMP(statut='f',typ='R' ), - TEMP =SIMP(statut='f',typ='R' ), - ), - - LIAISON_DDL =FACT(statut='f',max='**', - fr="Définit une relation linéaire entre des DDLs de deux ou plusieurs noeuds", - regles=(UN_PARMI('GROUP_NO','NOEUD'),), - GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - DDL =SIMP(statut='o',typ='TXM',max='**'), - COEF_MULT =SIMP(statut='o',typ='R' ,max='**'), - COEF_IMPO =SIMP(statut='o',typ='R' ), - ), - - LIAISON_OBLIQUE =FACT(statut='f',max='**', - fr="Applique à des noeuds la meme valeur de déplacement définie composante par composante" - +" dans un repère oblique quelconque", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE','GROUP_NO','NOEUD'), - AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ'),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - ANGL_NAUT =SIMP(statut='o',typ='R',max=3), - DX =SIMP(statut='f',typ='R' ), - DY =SIMP(statut='f',typ='R' ), - DZ =SIMP(statut='f',typ='R' ), - DRX =SIMP(statut='f',typ='R' ), - DRY =SIMP(statut='f',typ='R' ), - DRZ =SIMP(statut='f',typ='R' ), - ), - - LIAISON_GROUP =FACT(statut='f',max='**', - fr="Définit la meme relation linéaire entre certains DDLs de couples de noeuds", - regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), - UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'), - EXCLUS('GROUP_MA_1','GROUP_NO_2'), - EXCLUS('GROUP_MA_1','NOEUD_2'), - EXCLUS('GROUP_NO_1','GROUP_MA_2'), - EXCLUS('GROUP_NO_1','MAILLE_2'), - EXCLUS('MAILLE_1','GROUP_NO_2'), - EXCLUS('MAILLE_1','NOEUD_2'), - EXCLUS('NOEUD_1','GROUP_MA_2'), - EXCLUS('NOEUD_1','MAILLE_2'), - EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),), - - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), - DDL_1 =SIMP(statut='o',typ='TXM',max='**'), - COEF_MULT_1 =SIMP(statut='o',typ='R' ,max='**'), - DDL_2 =SIMP(statut='o',typ='TXM',max='**'), - COEF_MULT_2 =SIMP(statut='o',typ='R' ,max='**'), - COEF_IMPO =SIMP(statut='o',typ='R' ), - SOMMET =SIMP(statut='f',typ='TXM',into=("OUI",) ), - TRAN =SIMP(statut='f',typ='R',max=3), - ANGL_NAUT =SIMP(statut='f',typ='R',max=3), - CENTRE =SIMP(statut='f',typ='R',max=3), - ), - - LIAISON_MAIL =FACT(statut='f',max='**', - fr="Définit des relations linéaires permettant de recoller deux bords d'une structure", - regles=(AU_MOINS_UN('GROUP_MA_MAIT','MAILLE_MAIT'), - AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL')), - GROUP_MA_MAIT =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_MAIT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_ESCL =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_ESCL =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_ESCL =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - - TYPE_RACCORD =SIMP(statut='o',typ='TXM',defaut="MASSIF",into=("MASSIF","COQUE","COQUE_MASSIF","MASSIF_COQUE",)), - - b_MASSIF =BLOC ( condition = "TYPE_RACCORD == 'MASSIF'", - regles=( PRESENT_PRESENT('DDL_MAIT','DDL_ESCL'),), - TRAN =SIMP(statut='f',typ='R',max=3 ), - ANGL_NAUT =SIMP(statut='f',typ='R',max=3 ), - CENTRE =SIMP(statut='f',typ='R',max=3 ), - DDL_MAIT =SIMP(statut='f',typ='TXM',into=("DNOR",) ), - DDL_ESCL =SIMP(statut='f',typ='TXM',into=("DNOR",) ), - ), - b_COQUE_MASSIF =BLOC ( condition = "TYPE_RACCORD == 'COQUE_MASSIF'", - EPAIS =SIMP(statut='o',typ='R'), - CHAM_NORMALE =SIMP(statut='o',typ=cham_no_sdaster), - ), - ELIM_MULT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ), - - LIAISON_CYCL =FACT(statut='f',max='**', - fr="Définit des relations linéaires permettant de recoller les bords de deux parties symétriquement cycliques", - regles=(AU_MOINS_UN('GROUP_MA_MAIT1','MAILLE_MAIT1'), - AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL'), - PRESENT_PRESENT('DDL_MAIT','DDL_ESCL'), - ), - GROUP_MA_MAIT1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_MAIT1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_MAIT2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_MAIT2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_ESCL =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_ESCL =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_ESCL =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TRAN =SIMP(statut='f',typ='R',max=3 ), - ANGL_NAUT =SIMP(statut='f',typ='R',max=3 ), - CENTRE =SIMP(statut='f',typ='R',max=3 ), - COEF_MAIT1 =SIMP(statut='f',typ='R',max=1 ), - COEF_MAIT2 =SIMP(statut='f',typ='R',max=1 ), - COEF_ESCL =SIMP(statut='f',typ='R',max=1 ), - DDL_MAIT =SIMP(statut='f',typ='TXM',into=("DNOR",) ), - DDL_ESCL =SIMP(statut='f',typ='TXM',into=("DNOR",) ), - ), - - - LIAISON_SOLIDE =FACT(statut='f',max='**', - fr="Modélise une partie indéformable d'une structure." - +" Le mot clé TRAN permettent d'imposer le déplacement de la partie indéformable.", - regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), - - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - - TRAN =SIMP(statut='f',typ='R',max=3 ), - DIST_MIN =SIMP(statut='f',typ='R'), - NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), - ), - - LIAISON_ELEM =FACT(statut='f',max='**', - fr="Modélise le raccord : d'une partie massive 3D avec une poutre ou avec un tuyau, d'une coque" - +" avec une poutre ou avec un tuyau, d'une plaque avec une poutre", - regles =(UN_PARMI('GROUP_MA_1','MAILLE_1'), UN_PARMI('GROUP_NO_2','NOEUD_2'),), - OPTION =SIMP(statut='o',typ='TXM',into=("3D_TUYAU","3D_POU","2D_POU","COQ_POU","COQ_TUYAU","PLAQ_POUT_ORTH") ), - - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - - b_plaq_pout_orth =BLOC( condition = "OPTION == 'PLAQ_POUT_ORTH'", - VERIF_EXCENT =SIMP(statut='o',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - - b_cara_pout =BLOC( condition = "OPTION == 'COQ_POU' or OPTION == '3D_TUYAU' or OPTION == 'COQ_TUYAU'", - CARA_ELEM =SIMP(statut='o',typ=(cara_elem) ), - AXE_POUTRE =SIMP(statut='o',typ='R',max=3), - ), - - - NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), - ANGL_MAX =SIMP(statut='f',typ='R',defaut= 1. ), - - ), - - LIAISON_UNIF =FACT(statut='f',max='**', - fr="Impose une meme valeur (inconnue) à des DDLs d'un ensemble de noeuds", - regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), - - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - - DDL =SIMP(statut='o',typ='TXM',max='**'), - ), - - LIAISON_CHAMNO =FACT(statut='f',max='**', - fr="Définit une relation linéaire entre tous les DDLs présents dans un concept CHAM_NO", -# type de cham_no_sdaster CO() - CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), #CO() - COEF_IMPO =SIMP(statut='o',typ='R' ), - NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), - ), - - LIAISON_RBE3 =FACT(statut='f',max='**', - fr="""Modélise des relations linéaires de type RBE3 entre - les degrés de liberté d'un noeud maître et des noeuds esclaves.""", - regles =(UN_PARMI('GROUP_NO_MAIT','NOEUD_MAIT'), UN_PARMI('GROUP_NO_ESCL','NOEUD_ESCL'),), - GROUP_NO_MAIT =SIMP(statut='f',typ=grno,max=1), - NOEUD_MAIT =SIMP(statut='f',typ=no ,max=1), - DDL_MAIT =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=6,into=('DX','DY','DZ','DRX','DRY','DRZ')), - GROUP_NO_ESCL =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_ESCL =SIMP(statut='f',typ=no ,validators=NoRepeat(),min=1,max='**'), - DDL_ESCL =SIMP(statut='o',typ='TXM',min=1,max='**'), - COEF_ESCL =SIMP(statut='f',typ='R',min=1,max='**'), - NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), - ), - - LIAISON_INTERF =FACT(statut='f',max='**', - fr="Définit une relation linéaire entre les DDLs d'interface à partir d'un MACRELEM", - MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna), - TYPE_LIAISON =SIMP(statut='f',typ='TXM',defaut="RIGIDE",into=("RIGIDE","SOUPLE") ), - ), - -# SIMP(statut='f',typ='TXM',defaut="NON" ), - - VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster ), -# -# FORCES -# - FORCE_NODALE =FACT(statut='f',fr="Applique à des noeuds des forces nodales",max='**', - regles=(AU_MOINS_UN('GROUP_NO','NOEUD'), - AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - FX =SIMP(statut='f',typ='R' ), - FY =SIMP(statut='f',typ='R' ), - FZ =SIMP(statut='f',typ='R' ), - MX =SIMP(statut='f',typ='R' ), - MY =SIMP(statut='f',typ='R' ), - MZ =SIMP(statut='f',typ='R' ), - ANGL_NAUT =SIMP(statut='f',typ='R',max=3), - ), - - FORCE_FACE =FACT(statut='f',max='**', - fr="Applique des forces surfaciques sur une face d'élément volumique", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), - AU_MOINS_UN('FX','FY','FZ'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FX =SIMP(statut='f',typ='R' ), - FY =SIMP(statut='f',typ='R' ), - FZ =SIMP(statut='f',typ='R' ), - ), - - FORCE_ARETE =FACT(statut='f',max='**', - fr="Applique des forces linéiques à une arete d'élément volumique ou de coque", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE',), - AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FX =SIMP(statut='f',typ='R' ), - FY =SIMP(statut='f',typ='R' ), - FZ =SIMP(statut='f',typ='R' ), - MX =SIMP(statut='f',typ='R' ), - MY =SIMP(statut='f',typ='R' ), - MZ =SIMP(statut='f',typ='R' ), - ), - - FORCE_CONTOUR =FACT(statut='f',max='**', - fr="Applique des forces linéiques au bord d'un domaine 2D ou AXIS ou AXIS_FOURIER", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), - AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FX =SIMP(statut='f',typ='R' ), - FY =SIMP(statut='f',typ='R' ), - FZ =SIMP(statut='f',typ='R' ), - MX =SIMP(statut='f',typ='R' ), - MY =SIMP(statut='f',typ='R' ), - MZ =SIMP(statut='f',typ='R' ), - ), - - FORCE_INTERNE =FACT(statut='f',max='**', - fr="Applique des forces volumiques (2D ou 3D) à un domaine volumique", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('FX','FY','FZ' ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FX =SIMP(statut='f',typ='R' ), - FY =SIMP(statut='f',typ='R' ), - FZ =SIMP(statut='f',typ='R' ), - ), - - PRE_SIGM =FACT(statut='f',max='**', - fr="Applique des contraintes volumiques (2D ou 3D) à un domaine volumique", - #INST =SIMP(statut='f',typ='R' ), - SIGM =SIMP(statut='o',typ=(cham_elem,carte_sdaster)), - ), - - PRES_REP =FACT(statut='f',max='**', - fr="Applique une pression à un domaine de milieu continu 2D ou 3D, ou à un domaine de coques et tuyaux", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','FISSURE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE','FISSURE'), - AU_MOINS_UN('PRES','CISA_2D' ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FISSURE =SIMP(statut='f',typ=fiss_xfem,min=1,max=100,), - PRES =SIMP(statut='f',typ='R' ), - CISA_2D =SIMP(statut='f',typ='R' ), - ), - - EFFE_FOND =FACT(statut='f',max='**', - fr="Calcul l'effet de fond sur une branche de tuyauterie (modélisation 3D) soumise à une pression", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), - GROUP_MA_INT =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - PRES =SIMP(statut='o',typ='R' ), - ), - - PRE_EPSI =FACT(statut='f',max='**', - fr="Applique un chargement de déformation initiale à un élément 2D, 3D ou de structure", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ','EPX', - 'KY','KZ','EXX','EYY','EXY','KXX','KYY','KXY'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - EPXX =SIMP(statut='f',typ='R' ), - EPYY =SIMP(statut='f',typ='R' ), - EPZZ =SIMP(statut='f',typ='R' ), - EPXY =SIMP(statut='f',typ='R' ), - EPXZ =SIMP(statut='f',typ='R' ), - EPYZ =SIMP(statut='f',typ='R' ), - EPX =SIMP(statut='f',typ='R' ), - KY =SIMP(statut='f',typ='R' ), - KZ =SIMP(statut='f',typ='R' ), - EXX =SIMP(statut='f',typ='R' ), - EYY =SIMP(statut='f',typ='R' ), - EXY =SIMP(statut='f',typ='R' ), - KXX =SIMP(statut='f',typ='R' ), - KYY =SIMP(statut='f',typ='R' ), - KXY =SIMP(statut='f',typ='R' ), - ), - - FORCE_POUTRE =FACT(statut='f',max='**', - fr="Applique des forces linéiques sur des éléments de type poutre", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE",) ), -# rajour d'un mot clé REPERE :/ LOCAL /GLOBAL - b_force = BLOC(condition = "TYPE_CHARGE == 'FORCE'", - regles=( - AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('FX','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('FY','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('FZ','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('MX','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('MY','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('MZ','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('N','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('VY','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('VZ','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('MT','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('MFY','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('MFZ','FX','FY','FZ','MX','MY','MZ'),), - FX =SIMP(statut='f',typ='R' ), - FY =SIMP(statut='f',typ='R' ), - FZ =SIMP(statut='f',typ='R' ), - MX =SIMP(statut='f',typ='R' ), - MY =SIMP(statut='f',typ='R' ), - MZ =SIMP(statut='f',typ='R' ), - N =SIMP(statut='f',typ='R' ), - VY =SIMP(statut='f',typ='R' ), - VZ =SIMP(statut='f',typ='R' ), - MT =SIMP(statut='f',typ='R' ), - MFY =SIMP(statut='f',typ='R' ), - MFZ =SIMP(statut='f',typ='R' ), - ), - b_vent = BLOC(condition = "TYPE_CHARGE == 'VENT'", - regles=( - AU_MOINS_UN('FX','FY','FZ','N','VY','VZ',), - PRESENT_ABSENT('FX','N','VY','VZ',), - PRESENT_ABSENT('FY','N','VY','VZ',), - PRESENT_ABSENT('FZ','N','VY','VZ',), - PRESENT_ABSENT('N','FX','FY','FZ',), - PRESENT_ABSENT('VY','FX','FY','FZ',), - PRESENT_ABSENT('VZ','FX','FY','FZ',),), - FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - ), - - FORCE_TUYAU =FACT(statut='f',max='**', - fr="Applique une pression sur des éléments TUYAU", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - PRES =SIMP(statut='f',typ='R' ), - ), - - FORCE_COQUE =FACT(statut='f',max='**', - fr="Applique des forces surfaciques sur des éléments de types coques", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('FX','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('FY','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('FZ','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('MX','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('MY','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('MZ','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('F1','FX','FY','FZ','MX','MY','MZ','PRES'), - PRESENT_ABSENT('F2','FX','FY','FZ','MX','MY','MZ','PRES'), - PRESENT_ABSENT('F3','FX','FY','FZ','MX','MY','MZ','PRES'), - PRESENT_ABSENT('MF1','FX','FY','FZ','MX','MY','MZ','PRES'), - PRESENT_ABSENT('MF2','FX','FY','FZ','MX','MY','MZ','PRES'), - PRESENT_ABSENT('PRES','FX','FY','FZ','MX','MY','MZ','F1','F2','F3','MF1','MF2'),), -# rajour d'un mot clé REPERE :/ LOCAL /GLOBAL - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - - FX =SIMP(statut='f',typ='R' ), - FY =SIMP(statut='f',typ='R' ), - FZ =SIMP(statut='f',typ='R' ), - MX =SIMP(statut='f',typ='R' ), - MY =SIMP(statut='f',typ='R' ), - MZ =SIMP(statut='f',typ='R' ), - - F1 =SIMP(statut='f',typ='R' ), - F2 =SIMP(statut='f',typ='R' ), - F3 =SIMP(statut='f',typ='R' ), - MF1 =SIMP(statut='f',typ='R' ), - MF2 =SIMP(statut='f',typ='R' ), - - PRES =SIMP(statut='f',typ='R' ), - PLAN =SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL",) ), - ), - - LIAISON_COQUE =FACT(statut='f',max='**', - fr="Permet de représenter le raccord entre des éléments de coques au moyen des relations linéaires", - regles=(AU_MOINS_UN('GROUP_MA_1','MAILLE_1','GROUP_MA_2','MAILLE_2', - 'GROUP_NO_1','NOEUD_1','GROUP_NO_2','NOEUD_2',),), - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), - ), - - RELA_CINE_BP =FACT(statut='f',max='**', - fr="Etablir des relations cinématiques permettant de relier les noeuds cable aux noeuds du béton, et spécifier" - +" la prise en compte des contraintes initiales dans les cables", - CABLE_BP =SIMP(statut='o',typ=cabl_precont ), - SIGM_BPEL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - RELA_CINE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - DIST_MIN =SIMP(statut='f',typ='R'), - ), - - FORCE_ELEC =FACT(statut='f',max='**', - fr="Appliquer la force de LAPLACE agissant sur un conducteur principal, due à la présence d'un conducteur" - +" secondaire droit", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - - POSITION =SIMP(statut='f',typ='TXM',fr="Direction prédéfinie",into=("PARA","INFI","FINI",) ), - b_fxyz =BLOC ( condition = "POSITION == None", - FX =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - FY =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - FZ =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ), - - b_para =BLOC ( condition = "POSITION == 'PARA'", - regles=(UN_PARMI('TRANS','DIST'),), - TRANS =SIMP(statut='f',typ='R',max=3), - DIST =SIMP(statut='f',typ='R' ), - b_point2 =BLOC ( condition = "DIST != None", - POINT2 =SIMP(statut='o',typ='R',max=3), - ), - ), - b_fini_infi =BLOC ( condition = "(POSITION == 'FINI') or (POSITION == 'INFI')", - POINT1 =SIMP(statut='o',typ='R',max=3), - POINT2 =SIMP(statut='o',typ='R',max=3), - ), - ), - - - - - INTE_ELEC =FACT(statut='f',max='**', - fr="Appliquer la force de LAPLACE agissant sur un conducteur principal, due à la présence d'un conducteur" - +" secondaire non nécessairement droit", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('GROUP_MA_2','MAILLE_2','TRANS','SYME'), - EXCLUS('TRANS','SYME'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - TRANS =SIMP(statut='f',typ='R' ,max='**'), - SYME =SIMP(statut='f',typ='R' ,max='**'), - ), - - - IMPE_FACE =FACT(statut='f',fr="Applique une impédance acoustique à une face",max='**', - regles=(AU_MOINS_UN('GROUP_MA','MAILLE' ),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - IMPE =SIMP(statut='o',typ='R' ), - ), - - VITE_FACE =FACT(statut='f',fr="Impose des vitesses normales à une face (phénomène ACOUSTIQUE), ",max='**', - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - VNOR =SIMP(statut='o',typ='R' ), - ), - - - - ONDE_FLUI =FACT(statut='f',max='**', - fr="Applique une amplitude de pression d'onde incidente sinusoidale arrivant normalement à une face", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - PRES =SIMP(statut='o',typ='R' ), - ), - - FLUX_THM_REP =FACT(statut='f',max='**', - fr="Applique à un domaine de milieu continu 2D ou 3D un flux de chaleur et/ou un apport de masse fluide" - +" (flux hydraulique)", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('FLUN','FLUN_HYDR1','FLUN_HYDR2'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FLUN =SIMP(statut='f',typ='R' ), - FLUN_HYDR1 =SIMP(statut='f',typ='R' ), - FLUN_HYDR2 =SIMP(statut='f',typ='R' ), - ), - FORCE_SOL =FACT(statut='f',max=1, - fr="Définition des impédances et forces de sol temporelles", - regles=(UN_PARMI('GROUP_NO_INTERF','SUPER_MAILLE'), - AU_MOINS_UN('UNITE_RESU_MASS','UNITE_RESU_RIGI','UNITE_RESU_AMOR'),), - GROUP_NO_INTERF =SIMP(statut='f',typ=grno,), - SUPER_MAILLE =SIMP(statut='f',typ=ma,), - UNITE_RESU_MASS =SIMP(statut='f',typ='I', ), - UNITE_RESU_RIGI =SIMP(statut='f',typ='I', ), - UNITE_RESU_AMOR =SIMP(statut='f',typ='I', ), - UNITE_RESU_FORC =SIMP(statut='f',typ='I', ), - ), - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -AFFE_CHAR_MECA_C=OPER(nom="AFFE_CHAR_MECA_C",op= 7,sd_prod=char_meca, - fr="Affectation de charges et conditions aux limites mécaniques complexes", - reentrant='n', - UIinfo={"groupes":("Chargements","Mécanique",)}, - regles=(AU_MOINS_UN('DDL_IMPO','FORCE_POUTRE','LIAISON_DDL', ),), - MODELE =SIMP(statut='o',typ=modele_sdaster ), - METHODE =SIMP(statut='c',typ='TXM',fr="Stratégie de résolution pour les déplacements imposés", - into=('DUALISATION',),defaut='DUALISATION',), - # METHODE='ELIMINATION' est traité dans le fortran mais dangereux actuellement - DDL_IMPO =FACT(statut='f',max='**', - fr="Impose à des noeuds une ou plusieurs valeurs de déplacement (ou de certaines grandeurs asscociées)", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD',), - AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI','LIAISON','GLIS' ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - LIAISON =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)), - DX =SIMP(statut='f',typ='C' ), - DY =SIMP(statut='f',typ='C' ), - DZ =SIMP(statut='f',typ='C' ), - DRX =SIMP(statut='f',typ='C' ), - DRY =SIMP(statut='f',typ='C' ), - DRZ =SIMP(statut='f',typ='C' ), - GRX =SIMP(statut='f',typ='C' ), - PRES =SIMP(statut='f',typ='C' ), - PHI =SIMP(statut='f',typ='C' ), - GLIS =SIMP(statut='f',typ='C' ), - ), - FORCE_POUTRE =FACT(statut='f',max='**', - fr="Applique des forces linéiques sur des éléments de type poutre", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('FX','FY','FZ','N','VY','VZ',), - PRESENT_ABSENT('FX','N','VY','VZ',), - PRESENT_ABSENT('FY','N','VY','VZ',), - PRESENT_ABSENT('FZ','N','VY','VZ',), - PRESENT_ABSENT('N','FX','FY','FZ',), - PRESENT_ABSENT('VY', 'FX','FY','FZ',), - PRESENT_ABSENT('VZ','FX','FY','FZ', ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE") ), - FX =SIMP(statut='f',typ='C' ), - FY =SIMP(statut='f',typ='C' ), - FZ =SIMP(statut='f',typ='C' ), - N =SIMP(statut='f',typ='C' ), - VY =SIMP(statut='f',typ='C' ), - VZ =SIMP(statut='f',typ='C' ), - ), - LIAISON_DDL =FACT(statut='f',max='**', - fr="Définit une relation linéaire entre les DDLs de deux ou plusieurs noeuds", - regles=(UN_PARMI('GROUP_NO','NOEUD', ),), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - DDL =SIMP(statut='o',typ='TXM',max='**'), - COEF_MULT =SIMP(statut='o',typ='R' ,max='**'), - COEF_IMPO =SIMP(statut='o',typ='C' ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca, - fr="Affectation de charges et conditions aux limites mécaniques fonction d'un (ou plusieurs) paramètres", - reentrant='n', - UIinfo={"groupes":("Chargements","Mécanique",)}, - regles=(AU_MOINS_UN('DDL_IMPO','FACE_IMPO','LIAISON_DDL','FORCE_NODALE', - 'FORCE_FACE','FORCE_ARETE','FORCE_CONTOUR','FORCE_INTERNE', - 'PRES_REP','FORCE_POUTRE','VITE_FACE','IMPE_FACE','ONDE_PLANE', - 'LIAISON_OBLIQUE','PRE_EPSI','LIAISON_GROUP','LIAISON_UNIF', - 'LIAISON_SOLIDE','FORCE_COQUE','LIAISON_COQUE','FORCE_TUYAU', - 'EFFE_FOND','FLUX_THM_REP',),), - VERI_NORM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - MODELE =SIMP(statut='o',typ=modele_sdaster), - METHODE =SIMP(statut='c',typ='TXM',fr="Stratégie de résolution pour les déplacements imposés", - into=('DUALISATION',),defaut='DUALISATION',), - # METHODE='ELIMINATION' est traité dans le fortran mais dangereux actuellement - - DDL_IMPO =FACT(statut='f',max='**', - fr="Impose à des noeuds une ou plusieurs valeurs de déplacement (ou de certaines grandeurs asscociées) fournies" - +" par l'intermédiaire d'un concept fonction ", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), - AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', - 'TEMP','PRE1','PRE2','GONF','LIAISON','H1X', - 'H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', - 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','GLIS'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - LIAISON =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)), - DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - GRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PHI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRE1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRE2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - GONF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - H1X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - H1Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - H1Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E1X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E1Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E1Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E2X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E2Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E2Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E3X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E3Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E3Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E4X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E4Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - E4Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - LAGS_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - GLIS =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - FACE_IMPO =FACT(statut='f',max='**', - fr="Impose à tous les noeuds d'une face une ou plusieurs valeurs de déplacement (ou de certaines grandeurs associées)" - +" fournies par l'intérmédiaire d'un concept fonction", - regles=(UN_PARMI('GROUP_MA','MAILLE'), - AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI','TEMP','PRE1','PRE2','DNOR','DTAN'), - EXCLUS('DNOR','DX'), - EXCLUS('DNOR','DY'), - EXCLUS('DNOR','DZ'), - EXCLUS('DNOR','DRX'), - EXCLUS('DNOR','DRY'), - EXCLUS('DNOR','DRZ'), - EXCLUS('DTAN','DX'), - EXCLUS('DTAN','DY'), - EXCLUS('DTAN','DZ'), - EXCLUS('DTAN','DRX'), - EXCLUS('DTAN','DRY'), - EXCLUS('DTAN','DRZ'),), -# rajout d un mot cle REPERE : / GLOBAL / LOCAL - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - GRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PHI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRE1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRE2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DNOR =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DTAN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - LIAISON_DDL =FACT(statut='f',max='**', - fr="Définit une relation linéaire entre des DDLs de deux ou plusieurs noeuds, les valeurs sont fournies par" - +" l'intermediaire d'un concept de type fonction", - regles=(UN_PARMI('GROUP_NO','NOEUD'),UN_PARMI('COEF_MULT','COEF_MULT_FONC'),), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - DDL =SIMP(statut='o',typ='TXM',max='**'), - COEF_MULT =SIMP(statut='f',typ='R',max='**'), - COEF_MULT_FONC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'), - COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - LIAISON_OBLIQUE =FACT(statut='f',max='**', - fr="Applique à des noeuds la meme valeur de déplacement définie composante par composante dans un repère oblique" - +" quelconque, les valeurs sont fournis par l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), - AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ'),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - ANGL_NAUT =SIMP(statut='o',typ='R',max=3), - DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DRZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - LIAISON_GROUP =FACT(statut='f',max='**', - fr="Définit la meme relation linéaire entre certains DDLs de couples de noeuds, les valeurs sont fournies par" - +" l'intermédiaire de concept fonction", - regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), - UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'), - EXCLUS('GROUP_MA_1','GROUP_NO_2'), - EXCLUS('GROUP_MA_1','NOEUD_2'), - EXCLUS('GROUP_NO_1','GROUP_MA_2'), - EXCLUS('GROUP_NO_1','MAILLE_2'), - EXCLUS('MAILLE_1','GROUP_NO_2'), - EXCLUS('MAILLE_1','NOEUD_2'), - EXCLUS('NOEUD_1','GROUP_MA_2'), - EXCLUS('NOEUD_1','MAILLE_2'), - EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),), - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - DDL_1 =SIMP(statut='o',typ='TXM',max='**'), - COEF_MULT_1 =SIMP(statut='o',typ='R',max='**'), - DDL_2 =SIMP(statut='o',typ='TXM',max='**'), - COEF_MULT_2 =SIMP(statut='o',typ='R',max='**'), - COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SOMMET =SIMP(statut='f',typ='TXM',into=("OUI",) ), - TRAN =SIMP(statut='f',typ='R',max=3), - ANGL_NAUT =SIMP(statut='f',typ='R',max=3), - CENTRE =SIMP(statut='f',typ='R',max=3), - ), - - LIAISON_UNIF =FACT(statut='f',max='**', - fr="Impose une meme valeur (inconnue) à des DDLs d'un ensemble de noeuds", - regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - DDL =SIMP(statut='o',typ='TXM',max='**'), - ), - - - LIAISON_SOLIDE =FACT(statut='f',max='**', - fr="Modélise une partie indéformable d'une structure." - +" Le mot clé TRAN permettent d'imposer le déplacement de la partie indéformable.", - regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), - - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - - TRAN =SIMP(statut='f',typ='R',max=3 ), - DIST_MIN =SIMP(statut='f',typ='R'), - NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), - ), - - - - FORCE_NODALE =FACT(statut='f',max='**', - fr="Applique à des noeuds des forces nodales dont les valeurs des composantes sont fournies par l'intermédiaire" - +" d'un concept fonction", - regles=(UN_PARMI('GROUP_NO','NOEUD'), - AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ANGL_NAUT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max=3 ), - ), - - FORCE_FACE =FACT(statut='f',max='**', - fr="Applique des forces surfaciques sur une face d'élément volumique dont les valeurs des composantes sont fournies" - +" par l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), - AU_MOINS_UN('FX','FY','FZ'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - FORCE_ARETE =FACT(statut='f',max='**', - fr="Applique des forces linéiques à une arete d'élément volumique ou de coque dont les valeurs des composantes sont" - +" fournies par l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), - AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - FORCE_CONTOUR =FACT(statut='f',max='**', - fr="Applique des forces linéiques au bord d'un domaine 2D ou AXIS ou AXIS_FOURIER, dont les valeurs des composantes" - +" sont fournies par l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), - AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - FORCE_INTERNE =FACT(statut='f',max='**', - fr="Applique des forces volumiques (2D ou 3D) à un domaine volumique, dont les valeurs des composantes sont fournies" - +" par l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('FX','FY','FZ'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - PRES_REP =FACT(statut='f',max='**', - fr="Applique une pression à un domaine de milieu continu 2D ou 3D ou à un domaine de coques et tuyaux, dont les" - +" valeurs imposées (pression et/ou cisaillement) sont fournies par l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','FISSURE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE','FISSURE'), - AU_MOINS_UN('PRES','CISA_2D'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FISSURE =SIMP(statut='f',typ=fiss_xfem,min=1,max=100,), - PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - CISA_2D =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - EFFE_FOND =FACT(statut='f',max='**', - fr="Calcul l'effet de fond sur une branche de tuyauterie (modélisation 3D) soumise" - +" à une pression dont la valeur est fournie par l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),), - GROUP_MA_INT =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - PRES =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - PRE_EPSI =FACT(statut='f',max='**', - fr="Applique un chargement de déformation initiale à un élément 2D, 3D ou de structure dont les composantes" - +" du tenseur de déformation sont fournies par l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - EPXX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPYY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPZZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPXY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPXZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPYZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - FORCE_POUTRE =FACT(statut='f',max='**', - fr="Applique des forces linéiques sur des éléments de type poutre dont les valeurs sont fournies par" - +" l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - - ), -# rajout d un mot cle REPERE : / GLOBAL / LOCAL - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FORCE",into=("VENT","FORCE") ), - # moment interdit avec VENT - b_force = BLOC(condition = "TYPE_CHARGE == 'FORCE'", - regles=( - AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('FX','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('FY','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('FZ','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('MX','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('MY','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('MZ','N','VY','VZ','MT','MFY','MFZ'), - PRESENT_ABSENT('N','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('VY','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('VZ','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('MT','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('MFY','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('MFZ','FX','FY','FZ','MX','MY','MZ'),), - FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MFY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MFZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - b_vent = BLOC(condition = "TYPE_CHARGE == 'VENT'", - regles=( - AU_MOINS_UN('FX','FY','FZ','N','VY','VZ',), - PRESENT_ABSENT('FX','N','VY','VZ',), - PRESENT_ABSENT('FY','N','VY','VZ',), - PRESENT_ABSENT('FZ','N','VY','VZ',), - PRESENT_ABSENT('N','FX','FY','FZ',), - PRESENT_ABSENT('VY','FX','FY','FZ',), - PRESENT_ABSENT('VZ','FX','FY','FZ',),), - FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - ), - - FORCE_TUYAU =FACT(statut='f',max='**', - fr="Applique une pression sur des éléments TUYAU, la valeur est fournie par l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - FORCE_COQUE =FACT(statut='f',max='**', - fr="Applique des forces surfaciques sur des éléments de types coques dont les valeurs sont fournies par" - +" l'intermédiaires d'un concept fonction", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('FX','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('FY','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('FZ','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('MX','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('MY','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('MZ','PRES','F1','F2','F3','MF1','MF2'), - PRESENT_ABSENT('F1','PRES','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('F2','PRES','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('F3','PRES','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('MF1','PRES','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('MF2','PRES','FX','FY','FZ','MX','MY','MZ'), - PRESENT_ABSENT('PRES','FX','FY','FZ','MX','MY','MZ','F1','F2','F3','MF1','MF2'),), -# rajout d un mot cle REPERE : / GLOBAL / LOCAL - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MF1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MF2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PLAN =SIMP(statut='f',typ='TXM',defaut="MAIL", - into=("SUP","INF","MOY","MAIL") ), - ), - - LIAISON_COQUE =FACT(statut='f',max='**', - fr="Permet de représenter le raccord entre des éléments de coques au moyen des relations linéaires", - regles=(AU_MOINS_UN('GROUP_MA_1','MAILLE_1','GROUP_MA_2','MAILLE_2', - 'GROUP_NO_1','NOEUD_1','GROUP_NO_2','NOEUD_2',),), - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES",) ), - ), - - - VITE_FACE =FACT(statut='f',max='**', - fr="Impose des vitesses normales à une face (phénomène ACOUSTIQUE) dont les valeurs sont fournies par" - +" l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), - PRESENT_ABSENT('GROUP_MA','MAILLE'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - VNOR =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - IMPE_FACE =FACT(statut='f',max='**', - fr="Applique à une face une impédance acoustique dont la valeur est fournie par l'intermédiaire" - +" d'un concept fonction", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), - PRESENT_ABSENT('GROUP_MA','MAILLE'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - IMPE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - ONDE_PLANE =FACT(statut='f',max=1, - fr="Impose un chargement sismique par onde plane dont la valeur est fournie par l'intermédiaire" - +" d'un concept fonction", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE'), - PRESENT_ABSENT('GROUP_MA','MAILLE'),), - DIRECTION =SIMP(statut='o',typ='R',min=3, max=3), - TYPE_ONDE =SIMP(statut='o',typ='TXM', into=("S", "P", "SV", "SH",) ), - FONC_SIGNAL =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - - - - FLUX_THM_REP =FACT(statut='f',max='**', - fr="Applique à un domaine continue 2D ou 3D un flux de chaleur et/ou un apport de masse fluide (flux hydraulique)" - +" dont les valeurs des flux sont fournies par l'intermédiaire d'un concept fonction", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('FLUN','FLUN_HYDR1','FLUN_HYDR2'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FLUN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FLUN_HYDR1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FLUN_HYDR2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -AFFE_CHAR_THER=OPER(nom="AFFE_CHAR_THER",op=34,sd_prod=char_ther - ,fr="Affectation de charges et conditions aux limites thermiques constantes", - reentrant='n', - UIinfo={"groupes":("Chargements","Thermique",)}, - regles=(AU_MOINS_UN('TEMP_IMPO','SOURCE','FLUX_REP','ECHANGE', - 'ECHANGE_PAROI','PRE_GRAD_TEMP','LIAISON_DDL','LIAISON_GROUP', - 'LIAISON_UNIF','LIAISON_CHAMNO','RAYONNEMENT','LIAISON_MAIL' ),), - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - METHODE =SIMP(statut='c',typ='TXM',fr="Stratégie de résolution pour les températures imposées", - into=('DUALISATION',),defaut='DUALISATION',), - # METHODE='ELIMINATION' est traité dans le fortran mais dangereux actuellement - - TEMP_IMPO =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), - AU_MOINS_UN('TEMP','TEMP_MIL','TEMP_SUP','TEMP_INF'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TEMP =SIMP(statut='f',typ='R'), - TEMP_MIL =SIMP(statut='f',typ='R'), - TEMP_INF =SIMP(statut='f',typ='R'), - TEMP_SUP =SIMP(statut='f',typ='R'), ), - - FLUX_REP =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - PRESENT_PRESENT('CARA_TORSION','GROUP_MA'), - AU_MOINS_UN('FLUN','FLUN_INF','FLUN_SUP','CARA_TORSION') ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FLUN =SIMP(statut='f',typ='R'), - FLUN_INF =SIMP(statut='f',typ='R'), - FLUN_SUP =SIMP(statut='f',typ='R'), - CARA_TORSION =SIMP(statut='f',typ=table_sdaster), - ), - - - RAYONNEMENT =FACT(statut='f',max='**', - fr="Attention, exprimer les températures en Celsius si rayonnement", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SIGMA =SIMP(statut='o',typ='R'), - EPSILON =SIMP(statut='o',typ='R'), - TEMP_EXT =SIMP(statut='o',typ='R'), - ), - - ECHANGE =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('COEF_H','COEF_H_INF','COEF_H_SUP'), - ENSEMBLE('COEF_H','TEMP_EXT',), - ENSEMBLE('COEF_H_INF','TEMP_EXT_INF'), - ENSEMBLE('COEF_H_SUP','TEMP_EXT_SUP'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - COEF_H =SIMP(statut='f',typ='R'), - TEMP_EXT =SIMP(statut='f',typ='R'), - COEF_H_INF =SIMP(statut='f',typ='R'), - TEMP_EXT_INF =SIMP(statut='f',typ='R'), - COEF_H_SUP =SIMP(statut='f',typ='R'), - TEMP_EXT_SUP =SIMP(statut='f',typ='R'), - ), - - SOURCE =FACT(statut='f',max='**', - regles=(UN_PARMI('SOUR','SOUR_CALCULEE',), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('SOUR_CALCULEE','TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SOUR =SIMP(statut='f',typ='R'), - SOUR_CALCULEE =SIMP(statut='f',typ=(cham_elem) ), - ), - - PRE_GRAD_TEMP =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('FLUX_X','FLUX_Y','FLUX_Z'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FLUX_X =SIMP(statut='f',typ='R' ), - FLUX_Y =SIMP(statut='f',typ='R' ), - FLUX_Z =SIMP(statut='f',typ='R' ), - ), - - LIAISON_DDL =FACT(statut='f',max='**', - regles=(UN_PARMI('GROUP_NO','NOEUD', ),), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - DDL =SIMP(statut='f',typ='TXM',max='**', - into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ), - COEF_MULT =SIMP(statut='o',typ='R',max='**'), - COEF_IMPO =SIMP(statut='o',typ='R' ), - ), - - LIAISON_GROUP =FACT(statut='f',max='**', - regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), - UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'), - EXCLUS('GROUP_MA_1','GROUP_NO_2'), - EXCLUS('GROUP_MA_1','NOEUD_2'), - EXCLUS('GROUP_NO_1','GROUP_MA_2'), - EXCLUS('GROUP_NO_1','MAILLE_2'), - EXCLUS('MAILLE_1','GROUP_NO_2'), - EXCLUS('MAILLE_1','NOEUD_2'), - EXCLUS('NOEUD_1','GROUP_MA_2'), - EXCLUS('NOEUD_1','MAILLE_2'), - EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),), - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - DDL_1 =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP", - into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ), - COEF_MULT_1 =SIMP(statut='o',typ='R',max='**'), - DDL_2 =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP", - into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP",) ), - COEF_MULT_2 =SIMP(statut='o',typ='R',max='**'), - COEF_IMPO =SIMP(statut='o',typ='R' ), - SOMMET =SIMP(statut='f',typ='TXM',into=("OUI",) ), - TRAN =SIMP(statut='f',typ='R',max='**'), - ANGL_NAUT =SIMP(statut='f',typ='R',max='**'), - CENTRE =SIMP(statut='f',typ='R',max='**'), - ), - - LIAISON_MAIL =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('GROUP_MA_MAIT','MAILLE_MAIT'), - AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL', - 'NOEUD_ESCL'),), - GROUP_MA_MAIT =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_MAIT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_ESCL =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_ESCL =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_ESCL =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TRAN =SIMP(statut='f',typ='R',max='**' ), - ANGL_NAUT =SIMP(statut='f',typ='R',max='**' ), - CENTRE =SIMP(statut='f',typ='R',max='**' ), - ELIM_MULT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ), - - ECHANGE_PAROI =FACT(statut='f',max='**', - regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','FISSURE'), - UN_PARMI('GROUP_MA_2','MAILLE_2','FISSURE'),), - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FISSURE =SIMP(statut='f',typ=fiss_xfem,validators=NoRepeat(),min=1,max=100,), -# ---------------------- - b_paroi_maillee =BLOC( - condition = "FISSURE == None", - COEF_H =SIMP(statut='o',typ='R'), - TRAN =SIMP(statut='f',typ='R',min=2,max=3), - ), -# ---------------------- - b_xfem =BLOC( - condition = "FISSURE != None", - regles =(UN_PARMI('COEF_H','TEMP_CONTINUE'),), - COEF_H =SIMP(statut='f',typ='R'), - TEMP_CONTINUE =SIMP(statut='f',typ='TXM',into=("OUI",)), - ), - ), - - LIAISON_UNIF =FACT(statut='f',max='**', - regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - DDL =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP", - into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ), - ), - - LIAISON_CHAMNO =FACT(statut='f',max='**', - CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster),# CO()# "il faut definir une structure de donnee generique chamno" - COEF_IMPO =SIMP(statut='o',typ='R' ), - NUME_LAGR =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ), - ), - - CONVECTION =FACT(statut='f',max='**', - VITESSE =SIMP(statut='o',typ=(cham_no_sdaster) ), - ), - - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -AFFE_CHAR_THER_F=OPER(nom="AFFE_CHAR_THER_F",op=34,sd_prod=char_ther, - fr="Affectation de charges et conditions aux limites thermiques fonction d'un (ou plusieurs)" - +" paramètres (temps, ...)", - reentrant='n', - UIinfo={"groupes":("Chargements","Thermique",)}, - regles=(AU_MOINS_UN('TEMP_IMPO','SOURCE','SOUR_NL','FLUX_REP','FLUX_NL','ECHANGE', - 'ECHANGE_PAROI','LIAISON_DDL','LIAISON_GROUP','LIAISON_UNIF', - 'PRE_GRAD_TEMP','RAYONNEMENT'),), - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - - TEMP_IMPO =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'), - AU_MOINS_UN('TEMP','TEMP_MIL','TEMP_SUP','TEMP_INF'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP_MIL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - FLUX_REP =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('FLUN','FLUN_INF','FLUN_SUP','FLUX_X','FLUX_Y','FLUX_Z'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FLUN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FLUN_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FLUN_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FLUX_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FLUX_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FLUX_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - FLUX_NL =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FLUN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - - RAYONNEMENT =FACT(statut='f',max='**', - fr="Attention, exprimer les températures en Celsius si rayonnement", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SIGMA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPSILON =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP_EXT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - - - ECHANGE =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('COEF_H','COEF_H_INF','COEF_H_SUP'), - ENSEMBLE('COEF_H','TEMP_EXT'), - ENSEMBLE('COEF_H_INF','TEMP_EXT_INF'), - ENSEMBLE('COEF_H_SUP','TEMP_EXT_SUP'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - COEF_H =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP_EXT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - COEF_H_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP_EXT_INF =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - COEF_H_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP_EXT_SUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - - SOURCE =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SOUR =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - SOUR_NL =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SOUR =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - PRE_GRAD_TEMP =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('FLUX_X','FLUX_Y','FLUX_Z'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FLUX_X =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FLUX_Y =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FLUX_Z =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - ECHANGE_PAROI =FACT(statut='f',max='**', - regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','FISSURE'), - UN_PARMI('GROUP_MA_2','MAILLE_2','FISSURE'),), - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - FISSURE =SIMP(statut='f',typ=fiss_xfem,validators=NoRepeat(),min=1,max=100,), -# ---------------------- - b_paroi_maillee =BLOC( - condition = "FISSURE == None", - COEF_H =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - TRAN =SIMP(statut='f',typ='R',min=2,max=3), - ), -# ---------------------- - b_xfem =BLOC( - condition = "FISSURE != None", - regles =(UN_PARMI('COEF_H','TEMP_CONTINUE'),), - COEF_H =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TEMP_CONTINUE =SIMP(statut='f',typ='TXM',into=("OUI",)), - ), - ), - - LIAISON_DDL =FACT(statut='f',max='**', - regles=(UN_PARMI('GROUP_NO','NOEUD'),), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - DDL =SIMP(statut='f',typ='TXM',max='**',into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ), - COEF_MULT =SIMP(statut='o',typ='R',max='**'), - COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - LIAISON_GROUP =FACT(statut='f',max='**', - regles=(UN_PARMI('GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), - UN_PARMI('GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'), - EXCLUS('GROUP_MA_1','GROUP_NO_2'), - EXCLUS('GROUP_MA_1','NOEUD_2'), - EXCLUS('GROUP_NO_1','GROUP_MA_2'), - EXCLUS('GROUP_NO_1','MAILLE_2'), - EXCLUS('MAILLE_1','GROUP_NO_2'), - EXCLUS('MAILLE_1','NOEUD_2'), - EXCLUS('NOEUD_1','GROUP_MA_2'), - EXCLUS('NOEUD_1','MAILLE_2'), - EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),), - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - DDL_1 =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP", - into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ), - COEF_MULT_1 =SIMP(statut='o',typ='R',max='**'), - DDL_2 =SIMP(statut='f',typ='TXM',max='**',defaut="TEMP", - into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ), - COEF_MULT_2 =SIMP(statut='o',typ='R',max='**'), - COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SOMMET =SIMP(statut='f',typ='TXM',into=("OUI",) ), - TRAN =SIMP(statut='f',typ='R',max='**'), - ANGL_NAUT =SIMP(statut='f',typ='R',max='**'), - CENTRE =SIMP(statut='f',typ='R',max='**'), - ), - - LIAISON_UNIF =FACT(statut='f',max='**', - regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - DDL =SIMP(statut='f',typ='TXM',defaut="TEMP", - into=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP") ), - ), - - CONVECTION =FACT(statut='f',max='**', - VITESSE =SIMP(statut='o',typ=cham_no_sdaster ), - ), - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -AFFE_MATERIAU=OPER(nom="AFFE_MATERIAU",op=6,sd_prod=cham_mater, - fr="Affecter des matériaux à des zones géométriques d'un maillage", - reentrant='n', - UIinfo={"groupes":("Modélisation",)}, - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), - MODELE =SIMP(statut='f',typ=modele_sdaster), - - # affectation du nom du matériau (par mailles): - # ---------------------------------------------- - AFFE =FACT(statut='o',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - MATER =SIMP(statut='o',typ=mater_sdaster,max=30), - ), - - # affectation de comportement (multifibres pour l'instant): - # ---------------------------------------------- - AFFE_COMPOR =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1), - ), - - # affectation des variables de commande : - # -------------------------------------------------- - # un mot clé caché qui ne sert qu'à boucler sur les VARC possibles : - LIST_NOM_VARC =SIMP(statut='c',typ='TXM', defaut=("TEMP","GEOM","CORR","IRRA","HYDR","SECH","EPSA", - "M_ACIER","M_ZIRC","NEUT1","NEUT2","PTOT","DIVU",)), - - AFFE_VARC =FACT(statut='f',max='**', - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - PRESENT_ABSENT('GROUP_MA','TOUT'), - PRESENT_ABSENT('MAILLE','TOUT'), - # La règle suivante permet de donner VALE_REF sans donner EVOL ni CHAM_GD - # Elle est nécessaire pour la THM (voir doc U4.43.03) - # Mais on ne peut plus l'écrire depuis de VALE_REF est dans un bloc - # AU_MOINS_UN('EVOL','CHAM_GD','VALE_REF'), - EXCLUS('EVOL','CHAM_GD'), - ), - - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), # [défaut] - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - - NOM_VARC =SIMP(statut='o',typ='TXM', into=("TEMP","GEOM","CORR","IRRA","HYDR","SECH","EPSA", - "M_ACIER","M_ZIRC","NEUT1","NEUT2","PTOT","DIVU",)), - CHAM_GD =SIMP(statut='f',typ=cham_gd_sdaster,), - EVOL =SIMP(statut='f',typ=evol_sdaster,), - - B_EVOL =BLOC(condition="EVOL!=None", - NOM_CHAM =SIMP(statut='f',typ='TXM',into=("TEMP","CORR","IRRA","NEUT","GEOM", - "HYDR_ELNO","HYDR_NOEU", - "META_ELNO","META_NOEU", - "EPSA_ELNO","EPSA_NOEU","PTOT","DIVU",)), - PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - FONC_INST =SIMP(statut='f',typ=(fonction_sdaster,formule)), - ), - - # VALE_REF est nécessaire pour certaines VARC : - B_VALE_REF =BLOC(condition="NOM_VARC in ('TEMP','SECH')", - VALE_REF =SIMP(statut='o',typ='R'), - ), - - ), - - # mots clés cachés pour les variables de commande NEUT1/NEUT2 : - # -------------------------------------------------------------- - VARC_NEUT1 =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="NEUT1"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="NEUT_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("X1")), - CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("NEUT1")), - ), - VARC_NEUT2 =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="NEUT2"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="NEUT_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("X1")), - CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("NEUT2")), - ), - - # mots clés cachés pour variable de commande TEMP : - # -------------------------------------------------- - VARC_TEMP =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="TEMP"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="TEMP_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=4,min=4,defaut=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP",)), - CMP_VARC =SIMP(statut='c',typ='TXM',max=4,min=4,defaut=("TEMP","TEMP_MIL","TEMP_INF","TEMP_SUP",)), - ), - - # mots clés cachés pour variable de commande GEOM : - # -------------------------------------------------- - VARC_GEOM =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="GEOM"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="GEOM_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=3,min=3,defaut=("X","Y","Z",)), - CMP_VARC =SIMP(statut='c',typ='TXM',max=3,min=3,defaut=("X","Y","Z",)), - ), - - # mots clés cachés pour variable de commande PTOT : - # ------------------------------------------------- - VARC_PTOT =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="PTOT"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="DEPL_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("PTOT",)), - CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("PTOT",)), - ), - - # mots clés cachés pour variable de commande SECH : - # -------------------------------------------------- - VARC_SECH =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="SECH"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="TEMP_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("TEMP",)), - CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("SECH",)), - ), - - # mots clés cachés pour variable de commande HYDR : - # -------------------------------------------------- - VARC_HYDR =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="HYDR"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="HYDR_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("HYDR",)), - CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("HYDR",)), - ), - - # mots clés cachés pour variable de commande CORR : - # -------------------------------------------------- - VARC_CORR =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="CORR"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="CORR_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("CORR",)), - CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("CORR",)), - ), - - # mots clés cachés pour variable de commande IRRA : - # -------------------------------------------------- - VARC_IRRA =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="IRRA"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="IRRA_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("IRRA",)), - CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("IRRA",)), - ), - - # mots clés cachés pour variable de commande DIVU : - # -------------------------------------------------- - VARC_DIVU =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="DIVU"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="EPSI_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("DIVU",)), - CMP_VARC =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("DIVU",)), - ), - - # mots clés cachés pour variable de commande EPSA : - # -------------------------------------------------- - VARC_EPSA =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="EPSA"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="EPSI_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=6,min=6,defaut=("EPXX","EPYY","EPZZ","EPXY","EPXZ","EPYZ",)), - CMP_VARC =SIMP(statut='c',typ='TXM',max=6,min=6,defaut=("EPSAXX","EPSAYY","EPSAZZ","EPSAXY","EPSAXZ","EPSAYZ",)), - ), - # mots clés cachés pour variable de commande metallurgique ACIER : - # ----------------------------------------------------------------- - VARC_M_ACIER =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="M_ACIER"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="VARI_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=7,min=7,defaut=("V1","V2","V3","V4","V5","V6","V7")), - CMP_VARC =SIMP(statut='c',typ='TXM',max=7,min=7,defaut=("PFERRITE","PPERLITE","PBAINITE", - "PMARTENS","TAUSTE","TRANSF","TACIER",)), - ), - # mots clés cachés pour variable de commande metallurgique ZIRCALOY : - # -------------------------------------------------------------------- - VARC_M_ZIRC =FACT(statut='d', - NOM_VARC =SIMP(statut='c',typ='TXM',defaut="M_ZIRC"), - GRANDEUR =SIMP(statut='c',typ='TXM',defaut="VARI_R"), - CMP_GD =SIMP(statut='c',typ='TXM',max=4,min=4,defaut=("V1","V2","V3","V4")), - CMP_VARC =SIMP(statut='c',typ='TXM',max=4,min=4,defaut=("ALPHPUR","ALPHBETA","TZIRC","TEMPS")), - ), - - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele_sdaster, - UIinfo={"groupes":("Modélisation",)}, - fr="Définir le phénomène physique modélisé et le type d'éléments finis sur le maillage",reentrant='n', - regles=(AU_MOINS_UN('AFFE','AFFE_SOUS_STRUC'),UN_PARMI('MAILLAGE','GRILLE')), - MAILLAGE =SIMP(statut='f',typ=maillage_sdaster), - GRILLE =SIMP(statut='f',typ=grille_sdaster), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), - VERIF =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2,into=("MAILLE","NOEUD") ), -# -#==== -# Définition des grandeurs caractéristiques -#==== -# - GRANDEUR_CARA =FACT(statut='f',max=1, - fr="Grandeurs caractéristiques pour l'adimensionnement des indicateurs d'erreur HM", - ang="Characteristic data for HM error estimators adimensionalisation", -# - LONGUEUR =SIMP(statut='f',typ='R',val_min=0, - fr ="Longueur caractéristique", - ang="Characteristic length",), - PRESSION =SIMP(statut='f',typ='R',val_min=0, - fr ="Pression caractéristique", - ang="Characteristic pressure",), - TEMPERATURE =SIMP(statut='f',typ='R',val_min=0, - fr ="Température caractéristique", - ang="Characteristic temperature",),), -# - AFFE_SOUS_STRUC =FACT(statut='f', - regles=(UN_PARMI('TOUT','SUPER_MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - SUPER_MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - PHENOMENE =SIMP(statut='f',typ='TXM',defaut="MECANIQUE",into=("MECANIQUE",) ), - ), - AFFE =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - PHENOMENE =SIMP(statut='o',typ='TXM', - into=("MECANIQUE","THERMIQUE","ACOUSTIQUE") ), - b_mecanique =BLOC( condition = "PHENOMENE=='MECANIQUE'", - fr="modélisations mécaniques", - MODELISATION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=( - "2D_DIS_T", # RESP. : FLEJOU J.L.FLEJOU - "2D_DIS_TR", # RESP. : FLEJOU J.L.FLEJOU - "2D_FLUI_ABSO", # RESP. : DEVESA G.DEVESA - "2D_FLUI_PESA", # RESP. : GREFFET N.GREFFET - "2D_FLUI_STRU", # RESP. : GREFFET N.GREFFET - "2D_FLUIDE", # RESP. : GREFFET N.GREFFET - "3D", # RESP. : DESROCHES X.DESROCHES - "3D_ABSO", # RESP. : DEVESA G.DEVESA - "3D_FAISCEAU", # RESP. : VOLDOIRE F.VOLDOIRE - "3D_FLUI_ABSO", # RESP. : DEVESA G.DEVESA - "3D_FLUIDE", # RESP. : GREFFET N.GREFFET - "3D_INCO", # RESP. : SFAYOLLE S.FAYOLLE - "3D_INCO_UP", # RESP. : SFAYOLLE S.FAYOLLE - "3D_INCO_OSGS", # RESP. : SFAYOLLE S.FAYOLLE - "3D_INCO_GD", # RESP. : SFAYOLLE S.FAYOLLE - "3D_INCO_LOG", # RESP. : SFAYOLLE S.FAYOLLE - "3D_INCO_LUP", # RESP. : SFAYOLLE S.FAYOLLE - "3D_SI", # RESP. : DESROCHES X.DESROCHES - "3D_GRAD_EPSI", # RESP. : MICHEL S.MICHEL - "3D_GRAD_VARI", # RESP. : MICHEL S.MICHEL - "3D_GVNO", # RESP. : BEAURAIN J.BEAURAIN - "3D_JOINT", # RESP. : LAVERNE J.LAVERNE - "3D_JOINT_HYME", # RESP. : LAVERNE J.LAVERNE - "3D_INTERFACE", # RESP. : LAVERNE J.LAVERNE - "3D_INTERFACE_S", # RESP. : LAVERNE J.LAVERNE - "AXIS", # RESP. : LEFEBVRE J.P.LEFEBVRE - "AXIS_FLUI_STRU", # RESP. : GREFFET N.GREFFET - "AXIS_FLUIDE", # RESP. : GREFFET N.GREFFET - "AXIS_FOURIER", # RESP. : DESROCHES X.DESROCHES - "AXIS_INCO", # RESP. : SFAYOLLE S.FAYOLLE - "AXIS_INCO_UP", # RESP. : SFAYOLLE S.FAYOLLE - "AXIS_INCO_OSGS", # RESP. : SFAYOLLE S.FAYOLLE - "AXIS_INCO_GD", # RESP. : SFAYOLLE S.FAYOLLE - "AXIS_INCO_LOG", # RESP. : SFAYOLLE S.FAYOLLE - "AXIS_INCO_LUP", # RESP. : SFAYOLLE S.FAYOLLE - "AXIS_SI", # RESP. : DESROCHES X.DESROCHES - "AXIS_GRAD_VARI", # RESP. : MICHEL S.MICHEL - "AXIS_GVNO", # RESP. : BEAURAIN J.BEAURAIN - "AXIS_JOINT", # RESP. : LAVERNE J.LAVERNE - "AXIS_INTERFACE", # RESP. : LAVERNE J.LAVERNE - "AXIS_INTERFACE_S",# RESP. : LAVERNE J.LAVERNE - "AXIS_ELDI", # RESP. : LAVERNE J.LAVERNE - "BARRE", # RESP. : FLEJOU J.L.FLEJOU - "CABLE_GAINE", # RESP. : - "2D_BARRE", # RESP. : FLEJOU J.L.FLEJOU - "C_PLAN", # RESP. : LEFEBVRE J.P.LEFEBVRE - "C_PLAN_SI", # RESP. : DESROCHES X.DESROCHES - "C_PLAN_GRAD_EPSI",# RESP. : MICHEL S.MICHEL - "CABLE", # RESP. : FLEJOU J.L.FLEJOU - "CABLE_POULIE", # RESP. : None - "COQUE_3D", # RESP. : DESROCHES X.DESROCHES - "COQUE_AXIS", # RESP. : DESROCHES X.DESROCHES - "COQUE_C_PLAN", # RESP. : DESROCHES X.DESROCHES - "COQUE_D_PLAN", # RESP. : DESROCHES X.DESROCHES - "D_PLAN", # RESP. : LEFEBVRE J.P.LEFEBVRE - "D_PLAN_GRAD_EPSI",# RESP. : MICHEL S.MICHEL - "D_PLAN_GRAD_VARI",# RESP. : MICHEL S.MICHEL - "D_PLAN_GVNO", # RESP. : BEAURAIN J.BEAURAIN - "D_PLAN_GRAD_SIGM",# RESP. : GRANET S.GRANET - "PLAN_JOINT", # RESP. : LAVERNE J.LAVERNE - "PLAN_JOINT_HYME", # RESP. : LAVERNE J.LAVERNE - "PLAN_INTERFACE", # RESP. : LAVERNE J.LAVERNE - "PLAN_INTERFACE_S",# RESP. : LAVERNE J.LAVERNE - "PLAN_ELDI", # RESP. : LAVERNE J.LAVERNE - "D_PLAN_ABSO", # RESP. : DEVESA G.DEVESA - "D_PLAN_INCO", # RESP. : SFAYOLLE S.FAYOLLE - "D_PLAN_INCO_UP", # RESP. : SFAYOLLE S.FAYOLLE - "D_PLAN_INCO_OSGS",# RESP. : SFAYOLLE S.FAYOLLE - "D_PLAN_INCO_GD", # RESP. : SFAYOLLE S.FAYOLLE - "D_PLAN_INCO_LOG", # RESP. : SFAYOLLE S.FAYOLLE - "D_PLAN_INCO_LUP", # RESP. : SFAYOLLE S.FAYOLLE - "D_PLAN_SI", # RESP. : DESROCHES X.DESROCHES - "DIS_T", # RESP. : FLEJOU J.L.FLEJOU - "DIS_TR", # RESP. : FLEJOU J.L.FLEJOU - "DKT", # RESP. : DESROCHES X.DESROCHES - "DKTG", # RESP. : MARKOVIC D.MARKOVIC - "DST", # RESP. : DESROCHES X.DESROCHES - "FLUI_STRU", # RESP. : GREFFET N.GREFFET - "GRILLE_EXCENTRE", # RESP. : ROSPARS C.ROSPARS - "GRILLE_MEMBRANE", # RESP. : ROSPARS C.ROSPARS - "MEMBRANE", # RESP. : ROSPARS C.ROSPARS - "POU_C_T", # RESP. : FLEJOU J.L.FLEJOU - "POU_D_E", # RESP. : FLEJOU J.L.FLEJOU - "POU_D_EM", # RESP. : FLEJOU J.L.FLEJOU - "POU_D_T", # RESP. : FLEJOU J.L.FLEJOU - "POU_D_T_GD", # RESP. : FLEJOU J.L.FLEJOU - "POU_D_TG", # RESP. : FLEJOU J.L.FLEJOU - "POU_D_TGM", # RESP. : FLEJOU J.L.FLEJOU - "Q4G", # RESP. : DESROCHES X.DESROCHES - "Q4GG", # RESP. : DESROCHES X.DESROCHES - "TUYAU_3M", # RESP. : PROIX J.M.PROIX - "TUYAU_6M", # RESP. : PROIX J.M.PROIX - "SHB", # RESP. : DESROCHES X.DESROCHES - "D_PLAN_HHM", # RESP. : GRANET S.GRANET - "D_PLAN_HM", # RESP. : GRANET S.GRANET - "D_PLAN_HM_SI", # RESP. : GRANET S.GRANET - "D_PLAN_THM", # RESP. : GRANET S.GRANET - "D_PLAN_HHMD", # RESP. : GRANET S.GRANET - "D_PLAN_HH2MD", # RESP. : GRANET S.GRANET - "D_PLAN_HMD", # RESP. : GRANET S.GRANET - "D_PLAN_THHD", # RESP. : GRANET S.GRANET - "D_PLAN_THH2D", # RESP. : GRANET S.GRANET - "D_PLAN_THVD", # RESP. : GRANET S.GRANET - "D_PLAN_THH2MD", # RESP. : GRANET S.GRANET - "D_PLAN_THHMD", # RESP. : GRANET S.GRANET - "D_PLAN_THMD", # RESP. : GRANET S.GRANET - "D_PLAN_HHMS", # RESP. : GRANET S.GRANET - "D_PLAN_HH2MS", # RESP. : GRANET S.GRANET - "D_PLAN_HMS", # RESP. : GRANET S.GRANET - "D_PLAN_THHS", # RESP. : GRANET S.GRANET - "D_PLAN_THH2S", # RESP. : GRANET S.GRANET - "D_PLAN_THVS", # RESP. : GRANET S.GRANET - "D_PLAN_THH2MS", # RESP. : GRANET S.GRANET - "D_PLAN_THHMS", # RESP. : GRANET S.GRANET - "D_PLAN_THMS", # RESP. : GRANET S.GRANET - "D_PLAN_HM_P", # RESP. : GRANET S.GRANET - "D_PLAN_HS", # RESP. : GRANET S.GRANET - "D_PLAN_HHD", # RESP. : GRANET S.GRANET - "D_PLAN_HHS", # RESP. : GRANET S.GRANET - "D_PLAN_HH2D", # RESP. : GRANET S.GRANET - "D_PLAN_HH2S", # RESP. : GRANET S.GRANET - "D_PLAN_2DG", # RESP. : GRANET S.GRANET - "D_PLAN_DIL", # RESP. : GRANET S.GRANET - "3D_DIL", # RESP. : GRANET S.GRANET - "AXIS_THM", # RESP. : GRANET S.GRANET - "AXIS_HHM", # RESP. : GRANET S.GRANET - "AXIS_HM", # RESP. : GRANET S.GRANET - "AXIS_HH2MD", # RESP. : GRANET S.GRANET - "AXIS_HHMD", # RESP. : GRANET S.GRANET - "AXIS_HMD", # RESP. : GRANET S.GRANET - "AXIS_THHD", # RESP. : GRANET S.GRANET - "AXIS_THH2D", # RESP. : GRANET S.GRANET - "AXIS_THVD", # RESP. : GRANET S.GRANET - "AXIS_THHMD", # RESP. : GRANET S.GRANET - "AXIS_THH2MD", # RESP. : GRANET S.GRANET - "AXIS_THMD", # RESP. : GRANET S.GRANET - "AXIS_HH2MS", # RESP. : GRANET S.GRANET - "AXIS_HHMS", # RESP. : GRANET S.GRANET - "AXIS_HMS", # RESP. : GRANET S.GRANET - "AXIS_THHS", # RESP. : GRANET S.GRANET - "AXIS_THH2S", # RESP. : GRANET S.GRANET - "AXIS_THVS", # RESP. : GRANET S.GRANET - "AXIS_THHMS", # RESP. : GRANET S.GRANET - "AXIS_THH2MS", # RESP. : GRANET S.GRANET - "AXIS_THMS", # RESP. : GRANET S.GRANET - "AXIS_HHD", # RESP. : GRANET S.GRANET - "AXIS_HHS", # RESP. : GRANET S.GRANET - "AXIS_HH2D", # RESP. : GRANET S.GRANET - "AXIS_HH2S", # RESP. : GRANET S.GRANET - "3D_HHM" , # RESP. : GRANET S.GRANET - "3D_HM", # RESP. : GRANET S.GRANET - "3D_HM_SI", # RESP. : GRANET S.GRANET - "3D_THHM", # RESP. : GRANET S.GRANET - "3D_THM", # RESP. : GRANET S.GRANET - "3D_HHMD", # RESP. : GRANET S.GRANET - "3D_HMD", # RESP. : GRANET S.GRANET - "3D_THHD", # RESP. : GRANET S.GRANET - "3D_THVD", # RESP. : GRANET S.GRANET - "3D_THHMD", # RESP. : GRANET S.GRANET - "3D_THMD", # RESP. : GRANET S.GRANET - "3D_HHMS", # RESP. : GRANET S.GRANET - "3D_HMS", # RESP. : GRANET S.GRANET - "3D_THHS", # RESP. : GRANET S.GRANET - "3D_THVS", # RESP. : GRANET S.GRANET - "3D_THHMS", # RESP. : GRANET S.GRANET - "3D_THMS", # RESP. : GRANET S.GRANET - "3D_THH2MD", # RESP. : GRANET S.GRANET - "3D_THH2MS", # RESP. : GRANET S.GRANET - "3D_HH2MD", # RESP. : GRANET S.GRANET - "3D_HH2MS", # RESP. : GRANET S.GRANET - "3D_THH2S", # RESP. : GRANET S.GRANET - "3D_THH2D", # RESP. : GRANET S.GRANET - "3D_HS", # RESP. : GRANET S.GRANET - "3D_HHD", # RESP. : GRANET S.GRANET - "3D_HHS", # RESP. : GRANET S.GRANET - "3D_HH2D", # RESP. : GRANET S.GRANET - "3D_HH2S", # RESP. : GRANET S.GRANET - "VF1", # RESP. : GRANET S.GRANET - "3D_HH2SUDM", # RESP. : GRANET S.GRANET - "3D_HH2SUDA", # RESP. : GRANET S.GRANET - "3D_HH2SUC", # RESP. : GRANET S.GRANET - "D_PLAN_HH2SUDM", # RESP. : GRANET S.GRANET - "D_PLAN_HH2SUC", # RESP. : GRANET S.GRANET - "D_PLAN_HH2SUDA", # RESP. : GRANET S.GRANET - "PLAN_JHMS", - "AXIS_JHMS", - ) ) ), - - b_thermique =BLOC( condition = "PHENOMENE=='THERMIQUE'", - fr="modélisations thermiques", - MODELISATION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=( - "3D", # RESP. : DURAND C.DURAND - "3D_DIAG", # RESP. : DURAND C.DURAND - "AXIS", # RESP. : DURAND C.DURAND - "AXIS_DIAG", # RESP. : DURAND C.DURAND - "AXIS_FOURIER", # RESP. : DESROCHES X.DESROCHES - "COQUE", # RESP. : DESROCHES X.DESROCHES - "COQUE_AXIS", # RESP. : DESROCHES X.DESROCHES - "COQUE_PLAN", # RESP. : DESROCHES X.DESROCHES - "PLAN", # RESP. : DURAND C.DURAND - "PLAN_DIAG", # RESP. : DURAND C.DURAND - ),),), - - b_acoustique =BLOC( condition = "PHENOMENE=='ACOUSTIQUE'", - fr="modélisations acoustiques", - MODELISATION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=( - "3D", # RESP. : None - "PLAN" # RESP. : None - ), ),), - - ), - - PARTITION =FACT(statut='d', - PARALLELISME =SIMP(statut='f',typ='TXM',defaut="GROUP_ELEM", - into=("MAIL_CONTIGU","MAIL_DISPERSE","CENTRALISE","GROUP_ELEM")), - b_dist_maille =BLOC(condition = "PARALLELISME in ('MAIL_DISPERSE','MAIL_CONTIGU')", - CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,val_min=0,val_max=100), - ), - ), - - VERI_JACOBIEN =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI', - fr ="Vérification de la forme des mailles (jacobiens tous de meme signe).",), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -def appl_cine_matr_prod(MATR_ASSE,**args): - if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_depl_r - if AsType(MATR_ASSE) == matr_asse_depl_c : return matr_asse_depl_c - if AsType(MATR_ASSE) == matr_asse_temp_r : return matr_asse_temp_r - if AsType(MATR_ASSE) == matr_asse_temp_c : return matr_asse_temp_c - if AsType(MATR_ASSE) == matr_asse_pres_r : return matr_asse_pres_r - if AsType(MATR_ASSE) == matr_asse_pres_c : return matr_asse_pres_c - raise AsException("type de concept resultat non prevu") - -APPL_CINE_MATR=OPER(nom="APPL_CINE_MATR",op=158,sd_prod=appl_cine_matr_prod, - fr="Appliquer les C.L. cinématiques sur la matrice", - reentrant='f', UIinfo={"groupes":("Résolution",)}, - MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r, - matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -APPL_CINE_SCMB=OPER(nom="APPL_CINE_SCMB",op=159,sd_prod=cham_no_sdaster,reentrant='f', - fr="Application des C.L. cinématiques au second membre", - UIinfo={"groupes":("Résolution",)}, - CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), - MATR =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r, - matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ), - CHAM_CINE =SIMP(statut='f',typ=cham_no_sdaster), - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: harinaivo.andriambololona at edf.fr - - -def asse_elem_ssd_prod(self,RESU_ASSE_SSD,**args): - MTYPES = { - 'MODELE' : modele_gene, - 'NUME_DDL_GENE' : nume_ddl_gene, - 'RIGI_GENE' : matr_asse_gene_r, - 'MASS_GENE' : matr_asse_gene_r, - } - for res in RESU_ASSE_SSD: - for mc, typ in MTYPES.items(): - if res[mc]: - self.type_sdprod(res[mc], typ) - return None - -ASSE_ELEM_SSD=MACRO(nom="ASSE_ELEM_SSD", - op=OPS('Macro.asse_elem_ssd_ops.asse_elem_ssd_ops'), - sd_prod=asse_elem_ssd_prod, - reentrant='n', - fr="Enchainer les commandes DEFI_MODELE_GENE, NUME_DDL_GENE et ASSE_MATR_GENE", - UIinfo={"groupes":("Matrices/vecteurs",)}, - -# pour les concepts de sortie - RESU_ASSE_SSD = FACT( statut='o', max=1, - regles=(PRESENT_PRESENT('RIGI_GENE','NUME_DDL_GENE'), - PRESENT_PRESENT('MASS_GENE','NUME_DDL_GENE'),), - MODELE=SIMP(statut='o',typ=CO,defaut=None), - NUME_DDL_GENE=SIMP(statut='f',typ=CO,defaut=None), - RIGI_GENE=SIMP(statut='f',typ=CO,defaut=None), - MASS_GENE=SIMP(statut='f',typ=CO,defaut=None), - ), - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - -# pour DEFI_MODELE_GENE - SOUS_STRUC =FACT(statut='o',max='**', - NOM =SIMP(statut='o',typ='TXM' ), - MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna ), - ANGL_NAUT =SIMP(statut='f',typ='R',max=3), - TRANS =SIMP(statut='f',typ='R',max=3), - ), - LIAISON =FACT(statut='o',max='**', - SOUS_STRUC_1 =SIMP(statut='o',typ='TXM' ), - INTERFACE_1 =SIMP(statut='o',typ='TXM' ), - SOUS_STRUC_2 =SIMP(statut='o',typ='TXM' ), - INTERFACE_2 =SIMP(statut='o',typ='TXM' ), - regles=(EXCLUS('GROUP_MA_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'), - EXCLUS('MAILLE_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'),), - GROUP_MA_MAIT_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_MAIT_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_MAIT_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_MAIT_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - OPTION =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("REDUIT","CLASSIQUE") ), - ), - VERIF =FACT(statut='d',max=1, - STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - ), - - -# pour NUME_DDL_GENE - METHODE =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","ELIMINE") ), - STOCKAGE =SIMP(statut='f',typ='TXM',defaut="LIGN_CIEL",into=("LIGN_CIEL","PLEIN") ), - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -ASSE_MAILLAGE=OPER(nom="ASSE_MAILLAGE",op= 105,sd_prod=maillage_sdaster, - fr="Assembler deux maillages pour en former un nouveau", - reentrant='n', - UIinfo={"groupes":("Maillage",)}, - MAILLAGE_1 = SIMP(statut='o',typ=maillage_sdaster,), - MAILLAGE_2 = SIMP(statut='o',typ=maillage_sdaster,), - OPERATION = SIMP(statut='o',typ='TXM',into=("SOUS_STR","SUPERPOSE","COLLAGE"),), - b_collage = BLOC(condition = "OPERATION == 'COLLAGE'", - COLLAGE = FACT(statut='o', - GROUP_MA_1 =SIMP(statut='o',typ=grma), - GROUP_MA_2 =SIMP(statut='o',typ=grma), - ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.corus at edf.fr -def asse_matr_gene_prod(METHODE,**args): - if (METHODE=="INITIAL") : return matr_asse_gene_r - elif (args['OPTION']=="RIGI_GENE_C") : return matr_asse_gene_c - else : return matr_asse_gene_r - -ASSE_MATR_GENE=OPER(nom="ASSE_MATR_GENE",op= 128,sd_prod=asse_matr_gene_prod, - fr="Assemblage des matrices généralisées de macro éléments pour construction de la matrice globale généralisée", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), - METHODE =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","INITIAL") ), - b_option =BLOC(condition = "METHODE == 'CLASSIQUE'", - OPTION =SIMP(statut='o',typ='TXM',into=("RIGI_GENE","RIGI_GENE_C","MASS_GENE","AMOR_GENE") ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -def asse_matrice_prod(MATR_ELEM,**args): - if AsType(MATR_ELEM) == matr_elem_depl_r : return matr_asse_depl_r - if AsType(MATR_ELEM) == matr_elem_depl_c : return matr_asse_depl_c - if AsType(MATR_ELEM) == matr_elem_temp_r : return matr_asse_temp_r - if AsType(MATR_ELEM) == matr_elem_pres_c : return matr_asse_pres_c - raise AsException("type de concept resultat non prevu") - -ASSE_MATRICE=OPER(nom="ASSE_MATRICE",op=12,sd_prod=asse_matrice_prod, - fr="Construction d'une matrice assemblée",reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - MATR_ELEM =SIMP(statut='o', - typ=(matr_elem_depl_r,matr_elem_depl_c,matr_elem_temp_r,matr_elem_pres_c) ), - NUME_DDL =SIMP(statut='o',typ=nume_ddl_sdaster), - SYME =SIMP(statut='f',typ='TXM',into=("OUI",) ), - CHAR_CINE =SIMP(statut='f',typ=(char_cine_meca,char_cine_ther,char_cine_acou) ), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.corus at edf.fr -ASSE_VECT_GENE=OPER(nom="ASSE_VECT_GENE",op= 140,sd_prod=vect_asse_gene, - fr="Projection des chargements sur la base modale d'une sous structure", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), - METHODE =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","INITIAL") ), - b_nume =BLOC(condition = "METHODE == 'CLASSIQUE'", - CHAR_SOUS_STRUC =FACT(statut='o',max='**', - SOUS_STRUC =SIMP(statut='o',typ='TXM' ), - VECT_ASSE =SIMP(statut='o',typ=cham_no_sdaster ), - ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -ASSE_VECTEUR=OPER(nom="ASSE_VECTEUR",op=13,sd_prod=cham_no_sdaster, - fr="Construire un champ aux noeuds par assemblage de vecteurs élémentaires",reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - VECT_ELEM =SIMP(statut='o',typ=vect_elem,max='**'), - NUME_DDL =SIMP(statut='o',typ=nume_ddl_sdaster ), - INFO =SIMP(statut='f',typ='I',into=(1,2,) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: albert.alarcon at edf.fr - -def assemblage_prod(self,NUME_DDL,MATR_ASSE,VECT_ASSE,**args): - if ((not MATR_ASSE) and (not VECT_ASSE)): raise AsException("Aucun concept a assembler") - if not NUME_DDL : raise AsException("Impossible de typer les concepts resultats") - if NUME_DDL.is_typco(): - self.type_sdprod(NUME_DDL,nume_ddl_sdaster) - - if MATR_ASSE !=None: - for m in MATR_ASSE: - opti=m['OPTION'] - if opti in ( "RIGI_MECA","RIGI_FLUI_STRU", - "MASS_MECA" , "MASS_FLUI_STRU" ,"RIGI_GEOM" ,"RIGI_ROTA", - "AMOR_MECA","IMPE_MECA","ONDE_FLUI","MASS_MECA_DIAG", - "MECA_GYRO","RIGI_GYRO" ) : t=matr_asse_depl_r - - if opti in ( "RIGI_ACOU","MASS_ACOU","AMOR_ACOU",) : t=matr_asse_pres_c - - if opti in ( "RIGI_THER","RIGI_THER_CONV" , - "RIGI_THER_CONV_D",) : t=matr_asse_temp_r - - if opti == "RIGI_MECA_HYST" : t= matr_asse_depl_c - - self.type_sdprod(m['MATRICE'],t) - - if VECT_ASSE !=None: - for v in VECT_ASSE: - self.type_sdprod(v['VECTEUR'],cham_no_sdaster) - - return None - -ASSEMBLAGE=MACRO(nom="ASSEMBLAGE", - op=OPS('Macro.assemblage_ops.assemblage_ops'), - UIinfo={"groupes":("Matrices et vecteurs",)}, - sd_prod=assemblage_prod, - regles=(AU_MOINS_UN('MATR_ASSE','VECT_ASSE'),), - fr="Calcul des matrices et vecteurs assemblés ", - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - INST =SIMP(statut='f',typ='R',defaut=0.), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - CHARGE =SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**'), - CHAR_CINE =SIMP(statut='f',typ=(char_cine_meca,char_cine_ther,char_cine_acou) ), - NUME_DDL =SIMP(statut='o',typ=(nume_ddl_sdaster,CO)), - SOLVEUR =FACT(statut='d', - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS","PETSC") ), - b_mult_front =BLOC(condition="METHODE=='MULT_FRONT'",fr="Paramètres associés à la méthode multifrontale", - RENUM =SIMP(statut='f',typ='TXM',into=("MD","MDA","METIS"),defaut="METIS" ), - ), - b_ldlt =BLOC(condition="METHODE=='LDLT'",fr="Paramètres associés à la méthode LDLT", - RENUM =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK" ), - ), - b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS", - RENUM =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AMD","AMF","PORD","METIS","QAMD","SCOTCH","AUTO")), - ), - b_gcpc =BLOC(condition="METHODE=='GCPC'",fr="Paramètres associés à la méthode gradient conjugué", - RENUM =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK" ), - ), - b_petsc =BLOC(condition = "METHODE == 'PETSC'",fr="Paramètres de la méthode PETSC", - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ), - ), - ), - - MATR_ASSE =FACT(statut='f',max='**', - MATRICE =SIMP(statut='o',typ=CO), - OPTION =SIMP(statut='o',typ='TXM', - into=("RIGI_MECA","MASS_MECA","MASS_MECA_DIAG", - "AMOR_MECA","RIGI_MECA_HYST","IMPE_MECA", - "ONDE_FLUI","RIGI_FLUI_STRU","MASS_FLUI_STRU", - "RIGI_ROTA","RIGI_GEOM","MECA_GYRO","RIGI_GYRO", - "RIGI_THER","RIGI_ACOU","MASS_ACOU","AMOR_ACOU",) - ), - - b_rigi_meca = BLOC( condition = "OPTION=='RIGI_MECA'", - MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0), - ), - - b_rigi_geom = BLOC( condition = "OPTION=='RIGI_GEOM'", - SIEF_ELGA =SIMP(statut='o',typ=cham_elem), - MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0), - ), - - b_rigi_ther = BLOC( condition = "OPTION=='RIGI_THER'", - MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0), - ), -# - ), # fin MATR_ASSE -# - VECT_ASSE =FACT(statut='f',max='**', - VECTEUR =SIMP(statut='o',typ=CO), - OPTION =SIMP(statut='o',typ='TXM',into=("CHAR_MECA","CHAR_ACOU","CHAR_THER") ), - b_char_meca =BLOC(condition = "OPTION == 'CHAR_MECA'", fr="chargement mécanique", - CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), - MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ), - ), - - b_char_ther =BLOC(condition = "OPTION=='CHAR_THER'", fr="chargement thermique", - CHARGE =SIMP(statut='f',typ=char_ther,validators=NoRepeat(),max='**'), - ), - - b_char_acou =BLOC(condition = "OPTION=='CHAR_ACOU'", fr="chargement acoustique", - CHARGE =SIMP(statut='f',typ=char_acou,validators=NoRepeat(),max='**'), - ), -# - ), # fin VECT_ASSE -# - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: Georges-cc.devesa at edf.fr -CALC_AMOR_MODAL=OPER(nom="CALC_AMOR_MODAL",op= 172,sd_prod=listr8_sdaster, - fr="Création d'une liste d'amortissements modaux calculés selon la règle du RCC-G", - reentrant='n', - UIinfo={"groupes":("Résolution","Dynamique",)}, - regles=(EXCLUS('AMOR_RAYLEIGH','ENER_SOL',), - EXCLUS('AMOR_RAYLEIGH','AMOR_INTERNE',), - EXCLUS('AMOR_RAYLEIGH','AMOR_SOL',), - PRESENT_PRESENT('ENER_SOL','AMOR_INTERNE'), - PRESENT_PRESENT('ENER_SOL','AMOR_SOL'), - ), - AMOR_RAYLEIGH =FACT(statut='f', - AMOR_ALPHA =SIMP(statut='o',typ='R'), - AMOR_BETA =SIMP(statut='o',typ='R'), - MODE_MECA =SIMP(statut='o',typ=mode_meca ), - ), - ENER_SOL =FACT(statut='f', - regles=(UN_PARMI('GROUP_NO_RADIER','GROUP_MA_RADIER'), - PRESENT_ABSENT('COEF_GROUP','FONC_GROUP'), -# Peut-on remplacer les deux règles suivantes par un ENSEMBLE_('KRX','KRY','KRZ') - PRESENT_PRESENT('KRX','KRY'), - PRESENT_PRESENT('KRX','KRZ'), - PRESENT_ABSENT('COOR_CENTRE','NOEUD_CENTRE'), - PRESENT_ABSENT('GROUP_NO_CENTRE','NOEUD_CENTRE'), - PRESENT_ABSENT('GROUP_NO_CENTRE','COOR_CENTRE'),), - METHODE =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","RIGI_PARASOL") ), - MODE_MECA =SIMP(statut='o',typ=mode_meca ), - GROUP_NO_RADIER =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - GROUP_MA_RADIER =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - FONC_GROUP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - COEF_GROUP =SIMP(statut='f',typ='R',max='**'), - KX =SIMP(statut='o',typ='R' ), - KY =SIMP(statut='o',typ='R' ), - KZ =SIMP(statut='o',typ='R' ), - KRX =SIMP(statut='f',typ='R' ), - KRY =SIMP(statut='f',typ='R' ), - KRZ =SIMP(statut='f',typ='R' ), - GROUP_NO_CENTRE =SIMP(statut='f',typ=grno), - NOEUD_CENTRE =SIMP(statut='f',typ=no), - COOR_CENTRE =SIMP(statut='f',typ='R',max=3), - ), - AMOR_INTERNE =FACT(statut='f', - ENER_POT =SIMP(statut='o',typ=table_sdaster ), - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - AMOR_REDUIT =SIMP(statut='o',typ='R',max='**'), - ), - AMOR_SOL =FACT(statut='f', - AMOR_REDUIT =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - FONC_AMOR_GEO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ), - HOMOGENE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - SEUIL =SIMP(statut='f',typ='R',defaut= 0.3 ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: josselin.delmas at edf.fr - -CALC_CHAM_ELEM=OPER(nom="CALC_CHAM_ELEM",op=38,sd_prod=cham_elem, - fr="Calculer un champ élémentaire en thermique et en accoustique à partir de champs déjà calculés", - reentrant='n', - UIinfo={"groupes":("Résultats et champs","Post-traitements",)}, - MODELE =SIMP(statut='o',typ=modele_sdaster), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - - regles=(EXCLUS('TOUT','GROUP_MA',),EXCLUS('TOUT','MAILLE',),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - - INST =SIMP(statut='f',typ='R',defaut= 0.E+0), - ACCE =SIMP(statut='f',typ=cham_no_sdaster), - MODE_FOURIER =SIMP(statut='f',typ='I',), - - OPTION =SIMP(statut='o',typ='TXM', - into=("FLUX_ELGA","FLUX_ELNO", - "PRAC_ELNO", - "COOR_ELGA"), ), - - b_thermique =BLOC(condition="OPTION in ('FLUX_ELNO','FLUX_ELGA',)", - TEMP =SIMP(statut='o',typ=(cham_no_sdaster,)), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - ), - - b_acoustique =BLOC(condition="OPTION in ('PRAC_ELNO',)", - PRES =SIMP(statut='o',typ=(cham_no_sdaster,)), - ), - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.sellenet at edf.fr -def calc_champ_prod(RESULTAT,**args): - if AsType(RESULTAT) != None : return AsType(RESULTAT) - raise AsException("type de concept resultat non prevu : RESULTAT=%s (type %s)" \ - % (RESULTAT, type(RESULTAT))) - -CALC_CHAMP=OPER(nom="CALC_CHAMP",op=52,sd_prod=calc_champ_prod,reentrant='f', - UIinfo={"groupes":("Post traitements",)}, - fr="Completer ou creer un resultat en calculant des champs par elements ou aux noeuds", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - - RESULTAT = SIMP(statut='o',typ=resultat_sdaster,position='global', - fr="Resultat d'une commande globale"), - - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'), - PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - ), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NUME_MODE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NOEUD_CMP = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS = SIMP(statut='f',typ='TXM' ), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - FREQ = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), - b_prec_rela = BLOC(condition="(CRITERE=='RELATIF')", - PRECISION = SIMP(statut='f',typ='R',defaut= 1.E-6),), - b_prec_abso = BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION = SIMP(statut='o',typ='R'),), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",), - fr="le calcul sera effectue sur toutes les mailles"), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="le calcul ne sera effectue que sur ces groupes de mailles"), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**', - fr="le calcul ne sera effectue que sur ces mailles"), - - EXCIT = FACT(statut='f',max='**', - fr="Charges contenant les temperatures, les efforts repartis pour les poutres...", - regles=(EXCLUS('FONC_MULT','COEF_MULT',),), - CHARGE = SIMP(statut='o',typ=(char_meca,char_cine_meca),), - FONC_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),), - COEF_MULT = SIMP(statut='f',typ='R'), - TYPE_CHARGE = SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),), - - # Bloc lineaire - b_lineaire = BLOC(condition = "AsType(RESULTAT) in (evol_elas,dyna_trans,dyna_harmo,mode_meca,\ - comb_fourier,mult_elas,fourier_elas,mode_flamb)", - CONTRAINTE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour le calcul de contraintes et efforts generalises", - into=C_NOM_CHAM_INTO(phenomene='CONTRAINTE',categorie='lin'),), - - DEFORMATION = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour le calcul de deformations", - into=C_NOM_CHAM_INTO(phenomene='DEFORMATION',categorie='lin'),), - - ENERGIE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour le calcul d'energies", - into=C_NOM_CHAM_INTO(phenomene='ENERGIE',categorie='lin'),), - - CRITERES = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour le calcul de criteres", - into=C_NOM_CHAM_INTO(phenomene='CRITERES',categorie='lin'),), - - VARI_INTERNE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour le calcul de variables internes", - into=C_NOM_CHAM_INTO(phenomene='VARI_INTERNE',categorie='lin'),), - ), - - # Bloc non-lineaire - b_non_lin = BLOC(condition = "AsType(RESULTAT) in (evol_noli,)", - CONTRAINTE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour le calcul de contraintes et efforts generalises", - into=C_NOM_CHAM_INTO(phenomene='CONTRAINTE',categorie='nonlin'),), - - DEFORMATION = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour le calcul de deformations", - into=C_NOM_CHAM_INTO(phenomene='DEFORMATION',categorie='nonlin'),), - - ENERGIE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour le calcul d'energies", - into=C_NOM_CHAM_INTO(phenomene='ENERGIE',categorie='nonlin'),), - - CRITERES = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour le calcul de criteres", - into=C_NOM_CHAM_INTO(phenomene='CRITERES',categorie='nonlin'),), - - VARI_INTERNE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour le calcul de variables internes", - into=C_NOM_CHAM_INTO(phenomene='VARI_INTERNE',categorie='nonlin'),), - - b_nom_vari = BLOC(condition = "au_moins_un(VARI_INTERNE, ('VAEX_ELNO','VAEX_ELGA','VAEX_NOEU'))", - NOM_VARI = SIMP(statut='o',typ='TXM',min= 1,max='**', - fr="nom de la variable a extraire", - into=("DPORO","DRHOLQ","DPVP","SATLIQ","EVP","IND_ETA","D","IND_END","TEMP_MAX", - "GAMP","PCR","SEUIL_HYD","IND_HYD","PCOHE","COMP_ROC","SEUIL_ISO","ANG_DEV", - "X11","X22","X33","X12","X13","X23","DIST_DEV","DEV_SUR_CRIT","DIST_ISO", - "NB_ITER","ARRET","NB_REDE","SIGNE","RDEV_1","RDEV_2","RDEV_3","RISO","EPSIVPLA", - "IND_1","IND_2","IND_3","IND_4", - ), - ),), - - HYDRAULIQUE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour le calcul de flux hydraulique", - into=C_NOM_CHAM_INTO(phenomene='HYDRAULIQUE',categorie='nonlin'),), - ), - - # Bloc Thermique - b_ther = BLOC(condition = "AsType(RESULTAT) in (evol_ther,fourier_ther,)" , - THERMIQUE = SIMP(statut='f',typ='TXM',validators=NoRepeat(), max='**', - fr="Options pour le calcul de champs en thermique", - into=C_NOM_CHAM_INTO(phenomene='THERMIQUE',),), - ), - - # Bloc acoustique - b_acou = BLOC(condition = "AsType(RESULTAT) in (acou_harmo,mode_acou,dyna_harmo)", - ACOUSTIQUE = SIMP(statut='f',typ='TXM',validators=NoRepeat(), max='**', - fr="Options pour le calcul de champs en acoustique", - into=C_NOM_CHAM_INTO(phenomene='ACOUSTIQUE',),), - ), - - # Bloc FORC_NODA et REAC_NODA - FORCE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**', - fr="Options pour des forces nodales et des reactions nodales", - into=C_NOM_CHAM_INTO(phenomene='FORCE',),), - - # Mot-cle facteur CHAMp UTILisateur - CHAM_UTIL = FACT(statut='f', max='**', - regles = (UN_PARMI('FORMULE', 'CRITERE', 'NORME'), ), - NOM_CHAM = SIMP(statut='o', typ='TXM', - fr="Nom du champ utilisé en donnée",), - FORMULE = SIMP(statut='f', typ=formule, max='**', - fr="Formule permet d'obtenir le critère",), - CRITERE = SIMP(statut='f', typ='TXM', max=1, - into=('TRACE', 'VMIS', 'INVA_2'), - fr="Calcul d'un critère pré-défini",), - NORME = SIMP(statut='f', typ='TXM', max=1, - into=('L2', 'FROBENIUS', ), - fr="Calcul d'une norme pré-définie",), - NUME_CHAM_RESU = SIMP(statut='o', typ='I', val_min=1, val_max=20, - fr="Numéro du champ produit. Exemple: 6 produit le champ UT06",), - ), - - INFO = SIMP(statut='f',typ='I',defaut= 1,into=(1,2)), - - TITRE = SIMP(statut='f',typ='TXM',max='**'), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -CALC_CHAR_CINE=OPER(nom="CALC_CHAR_CINE",op= 102,sd_prod=cham_no_sdaster, - fr="Calcul des seconds membres associés à des charges cinématiques (conditions aux limites non dualisées)", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - NUME_DDL =SIMP(statut='o',typ=nume_ddl_sdaster ), - CHAR_CINE =SIMP(statut='o',typ=(char_cine_meca,char_cine_ther,char_cine_acou ),validators=NoRepeat(),max='**' ), - INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: Georges-cc.devesa at edf.fr -def calc_char_seisme_prod(MATR_MASS,**args ): - if AsType(MATR_MASS) == matr_asse_depl_r : return cham_no_sdaster - raise AsException("type de concept resultat non prevu") - -CALC_CHAR_SEISME=OPER(nom="CALC_CHAR_SEISME",op= 92,sd_prod=calc_char_seisme_prod, - reentrant='n',fr="Calcul du chargement sismique", - UIinfo={"groupes":("Matrices et vecteurs",)}, - regles=(UN_PARMI('MONO_APPUI','MODE_STAT' ),), - MATR_MASS =SIMP(statut='o',typ=matr_asse_depl_r,fr="Matrice de masse" ), - DIRECTION =SIMP(statut='o',typ='R',max=6,fr="Directions du séisme imposé"), - MONO_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MODE_STAT =SIMP(statut='f',typ=(mode_meca,) ), - b_mode_stat =BLOC ( condition = "MODE_STAT != None", - regles=(UN_PARMI('NOEUD','GROUP_NO' ),), - NOEUD =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.corus at edf.fr -CALC_CORR_SSD=OPER(nom="CALC_CORR_SSD",op= 91,sd_prod=table_container, - fr="Qualite d'un modele reduit en dynamique", - reentrant='n', - UIinfo={"groupes":("Dynamique",)}, - MODELE_GENE =SIMP(statut='o',typ=modele_gene), - RESU_GENE =SIMP(statut='o',typ=mode_gene ), - UNITE =SIMP(statut='f',typ='I',defaut=6,), - SHIFT =SIMP(statut='f',typ='R',defaut= 1. ), - VERIF =FACT(statut='f',max='**', - STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: marina.bottoni at edf.fr - - -def calc_ecrevisse_prod(self,CHARGE_MECA,CHARGE_THER1,CHARGE_THER2,TABLE,DEBIT,**args): - - self.type_sdprod(CHARGE_MECA,char_meca) - self.type_sdprod(CHARGE_THER1,char_ther) - self.type_sdprod(CHARGE_THER2,char_ther) - self.type_sdprod(TABLE,table_sdaster) - self.type_sdprod(DEBIT,table_sdaster) - return None - - - -CALC_ECREVISSE=MACRO(nom="CALC_ECREVISSE", - op=OPS('Macro.calc_ecrevisse_ops.calc_ecrevisse_ops'), - sd_prod=calc_ecrevisse_prod, - reentrant='n', - UIinfo={"groupes":("Outils-métier",)},fr="Procedure de couplage avec Ecrevisse", - regles = (UN_PARMI('LOGICIEL','VERSION'),), - -# CONCEPTS SORTANTS : 2 CHARGEMENTS THERMIQUE + 1 MECANIQUE + 2 TABLES POUR LE POST-TRAITEMENT -# ******************************************** - CHARGE_MECA =SIMP(statut='o',typ=CO), - CHARGE_THER1 =SIMP(statut='o',typ=CO), - CHARGE_THER2 =SIMP(statut='o',typ=CO), - TABLE =SIMP(statut='o',typ=CO), - DEBIT =SIMP(statut='o',typ=CO), - - -# MODELES MECANIQUES -# ******************************************** - MODELE_MECA =SIMP(statut='o',typ=modele_sdaster), - MODELE_THER =SIMP(statut='o',typ=modele_sdaster), - - -# DONNEES GEOMETRIQUES RELATIVES AUX RESULTATS -# ******************************************** - RESULTAT =FACT(statut='o',min=1,max=1, - MECANIQUE =SIMP(statut='o',typ=resultat_sdaster), - THERMIQUE =SIMP(statut='o',typ=resultat_sdaster), - regles=(EXCLUS('NUME_ORDRE','INST'),), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),), - ), - -# DONNEES GEOMETRIQUES RELATIVES A LA FISSURE -# ******************************************* - - FISSURE =FACT(statut='o',min=1,max='**', - PREFIXE_FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,8),), - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),min=2,max=2, - fr="Groupe(s) des noeuds definissant les levres de la fissure"), - GROUP_NO_ORIG =SIMP(statut='o',typ=grno,validators=NoRepeat(),min=2,max=2), - GROUP_NO_EXTR =SIMP(statut='o',typ=grno,validators=NoRepeat(),min=2,max=2), - ZETA =SIMP(statut='o',typ='R',fr="Coefficient de la perte de charge singuliere a l'entree [zeta]" ), - RUGOSITE =SIMP(statut='o',typ='R',fr="Rugosite absolu (metres) [eps]" ), - OUVERT_REMANENTE =SIMP(statut='o',typ='R',val_min=0.,fr="Ouverture remanente"), - TORTUOSITE =SIMP(statut='f',typ='R',defaut=1.0, val_min=0., val_max=1.0, - fr="Coefficient de tortuosite de la fissure" ), - SECTION =SIMP(statut='o',typ='TXM',into=("ELLIPSE","RECTANGLE"),fr="Type de section [is]" ), - b_section_ellipse =BLOC(condition="SECTION=='ELLIPSE'",fr="Fissure a section elliptique", - LISTE_COTES_BL =SIMP(statut='f',typ='R',max='**', - fr="Liste des cotes des points definissant le petit axe de la section", - validators=NoRepeat() ), - LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**', - fr="Liste des valeurs des points definissant le petit axe de la section", ), - ), - b_section_rectangle =BLOC(condition="SECTION=='RECTANGLE'",fr="Fissure a section rectangulaire", - LISTE_COTES_BL =SIMP(statut='f',typ='R',max='**', - fr="Liste des cotes des points definissant la largeur de la section", - validators=NoRepeat() ), - LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**', - fr="Liste des valeurs des points definissant la largeur de la section", ), - ), - ), - - -# DONNEES RELATIVES A L"ECOULEMENT -# ******************************** - - ECOULEMENT =FACT(statut='o',min=1,max=1, - PRES_ENTREE =SIMP(statut='o',typ='R',fr="Pression de stagnation a l'entree (Pa) [pe]" ), - PRES_SORTIE =SIMP(statut='o',typ='R',fr="Pression de stagnation a la sortie (Pa) [ps]" ), - FLUIDE_ENTREE =SIMP(statut='o',typ='I',into=(1,2,3,4,5,6),fr="Condition du fluide a l'entree [iflow]" ), - b_condition_1 =BLOC(condition="FLUIDE_ENTREE==1",fr="Eau sous-refroidie ou saturee", - TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - ), - b_condition_2 =BLOC(condition="FLUIDE_ENTREE==2",fr="Fluide diphasique", - TITR_MASS =SIMP(statut='o',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ), - ), - b_condition_3 =BLOC(condition="FLUIDE_ENTREE==3",fr="Vapeur saturee ou surchauffee", - TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - ), - b_condition_4 =BLOC(condition="FLUIDE_ENTREE==4",fr="Air + vapeur surchauffee", - TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - PRES_PART =SIMP(statut='o',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ), - ), - b_condition_5 =BLOC(condition="FLUIDE_ENTREE==5",fr="Air + vapeur saturee", - TITR_MASS =SIMP(statut='o',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ), - PRES_PART =SIMP(statut='o',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ), - ), - b_condition_6 =BLOC(condition="FLUIDE_ENTREE==6",fr="Air seul", - TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - ), - ), - - -# CHOIX DES MODELES -# ***************** - - MODELE_ECRE =FACT(statut='o',min=1,max=1, - IVENAC =SIMP(statut='f', typ='I', into=(0,1), defaut=0, - fr="Calcul ECREVISSE avec prise en compte de la vena contracta"), - ECOULEMENT =SIMP(statut='o',typ='TXM',into=("SATURATION","GELE"), - fr="Type de modele d'ecoulement diphasique [imod]" ), - b_ecou_gele =BLOC(condition="ECOULEMENT=='GELE'",fr="Modele d'ecoulement gele", - PRESS_EBULLITION =SIMP(statut='o',typ='R',fr="Pression d'ebullition [corrp*psat(t)]" ), - ), - FROTTEMENT =SIMP(statut='o',typ='I',into=(-4,-3,-2,-1,0,1,2,3,4,11,12,13,14),fr="Correlation de frottement [ifrot]" ), - b_frottement =BLOC(condition="FROTTEMENT<0",fr="Modele d'ecoulement gele", - REYNOLDS_LIM =SIMP(statut='o',typ='R',fr="Coefficient de Reynolds limite [relim]" ), - FROTTEMENT_LIM =SIMP(statut='o',typ='R',fr="Coefficient de frottement impose [frtlim]" ), - ), - - TRANSFERT_CHAL =SIMP(statut='o',typ='I',into=(-12,-11,-2,-1,0,1,2,11,12),fr="Transfert de chaleur [ichal]" ), - b_transchal =BLOC(condition="TRANSFERT_CHAL<0", fr="Cas diphasique", - XMINCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux min [xminch]"), - XMAXCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux max [xmaxch]"), - ), - ), - - -# DONNEES RELATIVES A LA CONVERGENCE NUMERIQUE -# ******************************************** - - CONVERGENCE =FACT(statut='o',min=1,max=1, - KGTEST =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 0.5E+0, - fr="Parametre de l'algorithme iteratif [kgtest]" ), - ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 400, - fr="Nombre maximum d'iterations de la methode de Newton [itnmax]" ), - CRIT_CONV_DEBI =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 1.E-5, - fr="Critere de convergence en debit [precdb]" ), - ), - -# GENERAL -# ******* - - COURBES =SIMP(statut='f',typ='TXM',into=("INTERACTIF","POSTSCRIPT","AUCUNE"),defaut="AUCUNE", - fr="Generation eventuelle des courbes" ), - LOGICIEL =SIMP(statut='f',typ='TXM',validators=LongStr(1,255),), - VERSION =SIMP(statut='f',typ='TXM',into = ("3.2.1",) ), - ENTETE =SIMP(statut='f',typ='TXM',max='**',defaut="Titre du calcul Ecrevisse" ), - IMPRESSION =SIMP(statut='f',typ='TXM',defaut='NON',into=( 'OUI','NON') ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: josselin.delmas at edf.fr -def calc_erreur_prod(RESULTAT,**args): - if AsType(RESULTAT) != None : return AsType(RESULTAT) - raise AsException("type de concept resultat non prevu") - -CALC_ERREUR=OPER(nom="CALC_ERREUR",op=42,sd_prod=calc_erreur_prod,reentrant='f', - UIinfo={"groupes":("Post-traitements","Résultats et champs",)}, - fr="Compléter ou créer un résultat en calculant des champs d'erreur", - MODELE =SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - - RESULTAT =SIMP(statut='o',typ=resultat_sdaster, - fr="Résultat d'une commande globale"), - - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'), - ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS =SIMP(statut='f',typ='TXM' ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R'),), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI"), - -#----------------------------------------------------------------------- -# pour conserver la compatibilité mais ne sert à rien -#----------------------------------------------------------------------- - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - EXCIT =FACT(statut='f',max='**', - fr="Charges contenant les températures, les efforts répartis pour les poutres...", - regles=(EXCLUS('FONC_MULT','COEF_MULT',),), - CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca),), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),), - COEF_MULT =SIMP(statut='f',typ='R'),), -#----------------------------------------------------------------------- - - OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(phenomene='ERREUR',),), - - b_erre_qi =BLOC(condition = "au_moins_un(OPTION, ('QIRE_ELEM','QIZ1_ELEM','QIZ2_ELEM','QIRE_ELNO','QIRE_NOEU'))", - RESU_DUAL=SIMP(statut='o',typ=resultat_sdaster,fr="Résultat du problème dual"),), - - b_sing =BLOC(condition= "au_moins_un(OPTION, 'SING_ELEM')", - PREC_ERR=SIMP(statut='o',typ='R',val_min= 0., - fr="Précision demandée pour calculer la carte de taille des éléments"), - TYPE_ESTI=SIMP(statut='f',typ='TXM',into=("ERME_ELEM","ERZ1_ELEM","ERZ2_ELEM", - "QIRE_ELEM","QIZ1_ELEM","QIZ2_ELEM",), - fr="Choix de l'estimateur d'erreur"),), - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR (utilisé actuellement pour estimateur d'erreur ZZ1) - SOLVEUR =C_SOLVEUR('CALC_ERREUR'), -#------------------------------------------------------------------- - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== - -# person_in_charge: albert.alarcon at edf.fr - - -def calc_essai_prod(self,RESU_IDENTIFICATION, - RESU_MODIFSTRU, - **args): - - if RESU_IDENTIFICATION != None: - for res in RESU_IDENTIFICATION: - self.type_sdprod(res['TABLE'],interspectre) - - MTYPES = { - 'MODELE' : modele_sdaster, - 'MODE_MECA' : mode_meca, - 'NUME_DDL' : nume_ddl_sdaster, - 'MAILLAGE' : maillage_sdaster, - 'MASS_MECA' : matr_asse_depl_r, - 'RIGI_MECA' : matr_asse_depl_r, - 'AMOR_MECA' : matr_asse_depl_r, - 'MACR_ELEM' : macr_elem_stat, - 'PROJ_MESU' : mode_gene, - 'BASE_ES' : mode_meca, - 'BASE_LMME' : mode_meca, - 'MODE_STA' : mode_meca, - } - if RESU_MODIFSTRU != None: - for res in RESU_MODIFSTRU: - for mc, typ in MTYPES.items(): - if res[mc]: - self.type_sdprod(res[mc], typ) - return None - - -CALC_ESSAI = MACRO(nom = 'CALC_ESSAI', - op = OPS('Macro.calc_essai_ops.calc_essai_ops'), - sd_prod = calc_essai_prod, - reentrant = 'n', - UIinfo = {"groupes":("Outils-métier","Dynamique",)}, - fr = "Outil de post-traitement interactif pour Meidee ", - INTERACTIF = SIMP( statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI' ), - RESU_IDENTIFICATION = FACT( statut='f',max='**', - TABLE = SIMP(statut='f', typ=CO), - ), - RESU_MODIFSTRU = FACT( statut='f', max=1, - MODELE=SIMP(statut='f',typ=CO,defaut=None), - MODE_MECA=SIMP(statut='f',typ=CO,defaut=None), - MAILLAGE=SIMP(statut='f',typ=CO,defaut=None), - NUME_DDL=SIMP(statut='f',typ=CO,defaut=None), - MASS_MECA=SIMP(statut='f',typ=CO,defaut=None), - RIGI_MECA=SIMP(statut='f',typ=CO,defaut=None), - AMOR_MECA=SIMP(statut='f',typ=CO,defaut=None), - MACR_ELEM=SIMP(statut='f',typ=CO,defaut=None), - PROJ_MESU=SIMP(statut='f',typ=CO,defaut=None), - BASE_ES=SIMP(statut='f',typ=CO,defaut=None), - BASE_LMME=SIMP(statut='f',typ=CO,defaut=None), - MODE_STA=SIMP(statut='f',typ=CO,defaut=None), - ), - - b_inter = BLOC( condition="INTERACTIF=='NON'", - - EXPANSION = FACT( statut='f',max='**', - CALCUL = SIMP(statut='o',typ=mode_meca), - NUME_MODE_CALCUL = SIMP(statut='f',typ='I',validators=NoRepeat(), - max='**',defaut=0), - MESURE = SIMP(statut='o',typ=mode_meca), - NUME_MODE_MESURE = SIMP(statut='f',typ='I',validators=NoRepeat(), - max='**',defaut=0), - RESOLUTION = SIMP(statut='f',typ='TXM',defaut='SVD',into=('SVD','LU')), - b_reso = BLOC(condition = "RESOLUTION=='SVD'", - EPS = SIMP(statut='f',typ='R', defaut = 0.) - ) - ), - IDENTIFICATION = FACT( statut='f',max='**', - ALPHA = SIMP(statut='f',typ='R', defaut = 0.), - EPS = SIMP(statut='f',typ='R', defaut = 0.), - OBSERVABILITE = SIMP(statut='o',typ=mode_meca), - COMMANDABILITE = SIMP(statut='o',typ=mode_meca), - INTE_SPEC = SIMP(statut='o',typ=interspectre), - RESU_EXPANSION = SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')), - BASE = SIMP(statut='o',typ=mode_meca), - ), - MODIFSTRUCT = FACT( statut='f', max=1, - MESURE = SIMP(statut='o', typ=mode_meca), - MODELE_SUP = SIMP(statut='o', typ=modele_sdaster), - MATR_RIGI = SIMP(statut='o', typ=matr_asse_depl_r), - RESOLUTION = SIMP(statut='f', typ='TXM', - into=('ES', 'LMME'), defaut='ES'), - b_resol = BLOC( condition = "RESOLUTION=='LMME'", - MATR_MASS = SIMP(statut='o', typ=matr_asse_depl_r), - ), - NUME_MODE_MESU = SIMP(statut='o', typ='I',max='**'), - NUME_MODE_CALCUL = SIMP(statut='o', typ='I',max='**'), - MODELE_MODIF = SIMP(statut='o', typ=modele_sdaster), - ), - # Si on realise une modification structurale, on donne les DDL capteurs et interface - b_modif = BLOC( condition="MODIFSTRUCT!=None", - GROUP_NO_CAPTEURS = FACT( statut='f', max='**', - GROUP_NO = SIMP(statut='o',typ=grno,), - NOM_CMP = SIMP(statut='o',typ='TXM', max='**'), - ), - GROUP_NO_EXTERIEUR = FACT( statut='f', max='**', - GROUP_NO = SIMP(statut='o',typ=grno,), - NOM_CMP = SIMP(statut='o',typ='TXM', max='**'), - ), - ), - ), - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: sam.cuvilliez at edf.fr - -def calc_essai_geomeca_prod(self, - ESSAI_TD, - ESSAI_TND, - ESSAI_CISA_C, - ESSAI_TND_C, - #ESSAI_XXX, - **args): - List_essais = [] - if ESSAI_TD != None : List_essais += ESSAI_TD.List_F() - if ESSAI_TND != None : List_essais += ESSAI_TND.List_F() - if ESSAI_CISA_C != None : List_essais += ESSAI_CISA_C.List_F() - if ESSAI_TND_C != None : List_essais += ESSAI_TND_C.List_F() - #if ESSAI_XXX != None : List_essais += ESSAI_XXX.List_F() - for DicoEssai in List_essais : - if DicoEssai.has_key('TABLE_RESU'): - for Table in DicoEssai['TABLE_RESU']: - self.type_sdprod(Table,table_sdaster) - return None - - -CALC_ESSAI_GEOMECA = MACRO(nom="CALC_ESSAI_GEOMECA", - op=OPS('Macro.calc_essai_geomeca_ops.calc_essai_geomeca_ops'), - sd_prod=calc_essai_geomeca_prod, - UIinfo={"groupes":("",)}, - reentrant='n', - fr="", - MATER = SIMP(statut='o',typ=mater_sdaster), - COMPORTEMENT = C_COMPORTEMENT(), - CONVERGENCE = C_CONVERGENCE(), - regles=(AU_MOINS_UN('COMPORTEMENT'), # car COMPORTEMENT est facultatif dans C_COMPORTEMENT - AU_MOINS_UN( - 'ESSAI_TD' , - 'ESSAI_TND' , - 'ESSAI_CISA_C', - 'ESSAI_TND_C' , - #'ESSAI_XXX' , - ),), - # --- - # Essai Triaxial Monotone Draine ('TD') - # --- - ESSAI_TD = FACT(statut='f',max='**', - - PRES_CONF = SIMP(statut='o',typ='R',max='**',), - EPSI_IMPOSE = SIMP(statut='o',typ='R',max='**',), - NB_INST = SIMP(statut='f',typ='I',val_min=100,defaut=100), - - TABLE_RESU = SIMP(statut='f',typ=CO,max='**',validators=NoRepeat(),), - GRAPHIQUE = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), - into= ('P-Q','EPS_AXI-Q','EPS_AXI-EPS_VOL',), - defaut=('P-Q','EPS_AXI-Q','EPS_AXI-EPS_VOL',),), - TABLE_REF = SIMP(statut='f',typ=table_sdaster,max='**',), - - ), - - # --- - # Essai Triaxial Monotone Non Draine ('TND') - # --- - ESSAI_TND = FACT(statut='f',max='**', - - PRES_CONF = SIMP(statut='o',typ='R',max='**',), - EPSI_IMPOSE = SIMP(statut='o',typ='R',max='**',), - BIOT_COEF = SIMP(statut='f',typ='R',defaut=1.,), - NB_INST = SIMP(statut='f',typ='I',val_min=100,defaut=100), - - TABLE_RESU = SIMP(statut='f',typ=CO,max='**',validators=NoRepeat(),), - GRAPHIQUE = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), - into= ('P-Q','EPS_AXI-Q','EPS_AXI-PRE_EAU',), - defaut=('P-Q','EPS_AXI-Q','EPS_AXI-PRE_EAU',),), - TABLE_REF = SIMP(statut='f',typ=table_sdaster,max='**',), - - ), - - # --- - # Essai de Cisaillement Cyclique Draine ('CISA_C') - # --- - ESSAI_CISA_C = FACT(statut='f',max='**', - - PRES_CONF = SIMP(statut='o',typ='R',max='**',), - EPSI_IMPOSE = SIMP(statut='o',typ='R',max='**',), - EPSI_ELAS = SIMP(statut='f',typ='R',defaut=1.E-7,val_max=1.E-7), - NB_CYCLE = SIMP(statut='o',typ='I',val_min=1), - NB_INST = SIMP(statut='f',typ='I',val_min=25,defaut=25), - - TABLE_RESU = SIMP(statut='f',typ=CO,max='**',validators=NoRepeat(),), - GRAPHIQUE = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), - into= ('EPSXY-SIGXY','EPSXY-G','EPSXY-D',), - defaut=('EPSXY-SIGXY','EPSXY-G','EPSXY-D',),), - TABLE_REF = SIMP(statut='f',typ=table_sdaster,max='**',), - - ), - - # --- - # Essai Triaxial Non Draine Cyclique ('TND_C') - # --- - ESSAI_TND_C = FACT(statut='f',max='**', - - PRES_CONF = SIMP(statut='o',typ='R',max='**',), - SIGM_IMPOSE = SIMP(statut='o',typ='R',max='**',), - BIOT_COEF = SIMP(statut='f',typ='R',defaut=1.,), - UN_SUR_K = SIMP(statut='o',typ='R',), - NB_CYCLE = SIMP(statut='o',typ='I',val_min=1), - NB_INST = SIMP(statut='f',typ='I',val_min=25,defaut=25), - - TABLE_RESU = SIMP(statut='f',typ=CO,max='**',validators=NoRepeat(),), - GRAPHIQUE = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), - into= ('NCYCL-DSIGM','P-Q','SIG_AXI-PRE_EAU',), - defaut=('NCYCL-DSIGM','P-Q','SIG_AXI-PRE_EAU',),), - TABLE_REF = SIMP(statut='f',typ=table_sdaster,max='**',), - - ), - - # --- - # Essai ... ('XXX') - # --- - #ESSAI_XXX = FACT(statut='f',max='**', - # - # PRES_CONF = SIMP(statut='o',typ='R',max='**',), - # ... - # - # TABLE_RESU = SIMP(statut='f',typ=CO,max='**',validators=NoRepeat(),), - # GRAPHIQUE = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), - # into= ('XXX','XXX','XXX',), - # defaut=('XXX','XXX','XXX',),), - # TABLE_REF = SIMP(statut='f',typ=table_sdaster,max='**',), - # - # ), - - INFO = SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: aimery.assire at edf.fr - -def calc_europlexus_prod(self,COURBE=None,**args): - if COURBE is not None: - self.type_sdprod(args['TABLE_COURBE'],table_sdaster) - return evol_noli - -CALC_EUROPLEXUS = MACRO(nom="CALC_EUROPLEXUS", - op=OPS('Macro.calc_europlexus_ops.calc_europlexus_ops'), - sd_prod=calc_europlexus_prod, - reentrant='n', - UIinfo={"groupes":("Outils-métier","Dynamique",)}, - fr="Chainage Code_Aster-Europlexus", - regles=(PRESENT_ABSENT('ETAT_INIT','MODELE'), - PRESENT_ABSENT('ETAT_INIT','CARA_ELEM'), - PRESENT_ABSENT('ETAT_INIT','CHAM_MATER'), - EXCLUS('ETAT_INIT','FONC_PARASOL'), - AU_MOINS_UN('COMPORTEMENT'),), - LOGICIEL = SIMP(statut='f', typ='TXM', defaut='/home/europlex/EPXD/bin/europlexus'), - LANCEMENT = SIMP(statut='f', typ='TXM', defaut='OUI',into=('OUI','NON')), - - ETAT_INIT = FACT(statut='f', - RESULTAT = SIMP(statut='o',typ=evol_noli), - CONTRAINTE = SIMP(statut='f', typ='TXM', defaut='NON',into=('OUI','NON')), - EQUILIBRE = SIMP(statut='f', typ='TXM', defaut='OUI',into=('OUI','NON')), - b_niter =BLOC(condition = "CONTRAINTE == 'NON' ", - NITER = SIMP(statut='f',typ='I',defaut=1), - ), - ), - MODELE = SIMP(statut='f',typ=modele_sdaster), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - - FONC_PARASOL = FACT(statut='f', - regles=(PRESENT_PRESENT('NFKT','NFKR'),), - NFKT = SIMP(statut='f',typ=(fonction_sdaster,)), - NFKR = SIMP(statut='f',typ=(fonction_sdaster,)), - NFAT = SIMP(statut='f',typ=(fonction_sdaster,)), - NFAR = SIMP(statut='f',typ=(fonction_sdaster,)), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - - - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - COMPORTEMENT =C_COMPORTEMENT('CALC_EUROPLEXUS'), - - EXCIT = FACT(statut='o',max='**', - CHARGE = SIMP(statut='o',typ=(char_meca,)), - FONC_MULT = SIMP(statut='f',typ=(fonction_sdaster,)), - ), - - DIME = FACT(statut='f', regles=(AU_MOINS_UN('UNITE_DIME','Q4GS','FORCE', - 'PT6L','ZONE','POUT','ECRO', - 'APPU','BLOQ','PRESS','PMAT', - 'DKT3','DEPL','FNOM','TABLE','FTAB', - 'MTTI','NEPE','LIAI',), ), - UNITE_DIME=SIMP(statut='f',typ='I'), - - Q4GS = SIMP(statut='f',typ='I'), - FORCE = SIMP(statut='f',typ='I'), - PT6L = SIMP(statut='f',typ='I'), - ZONE = SIMP(statut='f',typ='I'), - POUT = SIMP(statut='f',typ='I'), - ECRO = SIMP(statut='f',typ='I'), - APPU = SIMP(statut='f',typ='I'), - BLOQ = SIMP(statut='f',typ='I'), - PRESS = SIMP(statut='f',typ='I',min=2,max=2,), - PMAT = SIMP(statut='f',typ='I'), - DKT3 = SIMP(statut='f',typ='I'), - DEPL = SIMP(statut='f',typ='I'), - FNOM = SIMP(statut='f',typ='I'), - TABLE = SIMP(statut='f',typ='I',min=2,max=2,), - FTAB = SIMP(statut='f',typ='I'), - MTTI = SIMP(statut='f',typ='I'), - NEPE = SIMP(statut='f',typ='I'), - LIAI = SIMP(statut='f',typ='I'), - ), - - CALCUL = FACT(statut='o', - TYPE_DISCRETISATION = SIMP(statut='o',typ='TXM',defaut='AUTO',into=('AUTO','UTIL')), - INST_FIN = SIMP(statut='o',typ='R'), - INST_INIT = SIMP(statut='o',typ='R'), - NMAX = SIMP(statut='f',typ='R'), - - b_auto =BLOC( condition = "TYPE_DISCRETISATION=='AUTO'", - CSTAB = SIMP(statut='o',typ='R',defaut=0.3), -# DTMAX = SIMP(statut='f',typ='R'), - ), - - b_util =BLOC( condition = "TYPE_DISCRETISATION=='UTIL'", - PASFIX = SIMP(statut='o',typ='R'), - ), - ), - - - OBSERVATION =FACT(statut='f',max='**', - SUIVI_DDL = SIMP(statut='o',typ='TXM',defaut="OUI",max=1,into=("OUI","NON")), - b_suivi =BLOC(condition = "SUIVI_DDL == 'OUI' ", - regles=( AU_MOINS_UN('PAS_NBRE','PAS_INST',), - EXCLUS('PAS_NBRE','PAS_INST',), - EXCLUS('GROUP_NO','TOUT_GROUP_NO',), - EXCLUS('GROUP_MA','TOUT_GROUP_MA',), ), - NOM_CHAM = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',defaut=('DEPL',),into=('DEPL' - ,'VITE','ACCE','SIEF_ELGA','EPSI_ELGA','VARI_ELGA'),), - PAS_INST = SIMP(statut='f',typ='R'), - PAS_NBRE = SIMP(statut='f',typ='I'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - TOUT_GROUP_NO = SIMP(statut='f',typ='TXM',into=('OUI',),), - TOUT_GROUP_MA = SIMP(statut='f',typ='TXM',into=('OUI',),), - ), - ), - - - ARCHIVAGE =FACT(statut='o', regles=( AU_MOINS_UN('PAS_NBRE','PAS_INST',), EXCLUS('PAS_NBRE','PAS_INST',), ), - PAS_INST = SIMP(statut='f',typ='R'), - PAS_NBRE = SIMP(statut='f',typ='I'), - CONT_GENER = SIMP(statut='o',typ='TXM',defaut="OUI",max=1,into=("OUI","NON")), - ), - COURBE = FACT(statut='f',max='**', regles=(EXCLUS('GROUP_NO','GROUP_MA')), - UNITE_ALIT = SIMP(statut='f',typ='I'), - NOM_CHAM = SIMP(statut='f',typ='TXM'), - NOM_CMP = SIMP(statut='f',typ='TXM'), -# NOEUD = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), -# MAILLE = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1), - - b_maille = BLOC(condition = "GROUP_MA != None", regles=(AU_MOINS_UN('NUM_GAUSS')), - NUM_GAUSS = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),), - ), - b_courbe = BLOC(condition = "COURBE != None", - regles=(AU_MOINS_UN('PAS_NBRE_COURBE','PAS_INST_COURBE',), - AU_MOINS_UN('TABLE_COURBE',)), - PAS_INST_COURBE = SIMP(statut='f',typ='R'), - PAS_NBRE_COURBE = SIMP(statut='f',typ='I'), - TABLE_COURBE = SIMP(statut='f', typ=CO), - ), - DOMAINES = FACT(statut='f',max='**', - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - IDENTIFIANT = SIMP(statut='f',typ='I'),), - INTERFACES = FACT(statut='f',max='**', - GROUP_MA_1 = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_MA_2 = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - TOLE = SIMP(statut='f',typ='R'), - IDENT_DOMAINE_1 = SIMP(statut='f',typ='I'), - IDENT_DOMAINE_2 = SIMP(statut='f',typ='I'),), - - INFO =SIMP(statut='f',typ='I',defaut=1,into=( 1, 2 ) ), - ) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: van-xuan.tran at edf.fr -def calc_fatigue_prod(TYPE_CALCUL,OPTION,**args): - if TYPE_CALCUL == "CUMUL_DOMMAGE" : return cham_elem - if TYPE_CALCUL == "FATIGUE_MULTI" and OPTION == "DOMA_ELGA": return cham_elem - if TYPE_CALCUL == "FATIGUE_MULTI" and OPTION == "DOMA_NOEUD": return cham_no_sdaster - if TYPE_CALCUL == "FATIGUE_VIBR" : return cham_elem - raise AsException("type de calcul non prevu") - -CALC_FATIGUE=OPER(nom="CALC_FATIGUE",op= 151,sd_prod=calc_fatigue_prod,reentrant='n', - fr="Calculer un champ de dommage de fatigue subit par une structure et déterminer le plan critique" - +" dans lequel le cisaillement est maximal.", - UIinfo={"groupes":("Post-traitements","Rupture",)}, - - TYPE_CALCUL = SIMP(statut='o',typ='TXM', - into=("CUMUL_DOMMAGE","FATIGUE_MULTI","FATIGUE_VIBR") ), - - b_cumul_domma =BLOC(condition = "TYPE_CALCUL == 'CUMUL_DOMMAGE'", - fr="Calcul d un champ de dommage subi par une structure.", - regles=(PRESENT_PRESENT('DOMMAGE','MATER', ),), - OPTION =SIMP(statut='o',typ='TXM', - into=("DOMA_ELNO_SIGM","DOMA_ELGA_SIGM", - "DOMA_ELNO_EPSI","DOMA_ELGA_EPSI", - "DOMA_ELNO_EPME","DOMA_ELGA_EPME") ), - - b_sigm =BLOC(condition = "OPTION == 'DOMA_ELNO_SIGM' or OPTION == 'DOMA_ELGA_SIGM'", - fr="Calcul a partir d un champ de contraintes.", - HISTOIRE =FACT(statut='o', - RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans, - evol_noli) ), - EQUI_GD =SIMP(statut='f',typ='TXM',defaut="VMIS_SG", - into=("VMIS_SG",) ), - ), - ), - b_epsi =BLOC(condition = "OPTION != 'DOMA_ELNO_SIGM' and OPTION != 'DOMA_ELGA_SIGM'", - fr="Calcul a partir d un champ de déformations.", - HISTOIRE =FACT(statut='o', - RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans, - evol_noli) ), - EQUI_GD =SIMP(statut='o',typ='TXM',defaut="INVA_2_SG", - into=("INVA_2_SG",) ), - ), - ), - DOMMAGE =SIMP(statut='o',typ='TXM', - into=("WOHLER","MANSON_COFFIN","TAHERI_MANSON", - "TAHERI_MIXTE",) ), - MATER =SIMP(statut='o',typ=(mater_sdaster) ), - TAHERI_NAPPE =SIMP(statut='f',typ=(nappe_sdaster,formule) ), - TAHERI_FONC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - b_domma_moda =BLOC(condition = "TYPE_CALCUL == 'FATIGUE_VIBR'", - fr="Calcul d un champ de dommage en dynamique vibratoire", - regles=(PRESENT_PRESENT('DOMMAGE','MATER', ),), - OPTION =SIMP(statut='o',typ='TXM', - into=("DOMA_ELNO_SIGM","DOMA_ELGA_SIGM",) ), - CORR_SIGM_MOYE = SIMP(statut='o',typ='TXM',into=("GOODMAN","GERBER")), - HISTOIRE =FACT(statut='o', - RESULTAT =SIMP(statut='o',typ=(evol_elas, evol_noli) ), - MODE_MECA =SIMP(statut='o',typ=(mode_meca) ), - NUME_MODE =SIMP(statut='o',typ='I',min=1 ,max='**'), - FACT_PARTICI =SIMP(statut='o',typ='R',min=1, max='**',defaut=1. ), - EQUI_GD =SIMP(statut='f',typ='TXM',defaut="VMIS_SG", - into=("VMIS_SG",) ), - ), - DOMMAGE =SIMP(statut='o',typ='TXM', - into=("WOHLER",) ), - MATER =SIMP(statut='o',typ=(mater_sdaster) ), - ), - - b_fatigue_multi =BLOC(condition = "TYPE_CALCUL == 'FATIGUE_MULTI'", - fr="Plan critique dans le cas de la fatigue multiaxiale à grand nombre de cycles.", - TYPE_CHARGE =SIMP(statut='o',typ='TXM',into=("PERIODIQUE","NON_PERIODIQUE") ), - OPTION =SIMP(statut='o',typ='TXM',into=("DOMA_ELGA","DOMA_NOEUD") ), - RESULTAT =SIMP(statut='o',typ=(evol_elas, evol_noli) ), - CHAM_MATER =SIMP(statut='f',typ=(cham_mater) ), - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), - regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**' ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**' ), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**' ), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**' ), - COEF_PREECROU =SIMP(statut='f',typ='R',defaut= 1.0E+0), - b_period =BLOC(condition = "TYPE_CHARGE == 'PERIODIQUE'", - CRITERE =SIMP(statut='o',typ='TXM',into=("MATAKE_MODI_AC", - "DANG_VAN_MODI_AC","VMIS_TRESCA","FORMULE_CRITERE") ), - b_fati_p =BLOC(condition = "(CRITERE == 'MATAKE_MODI_AC' or CRITERE == 'DANG_VAN_MODI_AC')", - METHODE =SIMP(statut='o',typ='TXM',into=("CERCLE_EXACT",) ), - ), - - b_fati_pf =BLOC(condition = "(CRITERE == 'FORMULE_CRITERE')", - FORMULE_GRDEQ = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - COURBE_GRD_VIE = SIMP(statut='o',typ='TXM',into=("WOHLER","MANSON_C","FORM_VIE") ), - FORMULE_CRITIQUE = SIMP(statut='f',typ=(fonction_sdaster,formule) ), - b_fati_pfvie = BLOC(condition = "(COURBE_GRD_VIE == 'FORM_VIE')", - FORMULE_VIE =SIMP(statut='o',typ=(fonction_sdaster,formule) ), - ), - ), - - INST_INIT_CYCL =SIMP(statut='f',typ='R',min=1, max=1), - INST_CRIT =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU",) ), - regles=(PRESENT_PRESENT('INST_INIT_CYCL','INST_CRIT', ),), - b_prec_rela=BLOC(condition="(INST_CRIT=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6),), - b_prec_abso=BLOC(condition="(INST_CRIT=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R'),), - ), - b_non_period =BLOC(condition = "TYPE_CHARGE == 'NON_PERIODIQUE'", - CRITERE =SIMP(statut='o',typ='TXM', - into=("MATAKE_MODI_AV","DANG_VAN_MODI_AV","FATESOCI_MODI_AV","FORMULE_CRITERE","VMIS_TRESCA") ), - b_fati_np =BLOC(condition = - "(CRITERE != 'VMIS_TRESCA')", - PROJECTION =SIMP(statut='o',typ='TXM',into=("UN_AXE", "DEUX_AXES") ), - DELTA_OSCI =SIMP(statut='f',typ='R',defaut= 0.0E+0), - ), - b_fati_npf =BLOC(condition = "(CRITERE == 'FORMULE_CRITERE')", - FORMULE_GRDEQ =SIMP(statut='o',typ=(fonction_sdaster,formule) ), - COURBE_GRD_VIE = SIMP(statut='o',typ='TXM',into=("WOHLER","MANSON_C","FORM_VIE") ), - b_fati_npfvie = BLOC(condition = "(COURBE_GRD_VIE == 'FORM_VIE')", - FORMULE_VIE =SIMP(statut='o',typ=(fonction_sdaster,formule) ), - ), - ), - ), - ), - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -def calc_ferraillage_prod(RESULTAT,**args): - if AsType(RESULTAT) != None : return AsType(RESULTAT) - raise AsException("type de concept resultat non prevu") - - -CALC_FERRAILLAGE=OPER(nom="CALC_FERRAILLAGE",op=175,sd_prod=calc_ferraillage_prod, reentrant='o', - UIinfo={"groupes":("Post-traitements","Outils-métier",)}, - fr="calcul de cartes de densité de ferraillage ", - - RESULTAT =SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans,) ), - - -#==== -# Sélection des numéros d'ordre pour lesquels on fait le calcul : -#==== - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - - b_acce_reel =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - - -# -#==== -# Définition des grandeurs caractéristiques -#==== -# - TYPE_COMB =SIMP(statut='o',typ='TXM',into=('ELU','ELS')), - -# mot clé facteur répétable pour assigner les caractéristiques locales par zones topologiques (GROUP_MA) - AFFE =FACT(statut='o',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - ENROBG =SIMP(statut='o',typ='R'), # enrobage - CEQUI =SIMP(statut='f',typ='R'), # coefficient d'équivalence acier/béton (pour ELS) - SIGM_ACIER =SIMP(statut='o',typ='R'), # contrainte admissible dans l'acier - SIGM_BETON =SIMP(statut='o',typ='R'), # contrainte admissible dans le béton - PIVA =SIMP(statut='f',typ='R'), # valeur du pivot a (pour ELU) - PIVB =SIMP(statut='f',typ='R'), # valeur du pivot b (pour ELU) - ES =SIMP(statut='f',typ='R'), # valeur du Module d'Young de l'acier (pour ELU) - ), - ) - - -############################################################################################################## -# Remarques : -#----------- -# l'épaisseur des coques sera récupérée automatiquement -# via le cara_elem sous-jacent au résultat - -# Le résultat produit est un champ constant par éléments associé à la grandeur FER2_R -# qui comporte les composantes : -# -# DNSXI densité d'acier longitudinal suivant X, peau inf -# DNSXS densité d'acier longitudinal suivant X, peau sup -# DNSYI densité d'acier longitudinal suivant Y, peau inf -# DNSYS densité d'acier longitudinal suivant Y, peau sup -# DNST densité d'acier transversal à l'ELU -# SIGMBE contrainte beton -# EPSIBE deformation béton - -# arrêt en erreur si: -# - EFGE_ELNO n'a pas été précédemment calculé et n'est donc pas présent dans la structure de données RESULTAT -# - si aucun CARA_ELEM n'est récupérable via la structure de données RESULTAT - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: andre.adobes at edf.fr -CALC_FLUI_STRU=OPER(nom="CALC_FLUI_STRU",op= 144,sd_prod=melasflu_sdaster, - reentrant='n', - fr="Calculer les paramètres modaux d'une structure soumise à un écoulement", - UIinfo={"groupes":("Matrices et vecteurs",)}, - VITE_FLUI =FACT(statut='f', - fr="Définir la plage de vitesse fluide étudiée", - VITE_MIN =SIMP(statut='f',typ='R' ), - VITE_MAX =SIMP(statut='f',typ='R' ), - NB_POIN =SIMP(statut='f',typ='I' ), - ), - BASE_MODALE =FACT(statut='o', - - regles=(AU_MOINS_UN('AMOR_REDUIT','AMOR_UNIF','AMOR_REDUIT_CONN'),), - MODE_MECA =SIMP(statut='o',typ=mode_meca ), - NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**',val_min=0.E+00), - AMOR_UNIF =SIMP(statut='f',typ='R',val_min=0.E+00 ), - AMOR_REDUIT_CONN=SIMP(statut='f',typ='R',max='**',val_min=0.E+00), - ), - TYPE_FLUI_STRU =SIMP(statut='o',typ=type_flui_stru ), - IMPRESSION =FACT(statut='f', - fr="Choix des informations à imprimer dans le fichier RESULTAT", - PARA_COUPLAGE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - DEFORMEE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -def calc_fonc_interp_prod(FONCTION, NOM_PARA_FONC, **args): - if AsType(FONCTION) == nappe_sdaster: - return nappe_sdaster - elif AsType(FONCTION) == fonction_sdaster: - return fonction_sdaster - elif AsType(FONCTION) == fonction_c: - return fonction_c - elif AsType(FONCTION) == formule_c: - return fonction_c - elif AsType(FONCTION) == formule: - if NOM_PARA_FONC != None: - return nappe_sdaster - return fonction_sdaster - raise AsException("type de concept resultat non prevu") - -CALC_FONC_INTERP=OPER(nom="CALC_FONC_INTERP",op= 134,sd_prod=calc_fonc_interp_prod, - docu="U4.32.01",reentrant='n', - fr="Définit une fonction (ou une nappe) à partir d'une fonction FORMULE à 1 ou 2 variables", - UIinfo={"groupes":("Fonctions",)}, - regles=(UN_PARMI('VALE_PARA','LIST_PARA'),), - FONCTION =SIMP(statut='o',typ=(formule,fonction_sdaster,nappe_sdaster,fonction_c) ), - VALE_PARA =SIMP(statut='f',typ='R',max='**'), - LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), - NOM_RESU =SIMP(statut='f',typ='TXM'), - NOM_PARA =SIMP(statut='f',typ='TXM'), - INTERPOL =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ), - PROL_DROITE =SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ), - NOM_PARA_FONC =SIMP(statut='f',typ='TXM'), - b_eval_nappe =BLOC(condition = "NOM_PARA_FONC != None", - regles=(UN_PARMI('VALE_PARA_FONC','LIST_PARA_FONC'),), - VALE_PARA_FONC =SIMP(statut='f',typ='R',max='**'), - LIST_PARA_FONC =SIMP(statut='f',typ=listr8_sdaster ), - INTERPOL_FONC =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG")), - PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ), - PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -def calc_fonction_prod(self, DERIVE, EXTRACTION, INTEGRE, INVERSE, COMB, COMB_C, MULT, - ENVELOPPE, FRACTILE, SPEC_OSCI, ASSE, FFT, COMPOSE, CORR_ACCE, - PUISSANCE, LISS_ENVELOP, ABS, REGR_POLYNOMIALE, DSP, **args): - - if (INTEGRE != None): return fonction_sdaster - if (DERIVE != None): return fonction_sdaster - if (INVERSE != None): return fonction_sdaster - if (COMB != None): - type_vale=AsType(COMB[0]['FONCTION']) - for mcfact in COMB : - if(AsType(mcfact['FONCTION'])!=type_vale): - raise AsException("CALC_FONCTION/COMB : pas de types hétérogènes nappe/fonction") - return type_vale - if (COMB_C != None): - vale=COMB_C[0]['FONCTION'] - if(AsType(vale) == nappe_sdaster): - for mcfact in COMB_C[1:] : - if(AsType(mcfact['FONCTION'])!=nappe_sdaster): - raise AsException("CALC_FONCTION/COMB_C : pas de types hétérogènes nappe/fonction") - return nappe_sdaster - else: - for mcfact in COMB_C : - if(AsType(mcfact['FONCTION'])==nappe_sdaster): - raise AsException("CALC_FONCTION/COMB_C : pas de types hétérogènes nappe/fonction") - return fonction_c - if (ENVELOPPE != None): return AsType(ENVELOPPE[0]['FONCTION']) - if (FRACTILE != None): return AsType(FRACTILE[0] ['FONCTION']) - if (EXTRACTION != None): return fonction_sdaster - if (SPEC_OSCI != None): return nappe_sdaster - if (DSP != None): return fonction_sdaster - if (COMPOSE != None): return fonction_sdaster - if (ASSE != None): return fonction_sdaster - if (MULT != None): - type_vale = AsType(MULT[0]['FONCTION']) - for mcfact in MULT: - if(AsType(mcfact['FONCTION']) != type_vale): - raise AsException("CALC_FONCTION/MULT : pas de types hétérogènes nappe/fonction") - return type_vale - if (FFT != None): - vale=FFT[0]['FONCTION'] - if (AsType(vale) == fonction_sdaster ) : return fonction_c - if (AsType(vale) == fonction_c) : return fonction_sdaster - if (CORR_ACCE != None): return fonction_sdaster - if (LISS_ENVELOP!= None): return nappe_sdaster - if (REGR_POLYNOMIALE != None): return fonction_sdaster - if (PUISSANCE != None): return AsType(PUISSANCE[0]['FONCTION']) - if (ABS != None): return fonction_sdaster - raise AsException("type de concept resultat non prevu") - - -CALC_FONCTION=MACRO(nom="CALC_FONCTION", - op=OPS('Macro.calc_fonction_ops.calc_fonction_ops'), - sd_prod=calc_fonction_prod, - fr="Effectue des opérations mathématiques sur des concepts de type fonction", - reentrant='n', - UIinfo={"groupes":("Fonctions",)}, - regles=(UN_PARMI('DERIVE', 'INTEGRE', 'SPEC_OSCI', 'DSP', 'FFT', 'CORR_ACCE', - 'COMB', 'COMB_C', 'MULT', 'ASSE', 'INVERSE', 'ABS', - 'ENVELOPPE', 'COMPOSE', 'EXTRACTION', 'PUISSANCE', - 'LISS_ENVELOP', 'FRACTILE', 'REGR_POLYNOMIALE'),), - FFT =FACT(statut='f',fr="Transformée de Fourier ou de son inverse", - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c) ), - METHODE =SIMP(statut='f',typ='TXM',defaut="PROL_ZERO",into=("PROL_ZERO","TRONCATURE","COMPLET") ), - b_syme =BLOC ( condition = " AsType(FONCTION)==fonction_c ", - SYME =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI' ), - ), - ), - DERIVE =FACT(statut='f',fr="Dérivée d une fonction", - METHODE =SIMP(statut='f',typ='TXM',defaut="DIFF_CENTREE",into=("DIFF_CENTREE",) ), - FONCTION =SIMP(statut='o',typ=fonction_sdaster ), - ), - INTEGRE =FACT(statut='f',fr="Intégrale d'une fonction", - METHODE =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ), - FONCTION =SIMP(statut='o',typ=fonction_sdaster), - COEF =SIMP(statut='f',typ='R',defaut= 0.E+0,fr="Valeur de la constante d intégration" ), - ), - LISS_ENVELOP = FACT(statut='f',fr="Lissage d une enveloppe", - NAPPE =SIMP(statut='o',typ=nappe_sdaster ), - FREQ_MIN =SIMP(statut='f',typ='R',defaut =0.2), - FREQ_MAX =SIMP(statut='f',typ='R',defaut =35.5), - ELARG =SIMP(statut='f',typ='R',defaut =0.1 ), - TOLE_LISS =SIMP(statut='f',typ='R',defaut =0.25 ), - ), - REGR_POLYNOMIALE = FACT(statut='f',fr="Régression polynomiale d'une fonction", - FONCTION =SIMP(statut='o',typ=fonction_sdaster), - DEGRE =SIMP(statut='o',typ='I'), - ), - SPEC_OSCI =FACT(statut='f',fr="Spectre d'oscillateur", - METHODE =SIMP(statut='f',typ='TXM',defaut="NIGAM",into=("NIGAM","HARMO","RICE") ), - FONCTION =SIMP(statut='o',typ=fonction_sdaster ), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - FREQ =SIMP(statut='f',typ='R', max='**'), - NORME =SIMP(statut='o',typ='R',fr="Valeur de la norme du spectre d oscillateur" ), - NATURE =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("DEPL","VITE","ACCE") ), - b_methode =BLOC(condition = "METHODE !='RICE' ", - NATURE_FONC =SIMP(statut='f', typ='TXM', defaut="ACCE", into=("ACCE",),),), - b_rice =BLOC(condition = "METHODE =='RICE' ", - DUREE =SIMP(statut='o', typ='R', val_min=0., - fr="durée de la phase forte pour facteur de pic"), - NATURE_FONC =SIMP(statut='f', typ='TXM', defaut="DSP", into=("DSP",),),), - ), - DSP =FACT(statut='f', fr="Densité spectrale", - FONCTION =SIMP(statut='o', typ=fonction_sdaster ), - AMOR_REDUIT =SIMP(statut='o', typ='R', val_min=0., val_max=1.), - NORME =SIMP(statut='o', typ='R'), - LIST_FREQ =SIMP(statut='f', typ=listr8_sdaster ), - FREQ_PAS =SIMP(statut='f', typ='R'), - regles=(UN_PARMI('FREQ_PAS','LIST_FREQ'),), - FREQ_COUP =SIMP(statut='o', typ='R', fr="fréquence de coupure" ), - DUREE =SIMP(statut='o', typ='R', val_min=0., - fr="durée de la phase forte pour facteur de peak"), - FRACT =SIMP(statut='o', typ='R', defaut=0.5, val_min=0., val_max=1., fr="fractile" ), - ), - ABS =FACT(statut='f',fr="Valeur absolue d'une fonction", - FONCTION =SIMP(statut='o',typ=fonction_sdaster,), - ), - COMB =FACT(statut='f',max='**',fr="Combinaison linéaire réelle de fonctions", - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster) ), - COEF =SIMP(statut='o',typ='R',fr="Coefficient réel de la combinaison linéaire associée à la fonction" ), - ), - COMB_C =FACT(statut='f',max='**',fr="Combinaison linéaire complexe de fonctions", - regles=(UN_PARMI('COEF_R','COEF_C'),), - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster) ), - COEF_R =SIMP(statut='f',typ='R',fr="Coefficient réel de la combinaison linéaire associée à la fonction" ), - COEF_C =SIMP(statut='f',typ='C',fr="Coefficient complexe de la combinaison linéaire associée à la fonction" ), - ), - MULT =FACT(statut='f',max='**',fr="Produit de fonctions réelles", - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster) ), - ), - b_comb =BLOC ( condition = "COMB != None or COMB_C != None " \ - "or REGR_POLYNOMIALE != None or MULT != None", - LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), - ), - COMPOSE =FACT(statut='f',fr="Composition de deux fonctions FONC_RESU(FONC_PARA)", - FONC_RESU =SIMP(statut='o',typ=fonction_sdaster), - FONC_PARA =SIMP(statut='o',typ=fonction_sdaster), - ), - EXTRACTION =FACT(statut='f',fr="Extraction sur une fonction complexe", - FONCTION =SIMP(statut='o',typ=fonction_c), - PARTIE =SIMP(statut='o',typ='TXM',into=("REEL","IMAG","MODULE","PHASE"),fr="Partie à extraire"), - ), - ENVELOPPE =FACT(statut='f',fr="Enveloppe d une famille de fonctions", - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),max='**' ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="SUP",into=("SUP","INF"),fr="Type de l enveloppe" ), - ), - FRACTILE =FACT(statut='f',fr="Fractile d une famille de fonctions ou de nappes", - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),max='**' ), - FRACT =SIMP(statut='o',typ='R',defaut=1.,val_min=0.,val_max=1.,fr="Valeur du fractile" ), - ), - ASSE =FACT(statut='f',fr="Concatenation de fonctions", - FONCTION =SIMP(statut='o',typ=fonction_sdaster,min=2,max=2 ), - SURCHARGE =SIMP(statut='f',typ='TXM',defaut="DROITE",into=("DROITE","GAUCHE")), - ), - CORR_ACCE =FACT(statut='f',fr="Correction d un accelerogramme reel", - CORR_DEPL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - FONCTION =SIMP(statut='o',typ=fonction_sdaster ), - ), - PUISSANCE =FACT(statut='f',fr="Fonction élevée à une puissance", - FONCTION =SIMP(statut='o', typ=(fonction_sdaster,nappe_sdaster) ), - EXPOSANT =SIMP(statut='f', typ='I', defaut=1 ), - ), - INVERSE =FACT(statut='f',fr="Inverse d'une fonction", - FONCTION =SIMP(statut='o', typ=fonction_sdaster), - ), - NOM_PARA =SIMP(statut='f',typ='TXM',into=C_PARA_FONCTION() ), - NOM_RESU =SIMP(statut='f',typ='TXM' ), - INTERPOL =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG"), - fr="Type d'interpolation pour les abscisses et les ordonnées de la " \ - "fonction ou bien pour le paramètre de la nappe."), - PROL_DROITE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), - NOM_PARA_FONC =SIMP(statut='f',typ='TXM',into=C_PARA_FONCTION() ), - INTERPOL_FONC =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG"), - fr="Type d'interpolation pour les abscisses et les ordonnées de la fonction"), - PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.greffet at edf.fr -CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene, - fr="Calculer l'effet de surpression hydrodynamique due au mouvement d'entrainement de la structure" - +" en analyse sismique", - reentrant ='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - - regles=(EXCLUS('MODE_MECA','MODELE_GENE'), - PRESENT_PRESENT( 'MODELE_GENE','NUME_DDL_GENE'), - UN_PARMI('MONO_APPUI', 'NOEUD','GROUP_NO'), - UN_PARMI('MONO_APPUI','MODE_STAT')), - - MODELE_FLUIDE =SIMP(statut='o',typ=modele_sdaster ), - MODELE_INTERFACE=SIMP(statut='o',typ=modele_sdaster ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CHARGE =SIMP(statut='o',typ=char_ther ), - MODE_MECA =SIMP(statut='f',typ=mode_meca ), - MODELE_GENE =SIMP(statut='f',typ=modele_gene ), - NUME_DDL_GENE =SIMP(statut='f',typ=nume_ddl_gene ), - DIST_REFE =SIMP(statut='f',typ='R',defaut= 1.E-2 ), - AVEC_MODE_STAT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - NUME_MODE_MECA =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - POTENTIEL =SIMP(statut='f',typ=evol_ther ), - NOEUD_DOUBLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - - DIRECTION =SIMP(statut='o',typ='R',max=3), - MONO_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",),), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MODE_STAT =SIMP(statut='f',typ=mode_meca,), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('CALC_FORC_AJOU'), -#------------------------------------------------------------------- - ) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2010 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: Georges-cc.devesa at edf.fr - -CALC_FORC_NONL=OPER(nom="CALC_FORC_NONL",op= 183,sd_prod=dyna_trans,reentrant='n', - fr="Créer un dyna_trans contenant des champs nommés 'DEPL' correspondant à 'FONL_NOEU' ", - UIinfo={"groupes":("Post-traitements","Résultats et champs",)}, - RESULTAT =SIMP(statut='o',typ=resultat_sdaster), - - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'), - ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS =SIMP(statut='f',typ='TXM' ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1, defaut="FONL_NOEU", - into=("FONL_NOEU",) ), - - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - - COMPORTEMENT =C_COMPORTEMENT(), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr -CALC_G=OPER(nom="CALC_G",op=100,sd_prod=table_sdaster, - fr="Calcul du taux de restitution d'énergie par la méthode theta en thermo-élasticité" - +" et les facteurs d'intensité de contraintes.", - reentrant='f', - UIinfo={"groupes":("Post-traitements","Rupture",)}, - - THETA =FACT(statut='o', - THETA =SIMP(statut='f',typ=(theta_geom,cham_no_sdaster),), - FOND_FISS =SIMP(statut='f',typ=fond_fiss,max=1), - FISSURE =SIMP(statut='f',position='global',typ=fiss_xfem,max=1), - NB_POINT_FOND =SIMP(statut='f',typ='I',val_min=2), - regles=( - EXCLUS('FOND_FISS','NB_POINT_FOND'), - UN_PARMI('THETA','FOND_FISS','FISSURE') - ), - b_theta =BLOC(condition="THETA == None",fr="calcul de theta", - regles=(PRESENT_PRESENT('R_INF','R_SUP'), - PRESENT_PRESENT('R_INF_FO','R_SUP_FO'), ), - NUME_FOND =SIMP(statut='f',typ='I',defaut=1), - R_INF =SIMP(statut='f',typ='R'), - R_SUP =SIMP(statut='f',typ='R'), - MODULE =SIMP(statut='f',typ='R',defaut=1.), - DIRE_THETA =SIMP(statut='f',typ=cham_no_sdaster ), - DIRECTION =SIMP(statut='f',typ='R',max=3,min=3), - R_INF_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - R_SUP_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MODULE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - b_no_fond_fiss =BLOC(condition="FOND_FISS== None", - SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ), - ), - - RESULTAT =SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans,mode_meca,mult_elas),), - - b_no_mult =BLOC(condition="(AsType(RESULTAT) != mult_elas)", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST', - 'TOUT_MODE','NUME_MODE','LIST_MODE','FREQ','LIST_FREQ'),), - - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - TOUT_MODE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_MODE =SIMP(statut='f',typ=listis_sdaster), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - - b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)or(FREQ != None)or(LIST_FREQ != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R'),), - ), - ), - - b_mult_elas =BLOC(condition="(AsType(RESULTAT) == mult_elas)", - NOM_CAS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**' ), - ), - - b_no_mult_elas =BLOC(condition="(AsType(RESULTAT) != mult_elas)", - EXCIT =FACT(statut='f',max='**', - CHARGE =SIMP(statut='f',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ), - ), - ), - - COMPORTEMENT =FACT(statut='f', - RELATION =SIMP( statut='o',typ='TXM',into=C_RELATION('CALC_G')), - DEFORMATION =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC") ), - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - - b_init =BLOC(condition="RELATION=='ELAS'",), - SIGM_INIT=SIMP(statut='f', typ=(cham_no_sdaster,cham_elem)), - ), - -# ETAT_INIT =FACT(statut='f', -# SIGM =SIMP(statut='f',typ=cham_elem), -# DEPL =SIMP(statut='f',typ=cham_no_sdaster), -# ), - LISSAGE =FACT(statut='d', - LISSAGE_THETA =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE","LAGRANGE_REGU"),), - LISSAGE_G =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE", - "LAGRANGE_NO_NO","LAGRANGE_REGU"),), - b_legen =BLOC(condition="(LISSAGE_THETA=='LEGENDRE') or (LISSAGE_G=='LEGENDRE')", - DEGRE =SIMP(statut='f',typ='I',defaut=5,into=(0,1,2,3,4,5,6,7) ), - ), - ), - - OPTION =SIMP(statut='o',typ='TXM',max=1,defaut='CALC_G', - into=("CALC_G", - "CALC_G_GLOB", - "CALC_K_G", - "G_MAX", - "G_MAX_GLOB", - "G_BILI", - "G_BILI_GLOB", - "CALC_K_MAX"), - ), - - b_g_max =BLOC(condition="(OPTION=='G_MAX') or (OPTION=='G_MAX_GLOB')", - BORNES =FACT(statut='o',max='**', - NUME_ORDRE =SIMP(statut='o',typ='I'), - VALE_MIN =SIMP(statut='o',typ='R'), - VALE_MAX =SIMP(statut='o',typ='R'), - ), - ), - b_k_max =BLOC(condition="(OPTION=='CALC_K_MAX')", - SIGNES =FACT(statut='o',max=1, - CHARGE_S =SIMP(statut='o',typ='I',validators=NoRepeat(),max='**'), - CHARGE_NS =SIMP(statut='o',typ='I',validators=NoRepeat(),max='**'), - ), - ), - - b_cal_contrainte =BLOC(condition="(COMPORTEMENT!=None and (OPTION=='CALC_G' or OPTION=='CALC_G_GLOB'))", - CALCUL_CONTRAINTE =SIMP(statut='f',typ='TXM',into=("NON",),), - ), - - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: renaud.bargellini at edf.fr -#Quoi qu'il en soit, on sort la table GP -#Si on est sans copeau et que l'utilisateur souhaite verifier -#les copeaux automatiquement crees, il peut grace a CHAMP_COP -def calc_gp_prod(self,TRANCHE_2D,GPMAX, **args): - """Typage des sd_prod - """ - if TRANCHE_2D!=None: - if TRANCHE_2D['ZONE_MAIL']== "NON": - for ss_cop in TRANCHE_2D: - if ss_cop['CHAMP_VISU']!= None: - self.type_sdprod(ss_cop['CHAMP_VISU'], cham_elem) - if GPMAX !=None: - self.type_sdprod(GPMAX, table_sdaster) - return table_sdaster - - -CALC_GP =MACRO(nom="CALC_GP", - op=OPS('Macro.calc_gp_ops.calc_gp_ops'), - sd_prod=calc_gp_prod, -# sd_prod=table_sdaster, - UIinfo={"groupes":("Outils-métier","Rupture",)}, - reentrant='n', - fr="calcul du parametre de clivage energetique Gp en 2D et en 3D", - regles=UN_PARMI('TRANCHE_2D','TRANCHE_3D'), - RESULTAT =SIMP(statut='o',typ=resultat_sdaster, - fr="Resultat d'une commande globale STAT_NON_LINE"), - LIST_INST = SIMP(statut='o',typ=(listr8_sdaster) ), - PRECISION = SIMP(statut='f',typ='R',validators=NoRepeat(),val_min=0.,val_max=1E-3,defaut=1E-6), - CRITERE = SIMP(statut='f',typ='TXM',defaut="ABSOLU",into=("RELATIF","ABSOLU") ), - TRANCHE_2D = FACT(statut='f',max = 1, - ZONE_MAIL = SIMP(statut='o',typ='TXM',into=("NON","OUI") ), - b_cop= BLOC(condition = "ZONE_MAIL=='OUI'", - fr="Les copeaux sont mailles", - GROUP_MA = SIMP(statut='o', typ=grma, validators=NoRepeat(), max='**'), - TAILLE =SIMP(statut='o',typ=listr8_sdaster),), - b_ss_cop = BLOC(condition="ZONE_MAIL=='NON'", - fr="Les copeaux ne sont pas mailles", - CENTRE =SIMP(statut='o',typ='R',max=2), - RAYON =SIMP(statut='o',typ='R',max=1), - ANGLE =SIMP(statut='o',typ='R',max=1), - TAILLE =SIMP(statut='o',typ='R',max=1), - NB_ZONE =SIMP(statut='o',typ='I',), - CHAMP_VISU =SIMP(statut='f',typ=CO),), - ), - TRANCHE_3D = FACT(statut='f',max ='**', - GROUP_MA = SIMP(statut='o', typ=grma, validators=NoRepeat(), max='**'), - ), - b_tranche_2d = BLOC(condition="TRANCHE_2D!=None", - SYME =SIMP(statut='o',typ='TXM',into=("NON","OUI"), - fr="multiplication par 2 si SYME=OUI"),), - b_tranche_3d = BLOC(condition="TRANCHE_3D!=None", - FOND_FISS =SIMP(statut='o',typ=fond_fiss,max=1,),), - GPMAX = SIMP(statut='f',typ=CO,), - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.greffet at edf.fr -# -# MACRO DE COUPLAGE IFS AVEC SATURNE VIA YACS -# -CALC_IFS_DNL= MACRO(nom='CALC_IFS_DNL', - op=OPS("Macro.calc_ifs_dnl_ops.calc_ifs_dnl_ops"), - sd_prod=evol_noli, - reentrant='f', - fr="Calcul de l'évolution dynamique d'une structure couplée à un "\ - "domaine fluide (résolu avec le code Saturne) via YACS", - UIinfo={"groupes":("Résolution","Dynamique",)}, - -#IFS -#=> - GROUP_MA_IFS =SIMP(statut='o',typ=grma,max='**'), - NOM_CMP_IFS =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'), - UNITE_NOEUD =SIMP(statut='f',typ='I',defaut= 81 ), - UNITE_ELEM =SIMP(statut='f',typ='I',defaut= 82 ), - PAS_INIT =SIMP(statut='o',typ='R' ), -#<= -#IFS - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - MODE_STAT =SIMP(statut='f',typ=mode_meca), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - MASS_DIAG =SIMP(statut='f',typ='TXM',into=("OUI","NON",) ), -#IFS -#=> -#(une charge force nodale est fournie par le couplage avec code_saturne - EXCIT =FACT(statut='f',max='**', -#<= -#IFS - regles=(PRESENT_ABSENT('FONC_MULT','ACCE'), - PRESENT_PRESENT('ACCE','VITE','DEPL'), - ), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", - into=("FIXE_CSTE","SUIV","DIDI")), -#IFS -#=> -#(une charge force nodale est fournie par le couplage avec code_saturne -# CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - CHARGE =SIMP(statut='f',typ=(char_meca,char_cine_meca)), -#<= -#IFS - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - DIRECTION =SIMP(statut='f',typ='R',max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - ), - EXCIT_GENE =FACT(statut='f',max='**', - FONC_MULT =SIMP(statut='f',typ=fonction_sdaster,max='**' ), - VECT_GENE =SIMP(statut='f',typ=vect_asse_gene,max='**' ), - ), - CONTACT =SIMP(statut='f',typ=char_contact), - SOUS_STRUC =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('TOUT','SUPER_MAILLE'),), - CAS_CHARGE =SIMP(statut='o',typ='TXM' ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - SUPER_MAILLE=SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - AMOR_RAYL_RIGI = SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE"),), - AMOR_MODAL =FACT(statut='f', - regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),), - MODE_MECA =SIMP(statut='f',typ=mode_meca), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**' ), - LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), - NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), - REAC_VITE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - PROJ_MODAL =FACT(statut='f',max='**', - MODE_MECA =SIMP(statut='o',typ=mode_meca), - NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), - regles=(PRESENT_PRESENT('MASS_GENE','RIGI_GENE'),), - MASS_GENE =SIMP(statut='f',typ=matr_asse_gene_r), - RIGI_GENE =SIMP(statut='f',typ=matr_asse_gene_r), - AMOR_GENE =SIMP(statut='f',typ=matr_asse_gene_r), - DEPL_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene), - VITE_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene), - ACCE_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene), - ), -#------------------------------------------------------------------- - COMPORTEMENT =C_COMPORTEMENT('DYNA_NON_LINE'), -#------------------------------------------------------------------- - b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire", - ETAT_INIT =FACT(statut='o', - regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI',), - EXCLUS('EVOL_NOLI','DEPL',), - EXCLUS('EVOL_NOLI','VITE'), - EXCLUS('EVOL_NOLI','ACCE'), - EXCLUS('EVOL_NOLI','SIGM',), - EXCLUS('EVOL_NOLI','VARI',), - EXCLUS('NUME_ORDRE','INST'), ), - DEPL =SIMP(statut='f',typ=cham_no_sdaster), - VITE =SIMP(statut='f',typ=cham_no_sdaster), - ACCE =SIMP(statut='f',typ=cham_no_sdaster), - SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)), - VARI =SIMP(statut='f',typ=cham_elem), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - NUME_DIDI =SIMP(statut='f',typ='I'), - INST_ETAT_INIT =SIMP(statut='f',typ='R'), - ),), - b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif", - ETAT_INIT =FACT(statut='f', - regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI',), - EXCLUS('EVOL_NOLI','DEPL',), - EXCLUS('EVOL_NOLI','VITE'), - EXCLUS('EVOL_NOLI','ACCE'), - EXCLUS('EVOL_NOLI','SIGM',), - EXCLUS('EVOL_NOLI','VARI',), - EXCLUS('NUME_ORDRE','INST'), ), - DEPL =SIMP(statut='f',typ=cham_no_sdaster), - VITE =SIMP(statut='f',typ=cham_no_sdaster), - ACCE =SIMP(statut='f',typ=cham_no_sdaster), - SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)), - VARI =SIMP(statut='f',typ=cham_elem), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - NUME_DIDI =SIMP(statut='f',typ='I'), - INST_ETAT_INIT =SIMP(statut='f',typ='R'), - ),), -#------------------------------------------------------------------- -#IFS : pas besoin d'INCREMENT -# INCREMENT =C_INCREMENT('MECANIQUE'), -#------------------------------------------------------------------- - SCHEMA_TEMPS =FACT(statut='o', - SCHEMA =SIMP(statut='o',min=1,max=1,typ='TXM', - into=("DIFF_CENT","TCHAMWA","NEWMARK","HHT","THETA_METHODE","KRENK"),), - COEF_MASS_SHIFT =SIMP(statut='f',typ='R',defaut= 0.0E+0 ), - b_tchamwa = BLOC(condition="SCHEMA=='TCHAMWA'", - PHI =SIMP(statut='f',typ='R',defaut= 1.05),), - - b_newmark = BLOC(condition="SCHEMA=='NEWMARK'", - BETA =SIMP(statut='f',typ='R',defaut= 0.25), - GAMMA =SIMP(statut='f',typ='R',defaut= 0.5),), - - b_hht = BLOC(condition="SCHEMA=='HHT'", - ALPHA =SIMP(statut='f',typ='R',defaut= -0.3 ), - MODI_EQUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),),), - - b_theta = BLOC(condition="SCHEMA=='THETA_METHODE'", - THETA =SIMP(statut='f',typ='R',defaut= 1.,val_min=0.5,val_max=100. ),), - - b_krenk = BLOC(condition="SCHEMA=='KRENK'", - KAPPA =SIMP(statut='f',typ='R',defaut= 1.0,val_min=1.0,val_max=100. ),), - - b_explicit= BLOC(condition="SCHEMA=='TCHAMWA'or SCHEMA=='DIFF_CENT'", - STOP_CFL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),), - FORMULATION =SIMP(statut='o',typ='TXM',into=("ACCELERATION",),),), - - b_implicit= BLOC(condition="SCHEMA!='TCHAMWA'and SCHEMA!='DIFF_CENT'", - FORMULATION =SIMP(statut='o',max=1,typ='TXM',into=("DEPLACEMENT","VITESSE","ACCELERATION"),),), - ), -#------------------------------------------------------------------- - NEWTON =C_NEWTON(), -#------------------------------------------------------------------- - RECH_LINEAIRE =C_RECH_LINEAIRE(), -#------------------------------------------------------------------- - CONVERGENCE =C_CONVERGENCE(), -#------------------------------------------------------------------- - SOLVEUR =C_SOLVEUR('CALC_IFS_DNL'), -#------------------------------------------------------------------- - OBSERVATION =C_OBSERVATION(), -#------------------------------------------------------------------- - SUIVI_DDL =C_SUIVI_DDL(), -#------------------------------------------------------------------- - AFFICHAGE =C_AFFICHAGE(), -#------------------------------------------------------------------- - ARCHIVAGE =C_ARCHIVAGE(), -#------------------------------------------------------------------- - CRIT_STAB =FACT(statut='f',min=1,max=1, - NB_FREQ =SIMP(statut='f',typ='I',max=1,val_min=1,defaut=3), - COEF_DIM_ESPACE =SIMP(statut='f',typ='I',max=1,val_min=2,defaut=5), - RIGI_GEOM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - b_char_crit=BLOC(condition="(RIGI_GEOM=='OUI')", - CHAR_CRIT =SIMP(statut='f',typ='R',min=2,max=2, - fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"),), - MODI_RIGI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - TYPE =SIMP(statut='f',typ='TXM',defaut="FLAMBEMENT",into=("FLAMBEMENT","STABILITE")), - PREC_INSTAB =SIMP(statut='f',typ='R',defaut=1.E-6,max=1,), - SIGNE =SIMP(statut='f',typ='TXM',defaut=("POSITIF_NEGATIF"),into=("NEGATIF","POSITIF","POSITIF_NEGATIF"),max=1,), - bloc_rigi_geom=BLOC(condition="(RIGI_GEOM=='NON'or MODI_RIGI=='OUI')", - DDL_EXCLUS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=40, - into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', - 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', - 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', - 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', - 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX', - 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', - 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22', - 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23', - 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG','DH')), - bloc_type_stab =BLOC(condition= "TYPE == 'STABILITE' and RIGI_GEOM == 'NON'", - DDL_STAB =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=40, - into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', - 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', - 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', - 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', - 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX', - 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', - 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22', - 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23', - 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG','DH')),), - ), - regles = (EXCLUS('PAS_CALC','LIST_INST','INST'),), - LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_CALC = SIMP(statut='f',typ='I' ), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - MODE_VIBR =FACT(statut='f',min=1,max=1, - MATR_RIGI =SIMP(statut='f',typ='TXM',defaut="ELASTIQUE",into=("ELASTIQUE","TANGENTE","SECANTE",) ), - NB_FREQ =SIMP(statut='f',typ='I',max=1,val_min=1,defaut=3, - fr="Nombre de fréquences propres à calculer"), - COEF_DIM_ESPACE =SIMP(statut='f',typ='I',max=1,val_min=2,defaut=5), - BANDE =SIMP(statut='f',typ='R',min=2,max=2, - fr="Valeur des deux fréquences délimitant la bande de recherche",), - regles = (EXCLUS('PAS_CALC','LIST_INST','INST'),), - LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_CALC = SIMP(statut='f',typ='I' ), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), -#------------------------------------------------------------------- - - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), - b_info=BLOC(condition="(INFO==2)", - fr="filtre les messages émis dans le .mess selon le type de message demandé", - INFO_DBG = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), - into=("CONTACT", - "MECA_NON_LINE", - "PILOTAGE", - "FACTORISATION", - "APPARIEMENT"), - ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr -CALC_INTE_SPEC=OPER(nom="CALC_INTE_SPEC",op= 120,sd_prod=interspectre, - fr="Calcul d'une matrice interspectrale à partir d'une fonction du temps", - reentrant='n', - UIinfo={"groupes":("Fonctions",)}, - INST_INIT =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - INST_FIN =SIMP(statut='o',typ='R' ), - DUREE_ANALYSE =SIMP(statut='f',typ='R' ), - DUREE_DECALAGE =SIMP(statut='f',typ='R' ), - NB_POIN =SIMP(statut='o',typ='I' ), - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ), - TITRE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: romeo.fernandes at edf.fr - - -CALC_MAC3COEUR = MACRO(nom="CALC_MAC3COEUR", - op=OPS("Mac3coeur.calc_mac3coeur_ops.calc_mac3coeur_ops"), - sd_prod=evol_noli, - - TYPE_COEUR = SIMP(statut='o',typ='TXM',into=("MONO","TEST","900","1300","N4","EPR"),position='global' ), - # TYPE DE COEUR A CONSIDERER - TABLE_N = SIMP(statut='o',typ=table_sdaster), # TABLE INITIALE DES DAMAC A L INSTANT N - MAILLAGE_N = SIMP(statut='f',typ=maillage_sdaster), # MAILLAGE EN ATTENDANT MIEUX ??? - - LAME = FACT(statut='f',max=1, - fr="Estimation des lames d'eau entre AC", - TABLE_NP1 = SIMP(statut='o',typ=table_sdaster), # TABLE INITIALE DES DAMAC A L INSTANT N+1 - MAILLAGE_NP1 = SIMP(statut='o',typ=maillage_sdaster),), # MAILLAGE EN ATTENDANT MIEUX ??? - - DEFORMATION = FACT(statut='f',max=1, - fr="Estimation des deformations des AC", - RESU_INIT = SIMP(statut='f',typ=resultat_sdaster), - NIVE_FLUENCE = SIMP(statut='o',typ='R',validators=NoRepeat(),max=1), # FLUENCE MAXIMALE DANS LE COEUR - UNITE_THYC = SIMP(statut='o',typ='I', max=1), - - # choix du maintien dans le cas mono-assemblage - b_maintien_mono = BLOC(condition = "TYPE_COEUR == 'MONO'", - - TYPE_MAINTIEN = SIMP(statut='o',typ='TXM',into=("FORCE","DEPL_PSC"), ), - - b_maintien_mono_force = BLOC(condition = "TYPE_MAINTIEN == 'FORCE'", - fr="valeur de l'effort de maintien imposée", - FORCE_MAINTIEN =SIMP(statut='o',typ='R', max=1),), - - ), - - # choix du maintien dans le cas d'un coeur à plusieurs assemblages - b_maintien_coeur = BLOC(condition = "TYPE_COEUR != 'MONO'", - - TYPE_MAINTIEN = SIMP(statut='f',typ='TXM',into=("DEPL_PSC",),defaut="DEPL_PSC" ), - - ), - - ), - -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.greffet at edf.fr -CALC_MATR_AJOU=OPER(nom="CALC_MATR_AJOU",op= 152,sd_prod=matr_asse_gene_r, - fr="Calcul des matrices de masse, d'amortissement ou de rigidité ajoutés", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - regles=(EXCLUS('MODE_MECA','CHAM_NO','MODELE_GENE'), - PRESENT_ABSENT('NUME_DDL_GENE','CHAM_NO'), - PRESENT_PRESENT('MODELE_GENE','NUME_DDL_GENE'),), - MODELE_FLUIDE =SIMP(statut='o',typ=modele_sdaster ), - MODELE_INTERFACE=SIMP(statut='o',typ=modele_sdaster ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CHARGE =SIMP(statut='o',typ=char_ther ), - MODE_MECA =SIMP(statut='f',typ=mode_meca ), - CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster ), - MODELE_GENE =SIMP(statut='f',typ=modele_gene ), - NUME_DDL_GENE =SIMP(statut='f',typ=nume_ddl_gene ), - DIST_REFE =SIMP(statut='f',typ='R',defaut= 1.E-2 ), - AVEC_MODE_STAT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - NUME_MODE_MECA =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - OPTION =SIMP(statut='o',typ='TXM',into=("MASS_AJOU","AMOR_AJOU","RIGI_AJOU") ), - POTENTIEL =SIMP(statut='f',typ=evol_ther ), - NOEUD_DOUBLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('CALC_MATR_AJOU'), -#------------------------------------------------------------------- -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -def calc_matr_elem_prod(OPTION,**args): - if OPTION == "RIGI_MECA" : return matr_elem_depl_r - if OPTION == "RIGI_FLUI_STRU" : return matr_elem_depl_r - if OPTION == "MASS_MECA" : return matr_elem_depl_r - if OPTION == "MASS_FLUI_STRU" : return matr_elem_depl_r - if OPTION == "RIGI_GEOM" : return matr_elem_depl_r - if OPTION == "RIGI_ROTA" : return matr_elem_depl_r - if OPTION == "MECA_GYRO" : return matr_elem_depl_r - if OPTION == "RIGI_GYRO" : return matr_elem_depl_r - if OPTION == "AMOR_MECA" : return matr_elem_depl_r - if OPTION == "IMPE_MECA" : return matr_elem_depl_r - if OPTION == "ONDE_FLUI" : return matr_elem_depl_r - if OPTION == "AMOR_MECA_ABSO" : return matr_elem_depl_r - if OPTION == "RIGI_MECA_HYST" : return matr_elem_depl_c - if OPTION == "RIGI_THER" : return matr_elem_temp_r - if OPTION == "MASS_MECA_DIAG" : return matr_elem_depl_r - if OPTION == "RIGI_ACOU" : return matr_elem_pres_c - if OPTION == "MASS_ACOU" : return matr_elem_pres_c - if OPTION == "AMOR_ACOU" : return matr_elem_pres_c - raise AsException("type de concept resultat non prevu") - -CALC_MATR_ELEM=OPER(nom="CALC_MATR_ELEM",op= 9,sd_prod=calc_matr_elem_prod - ,fr="Calcul des matrices élémentaires",reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - - OPTION =SIMP(statut='o',typ='TXM', - into=("RIGI_MECA","MASS_MECA","RIGI_GEOM", - "AMOR_MECA","RIGI_THER","IMPE_MECA", - "ONDE_FLUI","AMOR_MECA_ABSO","MASS_FLUI_STRU","RIGI_FLUI_STRU", - "RIGI_ROTA","MECA_GYRO","RIGI_GYRO","MASS_MECA_DIAG","RIGI_ACOU", - "MASS_ACOU","AMOR_ACOU","RIGI_MECA_HYST") ), - MODELE =SIMP(statut='o',typ=modele_sdaster ), - - # mots clés facultatifs que l'on a du mal à mettre dans les blocs - # sans gener MACRO_MATR_ASSE : - #------------------------------------------------------------------ - INST=SIMP(statut='f',typ='R',defaut= 0.E+0 ), - - - b_rigi_meca = BLOC( condition = "OPTION=='RIGI_MECA'", - CHAM_MATER =SIMP(statut='f',typ=cham_mater ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ), - CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**' ), - ), - - b_mass_meca =BLOC(condition = "(OPTION=='MASS_MECA') or (OPTION=='MASS_MECA_DIAG')", - CHAM_MATER =SIMP(statut='f',typ=cham_mater ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), - ), - - b_rigi_geom =BLOC(condition = "OPTION=='RIGI_GEOM'", - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - SIEF_ELGA =SIMP(statut='o',typ=cham_elem ), - STRX_ELGA =SIMP(statut='f',typ=cham_elem ), - MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ), - ), - - b_rigi_rota =BLOC(condition = "OPTION=='RIGI_ROTA'", - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - CHARGE =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**' ), - ), - - b_meca_gyro = BLOC( condition = "OPTION=='MECA_GYRO'", - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**' ), - ), - - b_rigi_gyro = BLOC( condition = "OPTION=='RIGI_GYRO'", - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**' ), - ), - - b_amor_meca =BLOC(condition = "OPTION=='AMOR_MECA'", - regles=(AU_MOINS_UN('CARA_ELEM','RIGI_MECA'), - ENSEMBLE('RIGI_MECA','MASS_MECA','CHAM_MATER'), ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - CHAM_MATER =SIMP(statut='f',typ=cham_mater ), - RIGI_MECA =SIMP(statut='f',typ=matr_elem_depl_r ), - MASS_MECA =SIMP(statut='f',typ=matr_elem_depl_r ), - CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), - ), - - b_amor_meca_abso =BLOC(condition = "OPTION=='AMOR_MECA_ABSO'", - regles=(AU_MOINS_UN('CARA_ELEM','RIGI_MECA'), - ENSEMBLE('RIGI_MECA','MASS_MECA','CHAM_MATER'), ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - RIGI_MECA =SIMP(statut='f',typ=matr_elem_depl_r ), - MASS_MECA =SIMP(statut='f',typ=matr_elem_depl_r ), - CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), - ), - - b_rigi_meca_hyst =BLOC( condition = "OPTION=='RIGI_MECA_HYST'", - CHARGE =SIMP(statut='f',typ=char_meca ,validators=NoRepeat(),max='**' ), - CHAM_MATER =SIMP(statut='f',typ=cham_mater ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - RIGI_MECA =SIMP(statut='o',typ=matr_elem_depl_r ), - ), - - b_rigi_ther =BLOC(condition = "OPTION=='RIGI_THER'", - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ), - CHARGE =SIMP(statut='f',typ=char_ther,validators=NoRepeat(),max='**' ), - ), - - b_rigi_acou =BLOC(condition = "OPTION=='RIGI_ACOU'", - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CHARGE =SIMP(statut='f',typ=char_acou ,validators=NoRepeat(),max='**' ), - ), - - b_mass_acou =BLOC(condition = "(OPTION=='MASS_ACOU') or (OPTION=='AMOR_ACOU')", - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CHARGE =SIMP(statut='f',typ=char_acou ,validators=NoRepeat(),max='**' ), - ), - - b_rigi_flui =BLOC(condition = "OPTION=='RIGI_FLUI_STRU'", - CARA_ELEM =SIMP(statut='o',typ=cara_elem ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CHARGE =SIMP(statut='o',typ=char_meca ,validators=NoRepeat(),max='**' ), - ), - - b_mass_flui =BLOC(condition = "OPTION=='MASS_FLUI_STRU'", - CARA_ELEM =SIMP(statut='o',typ=cara_elem ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CHARGE =SIMP(statut='o',typ=char_meca ,validators=NoRepeat(),max='**'), - ), - - b_impe_meca =BLOC(condition = "(OPTION=='IMPE_MECA') or (OPTION=='ONDE_FLUI')", - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CHARGE =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**' ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: renaud.bargellini at edf.fr -CALC_META=OPER(nom="CALC_META",op=194,sd_prod=evol_ther,reentrant='o', - UIinfo={"groupes":("Post-traitements","Thermique",)}, - fr="Calcule l'évolution métallurgique à partir du résultat d'un calcul thermique", - - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - - MODELE =SIMP(statut='f',typ=modele_sdaster ), - CHAM_MATER =SIMP(statut='f',typ=cham_mater ), - RESULTAT =SIMP(statut='o',typ=evol_ther ), - - OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(phenomene='METALLURGIE',),), - - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="le calcul ne sera effectué que sur ces mailles là"), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**', - fr="le calcul ne sera effectué que sur ces mailles là"), - - b_meta =BLOC(condition= "au_moins_un(OPTION, ('META_ELNO','META_NOEU'))", - ETAT_INIT =FACT(statut='o', - regles=(UN_PARMI('EVOL_THER', 'META_INIT_ELNO'),), - EVOL_THER =SIMP(statut='f',typ=evol_ther ), - META_INIT_ELNO =SIMP(statut='f',typ=carte_sdaster ), - b_etat =BLOC(condition="EVOL_THER != None", - regles=(UN_PARMI('NUME_INIT', 'INST_INIT',),), - NUME_INIT =SIMP(statut='f',typ='I'), - INST_INIT =SIMP(statut='f',typ='R'), - b_inst =BLOC(condition="INST_INIT != None", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - ), - ), - - COMPORTEMENT =FACT(statut='o',max=1, - RELATION =SIMP(statut='o',typ='TXM',into=("ACIER","ZIRC",) ), - ACIER =SIMP(statut='c',typ='I',defaut=7,into=(7,) ), - ZIRC =SIMP(statut='c',typ='I',defaut=4,into=(4,) ), - - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma, validators=NoRepeat(), max='**'), - MAILLE =SIMP(statut='f',typ=ma, validators=NoRepeat(), max='**'), - ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -def calc_miss_sdprod(self, TYPE_RESU, **kwargs): - """Typage des structures de données produites""" - if TYPE_RESU in ('TABLE', 'TABLE_CONTROL'): - return table_sdaster - elif TYPE_RESU == 'HARM_GENE': - return harm_gene - elif TYPE_RESU == 'TRAN_GENE': - return tran_gene - else: - return None - -CALC_MISS = MACRO(nom="CALC_MISS", - op=OPS('Macro.calc_miss_ops.calc_miss_ops'), - sd_prod=calc_miss_sdprod, - fr="Préparation des données, exécution du logiciel Miss3D, et post-traitement", - UIinfo={"groupes":("Résolution","Outils-métier",)}, - - TYPE_RESU = SIMP(statut='o', typ='TXM', - into=('HARM_GENE', 'TRAN_GENE', 'TABLE', 'TABLE_CONTROL', - 'FICHIER', 'FICHIER_TEMPS'), - fr="Type de résultat produit en post-traitement. FICHIER : pas de post-traitement"), - PROJET = SIMP(statut='f', typ='TXM', defaut='MODELE', - fr="Nom de l'étude Miss"), - REPERTOIRE = SIMP(statut='f', typ='TXM', - fr="Répertoire de travail de Miss"), - VERSION = SIMP(statut='f', typ='TXM', into=("V6.6","V6.5"), defaut="V6.6", - fr="Version de Miss utilisée"), - - TABLE_SOL = SIMP(statut='o', typ=table_sdaster, - fr="Table des propriétés du sol"), - - # pas de post-traitement - b_basic = BLOC(condition="TYPE_RESU in ('FICHIER', 'TABLE_CONTROL')", - regles=(UN_PARMI('MACR_ELEM_DYNA', 'BASE_MODALE'), - ENSEMBLE('GROUP_MA_FLU_STR', 'GROUP_MA_FLU_SOL', 'GROUP_MA_SOL_SOL'),), - MACR_ELEM_DYNA = SIMP(statut='f', typ=macr_elem_dyna, - fr="Macro élément produit en amont"), - BASE_MODALE = SIMP(statut='f', typ=mode_meca, - fr="Base de modes"), - b_base_modale = BLOC(condition="BASE_MODALE is not None", - MATR_RIGI = SIMP(statut='f', typ=(matr_asse_depl_r, matr_asse_depl_c),), - MATR_MASS = SIMP(statut='f', typ=matr_asse_depl_r ), - ), - AMOR_REDUIT = SIMP(statut='f', typ='R', max='**'), - GROUP_MA_INTERF = SIMP(statut='o', typ=grma, max='**', - fr="Groupe de mailles de l'interface"), - GROUP_MA_FLU_STR = SIMP(statut='f', typ=grma, max='**', - fr="Groupe de mailles fluide-structure"), - GROUP_MA_FLU_SOL = SIMP(statut='f', typ=grma, max='**', - fr="Groupe de mailles fluide-sol"), - GROUP_MA_SOL_SOL = SIMP(statut='f', typ=grma, max='**', - fr="Groupe de mailles sol-sol"), - UNITE_IMPR_ASTER = SIMP(statut='f', typ='I', - fr="Unité des résultats transmis par Code_Aster à Miss"), - UNITE_RESU_IMPE = SIMP(statut='f', typ='I', - fr="Unité logique des impédances écrites par Miss"), - UNITE_RESU_FORC = SIMP(statut='f', typ='I', - fr="Unité logique des forces sismiques écrites par Miss"), - ), - # post-traitement : passage du domaine de Laplace au domaine temporel - b_fichier_temps = BLOC(condition="TYPE_RESU == 'FICHIER_TEMPS'", - regles=(UN_PARMI('MACR_ELEM_DYNA', 'BASE_MODALE'), - AU_MOINS_UN('UNITE_RESU_RIGI','UNITE_RESU_AMOR','UNITE_RESU_MASS'), - PRESENT_PRESENT('UNITE_RESU_AMOR', 'MATR_GENE'), - PRESENT_PRESENT('UNITE_RESU_MASS', 'MATR_GENE'),), - MACR_ELEM_DYNA = SIMP(statut='f', typ=macr_elem_dyna, - fr="Macro élément produit en amont"), - BASE_MODALE = SIMP(statut='f', typ=mode_meca, - fr="Base de modes"), - b_base_modale = BLOC(condition="BASE_MODALE is not None", - MATR_RIGI = SIMP(statut='f', typ=(matr_asse_depl_r, matr_asse_depl_c),), - MATR_MASS = SIMP(statut='f', typ=matr_asse_depl_r ), - ), - AMOR_REDUIT = SIMP(statut='f', typ='R', max='**'), - GROUP_MA_INTERF = SIMP(statut='o', typ=grma, max='**', - fr="Groupe de mailles de l'interface"), - UNITE_IMPR_ASTER = SIMP(statut='f', typ='I', - fr="Unité des résultats transmis par Code_Aster à Miss"), - UNITE_RESU_RIGI =SIMP(statut='f',typ='I'), - UNITE_RESU_AMOR =SIMP(statut='f',typ='I'), - UNITE_RESU_MASS =SIMP(statut='f',typ='I'), - INST_FIN = SIMP(statut='f', typ='R', fr="Instant final du calcul"), - PAS_INST = SIMP(statut='f', typ='R', fr="Pas de temps du calcul"), - PRECISION = SIMP(statut='f',typ='R',defaut=0.000001), - COEF_SURECH = SIMP(statut='f',typ='I',defaut=1 ), - MATR_GENE =FACT(statut='f', max = 1, - DECOMP_IMPE= SIMP(statut='f',typ='TXM',defaut='PRODUIT',into=('PRODUIT','SANS_PRODUIT')), - AMOR_HYST = SIMP(statut='o',typ='TXM',into=('DANS_IMPEDANCE','DANS_MATR_AMOR'), - fr="Indique comment l'amortissement hysteretique est pris en compte"), - b_amor_nohyst = BLOC(condition="AMOR_HYST == 'DANS_MATR_AMOR'", - MATR_MASS = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_depl_r ) ), - MATR_RIGI = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c,matr_asse_depl_r ) ), - MATR_AMOR = SIMP(statut='o',typ=(matr_asse_gene_r,matr_asse_gene_c,matr_asse_depl_r ) ), - ), - b_amor_hyst = BLOC(condition="AMOR_HYST == 'DANS_IMPEDANCE'", - regles = (AU_MOINS_UN('MATR_MASS','MATR_RIGI','MATR_AMOR'),), - MATR_MASS = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_depl_r ) ), - MATR_RIGI = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c,matr_asse_depl_r ) ), - MATR_AMOR = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c,matr_asse_depl_r ) ), - ), - ), - EXCIT_SOL =FACT(statut='f', max = 1, - regles = (AU_MOINS_UN('CHAM_X','CHAM_Y','CHAM_Z'),), - UNITE_RESU_FORC =SIMP(statut='o',typ='I', - fr="Unité logique des forces sismiques écrites par Miss"), - NOM_CHAM =SIMP(statut='f',typ='TXM',defaut='DEPL', - into=('ACCE','VITE','DEPL') ), - CHAM_X = SIMP(statut='f', typ=fonction_sdaster,), - CHAM_Y = SIMP(statut='f', typ=fonction_sdaster,), - CHAM_Z = SIMP(statut='f', typ=fonction_sdaster,), - ), - ), - # si post-traitement - b_donnees = BLOC(condition="TYPE_RESU not in ('FICHIER', 'FICHIER_TEMPS', 'TABLE_CONTROL')", - regles=(ENSEMBLE('GROUP_MA_FLU_STR', 'GROUP_MA_FLU_SOL', 'GROUP_MA_SOL_SOL'), - UN_PARMI('MATR_AMOR', 'AMOR_REDUIT'),), - MACR_ELEM_DYNA = SIMP(statut='f', typ=macr_elem_dyna, - fr="Macro élément produit en amont"), - BASE_MODALE = SIMP(statut='o', typ=mode_meca, - fr="Base de modes"), - MATR_RIGI = SIMP(statut='o', typ=(matr_asse_depl_r, matr_asse_depl_c),), - MATR_MASS = SIMP(statut='o', typ=matr_asse_depl_r ), - MATR_AMOR = SIMP(statut='f', typ=matr_asse_depl_r ), - AMOR_REDUIT = SIMP(statut='f', typ='R', max='**'), - GROUP_MA_INTERF = SIMP(statut='o', typ=grma, max='**', - fr="Groupe de mailles de l'interface"), - GROUP_MA_FLU_STR = SIMP(statut='f', typ=grma, max='**', - fr="Groupe de mailles fluide-structure"), - GROUP_MA_FLU_SOL = SIMP(statut='f', typ=grma, max='**', - fr="Groupe de mailles fluide-sol"), - GROUP_MA_SOL_SOL = SIMP(statut='f', typ=grma, max='**', - fr="Groupe de mailles sol-sol"), - UNITE_IMPR_ASTER = SIMP(statut='f', typ='I', - fr="Unité des résultats transmis par Code_Aster à Miss"), - UNITE_RESU_IMPE = SIMP(statut='f', typ='I', - fr="Unité logique des impédances à relire."), - UNITE_RESU_FORC = SIMP(statut='f', typ='I', - fr="Unité logique des forces sismiques à relire"), - ), - # Paramètres du calcul Miss - PARAMETRE = FACT(statut='o', - regles=(PRESENT_PRESENT('OFFSET_MAX', 'OFFSET_NB'), - PRESENT_PRESENT('FREQ_MIN', 'FREQ_MAX','FREQ_PAS'), - UN_PARMI('FREQ_MIN', 'LIST_FREQ', 'FREQ_IMAG'), - PRESENT_PRESENT('SPEC_MAX', 'SPEC_NB'),), - FREQ_MIN = SIMP(statut='f', typ='R'), - FREQ_MAX = SIMP(statut='f', typ='R'), - FREQ_PAS = SIMP(statut='f', typ='R'), - LIST_FREQ = SIMP(statut='f', typ='R', max='**'), - FREQ_IMAG = SIMP(statut='f', typ='R'), - Z0 = SIMP(statut='f', typ='R', defaut=0.), - SURF = SIMP(statut='f', typ='TXM', into=("OUI","NON",), defaut="NON"), - ISSF = SIMP(statut='f', typ='TXM', into=("OUI","NON",), defaut="NON"), - ALLU = SIMP(statut='f', typ='R', defaut=0.), - RFIC = SIMP(statut='f', typ='R', defaut=0.), - - ALGO = SIMP(statut='f', typ='TXM', into=("DEPL","REGU")), - DREF = SIMP(statut='f', typ='R'), - SPEC_MAX = SIMP(statut='f', typ='R'), - SPEC_NB = SIMP(statut='f', typ='I'), - OFFSET_MAX = SIMP(statut='f', typ='R'), - OFFSET_NB = SIMP(statut='f', typ='I'), - TYPE = SIMP(statut='f', typ='TXM', into=("BINAIRE","ASCII",), defaut="ASCII"), - ), - # Post-traitement type 1 - tran_gene - b_post_tran_gene = BLOC(condition="TYPE_RESU == 'TRAN_GENE'", - regles=(AU_MOINS_UN('ACCE_X', 'ACCE_Y', 'ACCE_Z','DEPL_X', 'DEPL_Y', 'DEPL_Z',), - PRESENT_ABSENT('ACCE_X','DEPL_X', 'DEPL_Y', 'DEPL_Z',), - PRESENT_ABSENT('ACCE_Y','DEPL_X', 'DEPL_Y', 'DEPL_Z',), - PRESENT_ABSENT('ACCE_Z','DEPL_X', 'DEPL_Y', 'DEPL_Z',), - ), - MODELE = SIMP(statut='o', typ=(modele_sdaster),), - GROUP_NO = SIMP(statut='f', typ=grno, max='**',), - ACCE_X = SIMP(statut='f', typ=fonction_sdaster,), - ACCE_Y = SIMP(statut='f', typ=fonction_sdaster,), - ACCE_Z = SIMP(statut='f', typ=fonction_sdaster,), - DEPL_X = SIMP(statut='f', typ=fonction_sdaster,), - DEPL_Y = SIMP(statut='f', typ=fonction_sdaster,), - DEPL_Z = SIMP(statut='f', typ=fonction_sdaster,), - INST_FIN = SIMP(statut='o', typ='R', fr="Instant final du calcul"), - PAS_INST = SIMP(statut='o', typ='R', fr="Pas de temps du calcul"), - ), - # Post-traitement type 1 - harm_gene - b_post_harm_gene = BLOC(condition="TYPE_RESU == 'HARM_GENE'", - regles=(#AU_MOINS_UN('EXCIT_HARMO', 'ACCE_X', 'ACCE_Y', 'ACCE_Z',), - AU_MOINS_UN('EXCIT_HARMO', 'ACCE_X', 'ACCE_Y', 'ACCE_Z','DEPL_X','DEPL_Y','DEPL_Z'), - PRESENT_ABSENT('EXCIT_HARMO', 'ACCE_X', 'ACCE_Y', 'ACCE_Z', 'INST_FIN'), - PRESENT_ABSENT('EXCIT_HARMO', 'DEPL_X', 'DEPL_Y', 'DEPL_Z'), - PRESENT_ABSENT('ACCE_X','DEPL_X', 'DEPL_Y', 'DEPL_Z',), - PRESENT_ABSENT('ACCE_Y','DEPL_X', 'DEPL_Y', 'DEPL_Z',), - PRESENT_ABSENT('ACCE_Z','DEPL_X', 'DEPL_Y', 'DEPL_Z',), - ENSEMBLE('INST_FIN', 'PAS_INST'),), - MODELE = SIMP(statut='o', typ=(modele_sdaster),), - GROUP_NO = SIMP(statut='f', typ=grno, max='**',), - ACCE_X = SIMP(statut='f', typ=fonction_sdaster,), - ACCE_Y = SIMP(statut='f', typ=fonction_sdaster,), - ACCE_Z = SIMP(statut='f', typ=fonction_sdaster,), - DEPL_X = SIMP(statut='f', typ=fonction_sdaster,), - DEPL_Y = SIMP(statut='f', typ=fonction_sdaster,), - DEPL_Z = SIMP(statut='f', typ=fonction_sdaster,), - INST_FIN = SIMP(statut='f', typ='R', fr="Instant final du calcul"), - PAS_INST = SIMP(statut='f', typ='R', fr="Pas de temps du calcul"), - # identique à EXCIT de DYNA_LINE_HARM au type attendu pour VECT_ASSE près - EXCIT_HARMO = FACT(statut='f', max='**', - regles=(UN_PARMI('VECT_ASSE', 'CHARGE'), - UN_PARMI('FONC_MULT', 'FONC_MULT_C', 'COEF_MULT', 'COEF_MULT_C'),), - VECT_ASSE = SIMP(statut='f', typ=cham_no_sdaster,), - CHARGE = SIMP(statut='f', typ=char_meca), - FONC_MULT_C = SIMP(statut='f', typ=(fonction_c, formule_c),), - COEF_MULT_C = SIMP(statut='f', typ='C'), - FONC_MULT = SIMP(statut='f', typ=(fonction_sdaster, nappe_sdaster, formule) ), - COEF_MULT = SIMP(statut='f', typ='R'), - PHAS_DEG = SIMP(statut='f', typ='R', defaut=0.), - PUIS_PULS = SIMP(statut='f', typ='I', defaut=0), - ), - ), - # Post-traitement type 2 - b_post_table = BLOC(condition="TYPE_RESU == 'TABLE'", - regles=(AU_MOINS_UN('ACCE_X', 'ACCE_Y', 'ACCE_Z'),), - MODELE = SIMP(statut='o', typ=(modele_sdaster),), - GROUP_NO = SIMP(statut='o', typ=grno, max='**', - fr="Liste des groupes de noeud de post-traitement"), - ACCE_X = SIMP(statut='f', typ=fonction_sdaster,), - ACCE_Y = SIMP(statut='f', typ=fonction_sdaster,), - ACCE_Z = SIMP(statut='f', typ=fonction_sdaster,), - INST_FIN = SIMP(statut='o', typ='R', fr="Instant final du calcul"), - PAS_INST = SIMP(statut='o', typ='R', fr="Pas de temps du calcul"), - NORME = SIMP(statut='o', typ='R', - fr="Valeur de la norme du spectre d'oscillateur" ), - AMOR_SPEC_OSCI = SIMP(statut='o', typ='R', max='**', - fr="Amortissement du spectre d'oscillateur"), - LIST_FREQ_SPEC_OSCI = SIMP(statut='f', typ=listr8_sdaster, - fr="Fréquences utilisées pour le calcul du spectre d'oscillateur"), - ), - - # Post-traitement type 3 - points de controle - b_post_control = BLOC(condition="TYPE_RESU == 'TABLE_CONTROL'", - regles=(PRESENT_PRESENT('ACCE_X', 'INST_FIN'), - PRESENT_PRESENT('ACCE_Y', 'INST_FIN'), - PRESENT_PRESENT('ACCE_Z', 'INST_FIN'), - ENSEMBLE('INST_FIN', 'PAS_INST', 'NORME', 'AMOR_SPEC_OSCI'),), - GROUP_MA_CONTROL = SIMP(statut='f', typ=grma, max='**', - fr="Groupe de mailles des points de contrôle"), - ACCE_X = SIMP(statut='f', typ=fonction_sdaster,), - ACCE_Y = SIMP(statut='f', typ=fonction_sdaster,), - ACCE_Z = SIMP(statut='f', typ=fonction_sdaster,), - INST_FIN = SIMP(statut='f', typ='R', fr="Instant final du calcul"), - PAS_INST = SIMP(statut='f', typ='R', fr="Pas de temps du calcul"), - NORME = SIMP(statut='f', typ='R', - fr="Valeur de la norme du spectre d'oscillateur" ), - AMOR_SPEC_OSCI = SIMP(statut='f', typ='R', max='**', - fr="Amortissement du spectre d'oscillateur"), - LIST_FREQ_SPEC_OSCI = SIMP(statut='f', typ=listr8_sdaster, - fr="Fréquences utilisées pour le calcul du spectre d'oscillateur"), - ), - - INFO = SIMP(statut='f', typ='I', defaut=1, into=(1,2)), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.brie at edf.fr - - -def calc_modal_prod(self,AMORTISSEMENT,**args): - if AMORTISSEMENT=="NON": return mode_meca - if AMORTISSEMENT=="OUI": return mode_meca_c - raise AsException("type de concept resultat non prevu") - - -CALC_MODAL=MACRO(nom="CALC_MODAL", - op=OPS('Macro.calc_modal_ops.calc_modal_ops'), - UIinfo={"groupes":("Résolution","Dynamique",)}, - sd_prod=calc_modal_prod, - fr="Calcul des modes propres reels ou complexes dans une seule commande", - MODELE =SIMP(statut='o',typ=modele_sdaster), - AMORTISSEMENT =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - INST =SIMP(statut='f',typ='R',defaut=0.), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), - METHODE =SIMP(statut='f',typ='TXM',defaut="SORENSEN", - into=("TRI_DIAG","JACOBI","SORENSEN","QZ") ), - b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'", - PREC_ORTHO =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ), - NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ), - PREC_LANCZOS =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ), - NMAX_ITER_QR =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), - ), - b_jacobi =BLOC(condition = "METHODE == 'JACOBI'", - PREC_BATHE =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ), - NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ), - PREC_JACOBI =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), - NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ), - ), - b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'", - PREC_SOREN =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ), - NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ), - PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717), - ), - b_qz =BLOC(condition = "METHODE == 'QZ'", - TYPE_QZ =SIMP(statut='f',typ='TXM',defaut="QZ_SIMPLE",into=("QZ_QR","QZ_SIMPLE","QZ_EQUI") ), - ), - MODE_RIGIDE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), - fr="Calcul des modes de corps rigide, uniquement pour la méthode TRI_DIAG" ), - CALC_FREQ =FACT(statut='d',min=0, - OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","PLUS_GRANDE","BANDE","CENTRE","TOUT"), - fr="Choix de l option et par conséquent du shift du problème modal" ), - b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites fréquences propres", - NMAX_FREQ =SIMP(statut='f',typ='I',defaut=10,val_min=0 ), - ), - b_plus_grande =BLOC(condition = "OPTION == 'PLUS_GRANDE'",fr="Recherche des plus grandes fréquences propres", - NMAX_FREQ =SIMP(statut='f',typ='I',defaut=1,val_min=0 ), - ), - b_centre =BLOC(condition = "OPTION == 'CENTRE'", - fr="Recherche des fréquences propres les plus proches d une valeur donnée", - FREQ =SIMP(statut='o',typ='R', - fr="Fréquence autour de laquelle on cherche les fréquences propres"), - AMOR_REDUIT =SIMP(statut='f',typ='R',), - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), - ), - b_bande =BLOC(condition = "(OPTION == 'BANDE')", - fr="Recherche des fréquences propres dans une bande donnée", - FREQ =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2, - fr="Valeurs des deux fréquences délimitant la bande de recherche"), - ), - APPROCHE =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG","COMPLEXE"), - fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ), - regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),), - DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ), - COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ), - NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ), - SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), - STOP_BANDE_VIDE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - - VERI_MODE =FACT(statut='d',min=0, - STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-3,val_min=0.E+0 ), - SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0, - fr="Valeur limite admise pour l ereur a posteriori des modes" ), - STURM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mohamed.torkhani at edf.fr - - -CALC_MODE_ROTATION=MACRO(nom="CALC_MODE_ROTATION", - op=OPS('Macro.calc_mode_rotation_ops.calc_mode_rotation_ops'), - sd_prod=table_container, - reentrant='n', - fr="calculer les fréquences et modes d'un système en fonction des " \ - "vitesses de rotation", - UIinfo={"groupes":("Résolution","Dynamique",)}, - - MATR_RIGI =SIMP(statut='o',typ=matr_asse_depl_r ), - MATR_MASS =SIMP(statut='o',typ=matr_asse_depl_r ), - MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r ), - MATR_GYRO =SIMP(statut='f',typ=matr_asse_depl_r ), - VITE_ROTA =SIMP(statut='f',typ='R',max='**'), - - METHODE =SIMP(statut='f',typ='TXM',defaut="QZ", - into=("QZ","SORENSEN",) ), - - CALC_FREQ =FACT(statut='d',min=0, - OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","CENTRE",), - fr="Choix de l option et par conséquent du shift du problème modal" ), - b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres", - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), - ), - b_centre =BLOC(condition = "OPTION == 'CENTRE'", - fr="Recherche des valeurs propres les plus proches d une valeur donnée", - FREQ =SIMP(statut='o',typ='R', - fr="Fréquence autour de laquelle on cherche les fréquences propres"), - AMOR_REDUIT =SIMP(statut='f',typ='R',), - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), - ), - ), - - VERI_MODE =FACT(statut='d',min=0, - STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-3 ), - STURM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jean-michel.proix at edf.fr -CALC_POINT_MAT=OPER(nom="CALC_POINT_MAT",op=33,sd_prod=table_sdaster,reentrant='f', - UIinfo={"groupes":("Résolution",)}, - fr="Intégrer une loi de comportement", - MATER =SIMP(statut='o',typ=mater_sdaster,max=1), - COMPORTEMENT =C_COMPORTEMENT('CALC_POINT_MAT'), - INCREMENT =C_INCREMENT('MECANIQUE'), - NEWTON =C_NEWTON(), - CONVERGENCE =C_CONVERGENCE(), - - # --MASSIF : orientation du materiau (monocristal, orthotropie) - MASSIF =FACT(statut='f',max='**', - regles=(UN_PARMI('ANGL_REP','ANGL_EULER'),), - ANGL_REP =SIMP(statut='f',typ='R',min=1,max=3), - ANGL_EULER =SIMP(statut='f',typ='R',min=1,max=3), - ), - ## ANGLE : rotation de ANGLE autour de Z uniquement, et seulement pour les déformations imposées. - ANGLE =SIMP(statut='f',typ='R',max=1, defaut=0.), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2)), - - regles=( - EXCLUS('SIXX','EPXX',), - EXCLUS('SIYY','EPYY',), - EXCLUS('SIZZ','EPZZ',), - EXCLUS('SIXY','EPXY',), - EXCLUS('SIXZ','EPXZ',), - EXCLUS('SIYZ','EPYZ',), - - ENSEMBLE('F11','F12','F13','F21','F22','F23','F31','F32','F33',),), - - SIXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - - EPXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - - F11 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F12 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F13 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F21 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F22 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F23 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F31 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F32 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F33 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - - MATR_C1=FACT(statut='f',max='**', - VALE =SIMP(statut='o',typ='R',max=1, ), - NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ), - NUME_COLONNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=12 ), - ), - MATR_C2=FACT(statut='f',max='**', - VALE =SIMP(statut='o',typ='R',max=1, ), - NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ), - NUME_COLONNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=12 ), - ), - VECT_IMPO=FACT(statut='f',max=6, - VALE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max=1, ), - NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ), - ), - SIGM_INIT=FACT(statut='f', - SIXX = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - SIYY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - SIZZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - SIXY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - SIXZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - SIYZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - ), - EPSI_INIT=FACT(statut='f', - EPXX = SIMP(statut='o',typ='R',max=1), - EPYY = SIMP(statut='o',typ='R',max=1), - EPZZ = SIMP(statut='o',typ='R',max=1), - EPXY = SIMP(statut='o',typ='R',max=1), - EPXZ = SIMP(statut='o',typ='R',max=1), - EPYZ = SIMP(statut='o',typ='R',max=1), - ), - VARI_INIT=FACT(statut='f', - VALE = SIMP(statut='o',typ='R',max='**'), - ), - FORMAT_TABLE =SIMP(statut='f',typ='TXM',max=1,into=("CMP_COLONNE","CMP_LIGNE",),defaut=("CMP_COLONNE"),), - - NB_VARI_TABLE =SIMP(statut='f',typ='I',max=1,), - - OPER_TANGENT =SIMP(statut='f',typ='TXM',max=1,into=("OUI","NON",),defaut="NON",), - - ARCHIVAGE =FACT(statut='f', - LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_ARCH =SIMP(statut='f',typ='I' ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-6), - ), - - - # on permet certaines variables de commandes scalaires, définies par une fonction du temps - # un mot clé caché qui ne sert qu'à boucler sur les VARC possibles : - LIST_NOM_VARC =SIMP(statut='c',typ='TXM', defaut=("TEMP","CORR","IRRA","HYDR","SECH","EPSA", - "M_ACIER","M_ZIRC","NEUT1","NEUT2")), - - AFFE_VARC = FACT(statut='f',max='**', - NOM_VARC =SIMP(statut='o',typ='TXM', into=("TEMP","CORR","IRRA","HYDR","SECH","M_ACIER","M_ZIRC", - "EPSA","NEUT1","NEUT2")), - VALE_FONC = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - - # VALE_REF est nécessaire pour certaines VARC : - B_VALE_REF =BLOC(condition="NOM_VARC in ('TEMP', 'SECH')", - VALE_REF =SIMP(statut='o',typ='R'), - ), - ), - - - - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: sylvie.michel-ponnelle at edf.fr - - -CALC_PRECONT=MACRO(nom="CALC_PRECONT", - op=OPS('Macro.calc_precont_ops.calc_precont_ops'), - sd_prod=evol_noli, - fr="Imposer la tension définie par le BPEL dans les cables", - reentrant='f',UIinfo={"groupes":("Modélisation",)}, - reuse =SIMP(statut='f',typ='evol_noli'), - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - CARA_ELEM =SIMP(statut='o',typ=cara_elem), - CABLE_BP =SIMP(statut='o',typ=cabl_precont,validators=NoRepeat(),max='**'), - CABLE_BP_INACTIF =SIMP(statut='f',typ=cabl_precont,validators=NoRepeat(),max='**'), - INCREMENT =C_INCREMENT('MECANIQUE'), - RECH_LINEAIRE =C_RECH_LINEAIRE(), - CONVERGENCE =C_CONVERGENCE(), - ETAT_INIT =FACT(statut='f', - regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI',), - EXCLUS('EVOL_NOLI','DEPL',), - EXCLUS('EVOL_NOLI','SIGM',), - EXCLUS('EVOL_NOLI','VARI',), - EXCLUS('NUME_ORDRE','INST'), ), - DEPL =SIMP(statut='f',typ=cham_no_sdaster), - SIGM =SIMP(statut='f',typ=(carte_sdaster,cham_elem)), - VARI =SIMP(statut='f',typ=cham_elem), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - NUME_DIDI =SIMP(statut='f',typ='I'), - INST_ETAT_INIT =SIMP(statut='f',typ='R'), - ), - METHODE = SIMP(statut='d',typ='TXM',defaut="NEWTON",into=("NEWTON","IMPLEX")), - b_meth_newton = BLOC(condition = "METHODE == 'NEWTON'", - NEWTON = C_NEWTON(), - ), - ENERGIE =FACT(statut='f',max=1, - CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), - ), -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('CALC_PRECONT'), -#------------------------------------------------------------------- - INFO =SIMP(statut='f',typ='I',into=(1,2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), - - EXCIT =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=char_meca), - ), - - COMPORTEMENT =C_COMPORTEMENT(), - ) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== - -# person_in_charge: mathieu.corus at edf.fr - - -CALC_SPEC=MACRO(nom="CALC_SPEC", - op=OPS('Macro.calc_spec_ops.calc_spec_ops'), - sd_prod=interspectre, - reentrant='n', - fr="Calcule une matrice interspectrale ou des fonctions de transferts", - UIinfo={"groupes":("Fonctions",)}, - TAB_ECHANT =FACT(statut='f', - NOM_TAB =SIMP(statut='o',typ=table_sdaster), - LONGUEUR_DUREE =SIMP(statut='f',typ='R'), - LONGUEUR_POURCENT =SIMP(statut='f',typ='R'), - LONGUEUR_NB_PTS =SIMP(statut='f',typ='I'), - RECOUVREMENT_DUREE =SIMP(statut='f',typ='R'), - RECOUVREMENT_POURCENT =SIMP(statut='f',typ='R'), - RECOUVREMENT_NB_PTS =SIMP(statut='f',typ='I'), - ), - ECHANT =FACT(statut='f',max='**', - NUME_ORDRE_I =SIMP(statut='o',typ='I' ), - NUME_MES =SIMP(statut='o',typ='I' ), - FONCTION =SIMP(statut='o',typ=fonction_sdaster), - ), -#-- Cas de la matrice interspectrale --# - INTERSPE =FACT(statut='f', - FENETRE =SIMP(statut='f',typ='TXM',defaut="RECT",into=("RECT","HAMM","HANN","EXPO","PART",)), - BLOC_DEFI_FENE =BLOC(condition = "FENETRE == 'EXPO' or FENETRE == 'PART' ", - DEFI_FENE =SIMP(statut='f',typ='R',max='**'), - ), - ), -#-- Cas des transferts - estimateurs H1 / H2 / Hv + Coherence --# - TRANSFERT =FACT(statut='f', - ESTIM =SIMP(statut='f',typ='TXM',defaut="H1",into=("H1","H2","CO",)), - REFER =SIMP(statut='o',typ='I',max='**'), - FENETRE =SIMP(statut='f',typ='TXM',defaut="RECT",into=("RECT","HAMM","HANN","EXPO","PART",)), -# DEFI_FENE =SIMP(statut='f',typ='R',max='**'), - BLOC_DEFI_FENE =BLOC(condition = "FENETRE == 'EXPO' or FENETRE == 'PART' ", - DEFI_FENE =SIMP(statut='f',typ='R',max='**'), - ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -CALC_STABILITE=MACRO(nom="CALC_STABILITE",sd_prod=table_container, - op=OPS('Macro.calc_stabilite_ops.calc_stabilite_ops'), - fr="post-traitement modes non-linéaires : filtre resultats et calcul de stabilité", - reentrant='f', - UIinfo={"groupes":("Résolution","Dynamique",)}, - - reuse =SIMP(statut='f',typ='table_container'), - - MODE_NON_LINE = SIMP(statut='o',typ=table_container,max=1), - SCHEMA_TEMPS = FACT(statut='d',max=1, - SCHEMA = SIMP(statut='f',typ='TXM',into=('NEWMARK',),defaut='NEWMARK'), - b_newmark= BLOC(condition="SCHEMA=='NEWMARK'", - NB_INST = SIMP(statut='f',typ='I',defaut= 1000 ), - ), - ), - TOLERANCE = SIMP(statut='f',typ='R',defaut= 1.E-2 ), - - FILTRE = FACT(statut='f',max=1,regles=(UN_PARMI('NUME_ORDRE','FREQ_MIN',),), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - FREQ_MIN = SIMP(statut='f',typ='R' ), - b_freq_min = BLOC(condition = "FREQ_MIN != None", - FREQ_MAX = SIMP(statut='o',typ='R' ), - PRECISION = SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ), - ), - - INFO = SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), - -) ; - - - - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -def calc_table_prod(self, TABLE, ACTION, **kargs): - """Typage du concept produit. - """ - l_typ = [AsType(TABLE),] - for mcf in ACTION: - dmc = mcf.cree_dict_valeurs(mcf.mc_liste) - if dmc.get('TABLE') != None: - l_typ.append(AsType(dmc['TABLE'])) - # une table_fonction étant une table - if table_fonction in l_typ: - return table_fonction - elif table_container in l_typ: - return table_container - else: - return table_sdaster - -CALC_TABLE=MACRO(nom="CALC_TABLE", - op=OPS('Macro.calc_table_ops.calc_table_ops'), - sd_prod=calc_table_prod, - fr="Opérations sur une table", - UIinfo={"groupes":("Tables",)}, - reentrant='f', - TABLE = SIMP(statut='o',typ=table_sdaster), - ACTION = FACT(statut='o', max='**', - fr = "Suite des opérations à effectuer sur la table", - OPERATION = SIMP(statut='o', typ='TXM', - into=('FILTRE', 'EXTR', 'RENOMME', 'TRI', 'COMB', 'AJOUT_LIGNE', - 'OPER', 'SUPPRIME', 'AJOUT_COLONNE')), - - b_filtre = BLOC(condition="OPERATION == 'FILTRE'", - fr="Sélectionne les lignes de la table vérifiant un critère", - NOM_PARA = SIMP(statut='o',typ='TXM'), - CRIT_COMP = SIMP(statut='f',typ='TXM',defaut="EQ", - into=('EQ','NE','GT','LT','GE','LE','REGEXP', - 'VIDE','NON_VIDE','MAXI','MAXI_ABS','MINI','MINI_ABS'),), - b_vale = BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", - regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), - VALE = SIMP(statut='f',typ='R',max='**'), - VALE_I = SIMP(statut='f',typ='I',max='**'), - VALE_C = SIMP(statut='f',typ='C',max='**'), - VALE_K = SIMP(statut='f',typ='TXM',max='**'), - ), - b_regexp = BLOC(condition = "CRIT_COMP == 'REGEXP'", - VALE_K = SIMP(statut='o',typ='TXM',), - ), - b_crit = BLOC(condition = "CRIT_COMP in ('EQ','NE')", - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - ), - ), - - b_extr = BLOC(condition="OPERATION == 'EXTR'", - fr="Extrait une ou plusieurs colonnes de la table", - NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - fr="Noms des colonnes à extraire"), - ), - - b_suppr = BLOC(condition="OPERATION == 'SUPPRIME'", - fr="Supprime une ou plusieurs colonnes de la table", - NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - fr="Noms des colonnes à supprimer"), - ), - - b_renomme = BLOC(condition="OPERATION == 'RENOMME'", - fr="Renomme un ou plusieurs paramètres de la table", - NOM_PARA = SIMP(statut='o', typ='TXM', validators=NoRepeat(), min=2, max=2, - fr="Couple (ancien nom du paramètre, nouveau nom du paramètre)",), - ), - - b_tri = BLOC(condition="OPERATION == 'TRI'", - fr="Ordonne les lignes de la table selon les valeurs d'un ou plusieurs paramètres", - NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'), - ORDRE = SIMP(statut='f',typ='TXM',defaut="CROISSANT", - into=("CROISSANT","DECROISSANT") ), - ), - - b_comb = BLOC(condition="OPERATION == 'COMB'", - fr="Combine deux tables ayant éventuellement des paramètres communs", - TABLE = SIMP(statut='o',typ=table_sdaster, - fr="Table dont les colonnes vont venir surcharger la table initiale"), - NOM_PARA = SIMP(statut='f',typ='TXM',max='**', - fr="Noms des paramètres dont les valeurs doivent etre identiques dans les deux tables "\ - "pour que les colonnes soient combinées"), - RESTREINT = SIMP(statut='f', typ='TXM', into=('OUI', 'NON'), defaut='NON', - fr="Restreint la fusion uniquement aux lignes où les NOM_PARA sont communs"), - FORMAT_R =SIMP(statut='f',typ='TXM'), - ), - - b_ajout_lig = BLOC(condition="OPERATION == 'AJOUT_LIGNE'", - fr="Ajoute une ligne à la table initiale", - NOM_PARA = SIMP(statut='o',typ='TXM',max='**', - fr="Noms des paramètres dont les valeurs sont fournies sous VALE"), - VALE = SIMP(statut='o',typ=not_checked,max='**', fr='Valeurs des paramètres'), - ), - - b_ajout_col = BLOC(condition="OPERATION == 'AJOUT_COLONNE'", - fr="Ajoute une colonne constante à la table initiale", - NOM_PARA = SIMP(statut='o',typ='TXM',max='**', - fr="Noms des paramètres des colonnes à ajouter"), - VALE = SIMP(statut='o', typ=not_checked, max='**', - fr="Valeur constante pour chaque colonne"), - ), - - b_oper = BLOC(condition="OPERATION == 'OPER'", - fr="Applique une formule dans laquelle les variables sont les paramètres de la table", - FORMULE = SIMP(statut='o',typ=formule, - fr="Formule à appliquer aux colonnes de la table"), - NOM_PARA = SIMP(statut='o',typ='TXM', - fr="Nom de la nouvelle colonne"), - NOM_COLONNE = SIMP(statut='f',typ='TXM', max='**', - fr="Nom des colonnes à utiliser en tant que paramètres de la formule"), - ), - ), - - TITRE = SIMP(statut='f',typ='TXM',max='**', - fr="Titre de la table produite"), - INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -CALC_THETA=OPER(nom="CALC_THETA",op=54,sd_prod=theta_geom,reentrant='n', - UIinfo={"groupes":("Post-traitements","Rupture",)}, - fr="Définir un champ theta pour le calcul du taux de restitution d'énergie" - +" ou des facteurs d'intensité de contraintes", - regles=(UN_PARMI('THETA_2D','THETA_3D'), - PRESENT_ABSENT('THETA_2D','DIRE_THETA'), - EXCLUS('DIRECTION','DIRE_THETA'),), - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - THETA_3D =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_NO','NOEUD'), - UN_PARMI('MODULE','MODULE_FO'), - ENSEMBLE('MODULE_FO','R_INF_FO','R_SUP_FO'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MODULE =SIMP(statut='f',typ='R'), - R_INF =SIMP(statut='f',typ='R'), - R_SUP =SIMP(statut='f',typ='R'), - MODULE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - R_INF_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - R_SUP_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - b_theta_3d =BLOC(condition="THETA_3D != None", - FOND_FISS =SIMP(statut='o',typ=fond_fiss),), - DIRE_THETA =SIMP(statut='f',typ=cham_no_sdaster ), - DIRECTION =SIMP(statut='f',typ='R',max='**'), - THETA_2D =FACT(statut='f',max='**', - regles=(UN_PARMI('GROUP_NO','NOEUD'),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - MODULE =SIMP(statut='o',typ='R'), - R_INF =SIMP(statut='o',typ='R'), - R_SUP =SIMP(statut='o',typ='R'), - ), - IMPRESSION =FACT(statut='f', - UNITE =SIMP(statut='f',typ='I',defaut=8), - FORMAT =SIMP(statut='f',typ='TXM',defaut="EXCEL",into=("EXCEL","AGRAF") ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -def calc_vect_elem_prod(OPTION,**args): - if OPTION == "CHAR_MECA" : return vect_elem_depl_r - if OPTION == "CHAR_THER" : return vect_elem_temp_r - if OPTION == "CHAR_ACOU" : return vect_elem_pres_c - raise AsException("type de concept resultat non prevu") - -CALC_VECT_ELEM=OPER(nom="CALC_VECT_ELEM",op=8,sd_prod=calc_vect_elem_prod,reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - fr="Calcul des seconds membres élémentaires", - OPTION =SIMP(statut='o',typ='TXM',into=("CHAR_MECA","CHAR_THER","CHAR_ACOU") ), - b_char_meca =BLOC(condition = "OPTION=='CHAR_MECA'", - regles=(AU_MOINS_UN('CHARGE','MODELE'),), - CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), - MODELE =SIMP(statut='f',typ=modele_sdaster), - b_charge =BLOC(condition = "CHARGE != None", fr="modèle ne contenant pas de sous-structure", - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - MODE_FOURIER =SIMP(statut='f',typ='I',defaut= 0 ), - ), - b_modele =BLOC(condition = "(MODELE != None)",fr="modèle contenant une sous-structure", - SOUS_STRUC =FACT(statut='o',min=01, - regles=(UN_PARMI('TOUT','SUPER_MAILLE'),), - CAS_CHARGE =SIMP(statut='o',typ='TXM' ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - SUPER_MAILLE=SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',), - ), - ), - ), - b_char_ther =BLOC(condition = "OPTION=='CHAR_THER'", - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - CHARGE =SIMP(statut='o',typ=char_ther,validators=NoRepeat(),max='**'), - INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ), - - b_char_acou =BLOC(condition = "OPTION=='CHAR_ACOU'", - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - CHARGE =SIMP(statut='o',typ=char_acou,validators=NoRepeat(),max='**'), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2007 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr - -CALCUL=OPER(nom="CALCUL",op=26,sd_prod=table_container,reentrant='f', - UIinfo={"groupes":("Résolution",)}, - fr="Calculer des objets élémentaires comme une matrice tangente, intégrer une loi de comportement, etc...", - OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="COMPORTEMENT", - into=( "COMPORTEMENT","MATR_TANG_ELEM","FORC_INTE_ELEM","FORC_NODA_ELEM"),), - MODELE =SIMP(statut='o',typ=modele_sdaster), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - TABLE =SIMP(statut='f',typ=table_container), - EXCIT =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", - into=("FIXE_CSTE",)), - - ), - DEPL =SIMP(statut='o',typ=cham_no_sdaster ), - INCR_DEPL =SIMP(statut='o',typ=cham_no_sdaster ), - SIGM =SIMP(statut='o',typ=cham_elem), - VARI =SIMP(statut='o',typ=cham_elem), - INCREMENT =FACT(statut='o', - LIST_INST =SIMP(statut='o',typ=listr8_sdaster), - NUME_ORDRE =SIMP(statut='o',typ='I'),), - COMPORTEMENT =C_COMPORTEMENT('CALCUL'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: sylvie.granet at edf.fr -#from Macro.chainage_thm_ops import chainage_thm_ops - -def chainage_thm_prod(self,TYPE_CHAINAGE,TYPE_RESU = None,**args) : - - if TYPE_CHAINAGE == "MECA_HYDR" : return evol_varc - - if TYPE_CHAINAGE == "HYDR_MECA" : - if TYPE_RESU == "CHAM_NO" : - return cham_no_sdaster - elif TYPE_RESU == "EVOL_VARC" : - return evol_varc - - if TYPE_CHAINAGE == "INIT" : - matr_mh = args['MATR_MH'] - matr_hm1 = args['MATR_HM1'] - matr_hm2 = args['MATR_HM2'] - - self.type_sdprod(matr_mh,corresp_2_mailla) - self.type_sdprod(matr_hm1,corresp_2_mailla) - self.type_sdprod(matr_hm2,corresp_2_mailla) - return None - - raise AsException("type de chainage THM non prevu") - -CHAINAGE_THM=MACRO(nom="CHAINAGE_THM", - op=OPS('Macro.chainage_thm_ops.chainage_thm_ops'), - sd_prod=chainage_thm_prod, - reentrant='n', - UIinfo={"groupes":("Résultats et champs",)}, - docu="Ux.xx.xx", - fr="Calcul des variables de commande pour le chaînage THM", - - TYPE_CHAINAGE = SIMP(statut='o',typ='TXM', - into=("HYDR_MECA","MECA_HYDR","INIT",), - fr="Sens du chaînage ou initialisation des matrices de projection"), - - # Cas HYDR_MECA : - - b_hydr_meca = BLOC(condition = "TYPE_CHAINAGE == 'HYDR_MECA'",fr="Chaînage hydraulique vers mécanique", - - RESU_HYDR = SIMP(statut='o',typ=resultat_sdaster,fr="Résultat hydraulique à chaîner" ), - MODELE_MECA = SIMP(statut='o',typ=modele_sdaster ,fr="Modèle d'arrivée mécanique"), - TYPE_RESU = SIMP(statut='f',typ='TXM',into=("EVOL_VARC","CHAM_NO"),defaut="EVOL_VARC", ), - MATR_HM1 = SIMP(statut='o',typ=corresp_2_mailla,), - MATR_HM2 = SIMP(statut='o',typ=corresp_2_mailla,), - - b_type_resu = BLOC(condition = "TYPE_RESU == 'EVOL_VARC'",fr="Instant obligatoire si TYPE_RESU=EVOL_VARC", - INST = SIMP(statut='o',typ='R',validators=NoRepeat(),min=1,max=1), - - ),), - - # Cas MECA_HYDR : - - b_meca_hydr = BLOC(condition = "TYPE_CHAINAGE == 'MECA_HYDR'",fr="Chaînage mécanique vers hydraulique", - - RESU_MECA = SIMP(statut='o',typ=resultat_sdaster,fr="Résultat mécanique à chaîner" ), - MODELE_HYDR = SIMP(statut='o',typ=modele_sdaster ,fr="Modèle d'arrivée hydraulique"), - - MATR_MH = SIMP(statut='o',typ=corresp_2_mailla,), - INST = SIMP(statut='o',typ='R',validators=NoRepeat(),min=1,max=1), - ), - - # Cas INIT : - - b_init = BLOC(condition = "TYPE_CHAINAGE == 'INIT'",fr="Calcul des matrices de projection", - - MODELE_MECA = SIMP(statut='o',typ=modele_sdaster ,fr="Modèle mécanique"), - MODELE_HYDR = SIMP(statut='o',typ=modele_sdaster ,fr="Modèle hydraulique"), - - MATR_MH = SIMP(statut='o',typ=CO,), - MATR_HM1 = SIMP(statut='o',typ=CO,), - MATR_HM2 = SIMP(statut='o',typ=CO,), - ), - - INFO = SIMP(statut='f',typ='I',defaut=1,into=( 1, 2 ) ), - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: xavier.desroches at edf.fr -COMB_FOURIER=OPER(nom="COMB_FOURIER",op= 161,sd_prod=comb_fourier, - reentrant='n',fr="Recombiner les modes de Fourier d'une SD Résultat dans des directions particulières", - UIinfo={"groupes":("Post-traitements",)}, - RESULTAT =SIMP(statut='o',typ=(fourier_elas,fourier_ther),), - ANGLE =SIMP(statut='o',typ='R',max='**'), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=6,into=("DEPL","REAC_NODA", - "SIEF_ELGA","EPSI_ELNO","SIGM_ELNO","TEMP","FLUX_ELNO"),), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.sellenet at edf.fr -def comb_matr_asse_prod(COMB_R,COMB_C,CALC_AMOR_GENE,**args): - if COMB_C != None: - type_mat = AsType(COMB_C[0]['MATR_ASSE']) - if type_mat in (matr_asse_depl_c,matr_asse_depl_r) : return matr_asse_depl_c - if type_mat in (matr_asse_gene_c,matr_asse_gene_r) : return matr_asse_gene_c - if type_mat in (matr_asse_temp_c,matr_asse_temp_r) : return matr_asse_temp_c - if type_mat in (matr_asse_pres_c,matr_asse_pres_r) : return matr_asse_pres_c - elif COMB_R != None: - type_mat = AsType(COMB_R[0]['MATR_ASSE']) - if type_mat in (matr_asse_depl_c,matr_asse_depl_r) : return matr_asse_depl_r - if type_mat in (matr_asse_temp_c,matr_asse_temp_r) : return matr_asse_temp_r - if type_mat in (matr_asse_pres_c,matr_asse_pres_r) : return matr_asse_pres_r - if type_mat in (matr_asse_gene_c,matr_asse_gene_r) : return matr_asse_gene_r - elif CALC_AMOR_GENE != None: return matr_asse_gene_r - raise AsException("type de concept resultat non prevu") - -COMB_MATR_ASSE=OPER(nom="COMB_MATR_ASSE",op= 31,sd_prod=comb_matr_asse_prod, - fr="Effectuer la combinaison linéaire de matrices assemblées", - reentrant='f', - UIinfo={"groupes":("Matrices et vecteurs",)}, - regles=(UN_PARMI('COMB_R','COMB_C','CALC_AMOR_GENE' ),), - COMB_R =FACT(statut='f',max='**', - PARTIE =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ), - MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_temp_c - ,matr_asse_pres_r,matr_asse_pres_c,matr_asse_gene_r,matr_asse_gene_c ) ), - COEF_R =SIMP(statut='o',typ='R' ), - ), - COMB_C =FACT(statut='f',max='**', - regles=(UN_PARMI('COEF_R','COEF_C' ),), - MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_temp_c - ,matr_asse_pres_r,matr_asse_pres_c,matr_asse_gene_r,matr_asse_gene_c ) ), - COEF_R =SIMP(statut='f',typ='R' ), - COEF_C =SIMP(statut='f',typ='C' ), - ), - CALC_AMOR_GENE =FACT(statut='f', - RIGI_GENE = SIMP(statut='o', typ=matr_asse_gene_r), - MASS_GENE = SIMP(statut='o', typ=matr_asse_gene_r), - regles=(UN_PARMI('AMOR_REDUIT','LIST_AMOR' ),), - AMOR_REDUIT = SIMP(statut='f',typ='R',max='**'), - LIST_AMOR = SIMP(statut='f',typ=listr8_sdaster ), - ), - SANS_CMP =SIMP(statut='f',typ='TXM',into=("LAGR",) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: sylvie.audebert at edf.fr -COMB_SISM_MODAL=OPER(nom="COMB_SISM_MODAL",op= 109,sd_prod=mode_meca, - fr="Réponse sismique par recombinaison modale par une méthode spectrale", - reentrant='n', - UIinfo={"groupes":("Post-traitements","Dynamique",)}, - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','FREQ','NUME_MODE','LIST_FREQ','LIST_ORDRE'), - UN_PARMI('AMOR_REDUIT','LIST_AMOR','AMOR_GENE' ), - UN_PARMI('MONO_APPUI','MULTI_APPUI' ),), - MODE_MECA =SIMP(statut='o',typ=mode_meca ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - b_freq =BLOC(condition = "FREQ != None or LIST_FREQ != None", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - ), - MODE_CORR =SIMP(statut='f',typ=mode_meca ), - FREQ_COUP = SIMP(statut='f',typ='R',min=1,max=1), - - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), - AMOR_GENE =SIMP(statut='f',typ=matr_asse_gene_r ), - - MASS_INER =SIMP(statut='f',typ=table_sdaster ), - CORR_FREQ =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - - EXCIT =FACT(statut='o',max='**', - regles=(UN_PARMI('AXE','TRI_AXE','TRI_SPEC' ),), - AXE =SIMP(statut='f',typ='R',max=3,fr="Excitation suivant un seul axe",), - TRI_AXE =SIMP(statut='f',typ='R',max=3,fr="Excitation suivant les trois axes mais avec le meme spectre",), - TRI_SPEC =SIMP(statut='f',typ='TXM',into=("OUI",), - fr="Excitation suivant les trois axes avec trois spectres"), - b_axe =BLOC(condition = "AXE != None",fr="Excitation suivant un seul axe", - SPEC_OSCI =SIMP(statut='o',typ=(nappe_sdaster,formule),), - ECHELLE =SIMP(statut='f',typ='R',), - ), - b_tri_axe =BLOC(condition = "TRI_AXE != None",fr="Excitation suivant les trois axes mais avec le meme spectre", - SPEC_OSCI =SIMP(statut='o',typ=(nappe_sdaster,formule),), - ECHELLE =SIMP(statut='f',typ='R',), - ), - b_tri_spec =BLOC(condition = "TRI_SPEC != None",fr="Excitation suivant les trois axes avec trois spectres", - SPEC_OSCI =SIMP(statut='o',typ=(nappe_sdaster,formule),min=3,max=3 ), - ECHELLE =SIMP(statut='f',typ='R',min=3,max=3), - ), - NATURE =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("ACCE","VITE","DEPL") ), - b_mult_appui =BLOC(condition = "(MULTI_APPUI != None)", - regles=(UN_PARMI('NOEUD','GROUP_NO' ),), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),) - ), - MONO_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",), - fr="excitation imposée unique" ), - MULTI_APPUI =SIMP(statut='f',typ='TXM',position='global',into=("DECORRELE","CORRELE"), - fr="excitation imposée unique" ), - b_decorrele =BLOC(condition = "MULTI_APPUI == 'DECORRELE' ", - GROUP_APPUI =FACT(statut='f',max='**', - regles=(UN_PARMI('NOEUD','GROUP_NO' ),), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),), - - ), - b_correle =BLOC(condition = "MULTI_APPUI == 'CORRELE' ", - COMB_MULT_APPUI =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO' ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - TYPE_COMBI =SIMP(statut='f',typ='TXM',into=("QUAD","LINE",) ),), - ), - - COMB_MODE =FACT(statut='o', - TYPE =SIMP(statut='o',typ='TXM',into=("SRSS","CQC","DSC","ABS","DPC","GUPTA") ), - DUREE =SIMP(statut='f',typ='R' ), - b_gupta =BLOC(condition = "TYPE == 'GUPTA' ", - FREQ_1 =SIMP(statut='o',typ='R',), - FREQ_2 =SIMP(statut='o',typ='R',), - ), - ), - COMB_DIRECTION =FACT(statut='f', - TYPE =SIMP(statut='f',typ='TXM',into=("QUAD","NEWMARK") ), - ), - COMB_DEPL_APPUI=FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','LIST_CAS'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), - LIST_CAS =SIMP(statut='f',typ='I',max='**'), - TYPE_COMBI =SIMP(statut='f',typ='TXM',into=("QUAD","LINE","ABS") ), - ), - DEPL_MULT_APPUI =FACT(statut='f',max='**', - regles=(UN_PARMI('NOEUD','GROUP_NO'), - AU_MOINS_UN('DX','DY','DZ' ),), - NOM_CAS =SIMP(statut='o',typ='TXM',max='**'), - NUME_CAS =SIMP(statut='o',typ='I',max='**'), - MODE_STAT =SIMP(statut='o',typ=mode_meca, ), - NOEUD_REFE =SIMP(statut='f',typ=no), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - DX =SIMP(statut='f',typ='R' ), - DY =SIMP(statut='f',typ='R' ), - DZ =SIMP(statut='f',typ='R' ), - ), - OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=9, - into=("DEPL","VITE","ACCE_ABSOLU","SIGM_ELNO","SIEF_ELGA", - "EFGE_ELNO","REAC_NODA","FORC_NODA", - "SIPO_ELNO") ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), - IMPRESSION =FACT(statut='f',max='**', - regles=(EXCLUS('TOUT','NIVEAU'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NIVEAU =SIMP(statut='f',typ='TXM',into=("SPEC_OSCI","MASS_EFFE","MAXI_GENE"),validators=NoRepeat(),max=3 ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -def copier_prod(CONCEPT,**args): - return AsType(CONCEPT) - -# liste des types de concept acceptes par la commande : -copier_ltyp=( - cabl_precont, - listr8_sdaster, - listis_sdaster, - fonction_sdaster, - nappe_sdaster, - table_sdaster, - maillage_sdaster, - modele_sdaster, - evol_elas, - evol_noli, - evol_ther, -) - -COPIER=OPER(nom="COPIER",op= 185,sd_prod=copier_prod,reentrant='f', - UIinfo={"groupes":("Gestion du travail",)}, - fr="Copier un concept utilisateur sous un autre nom", - - CONCEPT = SIMP(statut='o',typ=copier_ltyp,), - INFO = SIMP(statut='f', typ='I', into=(1, 2), defaut=1, ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -def crea_champ_prod(TYPE_CHAM,**args): - if TYPE_CHAM[0:5] == "CART_" : - return carte_sdaster - elif TYPE_CHAM[0:5] == "NOEU_" : - return cham_no_sdaster - elif TYPE_CHAM[0:2] == "EL" : - return cham_elem - else : - raise AsException("type de concept resultat_sdaster non prevu") - - -CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod, - fr="Création d'un champ ",reentrant='f', - UIinfo={"groupes":("Résultats et champs",)}, - - # TYPE_CHAM doit etre de la forme : CART_xx, NOEU_xx, ELEM_xx, ELGA_xx ou ELNO_xx - # ou xx est le nom d'une grandeur définie dans le catalogue des grandeurs - TYPE_CHAM =SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO()), - -# SI CREATION D'UN CHAM_NO, POUR IMPOSER LA NUMEROTATION DES DDLS : -# ------------------------------------------------------------------ - regles=(EXCLUS('NUME_DDL','CHAM_NO',)), - NUME_DDL =SIMP(statut='f',typ=(nume_ddl_sdaster) ), - CHAM_NO =SIMP(statut='f',typ=(cham_no_sdaster) ), - - -# AUTORISE-T-ON LE PROLONGEMENT DU CHAMP PAR ZERO ? -# ------------------------------------------------------------------ -# CE MOT CLE N'A DE SENS QUE DANS 2 CAS DE FIGURE : -# - POUR LES CHAM_ELEM (AVEC LE MOT CLE MODELE) -# - POUR LES CHAM_NO SI ON IMPOSE LEUR NUMEROTATION - b_prol_zero =BLOC(condition = "NUME_DDL != None or CHAM_NO != None or (TYPE_CHAM != None and TYPE_CHAM[0:2] == 'EL')", - PROL_ZERO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",)),), - - -# SI CREATION D'UN CHAM_ELEM, POUR POUVOIR AIDER A L'ALLOCATION DU CHAMP : -# (PAR DEFAUT : TOU_INI_ELNO/_ELGA/_ELEM) -# ------------------------------------------------------------------ - OPTION =SIMP(statut='f',typ='TXM',validators=NoRepeat(),), - - -# Si creation d'un cham_elem avec sous-points, pour que tous les sous-points -# soient affectes : on duplique la valeur sur tous les sous-points -# ------------------------------------------------------------------ - AFFE_SP =FACT(statut='f',max=1, - CARA_ELEM =SIMP(statut='o',typ=cara_elem,min=1,max=1), - ), - - -# LE MOT-CLE OPERATION EST OBLIGATOIRE. IL PERMET LE BON AIGUILLAGE. -# ------------------------------------------------------------------ - OPERATION =SIMP(statut='o',typ='TXM',into=("AFFE","ASSE","EVAL","EXTR","DISC","NORMALE","R2C","C2R","COMB") ), - -# ------------------------------------------------------------------ - b_norm =BLOC(condition = "OPERATION == 'NORMALE'", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE',),), - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - ), -# ------------------------------------------------------------------ - b_affe =BLOC(condition = "OPERATION == 'AFFE'", - regles=(UN_PARMI('MAILLAGE','MODELE'),), - MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ), - MODELE =SIMP(statut='f',typ=(modele_sdaster) ), - AFFE =FACT(statut='o',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD',), - UN_PARMI('VALE','VALE_I','VALE_C','VALE_F', ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), - VALE =SIMP(statut='f',typ='R',max='**' ), - VALE_I =SIMP(statut='f',typ='I',max='**' ), - VALE_C =SIMP(statut='f',typ='C',max='**' ), - VALE_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'), - ), - ), -# ------------------------------------------------------------------ - b_asse =BLOC(condition = "OPERATION == 'ASSE'", - regles=(UN_PARMI('MAILLAGE','MODELE'),), - MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ), - MODELE =SIMP(statut='f',typ=(modele_sdaster) ), - ASSE =FACT(statut='o',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD',), - PRESENT_PRESENT('NOM_CMP_RESU','NOM_CMP', ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - CHAM_GD =SIMP(statut='o',typ=cham_gd_sdaster), - NOM_CMP =SIMP(statut='f',typ='TXM',max='**' ), - NOM_CMP_RESU =SIMP(statut='f',typ='TXM',max='**' ), - CUMUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), - COEF_R =SIMP(statut='f',typ='R',defaut= 1. ), - COEF_C =SIMP(statut='f',typ='C',max=1), - ), - ), -# ------------------------------------------------------------------ - b_comb =BLOC(condition = "OPERATION == 'COMB'", - fr="Pour faire une combinaison linéaire de cham_no ayant meme profil", - COMB =FACT(statut='o',max='**', - CHAM_GD =SIMP(statut='o',typ=cham_no_sdaster), - COEF_R =SIMP(statut='o',typ='R'), - ), - ), -# ------------------------------------------------------------------ - b_eval =BLOC(condition = "OPERATION == 'EVAL'", - CHAM_F =SIMP(statut='o',typ=cham_gd_sdaster), - CHAM_PARA =SIMP(statut='o',typ=cham_gd_sdaster,max='**'), - ), -# ------------------------------------------------------------------ - b_r2c =BLOC(condition = "OPERATION == 'R2C'", - CHAM_GD =SIMP(statut='o',typ=cham_gd_sdaster), - ), -# ------------------------------------------------------------------ - b_c2r =BLOC(condition = "OPERATION == 'C2R'", - CHAM_GD =SIMP(statut='o',typ=cham_gd_sdaster), - PARTIE =SIMP(statut='o',typ='TXM',into=('REEL','IMAG','MODULE','PHASE'),), - ), -# ------------------------------------------------------------------ - b_disc =BLOC(condition = "OPERATION == 'DISC'", - MODELE =SIMP(statut='f',typ=(modele_sdaster) ), - CHAM_GD =SIMP(statut='o',typ=cham_gd_sdaster), - ), -# ------------------------------------------------------------------ - b_extr =BLOC(condition = "OPERATION == 'EXTR'", - regles=(AU_MOINS_UN('MAILLAGE','FISSURE','RESULTAT','TABLE','CARA_ELEM','CHARGE'), - PRESENT_ABSENT('MAILLAGE','FISSURE','RESULTAT','CARA_ELEM','CHARGE'), - PRESENT_ABSENT('FISSURE','MAILLAGE','RESULTAT','TABLE','CARA_ELEM','CHARGE'), - PRESENT_ABSENT('RESULTAT','FISSURE','MAILLAGE','TABLE','CARA_ELEM','CHARGE'), - PRESENT_ABSENT('TABLE','RESULTAT','FISSURE','CARA_ELEM','CHARGE'), - PRESENT_ABSENT('CARA_ELEM','MAILLAGE','TABLE','RESULTAT','FISSURE','CHARGE'), - PRESENT_ABSENT('CHARGE','MAILLAGE','TABLE','RESULTAT','FISSURE','CARA_ELEM'), - ), - MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ), - FISSURE =SIMP(statut='f',typ=(fiss_xfem) ), - RESULTAT =SIMP(statut='f',typ=(resultat_sdaster) ), - TABLE =SIMP(statut='f',typ=(table_sdaster),min=1,max=1), - CARA_ELEM =SIMP(statut='f',typ=(cara_elem),min=1,max=1), - CHARGE =SIMP(statut='f',typ=(char_meca),min=1,max=1), - b_extr_maillage =BLOC(condition = "MAILLAGE != None and TABLE == None", - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=("GEOMETRIE",)), - ), - - b_extr_cara_elem =BLOC(condition = "CARA_ELEM != None", - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(), - into=('.CARGENBA', '.CARMASSI', '.CARCABLE', '.CARCOQUE', '.CARGEOBA', '.CARDISCK', - '.CARARCPO', '.CARGENPO', '.CARDISCM', '.CARORIEN', '.CARDISCA', '.CVENTCXF', - '.CARPOUFL', '.CARGEOPO', '.CARDNSCK', '.CARDNSCM', '.CARDNSCA', '.CARDINFO', - '.CAFIBR', '.CANBSP',)), - ), - - b_extr_charge =BLOC(condition = "CHARGE != None", - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(), - into=('.CHME.EPSIN', '.CHME.F1D1D', '.CHME.F1D2D', '.CHME.F1D3D', '.CHME.F2D2D', - '.CHME.F2D3D', '.CHME.F3D3D', '.CHME.FCO2D', '.CHME.FCO3D', '.CHME.FELEC', - '.CHME.FL101', '.CHME.FL102', '.CHME.FLUX', '.CHME.FORNO', '.CHME.IMPE', - '.CHME.ONDE', '.CHME.ONDPL', '.CHME.ONDPR', '.CHME.PESAN', '.CHME.PRESS', - '.CHME.ROTAT', '.CHME.SIGIN', '.CHME.SIINT', '.CHME.VNOR',)), - ), - - b_extr_fissure = BLOC(condition = "FISSURE != None", - NOM_CHAM=SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=("LTNO","LNNO", - "GRLTNO","GRLNNO","STNO","STNOR","BASLOC","GRI.LNNO","GRI.LTNO","GRI.GRLNNO","GRI.GRLTNO")), - - ), - - b_extr_table =BLOC(condition = "TABLE != None", - MODELE =SIMP(statut='f',typ=(modele_sdaster),), - ), - b_extr_resultat =BLOC(condition = "RESULTAT != None", - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - TYPE_MAXI =SIMP(statut='f',typ='TXM',into=("MAXI","MINI","MAXI_ABS","MINI_ABS","NORM_TRAN",) ), - - # si TYPE_MAXI, on spécifie en général plusieurs numéros d'ordre : - b_type_maxi =BLOC(condition = "TYPE_MAXI != None", - TYPE_RESU =SIMP(statut='o',typ='TXM',defaut="VALE",into=("VALE","INST",) ), - - regles=(EXCLUS('TOUT_ORDRE','LIST_INST','LIST_FREQ','NUME_ORDRE','INST', - 'FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGLE'),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), - LIST_FREQ =SIMP(statut='f',typ=(listr8_sdaster) ), - NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), - INST =SIMP(statut='f',typ='R',max='**'), - FREQ =SIMP(statut='f',typ='R',max='**'), - NUME_MODE =SIMP(statut='f',typ='I',max='**'), - NOEUD_CMP =SIMP(statut='f',typ='TXM',max='**'), - NOM_CAS =SIMP(statut='f',typ='TXM',max='**'), - ANGLE =SIMP(statut='f',typ='R',max='**'), - ), - - # si .not. TYPE_MAXI, on ne doit spécifier qu'un seul numéro d'ordre : - b_non_type_maxi =BLOC(condition = "TYPE_MAXI == None", - regles=(EXCLUS('NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGLE'),), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - FREQ =SIMP(statut='f',typ='R'), - NUME_MODE =SIMP(statut='f',typ='I'), - NOEUD_CMP =SIMP(statut='f',typ='TXM',max=2), - NOM_CAS =SIMP(statut='f',typ='TXM'), - ANGLE =SIMP(statut='f',typ='R'), - - INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN",) ), - ), - - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - - ), # fin bloc b_extr - - - ), -# FIN DU CATALOGUE : INFO,TITRE ET TYPAGE DU RESULTAT : -#----------------------------------------------------- - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: harinaivo.andriambololona at edf.fr - -def crea_elem_ssd_prod(self,NUME_DDL,**args): - if NUME_DDL: - self.type_sdprod(NUME_DDL,nume_ddl_sdaster) - return macr_elem_dyna - -CREA_ELEM_SSD=MACRO(nom="CREA_ELEM_SSD", - op=OPS('Macro.crea_elem_ssd_ops.crea_elem_ssd_ops'), - sd_prod=crea_elem_ssd_prod, - reentrant='n', - fr="Creation de macro-element dynamique en enchainant les commandes : "\ - "CALC_MATR_ELEM, NUME_DDL, ASSE_MATRICE, MODE_ITER_SIMULT, "\ - "DEFI_INTERF_DYNA, DEFI_BASE_MODALE et MACR_ELEM_DYNA", - UIinfo={"groupes":("Matrices/vecteurs",)}, - -# pour CAL_MATR_ELEM + NUME_DDL + ASSE_MATRICE + MODE_ITER_SIMULT + MODE_STATIQUE - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - NUME_DDL =SIMP(statut='f',typ=CO,defaut=None), - CHARGE =SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**'), - -# pour DEFI_INTERF_DYNA - INTERFACE =FACT(statut='o',max='**', - regles=(ENSEMBLE('NOM','TYPE'), - UN_PARMI('NOEUD','GROUP_NO'),), - NOM =SIMP(statut='f',typ='TXM' ), - TYPE =SIMP(statut='f',typ='TXM',into=("MNEAL","CRAIGB","CB_HARMO",) ), - NOEUD =SIMP(statut='f',typ=no,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), - FREQ =SIMP(statut='f',typ='R',defaut= 1.), - ), - -# pour DEFI_BASE_MODALE - BASE_MODALE = FACT(statut='o',max = 1, - TYPE =SIMP(statut='o',typ='TXM',max=1,into=('CLASSIQUE','RITZ',),), - b_ritz = BLOC(condition = "TYPE == 'RITZ' ",fr="Base de type Ritz", - TYPE_MODE = SIMP(statut='f',typ='TXM',into=('STATIQUE','INTERFACE',),defaut='INTERFACE',), - b_intf = BLOC(condition = "TYPE_MODE == 'INTERFACE' ", - NMAX_MODE_INTF =SIMP(statut='f',typ='I',defaut=10,val_min=1),), - ), - ), - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR (pour MODE_ITER_SIMULT, MODE_STATIQUE, DEFI_BASE_MODALE) - SOLVEUR =C_SOLVEUR('CREA_ELEM_SSD'), -#------------------------------------------------------------------- - -# pour le calcul modal - CALC_FREQ =FACT(statut='d',min=0, - STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE","SANS"), - fr="Choix de l option et par consequent du shift du probleme modal" ), - b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres", - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), - ), - b_centre =BLOC(condition = "OPTION == 'CENTRE'", - fr="Recherche des valeurs propres les plus proches d une valeur donnee", - FREQ =SIMP(statut='o',typ='R', - fr="Frequence autour de laquelle on cherche les frequences propres"), - AMOR_REDUIT =SIMP(statut='f',typ='R',), - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), - ), - b_bande =BLOC(condition = "(OPTION == 'BANDE')", - fr="Recherche des valeurs propres dans une bande donnee", - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 9999,val_min=0 ), - FREQ =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max='**', - fr="Valeurs des frequences delimitant les bandes de recherche"), - ), - APPROCHE =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG","COMPLEXE"), - fr="Choix du pseudo-produit scalaire pour la resolution du probleme quadratique" ), - DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ), - ), - - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -CREA_MAILLAGE=OPER(nom="CREA_MAILLAGE",op= 167,sd_prod=maillage_sdaster, - reentrant='n',fr="Crée un maillage à partir d'un maillage existant", - UIinfo={"groupes":("Maillage",)}, - regles=(UN_PARMI('COQU_VOLU', 'CREA_FISS', 'CREA_GROUP_MA', 'CREA_MAILLE', 'CREA_POI1', - 'DETR_GROUP_MA', 'ECLA_PG', 'HEXA20_27', 'LINE_QUAD', 'MODI_MAILLE', - 'QUAD_LINE', 'REPERE','RESTREINT','PENTA15_18','GEOM_FIBRE'),), - - - - # le MAILLAGE est inutile si ECLA_PG et GEOM_FIBRE - MAILLAGE =SIMP(statut='f',typ=maillage_sdaster ), - GEOM_FIBRE = SIMP(statut='f',max=1,typ=gfibre_sdaster), - - CREA_POI1 =FACT(statut='f',max='**',fr="Création de mailles de type POI1 à partir de noeuds", - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD' ),), - NOM_GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - ), - CREA_MAILLE =FACT(statut='f',max='**',fr="Duplication de mailles", - regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - PREF_MAILLE =SIMP(statut='o',typ='TXM' ), - PREF_NUME =SIMP(statut='f',typ='I' ), - ), - CREA_GROUP_MA =FACT(statut='f',max='**',fr="Duplication de mailles et création de groupes de mailles", - regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),), - NOM =SIMP(statut='o',typ='TXM'), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - PREF_MAILLE =SIMP(statut='o',typ='TXM' ), - PREF_NUME =SIMP(statut='f',typ='I' ), - ), - DETR_GROUP_MA =FACT(statut='f',fr="Destruction de groupes de mailles", - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - NB_MAILLE =SIMP(statut='f',typ='I',defaut= 0, - fr="Nombre minimal de mailles que doit contenir le groupe pour etre détruit", ), - ), - RESTREINT =FACT(statut='f',fr="Restreindre un maillage à des groupes de mailles",max=1, - regles=(AU_MOINS_UN('GROUP_MA','MAILLE',),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - TOUT_GROUP_MA =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON'),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - TOUT_GROUP_NO =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON'),), - ), - COQU_VOLU =FACT(statut='f', - fr="Creation de mailles volumiques à partir de mailles surfaciques", - NOM =SIMP(statut='o',typ='TXM'), - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max ='**'), - EPAIS =SIMP(statut='o',typ='R' ), - PREF_MAILLE =SIMP(statut='f',typ='TXM',defaut="MS" ), - PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS" ), - PREF_NUME =SIMP(statut='f',typ='I' ,defaut=1 ), - PLAN =SIMP(statut='o',typ='TXM',into=("SUP","MOY","INF")), - b_MOY =BLOC(condition = "PLAN == 'MOY'", - TRANSLATION =SIMP(statut='o',typ='TXM',into=("SUP","INF") ), - ), - ), - MODI_MAILLE =FACT(statut='f',max='**',fr="Modification du type de mailles", - regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - OPTION =SIMP(statut='o',typ='TXM',into=("TRIA6_7","QUAD8_9","SEG3_4","QUAD_TRIA3"),validators=NoRepeat(), - fr="Choix de la transformation" ), - b_NOS =BLOC(condition = "OPTION == 'TRIA6_7' or OPTION == 'QUAD8_9' or OPTION == 'SEG3_4'", - PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS"), - PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ), - ), - b_QTR =BLOC(condition = "OPTION == 'QUAD_TRIA3'", - PREF_MAILLE =SIMP(statut='f',typ='TXM',defaut="MS" ), - PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ), - ), - ), - CREA_FISS = FACT(statut='f',max='**',fr="Creation d'une fissure potentielle avec elts de joint ou elts à disc", - NOM =SIMP(statut='o',typ='TXM'), - GROUP_NO_1 =SIMP(statut='o',typ=grno), - GROUP_NO_2 =SIMP(statut='o',typ=grno), - PREF_MAILLE =SIMP(statut='o',typ='TXM'), - PREF_NUME =SIMP(statut='f',typ='I',defaut=1 ), - ), - LINE_QUAD =FACT(statut='f',fr="Passage linéaire -> quadratique", - regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS"), - PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ), - ), - HEXA20_27 =FACT(statut='f',fr="Passage HEXA20 -> HEXA27", - regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS"), - PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ), - ), - PENTA15_18 =FACT(statut='f',fr="Passage PENTA15 -> PENTA18", - regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - PREF_NOEUD =SIMP(statut='f',typ='TXM',defaut="NS"), - PREF_NUME =SIMP(statut='f',typ='I',defaut= 1 ), - ), - QUAD_LINE =FACT(statut='f',fr="Passage quadratique -> linéaire", - regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - ), - REPERE =FACT(statut='f',max='**', - fr="changement de repère servant à déterminer les caractéristiques d'une section de poutre", - TABLE =SIMP(statut='o',typ=table_sdaster, - fr="Nom de la table contenant les caractéristiques de la section de poutre" ), - NOM_ORIG =SIMP(statut='f',typ='TXM',into=("CDG","TORSION"),fr="Origine du nouveau repère" ), - NOM_ROTA =SIMP(statut='f',typ='TXM',into=("INERTIE",),fr="Direction du repére" ), - b_cdg =BLOC(condition = "NOM_ORIG == 'CDG'", - GROUP_MA =SIMP(statut='f',typ=grma, - fr="Nom du groupe de mailles dont le centre de gravité sera l origine du nouveau repère"), - ), - ), - ECLA_PG =FACT(statut='f', - fr="Eclatement des mailles en petites mailles contenant chacune un seul point de gauss", - MODELE =SIMP(statut='o',typ=modele_sdaster ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SHRINK =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ), - TAILLE_MIN =SIMP(statut='f',typ='R',defaut= 0.0, fr="Taille minimale d'un coté" ), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO('ELGA'),), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -# - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr -def crea_resu_prod(TYPE_RESU,**args): - if TYPE_RESU == "EVOL_ELAS" : return evol_elas - if TYPE_RESU == "EVOL_NOLI" : return evol_noli - if TYPE_RESU == "EVOL_THER" : return evol_ther - if TYPE_RESU == "MULT_ELAS" : return mult_elas - if TYPE_RESU == "MODE_MECA" : return mode_meca - if TYPE_RESU == "DYNA_TRANS" : return dyna_trans - if TYPE_RESU == "DYNA_HARMO" : return dyna_harmo - if TYPE_RESU == "FOURIER_ELAS" : return fourier_elas - if TYPE_RESU == "FOURIER_THER" : return fourier_ther - if TYPE_RESU == "EVOL_VARC" : return evol_varc - if TYPE_RESU == "EVOL_CHAR" : return evol_char - raise AsException("type de concept resultat non prevu") - -CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f', - UIinfo={"groupes":("Resultats et champs",)}, - fr="Creer ou enrichir une structure de donnees resultat a partir de champs aux noeuds", - - OPERATION =SIMP(statut='o',typ='TXM',into=("AFFE","ASSE","ECLA_PG","PERM_CHAM","PROL_RTZ","PREP_VRC1","PREP_VRC2",), - fr="choix de la fonction a activer",), - - TYPE_RESU =SIMP(statut='o',position='global',typ='TXM', - into=( - # pour bloc AFFE - "MODE_MECA","MULT_ELAS","EVOL_ELAS","EVOL_NOLI","DYNA_HARMO","DYNA_TRANS", - "FOURIER_ELAS","EVOL_THER","EVOL_VARC","EVOL_CHAR","FOURIER_THER" - # pour bloc ASSE - # "EVOL_THER " - # pour bloc ECLA_PG - # "EVOL_ELAS","EVOL_NOLI","EVOL_THER" - # pour bloc PERM_CHAM - # "EVOL_NOLI" - # pour bloc PROL_RTZ - # "EVOL_THER" - # pour bloc PREP_VRC1 - # "EVOL_THER" - # pour bloc PREP_VRC2 - # "EVOL_THER" - ), - ), - - - # Creation par affectation de champs : - #------------------------------------- - b_affe =BLOC(condition = "OPERATION == 'AFFE'", - - b_type_resu =BLOC(condition = "TYPE_RESU == 'EVOL_CHAR'", - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=("PRES", - "FSUR_2D","FSUR_3D","FVOL_2D","FVOL_3D","VITE_VENT")), - ), - - b_evol_char =BLOC(condition = "TYPE_RESU != 'EVOL_CHAR'", - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - ), - - b_mode =BLOC(condition = "au_moins_un(TYPE_RESU, ('MODE_MECA', 'DYNA_HARMO', 'DYNA_TRANS'))", - MATR_RIGI =SIMP(statut='f',typ=matr_asse_depl_r,), - MATR_MASS =SIMP(statut='f',typ=matr_asse_depl_r,), - ), -# -# pour ajouter un comportement dans la SD -# - COMPORTEMENT =C_COMPORTEMENT(), -# -# pour ajouter une charge dans la SD -# - b_evol_elas = BLOC(condition="TYPE_RESU=='EVOL_ELAS'", - EXCIT =FACT(statut='f',max='**', - CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),), - ), - - b_evol_ther = BLOC(condition="TYPE_RESU=='EVOL_THER'", - EXCIT =FACT(statut='f',max='**', - CHARGE =SIMP(statut='o',typ=(char_ther,char_cine_ther)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),), - ), - - b_evol_noli = BLOC(condition="TYPE_RESU=='EVOL_NOLI'", - EXCIT =FACT(statut='f',max='**', - CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", - into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")), - DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - DIRECTION =SIMP(statut='f',typ='R',max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),), - ), - - - AFFE =FACT(statut='o',max='**', - CHAM_GD =SIMP(statut='o',typ=(cham_gd_sdaster)), - MODELE =SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - -# - b_mult_elas =BLOC(condition = "TYPE_RESU == 'MULT_ELAS' ", - NOM_CAS =SIMP(statut='f',typ='TXM' ), - CHARGE =SIMP(statut='f',typ=(char_meca),max='**'), - ), - b_evol =BLOC(condition = "au_moins_un(TYPE_RESU, ('EVOL_ELAS', 'EVOL_NOLI', \ - 'EVOL_THER', 'EVOL_VARC', 'EVOL_CHAR', 'DYNA_TRANS'))", - regles=(UN_PARMI('INST','LIST_INST'),), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - NUME_INIT =SIMP(statut='f',typ='I', val_min=1), - NUME_FIN =SIMP(statut='f',typ='I', val_min=1), - PRECISION =SIMP(statut='f',typ='R',defaut= 0.0 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - ), - b_fourier_elas =BLOC(condition = "(TYPE_RESU == 'FOURIER_ELAS') ", - NUME_MODE =SIMP(statut='f',typ='I'), - TYPE_MODE =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ), - CHARGE =SIMP(statut='f',typ=(char_meca),max='**'), - ), - b_fourier_ther =BLOC(condition = "(TYPE_RESU == 'FOURIER_THER') ", - NUME_MODE =SIMP(statut='f',typ='I'), - TYPE_MODE =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ), - ), - b_mode =BLOC(condition = "TYPE_RESU == 'MODE_MECA'", - NUME_MODE =SIMP(statut='f',typ='I'), - FREQ =SIMP(statut='f',typ='R'), - ), - b_dyna_harmo =BLOC(condition = "TYPE_RESU == 'DYNA_HARMO'", - regles=(UN_PARMI('FREQ','LIST_FREQ',),), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION =SIMP(statut='f',typ='R',defaut=0.0), - ), - ), - ), - - - # Creation par assemblage d'evol_ther : - #----------------------------------------- - b_asse =BLOC(condition = "OPERATION == 'ASSE'", - ASSE =FACT(statut='o',max='**', - RESULTAT =SIMP(statut='o',typ=evol_ther), - TRANSLATION =SIMP(statut='f',typ='R',defaut= 0. ), - ), - ), - - - b_ecla_pg =BLOC(condition = "OPERATION == 'ECLA_PG'", - - ECLA_PG =FACT(statut='o', - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO('ELGA'),), - MODELE_INIT =SIMP(statut='o',typ=modele_sdaster), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - RESU_INIT =SIMP(statut='o',typ=resultat_sdaster), - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - ), - - - b_perm_cham =BLOC(condition = "OPERATION == 'PERM_CHAM'", - - NOM_CHAM =SIMP(statut='f',typ='TXM',into=("DEPL","SIEF_ELGA","VARI_ELGA","STRX_ELGA"), - validators=NoRepeat(),max='**'), - RESU_INIT =SIMP(statut='o',typ=evol_noli), - INST_INIT =SIMP(statut='f',typ='R'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - MAILLAGE_INIT =SIMP(statut='o',typ=maillage_sdaster,), - RESU_FINAL =SIMP(statut='o',typ=evol_noli,), - MAILLAGE_FINAL =SIMP(statut='o',typ=maillage_sdaster,), - PERM_CHAM =FACT(statut='o',max='**', - GROUP_MA_FINAL =SIMP(statut='o',typ=grma), - GROUP_MA_INIT =SIMP(statut='o',typ=grma), - TRAN =SIMP(statut='o',typ='R',min=3,max=3), - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3), - ), - ), - - b_prol_rtz =BLOC(condition = "OPERATION == 'PROL_RTZ'", - - PROL_RTZ =FACT(statut='o', - regles=(EXCLUS('INST','LIST_INST'),), - MAILLAGE_FINAL =SIMP(statut='o',typ=maillage_sdaster,), - TABLE =SIMP(statut='o',typ=table_sdaster,fr="Table issue de post_releve_t"), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU",),), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU",),), - REPERE =SIMP(statut='o',typ='TXM',into=("CYLINDRIQUE",),), - ORIGINE =SIMP(statut='o',typ='R',min=3,max=3), - AXE_Z =SIMP(statut='o',typ='R',min=3,max=3), - ), - ), - - b_prep_vrc1 =BLOC(condition = "OPERATION == 'PREP_VRC1'", - # calculer la temperature dans les couches des coques multicouche a partir d'un champ de fonctions - # de fonctions du temps et de l'espace (epaisseur) - - PREP_VRC1 =FACT(statut='o',max=1, - CHAM_GD =SIMP(statut='o',typ=(cham_gd_sdaster)), # carte de fonctions du temps et de l'epaisseur - MODELE =SIMP(statut='o',typ=modele_sdaster), # modele mecanique contenant les coques multicouche - CARA_ELEM =SIMP(statut='o',typ=cara_elem), # CARA_ELEM pour connaitre EPAIS et COQU_NCOU - INST =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**'), - ), - ), - - b_prep_vrc2 =BLOC(condition = "OPERATION == 'PREP_VRC2'", - # calculer la temperature dans les couches des coques multicouche a partir d'un evol_ther "coque" - # contenant TEMP_MIL/TEMP_INF/TEMP_SUP - - PREP_VRC2 =FACT(statut='o',max=1, - EVOL_THER =SIMP(statut='o',typ=(evol_ther)), # evol_ther de type "coque" (TEMP_MIL/TEMP_INF/TEMP_SUP) - MODELE =SIMP(statut='o',typ=modele_sdaster), # modele mecanique contenant les coques multicouche - CARA_ELEM =SIMP(statut='o',typ=cara_elem), # CARA_ELEM pour connaitre EPAIS et COQU_NCOU - - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - - ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -def crea_table_prod(TYPE_TABLE, **args): - """Typage du concept résultat - """ - if TYPE_TABLE == 'TABLE_FONCTION': - return table_fonction - elif TYPE_TABLE == 'TABLE_CONTENEUR': - return table_container - else: - return table_sdaster - -CREA_TABLE=OPER(nom="CREA_TABLE",op=36,sd_prod=crea_table_prod, - fr="Création d'une table à partir d'une fonction ou de deux listes", - reentrant='f', - UIinfo={"groupes":("Tables",)}, - - regles=(EXCLUS('FONCTION','LISTE','RESU'),), - - LISTE=FACT(statut='f',max='**', - fr="Creation d'une table a partir de listes", - regles=(UN_PARMI('LISTE_I','LISTE_R','LISTE_K')), - PARA =SIMP(statut='o',typ='TXM'), - TYPE_K =SIMP(statut='f',typ='TXM',defaut='K8', - into=('K8','K16','K24')), - NUME_LIGN=SIMP(statut='f',typ='I',max='**'), - LISTE_I =SIMP(statut='f',typ='I',max='**'), - LISTE_R =SIMP(statut='f',typ='R',max='**'), - LISTE_K =SIMP(statut='f',typ='TXM', max='**'), - ), - FONCTION=FACT(statut='f', - fr="Creation d'une table a partir d'une fonction", - FONCTION=SIMP(statut='o',typ=(fonction_c,fonction_sdaster)), - PARA=SIMP(statut='f',typ='TXM',min=2,max=2), - ), - RESU=FACT(statut='f',max=1, - fr="Creation d'une table a partir d'un resultat ou d'un champ", - regles=(UN_PARMI('CHAM_GD','RESULTAT'), - UN_PARMI('TOUT_CMP','NOM_CMP'), - PRESENT_ABSENT('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD',), - AU_MOINS_UN('TOUT','GROUP_MA','GROUP_NO','MAILLE','NOEUD',), - ), - CHAM_GD =SIMP(statut='f',typ=cham_gd_sdaster), - RESULTAT =SIMP(statut='f',typ=(resultat_sdaster) ), - b_resultat =BLOC(condition = "RESULTAT != None", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST', - 'MODE','LIST_MODE','FREQ','LIST_FREQ'),), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',max='**'), - LIST_ORDRE =SIMP(statut='f',typ=(listis_sdaster) ), - INST =SIMP(statut='f',typ='R',max='**'), - LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), - MODE =SIMP(statut='f',typ='I',max='**'), - LIST_MODE =SIMP(statut='f',typ=(listis_sdaster) ), - FREQ =SIMP(statut='f',typ='R',max='**'), - LIST_FREQ =SIMP(statut='f',typ=(listr8_sdaster) ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - b_cham_gd =BLOC(condition = "CHAM_GD != None", - CARA_ELEM =SIMP(statut='f',typ=cara_elem),), - TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - ), - - TYPE_TABLE = SIMP(statut='f', typ='TXM', defaut="TABLE", - into=('TABLE', 'TABLE_FONCTION', 'TABLE_CONTENEUR'),), - - TITRE=SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2007 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr - -DEBUG=PROC(nom="DEBUG",op=137, - UIinfo={"groupes":("Utilitaires",)}, - fr="Permettre de changer entre 2 commandes quelques variables globales de debug", - - SDVERI =SIMP(fr="vérifie la conformité des SD produites par les commandes", - statut='f',typ='TXM',into=('OUI','NON')), - JXVERI =SIMP(fr="vérifie l intégrité de la segmentation mémoire", - statut='f',typ='TXM',into=('OUI','NON')), - JEVEUX =SIMP(fr="force les déchargement sur disque", - statut='f',typ='TXM',into=('OUI','NON')), - IMPR_MACRO =SIMP(fr="affichage des sous-commandes produites par les macros dans le fichier mess", - statut='f',typ='TXM',into=("OUI","NON")), - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr -DEBUT=MACRO(nom="DEBUT", - op=OPS("Cata.ops.build_debut"), - repetable='n', - UIinfo={"groupes":("Gestion du travail",)}, - fr="Ouverture d'une étude. Allocation des ressources mémoire et disque et fichiers", - sd_prod=ops.DEBUT, - - PAR_LOT =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM', - into=("OUI","NON"),defaut="OUI"), - IMPR_MACRO =SIMP(fr="affichage des sous-commandes produites par les macros dans le fichier mess", - statut='f',typ='TXM',into=("OUI","NON"),defaut="NON"), -# FORMAT_HDF =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f', -# typ='TXM',defaut="NON",into=("OUI","NON",) ), - BASE =FACT(fr="définition des paramètres associés aux bases JEVEUX", - statut='f',min=1,max=2, - FICHIER =SIMP(fr="nom de la base",statut='o',typ='TXM', - into=('GLOBALE','VOLATILE'),), - TITRE =SIMP(statut='f',typ='TXM'), - CAS =SIMP(statut='f',typ='TXM'), - NMAX_ENRE =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'), - LONG_ENRE =SIMP(fr="longueur des enregistrements",statut='f',typ='I'), - LONG_REPE =SIMP(fr="longueur du répertoire",statut='f',typ='I'), - ), - - CATALOGUE =FACT(statut='f',min=1,max=10, - FICHIER =SIMP(statut='o',typ='TXM'), - UNITE =SIMP(statut='f',typ='I'), - ), - - CODE =FACT(fr="paramètres réservés aux cas-tests", - statut='f',min=1,max=1, - NIV_PUB_WEB =SIMP(statut='o',typ='TXM',into=('INTERNET','INTRANET')), - VISU_EFICAS =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI'), - ), - - ERREUR =FACT(fr="comportement en cas d'erreur",statut='f',min=1,max=1, - ERREUR_F =SIMP(statut='f',typ='TXM',into=('ABORT','EXCEPTION'),), - ), - - DEBUG =FACT(fr="option de déboggage reservée aux développeurs", - statut='f',min=1,max=1, - JXVERI =SIMP(fr="vérifie l intégrité de la segmentation mémoire", - statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'), - SDVERI =SIMP(fr="vérifie la conformité des SD produites par les commandes", - statut='f',typ='TXM',into=('OUI','NON')), - JEVEUX =SIMP(fr="force les déchargement sur disque", - statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'), - ENVIMA =SIMP(fr="imprime les valeurs définies dans ENVIMA", - statut='f',typ='TXM',into=('TEST',)), - HIST_ETAPE = SIMP(fr="permet de conserver toutes les étapes du jeu de commandes", - statut='f', typ='TXM', into=('OUI', 'NON'), defaut='NON'), - ), - - MESURE_TEMPS =FACT(fr="Pour afficher le temps des principales étapes de calcul", - statut='d',min=1,max=1, - NIVE_DETAIL =SIMP(fr="niveau de détail des impressions", - statut='f',typ='I',into=(0,1,2,3),defaut=1), - # 0 : rien - # 1 : impression en fin de commande des mesures principales - # 2 : impression en fin de commande des mesures principales et secondaires - # 3 : impression des mesures principales et secondaires pour chaque pas de temps - MOYENNE =SIMP(fr="affichage des moyennes et écart-types en parallèle", - statut='f',typ='TXM',into=('OUI','NON',),defaut='NON'), - ), - - MEMOIRE =FACT(fr="mode de gestion mémoire utilisé",statut='d',min=1,max=1, - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut=800.), - TAILLE_GROUP_ELEM =SIMP(statut='f',typ='I',defaut=1000), - ), - - RESERVE_CPU =FACT(fr="reserve de temps pour terminer une execution",statut='d',max=1, - regles=(EXCLUS('VALE','POURCENTAGE'),), -# par défaut VALE fixée à 10. dans le FORTRAN si CODE présent - VALE =SIMP(statut='f',typ='I',val_min=0,), -# par défaut 10% dans le FORTRAN - POURCENTAGE =SIMP(statut='f',typ='R',val_min=0.,val_max=1.0), -# valeur en secondes de la réserve maximum bornée à 900 secondes - BORNE =SIMP(statut='f',typ='I',val_min=0,defaut=900),), - - IGNORE_ALARM = SIMP(statut='f', typ='TXM', max='**', fr="Alarmes que l'utilisateur souhaite délibérément ignorer"), - - LANG = SIMP(statut='f', typ='TXM', - fr="Permet de choisir la langue utilisée pour les messages (si disponible)", - ang="Allows to choose the language used for messages (if available)"), - - INFO = SIMP(statut='f', typ='I', defaut=1, into=(1,2),), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.brie at edf.fr -DEFI_BASE_MODALE=OPER(nom="DEFI_BASE_MODALE",op= 99,sd_prod=mode_meca, - reentrant='f', - fr="Définit la base d'une sous-structuration dynamique ou d'une recombinaison modale", - UIinfo={"groupes":("Matrices et vecteurs","Dynamique",)}, - regles=(UN_PARMI('CLASSIQUE','RITZ','DIAG_MASS','ORTHO_BASE'),), - CLASSIQUE =FACT(statut='f', - INTERF_DYNA =SIMP(statut='o',typ=interf_dyna_clas ), - MODE_MECA =SIMP(statut='o',typ=mode_meca,max='**' ), - NMAX_MODE =SIMP(statut='f',typ='I',defaut=10,max='**' ), - ), - RITZ =FACT(statut='f',max='**', - regles=(UN_PARMI('MODE_MECA','BASE_MODALE','MODE_INTF'),), - MODE_MECA =SIMP(statut='f',typ=mode_meca,max='**' ), - NMAX_MODE =SIMP(statut='f',typ='I',max='**'), - BASE_MODALE =SIMP(statut='f',typ=mode_meca ), - MODE_INTF =SIMP(statut='f',typ=(mode_meca,mult_elas), ), - ), - b_ritz =BLOC(condition = "RITZ != None", - INTERF_DYNA =SIMP(statut='f',typ=interf_dyna_clas ), - NUME_REF =SIMP(statut='f',typ=nume_ddl_sdaster ), - ORTHO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"), - fr="Reorthonormalisation de la base de Ritz" ), - LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), - b_ortho =BLOC(condition = "ORTHO == 'OUI' ", - MATRICE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ) ), - ), - ), - DIAG_MASS =FACT(statut='f',max='**', - MODE_MECA =SIMP(statut='o',typ=mode_meca,max='**' ), - MODE_STAT =SIMP(statut='o',typ=mode_meca ), - ), - ORTHO_BASE =FACT(statut='f',max='**', - BASE =SIMP(statut='o',typ=(mode_meca,mult_elas)), - MATRICE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ) ), - ), - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('DEFI_BASE_MODALE'), -#------------------------------------------------------------------- - - - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: sylvie.michel-ponnelle at edf.fr - - -DEFI_CABLE_BP=MACRO(nom="DEFI_CABLE_BP", - op=OPS('Macro.defi_cable_bp_ops.defi_cable_bp_ops'), - sd_prod=cabl_precont, - fr="Calculer les profils initiaux de tension le long des cables " \ - "de précontrainte d'une structure en béton", - reentrant='n',UIinfo={"groupes":("Modélisation",)}, - MODELE =SIMP(statut='o',typ=modele_sdaster ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CARA_ELEM =SIMP(statut='o',typ=cara_elem ), - GROUP_MA_BETON =SIMP(statut='o',typ=grma,max='**'), - DEFI_CABLE =FACT(statut='o',max='**', - regles=(UN_PARMI('MAILLE','GROUP_MA'), - UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),), - MAILLE =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma), - NOEUD_ANCRAGE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=2), - GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), - TENSION_CT =SIMP(statut='f',typ=table_sdaster), - ), - ADHERENT =SIMP(statut='o',typ='TXM',defaut='OUI',into=("OUI","NON") ), - TYPE_ANCRAGE =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ), - TENSION_INIT =SIMP(statut='o',typ='R',val_min=0.E+0 ), - RECUL_ANCRAGE =SIMP(statut='o',typ='R',val_min=0.E+0 ), - b_adherent=BLOC(condition="(ADHERENT=='OUI')", - TYPE_RELAX =SIMP(statut='o',typ='TXM',into=("SANS","BPEL","ETCC_DIRECT","ETCC_REPRISE"),defaut="SANS",), - b_relax_bpel =BLOC(condition = "TYPE_RELAX =='BPEL'", - R_J =SIMP(statut='o',typ='R',val_min=0.E+0), - ), - b_relax_etcc =BLOC(condition = "((TYPE_RELAX=='ETCC_DIRECT') or (TYPE_RELAX=='ETCC_REPRISE'))", - NBH_RELAX =SIMP(statut='o',typ='R',val_min=0.E+0), - ), -# PERT_ELAS =SIMP(statut='o',typ='TXM',into=("OUI","NON"),defaut="NON"), -# b_pert_elas =BLOC(condition = "PERT_ELAS=='OUI'", -# EP_BETON = SIMP(statut='o',typ='R',val_min=0.E+0), -# ESP_CABLE = SIMP(statut='o',typ='R',val_min=0.E+0) -# ) , - CONE =FACT(statut='f', - RAYON =SIMP(statut='o',typ='R',val_min=0.E+0 ), - LONGUEUR =SIMP(statut='o',typ='R',val_min=0.E+0 ), - PRESENT =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ), - ), - ), - b_non_adherent=BLOC(condition="(ADHERENT=='NON')", - TYPE_RELAX =SIMP(statut='c',typ='TXM',into=("SANS",),defaut="SANS",), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: sylvie.michel-ponnelle at edf.fr - -DEFI_CABLE_OP=OPER(nom="DEFI_CABLE_OP",op= 180,sd_prod=cabl_precont,reentrant='n', - fr="Définit les profils initiaux de tension d'une structure en béton le long des cables de précontrainte" - +" (utilisée par la macro DEFI_CABLE_BP)", - UIinfo={"groupes":("Modélisation",)}, - MODELE =SIMP(statut='o',typ=modele_sdaster ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CARA_ELEM =SIMP(statut='o',typ=cara_elem ), - GROUP_MA_BETON =SIMP(statut='o',typ=grma,max='**'), - DEFI_CABLE =FACT(statut='o',max='**', - regles=(UN_PARMI('MAILLE','GROUP_MA'), - UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),), - MAILLE =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma), - NOEUD_ANCRAGE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=2), - GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), - GROUP_NO_FUT =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), - TENSION_CT =SIMP(statut='f',typ=table_sdaster), - ), - ADHERENT =SIMP(statut='o',typ='TXM',defaut='OUI',into=("OUI","NON") ), - TYPE_ANCRAGE =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ), - TENSION_INIT =SIMP(statut='o',typ='R',val_min=0.E+0 ), - RECUL_ANCRAGE =SIMP(statut='o',typ='R',val_min=0.E+0 ), - TYPE_RELAX =SIMP(statut='o',typ='TXM',into=("SANS","BPEL","ETCC_DIRECT","ETCC_REPRISE"),defaut="SANS",), - R_J =SIMP(statut='f',typ='R',val_min=0.E+0), - NBH_RELAX =SIMP(statut='f',typ='R',val_min=0.E+0), -# PERT_ELAS =SIMP(statut='o',typ='TXM',into=("OUI","NON"),defaut="NON"), -# EP_BETON =SIMP(statut='f',typ='R',val_min=0.E+0), -# ESP_CABLE =SIMP(statut='f',typ='R',val_min=0.E+0), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - CONE =FACT(statut='f',min=0, - RAYON =SIMP(statut='o',typ='R',val_min=0.E+0 ), - LONGUEUR =SIMP(statut='o',typ='R',val_min=0.E+0, defaut=0.E+0 ), - PRESENT =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jean-michel.proix at edf.fr -DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster, - fr="Définir le comportement d'un monocristal, d'un polycristal ou de groupes de fibres", - reentrant='n', - UIinfo={"groupes":("Modélisation",)}, -# on exclut MULTIFBRE de MONOCRISTAL ou POLYCRISTAL car la structure de données n'est pas organisée pareil pour ces cas - regles=(UN_PARMI('MONOCRISTAL','POLYCRISTAL','MULTIFIBRE'), - PRESENT_PRESENT('MULTIFIBRE','GEOM_FIBRE','MATER_SECT'), - ), - MONOCRISTAL =FACT(statut='f', max=5, - MATER =SIMP(statut='o', typ=mater_sdaster, max=1), - ECOULEMENT =SIMP(statut='o', typ='TXM', max=1, - into=('MONO_VISC1', 'MONO_VISC2', 'MONO_DD_KR', 'MONO_DD_CFC', 'MONO_DD_CFC_IRRA', - 'MONO_DD_CC', 'MONO_DD_CC_IRRA', 'MONO_DD_FAT',), - fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écoulement viscoplastique"), - ELAS =SIMP(statut='f', typ='TXM', max=1, - fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le comportement élastique (un et un seul)"), - b_non_dd =BLOC(condition="ECOULEMENT=='MONO_VISC1' or ECOULEMENT=='MONO_VISC2'", - ECRO_ISOT =SIMP(statut='o', typ='TXM', max=1, - fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage isotrope"), - ECRO_CINE =SIMP(statut='o', typ='TXM', max=1, - fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage cinématique"), - FAMI_SYST_GLIS =SIMP(statut='f',typ='TXM', max=1, - into=('OCTAEDRIQUE','BCC24','CUBIQUE1','CUBIQUE2','ZIRCONIUM','UNIAXIAL','UTILISATEUR'), - ), - b_util =BLOC(condition="FAMI_SYST_GLIS=='UTILISATEUR' ", - TABL_SYST_GLIS =SIMP(statut='f', typ=table_sdaster, max=1,), - ), - ), - b_dd_kr =BLOC(condition="ECOULEMENT=='MONO_DD_KR' ", - FAMI_SYST_GLIS =SIMP(statut='f',typ='TXM', max=1, - into=('BCC24','UTILISATEUR'),defaut=('BCC24',),), - b_util =BLOC(condition="FAMI_SYST_GLIS=='UTILISATEUR' ", - TABL_SYST_GLIS =SIMP(statut='f', typ=table_sdaster, max=1,), - ), - ), - b_ecp_cfc =BLOC(condition="ECOULEMENT=='MONO_DD_FAT' ", - FAMI_SYST_GLIS =SIMP(statut='f',typ='TXM', max=1, - into=('OCTAEDRIQUE','UTILISATEUR',),defaut=('OCTAEDRIQUE',),), - ), - b_dd_cfc =BLOC(condition="ECOULEMENT=='MONO_DD_CFC' or ECOULEMENT=='MONO_DD_CFC_IRRA'", - FAMI_SYST_GLIS =SIMP(statut='f',typ='TXM', max=1, - into=('OCTAEDRIQUE','UTILISATEUR',),defaut=('OCTAEDRIQUE',),), - b_util =BLOC(condition="FAMI_SYST_GLIS=='UTILISATEUR' ", - TABL_SYST_GLIS =SIMP(statut='f', typ=table_sdaster, max=1,), - ), - ), - b_dd_cc =BLOC(condition="ECOULEMENT=='MONO_DD_CC' or ECOULEMENT=='MONO_DD_CC_IRRA' ", - FAMI_SYST_GLIS =SIMP(statut='f',typ='TXM', max=1, - into=('CUBIQUE1','UTILISATEUR',),defaut=('CUBIQUE1',),), - b_util =BLOC(condition="FAMI_SYST_GLIS=='UTILISATEUR' ", - TABL_SYST_GLIS =SIMP(statut='f', typ=table_sdaster, max=1,), - ), - ), - ), - - MATR_INTER =SIMP(statut='f', typ=table_sdaster, max=1,), - - ROTA_RESEAU =SIMP(statut='f', typ='TXM', max=1,into=('NON','POST','CALC'),defaut='NON', - fr="rotation de reseau : NON, POST, CALC"), - - POLYCRISTAL =FACT(statut='f', max='**', - regles=(UN_PARMI('ANGL_REP','ANGL_EULER'),), - MONOCRISTAL =SIMP(statut='o', typ=compor_sdaster, max=1), - FRAC_VOL =SIMP(statut='o', typ='R', max=1,fr="fraction volumique de la phase correspondant au monocristal"), - ANGL_REP =SIMP(statut='f',typ='R',max=3,fr="orientation du monocristal : 3 angles nautiques en degrés"), - ANGL_EULER=SIMP(statut='f',typ='R',max=3,fr="orientation du monocristal : 3 angles d'Euler en degrés"), - ), - - - b_poly =BLOC( condition = "POLYCRISTAL!='None'", - LOCALISATION =SIMP(statut='f', typ='TXM', max=1, into=('BZ', 'BETA', 'RL',), - fr="Donner le nom de la règle de localisation"), - - b_beta =BLOC( condition = "LOCALISATION=='BETA'", - DL =SIMP(statut='o',typ='R',max=1), - DA =SIMP(statut='o',typ='R',max=1), - ), - ), - -##################################################################################### - GEOM_FIBRE = SIMP(statut='f',max=1,typ=gfibre_sdaster, - fr="Donner le nom du concept regroupant tous les groupes de fibres (issu de DEFI_GEOM_FIBRE)"), - MATER_SECT = SIMP(statut='f',max=1,typ=mater_sdaster, - fr="Donner le nom du materiau pour les caracteristiques homogeneisees sur la section"), - MULTIFIBRE = FACT(statut='f',max='**', - GROUP_FIBRE =SIMP(statut='o', typ='TXM', max='**'), - MATER =SIMP(statut='o', typ=mater_sdaster, max=1, - fr="Donner le nom du materiau pour le groupe de fibres"), - RELATION =SIMP(statut='f', typ='TXM', max=1,defaut="ELAS",into=C_RELATION('DEFI_COMPOR'), - fr="Donner le nom de la relation incrementale pour le groupe de fibres", - ), - RELATION_KIT =SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), - into=( -# MECA KIT_DDI - "VMIS_ISOT_TRAC", - "VMIS_ISOT_LINE", - "VMIS_ISOT_PUIS", - "GRANGER_FP", - "GRANGER_FP_INDT", - "GRANGER_FP_V", - "BETON_UMLV_FP", - "ROUSS_PR", - "BETON_DOUBLE_DP", - ),), -# on pourrait ajouter TOUT_GROUP_FIBRE - - ) ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: xavier.desroches at edf.fr -DEFI_COMPOSITE=OPER(nom="DEFI_COMPOSITE",op=56,sd_prod=mater_sdaster,reentrant='n', - UIinfo={"groupes":("Modélisation",)}, - fr="Déterminer les caractéristiques matériaux homogénéisées d'une coque multicouche à partir" - +" des caractéristiques de chaque couche", - COUCHE =FACT(statut='o',max='**', - EPAIS =SIMP(statut='o',typ='R',val_min=0.E+0 ), - MATER =SIMP(statut='o',typ=(mater_sdaster) ), - ORIENTATION =SIMP(statut='f',typ='R',defaut= 0.E+0, - val_min=-90.E+0,val_max=90.E+0 ), - ), - IMPRESSION =FACT(statut='f', - UNITE =SIMP(statut='f',typ='I',defaut=8), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -DEFI_CONSTANTE=OPER(nom="DEFI_CONSTANTE",op= 2,sd_prod=fonction_sdaster, - fr="Définir la valeur d'une grandeur invariante", - reentrant='n', - UIinfo={"groupes":("Fonctions",)}, - NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"), - VALE =SIMP(statut='o',typ='R',), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -# -DEFI_CONTACT=OPER(nom = "DEFI_CONTACT", - op = 30, - sd_prod = char_contact, - fr = "Définit les zones soumises à des conditions de contact unilatéral avec ou sans frottement", - #en = "Allows the definition of contact surfaces as well as unilateral conditions", - reentrant = 'n', - UIinfo = {"groupes":("Modélisation",)}, - -# MODELE - - MODELE =SIMP(statut='o',typ=modele_sdaster,), - INFO =SIMP(statut='f',typ='I',into=(1,2),), - -# FORMULATION (UNIQUE PAR OCCURRENCE DE DEFI_CONTACT) - - FORMULATION =SIMP(statut='o', - position='global', - typ='TXM', - fr="Choix d'une formulation de contact ou de liaisons unilatérales", - defaut="DISCRETE", - into=("DISCRETE","CONTINUE","XFEM","LIAISON_UNIL",),), - -# PARAMETRE GENERAL : FROTTEMENT - - FROTTEMENT =SIMP(statut='f', - position='global', - typ='TXM', - fr="Choix d'un modèle de frottement (uniquement pour les formulations de contact)", - defaut="SANS", - into=("COULOMB","SANS",)), - -### PARAMETRES GENERAUX (UNIQUEMENT POUR LE CONTACT MAILLE, NE DEPENDENT PAS DE LA ZONE DE CONTACT) - - b_contact_mail=BLOC(condition = "((FORMULATION == 'CONTINUE') or (FORMULATION == 'DISCRETE'))", -# ARRET DU CALCUL POUR LE MODE SANS RESOLUTION DU CONTACT - STOP_INTERP = SIMP(statut='f', - typ='TXM', - fr="Arrête le calcul dès qu'une interpénétration est détectée en mode RESOLUTION='NON'", - defaut="NON", - into=("OUI","NON")), -# LISSAGE DES NORMALES PAR MOYENNATION AUX NOEUDS - LISSAGE = SIMP(statut='f', - typ='TXM', - fr="Lissage des normales par moyennation aux noeuds", - defaut="NON", - into=("OUI","NON")), -# VERIFICATION DE L'ORIENTATION ET DE LA COHERENCE DES NORMALES - VERI_NORM =SIMP(statut='f', - typ='TXM', - fr="Vérification de l'orientation (sortante) des normales aux surfaces", - defaut="OUI", - into=("OUI","NON"),), - ), - -### PARAMETRES GENERAUX (UNIQUEMENT POUR LE CONTACT, NE DEPENDENT PAS DE LA ZONE DE CONTACT) - - b_contact=BLOC(condition = "FORMULATION != 'LIAISON_UNIL' ", - -# PARAMETRE GENERAL : BOUCLE DE GEOMETRIE - Cas discret - - b_bouc_geom_maild=BLOC(condition = "FORMULATION == 'DISCRETE'", - ALGO_RESO_GEOM = SIMP(statut='f', - typ='TXM', - into=("POINT_FIXE",), - defaut="POINT_FIXE"), - REAC_GEOM = SIMP(statut='f', - typ='TXM', - into=("AUTOMATIQUE","CONTROLE","SANS",), - defaut="AUTOMATIQUE"), - b_automatique = BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ", - ITER_GEOM_MAXI = SIMP(statut='f',typ='I',defaut=10), - RESI_GEOM = SIMP(statut='f',typ='R',defaut=0.01)), - b_controle = BLOC(condition = "REAC_GEOM == 'CONTROLE' ", - NB_ITER_GEOM = SIMP(statut='f',typ='I',defaut = 2)), - )), - -# PARAMETRE GENERAL : BOUCLE DE GEOMETRIE - Cas continu - - b_bouc_geom_mailc=BLOC(condition = "FORMULATION == 'CONTINUE'", - ALGO_RESO_GEOM = SIMP(statut='f', - typ='TXM', - into=("POINT_FIXE","NEWTON",), - defaut="POINT_FIXE"), - b_algo_reso_geomNE = BLOC(condition = "ALGO_RESO_GEOM=='NEWTON'", - RESI_GEOM = SIMP(statut='f',typ='R',defaut=0.000001),), - - b_algo_reso_geomPF = BLOC(condition = "ALGO_RESO_GEOM=='POINT_FIXE'", - REAC_GEOM = SIMP(statut='f', - typ='TXM', - into=("AUTOMATIQUE","CONTROLE","SANS",), - defaut="AUTOMATIQUE"), - b_automatique = BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ", - ITER_GEOM_MAXI = SIMP(statut='f',typ='I',defaut=10), - RESI_GEOM = SIMP(statut='f',typ='R',defaut=0.01)), - b_controle = BLOC(condition = "REAC_GEOM == 'CONTROLE' ", - NB_ITER_GEOM = SIMP(statut='f',typ='I',defaut = 2))) - ), - -# PARAMETRE GENERAL : BOUCLE DE GEOMETRIE - Cas XFEM - - b_bouc_geom_xfem=BLOC(condition = "FORMULATION == 'XFEM' ", - ALGO_RESO_GEOM = SIMP(statut='f', - typ='TXM', - into=("POINT_FIXE",), - defaut="POINT_FIXE"), - REAC_GEOM =SIMP(statut='f', - typ='TXM', - into=("AUTOMATIQUE","CONTROLE","SANS",), - defaut="SANS", - ), - b_automatique = BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ", - ITER_GEOM_MAXI = SIMP(statut='f',typ='I',defaut=10), - RESI_GEOM = SIMP(statut='f',typ='R',defaut=0.0001), - ), - b_controle = BLOC(condition = "REAC_GEOM == 'CONTROLE' ", - NB_ITER_GEOM = SIMP(statut='f',typ='I',defaut = 2), - ), - ), - - -# PARAMETRE GENERAL : BOUCLE DE CONTACT - - b_bouc_cont_disc=BLOC(condition = "FORMULATION == 'DISCRETE' ", - ITER_CONT_MULT = SIMP(statut='f',typ='I',defaut = 4), - ), - - - b_bouc_cont_cont=BLOC(condition = "FORMULATION == 'CONTINUE' ", - ALGO_RESO_CONT = SIMP(statut='f',typ='TXM',defaut="NEWTON", - into=("POINT_FIXE","NEWTON")), - b_algo_reso_contPF = BLOC(condition = "ALGO_RESO_CONT=='POINT_FIXE'", - ITER_CONT_TYPE = SIMP(statut='f',typ='TXM',defaut="MAXI", - into=("MULT","MAXI")), - b_bouc_cont_mult = BLOC(condition = "ITER_CONT_TYPE=='MULT'", - ITER_CONT_MULT = SIMP(statut='f',typ='I',defaut = 4), - ), - b_bouc_cont_maxi = BLOC(condition = "ITER_CONT_TYPE=='MAXI'", - ITER_CONT_MAXI = SIMP(statut='f',typ='I',defaut = 30), - ), - ) - ), - - b_bouc_cont_xfem=BLOC(condition = "FORMULATION == 'XFEM' ", - ITER_CONT_TYPE= SIMP(statut='f',typ='TXM',defaut="MAXI", - into=("MULT","MAXI")), - b_bouc_cont_mult = BLOC(condition = "ITER_CONT_TYPE=='MULT'", - ITER_CONT_MULT = SIMP(statut='f',typ='I',defaut = 4), - ), - b_bouc_cont_maxi = BLOC(condition = "ITER_CONT_TYPE=='MAXI'", - ITER_CONT_MAXI = SIMP(statut='f',typ='I',defaut = 30), - ), - ), - -# PARAMETRE GENERAL : BOUCLE DE FROTTEMENT - Cas continu - - b_bouc_frot_cont= BLOC(condition = "FROTTEMENT=='COULOMB' and FORMULATION == 'CONTINUE' ", - ALGO_RESO_FROT = SIMP(statut='f', - typ='TXM', - into=("POINT_FIXE","NEWTON",), - defaut="NEWTON"), - b_algo_reso_frotPF = BLOC(condition = "ALGO_RESO_FROT=='POINT_FIXE'", - ITER_FROT_MAXI = SIMP(statut='f',typ='I',defaut=10), - RESI_FROT = SIMP(statut='f',typ='R',defaut=0.0001), - ), - b_algo_reso_frotNE = BLOC(condition = "ALGO_RESO_FROT=='NEWTON'", - - RESI_FROT = SIMP(statut='f',typ='R',defaut=0.0001), - ADAPT_COEF = SIMP(statut='f', - typ='TXM', - defaut="NON", - into=("OUI","NON")), - ), - ), - - -# PARAMETRE GENERAL : BOUCLE DE FROTTEMENT - Cas XFEM - - b_bouc_frot_xfem= BLOC(condition = "FROTTEMENT=='COULOMB' and FORMULATION == 'XFEM' ", - ITER_FROT_MAXI = SIMP(statut='f',typ='I',defaut=10), - RESI_FROT = SIMP(statut='f',typ='R',defaut=0.0001), - ), - -# PARAMETRES GENERAUX : METHODES DISCRETES - - b_para_discret = BLOC(condition = "FORMULATION == 'DISCRETE' ", -# ## METHODES DE DUALISATION ## - STOP_SINGULIER= SIMP(statut='f', - typ='TXM', - fr="Tient compte de la singularité de la matrice de contact", - defaut="OUI", - into=("OUI","NON"),), - NB_RESOL = SIMP(statut='f', - typ='I', - fr="Nombre de résolutions simultanées pour la construction du complément de Schur", - defaut=10,), -# ## GCP ## - RESI_ABSO = SIMP(statut='f', - typ='R', - fr="Critère de convergence (niveau d'interpénétration autorisé pour 'GCP')",), - ITER_GCP_MAXI = SIMP(statut='f', - typ='I', - fr="Nombre d'itérations maximal ('GCP')", - defaut=0,), - RECH_LINEAIRE = SIMP(statut='f', - typ='TXM', - fr="Autorisation de sortie du domaine admissible lors de la recherche linéaire", - defaut="ADMISSIBLE", - into=("ADMISSIBLE","NON_ADMISSIBLE"),), - PRE_COND = SIMP(statut='f', - typ='TXM', - fr="Choix d'un préconditionneur (accélère la convergence de 'GCP')", - defaut="SANS", - into=("DIRICHLET","SANS"),), - b_dirichlet = BLOC (condition = "PRE_COND == 'DIRICHLET'", - COEF_RESI = SIMP(statut='f', - typ='R', - fr="Activation du préconditionneur quand le résidu a été divisé par COEF_RESI", - defaut = -1.0,), - ITER_PRE_MAXI = SIMP(statut='f', - typ='I', - fr="Nombre d'itérations maximal pour le préconditionneur ('GCP')", - defaut=0,), - ), - ), - -## AFFECTATIONS (ZONES PAR ZONES) - -# AFFECTATION - CAS LIAISON_UNILATERALE - - b_affe_unil = BLOC(condition = "FORMULATION == 'LIAISON_UNIL'", - ZONE=FACT(statut='o', - max='**', -# -- Liaison unilatérale - regles=(UN_PARMI('GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), - GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), -# - NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), - COEF_IMPO =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),), - COEF_MULT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'), -# -- Incompatibilité avec CL - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), - - - ), - ), - -# AFFECTATION - CAS DISCRET - - b_affe_discret = BLOC(condition = "FORMULATION == 'DISCRETE'", - ZONE=FACT(statut='o', - max='**', -# -- Appariement - APPARIEMENT =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL", - into=("NODAL","MAIT_ESCL"),), -# - regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'), - UN_PARMI('GROUP_MA_MAIT','MAILLE_MAIT'),), - GROUP_MA_MAIT =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max=1), - MAILLE_MAIT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_ESCL =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max=1), - MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), -# - NORMALE =SIMP(statut='f',typ='TXM',defaut="MAIT", - into=("MAIT","MAIT_ESCL","ESCL"),), -# - VECT_MAIT =SIMP(statut='f',typ='TXM',defaut="AUTO", - into=("AUTO","FIXE","VECT_Y")), - - b_nmait_fixe=BLOC(condition = "VECT_MAIT == 'FIXE'", - MAIT_FIXE =SIMP(statut='o',typ='R',min=3,max=3), - ), - - b_nmait_vecty=BLOC(condition = "VECT_MAIT == 'VECT_Y'", - MAIT_VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), - ), -# - VECT_ESCL =SIMP(statut='f',typ='TXM',defaut="AUTO", - into=("AUTO","FIXE","VECT_Y")), - - b_nescl_fixe=BLOC(condition = "VECT_ESCL == 'FIXE'", - ESCL_FIXE =SIMP(statut='o',typ='R',min=3,max=3), - ), - - b_nescl_vecty=BLOC(condition = "VECT_ESCL == 'VECT_Y'", - ESCL_VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), - ), -# - TYPE_APPA =SIMP(statut='f',typ='TXM',defaut="PROCHE", - into =("PROCHE","FIXE")), - - b_appa_fixe =BLOC(condition = "TYPE_APPA == 'FIXE'", - DIRE_APPA =SIMP(statut='f',typ='R',min=3,max=3), - ), -# - DIST_POUTRE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")), - DIST_COQUE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")), - b_cara=BLOC(condition = "DIST_POUTRE == 'OUI' or DIST_COQUE == 'OUI'", - CARA_ELEM =SIMP(statut='o',typ=(cara_elem) ), - ), - - DIST_MAIT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - DIST_ESCL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# - TOLE_APPA =SIMP(statut='f',typ='R' ,defaut=-1.0), - TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), -# -- Incompatibilité avec CL - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), -# -- Mode sans calcul - RESOLUTION =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - b_verif=BLOC(condition = "RESOLUTION == 'NON' ", - TOLE_INTERP = SIMP(statut='f',typ='R',defaut = 0.), - ), -# -- Résolution - ALGO_CONT =SIMP(statut='o',typ='TXM',defaut="CONTRAINTE", - into=("CONTRAINTE","LAGRANGIEN","PENALISATION","GCP"),), - - b_active=BLOC(condition = "ALGO_CONT == 'CONTRAINTE' ", - fr="Paramètres de la méthode des contraintes actives (contact uniquement)", - GLISSIERE=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - b_glissiere=BLOC(condition = "GLISSIERE == 'OUI' ", - ALARME_JEU =SIMP(statut='f',typ='R',defaut=0.), - ), - ), -# - b_penal_contact=BLOC(condition = "ALGO_CONT == 'PENALISATION' ", - fr="Paramètres de la méthode pénalisée (contact)", - E_N=SIMP(statut='o',typ='R'), - ), -# - b_frottement=BLOC(condition = "FROTTEMENT == 'COULOMB' ", - fr="Paramètres du frottement de Coulomb", - COULOMB =SIMP(statut='o',typ='R',), - COEF_MATR_FROT=SIMP(statut='f',typ='R',defaut=0.E+0), - ALGO_FROT =SIMP(statut='o',typ='TXM',defaut="PENALISATION", - into=("PENALISATION","LAGRANGIEN"),), -# - b_penal_frot=BLOC(condition = "ALGO_FROT == 'PENALISATION' ", - fr="Paramètres de la méthode pénalisée (frottement)", - E_T=SIMP(statut='o',typ='R'), - ), - ), - ), #fin mot-clé facteur ZONE - ), #fin bloc b_affe_discret - -# AFFECTATION - CAS CONTINUE - - b_affe_continue = BLOC(condition = "FORMULATION == 'CONTINUE'", - ZONE=FACT(statut='o', - max='**', -# -- Appariement - APPARIEMENT =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL", - into=("MAIT_ESCL",)), - - -# - regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'), - UN_PARMI('GROUP_MA_MAIT','MAILLE_MAIT'),), - GROUP_MA_MAIT =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max=1), - MAILLE_MAIT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_ESCL =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max=1), - MAILLE_ESCL =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), -# - NORMALE =SIMP(statut='f',typ='TXM',defaut="MAIT", - into=("MAIT","MAIT_ESCL","ESCL"),), -# - VECT_MAIT =SIMP(statut='f',typ='TXM',defaut="AUTO", - into=("AUTO","FIXE","VECT_Y")), - - b_nmait_fixe=BLOC(condition = "VECT_MAIT == 'FIXE'", - MAIT_FIXE =SIMP(statut='o',typ='R',min=3,max=3), - ), - - b_nmait_vecty=BLOC(condition = "VECT_MAIT == 'VECT_Y'", - MAIT_VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), - ), -# - VECT_ESCL =SIMP(statut='f',typ='TXM',defaut="AUTO", - into=("AUTO","FIXE","VECT_Y")), - - b_nescl_fixe=BLOC(condition = "VECT_ESCL == 'FIXE'", - ESCL_FIXE =SIMP(statut='o',typ='R',min=3,max=3), - ), - - b_nescl_vecty=BLOC(condition = "VECT_ESCL == 'VECT_Y'", - ESCL_VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), - ), -# - TYPE_APPA =SIMP(statut='f',typ='TXM',defaut="PROCHE", - into =("PROCHE","FIXE")), - - b_appa_fixe=BLOC(condition = "TYPE_APPA == 'FIXE'", - DIRE_APPA =SIMP(statut='f',typ='R',min=3,max=3), - ), -# - DIST_POUTRE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")), - DIST_COQUE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")), - b_cara=BLOC(condition = "DIST_POUTRE == 'OUI' or DIST_COQUE == 'OUI'", - CARA_ELEM =SIMP(statut='o',typ=(cara_elem) ), - ), - - DIST_MAIT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - DIST_ESCL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# - TOLE_APPA =SIMP(statut='f',typ='R' ,defaut=-1.0), - TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), -# -- Incompatibilité avec CL - SANS_NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'), - SANS_MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - SANS_GROUP_MA =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'), -# -- Mode sans calcul - RESOLUTION =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - b_verif=BLOC(condition = "RESOLUTION == 'NON' ", - TOLE_INTERP = SIMP(statut='f',typ='R',defaut = 0.), - ), -# -- Fonctionnalités spécifiques 'CONTINUE' - - INTEGRATION =SIMP(statut='f',typ='TXM',defaut="AUTO", - into=("AUTO","GAUSS","SIMPSON","NCOTES",),), - b_gauss =BLOC(condition = "INTEGRATION == 'GAUSS' ", - fr="Degré du polynôme de Legendre donnant les points de Gauss", - ORDRE_INT = SIMP(statut='f',typ='I',defaut=3,val_min=1,val_max=6), - ), - b_simpson =BLOC(condition = "INTEGRATION == 'SIMPSON' ", - fr="Nombre de subdivisions du domaine", - ORDRE_INT = SIMP(statut='f',typ='I',defaut=1,val_min=1,val_max=4), - ), - b_ncotes =BLOC(condition = "INTEGRATION == 'NCOTES' ", - fr="Degré du polynôme interpolateur", - ORDRE_INT = SIMP(statut='f',typ='I',defaut=3,val_min=3,val_max=8), - ), -# - CONTACT_INIT =SIMP(statut='f',typ='TXM',defaut="INTERPENETRE", - into=("OUI","INTERPENETRE","NON"),), -# - GLISSIERE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),), -# - ALGO_CONT =SIMP(statut='f',typ='TXM',defaut="STANDARD", - into=("STANDARD","PENALISATION"),), - - b_cont_std=BLOC(condition = "ALGO_CONT == 'STANDARD' ", - fr="Paramètres de la formulation Lagrangienne", - COEF_CONT = SIMP(statut='f',typ='R',defaut=100.E+0), - ), - b_cont_pena=BLOC(condition = "ALGO_CONT == 'PENALISATION' ", - fr="Paramètres de la méthode pénalisée", - COEF_PENA_CONT =SIMP(statut='o',typ='R'), - ), -# - b_frottement=BLOC(condition = "FROTTEMENT == 'COULOMB' ", - fr="Paramètres du frottement de Coulomb", - COULOMB = SIMP(statut='o',typ='R',), - SEUIL_INIT = SIMP(statut='f',typ='R',defaut=0.E+0), -# - regles=(EXCLUS('SANS_NOEUD_FR','SANS_GROUP_NO_FR'),), - SANS_NOEUD_FR =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO_FR =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - b_sans_group_no_frot=BLOC(condition = " SANS_GROUP_NO_FR != None or \ - SANS_NOEUD_FR != None ", - fr="Direction de frottement à exclure (uniquement dans le cas 3D)", - DIRE_EXCL_FROT=SIMP(statut='f',typ='R',min=3,max=3), - ), - - ALGO_FROT =SIMP(statut='f',typ='TXM',defaut="STANDARD", - into=("STANDARD","PENALISATION"),), - b_frot_std =BLOC(condition = "ALGO_FROT == 'STANDARD' ", - fr="Paramètres de la formulation Lagrangienne", - COEF_FROT =SIMP(statut='f',typ='R',defaut=100.E+0), - ), - - b_frot_pena =BLOC(condition = "ALGO_FROT == 'PENALISATION' ", - fr="Paramètres de la méthode pénalisée", - COEF_PENA_FROT =SIMP(statut='o',typ='R'), - ), - - ), #fin bloc b_frottement - ), #fin mot-clé facteur ZONE - ), #fin bloc b_affe_continue - - -# AFFECTATION - CAS XFEM - - b_affe_xfem =BLOC(condition = "FORMULATION == 'XFEM'", - ZONE=FACT(statut='o', - max='**', -# -- Fissure - FISS_MAIT = SIMP(statut='o',typ=fiss_xfem,max=1), - TOLE_PROJ_EXT =SIMP(statut='f',typ='R' ,defaut=0.50), - -# -- Fonctionnalités spécifiques 'XFEM' - INTEGRATION = SIMP(statut='f', - typ='TXM', - defaut="GAUSS", - - into=("NOEUD","GAUSS","SIMPSON","NCOTES",),), - b_gauss =BLOC(condition = "INTEGRATION == 'GAUSS' ", - fr="Dégré du polynôme de Legendre donnant les points de Gauss", - ORDRE_INT = SIMP(statut='f',typ='I',defaut=6,val_min=1,val_max=6), - ), - b_simpson =BLOC(condition = "INTEGRATION == 'SIMPSON' ", - fr="Nombre de subdivisions du domaine", - ORDRE_INT = SIMP(statut='f',typ='I',defaut=1,val_min=1,val_max=4), - ), - b_ncotes =BLOC(condition = "INTEGRATION == 'NCOTES' ", - fr="Dégré du polynôme interpolateur", - ORDRE_INT = SIMP(statut='f',typ='I',defaut=3,val_min=3,val_max=8), - ), - - ALGO_LAGR = SIMP(statut='f',typ='TXM',defaut="VERSION1", - into=("NON","VERSION1","VERSION2"),), - - ALGO_CONT = SIMP(statut='f',typ='TXM',defaut="STANDARD", - into=("STANDARD","PENALISATION","CZM"),), - - b_cont_nczm =BLOC(condition = "ALGO_CONT!='CZM'", - CONTACT_INIT = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),), - GLISSIERE = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),), - ), - - b_cont_std=BLOC(condition = "ALGO_CONT == 'STANDARD'", - fr="Parametres de la formulation Lagrangienne", - COEF_CONT =SIMP(statut='f',typ='R',defaut=100.E+0), - ), - - b_cont_pen=BLOC(condition = "ALGO_CONT == 'PENALISATION' ", - fr="Paramètre de la méthode pénalisée", - COEF_PENA_CONT =SIMP(statut='o',typ='R'), - ), - - b_cont_czm=BLOC(condition = "ALGO_CONT == 'CZM'", - fr="Parametres de la formulation cohesive", - RELATION = SIMP(statut='o',typ='TXM', - into=("CZM_EXP_REG","CZM_LIN_REG","CZM_TAC_MIX","CZM_OUV_MIX"),) - ), - - b_frottement=BLOC(condition = "FROTTEMENT == 'COULOMB' and ALGO_CONT != 'CZM' ", - fr="Paramètres du frottement", - COULOMB =SIMP(statut='o',typ='R',), - SEUIL_INIT =SIMP(statut='f',typ='R',defaut=0.E+0), - ALGO_FROT =SIMP(statut='f',typ='TXM',defaut="STANDARD", - into=("STANDARD","PENALISATION"),), - - b_frot_std=BLOC(condition = "ALGO_FROT == 'STANDARD' ", - fr="Parametres de la formulation Lagrangienne", - COEF_FROT =SIMP(statut='f',typ='R',defaut=100.E+0), - ), - b_frot_pen=BLOC(condition = "ALGO_FROT == 'PENALISATION' ", - fr="Paramètre de la méthode pénalisée", - COEF_PENA_FROT =SIMP(statut='o',typ='R'), - ), - ), #fin bloc b_frottement - ), #fin mot-clé facteur ZONE - ), #fin bloc b_affe_xfem - - ) #fin OPER - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr -def DEFIC_prod(self,ACTION,UNITE,**args): - if ACTION == "ASSOCIER" or ACTION == "RESERVER": - if UNITE != None : - return - else : - return entier - elif ACTION == "LIBERER" : - return - else : - raise AsException("ACTION non prevue : %s" % ACTION) - -DEFI_FICHIER=MACRO(nom="DEFI_FICHIER", - op=OPS("Cata.ops.build_DEFI_FICHIER"), - sd_prod=DEFIC_prod, - reentrant='n', - UIinfo={"groupes":("Gestion du travail",)}, - fr="Ouvre ou ferme un fichier associé à un numéro d'unité logique", - - ACTION =SIMP(statut='f',typ='TXM',into=("ASSOCIER","LIBERER","RESERVER"),defaut="ASSOCIER"), - - b_associer =BLOC(condition = "ACTION == 'ASSOCIER'", - fr="Paramètres pour l'ouverture du fichier", - regles=(AU_MOINS_UN('FICHIER','UNITE'),), - UNITE =SIMP(statut='f',typ='I' ,val_min=1), - FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)), - TYPE =SIMP(statut='f',typ='TXM',into=("ASCII","BINARY","LIBRE"),defaut="ASCII"), - - b_type_ascii =BLOC(condition = "TYPE == 'ASCII'",fr="Paramètres pour le type ASCII", - ACCES =SIMP(statut='f',typ='TXM',into=("NEW","APPEND","OLD"),defaut="NEW"), - ), - b_type_autre =BLOC(condition = "TYPE != 'ASCII'",fr="Paramètres pour les types BINARY et LIBRE", - ACCES =SIMP(statut='f',typ='TXM',into=("NEW","OLD"),defaut="NEW"), - ), - ), - - b_reserver =BLOC(condition = "ACTION == 'RESERVER'", - fr="Paramètres pour la réservation de l'unité du fichier", - regles=(AU_MOINS_UN('FICHIER','UNITE'),), - UNITE =SIMP(statut='f',typ='I' ,val_min=1), - FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)), - TYPE =SIMP(statut='f',typ='TXM',into=("ASCII",),defaut="ASCII"), - ACCES =SIMP(statut='f',typ='TXM',into=("APPEND",),defaut="APPEND"), - ), - - b_liberer =BLOC(condition = "ACTION == 'LIBERER'", - fr="Paramètres pour la fermeture du fichier", - regles=(UN_PARMI('FICHIER','UNITE'),), - UNITE =SIMP(statut='f',typ='I' ,val_min=1), - FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)), - ), - - INFO =SIMP(statut='f',typ='I',into=(1,2) ), - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -DEFI_FISS_XFEM=OPER(nom="DEFI_FISS_XFEM",op= 41,sd_prod=fiss_xfem,reentrant='n', - UIinfo={"groupes":("Modélisation",)}, - fr="Définition des caratéristiques d'une fissure ou d'une interface avec X-FEM", - regles = EXCLUS('MODELE_GRILLE','FISS_GRILLE'), - -# ------------------------------------------------------------------------------------------------------------------------ -# modele sous-jacent -# ------------------------------------------------------------------------------------------------------------------------ - - MODELE =SIMP(statut='o',typ=modele_sdaster), - -# ------------------------------------------------------------------------------------------------------------------------ -# grille auxiliaire -# ------------------------------------------------------------------------------------------------------------------------ - - MODELE_GRILLE =SIMP(statut='f',typ=modele_sdaster,max=1,position='global'), - FISS_GRILLE =SIMP(statut='f',typ=fiss_xfem,max=1), - -# ------------------------------------------------------------------------------------------------------------------------ -# fissure/interface -# ------------------------------------------------------------------------------------------------------------------------ - - TYPE_DISCONTINUITE =SIMP(statut='f',typ='TXM',into=("FISSURE","INTERFACE",) ,defaut="FISSURE",position='global'), - -# ------------------------------------------------------------------------------------------------------------------------ -# caracteristiques de la fissure/interface -# ------------------------------------------------------------------------------------------------------------------------ - - DEFI_FISS =FACT(statut='o',max=1, - - regles =UN_PARMI('GROUP_MA_FISS','FONC_LN','FORM_FISS','CHAM_NO_LSN'), - -# impossible de faire des regles dans des blocs condition, dommage -# b_fissure =BLOC(condition = "TYPE_DISCONTINUITE == 'FISSURE' ",fr="Regles pour les fissures", -# regles =(ENSEMBLE('FONC_LN','FONC_LT'), -# ENSEMBLE('CHAM_NO_LSN','CHAM_NO_LST'), -# ENSEMBLE('GROUP_MA_FISS','GROUP_MA_FOND')), -# ), -# -# b_interface =BLOC(condition = "TYPE_DISCONTINUITE == 'INTERFACE' ",fr="Regles pour les interfaces", -# regles =(PRESENT_ABSENT('FONC_LN','FONC_LT'), -# PRESENT_ABSENT('CHAM_NO_LSN','CHAM_NO_LST'), -# PRESENT_ABSENT('GROUP_MA_FISS','GROUP_MA_FOND')), -# ), - - FONC_LT =SIMP(statut='f',typ=(fonction_sdaster,formule) ), - FONC_LN =SIMP(statut='f',typ=(fonction_sdaster,formule) ), - CHAM_NO_LSN =SIMP(statut='f',typ=cham_no_sdaster,min=1,max=1), - CHAM_NO_LST =SIMP(statut='f',typ=cham_no_sdaster,min=1,max=1), - GROUP_MA_FISS =SIMP(statut='f',typ=grma,min=1,max=1), - GROUP_MA_FOND =SIMP(statut='f',typ=grma,min=1,max=1), - FORM_FISS =SIMP(statut='f',typ='TXM',into=("ELLIPSE","RECTANGLE","CYLINDRE","DEMI_PLAN", - "SEGMENT","DEMI_DROITE","DROITE","ENTAILLE") ), - b_ellipse =BLOC(condition = "FORM_FISS == 'ELLIPSE' ",fr="Paramètres de la fissure/interface elliptique", - DEMI_GRAND_AXE =SIMP(statut='o',typ='R',val_min=0.), - DEMI_PETIT_AXE =SIMP(statut='o',typ='R',val_min=0.), - CENTRE =SIMP(statut='o',typ='R',min=3,max=3), - VECT_X =SIMP(statut='o',typ='R',min=3,max=3), - VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), - COTE_FISS =SIMP(statut='f',typ='TXM',defaut="IN",into=("IN","OUT",) ), ), - b_rectangle =BLOC(condition = "FORM_FISS == 'RECTANGLE' ",fr="Paramètres de la fissure/interface rectangulaire", - DEMI_GRAND_AXE =SIMP(statut='o',typ='R',val_min=0.), - DEMI_PETIT_AXE =SIMP(statut='o',typ='R',val_min=0.), - RAYON_CONGE =SIMP(statut='f',typ='R',val_min=0.,defaut=0.), - CENTRE =SIMP(statut='o',typ='R',min=3,max=3), - VECT_X =SIMP(statut='o',typ='R',min=3,max=3), - VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), - COTE_FISS =SIMP(statut='f',typ='TXM',defaut="IN",into=("IN","OUT",) ), ), - b_entaille =BLOC(condition = "FORM_FISS == 'ENTAILLE' ",fr="Paramètres de l'interface entaille", - DEMI_LONGUEUR =SIMP(statut='o',typ='R',val_min=0.), - RAYON_CONGE =SIMP(statut='o',typ='R',val_min=0.), - CENTRE =SIMP(statut='o',typ='R',min=3,max=3), - VECT_X =SIMP(statut='o',typ='R',min=3,max=3), - VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), ), - b_cylindre =BLOC(condition = "FORM_FISS == 'CYLINDRE' ",fr="Paramètres de la fissure cylindrique", - DEMI_GRAND_AXE =SIMP(statut='o',typ='R',val_min=0.), - DEMI_PETIT_AXE =SIMP(statut='o',typ='R',val_min=0.), - CENTRE =SIMP(statut='o',typ='R',min=3,max=3), - VECT_X =SIMP(statut='o',typ='R',min=3,max=3), - VECT_Y =SIMP(statut='o',typ='R',min=3,max=3),), - b_demiplan =BLOC(condition = "FORM_FISS == 'DEMI_PLAN' ",fr="Paramètres de la fissure plane à front droit", - PFON =SIMP(statut='o',typ='R',min=3,max=3), - NORMALE =SIMP(statut='o',typ='R',min=3,max=3), - DTAN =SIMP(statut='o',typ='R',min=3,max=3),), - b_segment =BLOC(condition = "FORM_FISS == 'SEGMENT' ",fr="Paramètres de la fissure 2D segment", - PFON_ORIG =SIMP(statut='o',typ='R',min=3,max=3), - PFON_EXTR =SIMP(statut='o',typ='R',min=3,max=3),), - b_demidroite =BLOC(condition = "FORM_FISS == 'DEMI_DROITE' ",fr="Paramètres de la fissure 2D demi-droite", - PFON =SIMP(statut='o',typ='R',min=3,max=3), - DTAN =SIMP(statut='o',typ='R',min=3,max=3),), - b_droite =BLOC(condition = "FORM_FISS == 'DROITE' ",fr="Paramètres de l'interface 2D (fissure traversante)", - POINT =SIMP(statut='o',typ='R',min=3,max=3), - DTAN =SIMP(statut='o',typ='R',min=3,max=3),), - ), - -# ------------------------------------------------------------------------------------------------------------------------ -# partie du maillage potentiellement enrichie -# ------------------------------------------------------------------------------------------------------------------------ - - GROUP_MA_ENRI =SIMP(statut='f',typ=grma,max=01), - -# ------------------------------------------------------------------------------------------------------------------------ -# types d'enrichissement -# ------------------------------------------------------------------------------------------------------------------------ - - b_enri_inte =BLOC(condition = "TYPE_DISCONTINUITE == 'INTERFACE' ", - - CHAM_DISCONTINUITE =SIMP(statut='f',typ='TXM',into=("DEPL","SIGM"),defaut="DEPL" ), - - ), - - - b_enri_fiss =BLOC(condition = "TYPE_DISCONTINUITE == 'FISSURE' ", - - CHAM_DISCONTINUITE =SIMP(statut='f',typ='TXM',into=("DEPL",),defaut="DEPL" ), - TYPE_ENRI_FOND =SIMP(statut='f',typ='TXM',into=("TOPOLOGIQUE","GEOMETRIQUE"),defaut="TOPOLOGIQUE" ), - - b_enri_geom =BLOC(condition = "TYPE_ENRI_FOND == 'GEOMETRIQUE' ",fr="Paramètres de l enrichissement geometrique", - RAYON_ENRI =SIMP(statut='f',typ='R',val_min=0.E+0), - - b_enri_couches =BLOC(condition = "(RAYON_ENRI == None) ",fr="Paramètres de l enrichissement à n couches", - NB_COUCHES =SIMP(statut='f',typ='I',defaut=4,val_min=1), - - ), - ), - ), - -# ------------------------------------------------------------------------------------------------------------------------ -# branchement -# ------------------------------------------------------------------------------------------------------------------------ - - b_jonction =BLOC(condition = "(MODELE_GRILLE == None) and (FISS_GRILLE == None)", - JONCTION =FACT(statut='f',max=1, - FISSURE =SIMP(statut='o',typ=fiss_xfem,min=1,max='**',), - POINT =SIMP(statut='o',typ='R',max=3,), - ), - ), -# ------------------------------------------------------------------------------------------------------------------------ -# info -# ------------------------------------------------------------------------------------------------------------------------ - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,3,) ), - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: andre.adobes at edf.fr -DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru, - reentrant='n',fr="Définit les caractéristiques nécessaires à l'étude dynamique d'une structure sous écoulement", - UIinfo={"groupes":("Modélisation",)}, - regles=( UN_PARMI('FAISCEAU_TRANS','GRAPPE','FAISCEAU_AXIAL','COQUE_COAX',),), - FAISCEAU_TRANS =FACT(statut='f',max='**', - regles=( ENSEMBLE('CSTE_CONNORS','NB_CONNORS','RHO_TUBE'),), - COUPLAGE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PROF_RHO_F_INT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PROF_RHO_F_EXT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - NOM_CMP =SIMP(statut='f',typ='TXM',into=("DX","DY","DZ") ), - COEF_MASS_AJOU =SIMP(statut='f',typ='R' ), - TYPE_PAS =SIMP(statut='f',typ='TXM',into=("CARRE_LIGN","TRIA_LIGN") ), - TYPE_RESEAU =SIMP(statut='f',typ='I' ), - UNITE_CD =SIMP(statut='f',typ='I',defaut=70), - UNITE_CK =SIMP(statut='f',typ='I',defaut=71), - PAS =SIMP(statut='f',typ='R' ), - CSTE_CONNORS =SIMP(statut='f',typ='R',min=2,max=2,val_min=0.E+00), - NB_CONNORS =SIMP(statut='f',typ='I',val_min=2,), - RHO_TUBE =SIMP(statut='f',typ='R' ), - ), - GRAPPE =FACT(statut='f', - regles=(ENSEMBLE('GRAPPE_2','NOEUD','CARA_ELEM','MODELE','RHO_FLUI',), - PRESENT_PRESENT('COEF_MASS_AJOU','GRAPPE_2', ),), -# peut on créer un bloc a partir de la valeur de couplage - COUPLAGE =SIMP(statut='o',typ='TXM',into=("OUI","NON") ), - GRAPPE_2 =SIMP(statut='f',typ='TXM', - into=("ASC_CEN","ASC_EXC","DES_CEN","DES_EXC") ), - NOEUD =SIMP(statut='f',typ=no), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - MODELE =SIMP(statut='f',typ=modele_sdaster ), - COEF_MASS_AJOU =SIMP(statut='f',typ='R' ), - RHO_FLUI =SIMP(statut='f',typ='R' ), - UNITE_CA =SIMP(statut='f',typ='I',defaut=70), - UNITE_KA =SIMP(statut='f',typ='I',defaut=71), - ), - FAISCEAU_AXIAL =FACT(statut='f',max='**', - regles=(UN_PARMI('GROUP_MA','TRI_GROUP_MA'), - UN_PARMI('CARA_ELEM','RAYON_TUBE'), - ENSEMBLE('RAYON_TUBE','COOR_TUBE'), - PRESENT_ABSENT('RAYON_TUBE','TRI_GROUP_MA'), - ENSEMBLE('CARA_PAROI','VALE_PAROI'), - ENSEMBLE('LONG_TYPG','LARG_TYPG','EPAI_TYPG','RUGO_TYPG','COEF_TRAI_TYPG','COEF_DPOR_TYPG', - 'COOR_GRILLE','TYPE_GRILLE', ),), -# on doit pouvoir mettre des blocs conditionnels mais pas assez d infos pour le faire - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - TRI_GROUP_MA =SIMP(statut='f',typ='TXM' ), - VECT_X =SIMP(statut='f',typ='R',max=3), - PROF_RHO_FLUI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - PROF_VISC_CINE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - RAYON_TUBE =SIMP(statut='f',typ='R' ), - COOR_TUBE =SIMP(statut='f',typ='R',max='**'), - PESANTEUR =SIMP(statut='f',typ='R',min=4,max=4), - RUGO_TUBE =SIMP(statut='f',typ='R' ), - CARA_PAROI =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=5, - into=("YC","ZC","R","HY","HZ") ), - VALE_PAROI =SIMP(statut='f',typ='R',max=5), - ANGL_VRIL =SIMP(statut='f',typ='R' ), - LONG_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0), - LARG_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0), - EPAI_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0), - RUGO_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0), - COEF_TRAI_TYPG =SIMP(statut='f',typ='R',max='**',val_min=0.E+0), - COEF_DPOR_TYPG =SIMP(statut='f',typ='R',max='**'), - COOR_GRILLE =SIMP(statut='f',typ='R',max='**'), - TYPE_GRILLE =SIMP(statut='f',typ='I',max='**'), - ), - COQUE_COAX =FACT(statut='f', - MASS_AJOU =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - GROUP_MA_INT =SIMP(statut='o',typ=grma), - GROUP_MA_EXT =SIMP(statut='o',typ=grma), - VECT_X =SIMP(statut='o',typ='R',max='**'), - CARA_ELEM =SIMP(statut='o',typ=cara_elem ), - MATER_INT =SIMP(statut='o',typ=mater_sdaster ), - MATER_EXT =SIMP(statut='o',typ=mater_sdaster ), - RHO_FLUI =SIMP(statut='o',typ='R' ), - VISC_CINE =SIMP(statut='o',typ='R' ), - RUGOSITE =SIMP(statut='o',typ='R' ), - PDC_MOY_1 =SIMP(statut='o',typ='R' ), - PDC_DYN_1 =SIMP(statut='o',typ='R' ), - PDC_MOY_2 =SIMP(statut='o',typ='R' ), - PDC_DYN_2 =SIMP(statut='o',typ='R' ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.relun at edf.fr - - -DEFI_FONC_ELEC=MACRO(nom="DEFI_FONC_ELEC", - op=OPS('Macro.defi_fonc_elec_ops.defi_fonc_elec_ops'), - sd_prod=fonction_sdaster, - reentrant='n', - UIinfo={"groupes":("Outils-métier",)}, - fr="Définir une fonction du temps intervenant dans le calcul des " \ - "forces de LAPLACE", - regles=(UN_PARMI('COUR_PRIN','COUR'), - EXCLUS('COUR','COUR_SECO'), ), - FREQ =SIMP(statut='f',typ='R',defaut= 50.), - SIGNAL =SIMP(statut='f',typ='TXM',defaut="COMPLET",into=("COMPLET","CONTINU") ), - COUR =FACT(statut='f',max='**', - fr="Définition du courant de court-circuit", - regles=(UN_PARMI('PHI_CC_1','INTC_CC_1'), - UN_PARMI('PHI_CC_2','INTC_CC_2'),), - INTE_CC_1 =SIMP(statut='o',typ='R'), - TAU_CC_1 =SIMP(statut='o',typ='R'), - PHI_CC_1 =SIMP(statut='f',typ='R'), - INTC_CC_1 =SIMP(statut='f',typ='R'), - INTE_CC_2 =SIMP(statut='o',typ='R'), - TAU_CC_2 =SIMP(statut='o',typ='R'), - PHI_CC_2 =SIMP(statut='f',typ='R'), - INTC_CC_2 =SIMP(statut='f',typ='R'), - INST_CC_INIT =SIMP(statut='o',typ='R'), - INST_CC_FIN =SIMP(statut='o',typ='R'), - ), - COUR_PRIN =FACT(statut='f', - fr="Définition du courant de court-circuit avec réenclenchement", - regles=(UN_PARMI('PHI_CC_1','INTC_CC_1'),), - INTE_CC_1 =SIMP(statut='o',typ='R'), - TAU_CC_1 =SIMP(statut='o',typ='R'), - PHI_CC_1 =SIMP(statut='f',typ='R'), - INTC_CC_1 =SIMP(statut='f',typ='R'), - INTE_RENC_1 =SIMP(statut='f',typ='R'), - TAU_RENC_1 =SIMP(statut='f',typ='R'), - PHI_RENC_1 =SIMP(statut='f',typ='R'), - INST_CC_INIT =SIMP(statut='o',typ='R'), - INST_CC_FIN =SIMP(statut='o',typ='R'), - INST_RENC_INIT =SIMP(statut='f',typ='R',defaut= 0.0E+0), - INST_RENC_FIN =SIMP(statut='f',typ='R',defaut= 0.0E+0), - ), - COUR_SECO =FACT(statut='f',max='**', - fr="Définition du courant de court-circuit avec un intervalle de temps différent de celui de COUR_PRIN", - regles=(UN_PARMI('PHI_CC_2','INTC_CC_2'),), - INTE_CC_2 =SIMP(statut='o',typ='R'), - TAU_CC_2 =SIMP(statut='o',typ='R'), - PHI_CC_2 =SIMP(statut='f',typ='R'), - INTC_CC_2 =SIMP(statut='f',typ='R'), - INTE_RENC_2 =SIMP(statut='f',typ='R'), - TAU_RENC_2 =SIMP(statut='f',typ='R'), - PHI_RENC_2 =SIMP(statut='f',typ='R'), - DIST =SIMP(statut='f',typ='R',defaut=1.0E+0), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: andre.adobes at edf.fr -DEFI_FONC_FLUI=OPER(nom="DEFI_FONC_FLUI",op= 142,sd_prod=fonction_sdaster, - reentrant='n', - fr="Définit un profil de vitesse d'écoulement fluide le long d'une poutre", - UIinfo={"groupes":("Modélisation","Fonctions",)}, - MAILLAGE =SIMP(statut='o',typ=(maillage_sdaster) ), - NOEUD_INIT =SIMP(statut='o',typ=no), - NOEUD_FIN =SIMP(statut='o',typ=no), - VITE =FACT(statut='o', - VALE =SIMP(statut='f',typ='R',defaut= 1. ), - PROFIL =SIMP(statut='o',typ='TXM',into=("UNIFORME","LEONARD") ), - NB_BAV =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 2 , 3 ) ), - ), - INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN", - into=("NON","LIN","LOG") ), - PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU", - into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM' ,defaut="EXCLU", - into=("CONSTANT","LINEAIRE","EXCLU") ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -def defi_fonction_prod(VALE,VALE_PARA,VALE_C,NOEUD_PARA,ABSCISSE,**args): - if VALE != None : return fonction_sdaster - if VALE_C != None : return fonction_c - if VALE_PARA != None : return fonction_sdaster - if ABSCISSE != None : return fonction_sdaster - if NOEUD_PARA != None : return fonction_sdaster - raise AsException("type de concept resultat non prevu") - -DEFI_FONCTION=OPER(nom="DEFI_FONCTION",op=3,sd_prod=defi_fonction_prod - ,fr="Définit une fonction réelle ou complexe d'une variable réelle", - reentrant='n', - UIinfo={"groupes":("Fonctions",)}, - regles=(UN_PARMI('VALE','VALE_C','VALE_PARA','NOEUD_PARA','ABSCISSE'),), - NOM_PARA =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ), - NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"), - VALE =SIMP(statut='f',typ='R',min=2,max='**', - fr ="Fonction réelle définie par une liste de couples " - "(abscisse,ordonnée)"), - ABSCISSE =SIMP(statut='f',typ='R',min=2,max='**', - fr ="Liste d abscisses d une fonction réelle"), - VALE_C =SIMP(statut='f',typ='R',min=2,max='**', - fr ="Fonction complexe définie par une liste de triplets " - "(absc, partie réelle, partie imaginaire)"), - VALE_PARA =SIMP(statut='f',typ=listr8_sdaster, - fr ="Fonction réelle définie par deux concepts de type listr8" ), - b_vale_para =BLOC(condition = "VALE_PARA != None", - VALE_FONC =SIMP(statut='o',typ=listr8_sdaster ), - ), - b_abscisse =BLOC(condition = "ABSCISSE != None", - ORDONNEE =SIMP(statut='o',typ='R',min=2,max='**', - fr ="Liste d ordonnées d une fonction réelle"), - ), - NOEUD_PARA =SIMP(statut='f',typ=no,max='**', - fr ="Fonction réelle définie par une liste de noeuds et un maillage"), - b_noeud_para =BLOC(condition = "NOEUD_PARA != None", - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), - VALE_Y =SIMP(statut='o',typ='R',max='**'), - ), - - INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ), - PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - VERIF =SIMP(statut='f',typ='TXM',defaut="CROISSANT",into=("CROISSANT","NON") ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -DEFI_FOND_FISS=OPER(nom="DEFI_FOND_FISS", - op=55, - sd_prod=fond_fiss, - reentrant='n', - UIinfo={"groupes":("Modélisation",)},fr="Définition de lèvres et d'un fond de fissure", - - MAILLAGE = SIMP(statut='o',typ=maillage_sdaster ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), - - # definition du fond de fissure - FOND_FISS = FACT(statut='o',max=2, - - TYPE_FOND = SIMP(statut='f',typ='TXM',into=("OUVERT","FERME","INF","SUP"),defaut="OUVERT"), - - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1 ), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1 ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),), - - # possibilite d'ordonnencement automatique du fond si groupe de mailles - b_grma = BLOC(condition = "(GROUP_MA != None or MAILLE != None) and TYPE_FOND != 'FERME'", - NOEUD_ORIG =SIMP(statut='f',typ=no, max=1), - GROUP_NO_ORIG =SIMP(statut='f',typ=grno,max=1), - regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),), - - # si ordo - b_ordo = BLOC(condition = "NOEUD_ORIG != None or GROUP_NO_ORIG != None", - NOEUD_EXTR = SIMP(statut='f',typ=no, max=1), - GROUP_NO_EXTR = SIMP(statut='f',typ=grno,max=1), - regles=(EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),), - ), - ), - # possibilite d'ordonnencement automatique du fond si groupe de mailles - b_grma_ferme= BLOC(condition = "(GROUP_MA != None or MAILLE != None) and TYPE_FOND == 'FERME'", - NOEUD_ORIG =SIMP(statut='f',typ=no, max=1), - GROUP_NO_ORIG =SIMP(statut='f',typ=grno,max=1), - regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),), - - # si ordo - b_ordo_ferme = BLOC(condition = "NOEUD_ORIG != None or GROUP_NO_ORIG != None", - MAILLE_ORIG = SIMP(statut='f',typ=ma, max=1), - GROUP_MA_ORIG = SIMP(statut='f',typ=grma, max=1), - regles=(UN_PARMI('MAILLE_ORIG','GROUP_MA_ORIG'),), - ), - ), - # definition des directions des tangentes aux bords (uniquement pour les fonds non fermes) - b_dtan = BLOC(condition = "TYPE_FOND != 'FERME'", - DTAN_ORIG =SIMP(statut='f',typ='R',max='**'), - DTAN_EXTR =SIMP(statut='f',typ='R',max='**'), - VECT_GRNO_ORIG =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), - VECT_GRNO_EXTR =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2), - regles=(EXCLUS('DTAN_ORIG','VECT_GRNO_ORIG'), - EXCLUS('DTAN_EXTR','VECT_GRNO_EXTR'),), - ), - ), - - CONFIG_INIT = SIMP(statut='f',typ='TXM',into=("COLLEE","DECOLLEE"), defaut="COLLEE",position='global'), - - SYME = SIMP(statut='f',typ='TXM',into=("OUI","NON"), defaut="NON", position='global'), - -# remarque : dans le cas symetrique, il faut soit LEVRE_SUP, soit DTAN_ORIG -# mais impossible de faire une regle. - - LEVRE_SUP =FACT(statut='f',max=1, - regles=(UN_PARMI('GROUP_MA','MAILLE'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - ), - - b_levre_inf = BLOC(condition = "LEVRE_SUP != None and SYME == 'NON'", - - LEVRE_INF =FACT(statut='o',max=1, - regles=(UN_PARMI('GROUP_MA','MAILLE'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - ), - ), - - # dans le cas decolle - b_decolle = BLOC(condition = "CONFIG_INIT == 'DECOLLEE'", - NORMALE =SIMP(statut='o',typ='R',max=3),), - - PREC_NORM = SIMP(statut='f',typ='R',defaut=0.1), - -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2007 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jean-luc.flejou at edf.fr -# -DEFI_GEOM_FIBRE=OPER(nom="DEFI_GEOM_FIBRE",op= 119, sd_prod=gfibre_sdaster, - fr="Definition des groupes de fibres pour les elements multifibres", - reentrant='n', - UIinfo={"groupes":("Modélisation",)}, - regles=(AU_MOINS_UN('SECTION','FIBRE'),), - - INFO =SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ), -#============================================================================ - SECTION =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'), - PRESENT_ABSENT('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'),), - - GROUP_FIBRE =SIMP(statut='o',typ='TXM',min=1,max=1), - TOUT_SECT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA_SECT =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_SECT =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - - MAILLAGE_SECT =SIMP(statut='o',typ=maillage_sdaster), - COOR_AXE_POUTRE =SIMP(statut='o',typ='R',min=2,max=2), - ), - - -#============================================================================ - FIBRE =FACT(statut='f',max='**', - GROUP_FIBRE =SIMP(statut='o',typ='TXM',min=1,max=1), - CARA =SIMP(statut='f',typ='TXM',defaut='SURFACE',into=('SURFACE','DIAMETRE',)), - VALE =SIMP(statut='o',typ='R',max='**'), - COOR_AXE_POUTRE =SIMP(statut='o',typ='R',min=2,max=2), - ), - - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: sebastien.fayolle at edf.fr -DEFI_GLRC=OPER(nom="DEFI_GLRC",op=57,sd_prod=mater_sdaster,reentrant='f', - UIinfo={"groupes":("Modélisation",)}, - fr="Déterminer les caractéristiques homogenéisées du béton armé à partir des propriétés du béton et des " - +" armatures", - reuse = SIMP(statut='f',typ=mater_sdaster), - RELATION = SIMP(statut='o',typ='TXM',defaut="GLRC_DAMAGE", - into=("GLRC_DM","GLRC_DAMAGE"),), - - b_glrc_dm=BLOC(condition = "RELATION == 'GLRC_DM'", - fr="Paramètres de la loi GLRC_DM", - BETON = FACT(statut='o',max=1, - MATER = SIMP(statut='o',typ=(mater_sdaster),), - EPAIS = SIMP(statut='o',typ='R',val_min=0.E+0 ),), - NAPPE = FACT(statut='o',max=1, - MATER = SIMP(statut='o',typ=(mater_sdaster),), - OMY = SIMP(statut='o',typ='R',val_min=0.E+0,), - OMX = SIMP(statut='o',typ='R',val_min=0.E+0,), - RY = SIMP(statut='o',typ='R',val_min=-1.0E+0,val_max=1.0E+0,), - RX = SIMP(statut='o',typ='R',val_min=-1.0E+0,val_max=1.0E+0),), - RHO = SIMP(statut='f',typ='R',val_min=0.E+0,), - AMOR_ALPHA = SIMP(statut='f',typ='R',val_min=0.E+0,), - AMOR_BETA = SIMP(statut='f',typ='R',val_min=0.E+0,), - AMOR_HYST = SIMP(statut='f',typ='R',val_min=0.E+0,), - COMPR = SIMP(statut='o',typ='TXM',defaut="GAMMA", - into=("GAMMA","SEUIL")), - b_gamma=BLOC(condition = "COMPR == 'GAMMA'", - fr="Paramètre d'endommagement en compression ", - GAMMA_C = SIMP(statut='o',typ='R',defaut=1.0E+0,val_min=0.0E+0, val_max=1.0E+0),), - b_seuil=BLOC(condition = "COMPR == 'SEUIL'", - fr="Seuil d'endommagement en compression ", - NYC = SIMP(statut='o',typ='R'),), - PENTE = SIMP(statut='o',typ='TXM',defaut="RIGI_ACIER", - into=("PLAS_ACIER","UTIL","RIGI_ACIER")), - b_util = BLOC(condition = "PENTE == 'UTIL'", - fr="Valeur de la déformation maximale de l'élément", - EPSI_MEMB = SIMP(statut='o',typ='R',defaut=0.E+0), - KAPPA_FLEX = SIMP(statut='o',typ='R',defaut=0.E+0),), - CISAIL = SIMP(statut='o',typ='TXM',defaut="NON", - into=("OUI","NON"),), - METHODE_ENDO = SIMP(statut='o',typ='TXM',defaut="ENDO_INTER", - into=("ENDO_NAISS","ENDO_LIM","ENDO_INTER"),), - INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2),), - ), - b_glrc_damage=BLOC(condition = "RELATION == 'GLRC_DAMAGE'", - fr="Paramètres de la loi GLRC_DAMAGE", - CISAIL_NL =FACT(statut='f',max=1, - BTD1 =SIMP(statut='o',typ='R'), - BTD2 =SIMP(statut='o',typ='R'), - TSD =SIMP(statut='o',typ='R'), - ), - BETON =FACT(statut='o',max=1, - regles=(ENSEMBLE('MP1X', 'MP1Y', 'MP2X', 'MP2Y'), - ENSEMBLE('MP1X_FO', 'MP1Y_FO', 'MP2X_FO', 'MP2Y_FO'), - PRESENT_ABSENT('MP1X', 'MP1X_FO', 'MP1Y_FO', 'MP2X_FO', 'MP2Y_FO'), - ENSEMBLE('OMT', 'EAT'), - ENSEMBLE('BT1','BT2'),), - MATER =SIMP(statut='o',typ=(mater_sdaster) ), - EPAIS =SIMP(statut='o',typ='R',val_min=0.E+0 ), - GAMMA =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0), - QP1 =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0), - QP2 =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0), - - C1N1 =SIMP(statut='o',typ='R',val_min=0.E+0), - C1N2 =SIMP(statut='o',typ='R',val_min=0.E+0), - C1N3 =SIMP(statut='o',typ='R',val_min=0.E+0), - C2N1 =SIMP(statut='o',typ='R',val_min=0.E+0), - C2N2 =SIMP(statut='o',typ='R',val_min=0.E+0), - C2N3 =SIMP(statut='o',typ='R',val_min=0.E+0), - C1M1 =SIMP(statut='o',typ='R',val_min=0.E+0), - C1M2 =SIMP(statut='o',typ='R',val_min=0.E+0), - C1M3 =SIMP(statut='o',typ='R',val_min=0.E+0), - C2M1 =SIMP(statut='o',typ='R',val_min=0.E+0), - C2M2 =SIMP(statut='o',typ='R',val_min=0.E+0), - C2M3 =SIMP(statut='o',typ='R',val_min=0.E+0), - - OMT =SIMP(statut='f',typ='R',val_min=0.E+0), - EAT =SIMP(statut='f',typ='R',val_min=0.E+0), - BT1 =SIMP(statut='f',typ='R',val_min=0.E+0), - BT2 =SIMP(statut='f',typ='R',val_min=0.E+0), - - MP1X =SIMP(statut='f',typ='R'), - MP2X =SIMP(statut='f',typ='R'), - MP1Y =SIMP(statut='f',typ='R'), - MP2Y =SIMP(statut='f',typ='R'), - - MP1X_FO =SIMP(statut='f',typ=fonction_sdaster), - MP2X_FO =SIMP(statut='f',typ=fonction_sdaster), - MP1Y_FO =SIMP(statut='f',typ=fonction_sdaster), - MP2Y_FO =SIMP(statut='f',typ=fonction_sdaster), - ), - NAPPE =FACT(statut='o',max=10, - MATER =SIMP(statut='o',typ=(mater_sdaster) ), - OMX =SIMP(statut='o',typ='R',val_min=0.E+0), - OMY =SIMP(statut='o',typ='R',val_min=0.E+0), - RX =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), - RY =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), - ), - CABLE_PREC =FACT(statut='f',max=1, - MATER =SIMP(statut='o',typ=(mater_sdaster) ), - OMX =SIMP(statut='o',typ='R',val_min=0.E+0), - OMY =SIMP(statut='o',typ='R',val_min=0.E+0), - RX =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), - RY =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), - PREX =SIMP(statut='o',typ='R'), - PREY =SIMP(statut='o',typ='R'), - ), - LINER =FACT(statut='f',max=10, - MATER =SIMP(statut='o',typ=(mater_sdaster) ), - OML =SIMP(statut='o',typ='R',val_min=0.E+0), - RLR =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2),), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr -DEFI_GRILLE=OPER(nom="DEFI_GRILLE",op=82,sd_prod=grille_sdaster,reentrant='n', - UIinfo={"groupes":("Modélisation",)}, - fr="Définition d'une grille", - - MAILLAGE = SIMP(statut='o',typ=maillage_sdaster), - - INFO = SIMP(statut='f',typ='I',defaut= 0,into=(0,1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -def defi_group_prod(MAILLAGE,GRILLE,**args): - if ( MAILLAGE != None ) : - if AsType(MAILLAGE) == maillage_sdaster : return maillage_sdaster - if AsType(MAILLAGE) == squelette : return squelette - if ( GRILLE != None ) : - return grille_sdaster - raise AsException("type de concept resultat non prevu") - -DEFI_GROUP=OPER(nom="DEFI_GROUP",op= 104,sd_prod=defi_group_prod, - fr="Définition de nouveaux groupes de noeuds et/ou de mailles dans un concept maillage", - reentrant='o', - UIinfo={"groupes":("Maillage",)}, - regles=(AU_MOINS_UN('CREA_GROUP_MA','CREA_GROUP_NO','DETR_GROUP_NO','DETR_GROUP_MA'), - UN_PARMI('MAILLAGE','GRILLE'),), - MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster,squelette) ), - GRILLE =SIMP(statut='f',typ=(grille_sdaster) ), - DETR_GROUP_MA =FACT(statut='f',max='**', - NOM =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),), - DETR_GROUP_NO =FACT(statut='f',max='**', - NOM =SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**'),), - - - CREA_GROUP_MA =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','INTERSEC','UNION','DIFFE','OPTION'),), - NOM =SIMP(statut='o',typ=grma), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - INTERSEC =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - UNION =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - DIFFE =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - TYPE_MAILLE =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","1D","2D","3D", - "POI1","SEG2","SEG3","SEG4","TRIA3","TRIA6","TRIA7", - "QUAD4","QUAD8","QUAD9","TETRA4","TETRA10", - "PENTA6","PENTA15","PENTA18","HEXA8","HEXA20","HEXA27", - "PYRAM5","PYRAM13",),max=1 ), - - OPTION =SIMP(statut='f',typ='TXM',into=("FACE_NORMALE","SPHERE","CYLINDRE", - "BANDE","APPUI_LACHE","APPUI","FISS_XFEM") ), - b_group_ma =BLOC(condition = "GROUP_MA != None", - regles=(EXCLUS('POSITION','NUME_INIT'),), - NUME_INIT =SIMP(statut='f',typ='I'), - POSITION =SIMP(statut='f',typ='TXM',into=("INIT","FIN","MILIEU") ), - b_nume_init =BLOC(condition = "NUME_INIT != None", - NUME_FIN =SIMP(statut='f',typ='I' ), - ), - ), - b_face_normale =BLOC(condition = "OPTION == 'FACE_NORMALE'", - regles=(UN_PARMI('ANGL_NAUT','VECT_NORMALE'),), - ANGL_NAUT =SIMP(statut='f',typ='R',max=2), - VECT_NORMALE =SIMP(statut='f',typ='R',max=3), - ANGL_PREC =SIMP(statut='f',typ='R',defaut= 0.5 ), - VERI_SIGNE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - b_sphere =BLOC(condition = "OPTION == 'SPHERE'", - regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),), - POINT =SIMP(statut='f',typ='R',max=3), - NOEUD_CENTRE =SIMP(statut='f',typ=no), - GROUP_NO_CENTRE =SIMP(statut='f',typ=grno), - RAYON =SIMP(statut='o',typ='R' ), - CRIT_NOEUD = SIMP(statut='f',typ='TXM',defaut="AU_MOINS_UN", - into=("TOUS","AU_MOINS_UN","MAJORITE"),), - ), - b_cylindre =BLOC(condition = "OPTION == 'CYLINDRE'", - regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'), - UN_PARMI('ANGL_NAUT','VECT_NORMALE'),), - POINT =SIMP(statut='f',typ='R',max=3), - NOEUD_CENTRE =SIMP(statut='f',typ=no), - GROUP_NO_CENTRE =SIMP(statut='f',typ=grno), - RAYON =SIMP(statut='o',typ='R' ), - ANGL_NAUT =SIMP(statut='f',typ='R',max=2), - VECT_NORMALE =SIMP(statut='f',typ='R',max=3), - CRIT_NOEUD = SIMP(statut='f',typ='TXM',defaut="AU_MOINS_UN", - into=("TOUS","AU_MOINS_UN","MAJORITE"),), - ), - b_bande =BLOC(condition = "OPTION == 'BANDE'", - regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'), - UN_PARMI('ANGL_NAUT','VECT_NORMALE'),), - POINT =SIMP(statut='f',typ='R' ,max=3), - NOEUD_CENTRE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1), - GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1), - DIST =SIMP(statut='o',typ='R' ), - ANGL_NAUT =SIMP(statut='f',typ='R',max=2), - VECT_NORMALE =SIMP(statut='f',typ='R',max=3), - CRIT_NOEUD = SIMP(statut='f',typ='TXM',defaut="AU_MOINS_UN", - into=("TOUS","AU_MOINS_UN","MAJORITE"),), - ), - b_app_lache =BLOC(condition = "OPTION == 'APPUI_LACHE'", - regles=(UN_PARMI('NOEUD','GROUP_NO'),), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - ), - b_appui =BLOC(condition = "OPTION == 'APPUI'", - regles=(UN_PARMI('NOEUD','GROUP_NO'),), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - TYPE_APPUI =SIMP(statut='o',typ='TXM',max=1, into=('AU_MOINS_UN','TOUT','SOMMET','MAJORITE')), - ), - b_fiss_xfem =BLOC(condition = "OPTION == 'FISS_XFEM'", - TYPE_GROUP =SIMP(statut='o',typ='TXM',max=1,defaut='XFEM', - into=('HEAVISIDE','CRACKTIP','MIXTE','FISSUREE','XFEM',),), - FISSURE =SIMP(statut='o',typ=fiss_xfem,min=1,max='**'), - ), - ), - - - CREA_GROUP_NO =FACT(statut='f',max='**', - OPTION =SIMP(statut='f',typ='TXM',into=("ENV_SPHERE","ENV_CYLINDRE","PLAN", - "SEGM_DROI_ORDO","NOEUD_ORDO","TUNNEL", - "INCLUSION","FISS_XFEM","INTERVALLE_VALE") ), - - b_option =BLOC(condition = "OPTION == None" , - regles=(UN_PARMI('TOUT_GROUP_MA','GROUP_MA','GROUP_NO','NOEUD', - 'INTERSEC','UNION','DIFFE'),), - TOUT_GROUP_MA =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - INTERSEC =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - UNION =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - DIFFE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - - b_nom_group_ma =BLOC(condition = "GROUP_MA != None", - NOM = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - CRIT_NOEUD = SIMP(statut='f',typ='TXM',defaut="TOUS", - into=("TOUS","SOMMET","MILIEU","CENTRE"),), - ), - b_group_no =BLOC(condition = "GROUP_NO != None", - regles=(EXCLUS('POSITION','NUME_INIT'),), - NUME_INIT =SIMP(statut='f',typ='I'), - POSITION =SIMP(statut='f',typ='TXM',into=("INIT","FIN","MILIEU") ), - b_nume_init =BLOC(condition = "NUME_INIT != None", - NUME_FIN =SIMP(statut='f',typ='I' ), - ), - ), - b_nom =BLOC(condition = "GROUP_MA == None and TOUT_GROUP_MA == None" , - NOM =SIMP(statut='o',typ=grma), - ), - ), - - b_env_sphere =BLOC(condition = "OPTION == 'ENV_SPHERE'", - regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),), - NOM =SIMP(statut='o',typ=grno), - POINT =SIMP(statut='f',typ='R' ,max=3), - NOEUD_CENTRE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1), - GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1), - RAYON =SIMP(statut='o',typ='R' ), - PRECISION =SIMP(statut='o',typ='R' ), - ), - b_env_cylindre =BLOC(condition = "OPTION == 'ENV_CYLINDRE'", - regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'), - UN_PARMI('ANGL_NAUT','VECT_NORMALE'),), - NOM =SIMP(statut='o',typ=grno), - POINT =SIMP(statut='f',typ='R' ,max=3), - NOEUD_CENTRE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1), - GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1), - RAYON =SIMP(statut='o',typ='R' ), - ANGL_NAUT =SIMP(statut='f',typ='R',max=3), - VECT_NORMALE =SIMP(statut='f',typ='R',max=3), - PRECISION =SIMP(statut='o',typ='R' ), - ), - b_env_plan =BLOC(condition = "OPTION == 'PLAN'", - regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'), - UN_PARMI('ANGL_NAUT','VECT_NORMALE'),), - NOM =SIMP(statut='o',typ=grno), - POINT =SIMP(statut='f',typ='R' ,max=3), - NOEUD_CENTRE =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1), - GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1), - ANGL_NAUT =SIMP(statut='f',typ='R' ,max=3), - VECT_NORMALE =SIMP(statut='f',typ='R' ,max=3), - PRECISION =SIMP(statut='o',typ='R' ), - ), - b_segm_droi_ordo=BLOC(condition = "OPTION == 'SEGM_DROI_ORDO'", - regles=(AU_MOINS_UN('NOEUD','GROUP_NO'), - UN_PARMI('NOEUD_ORIG','GROUP_NO_ORIG'), - UN_PARMI('NOEUD_EXTR','GROUP_NO_EXTR'),), - NOM =SIMP(statut='o',typ=grno), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_ORIG =SIMP(statut='f',typ=no), - GROUP_NO_ORIG =SIMP(statut='f',typ=grno), - NOEUD_EXTR =SIMP(statut='f',typ=no), - GROUP_NO_EXTR =SIMP(statut='f',typ=grno), - PRECISION =SIMP(statut='o',typ='R' ), - CRITERE =SIMP(statut='o',typ='TXM',into=("ABSOLU","RELATIF") ), - ), - b_noeud_ordo =BLOC(condition = "OPTION == 'NOEUD_ORDO'", - regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'), - EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),), - NOM =SIMP(statut='o',typ=grno), - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - # si le groupe de mailles forme une ligne ouverte, on peut choisir le sens de parcours en choissant l'origine: - # si le groupe de mailles forme une ligne fermée, il FAUT choisir l'origine et l'extrémité (= origine): - NOEUD_ORIG =SIMP(statut='f',typ=no), - GROUP_NO_ORIG =SIMP(statut='f',typ=grno), - NOEUD_EXTR =SIMP(statut='f',typ=no), - GROUP_NO_EXTR =SIMP(statut='f',typ=grno), - # si le groupe de mailles forme une ligne fermée, on peut choisir le sens de parcours : - VECT_ORIE =SIMP(statut='f',typ='R',max=3), # utilisé seulement si NOEUD_ORIG=NOEUD_EXTR - - ), - b_tunnel =BLOC(condition = "OPTION == 'TUNNEL'", - regles=(AU_MOINS_UN ('TOUT','GROUP_MA','MAILLE'), - EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'), - AU_MOINS_UN ('GROUP_MA_AXE','MAILLE_AXE'),), - NOM =SIMP(statut='o',typ=grma), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_AXE =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_AXE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - NOEUD_ORIG =SIMP(statut='f',typ=no), - GROUP_NO_ORIG =SIMP(statut='f',typ=grno), - RAYON =SIMP(statut='o',typ='R'), - LONGUEUR =SIMP(statut='f',typ='R'), - ), - b_inclusion =BLOC(condition = "OPTION == 'INCLUSION'", - fr="""crée le groupe des noeuds des mailles de GROUP_MA inclus géométriquement - dans les mailles de GROUP_MA_INCL""", - NOM =SIMP(statut='o',typ=grma), - CAS_FIGURE =SIMP(statut='o',typ='TXM',into=("2D","3D","2.5D",)), - DISTANCE_MAX =SIMP(statut='f',typ='R',), - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - GROUP_MA_INCL =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - MAILLAGE_INCL =SIMP(statut='f',typ=maillage_sdaster), - ), - b_fiss_xfem =BLOC(condition = "OPTION == 'FISS_XFEM'", - NOM =SIMP(statut='o',typ=grma), - TYPE_GROUP =SIMP(statut='o',typ='TXM',max=1,into=('HEAVISIDE','CRACKTIP','MIXTE','XFEM','ZONE_MAJ','TORE')), - FISSURE =SIMP(statut='o',typ=fiss_xfem,min=1,max='**'), - b_rayon =BLOC(condition = "TYPE_GROUP == 'TORE'", - RAYON_TORE =SIMP(statut='o',typ='R',max=1,val_min=0.0), - ), - ), - b_intervalle_vale =BLOC(condition = "OPTION == 'INTERVALLE_VALE'", - NOM =SIMP(statut='o',typ=grma), - CHAM_GD =SIMP(statut='o',typ=cham_no_sdaster), - NOM_CMP =SIMP(statut='o',typ='TXM',max=1), - VALE =SIMP(statut='o',typ='R',min=2,max=2), - ), - ), - ALARME =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - INFO =SIMP(statut='f',typ='I',into=( 1 , 2 ) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr - -DEFI_INTE_SPEC=OPER(nom="DEFI_INTE_SPEC",op= 115, - sd_prod=interspectre, - reentrant='n', - fr="Définit une matrice interspectrale", - UIinfo={"groupes":("Fonctions",)}, - - DIMENSION =SIMP(statut='f',typ='I',defaut= 1 ), - - regles=(UN_PARMI('PAR_FONCTION','KANAI_TAJIMI','CONSTANT'),), - - PAR_FONCTION =FACT(statut='f',max='**', - regles=(UN_PARMI('NUME_ORDRE_I','NOEUD_I'),), - NOEUD_I =SIMP(statut='f',typ=no,max=1,), - NUME_ORDRE_I =SIMP(statut='f',typ='I',max=1), - b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None", - NUME_ORDRE_J =SIMP(statut='o',typ='I',max=1), - ), - b_noeud_i = BLOC (condition = "NOEUD_I != None", - NOEUD_J =SIMP(statut='o',typ=no,max=1,), - NOM_CMP_I =SIMP(statut='o',typ='TXM',max=1,), - NOM_CMP_J =SIMP(statut='o',typ='TXM',max=1,), - ), - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c ),max=1), - ), - - KANAI_TAJIMI =FACT(statut='f',max='**', - regles=(EXCLUS('VALE_R','VALE_C'), - UN_PARMI('NUME_ORDRE_I','NOEUD_I'),), - NUME_ORDRE_I =SIMP(statut='f',typ='I',max=1), - NOEUD_I =SIMP(statut='f',typ=no,max=1,), - b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None", - NUME_ORDRE_J =SIMP(statut='o',typ='I',max=1), - ), - b_noeud_i = BLOC (condition = "NOEUD_I != None", - NOEUD_J =SIMP(statut='o',typ=no,max=1,), - NOM_CMP_I =SIMP(statut='o',typ='TXM',max=1,), - NOM_CMP_J =SIMP(statut='o',typ='TXM',max=1,), - ), - FREQ_MIN =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - FREQ_MAX =SIMP(statut='f',typ='R',defaut= 100. ), - PAS =SIMP(statut='f',typ='R',defaut= 1. ), - AMOR_REDUIT =SIMP(statut='f',typ='R',defaut= 0.6 ), - FREQ_MOY =SIMP(statut='f',typ='R',defaut= 5. ), - VALE_R =SIMP(statut='f',typ='R' ), - VALE_C =SIMP(statut='f',typ='C' ), - INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ), - PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - ), - CONSTANT =FACT(statut='f',max='**', - regles=(EXCLUS('VALE_R','VALE_C'), - UN_PARMI('NUME_ORDRE_I','NOEUD_I'),), - NUME_ORDRE_I =SIMP(statut='f',typ='I',max=1), - NOEUD_I =SIMP(statut='f',typ=no,max=1,), - b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None", - NUME_ORDRE_J =SIMP(statut='o',typ='I',max=1), - ), - b_noeud_i = BLOC (condition = "NOEUD_I != None", - NOEUD_J =SIMP(statut='o',typ=no,max=1,), - NOM_CMP_I =SIMP(statut='o',typ='TXM',max=1,), - NOM_CMP_J =SIMP(statut='o',typ='TXM',max=1,), - ), - FREQ_MIN =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - FREQ_MAX =SIMP(statut='f',typ='R',defaut= 100. ), - PAS =SIMP(statut='f',typ='R',defaut= 1. ), - VALE_R =SIMP(statut='f',typ='R' ), - VALE_C =SIMP(statut='f',typ='C' ), - INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ), - PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.corus at edf.fr - -DEFI_INTERF_DYNA=OPER(nom="DEFI_INTERF_DYNA",op= 98,sd_prod=interf_dyna_clas, - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs","Dynamique",)}, - fr="Définir les interfaces d'une structure et leur affecter un type", - NUME_DDL =SIMP(statut='o',typ=nume_ddl_sdaster ), - INTERFACE =FACT(statut='o',max='**', - regles=(ENSEMBLE('NOM','TYPE'), -# erreur doc U sur la condition qui suit - UN_PARMI('NOEUD','GROUP_NO'),), - NOM =SIMP(statut='f',typ='TXM' ), - TYPE =SIMP(statut='f',typ='TXM',into=("MNEAL","CRAIGB","CB_HARMO","AUCUN") ), - NOEUD =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,max='**'), -# DDL_ACTIF =SIMP(statut='f',typ='TXM',max='**'), - MASQUE =SIMP(statut='f',typ='TXM',max='**'), - ), - FREQ =SIMP(statut='f',typ='R',defaut= 1.), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -DEFI_LIST_ENTI=OPER(nom="DEFI_LIST_ENTI",op=22,sd_prod=listis_sdaster, - fr="Définir une liste d'entiers strictement croissante", - reentrant='n', - UIinfo={"groupes":("Fonctions",)}, - - OPERATION =SIMP(statut='o',typ='TXM',defaut='DEFI',into=('DEFI','NUME_ORDRE',)), - - - # définition d'une liste d'entiers - #---------------------------------- - b_defi =BLOC(condition = "OPERATION == 'DEFI'", - regles=(UN_PARMI('VALE','DEBUT'), - EXCLUS('VALE','INTERVALLE'),), - VALE =SIMP(statut='f',typ='I',max='**'), - DEBUT =SIMP(statut='f',typ='I'), - INTERVALLE =FACT(statut='f',max='**', - regles=(UN_PARMI('NOMBRE','PAS'),), - JUSQU_A =SIMP(statut='o',typ='I'), - NOMBRE =SIMP(statut='f',typ='I',val_min=1,), - PAS =SIMP(statut='f',typ='I',val_min=1,), - ), - ), - - - # extraction d'une liste de nume_ordre dans une sd_resultat : - #------------------------------------------------------------ - b_extr =BLOC(condition = "OPERATION == 'NUME_ORDRE'", - RESULTAT =SIMP(statut='o',typ=resultat_sdaster), - PARAMETRE =SIMP(statut='o',typ='TXM',), - INTERV_R =SIMP(statut='o',typ='R',min=2,max=2), - ), - - - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.brie at edf.fr -DEFI_LIST_FREQ=MACRO(nom="DEFI_LIST_FREQ", - op=OPS('Macro.defi_list_freq_ops.defi_list_freq_ops'), - sd_prod=listr8_sdaster, - fr="Définir une liste de fréquences strictement croissante", - reentrant='n', - UIinfo={"groupes":("Fonctions",)}, - regles=(UN_PARMI('VALE','DEBUT',), - EXCLUS('VALE','INTERVALLE'), - ENSEMBLE('DEBUT','INTERVALLE')), - VALE =SIMP(statut='f',typ='R',max='**'), - DEBUT =SIMP(statut='f',typ='R'), - INTERVALLE =FACT(statut='f',max='**', - regles=(UN_PARMI('NOMBRE','PAS'),), - JUSQU_A =SIMP(statut='o',typ='R'), - NOMBRE =SIMP(statut='f',typ='I'), - PAS =SIMP(statut='f',typ='R'), - ), - RAFFINEMENT =FACT(statut='f', - LIST_RAFFINE =SIMP(statut='o',typ='R',max='**'), - NB_POINTS =SIMP(statut='f',typ='I',defaut=5), - PAS_MINI =SIMP(statut='f',typ='R',defaut=0.001), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU","LARGEUR_3DB")), - b_crit_rela_abs=BLOC(condition="(CRITERE=='RELATIF' or CRITERE=='ABSOLU')", - DISPERSION =SIMP(statut='f',typ='R',defaut=0.01),), - b_crit_larg=BLOC(condition="(CRITERE=='LARGEUR_3DB')", - AMOR_MODAL =FACT(statut='o', - regles = UN_PARMI('AMOR_REDUIT','LIST_AMOR'), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ),),), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - - - -# Bloc pour decoupe automatique -bloc_auto =BLOC(fr = "Subdivision de type automatique", - condition = "SUBD_METHODE == 'AUTO'", - SUBD_PAS_MINI = SIMP(fr = "Pas de temps en dessous duquel on ne subdivise plus", - statut = 'f', - typ = 'R', - val_min = 0.0, - max = 1, - defaut = 0., - ), - ) - -# Bloc pour decoupe manuel -bloc_manu =BLOC(fr = "Subdivision de type manuel", - condition = "SUBD_METHODE == 'MANUEL'", - regles = (AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),), - SUBD_PAS = SIMP(fr = "Nombre de subdivision d'un pas de temps", - statut = 'f', - typ = 'I', - val_min = 2, - max = 1, - defaut = 4, - ), - - SUBD_NIVEAU = SIMP(fr = "Nombre maximum de niveau de subdivision d'un pas de temps", - statut = 'f', - typ = 'I', - val_min = 2, - max = 1, - defaut = 3, - ), - SUBD_PAS_MINI = SIMP(fr = "Pas de temps en dessous duquel on ne subdivise plus", - statut = 'f', - typ = 'R', - val_min = 0.0, - max = 1, - defaut = 0., - ), - ) - -# Bloc pour decoupe automatique - Cas de la collision -bloc_auto2 =BLOC(fr = "Subdivision de type automatique", - condition = "SUBD_METHODE == 'AUTO'", - SUBD_INST = SIMP(fr = "Parametre de decoupe fine du pas de temps", - statut = 'o', - typ = 'R', - val_min = 0.0, - max = 1, - ), - SUBD_DUREE = SIMP(fr = "Duree de decoupe apres collision", - statut = 'o', - typ = 'R', - val_min = 0.0, - max = 1, - ), - ) - -# Bloc pour decoupe du pas de temps -bloc_deco =BLOC(fr = "Action de decoupe du pas temps", - condition = "ACTION == 'DECOUPE' or ACTION == 'REAC_PRECOND' or ACTION == 'AUTRE_PILOTAGE'", - SUBD_METHODE = SIMP(fr = "Méthode de subdivision des pas de temps en cas de divergence", - statut = 'f', - typ = 'TXM', - max = 1, - into = ("MANUEL","AUTO"), - defaut = "MANUEL", - ), - b_deco_manu = bloc_manu, - b_deco_auto = bloc_auto, - ) - - -# Bloc pour decoupe du pas de temps - special pour collision -bloc_deco2 =BLOC(fr = "Action de decoupe du pas temps", - condition = "ACTION == 'DECOUPE'", - SUBD_METHODE = SIMP(fr = "Méthode de subdivision des pas de temps en cas de collision", - statut = 'f', - typ = 'TXM', - max = 1, - into = ("MANUEL","AUTO"), - defaut = "AUTO", - ), - - - - b_deco_manu = bloc_manu, - b_deco_auto = bloc_auto2, - ) - -# Bloc pour extrapolation du nombre d'iterations de Newton -bloc_supp =BLOC(fr = "Action d'extrapolation du nombre d'iterations de Newton", - condition = "ACTION == 'ITER_SUPPL'", - PCENT_ITER_PLUS = SIMP(fr = "Pourcentage d'itérations autorisées en plus", - statut = 'f', - typ = 'I', - val_min = 20, - max = 1, - defaut = 50, - ), - SUBD_METHODE = SIMP(fr = "Méthode de subdivision des pas de temps en cas de divergence", - statut = 'f', - typ = 'TXM', - max = 1, - into = ("MANUEL","AUTO"), - defaut = "MANUEL", - ), - b_deco_manu = bloc_manu, - b_deco_auto = bloc_auto, - ) - -# Bloc pour adaptation du coefficient de penalisation -bloc_pene =BLOC(fr = "Action d' adaptation du coefficient de penalisation", - condition = "ACTION == 'ADAPT_COEF_PENA'", - COEF_MAXI = SIMP(fr = "Coefficient multiplicateur maximum du coefficient de penalisation", - statut = 'f', - typ = 'R', - val_min = 1., - max = 1, - defaut = 1E12, - ), - ) - -DEFI_LIST_INST = OPER(nom="DEFI_LIST_INST",op= 28,sd_prod=list_inst,reentrant='n', - UIinfo={"groupes":("Fonctions",)}, - fr="Définition de la gestion de la liste d'instants", - -# ---------------------------------------------------------------------------------------------------------------------------------- -# mot-cle pour la definition a priori de la liste d'instant -# ---------------------------------------------------------------------------------------------------------------------------------- - -DEFI_LIST =FACT(fr = "Definition a priori de la liste d'instants", - statut = 'o', - max = 1, - METHODE = SIMP(fr = "Methode de definition de la liste d'instants", - statut = 'o', - typ = 'TXM', - max = 1, - position = 'global', - into = ("MANUEL","AUTO",), - defaut = "MANUEL", - ), - b_manuel = BLOC(fr = "Liste d'instants donnée par l'utilisateur", - condition = "METHODE == 'MANUEL' ", - regles=(UN_PARMI('LIST_INST','VALE','RESULTAT'), - PRESENT_PRESENT('RESULTAT','SUBD_PAS'),), - VALE = SIMP(statut = 'f', - typ = 'R', - max = '**'), - LIST_INST = SIMP(statut = 'f', - typ = listr8_sdaster, - ), - RESULTAT = SIMP(statut = 'f', - typ = resultat_sdaster, - ), - SUBD_PAS = SIMP(statut = 'f', - typ = 'I', - max = 1, - val_min = 1, - ), - - ), - b_auto = BLOC(fr = "Gestion automatique de la liste d'instants", - condition = "(METHODE == 'AUTO') ", - regles=(UN_PARMI('LIST_INST','VALE',),), - VALE = SIMP(statut = 'f', - typ = 'R', - max = '**'), - LIST_INST = SIMP(statut = 'f', - typ = listr8_sdaster, - ), - PAS_MINI = SIMP(statut = 'f', - typ = 'R', - max = 1, - val_min = 1.e-12, - ), - PAS_MAXI = SIMP(statut = 'f', - typ = 'R', - max = 1, - ), - NB_PAS_MAXI = SIMP(statut = 'f', - typ = 'I', - max = 1, - val_max = 1000000, - defaut = 1000000, - ), - ), - ), -# ---------------------------------------------------------------------------------------------------------------------------------- -# mot-cle pour le comportement en cas d'echec (on doit recommencer le meme instant) -# ---------------------------------------------------------------------------------------------------------------------------------- - -ECHEC =FACT(fr = "Comportement en cas d'echec", - statut = 'd', - max = '**', - EVENEMENT = SIMP(fr = "Type de l'evenement", - statut = 'f', - typ = 'TXM', - max = 1, - into = ("ERREUR","DELTA_GRANDEUR","COLLISION", - "INTERPENETRATION","DIVE_RESI","INSTABILITE"), - defaut = "ERREUR", - ), - b_erreur = BLOC(fr = "Event: erreur ou iter_maxi", - condition = "EVENEMENT == 'ERREUR' ", - ACTION = SIMP(fr = "Actions possibles", - statut = 'f', - max = 1, - typ = 'TXM', - into = ("ARRET","DECOUPE","REAC_PRECOND", - "ITER_SUPPL","AUTRE_PILOTAGE"), - defaut = "DECOUPE", - ), - b_deco = bloc_deco, - b_supp = bloc_supp, - ), - b_edelta = BLOC(fr = "Event: l'increment d'une composante d'un champ depasse le seuil", - condition = "EVENEMENT == 'DELTA_GRANDEUR' ", - VALE_REF = SIMP(fr = "Valeur du seuil", - statut = 'o', - typ = 'R', - max = 1, - ), - NOM_CHAM = SIMP(fr = "Nom du champ", - statut = 'o', - typ = 'TXM', - max = 1, - into = ("DEPL","VARI_ELGA","SIEF_ELGA",), - ), - NOM_CMP = SIMP(fr = "Nom de la composante", - statut = 'o', - typ = 'TXM', - max = 1, - ), - ACTION = SIMP(fr = "Actions possibles", - statut = 'f', - max = 1, - typ = 'TXM', - into = ("ARRET","DECOUPE",), - defaut = "DECOUPE", - ), - b_deco = bloc_deco, - ), - b_colli = BLOC(fr = "Event: collision", - condition = "EVENEMENT == 'COLLISION' ", - ACTION = SIMP(fr = "Actions possibles", - statut = 'f', - max = 1, - typ = 'TXM', - into = ("ARRET","DECOUPE",), - defaut = "DECOUPE", - ), - b_deco2 = bloc_deco2, - ), - b_penetration = BLOC(fr = "Event: interpenetration des surfaces en contact", - condition = "EVENEMENT == 'INTERPENETRATION' ", - PENE_MAXI = SIMP(fr = "Valeur maxi de l'interpenetration", - statut = 'o', - typ = 'R', - max = 1, - ), - - - ACTION = SIMP(fr = "Actions possibles", - statut = 'f', - max = 1, - typ = 'TXM', - into = ("ARRET","ADAPT_COEF_PENA",), - defaut = "ADAPT_COEF_PENA", - ), - b_pene = bloc_pene, - ), - b_dive_resi = BLOC(fr = "Event: divergence du residu", - condition = "EVENEMENT == 'DIVE_RESI' ", - ACTION = SIMP(fr = "Actions possibles", - statut = 'f', - max = 1, - typ = 'TXM', - into = ("DECOUPE",), - defaut = "DECOUPE", - ), - b_deco = bloc_deco, - ), - b_instabilite = BLOC(fr = "Event: instabilite", - condition = "EVENEMENT == 'INSTABILITE' ", - ACTION = SIMP(fr = "Actions possibles", - statut = 'f', - max = 1, - typ = 'TXM', - into = ("ARRET","CONTINUE",), - defaut = "CONTINUE", - ), - ), - - ), - -# ---------------------------------------------------------------------------------------------------------------------------------- -# Mot-cle pour le comportement en cas de succes (on a bien converge) -# ---------------------------------------------------------------------------------------------------------------------------------- - -b_adap = BLOC(condition="METHODE == 'AUTO'", - -ADAPTATION =FACT(fr = "Parametres de l'evenement declencheur de l'adaptation du pas de temps", - statut = 'd', - max = '**', - EVENEMENT = SIMP(fr = "Nom de l'evenement declencheur de l'adaptation", - statut = 'f', - max = 1, - typ = 'TXM', - into = ("SEUIL","TOUT_INST","AUCUN"), - defaut = "SEUIL", - ), - b_adap_seuil = BLOC(fr = "Seuil d'adaptation", - condition = "EVENEMENT == 'SEUIL' ", - regles = (PRESENT_PRESENT('NB_INCR_SEUIL','NOM_PARA',), - PRESENT_PRESENT('NB_INCR_SEUIL','CRIT_COMP',), - PRESENT_PRESENT('NB_INCR_SEUIL','CRIT_COMP',),), - NB_INCR_SEUIL = SIMP(statut = 'f', - typ = 'I', - defaut = 2, - ), - NOM_PARA = SIMP(statut = 'f', - typ = 'TXM', - into = ("NB_ITER_NEWTON",), - defaut = "NB_ITER_NEWTON", - ), - CRIT_COMP = SIMP(statut = 'f', - typ = 'TXM', - into = ("LT","GT","LE","GE"), - defaut = "LE", - ), - b_vale_I = BLOC(fr = "Valeur entiere", - condition = "NOM_PARA == 'NB_ITER_NEWTON' ", - VALE_I = SIMP(statut='f',typ='I',), - ), - ), - - -# -# Parametres du mode de calcul de dt+ -# dans le cas FIXE :(deltaT+) = (deltaT-)x(1+PCENT_AUGM/100) -# dans le cas DELTA_GRANDEUR : (deltaT+) = (deltaT-)x(VALREF/deltaVAL) : l'acceleration est inversement proportionnelle -# a la variation de la grandeur -# dans le cas ITER_NEWTON : (deltaT+) = (deltaT-) x sqrt(VALREF/N) : l'acceleration est inversement proportionnelle -# au nombre d'iterations de Newton precedent - - MODE_CALCUL_TPLUS = SIMP(fr = "Parametres du mode de calcul de dt+", - statut = 'f', - max = 1, - typ = 'TXM', - into = ("FIXE","DELTA_GRANDEUR","ITER_NEWTON","IMPLEX"), - defaut = 'FIXE', - ), - - b_mfixe = BLOC(fr = "Mode de calcul de dt+: fixe", - condition = "MODE_CALCUL_TPLUS == 'FIXE' ", - PCENT_AUGM = SIMP(statut = 'f', - max = 1, - typ = 'R', - defaut = 100., - val_min = -100., - ), - ), - b_mdelta = BLOC(fr = "Mode de calcul de dt+: increment d'une grandeur", - condition = "MODE_CALCUL_TPLUS == 'DELTA_GRANDEUR' ", - VALE_REF = SIMP(statut = 'o', - max = 1, - typ = 'R', - ), - NOM_CHAM = SIMP(statut = 'o', - max = 1, - typ = 'TXM', - into = ("DEPL","VARI_ELGA","SIEF_ELGA",), - ), - NOM_CMP = SIMP(statut = 'o', - max = 1, - typ = 'TXM',), - ), - b_mitnew = BLOC(fr = "Mode de calcul de dt+: nb iterations de Newton", - condition = "MODE_CALCUL_TPLUS == 'ITER_NEWTON' ", - NB_ITER_NEWTON_REF= SIMP(statut = 'o', - max = 1, - typ = 'I', - ), - ), -# les schemas pre-definis : -# abaqus : -# EVENEMENT ='SEUIL' -# NB_INCR_SEUIL = 2 -# NOM_PARA ='NB_ITER_NEWTON' -# CRIT_COMP ='LE' -# VALE_I = 5 -# MODE_CALCUL_TPLUS ='FIXE' -# PCENT_AUGM = 50. -# Zebulon 1 : -# EVENEMENT ='TOUT_INST' -# MODE_CALCUL_TPLUS ='DELTA_GRANDEUR' -# VALE_REF = valref -# NOM_CHAM ='VARI_ELGA' -# NOM_CMP ='V1' -# Zebulon 2 : -# EVENEMENT ='TOUT_INST' -# MODE_CALCUL_TPLUS ='ITER_NEWTON' -# NB_ITER_NEWTON_REF= nc -# Tough2 : -# EVENEMENT ='SEUIL' -# NB_INCR_SEUIL = 1 -# NOM_PARA ='NB_ITER_NEWTON' -# CRIT_COMP ='LE' -# VALE_I = n -# MODE_CALCUL_TPLUS ='FIXE' -# PCENT_AUGM = 100. -# Oliver : -# EVENEMENT ='TOUT_INST' -# MODE_CALCUL_TPLUS ='FORMULE' -# NOM_SCHEMA ='OLIVER' - - ), - ), -# ---------------------------------------------------------------------------------------------------------------------------------- - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -DEFI_LIST_REEL=OPER(nom="DEFI_LIST_REEL",op=24,sd_prod=listr8_sdaster, - fr="Définir une liste de réels strictement croissante", - reentrant='n', - UIinfo={"groupes":("Fonctions",)}, - regles=(UN_PARMI('VALE','DEBUT',), - EXCLUS('VALE','INTERVALLE'), - ENSEMBLE('DEBUT','INTERVALLE')), - VALE =SIMP(statut='f',typ='R',max='**'), - DEBUT =SIMP(statut='f',typ='R'), - INTERVALLE =FACT(statut='f',max='**', - regles=(UN_PARMI('NOMBRE','PAS'),), - JUSQU_A =SIMP(statut='o',typ='R'), - NOMBRE =SIMP(statut='f',typ='I'), - PAS =SIMP(statut='f',typ='R'), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op= 88,sd_prod=maillage_sdaster, - fr="Définition d'un nouveau maillage à partir de macro-éléments", - reentrant='n', - UIinfo={"groupes":("Maillage",)}, - DEFI_SUPER_MAILLE =FACT(statut='o',max='**', - MACR_ELEM =SIMP(statut='o',typ=(macr_elem_stat,macr_elem_dyna),max='**' ), - SUPER_MAILLE =SIMP(statut='f',typ=ma,max='**'), - TRAN =SIMP(statut='f',typ='R',max=3), - ANGL_NAUT =SIMP(statut='f',typ='R',max=3), - b_angl_naut =BLOC(condition = "ANGL_NAUT != None", - CENTRE =SIMP(statut='f',typ='R',max=3), - ), - ), - RECO_GLOBAL =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','SUPER_MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - SUPER_MAILLE =SIMP(statut='f',typ=ma,max='**'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ), - RECO_SUPER_MAILLE =FACT(statut='f',max='**', - SUPER_MAILLE =SIMP(statut='o',typ=ma,max='**'), - GROUP_NO =SIMP(statut='o',typ=grno,max='**'), - OPTION =SIMP(statut='f',typ='TXM',defaut="GEOMETRIQUE",into=("GEOMETRIQUE","NOEUD_A_NOEUD","INVERSE") ), - geometrique =BLOC(condition = "OPTION == 'GEOMETRIQUE'", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ), - ), - DEFI_NOEUD =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','NOEUD_INIT'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), - fr="Renommage de tous les noeuds" ), - NOEUD_INIT =SIMP(statut='f',typ=no, - fr="Renommage d un seul noeud"), - b_tout =BLOC(condition = "TOUT != None", - PREFIXE =SIMP(statut='f',typ='TXM' ), - INDEX =SIMP(statut='o',typ='I',max='**'), - ), - b_noeud_init =BLOC(condition = "NOEUD_INIT != None", - SUPER_MAILLE =SIMP(statut='o',typ=ma), - NOEUD_FIN =SIMP(statut='o',typ=no), - ), - ), - DEFI_GROUP_NO =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','SUPER_MAILLE'), - AU_MOINS_UN('INDEX','GROUP_NO_FIN'), - ENSEMBLE('GROUP_NO_INIT','GROUP_NO_FIN'),), -# la regle ancien catalogue AU_MOINS_UN__: ( INDEX , GROUP_NO_FIN ) incoherente avec doc U - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), - fr="Création de plusieurs groupes de noeuds" ), - SUPER_MAILLE =SIMP(statut='f',typ=ma, - fr="Création de plusieurs groupes de noeuds"), - GROUP_NO_INIT =SIMP(statut='f',typ=grno, - fr="Création d un seul groupe de noeuds"), - PREFIXE =SIMP(statut='f',typ='TXM' ), - INDEX =SIMP(statut='f',typ='I',max='**'), - GROUP_NO_FIN =SIMP(statut='f',typ=grno), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jean-luc.flejou at edf.fr - -DEFI_MATER_GC=MACRO(nom="DEFI_MATER_GC", - op=OPS('Macro.defi_mater_gc_ops.defi_mater_gc_ops'), - sd_prod=mater_sdaster, - reentrant='n', - UIinfo={"groupes":("Modélisation",) }, - fr="Définir des lois matériaux spécifique au Génie Civil", - # - regles = (UN_PARMI('MAZARS','ACIER','ENDO_FISS_EXP'), ), - # - REGLE =SIMP(statut='f',typ='TXM', into=('EC2',), defaut='EC2'), - # ============================================================================ - MAZARS =FACT(statut= 'f',max= 1, - fr="Paramètres matériaux de MAZARS unilatéral en 1D à partir des caractéristiques du béton", - UNITE_LONGUEUR =SIMP(statut='o',typ='TXM', into=("M","MM"), - fr="Unité de longueur du problème [M|MM]"), - FCJ =SIMP(statut='o',typ='R', val_min=0.0E+0, - fr="Contrainte au pic en compression [Unité]"), - EIJ =SIMP(statut='f',typ='R', val_min=0.0E+0, - fr="Module d'Young [Unité]"), - EPSI_C =SIMP(statut='f',typ='R', val_min=0.0E+0, - fr="Déformation au pic en compression"), - FTJ =SIMP(statut='f',typ='R', val_min=0.0E+0, - fr="Contrainte au pic en traction [Unité]"), - NU =SIMP(statut='f',typ='R', val_min=0.0E+0, val_max=0.5E+0, - fr="Coefficient de poisson"), - EPSD0 =SIMP(statut='f',typ='R', val_min=0.0E+0, - fr="Déformation, seuil d'endommagement"), - K =SIMP(statut='f',typ='R', val_min=0.0E+0, - fr="Asymptote en cisaillement pur"), - AC =SIMP(statut='f',typ='R', val_min=0.E+0, - fr="Paramètre de décroissance post-pic en compression"), - BC =SIMP(statut='f',typ='R', val_min=0.0E+0, - fr="Paramètre de décroissance post-pic en compression"), - AT =SIMP(statut='f',typ='R', val_min=0.0E+0, val_max=1.0E+0, - fr="Paramètre de décroissance post-pic en traction"), - BT =SIMP(statut='f',typ='R', val_min=0.0E+0, - fr="Paramètre de décroissance post-pic en traction"), - # Pour post-traitement ELS et ELU - SIGM_LIM =SIMP(statut='f',typ='R', fr="Contrainte limite, post-traitement"), - EPSI_LIM =SIMP(statut='f',typ='R', fr="Déformation limite, post-traitement"), - ), - # ============================================================================ - ACIER =FACT(statut= 'f',max= 1, - fr="Définir les paramètres matériaux de l'acier pour le Génie Civil", - E =SIMP(statut='o',typ='R', val_min=0.0E+0, fr="Module d'Young"), - SY =SIMP(statut='o',typ='R', fr="Limite élastique"), - NU =SIMP(statut='f',typ='R', val_min=0.0E+0, val_max=0.5E+0, fr="Coefficient de poisson"), - D_SIGM_EPSI =SIMP(statut='f',typ='R', fr="Module plastique"), - # Pour post-traitement ELS et ELU - SIGM_LIM =SIMP(statut='f',typ='R', fr="Contrainte limite, post-traitement"), - EPSI_LIM =SIMP(statut='f',typ='R', fr="Déformation limite, post-traitement"), - ), - # ============================================================================ - ENDO_FISS_EXP =FACT(statut= 'f',max= 1, - fr="Définir les paramètres matériaux du béton pour la loi ENDO_FISS_EXP", - regles = ( - UN_PARMI('FT','FT_FENDAGE'), - UN_PARMI('P','DSIG_DU'), - EXCLUS('Q','Q_REL'), - ), - E =SIMP(statut='o',typ='R', val_min=0.0E+0, fr="Module d'Young"), - NU =SIMP(statut='o',typ='R', val_min=0.0E+0, val_max=0.5E+0, fr="Coefficient de poisson"), - FT =SIMP(statut='f',typ='R', val_min=0.0E+0 , fr="Limite en traction simple"), - FT_FENDAGE =SIMP(statut='f',typ='R', val_min=0.0E+0 , fr="Limite en traction obtenue via un essai brésilien"), - FC =SIMP(statut='o',typ='R', val_min=0.0E+0 , fr="Limite en compression simple"), - GF =SIMP(statut='o',typ='R', val_min=0.0E+0 , fr="Energie de fissuration"), - P =SIMP(statut='f',typ='R', val_min=1.0E+0 , fr="Parametre dominant de la loi cohésive asymptotique"), - DSIG_DU =SIMP(statut='f',typ='R', val_min=1.102658 , fr="Pente initiale (au signe pres) de la loi cohesive asymptotique"), - Q =SIMP(statut='f',typ='R', val_min=0.0E+0 , fr="Parametre secondaire de la loi cohesive asymptotique"), - Q_REL =SIMP(statut='f',typ='R', val_min=0.0E+0, val_max=1.0 , fr="Parametre Q exprime de maniere relative par rapport a Qmax(P)"), - LARG_BANDE =SIMP(statut='o',typ='R', val_min=0.0E+0 , fr="Largeur de bande d'endommagement (2*D)"), - COEF_RIGI_MINI =SIMP(statut='f',typ='R', val_min=0.0, defaut = 0.0 , fr="Rigidite minimale dans la matrice tangente"), - ), - # ============================================================================ - INFO =SIMP(statut='f',typ='I', into=(1,2,), defaut=1), - RHO =SIMP(statut='f',typ='R', fr="Masse volumique"), - ALPHA =SIMP(statut='f',typ='R', fr="Coefficient de dilatation"), - AMOR_ALPHA =SIMP(statut='f',typ='R'), - AMOR_BETA =SIMP(statut='f',typ='R'), - AMOR_HYST =SIMP(statut='f',typ='R'), -) - - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr -DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster, - fr="Définition des paramètres décrivant le comportement d un matériau", - reentrant='f', - UIinfo={"groupes":("Modélisation",)}, - regles=(EXCLUS('ELAS','ELAS_FO','ELAS_FLUI','ELAS_ISTR','ELAS_ISTR_FO','ELAS_ORTH', - 'ELAS_ORTH_FO','ELAS_COQUE','ELAS_COQUE_FO', - 'ELAS_HYPER','ELAS_2NDG','ELAS_GLRC'), - EXCLUS('THER','THER_FO','THER_ORTH','THER_NL'), - EXCLUS('ECRO_LINE','ECRO_LINE_FO','ECRO_PUIS','ECRO_COOK','ECRO_COOK_FO',), - EXCLUS('ENDO_HETEROGENE'), - EXCLUS('TAHERI','TAHERI_FO'), - EXCLUS('ENDO_SCALAIRE','ENDO_SCALAIRE_FO'), - EXCLUS('ENDO_FISS_EXP','ENDO_FISS_EXP_FO'), - EXCLUS('ROUSSELIER','ROUSSELIER_FO'), - EXCLUS('VISC_SINH','VISC_SINH_FO'), - PRESENT_PRESENT('ROUSSELIER','TRACTION'), - PRESENT_PRESENT('ROUSSELIER_FO','TRACTION'), - EXCLUS('CIN1_CHAB','CIN1_CHAB_FO'), - EXCLUS('CIN2_CHAB','CIN2_CHAB_FO'), - EXCLUS('VISCOCHAB','VISCOCHAB_FO'), - EXCLUS('LEMAITRE','LEMAITRE_FO','VISC_IRRA_LOG', - 'LEMA_SEUIL','LEMA_SEUIL_FO','LEMAITRE_IRRA','LMARC_IRRA',), - EXCLUS('META_LEMA_ANI','META_LEMA_ANI_FO'), - EXCLUS('VENDOCHAB','VENDOCHAB_FO'), - EXCLUS('VISC_ENDO','VISC_ENDO_FO'), - PRESENT_PRESENT('BPEL_ACIER','ELAS'), - PRESENT_PRESENT('ETCC_ACIER','ELAS'), - EXCLUS('ETCC_ACIER','BPEL_ACIER'), - EXCLUS('ETCC_BETON','BPEL_BETON'), - - EXCLUS('RCCM','RCCM_FO'), - EXCLUS('WEIBULL','WEIBULL_FO'), - PRESENT_PRESENT('DHRC','DHRC_SEUILS'), - PRESENT_PRESENT('LAIGLE','ELAS'), - PRESENT_PRESENT('LETK','ELAS'), - PRESENT_PRESENT('DRUCK_PRAGER','ELAS'), - PRESENT_PRESENT('VISC_DRUC_PRAG','ELAS'), - PRESENT_PRESENT('ELAS_GONF','ELAS'), - PRESENT_PRESENT('HOEK_BROWN','ELAS'), - EXCLUS('MAZARS','MAZARS_FO'), - PRESENT_PRESENT('JOINT_BA','ELAS'), - PRESENT_PRESENT('CABLE','ELAS'), - PRESENT_PRESENT('MOHR_COULOMB','ELAS'), - PRESENT_PRESENT('ELAS_GLRC','GLRC_DM'), - ), - MATER =SIMP(statut='f',typ=mater_sdaster), -# -# comportement élastique -# - ELAS =FACT(statut='f', - E =SIMP(statut='o',typ='R',val_min=0.E+0), - NU =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=0.5E+0), - RHO =SIMP(statut='f',typ='R'), - ALPHA =SIMP(statut='f',typ='R'), - AMOR_ALPHA =SIMP(statut='f',typ='R'), - AMOR_BETA =SIMP(statut='f',typ='R'), - AMOR_HYST =SIMP(statut='f',typ='R'), - ), - ELAS_FO =FACT(statut='f', - regles=(PRESENT_PRESENT('ALPHA','TEMP_DEF_ALPHA'),), - E =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - NU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - RHO =SIMP(statut='f',typ='R'), - TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.), - ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - AMOR_ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - AMOR_BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - AMOR_HYST =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - K_DESSIC =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - B_ENDOGE =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - FONC_DESORP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ELAS_FLUI =FACT(statut='f', - E =SIMP(statut='o',typ='R'), - NU =SIMP(statut='o',typ='R'), - RHO =SIMP(statut='o',typ='R'), - PROF_RHO_F_INT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - PROF_RHO_F_EXT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COEF_MASS_AJOU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ELAS_ISTR =FACT(statut='f', - E_L =SIMP(statut='o',typ='R'), - E_N =SIMP(statut='o',typ='R'), - NU_LT =SIMP(statut='o',typ='R'), - NU_LN =SIMP(statut='o',typ='R'), - G_LN =SIMP(statut='o',typ='R'), - RHO =SIMP(statut='f',typ='R'), - ALPHA_L =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ALPHA_N =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ), - ELAS_ISTR_FO =FACT(statut='f', - regles=( - PRESENT_PRESENT('ALPHA_L','TEMP_DEF_ALPHA'), - PRESENT_PRESENT('ALPHA_N','TEMP_DEF_ALPHA'), - ), - E_L =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - E_N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - NU_LT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - NU_LN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G_LN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - RHO =SIMP(statut='f',typ='R'), - TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.), - ALPHA_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ALPHA_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ELAS_ORTH =FACT(statut='f', - E_L =SIMP(statut='o',typ='R'), - E_T =SIMP(statut='o',typ='R'), - E_N =SIMP(statut='f',typ='R'), - NU_LT =SIMP(statut='o',typ='R'), - NU_LN =SIMP(statut='f',typ='R'), - NU_TN =SIMP(statut='f',typ='R'), - G_LT =SIMP(statut='o',typ='R'), - G_LN =SIMP(statut='f',typ='R'), - G_TN =SIMP(statut='f',typ='R'), - RHO =SIMP(statut='f',typ='R'), - ALPHA_L =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ALPHA_T =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ALPHA_N =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - XT =SIMP(statut='f',typ='R',defaut= 1. ), - XC =SIMP(statut='f',typ='R',defaut= 1. ), - YT =SIMP(statut='f',typ='R',defaut= 1. ), - YC =SIMP(statut='f',typ='R',defaut= 1. ), - S_LT =SIMP(statut='f',typ='R',defaut= 1. ), - AMOR_ALPHA =SIMP(statut='f',typ='R'), - AMOR_BETA =SIMP(statut='f',typ='R'), - AMOR_HYST =SIMP(statut='f',typ='R'), - ), - ELAS_ORTH_FO =FACT(statut='f', - regles=( - PRESENT_PRESENT('ALPHA_L','TEMP_DEF_ALPHA'), - PRESENT_PRESENT('ALPHA_N','TEMP_DEF_ALPHA'), - PRESENT_PRESENT('ALPHA_T','TEMP_DEF_ALPHA'), - ), - E_L =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - E_T =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - E_N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - NU_LT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - NU_LN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - NU_TN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G_LT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G_LN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G_TN =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - RHO =SIMP(statut='f',typ='R'), - TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut= 1. ), - ALPHA_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ALPHA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ALPHA_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - AMOR_ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - AMOR_BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - AMOR_HYST =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ELAS_HYPER =FACT(statut='f', - regles=(UN_PARMI('K','NU'),), - C10 =SIMP(statut='o',typ='R', - fr="Si C10 est le seul coefficient fourni, alors le matériau est Néo-Hookéen."), - C01 =SIMP(statut='f',typ='R',defaut=0.0, - fr="Si l'on fournit C01 en plus de C10, on obtient un matériau de type Mooney-Rivlin."), - C20 =SIMP(statut='f',typ='R',defaut=0.0, - fr="Si l'on fournit C20 en plus de C10 et C01, on obtient un matériau de type Signorini."), - K =SIMP(statut='f',typ='R',fr="Module de compressibilité."), - NU =SIMP(statut='f',typ='R',val_min=-1.E+0,val_max=0.5E+0,fr="Coefficient de Poisson."), - RHO =SIMP(statut='f',typ='R',defaut=0.0,fr="Masse volumique."), - ), - ELAS_COQUE =FACT(statut='f', - regles=(EXCLUS('MEMB_L','M_LLLL',), - PRESENT_PRESENT('MEMB_L','MEMB_LT', 'MEMB_T','MEMB_G_LT','FLEX_L','FLEX_LT', - 'FLEX_T','FLEX_G_LT','CISA_L','CISA_T',), - PRESENT_PRESENT('M_LLLL','M_LLTT','M_LLLT','M_TTTT','M_TTLT','M_LTLT','F_LLLL', - 'F_LLTT','F_LLLT','F_TTTT','F_TTLT','F_LTLT','MF_LLLL', - 'MF_LLTT','MF_LLLT','MF_TTTT','MF_TTLT','MF_LTLT','MC_LLLZ', - 'MC_LLTZ','MC_TTLZ','MC_TTTZ','MC_LTLZ','MC_LTTZ','FC_LLLZ', - 'FC_LLTZ','FC_TTLZ','FC_TTTZ','FC_LTLZ','FC_LTTZ','C_LZLZ', - 'C_LZTZ','C_TZTZ'),), - MEMB_L =SIMP(statut='f',typ='R'), - MEMB_LT =SIMP(statut='f',typ='R'), - MEMB_T =SIMP(statut='f',typ='R'), - MEMB_G_LT =SIMP(statut='f',typ='R'), - FLEX_L =SIMP(statut='f',typ='R'), - FLEX_LT =SIMP(statut='f',typ='R'), - FLEX_T =SIMP(statut='f',typ='R'), - FLEX_G_LT =SIMP(statut='f',typ='R'), - CISA_L =SIMP(statut='f',typ='R'), - CISA_T =SIMP(statut='f',typ='R'), - M_LLLL =SIMP(statut='f',typ='R'), - M_LLTT =SIMP(statut='f',typ='R'), - M_LLLT =SIMP(statut='f',typ='R'), - M_TTTT =SIMP(statut='f',typ='R'), - M_TTLT =SIMP(statut='f',typ='R'), - M_LTLT =SIMP(statut='f',typ='R'), - F_LLLL =SIMP(statut='f',typ='R'), - F_LLTT =SIMP(statut='f',typ='R'), - F_LLLT =SIMP(statut='f',typ='R'), - F_TTTT =SIMP(statut='f',typ='R'), - F_TTLT =SIMP(statut='f',typ='R'), - F_LTLT =SIMP(statut='f',typ='R'), - MF_LLLL =SIMP(statut='f',typ='R'), - MF_LLTT =SIMP(statut='f',typ='R'), - MF_LLLT =SIMP(statut='f',typ='R'), - MF_TTTT =SIMP(statut='f',typ='R'), - MF_TTLT =SIMP(statut='f',typ='R'), - MF_LTLT =SIMP(statut='f',typ='R'), - MC_LLLZ =SIMP(statut='f',typ='R'), - MC_LLTZ =SIMP(statut='f',typ='R'), - MC_TTLZ =SIMP(statut='f',typ='R'), - MC_TTTZ =SIMP(statut='f',typ='R'), - MC_LTLZ =SIMP(statut='f',typ='R'), - MC_LTTZ =SIMP(statut='f',typ='R'), - FC_LLLZ =SIMP(statut='f',typ='R'), - FC_LLTZ =SIMP(statut='f',typ='R'), - FC_TTLZ =SIMP(statut='f',typ='R'), - FC_TTTZ =SIMP(statut='f',typ='R'), - FC_LTLZ =SIMP(statut='f',typ='R'), - FC_LTTZ =SIMP(statut='f',typ='R'), - C_LZLZ =SIMP(statut='f',typ='R'), - C_LZTZ =SIMP(statut='f',typ='R'), - C_TZTZ =SIMP(statut='f',typ='R'), - RHO =SIMP(statut='f',typ='R'), - ALPHA =SIMP(statut='f',typ='R'), - ), - ELAS_COQUE_FO =FACT(statut='f', - regles=(EXCLUS('MEMB_L','M_LLLL',), - PRESENT_PRESENT('MEMB_L','MEMB_LT','MEMB_T','MEMB_G_LT','FLEX_L','FLEX_LT', - 'FLEX_T','FLEX_G_LT','CISA_L','CISA_T',), - PRESENT_PRESENT('M_LLLL','M_LLTT','M_LLLT','M_TTTT','M_TTLT','M_LTLT','F_LLLL', - 'F_LLTT','F_LLLT','F_TTTT','F_TTLT','F_LTLT','MF_LLLL','MF_LLTT', - 'MF_LLLT','MF_TTTT','MF_TTLT','MF_LTLT','MC_LLLZ','MC_LLTZ', - 'MC_TTLZ','MC_TTTZ','MC_LTLZ','MC_LTTZ','FC_LLLZ','FC_LLTZ', - 'FC_TTLZ','FC_TTTZ','FC_LTLZ','FC_LTTZ','C_LZLZ','C_LZTZ','C_TZTZ'),), - MEMB_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MEMB_LT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MEMB_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MEMB_G_LT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FLEX_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FLEX_LT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FLEX_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FLEX_G_LT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - CISA_L =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - CISA_T =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - M_LLLL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - M_LLTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - M_LLLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - M_TTTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - M_TTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - M_LTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_LLLL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_LLTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_LLLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_TTTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_TTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_LTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MF_LLLL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MF_LLTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MF_LLLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MF_TTTT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MF_TTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MF_LTLT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MC_LLLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MC_LLTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MC_TTLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MC_TTTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MC_LTLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MC_LTTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FC_LLLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FC_LLTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FC_TTLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FC_TTTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FC_LTLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FC_LTTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_LZLZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_LZTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_TZTZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - RHO =SIMP(statut='f',typ='R'), - ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ELAS_MEMBRANE =FACT(statut='f', - M_LLLL =SIMP(statut='o',typ='R'), - M_LLTT =SIMP(statut='o',typ='R'), - M_LLLT =SIMP(statut='o',typ='R'), - M_TTTT =SIMP(statut='o',typ='R'), - M_TTLT =SIMP(statut='o',typ='R'), - M_LTLT =SIMP(statut='o',typ='R'), - RHO =SIMP(statut='f',typ='R'), - ALPHA =SIMP(statut='f',typ='R'), - ), - ELAS_2NDG =FACT(statut='f', - A1 =SIMP(statut='o',typ='R'), - A2 =SIMP(statut='f',typ='R'), - A3 =SIMP(statut='f',typ='R'), - A4 =SIMP(statut='f',typ='R'), - A5 =SIMP(statut='f',typ='R'), - ), - ELAS_GLRC =FACT(statut='f', - regles=(PRESENT_PRESENT('BT1','BT2'),), - E_M =SIMP(statut='o',typ='R',val_min=0.E+0), - NU_M =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=0.5+0), - E_F =SIMP(statut='f',typ='R',val_min=0.E+0), - NU_F =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=0.5+0), - BT1 =SIMP(statut='f',typ='R',val_min=0.E+0), - BT2 =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=0.5+0), - RHO =SIMP(statut='f',typ='R',val_min=0.E+0), - ALPHA =SIMP(statut='f',typ='R'), - AMOR_ALPHA =SIMP(statut='f',typ='R'), - AMOR_BETA =SIMP(statut='f',typ='R'), - AMOR_HYST =SIMP(statut='f',typ='R'), - ), - ELAS_GLRC_FO =FACT(statut='f', - regles=(PRESENT_PRESENT('ALPHA','TEMP_DEF_ALPHA'), - PRESENT_PRESENT('BT1','BT2'),), - E_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - NU_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - E_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - NU_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - BT1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - BT2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - RHO =SIMP(statut='f',typ='R'), - TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'), - ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - AMOR_ALPHA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - AMOR_BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - AMOR_HYST =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - CABLE =FACT(statut='f', - EC_SUR_E =SIMP(statut='f',typ='R',defaut= 1.E-4 ), - ), -# -# comportements mécanique non linéaire -# vérification du domaine de validité - VERI_BORNE =FACT(statut='f', - regles=(ENSEMBLE('TEMP_MAXI','TEMP_MINI'), - ), - EPSI_MAXI =SIMP(statut='f',typ='R'), - TEMP_MAXI =SIMP(statut='f',typ='R'), - TEMP_MINI =SIMP(statut='f',typ='R'), - VEPS_MAXI =SIMP(statut='f',typ='R'), - ), - TRACTION =FACT(statut='f', - SIGM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - - ), - ECRO_LINE =FACT(statut='f', - D_SIGM_EPSI =SIMP(statut='o',typ='R',), - SY =SIMP(statut='o',typ='R',), - SIGM_LIM =SIMP(statut='f',typ='R'), - EPSI_LIM =SIMP(statut='f',typ='R'), - ), - ENDO_HETEROGENE =FACT(statut='f', - WEIBULL =SIMP(statut='o',typ='R',), - SY =SIMP(statut='o',typ='R',), - KI =SIMP(statut='o',typ='R',), - EPAI =SIMP(statut='o',typ='R',), - GR =SIMP(statut='f',typ='R',defaut= 1.0), - ), - ECRO_LINE_FO =FACT(statut='f', - D_SIGM_EPSI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SY =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ECRO_PUIS =FACT(statut='f', - SY =SIMP(statut='o',typ='R',), - A_PUIS =SIMP(statut='o',typ='R',val_min=0.0), - N_PUIS =SIMP(statut='o',typ='R',val_min=1.E-6), - ), - ECRO_PUIS_FO =FACT(statut='f', - SY =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - A_PUIS =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - N_PUIS =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ECRO_COOK =FACT(statut='f', - regles=(PRESENT_PRESENT('C','EPSP0'), - PRESENT_PRESENT('TROOM','TMELT','M_PUIS'),), - A =SIMP(statut='o',typ='R',val_min=0.0), - B =SIMP(statut='o',typ='R',val_min=0.0), - C =SIMP(statut='f',typ='R',val_min=0.0), - N_PUIS =SIMP(statut='o',typ='R',val_min=0.0), - M_PUIS =SIMP(statut='f',typ='R',val_min=0.0), - EPSP0 =SIMP(statut='f',typ='R',val_min=1.E-6), - TROOM =SIMP(statut='f',typ='R',val_min=0.0), - TMELT =SIMP(statut='f',typ='R',val_min=0.0), - ), - ECRO_COOK_FO =FACT(statut='f', - regles=(PRESENT_PRESENT('C','EPSP0'), - PRESENT_PRESENT('TROOM','TMELT','M_PUIS'),), - A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C =SIMP(statut='f',typ='R',val_min=0.0), - N_PUIS =SIMP(statut='o',typ='R',val_min=0.0), - M_PUIS =SIMP(statut='f',typ='R',val_min=0.0), - EPSP0 =SIMP(statut='f',typ='R',val_min=1.E-6), - TROOM =SIMP(statut='f',typ='R',val_min=0.0), - TMELT =SIMP(statut='f',typ='R',val_min=0.0), - ), - BETON_ECRO_LINE =FACT(statut='f', - D_SIGM_EPSI =SIMP(statut='o',typ='R'), - SYT =SIMP(statut='o',typ='R'), - SYC =SIMP(statut='f',typ='R'), - ), - BETON_REGLE_PR =FACT(statut='f', - D_SIGM_EPSI =SIMP(statut='o',typ='R'), - SYT =SIMP(statut='o',typ='R'), - SYC =SIMP(statut='f',typ='R'), - EPSC =SIMP(statut='f',typ='R'), - N =SIMP(statut='f',typ='R'), - ), - ENDO_ORTH_BETON =FACT(statut='f', - ALPHA =SIMP(statut='f',typ='R',defaut=0.9), - K0 =SIMP(statut='o',typ='R'), - K1 =SIMP(statut='o',typ='R'), - K2 =SIMP(statut='f',typ='R',defaut=7.E-4), - ECROB =SIMP(statut='o',typ='R'), - ECROD =SIMP(statut='o',typ='R'), - ), - PRAGER =FACT(statut='f', - C =SIMP(statut='o',typ='R'), - ), - PRAGER_FO =FACT(statut='f', - C =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - TAHERI =FACT(statut='f', - R_0 =SIMP(statut='o',typ='R'), - ALPHA =SIMP(statut='o',typ='R'), - M =SIMP(statut='o',typ='R'), - A =SIMP(statut='o',typ='R'), - B =SIMP(statut='o',typ='R'), - C1 =SIMP(statut='o',typ='R'), - C_INF =SIMP(statut='o',typ='R'), - S =SIMP(statut='o',typ='R'), - ), - TAHERI_FO =FACT(statut='f', - R_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ALPHA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_INF =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - S =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ROUSSELIER =FACT(statut='f', - D =SIMP(statut='o',typ='R'), - SIGM_1 =SIMP(statut='o',typ='R'), - PORO_INIT =SIMP(statut='o',typ='R'), - PORO_CRIT =SIMP(statut='f',typ='R',defaut= 1. ), - PORO_ACCE =SIMP(statut='f',typ='R',defaut= 1. ), - PORO_LIMI =SIMP(statut='f',typ='R',defaut= 0.999 ), - D_SIGM_EPSI_NORM=SIMP(statut='f',typ='R',defaut= 1. ), - AN =SIMP(statut='f',typ='R',defaut= 0. ), - DP_MAXI =SIMP(statut='f',typ='R',defaut= 0.1), - BETA =SIMP(statut='f',typ='R',defaut=0.85), - ), - ROUSSELIER_FO =FACT(statut='f', - D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - PORO_INIT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - PORO_CRIT =SIMP(statut='f',typ='R',defaut= 1. ), - PORO_ACCE =SIMP(statut='f',typ='R',defaut= 1. ), - PORO_LIMI =SIMP(statut='f',typ='R',defaut= 0.999 ), - D_SIGM_EPSI_NORM=SIMP(statut='f',typ='R',defaut= 1. ), - AN =SIMP(statut='f',typ='R',defaut= 0. ), - DP_MAXI =SIMP(statut='f',typ='R',defaut= 0.1), - BETA =SIMP(statut='f',typ='R',defaut=0.85), - ), - VISC_SINH =FACT(statut='f', - SIGM_0 =SIMP(statut='o',typ='R'), - EPSI_0 =SIMP(statut='o',typ='R'), - M =SIMP(statut='o',typ='R'), - ), - VISC_SINH_FO =FACT(statut='f', - SIGM_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPSI_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - CIN1_CHAB =FACT(statut='f', - R_0 =SIMP(statut='o',typ='R'), - R_I =SIMP(statut='f',typ='R'), - B =SIMP(statut='f',typ='R',defaut= 0.0E+0), - C_I =SIMP(statut='o',typ='R'), - K =SIMP(statut='f',typ='R',defaut= 1.0E+0), - W =SIMP(statut='f',typ='R',defaut= 0.0E+0), - G_0 =SIMP(statut='o',typ='R'), - A_I =SIMP(statut='f',typ='R',defaut= 1.0E+0), - ), - CIN1_CHAB_FO =FACT(statut='f', - R_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - R_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - W =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - A_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - CIN2_CHAB =FACT(statut='f', - R_0 =SIMP(statut='o',typ='R'), - R_I =SIMP(statut='f',typ='R'), - B =SIMP(statut='f',typ='R',defaut= 0.E+0), - C1_I =SIMP(statut='o',typ='R'), - C2_I =SIMP(statut='o',typ='R'), - K =SIMP(statut='f',typ='R',defaut= 1.), - W =SIMP(statut='f',typ='R',defaut= 0.E+0), - G1_0 =SIMP(statut='o',typ='R'), - G2_0 =SIMP(statut='o',typ='R'), - A_I =SIMP(statut='f',typ='R',defaut= 1.E+0 ), - ), - CIN2_CHAB_FO =FACT(statut='f', - R_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - R_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C1_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C2_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - W =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G1_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G2_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - A_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - CIN2_NRAD =FACT(statut='f', - DELTA1 =SIMP(statut='f',typ='R',defaut= 1.E+0,val_min=0.E+0, val_max=1.E+0), - DELTA2 =SIMP(statut='f',typ='R',defaut= 1.E+0,val_min=0.E+0, val_max=1.E+0), - ), - MEMO_ECRO =FACT(statut='f', - MU =SIMP(statut='o',typ='R'), - Q_M =SIMP(statut='o',typ='R'), - Q_0 =SIMP(statut='o',typ='R'), - ETA =SIMP(statut='f',typ='R',defaut= 0.5E+0 ), - ), - MEMO_ECRO_FO =FACT(statut='f', - MU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - Q_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - Q_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ETA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - VISCOCHAB =FACT(statut='f', - K_0 =SIMP(statut='o',typ='R'), - A_K =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - A_R =SIMP(statut='f',typ='R',defaut= 1.E+0 ), - K =SIMP(statut='o',typ='R'), - N =SIMP(statut='o',typ='R'), - ALP =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - B =SIMP(statut='f',typ='R'), - M_R =SIMP(statut='f',typ='R',defaut= 1.E+0 ), - G_R =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - MU =SIMP(statut='o',typ='R',defaut= 0.E+0 ), - Q_M =SIMP(statut='o',typ='R'), - Q_0 =SIMP(statut='o',typ='R'), - QR_0 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ETA =SIMP(statut='f',typ='R',defaut= 0.5E+0 ), - C1 =SIMP(statut='o',typ='R'), - M_1 =SIMP(statut='f',typ='R',defaut= 1.E+0 ), - D1 =SIMP(statut='f',typ='R',defaut= 1.E+0 ), - G_X1 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - G1_0 =SIMP(statut='o',typ='R'), - C2 =SIMP(statut='o',typ='R'), - M_2 =SIMP(statut='f',typ='R',defaut= 1.E+0 ), - D2 =SIMP(statut='f',typ='R',defaut= 1.E+0 ), - G_X2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - G2_0 =SIMP(statut='o',typ='R'), - A_I =SIMP(statut='f',typ='R',defaut= 1.E+0 ), - ), - VISCOCHAB_FO =FACT(statut='f', - K_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - A_K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - A_R =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ALP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - B =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - M_R =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G_R =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - MU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - Q_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - Q_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - QR_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ETA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - M_1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G_X1 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G1_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - M_2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G_X2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - G2_0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - A_I =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - LEMAITRE =FACT(statut='f', - N =SIMP(statut='o',typ='R'), - UN_SUR_K =SIMP(statut='o',typ='R'), - UN_SUR_M =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ), - LEMAITRE_IRRA =FACT(statut='f', - N =SIMP(statut='o',typ='R'), - UN_SUR_K =SIMP(statut='o',typ='R'), - UN_SUR_M =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - QSR_K =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - BETA =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - PHI_ZERO =SIMP(statut='f',typ='R',defaut= 1.E+20), - L =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - GRAN_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - LMARC_IRRA =FACT(statut='f', - DE_0 =SIMP(statut='o',typ='R'), - R_0 =SIMP(statut='o',typ='R'), - N =SIMP(statut='o',typ='R'), - K =SIMP(statut='o',typ='R'), - Y_I =SIMP(statut='o',typ='R'), - Y_0 =SIMP(statut='o',typ='R'), - B =SIMP(statut='o',typ='R'), - A_0 =SIMP(statut='o',typ='R'), - RM =SIMP(statut='o',typ='R'), - M =SIMP(statut='o',typ='R'), - P =SIMP(statut='o',typ='R'), - P1 =SIMP(statut='o',typ='R'), - P2 =SIMP(statut='o',typ='R'), - M11 =SIMP(statut='o',typ='R'), - M22 =SIMP(statut='o',typ='R'), - M33 =SIMP(statut='o',typ='R'), - M66 =SIMP(statut='o',typ='R'), - N11 =SIMP(statut='o',typ='R'), - N22 =SIMP(statut='o',typ='R'), - N33 =SIMP(statut='o',typ='R'), - N66 =SIMP(statut='o',typ='R'), - Q11 =SIMP(statut='o',typ='R'), - Q22 =SIMP(statut='o',typ='R'), - Q33 =SIMP(statut='o',typ='R'), - Q66 =SIMP(statut='o',typ='R'), - R11 =SIMP(statut='o',typ='R'), - R22 =SIMP(statut='o',typ='R'), - R33 =SIMP(statut='o',typ='R'), - R66 =SIMP(statut='o',typ='R'), - GRAN_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - VISC_IRRA_LOG =FACT(statut='f', - A =SIMP(statut='f',typ='R',defaut= 1.28E-1), - B =SIMP(statut='f',typ='R',defaut= 0.01159), - CSTE_TPS =SIMP(statut='f',typ='R',defaut= 0.3540), - ENER_ACT =SIMP(statut='f',typ='R',defaut= 5000.), - FLUX_PHI =SIMP(statut='o',typ='R',), - ), - GRAN_IRRA_LOG =FACT(statut='f', - A =SIMP(statut='f',typ='R',defaut= 1.28E-1), - B =SIMP(statut='f',typ='R',defaut= 0.01159), - CSTE_TPS =SIMP(statut='f',typ='R',defaut= 0.3540), - ENER_ACT =SIMP(statut='f',typ='R',defaut= 5000.), - FLUX_PHI =SIMP(statut='o',typ='R',), - GRAN_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - LEMA_SEUIL =FACT(statut='f', - A =SIMP(statut='o',typ='R',), - S =SIMP(statut='o',typ='R',), - ), - LEMA_SEUIL_FO=FACT(statut='f', - A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - S =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - IRRAD3M=FACT(statut='f', - R02 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPSI_U =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - RM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - AI0 =SIMP(statut='o',typ='R',val_min=0.0), - ZETA_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ETAI_S =SIMP(statut='o',typ='R',val_min=0.0), - RG0 =SIMP(statut='o',typ='R',val_min=0.0), - ALPHA =SIMP(statut='o',typ='R',val_min=0.0), - PHI0 =SIMP(statut='o',typ='R',val_min=0.0), - KAPPA =SIMP(statut='f',typ='R',val_min=0.0,defaut=0.8,val_max=1.0), - ZETA_G =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TOLER_ET =SIMP(statut='f',typ='R',val_min=0.0,defaut=0.15 ), - ), - LEMAITRE_FO =FACT(statut='f', - N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - UN_SUR_K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - UN_SUR_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - META_LEMA_ANI =FACT(statut='f', - F1_A =SIMP(statut='o',typ='R'), - F2_A =SIMP(statut='o',typ='R'), - C_A =SIMP(statut='o',typ='R'), - F1_M =SIMP(statut='o',typ='R'), - F2_M =SIMP(statut='o',typ='R'), - C_M =SIMP(statut='o',typ='R'), - F1_N =SIMP(statut='o',typ='R'), - F2_N =SIMP(statut='o',typ='R'), - C_N =SIMP(statut='o',typ='R'), - F1_Q =SIMP(statut='o',typ='R'), - F2_Q =SIMP(statut='o',typ='R'), - C_Q =SIMP(statut='o',typ='R'), - F_MRR_RR =SIMP(statut='o',typ='R'), - C_MRR_RR =SIMP(statut='o',typ='R'), - F_MTT_TT =SIMP(statut='o',typ='R'), - C_MTT_TT =SIMP(statut='o',typ='R'), - F_MZZ_ZZ =SIMP(statut='o',typ='R'), - C_MZZ_ZZ =SIMP(statut='o',typ='R'), - F_MRT_RT =SIMP(statut='o',typ='R'), - C_MRT_RT =SIMP(statut='o',typ='R'), - F_MRZ_RZ =SIMP(statut='o',typ='R'), - C_MRZ_RZ =SIMP(statut='o',typ='R'), - F_MTZ_TZ =SIMP(statut='o',typ='R'), - C_MTZ_TZ =SIMP(statut='o',typ='R'), - ), - META_LEMA_ANI_FO =FACT(statut='f', - F1_A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_A =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F1_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F1_N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_N =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F1_Q =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_Q =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_Q =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_MRR_RR =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_MRR_RR =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_MTT_TT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_MTT_TT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_MZZ_ZZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_MZZ_ZZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_MRT_RT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_MRT_RT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_MRZ_RZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_MRZ_RZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_MTZ_TZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_MTZ_TZ =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ARME =FACT(statut='f', - KYE =SIMP(statut='o',typ='R'), - DLE =SIMP(statut='o',typ='R'), - KYP =SIMP(statut='o',typ='R'), - DLP =SIMP(statut='o',typ='R'), - KYG =SIMP(statut='o',typ='R'), - ), - ASSE_CORN =FACT(statut='f', - NU_1 =SIMP(statut='o',typ='R'), - MU_1 =SIMP(statut='o',typ='R'), - DXU_1 =SIMP(statut='o',typ='R'), - DRYU_1 =SIMP(statut='o',typ='R'), - C_1 =SIMP(statut='o',typ='R'), - NU_2 =SIMP(statut='o',typ='R'), - MU_2 =SIMP(statut='o',typ='R'), - DXU_2 =SIMP(statut='o',typ='R'), - DRYU_2 =SIMP(statut='o',typ='R'), - C_2 =SIMP(statut='o',typ='R'), - KY =SIMP(statut='o',typ='R'), - KZ =SIMP(statut='o',typ='R'), - KRX =SIMP(statut='o',typ='R'), - KRZ =SIMP(statut='o',typ='R'), - R_P0 =SIMP(statut='f',typ='R',defaut= 1.E+4 ), - ), - DIS_CONTACT =FACT(statut='f', - RIGI_NOR =SIMP(statut='f',typ='R' ), - RIGI_TAN =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - AMOR_NOR =SIMP(statut='f',typ='R' ), - AMOR_TAN =SIMP(statut='f',typ='R' ), - COULOMB =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - DIST_1 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - DIST_2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - JEU =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ), - ENDO_SCALAIRE =FACT(statut='f', - K =SIMP(statut='o',typ='R',val_min=0.0), - P =SIMP(statut='o',typ='R',val_min=1.0), - Q =SIMP(statut='f',typ='R',defaut=0.0), - M =SIMP(statut='o',typ='R',), - C_COMP =SIMP(statut='f',typ='R',defaut=0.0), - C_VOLU =SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0), - COEF_RIGI_MINI =SIMP(statut='f',typ='R',defaut=1.E-5), - ), - ENDO_SCALAIRE_FO =FACT(statut='f', - K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - P =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - Q =SIMP(statut='f',typ='R',defaut=0.0), - M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_COMP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_VOLU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COEF_RIGI_MINI =SIMP(statut='f',typ='R',defaut=1.E-5), - ), - ENDO_FISS_EXP =FACT(statut='f', - K =SIMP(statut='o',typ='R',val_min=0.0), - P =SIMP(statut='o',typ='R',val_min=1.0), - Q =SIMP(statut='f',typ='R',defaut=0.0), - M =SIMP(statut='o',typ='R',), - TAU =SIMP(statut='o',typ='R'), - SIG0 =SIMP(statut='o',typ='R'), - BETA =SIMP(statut='f',typ='R',defaut=0.1), - COEF_RIGI_MINI =SIMP(statut='f',typ='R',defaut=1.E-5), - ), - ENDO_FISS_EXP_FO =FACT(statut='f', - K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - P =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - Q =SIMP(statut='f',typ='R',defaut=0.0), - M =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - TAU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIG0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - BETA =SIMP(statut='f',typ='R',defaut=0.1), - COEF_RIGI_MINI =SIMP(statut='f',typ='R',defaut=1.E-5), - ), - DIS_GRICRA =FACT(statut='f', - KN_AX =SIMP(statut='o',typ='R' ), - KT_AX =SIMP(statut='o',typ='R' ), - COUL_AX =SIMP(statut='o',typ='R' ), - F_SER =SIMP(statut='f',typ='R' ), - F_SER_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ET_AX =SIMP(statut='f',typ='R',defaut=1.e-7 ), - ET_ROT =SIMP(statut='f',typ='R',defaut=1.e-7 ), - ANG1 =SIMP(statut='f',typ='R' ), - ANG2 =SIMP(statut='f',typ='R' ), - PEN1 =SIMP(statut='f',typ='R' ), - PEN2 =SIMP(statut='f',typ='R' ), - PEN3 =SIMP(statut='f',typ='R' ), - ANG1_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ANG2_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PEN1_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PEN2_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PEN3_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - regles=(EXCLUS('ANG1','ANG1_FO',), - UN_PARMI('ANG1','ANG1_FO',), - EXCLUS('F_SER','F_SER_FO',), - UN_PARMI('F_SER','F_SER_FO',), - PRESENT_PRESENT('ANG1','ANG2','PEN1','PEN2','PEN3',), - PRESENT_PRESENT('ANG1_FO','ANG2_FO','PEN1_FO','PEN2_FO','PEN3_FO',), - ), - ), - BETON_DOUBLE_DP =FACT(statut='f', - F_C =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_T =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COEF_BIAX =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ENER_COMP_RUPT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ENER_TRAC_RUPT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COEF_ELAS_COMP =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=100.E+0), - LONG_CARA =SIMP(statut='f',typ='R',val_min=0.E+0), - ECRO_COMP_P_PIC =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","PARABOLE") ), - ECRO_TRAC_P_PIC =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","EXPONENT") ), - ), - MAZARS=FACT(statut='f',min=0 , - EPSD0 =SIMP(statut='o',typ='R'), - K =SIMP(statut='o',typ='R'), - AC =SIMP(statut='o',typ='R'), - BC =SIMP(statut='o',typ='R'), - AT =SIMP(statut='o',typ='R'), - BT =SIMP(statut='o',typ='R'), - CHI =SIMP(statut='f',typ='R',val_min=0.0E+0,val_max=1.0E+0), - SIGM_LIM =SIMP(statut='f',typ='R'), - EPSI_LIM =SIMP(statut='f',typ='R'), - ), - MAZARS_FO=FACT(statut='f',min=0 , - EPSD0 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - K =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - AC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - BC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - AT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - BT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - CHI =SIMP(statut='f',typ='R'), - ), - JOINT_BA=FACT(statut='f',min=0 ,max=1, - HPEN =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=0.E+0), - GTT =SIMP(statut='o',typ='R',val_min=0.E+0), - GAMD0 =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E-1), - AD1 =SIMP(statut='o',typ='R',val_min=0.E+0), - BD1 =SIMP(statut='o',typ='R',defaut= 5.E-1,val_min=1.E-1), - GAMD2 =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E+0), - AD2 =SIMP(statut='o',typ='R',val_min=0.E+0), - BD2 =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=1.E-1), - VIFROT =SIMP(statut='o',typ='R',val_min=0.E+0), - FA =SIMP(statut='o',typ='R',val_min=0.E+0), - FC =SIMP(statut='o',typ='R',val_min=0.E+0), - EPSTR0 =SIMP(statut='o',typ='R',val_min=1.E-4,val_max=1.E+0), - ADN =SIMP(statut='o',typ='R',val_min=0.E+0), - BDN =SIMP(statut='o',typ='R',defaut= 1.E+0,val_min=1.E-1), - ), - VENDOCHAB =FACT(statut='f', - SY =SIMP(statut='o',typ='R',defaut= 0.E+0), - ALPHA_D =SIMP(statut='o',typ='R',defaut= 0.E+0), - BETA_D =SIMP(statut='o',typ='R',defaut= 0.E+0), - R_D =SIMP(statut='o',typ='R'), - A_D =SIMP(statut='o',typ='R'), - K_D =SIMP(statut='o',typ='R'), - ), - VENDOCHAB_FO =FACT(statut='f', - SY =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ALPHA_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - BETA_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - R_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - A_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - K_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - HAYHURST =FACT(statut='f', - EPS0 =SIMP(statut='o',typ='R'), - K =SIMP(statut='o',typ='R'), - H1 =SIMP(statut='o',typ='R'), - H2 =SIMP(statut='o',typ='R'), - DELTA1 =SIMP(statut='o',typ='R'), - DELTA2 =SIMP(statut='o',typ='R'), - H1ST =SIMP(statut='o',typ='R'), - H2ST =SIMP(statut='o',typ='R'), - KC =SIMP(statut='f',typ='R',defaut=0.), - BIGA =SIMP(statut='o',typ='R'), - SIG0 =SIMP(statut='o',typ='R'), - ALPHAD =SIMP(statut='f',typ='R',defaut=0.), - S_EQUI_D =SIMP(statut='f',typ='R',defaut=0.,into=(0.,1.) ), - ), - VISC_ENDO =FACT(statut='f', - SY =SIMP(statut='o',typ='R',defaut= 0.E+0), - R_D =SIMP(statut='o',typ='R'), - A_D =SIMP(statut='o',typ='R'), - ), - VISC_ENDO_FO =FACT(statut='f', - SY =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - R_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - A_D =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - PINTO_MENEGOTTO =FACT(statut='f', - SY =SIMP(statut='o',typ='R'), - EPSI_ULTM =SIMP(statut='o',typ='R'), - SIGM_ULTM =SIMP(statut='o',typ='R'), - ELAN =SIMP(statut='f',typ='R',defaut= 4. ), - EPSP_HARD =SIMP(statut='o',typ='R'), - R_PM =SIMP(statut='f',typ='R',defaut= 20. ), - EP_SUR_E =SIMP(statut='f',typ='R'), - A1_PM =SIMP(statut='f',typ='R',defaut= 18.5 ), - A2_PM =SIMP(statut='f',typ='R',defaut= 0.15 ), - A6_PM =SIMP(statut='f',typ='R',defaut= 620. ), - C_PM =SIMP(statut='f',typ='R',defaut= 0.5 ), - A_PM =SIMP(statut='f',typ='R',defaut= 6.0E-3 ), - ), - BPEL_BETON =FACT(statut='f', - PERT_FLUA =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - PERT_RETR =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ), - BPEL_ACIER =FACT(statut='f', - regles=(PRESENT_PRESENT('RELAX_1000','F_PRG',), - PRESENT_PRESENT('MU0_RELAX','F_PRG',),), - RELAX_1000 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - MU0_RELAX =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - F_PRG =SIMP(statut='f',typ='R'), - FROT_COURB =SIMP(statut='f',typ='R',defaut=0.E+0), - FROT_LINE =SIMP(statut='f',typ='R',defaut=0.E+0), - ), - ETCC_BETON =FACT(statut='f', - EP_BETON =SIMP(statut='f',typ='R',val_min=0.E+0,defaut=0. ), - ), - ETCC_ACIER =FACT(statut='f', - regles=(PRESENT_PRESENT('RELAX_1000','F_PRG',),), - F_PRG =SIMP(statut='f',typ='R',val_min=0.E+0), - COEF_FROT =SIMP(statut='f',typ='R',defaut=0.E+0,val_min=0.E+0), - PERT_LIGNE =SIMP(statut='f',typ='R',defaut=0.E+0,val_min=0.E+0), - RELAX_1000 =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ), - - - ), - MOHR_COULOMB =FACT(statut='f', - PHI =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=60.E+0,), - ANGDIL =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=60.E+0,), - COHESION =SIMP(statut='o',typ='R',val_min=0.E+0,), - ), - - CAM_CLAY =FACT(statut='f', - MU =SIMP(statut='o',typ='R'), - PORO =SIMP(statut='o',typ='R'), - LAMBDA =SIMP(statut='o',typ='R'), - KAPA =SIMP(statut='o',typ='R'), - M =SIMP(statut='o',typ='R'), - PRES_CRIT =SIMP(statut='o',typ='R'), - KCAM =SIMP(statut='f',typ='R',val_min=0.E+0), - PTRAC =SIMP(statut='f',typ='R',val_max=0.E+0), - regles=(PRESENT_PRESENT('PTRAC','KCAM',),), - ), - BARCELONE =FACT(statut='f', - MU =SIMP(statut='o',typ='R'), - PORO =SIMP(statut='o',typ='R'), - LAMBDA =SIMP(statut='o',typ='R'), - KAPA =SIMP(statut='o',typ='R'), - M =SIMP(statut='o',typ='R'), - PRES_CRIT =SIMP(statut='o',typ='R'), - PA =SIMP(statut='o',typ='R'), - R =SIMP(statut='o',typ='R'), - BETA =SIMP(statut='o',typ='R'), - KC =SIMP(statut='o',typ='R'), - PC0_INIT =SIMP(statut='o',typ='R'), - KAPAS =SIMP(statut='o',typ='R'), - LAMBDAS =SIMP(statut='o',typ='R'), - ALPHAB =SIMP(statut='f',typ='R'), - ), - CJS =FACT(statut='f', - BETA_CJS =SIMP(statut='o',typ='R'), - RM =SIMP(statut='o',typ='R'), - N_CJS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - KP =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - RC =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - A_CJS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - B_CJS =SIMP(statut='f',typ='R',defaut= 1.0E+25 ), - C_CJS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - GAMMA_CJS =SIMP(statut='o',typ='R'), - MU_CJS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - PCO =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - PA =SIMP(statut='o',typ='R'), - Q_INIT =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - R_INIT =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ), - HUJEUX =FACT(statut='f', - N =SIMP(statut='o',typ='R' ), - BETA =SIMP(statut='o',typ='R' ), - B =SIMP(statut='o',typ='R' ), - D =SIMP(statut='o',typ='R' ), - PHI =SIMP(statut='o',typ='R' ), - ANGDIL =SIMP(statut='o',typ='R' ), - PCO =SIMP(statut='o',typ='R' ), - PREF =SIMP(statut='o',typ='R' ), - ACYC =SIMP(statut='o',typ='R' ), - AMON =SIMP(statut='o',typ='R' ), - CCYC =SIMP(statut='o',typ='R' ), - CMON =SIMP(statut='o',typ='R' ), - RD_ELA =SIMP(statut='o',typ='R' ), - RI_ELA =SIMP(statut='o',typ='R' ), - RHYS =SIMP(statut='o',typ='R' ), - RMOB =SIMP(statut='o',typ='R' ), - XM =SIMP(statut='o',typ='R' ), - RD_CYC =SIMP(statut='o',typ='R' ), - RI_CYC =SIMP(statut='o',typ='R' ), - DILA =SIMP(statut='o',typ='R' ), - PTRAC =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ), - ECRO_ASYM_LINE =FACT(statut='f', - DC_SIGM_EPSI =SIMP(statut='o',typ='R'), - SY_C =SIMP(statut='o',typ='R'), - DT_SIGM_EPSI =SIMP(statut='o',typ='R'), - SY_T =SIMP(statut='o',typ='R'), - ), - GRANGER_FP =FACT(statut='f', - J1 =SIMP(statut='f',typ='R'), - J2 =SIMP(statut='f',typ='R'), - J3 =SIMP(statut='f',typ='R'), - J4 =SIMP(statut='f',typ='R'), - J5 =SIMP(statut='f',typ='R'), - J6 =SIMP(statut='f',typ='R'), - J7 =SIMP(statut='f',typ='R'), - J8 =SIMP(statut='f',typ='R'), - TAUX_1 =SIMP(statut='f',typ='R'), - TAUX_2 =SIMP(statut='f',typ='R'), - TAUX_3 =SIMP(statut='f',typ='R'), - TAUX_4 =SIMP(statut='f',typ='R'), - TAUX_5 =SIMP(statut='f',typ='R'), - TAUX_6 =SIMP(statut='f',typ='R'), - TAUX_7 =SIMP(statut='f',typ='R'), - TAUX_8 =SIMP(statut='f',typ='R'), - QSR_K =SIMP(statut='f',typ='R'), - ), - GRANGER_FP_INDT =FACT(statut='f', - J1 =SIMP(statut='f',typ='R'), - J2 =SIMP(statut='f',typ='R'), - J3 =SIMP(statut='f',typ='R'), - J4 =SIMP(statut='f',typ='R'), - J5 =SIMP(statut='f',typ='R'), - J6 =SIMP(statut='f',typ='R'), - J7 =SIMP(statut='f',typ='R'), - J8 =SIMP(statut='f',typ='R'), - TAUX_1 =SIMP(statut='f',typ='R'), - TAUX_2 =SIMP(statut='f',typ='R'), - TAUX_3 =SIMP(statut='f',typ='R'), - TAUX_4 =SIMP(statut='f',typ='R'), - TAUX_5 =SIMP(statut='f',typ='R'), - TAUX_6 =SIMP(statut='f',typ='R'), - TAUX_7 =SIMP(statut='f',typ='R'), - TAUX_8 =SIMP(statut='f',typ='R'), - ), - V_GRANGER_FP =FACT(statut='f', - QSR_VEIL =SIMP(statut='f',typ='R'), - FONC_V =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - BETON_BURGER_FP =FACT(statut='f',min=0 , - K_RS =SIMP(statut='o',typ='R'), - ETA_RS =SIMP(statut='o',typ='R'), - KAPPA =SIMP(statut='o',typ='R'), - ETA_IS =SIMP(statut='o',typ='R'), - K_RD =SIMP(statut='o',typ='R'), - ETA_RD =SIMP(statut='o',typ='R'), - ETA_ID =SIMP(statut='o',typ='R'), - ETA_FD =SIMP(statut='f',typ='R'), - ), - BETON_UMLV_FP =FACT(statut='f',min=0 , - K_RS =SIMP(statut='o',typ='R'), - ETA_RS =SIMP(statut='o',typ='R'), - K_IS =SIMP(statut='o',typ='R'), - ETA_IS =SIMP(statut='o',typ='R'), - K_RD =SIMP(statut='o',typ='R'), - ETA_RD =SIMP(statut='o',typ='R'), - ETA_ID =SIMP(statut='o',typ='R'), - ETA_FD =SIMP(statut='f',typ='R'), - ), - BETON_RAG =FACT(statut='f', - ACTIV_FL =SIMP(statut='f',typ='R',defaut=1.0 ), - K_RS =SIMP(statut='o',typ='R'), - K_IS =SIMP(statut='o',typ='R'), - ETA_RS =SIMP(statut='o',typ='R'), - ETA_IS =SIMP(statut='o',typ='R'), - K_RD =SIMP(statut='o',typ='R'), - K_ID =SIMP(statut='o',typ='R'), - ETA_RD =SIMP(statut='o',typ='R'), - ETA_ID =SIMP(statut='o',typ='R'), - EPS_0 =SIMP(statut='o',typ='R'), - TAU_0 =SIMP(statut='o',typ='R'), - EPS_FL_L =SIMP(statut='f',typ='R',defaut=3.0e-2 ), - ACTIV_LO =SIMP(statut='f',typ='R',defaut=1.0 ), - F_C =SIMP(statut='o',typ='R'), - F_T =SIMP(statut='o',typ='R'), - ANG_CRIT =SIMP(statut='f',typ='R',defaut=8.594367 ), - EPS_COMP =SIMP(statut='o',typ='R'), - EPS_TRAC =SIMP(statut='o',typ='R'), - LC_COMP =SIMP(statut='o',typ='R',defaut=1.0 ), - LC_TRAC =SIMP(statut='o',typ='R',defaut=1.0 ), - HYD_PRES =SIMP(statut='f',typ='R',defaut=0. ), - A_VAN_GE =SIMP(statut='f',typ='R',defaut=0.0 ), - B_VAN_GE =SIMP(statut='f',typ='R',defaut=1.9 ), - BIOT_EAU =SIMP(statut='o',typ='R',defaut=0.3 ), - MODU_EAU =SIMP(statut='o',typ='R',defaut=0.0 ), - W_EAU_0 =SIMP(statut='o',typ='R'), - BIOT_GEL =SIMP(statut='o',typ='R'), - MODU_GEL =SIMP(statut='o',typ='R'), - VOL_GEL =SIMP(statut='o',typ='R'), - AVANC_LI =SIMP(statut='o',typ='R'), - SEUIL_SR =SIMP(statut='o',typ='R'), - PARA_CIN =SIMP(statut='o',typ='R'), - ENR_AC_G =SIMP(statut='o',typ='R'), - ), - GLRC_DM =FACT(statut='f',max=1, - GAMMA_T =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), - GAMMA_C =SIMP(statut='f',typ='R',val_min=-1.E+0,val_max=1.E+0), - GAMMA_F =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), - NYT =SIMP(statut='o',typ='R',val_min=0.E+0), - NYC =SIMP(statut='f',typ='R'), - MYF =SIMP(statut='o',typ='R',val_min=0.E+0), - ALPHA_C =SIMP(statut='d',typ='R',val_min=1.E+0,defaut=1.E+0), - ), - DHRC_SEUILS =FACT(statut='f', - SYD =SIMP(statut='o',typ='R',), - SCRIT =SIMP(statut='o',typ='R',), - K0MICR =SIMP(statut='o',typ='R',), - A011 =SIMP(statut='o',typ='R',), - A012 =SIMP(statut='o',typ='R',), - A013 =SIMP(statut='o',typ='R',), - A014 =SIMP(statut='o',typ='R',), - A015 =SIMP(statut='o',typ='R',), - A016 =SIMP(statut='o',typ='R',), - A022 =SIMP(statut='o',typ='R',), - A023 =SIMP(statut='o',typ='R',), - A024 =SIMP(statut='o',typ='R',), - A025 =SIMP(statut='o',typ='R',), - A026 =SIMP(statut='o',typ='R',), - A033 =SIMP(statut='o',typ='R',), - A034 =SIMP(statut='o',typ='R',), - A035 =SIMP(statut='o',typ='R',), - A036 =SIMP(statut='o',typ='R',), - A044 =SIMP(statut='o',typ='R',), - A045 =SIMP(statut='o',typ='R',), - A046 =SIMP(statut='o',typ='R',), - A055 =SIMP(statut='o',typ='R',), - A056 =SIMP(statut='o',typ='R',), - A066 =SIMP(statut='o',typ='R',), - ), - DHRC =FACT(statut='f', - AAC111 =SIMP(statut='o',typ='R',), - AAC121 =SIMP(statut='o',typ='R',), - AAC131 =SIMP(statut='o',typ='R',), - AAC141 =SIMP(statut='o',typ='R',), - AAC151 =SIMP(statut='o',typ='R',), - AAC161 =SIMP(statut='o',typ='R',), - AAC221 =SIMP(statut='o',typ='R',), - AAC231 =SIMP(statut='o',typ='R',), - AAC241 =SIMP(statut='o',typ='R',), - AAC251 =SIMP(statut='o',typ='R',), - AAC261 =SIMP(statut='o',typ='R',), - AAC331 =SIMP(statut='o',typ='R',), - AAC341 =SIMP(statut='o',typ='R',), - AAC351 =SIMP(statut='o',typ='R',), - AAC361 =SIMP(statut='o',typ='R',), - AAC441 =SIMP(statut='o',typ='R',), - AAC451 =SIMP(statut='o',typ='R',), - AAC461 =SIMP(statut='o',typ='R',), - AAC551 =SIMP(statut='o',typ='R',), - AAC561 =SIMP(statut='o',typ='R',), - AAC661 =SIMP(statut='o',typ='R',), - AAC112 =SIMP(statut='o',typ='R',), - AAC122 =SIMP(statut='o',typ='R',), - AAC132 =SIMP(statut='o',typ='R',), - AAC142 =SIMP(statut='o',typ='R',), - AAC152 =SIMP(statut='o',typ='R',), - AAC162 =SIMP(statut='o',typ='R',), - AAC222 =SIMP(statut='o',typ='R',), - AAC232 =SIMP(statut='o',typ='R',), - AAC242 =SIMP(statut='o',typ='R',), - AAC252 =SIMP(statut='o',typ='R',), - AAC262 =SIMP(statut='o',typ='R',), - AAC332 =SIMP(statut='o',typ='R',), - AAC342 =SIMP(statut='o',typ='R',), - AAC352 =SIMP(statut='o',typ='R',), - AAC362 =SIMP(statut='o',typ='R',), - AAC442 =SIMP(statut='o',typ='R',), - AAC452 =SIMP(statut='o',typ='R',), - AAC462 =SIMP(statut='o',typ='R',), - AAC552 =SIMP(statut='o',typ='R',), - AAC562 =SIMP(statut='o',typ='R',), - AAC662 =SIMP(statut='o',typ='R',), - AAT111 =SIMP(statut='o',typ='R',), - AAT121 =SIMP(statut='o',typ='R',), - AAT131 =SIMP(statut='o',typ='R',), - AAT141 =SIMP(statut='o',typ='R',), - AAT151 =SIMP(statut='o',typ='R',), - AAT161 =SIMP(statut='o',typ='R',), - AAT221 =SIMP(statut='o',typ='R',), - AAT231 =SIMP(statut='o',typ='R',), - AAT241 =SIMP(statut='o',typ='R',), - AAT251 =SIMP(statut='o',typ='R',), - AAT261 =SIMP(statut='o',typ='R',), - AAT331 =SIMP(statut='o',typ='R',), - AAT341 =SIMP(statut='o',typ='R',), - AAT351 =SIMP(statut='o',typ='R',), - AAT361 =SIMP(statut='o',typ='R',), - AAT441 =SIMP(statut='o',typ='R',), - AAT451 =SIMP(statut='o',typ='R',), - AAT461 =SIMP(statut='o',typ='R',), - AAT551 =SIMP(statut='o',typ='R',), - AAT561 =SIMP(statut='o',typ='R',), - AAT661 =SIMP(statut='o',typ='R',), - AAT112 =SIMP(statut='o',typ='R',), - AAT122 =SIMP(statut='o',typ='R',), - AAT132 =SIMP(statut='o',typ='R',), - AAT142 =SIMP(statut='o',typ='R',), - AAT152 =SIMP(statut='o',typ='R',), - AAT162 =SIMP(statut='o',typ='R',), - AAT222 =SIMP(statut='o',typ='R',), - AAT232 =SIMP(statut='o',typ='R',), - AAT242 =SIMP(statut='o',typ='R',), - AAT252 =SIMP(statut='o',typ='R',), - AAT262 =SIMP(statut='o',typ='R',), - AAT332 =SIMP(statut='o',typ='R',), - AAT342 =SIMP(statut='o',typ='R',), - AAT352 =SIMP(statut='o',typ='R',), - AAT362 =SIMP(statut='o',typ='R',), - AAT442 =SIMP(statut='o',typ='R',), - AAT452 =SIMP(statut='o',typ='R',), - AAT462 =SIMP(statut='o',typ='R',), - AAT552 =SIMP(statut='o',typ='R',), - AAT562 =SIMP(statut='o',typ='R',), - AAT662 =SIMP(statut='o',typ='R',), - GAC111 =SIMP(statut='o',typ='R',), - GAC121 =SIMP(statut='o',typ='R',), - GAC131 =SIMP(statut='o',typ='R',), - GAC141 =SIMP(statut='o',typ='R',), - GAC151 =SIMP(statut='o',typ='R',), - GAC161 =SIMP(statut='o',typ='R',), - GAC221 =SIMP(statut='o',typ='R',), - GAC231 =SIMP(statut='o',typ='R',), - GAC241 =SIMP(statut='o',typ='R',), - GAC251 =SIMP(statut='o',typ='R',), - GAC261 =SIMP(statut='o',typ='R',), - GAC331 =SIMP(statut='o',typ='R',), - GAC341 =SIMP(statut='o',typ='R',), - GAC351 =SIMP(statut='o',typ='R',), - GAC361 =SIMP(statut='o',typ='R',), - GAC441 =SIMP(statut='o',typ='R',), - GAC451 =SIMP(statut='o',typ='R',), - GAC461 =SIMP(statut='o',typ='R',), - GAC551 =SIMP(statut='o',typ='R',), - GAC561 =SIMP(statut='o',typ='R',), - GAC661 =SIMP(statut='o',typ='R',), - GAC112 =SIMP(statut='o',typ='R',), - GAC122 =SIMP(statut='o',typ='R',), - GAC132 =SIMP(statut='o',typ='R',), - GAC142 =SIMP(statut='o',typ='R',), - GAC152 =SIMP(statut='o',typ='R',), - GAC162 =SIMP(statut='o',typ='R',), - GAC222 =SIMP(statut='o',typ='R',), - GAC232 =SIMP(statut='o',typ='R',), - GAC242 =SIMP(statut='o',typ='R',), - GAC252 =SIMP(statut='o',typ='R',), - GAC262 =SIMP(statut='o',typ='R',), - GAC332 =SIMP(statut='o',typ='R',), - GAC342 =SIMP(statut='o',typ='R',), - GAC352 =SIMP(statut='o',typ='R',), - GAC362 =SIMP(statut='o',typ='R',), - GAC442 =SIMP(statut='o',typ='R',), - GAC452 =SIMP(statut='o',typ='R',), - GAC462 =SIMP(statut='o',typ='R',), - GAC552 =SIMP(statut='o',typ='R',), - GAC562 =SIMP(statut='o',typ='R',), - GAC662 =SIMP(statut='o',typ='R',), - GAT111 =SIMP(statut='o',typ='R',), - GAT121 =SIMP(statut='o',typ='R',), - GAT131 =SIMP(statut='o',typ='R',), - GAT141 =SIMP(statut='o',typ='R',), - GAT151 =SIMP(statut='o',typ='R',), - GAT161 =SIMP(statut='o',typ='R',), - GAT221 =SIMP(statut='o',typ='R',), - GAT231 =SIMP(statut='o',typ='R',), - GAT241 =SIMP(statut='o',typ='R',), - GAT251 =SIMP(statut='o',typ='R',), - GAT261 =SIMP(statut='o',typ='R',), - GAT331 =SIMP(statut='o',typ='R',), - GAT341 =SIMP(statut='o',typ='R',), - GAT351 =SIMP(statut='o',typ='R',), - GAT361 =SIMP(statut='o',typ='R',), - GAT441 =SIMP(statut='o',typ='R',), - GAT451 =SIMP(statut='o',typ='R',), - GAT461 =SIMP(statut='o',typ='R',), - GAT551 =SIMP(statut='o',typ='R',), - GAT561 =SIMP(statut='o',typ='R',), - GAT661 =SIMP(statut='o',typ='R',), - GAT112 =SIMP(statut='o',typ='R',), - GAT122 =SIMP(statut='o',typ='R',), - GAT132 =SIMP(statut='o',typ='R',), - GAT142 =SIMP(statut='o',typ='R',), - GAT152 =SIMP(statut='o',typ='R',), - GAT162 =SIMP(statut='o',typ='R',), - GAT222 =SIMP(statut='o',typ='R',), - GAT232 =SIMP(statut='o',typ='R',), - GAT242 =SIMP(statut='o',typ='R',), - GAT252 =SIMP(statut='o',typ='R',), - GAT262 =SIMP(statut='o',typ='R',), - GAT332 =SIMP(statut='o',typ='R',), - GAT342 =SIMP(statut='o',typ='R',), - GAT352 =SIMP(statut='o',typ='R',), - GAT362 =SIMP(statut='o',typ='R',), - GAT442 =SIMP(statut='o',typ='R',), - GAT452 =SIMP(statut='o',typ='R',), - GAT462 =SIMP(statut='o',typ='R',), - GAT552 =SIMP(statut='o',typ='R',), - GAT562 =SIMP(statut='o',typ='R',), - GAT662 =SIMP(statut='o',typ='R',), - AB111 =SIMP(statut='o',typ='R',), - AB121 =SIMP(statut='o',typ='R',), - AB211 =SIMP(statut='o',typ='R',), - AB221 =SIMP(statut='o',typ='R',), - AB311 =SIMP(statut='o',typ='R',), - AB321 =SIMP(statut='o',typ='R',), - AB411 =SIMP(statut='o',typ='R',), - AB421 =SIMP(statut='o',typ='R',), - AB511 =SIMP(statut='o',typ='R',), - AB521 =SIMP(statut='o',typ='R',), - AB611 =SIMP(statut='o',typ='R',), - AB621 =SIMP(statut='o',typ='R',), - AB112 =SIMP(statut='o',typ='R',), - AB122 =SIMP(statut='o',typ='R',), - AB212 =SIMP(statut='o',typ='R',), - AB222 =SIMP(statut='o',typ='R',), - AB312 =SIMP(statut='o',typ='R',), - AB322 =SIMP(statut='o',typ='R',), - AB412 =SIMP(statut='o',typ='R',), - AB422 =SIMP(statut='o',typ='R',), - AB512 =SIMP(statut='o',typ='R',), - AB522 =SIMP(statut='o',typ='R',), - AB612 =SIMP(statut='o',typ='R',), - AB622 =SIMP(statut='o',typ='R',), - GB111 =SIMP(statut='o',typ='R',), - GB121 =SIMP(statut='o',typ='R',), - GB211 =SIMP(statut='o',typ='R',), - GB221 =SIMP(statut='o',typ='R',), - GB311 =SIMP(statut='o',typ='R',), - GB321 =SIMP(statut='o',typ='R',), - GB411 =SIMP(statut='o',typ='R',), - GB421 =SIMP(statut='o',typ='R',), - GB511 =SIMP(statut='o',typ='R',), - GB521 =SIMP(statut='o',typ='R',), - GB611 =SIMP(statut='o',typ='R',), - GB621 =SIMP(statut='o',typ='R',), - GB112 =SIMP(statut='o',typ='R',), - GB122 =SIMP(statut='o',typ='R',), - GB212 =SIMP(statut='o',typ='R',), - GB222 =SIMP(statut='o',typ='R',), - GB312 =SIMP(statut='o',typ='R',), - GB322 =SIMP(statut='o',typ='R',), - GB412 =SIMP(statut='o',typ='R',), - GB422 =SIMP(statut='o',typ='R',), - GB512 =SIMP(statut='o',typ='R',), - GB522 =SIMP(statut='o',typ='R',), - GB612 =SIMP(statut='o',typ='R',), - GB622 =SIMP(statut='o',typ='R',), - C0111 =SIMP(statut='o',typ='R',), - C0211 =SIMP(statut='o',typ='R',), - C0121 =SIMP(statut='o',typ='R',), - C0221 =SIMP(statut='o',typ='R',), - C0212 =SIMP(statut='o',typ='R',), - C0112 =SIMP(statut='o',typ='R',), - C0122 =SIMP(statut='o',typ='R',), - C0222 =SIMP(statut='o',typ='R',), - AC111 =SIMP(statut='o',typ='R',), - AC211 =SIMP(statut='o',typ='R',), - AC121 =SIMP(statut='o',typ='R',), - AC221 =SIMP(statut='o',typ='R',), - AC112 =SIMP(statut='o',typ='R',), - AC212 =SIMP(statut='o',typ='R',), - AC122 =SIMP(statut='o',typ='R',), - AC222 =SIMP(statut='o',typ='R',), - GC111 =SIMP(statut='o',typ='R',), - GC211 =SIMP(statut='o',typ='R',), - GC121 =SIMP(statut='o',typ='R',), - GC221 =SIMP(statut='o',typ='R',), - GC112 =SIMP(statut='o',typ='R',), - GC212 =SIMP(statut='o',typ='R',), - GC122 =SIMP(statut='o',typ='R',), - GC222 =SIMP(statut='o',typ='R',), - ), - GATT_MONERIE =FACT(statut='f',min=0,max=1, - D_GRAIN =SIMP(statut='o',typ='R',val_min=0.E+0), - PORO_INIT =SIMP(statut='o',typ='R',val_min=0.E+0), - EPSI_01 =SIMP(statut='o',typ='R',defaut= 2.7252E-10,val_min=0.E+0), - EPSI_02 =SIMP(statut='o',typ='R',defaut= 9.1440E-41,val_min=0.E+0), - ), - CORR_ACIER =FACT(statut='f',min=0 ,max=1, - D_CORR =SIMP(statut='o',typ='R'), - ECRO_K =SIMP(statut='o',typ='R'), - ECRO_M =SIMP(statut='o',typ='R'), - SY =SIMP(statut='o',typ='R'), - ), - CABLE_GAINE_FROT=FACT(statut='f',min=0 ,max=1, - TYPE = SIMP(statut='o',typ='TXM',into=("FROTTANT","GLISSANT","ADHERENT")), - b_glissant =BLOC(condition="TYPE=='GLISSANT'", - fr="Loi cable gaine glissante", - FROT_LINE =SIMP(statut='c',typ='R',defaut= 0.0,), - FROT_COURB =SIMP(statut='c',typ='R',defaut= 0.0,), - ), - b_adherent =BLOC(condition="TYPE=='ADHERENT'", - fr="Loi cable gaine adherent", - FROT_LINE =SIMP(statut='c',typ='R',defaut= -1.0,), - FROT_COURB =SIMP(statut='c',typ='R',defaut= 0.0,), - ), - b_frottant =BLOC(condition="TYPE=='FROTTANT'", - fr="Loi cable gaine frottant", - FROT_LINE =SIMP(statut='o',typ='R',defaut= 0.0,), - FROT_COURB =SIMP(statut='o',typ='R',defaut= 0.0,), - ), - PENA_LAGR =SIMP(statut='o',typ='R',val_min=0.E+0), - ), - -# Discrets non-linéaires : début - DIS_ECRO_CINE =FACT(statut='f', - fr="Loi pour les discrets avec écrouissage cinématique.", - regles=(PRESENT_PRESENT('LIMY_DX','KCIN_DX',),PRESENT_PRESENT('PUIS_DX','LIMU_DX',), - PRESENT_PRESENT('LIMY_DY','KCIN_DY',),PRESENT_PRESENT('PUIS_DY','LIMU_DY',), - PRESENT_PRESENT('LIMY_DZ','KCIN_DZ',),PRESENT_PRESENT('PUIS_DZ','LIMU_DZ',), - PRESENT_PRESENT('LIMY_RX','KCIN_RX',),PRESENT_PRESENT('PUIS_RX','LIMU_RX',), - PRESENT_PRESENT('LIMY_RY','KCIN_RY',),PRESENT_PRESENT('PUIS_RY','LIMU_RY',), - PRESENT_PRESENT('LIMY_RZ','KCIN_RZ',),PRESENT_PRESENT('PUIS_RZ','LIMU_RZ',),), - LIMY_DX =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Effort limite élastique suivant l'axe local x de l'élément."), - LIMY_DY =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Effort limite élastique suivant l'axe local y de l'élément."), - LIMY_DZ =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Effort limite élastique suivant l'axe local z de l'élément."), - LIMY_RX =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Moment limite élastique suivant l'axe local x de l'élément."), - LIMY_RY =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Moment limite élastique suivant l'axe local y de l'élément."), - LIMY_RZ =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Moment limite élastique suivant l'axe local z de l'élément."), - KCIN_DX =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Raideur suivant l'axe local x de l'élément."), - KCIN_DY =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Raideur suivant l'axe local y de l'élément."), - KCIN_DZ =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Raideur suivant l'axe local z de l'élément."), - KCIN_RX =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Raideur suivant l'axe local Rx de l'élément."), - KCIN_RY =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Raideur suivant l'axe local Ry de l'élément."), - KCIN_RZ =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Raideur suivant l'axe local Rz de l'élément."), - LIMU_DX =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Effort limite suivant l'axe local x de l'élément."), - LIMU_DY =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Effort limite suivant l'axe local y de l'élément."), - LIMU_DZ =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Effort limite suivant l'axe local z de l'élément."), - LIMU_RX =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Moment limite suivant l'axe local x de l'élément."), - LIMU_RY =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Moment limite suivant l'axe local y de l'élément."), - LIMU_RZ =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Moment limite suivant l'axe local z de l'élément."), - PUIS_DX =SIMP(statut='f',typ='R',val_min = 1.0, - fr="Coefficient de non-linéarité suivant l'axe local x de l'élément."), - PUIS_DY =SIMP(statut='f',typ='R',val_min = 1.0, - fr="Coefficient de non-linéarité suivant l'axe local y de l'élément."), - PUIS_DZ =SIMP(statut='f',typ='R',val_min = 1.0, - fr="Coefficient de non-linéarité suivant l'axe local z de l'élément."), - PUIS_RX =SIMP(statut='f',typ='R',val_min = 1.0, - fr="Coefficient de non-linéarité suivant l'axe local Rx de l'élément."), - PUIS_RY =SIMP(statut='f',typ='R',val_min = 1.0, - fr="Coefficient de non-linéarité suivant l'axe local Ry de l'élément."), - PUIS_RZ =SIMP(statut='f',typ='R',val_min = 1.0, - fr="Coefficient de non-linéarité suivant l'axe local Rz de l'élément."), - ), - DIS_VISC =FACT(statut='f', - fr="Loi pour un discret de type visqueux : Zener Généralisé.", - regles=(UN_PARMI('K1','UNSUR_K1'), - UN_PARMI('K2','UNSUR_K2'), - UN_PARMI('K3','UNSUR_K3'), ), - K1 =SIMP(statut='f',typ='R',val_min = 1.0E-08, - fr="Raideur en série avec les 2 autres branches."), - K2 =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Raideur en parallèle de la branche visqueuse."), - K3 =SIMP(statut='f',typ='R',val_min = 1.0E-08, - fr="Raideur dans la branche visqueuse."), - UNSUR_K1 =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Souplesse en série avec les 2 autres branches."), - UNSUR_K2 =SIMP(statut='f',typ='R',val_min = 1.0E-08, - fr="Souplesse en parallèle de la branche visqueuse."), - UNSUR_K3 =SIMP(statut='f',typ='R',val_min = 0.0, - fr="Souplesse dans la branche visqueuse."), - C =SIMP(statut='o',typ='R',val_min = 1.0E-08, - fr="'Raideur' de la partie visqueuse."), - PUIS_ALPHA =SIMP(statut='o',typ='R',val_min = 1.0E-08, val_max=1.0, defaut=0.5, - fr="Puissance de la loi visqueuse ]0.0, 1.0] ."), - ), - DIS_BILI_ELAS =FACT(statut='f', - fr="Loi bi-linéaire pour les discrets.", - regles=(PRESENT_PRESENT('KDEB_DX','KFIN_DX','FPRE_DX',), - PRESENT_PRESENT('KDEB_DY','KFIN_DY','FPRE_DY',), - PRESENT_PRESENT('KDEB_DZ','KFIN_DZ','FPRE_DZ',),), - KDEB_DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Raideur début suivant l'axe local x de l'élément."), - KDEB_DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Raideur début suivant l'axe local y de l'élément."), - KDEB_DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Raideur début suivant l'axe local z de l'élément."), - KFIN_DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Raideur fin l'axe local x de l'élément."), - KFIN_DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Raideur fin l'axe local y de l'élément."), - KFIN_DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Raideur fin l'axe local z de l'élément."), - FPRE_DX =SIMP(statut='f',typ='R', - fr="Effort de préserrage suivant l'axe local x de l'élément."), - FPRE_DY =SIMP(statut='f',typ='R', - fr="Effort de préserrage suivant l'axe local y de l'élément."), - FPRE_DZ =SIMP(statut='f',typ='R', - fr="Effort de préserrage suivant l'axe local z de l'élément."), - ), -# Discrets non-linéaires : fin -# -# comportement thermique -# - THER_NL =FACT(statut='f', - regles=(UN_PARMI('BETA','RHO_CP', ),), - LAMBDA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - RHO_CP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - THER_HYDR =FACT(statut='f', - LAMBDA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - BETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - AFFINITE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - CHALHYDR =SIMP(statut='o',typ='R'), - ), - THER =FACT(statut='f', - LAMBDA =SIMP(statut='o',typ='R'), - RHO_CP =SIMP(statut='f',typ='R'), - ), - THER_FO =FACT(statut='f', - LAMBDA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - RHO_CP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - THER_ORTH =FACT(statut='f', - LAMBDA_L =SIMP(statut='o',typ='R'), - LAMBDA_T =SIMP(statut='o',typ='R'), - LAMBDA_N =SIMP(statut='f',typ='R'), - RHO_CP =SIMP(statut='f',typ='R'), - ), - THER_COQUE =FACT(statut='f', - COND_LMM =SIMP(statut='o',typ='R'), - COND_TMM =SIMP(statut='o',typ='R'), - COND_LMP =SIMP(statut='o',typ='R'), - COND_TMP =SIMP(statut='o',typ='R'), - COND_LPP =SIMP(statut='o',typ='R'), - COND_TPP =SIMP(statut='o',typ='R'), - COND_LSI =SIMP(statut='o',typ='R'), - COND_TSI =SIMP(statut='o',typ='R'), - COND_NMM =SIMP(statut='o',typ='R'), - COND_NMP =SIMP(statut='o',typ='R'), - COND_NPP =SIMP(statut='o',typ='R'), - COND_NSI =SIMP(statut='o',typ='R'), - CMAS_MM =SIMP(statut='f',typ='R'), - CMAS_MP =SIMP(statut='f',typ='R'), - CMAS_PP =SIMP(statut='f',typ='R'), - CMAS_SI =SIMP(statut='f',typ='R'), - ), - THER_COQUE_FO =FACT(statut='f', - COND_LMM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COND_TMM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COND_LMP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COND_TMP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COND_LPP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COND_TPP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COND_LSI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COND_TSI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COND_NMM =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COND_NMP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COND_NPP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COND_NSI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - CMAS_MM =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - CMAS_MP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - CMAS_PP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - CMAS_SI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - SECH_GRANGER =FACT(statut='f', - A =SIMP(statut='o',typ='R'), - B =SIMP(statut='o',typ='R'), - QSR_K =SIMP(statut='o',typ='R'), - TEMP_0_C =SIMP(statut='o',typ='R'), - ), - SECH_MENSI =FACT(statut='f', - A =SIMP(statut='o',typ='R'), - B =SIMP(statut='o',typ='R'), - ), - SECH_BAZANT =FACT(statut='f', - D1 =SIMP(statut='o',typ='R'), - ALPHA_BAZANT =SIMP(statut='o',typ='R'), - N =SIMP(statut='o',typ='R'), - FONC_DESORP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - SECH_NAPPE =FACT(statut='f', - FONCTION =SIMP(statut='o',typ=(nappe_sdaster,formule)), - ), -# -# comportement métallurgique -# - META_ACIER =FACT(statut='f', - TRC =SIMP(statut='o',typ=(table_sdaster) ), - AR3 =SIMP(statut='o',typ='R'), - ALPHA =SIMP(statut='o',typ='R'), - MS0 =SIMP(statut='o',typ='R'), - AC1 =SIMP(statut='o',typ='R'), - AC3 =SIMP(statut='o',typ='R'), - TAUX_1 =SIMP(statut='o',typ='R'), - TAUX_3 =SIMP(statut='o',typ='R'), - LAMBDA0 =SIMP(statut='f',typ='R'), - QSR_K =SIMP(statut='f',typ='R'), - D10 =SIMP(statut='f',typ='R'), - WSR_K =SIMP(statut='f',typ='R'), - ), - META_ZIRC =FACT(statut='f', - TDEQ =SIMP(statut='o',typ='R'), - N =SIMP(statut='o',typ='R'), - K =SIMP(statut='o',typ='R'), - T1C =SIMP(statut='o',typ='R'), - T2C =SIMP(statut='o',typ='R'), - AC =SIMP(statut='o',typ='R'), - M =SIMP(statut='o',typ='R'), - QSR_K =SIMP(statut='o',typ='R'), - T1R =SIMP(statut='o',typ='R'), - T2R =SIMP(statut='o',typ='R'), - AR =SIMP(statut='o',typ='R'), - BR =SIMP(statut='o',typ='R'), - ), - DURT_META =FACT(statut='f', - F1_DURT =SIMP(statut='o',typ='R'), - F2_DURT =SIMP(statut='o',typ='R'), - F3_DURT =SIMP(statut='o',typ='R'), - F4_DURT =SIMP(statut='o',typ='R'), - C_DURT =SIMP(statut='o',typ='R'), - ), - ELAS_META =FACT(statut='f', - E =SIMP(statut='o',typ='R'), - NU =SIMP(statut='o',typ='R'), - F_ALPHA =SIMP(statut='o',typ='R'), - C_ALPHA =SIMP(statut='o',typ='R'), - PHASE_REFE =SIMP(statut='o',typ='TXM',into=("CHAUD","FROID")), - EPSF_EPSC_TREF =SIMP(statut='o',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E+0), - F1_SY =SIMP(statut='f',typ='R'), - F2_SY =SIMP(statut='f',typ='R'), - F3_SY =SIMP(statut='f',typ='R'), - F4_SY =SIMP(statut='f',typ='R'), - C_SY =SIMP(statut='f',typ='R'), - SY_MELANGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F1_S_VP =SIMP(statut='f',typ='R'), - F2_S_VP =SIMP(statut='f',typ='R'), - F3_S_VP =SIMP(statut='f',typ='R'), - F4_S_VP =SIMP(statut='f',typ='R'), - C_S_VP =SIMP(statut='f',typ='R' ), - S_VP_MELANGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ELAS_META_FO =FACT(statut='f', - regles=( - PRESENT_PRESENT('F_ALPHA','TEMP_DEF_ALPHA'), - PRESENT_PRESENT('C_ALPHA','TEMP_DEF_ALPHA'), - ), - E =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - NU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - F_ALPHA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_ALPHA =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - PHASE_REFE =SIMP(statut='o',typ='TXM',into=("CHAUD","FROID")), - EPSF_EPSC_TREF =SIMP(statut='o',typ='R'), - TEMP_DEF_ALPHA =SIMP(statut='f',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E+0), - F1_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F3_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F4_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_SY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SY_MELANGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F1_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F3_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F4_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_S_VP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - S_VP_MELANGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - META_ECRO_LINE =FACT(statut='f', - F1_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F3_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F4_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_D_SIGM_EPSI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - META_TRACTION =FACT(statut='f', - SIGM_F1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_F2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_F3 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_F4 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - META_VISC_FO =FACT(statut='f', - F1_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F1_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F1_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F1_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F3_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F3_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F3_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F3_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F4_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F4_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F4_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F4_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_ETA =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_N =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - C_M =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - META_PT =FACT(statut='f', - F1_K =SIMP(statut='f',typ='R'), - F2_K =SIMP(statut='f',typ='R'), - F3_K =SIMP(statut='f',typ='R'), - F4_K =SIMP(statut='f',typ='R'), - F1_D_F_META =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F2_D_F_META =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F3_D_F_META =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - F4_D_F_META =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - META_RE =FACT(statut='f', - C_F1_THETA =SIMP(statut='f',typ='R'), - C_F2_THETA =SIMP(statut='f',typ='R'), - C_F3_THETA =SIMP(statut='f',typ='R'), - C_F4_THETA =SIMP(statut='f',typ='R'), - F1_C_THETA =SIMP(statut='f',typ='R'), - F2_C_THETA =SIMP(statut='f',typ='R'), - F3_C_THETA =SIMP(statut='f',typ='R'), - F4_C_THETA =SIMP(statut='f',typ='R'), - ), -# -# comportement fluide -# - FLUIDE =FACT(statut='f', - regles=(EXCLUS('CELE_C','CELE_R'),), - RHO =SIMP(statut='o',typ='R'), - PESA_Z =SIMP(statut='f',typ='R',min=1,max=1), - CELE_C =SIMP(statut='f',typ='C'), - CELE_R =SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# COMPORTEMENT THERMO_HYDRO_MECANIQUE -# LES DONNEES NECESSAIRES A LA DEFINITION DU MATERIAU SONT DEPENDANTES -# DE LA LOI DE COUPLAGE THM DE LA RELATION -# LE COMPORTEMENT DE COUPLAGE COMP_THM N EST VALABLE QUE POUR LES LOIS -# DE COUPLAGE : LIQU_SATU,LIQU_GAZ,GAZ,LIQU_GAZ_ATM,LIQU_VAPE_GAZ,LIQU_VAPE -# ET LIQU_AD_GAZ_VAPE -# LA CORRESPONDANCE AVEC LES VARIABLES CACHEES EST LA SUIVANTE : -# 1 --> LIQU_SATU -# 2 --> GAZ -# 3 --> LIQU_VAPE -# 4 --> LIQU_VAPE_GAZ -# 5 --> LIQU_GAZ -# 6 --> LIQU_GAZ_ATM -# 9 --> LIQU_AD_GAZ_VAPE -# 10 --> LIQU_AD_GAZ -# ================================================================================= - COMP_THM = SIMP(statut='f', typ='TXM', - into = ( "LIQU_SATU" , - "LIQU_GAZ" , - "GAZ" , - "LIQU_GAZ_ATM" , - "LIQU_VAPE_GAZ" , - "LIQU_VAPE" , - "LIQU_AD_GAZ_VAPE" , - "LIQU_AD_GAZ" , - ) ), -# ================================================================================= -# --- LOI DE COUPLAGE DE TYPE LIQU_SATU ------------------------------------------- -# ================================================================================= -# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- -# --- THM_INIT, THM_DIFFU, THM_LIQU ----------------------------------------------- -# ================================================================================= - b_liqusatu = BLOC(condition = "COMP_THM == 'LIQU_SATU' ", - fr="Paramètres nécessaires pour une loi de couplage de type LIQU_SATU", -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_INIT = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - PRE1 = SIMP(statut='o',typ='R'), - PORO = SIMP(statut='o',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - TEMP = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - PRE2 = SIMP(statut='f',typ='R'), - PRES_VAPE = SIMP(statut='f',typ='R'), - DEGR_SATU = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEE CACHEE --------------------------------------------- -# --------------------------------------------------------------------------------- - COMP_THM = SIMP(statut='c',typ='R',defaut= 1.0,), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_DIFFU = FACT(statut='o', - regles = (EXCLUS('BIOT_COEF','BIOT_N',), - PRESENT_PRESENT('BIOT_N','BIOT_L',), - PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), - - EXCLUS('PERM_IN','PERM_END','PERMIN_L',), - PRESENT_ABSENT('PERMIN_N','PERMIN_T',), - PRESENT_PRESENT('PERMIN_N','PERMIN_L',), - PRESENT_PRESENT('PERMIN_T','PERMIN_L',), - - - EXCLUS('LAMB_T','LAMB_TL',), - PRESENT_ABSENT('LAMB_TN','LAMB_TT',), - PRESENT_PRESENT('LAMB_TN','LAMB_TL',), - PRESENT_PRESENT('LAMB_TT','LAMB_TL',), - - - EXCLUS('D_LB_T','D_LB_TL',), - PRESENT_ABSENT('D_LB_TN','D_LB_TT',), - PRESENT_PRESENT('D_LB_TN','D_LB_TL',), - - EXCLUS('LAMB_CT','LAMB_C_L',), - PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), - PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), - PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), - - EXCLUS('PERMIN_L','BIOT_COEF'), - EXCLUS('PERMIN_L','LAMB_T'), - PRESENT_PRESENT('BIOT_L','PERMIN_L',), - PRESENT_PRESENT('BIOT_T','PERMIN_T',), - PRESENT_PRESENT('LAMB_TN','PERMIN_N',), - PRESENT_PRESENT('LAMB_TL','PERMIN_L',), - PRESENT_PRESENT('LAMB_TT','PERMIN_T',), - - ), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - RHO = SIMP(statut='o',typ='R'), - BIOT_COEF = SIMP(statut='f',typ='R'), - BIOT_L = SIMP(statut='f',typ='R'), - BIOT_N = SIMP(statut='f',typ='R'), - BIOT_T = SIMP(statut='f',typ='R'), - PESA_X = SIMP(statut='o',typ='R'), - PESA_Y = SIMP(statut='o',typ='R'), - PESA_Z = SIMP(statut='o',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES FACULTATIVES ------------------------------------ -# --------------------------------------------------------------------------------- - PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_CT = SIMP(statut='f',typ='R'), - LAMB_C_L = SIMP(statut='f',typ='R'), - LAMB_C_N = SIMP(statut='f',typ='R'), - LAMB_C_T = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - R_GAZ = SIMP(statut='f',typ='R'), - EMMAG = SIMP(statut='f',typ='R'), - SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_LIQU =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_LIQU = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - RHO = SIMP(statut='o',typ='R'), - UN_SUR_K = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - ALPHA = SIMP(statut='f',typ='R'), - CP = SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE INUTILE ------------------------------------------------------------- -# ================================================================================= - THM_GAZ =FACT(statut='f', - MASS_MOL =SIMP(statut='f',typ='R'), - CP =SIMP(statut='f',typ='R'), - VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), -# ================================================================================= -# --- MOT-CLE INUTILE ------------------------------------------------------------- -# ================================================================================= - THM_VAPE_GAZ =FACT(statut='f', - MASS_MOL =SIMP(statut='f',typ='R'), - CP =SIMP(statut='f',typ='R'), - VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ), -# ================================================================================= -# --- LOI DE COUPLAGE DE TYPE LIQU_GAZ -------------------------------------------- -# ================================================================================= -# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- -# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ -------------------------------------- -# ================================================================================= - b_liqugaz = BLOC(condition = "COMP_THM == 'LIQU_GAZ' ", - fr="Paramètres nécessaires pour une loi de couplage de type LIQU_GAZ", -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_INIT = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - PRE1 = SIMP(statut='o',typ='R'), - PRE2 = SIMP(statut='o',typ='R'), - PORO = SIMP(statut='o',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - TEMP = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - PRES_VAPE = SIMP(statut='f',typ='R'), - DEGR_SATU = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEE CACHEE --------------------------------------------- -# --------------------------------------------------------------------------------- - COMP_THM = SIMP(statut='c',typ='R',defaut= 5.0,), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_DIFFU = FACT(statut='o', - regles = (EXCLUS('BIOT_COEF','BIOT_N',), - PRESENT_PRESENT('BIOT_N','BIOT_L',), - PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), - EXCLUS('PERM_IN','PERM_END','PERMIN_L',), - PRESENT_ABSENT('PERMIN_N','PERMIN_T',), - PRESENT_PRESENT('PERMIN_N','PERMIN_L',), - PRESENT_PRESENT('PERMIN_T','PERMIN_L',), - EXCLUS('LAMB_T','LAMB_TL',), - PRESENT_ABSENT('LAMB_TN','LAMB_TT',), - PRESENT_PRESENT('LAMB_TN','LAMB_TL',), - PRESENT_PRESENT('LAMB_TT','LAMB_TL',), - EXCLUS('D_LB_T','D_LB_TL',), - PRESENT_ABSENT('D_LB_TN','D_LB_TT',), - PRESENT_PRESENT('D_LB_TN','D_LB_TL',), - PRESENT_PRESENT('D_LB_TT','D_LB_TL',), - EXCLUS('LAMB_CT','LAMB_C_L',), - PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), - PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), - PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), - - EXCLUS('PERMIN_L','BIOT_COEF'), - EXCLUS('PERMIN_L','LAMB_T'), - PRESENT_PRESENT('BIOT_L','PERMIN_L',), - PRESENT_PRESENT('BIOT_T','PERMIN_T',), - PRESENT_PRESENT('LAMB_TN','PERMIN_N',), - PRESENT_PRESENT('LAMB_TL','PERMIN_L',), - PRESENT_PRESENT('LAMB_TT','PERMIN_T',), - ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU', - 'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',), - ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',), - UN_PARMI('VG_N','SATU_PRES'), - ), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - R_GAZ = SIMP(statut='o',typ='R'), - RHO = SIMP(statut='o',typ='R'), - BIOT_COEF = SIMP(statut='f',typ='R'), - BIOT_L = SIMP(statut='f',typ='R'), - BIOT_N = SIMP(statut='f',typ='R'), - BIOT_T = SIMP(statut='f',typ='R'), - PESA_X = SIMP(statut='o',typ='R'), - PESA_Y = SIMP(statut='o',typ='R'), - PESA_Z = SIMP(statut='o',typ='R'), - SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_LIQU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_SATU_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_PRES_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# ---Van Genhuchten et Muallen----------------------------------------------------------------------------- - - VG_N = SIMP(statut='f',typ='R'), - VG_SR = SIMP(statut='f',typ='R'), - VG_PR = SIMP(statut='f',typ='R'), - VG_SMAX = SIMP(statut='f',typ='R'), - VG_SATUR = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES FACULTATIVES ------------------------------------ -# --------------------------------------------------------------------------------- - PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_CT = SIMP(statut='f',typ='R'), - LAMB_C_L = SIMP(statut='f',typ='R'), - LAMB_C_N = SIMP(statut='f',typ='R'), - LAMB_C_T = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - EMMAG = SIMP(statut='f',typ='R'), - FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ) , -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_LIQU = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - RHO = SIMP(statut='o',typ='R'), - UN_SUR_K = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - ALPHA = SIMP(statut='f',typ='R'), - CP = SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_GAZ = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - MASS_MOL = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE INUTILE ------------------------------------------------------------- -# ================================================================================= - THM_VAPE_GAZ =FACT(statut='f', - MASS_MOL =SIMP(statut='f',typ='R'), - CP =SIMP(statut='f',typ='R'), - VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ), -# ================================================================================= -# --- LOI DE COUPLAGE DE TYPE GAZ ------------------------------------------------- -# ================================================================================= -# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- -# --- THM_INIT, THM_DIFFU, THM_GAZ ------------------------------------------------ -# ================================================================================= - b_gaz = BLOC(condition = "COMP_THM == 'GAZ' ", - fr="Paramètres nécessaires pour une loi de couplage de type GAZ", -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_INIT = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - TEMP = SIMP(statut='o',typ='R'), - PRE1 = SIMP(statut='o',typ='R'), - PORO = SIMP(statut='o',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - PRE2 = SIMP(statut='f',typ='R'), - PRES_VAPE = SIMP(statut='f',typ='R'), - DEGR_SATU = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEE CACHEE --------------------------------------------- -# --------------------------------------------------------------------------------- - COMP_THM = SIMP(statut='c',typ='R',defaut= 2.0,), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_DIFFU = FACT(statut='o', - regles = (EXCLUS('BIOT_COEF','BIOT_N',), - PRESENT_PRESENT('BIOT_N','BIOT_L',), - PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), - EXCLUS('PERM_IN','PERM_END','PERMIN_L',), - PRESENT_ABSENT('PERMIN_N','PERMIN_T',), - PRESENT_PRESENT('PERMIN_N','PERMIN_L',), - PRESENT_PRESENT('PERMIN_T','PERMIN_L',), - EXCLUS('LAMB_T','LAMB_TL',), - PRESENT_ABSENT('LAMB_TN','LAMB_TT',), - PRESENT_PRESENT('LAMB_TN','LAMB_TL',), - PRESENT_PRESENT('LAMB_TT','LAMB_TL',), - EXCLUS('D_LB_T','D_LB_TL',), - PRESENT_ABSENT('D_LB_TN','D_LB_TT',), - PRESENT_PRESENT('D_LB_TN','D_LB_TL',), - PRESENT_PRESENT('D_LB_TT','D_LB_TL',), - EXCLUS('LAMB_CT','LAMB_C_L',), - PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), - PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), - PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), - EXCLUS('PERMIN_L','BIOT_COEF'), - EXCLUS('PERMIN_L','LAMB_T'), - PRESENT_PRESENT('BIOT_L','PERMIN_L',), - PRESENT_PRESENT('BIOT_T','PERMIN_T',), - PRESENT_PRESENT('LAMB_TN','PERMIN_N',), - PRESENT_PRESENT('LAMB_TL','PERMIN_L',), - PRESENT_PRESENT('LAMB_TT','PERMIN_T',), - ), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - R_GAZ = SIMP(statut='o',typ='R'), - RHO = SIMP(statut='o',typ='R'), - BIOT_COEF = SIMP(statut='f',typ='R'), - BIOT_L = SIMP(statut='f',typ='R'), - BIOT_N = SIMP(statut='f',typ='R'), - BIOT_T = SIMP(statut='f',typ='R'), - PESA_X = SIMP(statut='o',typ='R'), - PESA_Y = SIMP(statut='o',typ='R'), - PESA_Z = SIMP(statut='o',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES FACULTATIVES ------------------------------------ -# --------------------------------------------------------------------------------- - PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_CT = SIMP(statut='f',typ='R'), - LAMB_C_L = SIMP(statut='f',typ='R'), - LAMB_C_N = SIMP(statut='f',typ='R'), - LAMB_C_T = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - EMMAG = SIMP(statut='f',typ='R'), - SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_SATU_PRES =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_LIQU =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_LIQU_SATU=SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ) , -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_GAZ = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - MASS_MOL = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE INUTILE ------------------------------------------------------------- -# ================================================================================= - THM_LIQU =FACT(statut='f', - RHO =SIMP(statut='f',typ='R'), - UN_SUR_K =SIMP(statut='f',typ='R'), - ALPHA =SIMP(statut='f',typ='R'), - CP =SIMP(statut='f',typ='R'), - VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - COEF_HENRY =SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE INUTILE ------------------------------------------------------------- -# ================================================================================= - THM_VAPE_GAZ =FACT(statut='f', - MASS_MOL =SIMP(statut='f',typ='R'), - CP =SIMP(statut='f',typ='R'), - VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ), -# ================================================================================= -# --- LOI DE COUPLAGE DE TYPE LIQU_GAZ_ATM ---------------------------------------- -# ================================================================================= -# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- -# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ -------------------------------------- -# ================================================================================= - b_liqugazatm = BLOC(condition = "COMP_THM == 'LIQU_GAZ_ATM' ", - fr="Paramètres nécessaires pour une loi de couplage de type LIQU_GAZ_ATM", -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_INIT = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - PRE1 = SIMP(statut='o',typ='R'), - PORO = SIMP(statut='o',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - TEMP = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - PRE2 = SIMP(statut='f',typ='R'), - PRES_VAPE = SIMP(statut='f',typ='R'), - DEGR_SATU = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEE CACHEE --------------------------------------------- -# --------------------------------------------------------------------------------- - COMP_THM = SIMP(statut='c',typ='R',defaut= 6.0,), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_DIFFU = FACT(statut='o', - regles = (EXCLUS('BIOT_COEF','BIOT_N',), - PRESENT_PRESENT('BIOT_N','BIOT_L',), - PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), - EXCLUS('PERM_IN','PERM_END','PERMIN_L',), - PRESENT_ABSENT('PERMIN_N','PERMIN_T',), - PRESENT_PRESENT('PERMIN_N','PERMIN_L',), - PRESENT_PRESENT('PERMIN_T','PERMIN_L',), - EXCLUS('LAMB_T','LAMB_TL',), - PRESENT_ABSENT('LAMB_TN','LAMB_TT',), - PRESENT_PRESENT('LAMB_TN','LAMB_TL',), - PRESENT_PRESENT('LAMB_TT','LAMB_TL',), - EXCLUS('D_LB_T','D_LB_TL',), - PRESENT_ABSENT('D_LB_TN','D_LB_TT',), - PRESENT_PRESENT('D_LB_TN','D_LB_TL',), - PRESENT_PRESENT('D_LB_TT','D_LB_TL',), - EXCLUS('LAMB_CT','LAMB_C_L',), - PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), - PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), - PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), - EXCLUS('PERMIN_L','BIOT_COEF'), - EXCLUS('PERMIN_L','LAMB_T'), - PRESENT_PRESENT('BIOT_L','PERMIN_L',), - PRESENT_PRESENT('BIOT_T','PERMIN_T',), - PRESENT_PRESENT('LAMB_TN','PERMIN_N',), - PRESENT_PRESENT('LAMB_TL','PERMIN_L',), - PRESENT_PRESENT('LAMB_TT','PERMIN_T',), - ), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - RHO = SIMP(statut='o',typ='R'), - BIOT_COEF = SIMP(statut='f',typ='R'), - BIOT_L = SIMP(statut='f',typ='R'), - BIOT_N = SIMP(statut='f',typ='R'), - BIOT_T = SIMP(statut='f',typ='R'), - PESA_X = SIMP(statut='o',typ='R'), - PESA_Y = SIMP(statut='o',typ='R'), - PESA_Z = SIMP(statut='o',typ='R'), - SATU_PRES = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_SATU_PRES = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_LIQU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES FACULTATIVES ------------------------------------ -# --------------------------------------------------------------------------------- - PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_CT = SIMP(statut='f',typ='R'), - LAMB_C_L = SIMP(statut='f',typ='R'), - LAMB_C_N = SIMP(statut='f',typ='R'), - LAMB_C_T = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - EMMAG = SIMP(statut='f',typ='R'), - R_GAZ =SIMP(statut='f',typ='R'), - PERM_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_SATU_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_PRES_GAZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ) , -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_LIQU = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - RHO = SIMP(statut='o',typ='R'), - UN_SUR_K = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - ALPHA = SIMP(statut='f',typ='R'), - CP = SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE INUTILE ------------------------------------------------------------- -# ================================================================================= - THM_GAZ = FACT(statut='f', - MASS_MOL = SIMP(statut='f',typ='R'), - VISC = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - CP = SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE INUTILE ------------------------------------------------------------- -# ================================================================================= - THM_VAPE_GAZ =FACT(statut='f', - MASS_MOL =SIMP(statut='f',typ='R'), - CP =SIMP(statut='f',typ='R'), - VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ), - -# ================================================================================= -# --- LOI DE COUPLAGE DE TYPE LIQU_AD_GAZ ------------------------------------- -# ================================================================================= -# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- -# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ, THM_AIR_DISSOUS--------- -# ================================================================================= - b_liquadgaz = BLOC(condition = "COMP_THM == 'LIQU_AD_GAZ' ", - fr="Paramètres nécessaires pour une loi de couplage de type LIQU_AD_GAZ", -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_INIT = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - PRE1 = SIMP(statut='o',typ='R'), - PRE2 = SIMP(statut='o',typ='R'), - PORO = SIMP(statut='o',typ='R'), - PRES_VAPE = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - TEMP = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - DEGR_SATU = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEE CACHEE --------------------------------------------- -# --------------------------------------------------------------------------------- - COMP_THM = SIMP(statut='c',typ='R',defaut= 10.0,), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_DIFFU = FACT(statut='o', - regles = (EXCLUS('BIOT_COEF','BIOT_N',), - PRESENT_PRESENT('BIOT_N','BIOT_L',), - PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), - EXCLUS('PERM_IN','PERM_END','PERMIN_L',), - PRESENT_ABSENT('PERMIN_N','PERMIN_T',), - PRESENT_PRESENT('PERMIN_N','PERMIN_L',), - PRESENT_PRESENT('PERMIN_T','PERMIN_L',), - EXCLUS('LAMB_T','LAMB_TL',), - PRESENT_ABSENT('LAMB_TN','LAMB_TT',), - PRESENT_PRESENT('LAMB_TN','LAMB_TL',), - PRESENT_PRESENT('LAMB_TT','LAMB_TL',), - EXCLUS('D_LB_T','D_LB_TL',), - PRESENT_ABSENT('D_LB_TN','D_LB_TT',), - PRESENT_PRESENT('D_LB_TN','D_LB_TL',), - PRESENT_PRESENT('D_LB_TT','D_LB_TL',), - EXCLUS('LAMB_CT','LAMB_C_L',), - PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), - PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), - PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), - EXCLUS('PERMIN_L','BIOT_COEF'), - EXCLUS('PERMIN_L','LAMB_T'), - PRESENT_PRESENT('BIOT_L','PERMIN_L',), - PRESENT_PRESENT('BIOT_T','PERMIN_T',), - PRESENT_PRESENT('LAMB_TN','PERMIN_N',), - PRESENT_PRESENT('LAMB_TL','PERMIN_L',), - PRESENT_PRESENT('LAMB_TT','PERMIN_T',), - ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU', - 'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',), - ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',), - UN_PARMI('VG_N','SATU_PRES'), - ), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - R_GAZ = SIMP(statut='o',typ='R'), - RHO = SIMP(statut='o',typ='R'), - BIOT_COEF = SIMP(statut='f',typ='R'), - BIOT_L = SIMP(statut='f',typ='R'), - BIOT_N = SIMP(statut='f',typ='R'), - BIOT_T = SIMP(statut='f',typ='R'), - PESA_X = SIMP(statut='o',typ='R'), - PESA_Y = SIMP(statut='o',typ='R'), - PESA_Z = SIMP(statut='o',typ='R'), - SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_LIQU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_SATU_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_PRES_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# ---Van Genhuchten et Muallen----------------------------------------------------------------------------- - VG_N = SIMP(statut='f',typ='R'), - VG_SR = SIMP(statut='f',typ='R'), - VG_PR = SIMP(statut='f',typ='R'), - VG_SMAX = SIMP(statut='f',typ='R'), - VG_SATUR = SIMP(statut='f',typ='R'), -# - FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_T = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES FACULTATIVES ------------------------------------ -# --------------------------------------------------------------------------------- - PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_CT = SIMP(statut='f',typ='R'), - LAMB_C_L = SIMP(statut='f',typ='R'), - LAMB_C_N = SIMP(statut='f',typ='R'), - LAMB_C_T = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES FACULTATIVES ------------------------------------ -# --------------------------------------------------------------------------------- - EMMAG = SIMP(statut='f',typ='R'), - FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# - FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES CACHEES ------------------------------------------- -# --------------------------------------------------------------------------------- - ) , -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_LIQU = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - RHO = SIMP(statut='o',typ='R'), - UN_SUR_K = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - ALPHA = SIMP(statut='f',typ='R'), - CP = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES CACHEES ------------------------------------------- -# --------------------------------------------------------------------------------- - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_GAZ = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - MASS_MOL = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES CACHEES ------------------------------------------- -# --------------------------------------------------------------------------------- - ), -# ================================================================================= -# --- MOT-CLE FACULTATIF --------------------------------------------------------- -# ================================================================================= - THM_VAPE_GAZ = FACT(statut='f', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - MASS_MOL = SIMP(statut='o',typ='R'), - CP = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES CACHEES ------------------------------------------- -# --------------------------------------------------------------------------------- - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_AIR_DISS = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='o',typ='R'), - COEF_HENRY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ), - -# ================================================================================= -# --- LOI DE COUPLAGE DE TYPE LIQU_VAPE_GAZ --------------------------------------- -# ================================================================================= -# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- -# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ, THM_VAPE_GAZ ------------------------ -# ================================================================================= - b_liquvapegaz = BLOC(condition = "COMP_THM == 'LIQU_VAPE_GAZ' ", - fr="Paramètres nécessaires pour une loi de couplage de type LIQU_VAPE_GAZ", -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_INIT = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - PRE1 = SIMP(statut='o',typ='R'), - PRE2 = SIMP(statut='o',typ='R'), - PORO = SIMP(statut='o',typ='R'), - PRES_VAPE = SIMP(statut='o',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - TEMP = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - DEGR_SATU = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEE CACHEE --------------------------------------------- -# --------------------------------------------------------------------------------- - COMP_THM = SIMP(statut='c',typ='R',defaut= 4.0,), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_DIFFU = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - R_GAZ = SIMP(statut='o',typ='R'), - RHO = SIMP(statut='o',typ='R'), - BIOT_COEF = SIMP(statut='f',typ='R'), - BIOT_L = SIMP(statut='f',typ='R'), - BIOT_N = SIMP(statut='f',typ='R'), - BIOT_T = SIMP(statut='f',typ='R'), - PESA_X = SIMP(statut='o',typ='R'), - PESA_Y = SIMP(statut='o',typ='R'), - PESA_Z = SIMP(statut='o',typ='R'), - SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_LIQU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_SATU_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_PRES_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# ---Van Genhuchten et Muallen----------------------------------------------------------------------------- - - VG_N = SIMP(statut='f',typ='R'), - VG_SR = SIMP(statut='f',typ='R'), - VG_PR = SIMP(statut='f',typ='R'), - VG_SMAX = SIMP(statut='f',typ='R'), - VG_SATUR = SIMP(statut='f',typ='R'), -# - FICKV_T = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES FACULTATIVES ------------------------------------ -# --------------------------------------------------------------------------------- - PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_CT = SIMP(statut='f',typ='R'), - LAMB_C_L = SIMP(statut='f',typ='R'), - LAMB_C_N = SIMP(statut='f',typ='R'), - LAMB_C_T = SIMP(statut='f',typ='R'), -# - regles = (EXCLUS('BIOT_COEF','BIOT_N',), - PRESENT_PRESENT('BIOT_N','BIOT_L',), - PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), - EXCLUS('PERM_IN','PERM_END','PERMIN_L',), - PRESENT_ABSENT('PERMIN_N','PERMIN_T',), - PRESENT_PRESENT('PERMIN_N','PERMIN_L',), - PRESENT_PRESENT('PERMIN_T','PERMIN_L',), - EXCLUS('LAMB_T','LAMB_TL',), - PRESENT_ABSENT('LAMB_TN','LAMB_TT',), - PRESENT_PRESENT('LAMB_TN','LAMB_TL',), - PRESENT_PRESENT('LAMB_TT','LAMB_TL',), - EXCLUS('D_LB_T','D_LB_TL',), - PRESENT_ABSENT('D_LB_TN','D_LB_TT',), - PRESENT_PRESENT('D_LB_TN','D_LB_TL',), - PRESENT_PRESENT('D_LB_TT','D_LB_TL',), - EXCLUS('LAMB_CT','LAMB_C_L',), - PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), - PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), - PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), - EXCLUS('PERMIN_L','BIOT_COEF'), - EXCLUS('PERMIN_L','LAMB_T'), - PRESENT_PRESENT('BIOT_L','PERMIN_L',), - PRESENT_PRESENT('BIOT_T','PERMIN_T',), - PRESENT_PRESENT('LAMB_TN','PERMIN_N',), - PRESENT_PRESENT('LAMB_TL','PERMIN_L',), - PRESENT_PRESENT('LAMB_TT','PERMIN_T',), - - ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU', - 'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',), - ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',), - UN_PARMI('VG_N','SATU_PRES'), - ), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES FACULTATIVE ---------------------------------- -# --------------------------------------------------------------------------------- - EMMAG = SIMP(statut='f',typ='R'), - FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ) , -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_LIQU = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - RHO = SIMP(statut='o',typ='R'), - UN_SUR_K = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - ALPHA = SIMP(statut='f',typ='R'), - CP = SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_GAZ = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - MASS_MOL = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_VAPE_GAZ = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - MASS_MOL = SIMP(statut='o',typ='R'), - CP = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ), -# ================================================================================= -# --- LOI DE COUPLAGE DE TYPE LIQU_AD_GAZ_VAPE ------------------------------------- -# ================================================================================= -# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- -# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ, THM_VAPE_GAZ THM_AIR_DISSOUS--------- -# ================================================================================= - b_liquadvape = BLOC(condition = "COMP_THM == 'LIQU_AD_GAZ_VAPE' ", - fr="Paramètres nécessaires pour une loi de couplage de type LIQU_AD_GAZ_VAPE", -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_INIT = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - PRE1 = SIMP(statut='o',typ='R'), - PRE2 = SIMP(statut='o',typ='R'), - PORO = SIMP(statut='o',typ='R'), - PRES_VAPE = SIMP(statut='o',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - TEMP = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - DEGR_SATU = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEE CACHEE --------------------------------------------- -# --------------------------------------------------------------------------------- - COMP_THM = SIMP(statut='c',typ='R',defaut= 9.0,), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_DIFFU = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - R_GAZ = SIMP(statut='o',typ='R'), - RHO = SIMP(statut='o',typ='R'), - BIOT_COEF = SIMP(statut='f',typ='R'), - BIOT_L = SIMP(statut='f',typ='R'), - BIOT_N = SIMP(statut='f',typ='R'), - BIOT_T = SIMP(statut='f',typ='R'), - PESA_X = SIMP(statut='o',typ='R'), - PESA_Y = SIMP(statut='o',typ='R'), - PESA_Z = SIMP(statut='o',typ='R'), - SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_LIQU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_SATU_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_PRES_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# ---Van Genhuchten et Muallen----------------------------------------------------------------------------- - VG_N = SIMP(statut='f',typ='R'), - VG_SR = SIMP(statut='f',typ='R'), - VG_PR = SIMP(statut='f',typ='R'), - VG_SMAX = SIMP(statut='f',typ='R'), - VG_SATUR = SIMP(statut='f',typ='R'), -# - FICKV_T = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_T = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES FACULTATIVES ------------------------------------ -# --------------------------------------------------------------------------------- - PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_CT = SIMP(statut='f',typ='R'), - LAMB_C_L = SIMP(statut='f',typ='R'), - LAMB_C_N = SIMP(statut='f',typ='R'), - LAMB_C_T = SIMP(statut='f',typ='R'), -# - regles = (EXCLUS('BIOT_COEF','BIOT_N',), - PRESENT_PRESENT('BIOT_N','BIOT_L',), - PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), - EXCLUS('PERM_IN','PERM_END','PERMIN_L',), - PRESENT_ABSENT('PERMIN_N','PERMIN_T',), - PRESENT_PRESENT('PERMIN_N','PERMIN_L',), - PRESENT_PRESENT('PERMIN_T','PERMIN_L',), - EXCLUS('LAMB_T','LAMB_TL',), - PRESENT_PRESENT('LAMB_TT','PERMIN_T',), - PRESENT_ABSENT('LAMB_TN','LAMB_TT',), - PRESENT_PRESENT('LAMB_TN','LAMB_TL',), - PRESENT_PRESENT('LAMB_TT','LAMB_TL',), - EXCLUS('D_LB_T','D_LB_TL',), - PRESENT_ABSENT('D_LB_TN','D_LB_TT',), - PRESENT_PRESENT('D_LB_TN','D_LB_TL',), - PRESENT_PRESENT('D_LB_TT','D_LB_TL',), - EXCLUS('LAMB_CT','LAMB_C_L',), - PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), - PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), - PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), - EXCLUS('PERMIN_L','BIOT_COEF'), - EXCLUS('PERMIN_L','LAMB_T'), - PRESENT_PRESENT('BIOT_L','PERMIN_L',), - PRESENT_PRESENT('BIOT_T','PERMIN_T',), - PRESENT_PRESENT('LAMB_TN','PERMIN_N',), - PRESENT_PRESENT('LAMB_TL','PERMIN_L',), - PRESENT_PRESENT('LAMB_TT','PERMIN_T',), - ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU', - 'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',), - ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',), - UN_PARMI('VG_N','SATU_PRES'), - ), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES FACULTATIVES ------------------------------------ -# --------------------------------------------------------------------------------- - EMMAG = SIMP(statut='f',typ='R'), - FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# - FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ) , -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_LIQU = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - RHO = SIMP(statut='o',typ='R'), - UN_SUR_K = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - ALPHA = SIMP(statut='f',typ='R'), - CP = SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_GAZ = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - MASS_MOL = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_VAPE_GAZ = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - MASS_MOL = SIMP(statut='o',typ='R'), - CP = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_AIR_DISS = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='o',typ='R'), - COEF_HENRY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ), -# ================================================================================= -# --- LOI DE COUPLAGE DE TYPE LIQU_VAPE ------------------------------------------- -# ================================================================================= -# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : --------------------------------- -# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_VAPE_GAZ --------------------------------- -# ================================================================================= - b_liquvape = BLOC(condition = "COMP_THM == 'LIQU_VAPE' ", - fr="Paramètres nécessaires pour une loi de couplage de type LIQU_VAPE", -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_INIT = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - PRE1 = SIMP(statut='o',typ='R'), - PORO = SIMP(statut='o',typ='R'), - PRES_VAPE = SIMP(statut='o',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - TEMP = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - PRE2 = SIMP(statut='f',typ='R'), - DEGR_SATU = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEE CACHEE --------------------------------------------- -# --------------------------------------------------------------------------------- - COMP_THM = SIMP(statut='c',typ='R',defaut= 3.0,), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_DIFFU = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - R_GAZ = SIMP(statut='o',typ='R'), - RHO = SIMP(statut='o',typ='R'), - BIOT_COEF = SIMP(statut='f',typ='R'), - BIOT_L = SIMP(statut='f',typ='R'), - BIOT_N = SIMP(statut='f',typ='R'), - BIOT_T = SIMP(statut='f',typ='R'), - PESA_X = SIMP(statut='o',typ='R'), - PESA_Y = SIMP(statut='o',typ='R'), - PESA_Z = SIMP(statut='o',typ='R'), - SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_SATU_PRES = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_LIQU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_SATU_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_PERM_PRES_GAZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# ---Van Genhuchten et Muallen----------------------------------------------------------------------------- - - VG_N = SIMP(statut='f',typ='R'), - VG_SR = SIMP(statut='f',typ='R'), - VG_PR = SIMP(statut='f',typ='R'), - VG_SMAX = SIMP(statut='f',typ='R'), - VG_SATUR = SIMP(statut='f',typ='R'), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES FACULTATIVES ------------------------------------ -# --------------------------------------------------------------------------------- - PESA_MULT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - CP = SIMP(statut='f',typ='R'), - PERM_IN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_L = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_N = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERMIN_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PERM_END = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TN = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_TT = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_LB_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - LAMB_CT = SIMP(statut='f',typ='R'), - LAMB_C_L = SIMP(statut='f',typ='R'), - LAMB_C_N = SIMP(statut='f',typ='R'), - LAMB_C_T = SIMP(statut='f',typ='R'), -# - regles = (EXCLUS('BIOT_COEF','BIOT_N',), - PRESENT_PRESENT('BIOT_N','BIOT_L',), - PRESENT_PRESENT('BIOT_T','BIOT_L','BIOT_N',), - EXCLUS('PERM_IN','PERM_END','PERMIN_L',), - PRESENT_ABSENT('PERMIN_N','PERMIN_T',), - PRESENT_PRESENT('PERMIN_N','PERMIN_L',), - PRESENT_PRESENT('PERMIN_T','PERMIN_L',), - EXCLUS('LAMB_T','LAMB_TL',), - PRESENT_ABSENT('LAMB_TN','LAMB_TT',), - PRESENT_PRESENT('LAMB_TN','LAMB_TL',), - PRESENT_PRESENT('LAMB_TT','LAMB_TL',), - EXCLUS('D_LB_T','D_LB_TL',), - PRESENT_ABSENT('D_LB_TN','D_LB_TT',), - PRESENT_PRESENT('D_LB_TN','D_LB_TL',), - PRESENT_PRESENT('D_LB_TT','D_LB_TL',), - EXCLUS('LAMB_CT','LAMB_C_L',), - PRESENT_ABSENT('LAMB_C_N','LAMB_C_T',), - PRESENT_PRESENT('LAMB_C_N','LAMB_C_L',), - PRESENT_PRESENT('LAMB_C_T','LAMB_C_L',), - EXCLUS('PERMIN_L','BIOT_COEF'), - EXCLUS('PERMIN_L','LAMB_T'), - PRESENT_PRESENT('BIOT_L','PERMIN_L',), - PRESENT_PRESENT('BIOT_T','PERMIN_T',), - PRESENT_PRESENT('LAMB_TN','PERMIN_N',), - PRESENT_PRESENT('LAMB_TL','PERMIN_L',), - PRESENT_PRESENT('LAMB_TT','PERMIN_T',), - - ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU', - 'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',), - ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',), - UN_PARMI('VG_N','SATU_PRES'), - ), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES INUTILES ---------------------------------------- -# --------------------------------------------------------------------------------- - EMMAG = SIMP(statut='f',typ='R'), - FICKV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PV = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKV_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FV_PG = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PA = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_PL = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - FICKA_S = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_FA_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ) , -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_LIQU = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - RHO = SIMP(statut='o',typ='R'), - UN_SUR_K = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), -# --------------------------------------------------------------------------------- -# ------------------- DONNEES NECESSAIRE SI THERMIQUE ------------------------- -# --------------------------------------------------------------------------------- - ALPHA = SIMP(statut='f',typ='R'), - CP = SIMP(statut='f',typ='R'), - ), -# ================================================================================= -# --- MOT-CLE OBLIGATOIRE --------------------------------------------------------- -# ================================================================================= - THM_VAPE_GAZ = FACT(statut='o', -# --------------------------------------------------------------------------------- -# ------------------- DONNEES OBLIGATOIRE ------------------------------------- -# --------------------------------------------------------------------------------- - MASS_MOL = SIMP(statut='o',typ='R'), - CP = SIMP(statut='o',typ='R'), - VISC = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), -# ================================================================================= -# --- MOT-CLE INUTILE ------------------------------------------------------------- -# ================================================================================= - THM_GAZ =FACT(statut='f', - MASS_MOL =SIMP(statut='f',typ='R'), - CP =SIMP(statut='f',typ='R'), - VISC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_VISC_TEMP =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ), -# courbes et coefficients associés à la fatigue et au dommage -# - FATIGUE =FACT(statut='f', - regles=(PRESENT_ABSENT('WOHLER','A_BASQUIN','BETA_BASQUIN'), - PRESENT_ABSENT('WOHLER','A0','A1','A2','A3','SL'), - PRESENT_ABSENT('A_BASQUIN','A0','A1','A2','A3','SL'), - ENSEMBLE('A_BASQUIN','BETA_BASQUIN'), - ENSEMBLE('A0','A1','A2','A3','SL'), - PRESENT_PRESENT('A0','E_REFE'), - ENSEMBLE('D0','TAU0'),), - WOHLER =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - A_BASQUIN =SIMP(statut='f',typ='R'), - BETA_BASQUIN =SIMP(statut='f',typ='R'), - A0 =SIMP(statut='f',typ='R'), - A1 =SIMP(statut='f',typ='R'), - A2 =SIMP(statut='f',typ='R'), - A3 =SIMP(statut='f',typ='R'), - SL =SIMP(statut='f',typ='R'), - MANSON_COFFIN =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - E_REFE =SIMP(statut='f',typ='R'), - D0 =SIMP(statut='f',typ='R'), - TAU0 =SIMP(statut='f',typ='R'), - ), - DOMMA_LEMAITRE =FACT(statut='f', - S =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPSP_SEUIL =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - EXP_S =SIMP(statut='f',typ='R',val_min=0.0E0,defaut=1.0), - ), - CISA_PLAN_CRIT =FACT(statut='f', - CRITERE =SIMP(statut='o',typ='TXM',into=("MATAKE_MODI_AC", - "DANG_VAN_MODI_AC", - "DANG_VAN_MODI_AV", - "MATAKE_MODI_AV", - "FATESOCI_MODI_AV", - ) ), - - b_critere_matake =BLOC(condition="CRITERE=='MATAKE_MODI_AC' or CRITERE=='MATAKE_MODI_AV'", - fr="Cisaillement plan critique critère de matake pour les cas amplitude constante et amplitude variable", - MATAKE_A =SIMP(statut='o',typ='R'), - MATAKE_B =SIMP(statut='o',typ='R'), - COEF_FLEX_TORS =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0), - ), - - b_critere_dang_van =BLOC(condition="(CRITERE=='DANG_VAN_MODI_AC' or CRITERE=='DANG_VAN_MODI_AV')", - fr="Critère de Dang Van modifié pour les cas amplitude constante et amplitude variable", - D_VAN_A =SIMP(statut='o',typ='R'), - D_VAN_B =SIMP(statut='o',typ='R'), - COEF_CISA_TRAC =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0), - ), - - b_critere_fate_soci =BLOC(condition="CRITERE=='FATESOCI_MODI_AV'", - fr="Critère de Fatemi et Socie, en élasticité ou élastoplasticité, pour le cas amplitude variable", - FATSOC_A =SIMP(statut='o',typ='R'), - COEF_CISA_TRAC =SIMP(statut='o',typ='R',val_min=1.0E0,val_max=1.7321E0), - ), - ), - - - THM_RUPT =FACT(statut='f', - OUV_FICT =SIMP(statut='o',typ='R'), - UN_SUR_N =SIMP(statut='f',typ='R',defaut= 0.), - ), -# -# autres comportements ... -# - WEIBULL =FACT(statut='f', - M =SIMP(statut='o',typ='R'), - VOLU_REFE =SIMP(statut='o',typ='R'), - SIGM_REFE =SIMP(statut='o',typ='R'), - SEUIL_EPSP_CUMU =SIMP(statut='f',typ='R',defaut= 1.0E-6), - ), - WEIBULL_FO =FACT(statut='f', - M =SIMP(statut='o',typ='R'), - VOLU_REFE =SIMP(statut='o',typ='R'), - SIGM_CNV =SIMP(statut='o',typ='R'), - SIGM_REFE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SEUIL_EPSP_CUMU =SIMP(statut='f',typ='R',defaut= 1.0E-6), - ), - NON_LOCAL =FACT(statut='f', - regles=(AU_MOINS_UN('LONG_CARA','C_GONF','C_GRAD_VARI','PENA_LAGR',),), - LONG_CARA =SIMP(statut='f',typ='R'), - C_GRAD_VARI =SIMP(statut='f',typ='R'), - PENA_LAGR =SIMP(statut='f',typ='R',defaut= 1.0E3), - C_GONF =SIMP(statut='f',typ='R'), - COEF_RIGI_MINI =SIMP(statut='f',typ='R'), - ), - RUPT_FRAG =FACT(statut='f', - GC =SIMP(statut='o',typ='R'), - SIGM_C =SIMP(statut='f',typ='R'), - PENA_ADHERENCE =SIMP(statut='f',typ='R',val_min=1.E-12,val_max=1.E+0), - PENA_CONTACT =SIMP(statut='f',typ='R',defaut=1.), - PENA_LAGR =SIMP(statut='f',typ='R',defaut=1.0E2,val_min=1.01E+0), - RIGI_GLIS =SIMP(statut='f',typ='R',defaut=1.0E1), - CINEMATIQUE =SIMP(statut='f',typ='TXM',defaut="UNILATER",into=("UNILATER","GLIS_1D","GLIS_2D")), - ), - RUPT_FRAG_FO =FACT(statut='f', - GC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_C =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PENA_ADHERENCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PENA_CONTACT =SIMP(statut='f',typ='R',defaut=1.), - CINEMATIQUE =SIMP(statut='f',typ='TXM',defaut="UNILATER",into=("UNILATER","GLIS_1D","GLIS_2D")), - ), - CZM_LAB_MIX =FACT(statut='f', - SIGM_C =SIMP(statut='o',typ='R', val_min=1.E-100), - GLIS_C =SIMP(statut='o',typ='R', val_min=1.E-100), - ALPHA =SIMP(statut='f',typ='R', defaut=0.5, val_min=1.E-3), - BETA =SIMP(statut='f',typ='R', defaut=1., val_min=0.), - PENA_LAGR =SIMP(statut='f',typ='R', defaut=100.,val_min=1.01E+0), - CINEMATIQUE =SIMP(statut='f',typ='TXM',defaut="GLIS_1D",into=("UNILATER","GLIS_1D","GLIS_2D")), - ), - RUPT_DUCT =FACT(statut='f', - GC =SIMP(statut='o',typ='R'), - SIGM_C =SIMP(statut='o',typ='R'), - COEF_EXTR =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=9.99E-1), - COEF_PLAS =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=9.99E-1), - PENA_LAGR =SIMP(statut='f',typ='R',defaut=1.0E2,val_min=1.01E+0), - RIGI_GLIS =SIMP(statut='f',typ='R',defaut=1.0E1), - ), - JOINT_MECA_RUPT =FACT(statut='f', - regles=(EXCLUS('PRES_FLUIDE','PRES_CLAVAGE'), - EXCLUS('PRES_FLUIDE','SCIAGE'), - PRESENT_PRESENT('RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'), - PRESENT_ABSENT('PRES_FLUIDE','RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'), - PRESENT_ABSENT('PRES_CLAVAGE','RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'), - PRESENT_ABSENT('SCIAGE','RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'), - PRESENT_ABSENT('RHO_FLUIDE','PRES_FLUIDE','PRES_CLAVAGE','SCIAGE'), - PRESENT_ABSENT('VISC_FLUIDE','PRES_FLUIDE','PRES_CLAVAGE','SCIAGE'), - PRESENT_ABSENT('OUV_MIN','PRES_FLUIDE','PRES_CLAVAGE','SCIAGE'), - ), - K_N =SIMP(statut='o',typ='R',val_min=1.E-12), - K_T =SIMP(statut='f',typ='R',val_min=1.E-12), - SIGM_MAX =SIMP(statut='o',typ='R',val_min=0.), - ALPHA =SIMP(statut='f',typ='R',defaut=1., val_min=0., val_max=2.), - PENA_RUPTURE =SIMP(statut='f',typ='R',val_min=1.E-12,val_max=10.E+0), - PENA_CONTACT =SIMP(statut='f',typ='R',defaut=1.,val_min=1.E-12), - PRES_FLUIDE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - PRES_CLAVAGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SCIAGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - RHO_FLUIDE =SIMP(statut='f',typ='R',val_min=0.), - VISC_FLUIDE =SIMP(statut='f',typ='R',val_min=1.E-20), - OUV_MIN =SIMP(statut='f',typ='R',val_min=1.E-15), - ), - JOINT_MECA_FROT =FACT(statut='f', - regles=( - EXCLUS('PRES_FLUIDE','SCIAGE'), - PRESENT_PRESENT('RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'), - PRESENT_ABSENT('PRES_FLUIDE','RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'), - PRESENT_ABSENT('SCIAGE','RHO_FLUIDE','VISC_FLUIDE','OUV_MIN'), - PRESENT_ABSENT('RHO_FLUIDE','PRES_FLUIDE'), - PRESENT_ABSENT('VISC_FLUIDE','PRES_FLUIDE'), - PRESENT_ABSENT('OUV_MIN','PRES_FLUIDE'), - ), - K_N =SIMP(statut='o',typ='R',val_min=1.E-12), - K_T =SIMP(statut='f',typ='R',val_min=1.E-12), - MU =SIMP(statut='o',typ='R',val_min=1.E-3), - PENA_TANG =SIMP(statut='f',typ='R',val_min=0.), - ADHESION =SIMP(statut='f',typ='R',defaut=0., val_min=0.), - PRES_FLUIDE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SCIAGE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - RHO_FLUIDE =SIMP(statut='f',typ='R',val_min=0.), - VISC_FLUIDE =SIMP(statut='f',typ='R',val_min=1.E-20), - OUV_MIN =SIMP(statut='f',typ='R',val_min=1.E-15), - ), - RCCM =FACT(statut='f', - regles=(ENSEMBLE('A_AMORC','B_AMORC','D_AMORC','R_AMORC'),), - SY_02 =SIMP(statut='f',typ='R'), - SM =SIMP(statut='f',typ='R'), - SU =SIMP(statut='f',typ='R'), - SC =SIMP(statut='f',typ='R'), - SH =SIMP(statut='f',typ='R'), - N_KE =SIMP(statut='f',typ='R'), - M_KE =SIMP(statut='f',typ='R'), - A_AMORC =SIMP(statut='f',typ='R'), - B_AMORC =SIMP(statut='f',typ='R'), - D_AMORC =SIMP(statut='f',typ='R'), - R_AMORC =SIMP(statut='f',typ='R'), - ), - RCCM_FO =FACT(statut='f', - regles=(ENSEMBLE('A_AMORC','B_AMORC','D_AMORC','R_AMORC'),), - SY_02 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SM =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SU =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - S =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - N_KE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - M_KE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - A_AMORC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - B_AMORC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - D_AMORC =SIMP(statut='f',typ='R'), - R_AMORC =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - LAIGLE =FACT(statut='f', - GAMMA_ULT =SIMP(statut='o',typ='R'), - GAMMA_E =SIMP(statut='o',typ='R'), - M_ULT =SIMP(statut='o',typ='R'), - M_E =SIMP(statut='o',typ='R'), - A_E =SIMP(statut='o',typ='R'), - M_PIC =SIMP(statut='o',typ='R'), - A_PIC =SIMP(statut='o',typ='R'), - ETA =SIMP(statut='o',typ='R'), - SIGMA_C =SIMP(statut='o',typ='R'), - GAMMA =SIMP(statut='o',typ='R'), - KSI =SIMP(statut='o',typ='R'), - GAMMA_CJS =SIMP(statut='o',typ='R'), - SIGMA_P1 =SIMP(statut='o',typ='R'), - PA =SIMP(statut='o',typ='R'), - ), - LETK =FACT(statut='f', - PA =SIMP(statut='o',typ='R',fr="pression atmospherique"), - NELAS =SIMP(statut='o',typ='R',fr="exposant de la loi de variation des modules K et G"), - SIGMA_C =SIMP(statut='o',typ='R',fr="résistance en compression simple "), - H0_EXT =SIMP(statut='o',typ='R',fr="parametre pilotant la résistance en extension"), - GAMMA_CJS =SIMP(statut='o',typ='R',fr="parametre de forme du critere ds le plan déviatoire entre 0 et 1."), - XAMS =SIMP(statut='o',typ='R',fr="parametre non nul intervenant dans les lois d'écrouissage pre pic"), - ETA =SIMP(statut='o',typ='R',fr="parametre non nul intervenant dans les lois d'écrouissage post pic"), - A_0 =SIMP(statut='o',typ='R',fr="a de la limite d'élasticité initiale"), - A_E =SIMP(statut='o',typ='R',fr="a de la limite de clivage ou seuil intermédiaire"), - A_PIC =SIMP(statut='o',typ='R',fr="a du seuil de pic"), - S_0 =SIMP(statut='o',typ='R',fr="s de la limite d'élasticité initiale"), - M_0 =SIMP(statut='o',typ='R',fr="m de la limite d'élasticité initiale"), - M_E =SIMP(statut='o',typ='R',fr="m de la limite de clivage ou seuil intermédiaire"), - M_PIC =SIMP(statut='o',typ='R',fr="m du seuil de pic"), - M_ULT =SIMP(statut='o',typ='R',fr="m du seuil residuel"), - XI_ULT =SIMP(statut='o',typ='R',fr="niveau d écrouissage pour atteindre le seuil résiduel"), - XI_E =SIMP(statut='o',typ='R',fr="niveau d écrouissage pour atteindre le seuil de clivage"), - XI_PIC =SIMP(statut='o',typ='R',fr="niveau d écrouissage pour atteindre le seuil de pic"), - MV_MAX =SIMP(statut='o',typ='R',fr="m du seuil viscoplastique maximal"), - XIV_MAX =SIMP(statut='o',typ='R',fr="niveau d écrouissage pour atteindre le seuil viscoplastique maximal"), - A =SIMP(statut='o',typ='R',fr="parametre carcaterisant l amplitude de la vitesse de fluage"), - N =SIMP(statut='o',typ='R',fr="parametre intervenant dans la formule pilotant la cinetique de fluage"), - SIGMA_P1 =SIMP(statut='o',typ='R',fr="SIG min de l intersection du seuil de pic et intermediaire "), - MU0_V =SIMP(statut='o',typ='R',fr="relatif à l angle de dilatance des mecanismes pre pic et viscoplastique"), - XI0_V =SIMP(statut='o',typ='R',fr="relatif à l angle de dilatance des mecanismes pre pic et viscoplastique"), - MU1 =SIMP(statut='o',typ='R',fr="relatif à l angle de dilatance du mecanisme post pic "), - XI1 =SIMP(statut='o',typ='R',fr="relatif à l angle de dilatance du mecanisme post pic "), - ), - DRUCK_PRAGER =FACT(statut='f', - ALPHA =SIMP(statut='o',typ='R'), - SY =SIMP(statut='o',typ='R'), - P_ULTM =SIMP(statut='o',typ='R'), - ECROUISSAGE = SIMP(statut='o',typ='TXM',into=("LINEAIRE","PARABOLIQUE")), - b_lineaire =BLOC(condition="ECROUISSAGE=='LINEAIRE'", - fr="Loi de comportement de type Drucker Prager avec un ecrouissage lineaire", - H =SIMP(statut='o',typ='R'), - TYPE_DP =SIMP(statut='c',typ='R',defaut= 1.0,), - ), - b_parabolique =BLOC(condition="ECROUISSAGE=='PARABOLIQUE'", - fr="Loi de comportement de type Drucker Prager avec un ecrouissage parabolique", - SY_ULTM =SIMP(statut='o',typ='R'), - TYPE_DP =SIMP(statut='c',typ='R',defaut= 2.0,), - ), - DILAT =SIMP(statut='f',typ='R',defaut=0.0), - ), - - DRUCK_PRAGER_FO =FACT(statut='f', - ALPHA =SIMP(statut='o',typ=(fonction_sdaster,formule)), - SY =SIMP(statut='o',typ=(fonction_sdaster,formule)), - P_ULTM =SIMP(statut='o',typ=(fonction_sdaster,formule)), - ECROUISSAGE = SIMP(statut='o',typ='TXM',into=("LINEAIRE","PARABOLIQUE")), - b_lineaire =BLOC(condition="ECROUISSAGE=='LINEAIRE'", - fr="Loi de comportement de type Drucker Prager avec un ecrouissage lineaire", - H =SIMP(statut='o',typ=(fonction_sdaster,formule)), - TYPE_DP =SIMP(statut='c',typ='R',defaut= 1.0,), - ), - b_parabolique =BLOC(condition="ECROUISSAGE=='PARABOLIQUE'", - fr="Loi de comportement de type Drucker Prager avec un ecrouissage parabolique", - SY_ULTM =SIMP(statut='o',typ=(fonction_sdaster,formule)), - TYPE_DP =SIMP(statut='c',typ='R',defaut= 2.0,), - ), - DILAT =SIMP(statut='f',typ='R',defaut=0.0), - ), - - VISC_DRUC_PRAG =FACT(statut='f', - PREF =SIMP(statut='o',typ='R',fr="pression de reference"), - A =SIMP(statut='o',typ='R',fr="parametre carcaterisant l amplitude de la vitesse de fluage"), - N =SIMP(statut='o',typ='R',fr="parametre intervenant dans la formule pilotant la cinetique de fluage"), - P_PIC =SIMP(statut='o',typ='R',fr="niveau d ecrouissage pour atteindre le seuil de pic"), - P_ULT =SIMP(statut='o',typ='R',fr="niveau d ecrouissage pour atteindre le seuil utime"), - ALPHA_0 =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la cohesion au seuil d elasticite"), - ALPHA_PIC =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la cohesion au seuil de pic"), - ALPHA_ULT =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la cohesion au seuil ultime"), - R_0 =SIMP(statut='o',typ='R',fr="parametre d ecrouissage correspondant au seuil d'elasticite"), - R_PIC =SIMP(statut='o',typ='R',fr="parametre d ecrouissage correspondant au seuil de pic"), - R_ULT =SIMP(statut='o',typ='R',fr="parametre d ecrouissage correspondant au seuil ultime"), - BETA_0 =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la dilatance au seuil d elasticite"), - BETA_PIC =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la dilatance au seuil de pic"), - BETA_ULT =SIMP(statut='o',typ='R',fr="parametre d ecrouissage relatif à la dilatance au seuil ultime"), - ), - HOEK_BROWN =FACT(statut='f', - GAMMA_RUP =SIMP(statut='o',typ='R'), - GAMMA_RES =SIMP(statut='o',typ='R'), - S_END =SIMP(statut='o',typ='R'), - S_RUP =SIMP(statut='o',typ='R'), - M_END =SIMP(statut='o',typ='R'), - M_RUP =SIMP(statut='o',typ='R'), - BETA =SIMP(statut='o',typ='R'), - ALPHAHB =SIMP(statut='o',typ='R'), - PHI_RUP =SIMP(statut='o',typ='R'), - PHI_RES =SIMP(statut='o',typ='R'), - PHI_END =SIMP(statut='f',typ='R'), - ), - ELAS_GONF =FACT(statut='f', - BETAM =SIMP(statut='o',typ='R'), - PREF =SIMP(statut='o',typ='R'), - ), - JOINT_BANDIS =FACT(statut='f', - K =SIMP(statut='o',typ='R'), - DMAX =SIMP(statut='o',typ='R'), - GAMMA =SIMP(statut='o',typ='R'), - KT =SIMP(statut='f',typ='R',defaut = 1.E12), - ), -#### MONOCRISTAL - - MONO_VISC1 =FACT(statut='f', - TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), - N =SIMP(statut='o',typ='R'), - K =SIMP(statut='o',typ='R'), - C =SIMP(statut='o',typ='R'), - ), - MONO_VISC2 =FACT(statut='f', - TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), - N =SIMP(statut='o',typ='R'), - K =SIMP(statut='o',typ='R'), - C =SIMP(statut='o',typ='R'), - D =SIMP(statut='o',typ='R'), - A =SIMP(statut='o',typ='R'), - ), - MONO_ISOT1 =FACT(statut='f', - regles=(UN_PARMI('H','H1'), - PRESENT_PRESENT('H1','H2','H3','H4'), - PRESENT_ABSENT('H','H1','H2','H3','H4','H5','H6'), - ), - TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECRO_ISOT",),), - R_0 =SIMP(statut='o',typ='R'), - Q =SIMP(statut='o',typ='R'), - B =SIMP(statut='o',typ='R'), - H =SIMP(statut='f',typ='R'), - H1 =SIMP(statut='f',typ='R'), - H2 =SIMP(statut='f',typ='R'), - H3 =SIMP(statut='f',typ='R'), - H4 =SIMP(statut='f',typ='R'), - H5 =SIMP(statut='f',typ='R'), - H6 =SIMP(statut='f',typ='R'), - ), - MONO_ISOT2 =FACT(statut='f', - regles=(UN_PARMI('H','H1'), - PRESENT_PRESENT('H1','H2','H3','H4'), - PRESENT_ABSENT('H','H1','H2','H3','H4','H5','H6'), - ), - TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECRO_ISOT",),), - R_0 =SIMP(statut='o',typ='R'), - Q1 =SIMP(statut='o',typ='R'), - B1 =SIMP(statut='o',typ='R'), - H =SIMP(statut='f',typ='R'), - H1 =SIMP(statut='f',typ='R'), - H2 =SIMP(statut='f',typ='R'), - H3 =SIMP(statut='f',typ='R'), - H4 =SIMP(statut='f',typ='R'), - H5 =SIMP(statut='f',typ='R'), - H6 =SIMP(statut='f',typ='R'), - Q2 =SIMP(statut='o',typ='R'), - B2 =SIMP(statut='o',typ='R'), - ), - MONO_CINE1 =FACT(statut='f', - TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECRO_CINE",),), - D =SIMP(statut='o',typ='R'), - ), - MONO_CINE2 =FACT(statut='f', - TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECRO_CINE",),), - D =SIMP(statut='o',typ='R'), - GM =SIMP(statut='o',typ='R'), - PM =SIMP(statut='o',typ='R'), - C =SIMP(statut='o',typ='R'), - ), - MONO_DD_KR =FACT(statut='f', - regles=(UN_PARMI('H','H1'), - PRESENT_PRESENT('H1','H2','H3','H4'), - PRESENT_ABSENT('H','H1','H2','H3','H4','H5','H6'), - ), - # TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), - K =SIMP(statut='o',typ='R',fr="Constante de Boltzmann, en eV/K"), - TAUR =SIMP(statut='o',typ='R',fr="Contraintes de cisaillement à T=0K, en unite de contraintes"), - TAU0 =SIMP(statut='o',typ='R',fr="Contraintes critique initiale de cisaillement, en unite de contraintes"), - GAMMA0 =SIMP(statut='o',typ='R',fr="Vitesse d ecoulement initiale"), - DELTAG0 =SIMP(statut='o',typ='R',fr="Gain d energie lie au franchissement d obstacle"), - BSD =SIMP(statut='o',typ='R',fr="fonction de la taille du grain B/D"), - GCB =SIMP(statut='o',typ='R',fr="distance critique d'annihilation GC/B"), - KDCS =SIMP(statut='o',typ='R',fr="Parametre relatif à la direction principale de la dislocation"), - P =SIMP(statut='o',typ='R',fr="Parametre materiau dépendant de la forme de l'obstacle"), - Q =SIMP(statut='o',typ='R',fr="Parametre materiau dépendant de la forme de l'obstacle"), - H =SIMP(statut='f',typ='R'), - H1 =SIMP(statut='f',typ='R'), - H2 =SIMP(statut='f',typ='R'), - H3 =SIMP(statut='f',typ='R'), - H4 =SIMP(statut='f',typ='R'), - H5 =SIMP(statut='f',typ='R'), - H6 =SIMP(statut='f',typ='R'), - ), - MONO_DD_CFC =FACT(statut='f', - regles=(UN_PARMI('H','H1'), - PRESENT_PRESENT('H1','H2','H3','H4','H5'), - PRESENT_ABSENT('H','H1','H2','H3','H4','H5'), - ), - #TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), - GAMMA0 =SIMP(statut='f',typ='R',defaut=0.001,fr="Vitesse d ecoulement initiale en s**-1"), - TAU_F =SIMP(statut='o',typ='R',fr="Contraintes , en unite de contraintes ex 20 MPa"), - A =SIMP(statut='f',typ='R',defaut=0.13,fr="paramètre A, sans unité"), - B =SIMP(statut='f',typ='R',defaut=0.005,fr="paramètre B, sans unité"), - N =SIMP(statut='f',typ='R',defaut=200.,fr="paramètre n, sans unité"), - Y =SIMP(statut='o',typ='R',fr="paramète Y, en unité de longueur ex 2.5 A"), - ALPHA =SIMP(statut='f',typ='R',defaut=0.35,fr="ecrouissage, paramètre alpha"), - BETA =SIMP(statut='o',typ='R',fr="ecrouissage, paramètre b, en unite de longueur"), - RHO_REF =SIMP(statut='o',typ='R',fr="ecrouissage, paramètre rho_ref, en unité de longueur **-2"), - H =SIMP(statut='f',typ='R'), - H1 =SIMP(statut='f',typ='R',defaut=0.124,fr="matrice d'interaction, terme a*",), - H2 =SIMP(statut='f',typ='R',defaut=0.625,fr="matrice d'interaction, terme a_colineaire",), - H3 =SIMP(statut='f',typ='R',defaut=0.137,fr="matrice d'interaction, terme a_glissile",), - H4 =SIMP(statut='f',typ='R',defaut=0.122,fr="matrice d'interaction, terme a_Lomer",), - H5 =SIMP(statut='f',typ='R',defaut=0.07,fr="matrice d'interaction, terme a_Hirth",), - ), - - MONO_DD_CFC_IRRA =FACT(statut='f', - regles=(UN_PARMI('H','H1'), - PRESENT_PRESENT('H1','H2','H3','H4','H5'), - PRESENT_ABSENT('H','H1','H2','H3','H4','H5'), - ), - #TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), - GAMMA0 =SIMP(statut='f',typ='R',defaut=0.001,fr="Vitesse d ecoulement initiale en s**-1"), - TAU_F =SIMP(statut='o',typ='R',fr="Contraintes , en unite de contraintes ex 20 MPa"), - A =SIMP(statut='f',typ='R',defaut=0.13,fr="paramètre A, sans unité"), - B =SIMP(statut='f',typ='R',defaut=0.005,fr="paramètre B, sans unité"), - N =SIMP(statut='f',typ='R',defaut=200.,fr="paramètre n, sans unité"), - Y =SIMP(statut='o',typ='R',fr="paramète Y, en unité de longueur ex 2.5 A"), - ALPHA =SIMP(statut='f',typ='R',defaut=0.35,fr="ecrouissage, paramètre alpha"), - BETA =SIMP(statut='o',typ='R',fr="ecrouissage, paramètre b, en unite de longueur"), - RHO_REF =SIMP(statut='o',typ='R',fr="ecrouissage, paramètre rho_ref, en unité de longueur **-2"), - H =SIMP(statut='f',typ='R'), - H1 =SIMP(statut='f',typ='R',defaut=0.124,fr="matrice d'interaction, terme a*",), - H2 =SIMP(statut='f',typ='R',defaut=0.625,fr="matrice d'interaction, terme a_colineaire",), - H3 =SIMP(statut='f',typ='R',defaut=0.137,fr="matrice d'interaction, terme a_glissile",), - H4 =SIMP(statut='f',typ='R',defaut=0.122,fr="matrice d'interaction, terme a_Lomer",), - H5 =SIMP(statut='f',typ='R',defaut=0.07,fr="matrice d'interaction, terme a_Hirth",), - - DZ_IRRA =SIMP(statut='o',typ='R',val_min=0.E+0,fr="Parametre dzeta pour irradiation"), - XI_IRRA =SIMP(statut='o',typ='R',val_min=0.E+0,fr="Parametre xi pour irradiation"), - RHO_VOID =SIMP(statut='o',typ='R',fr="Parametre rho_voids pour irradiation"), - PHI_LOOP =SIMP(statut='o',typ='R',fr="Parametre phi_loops pour irradiation"), - ALP_VOID =SIMP(statut='o',typ='R',fr="Parametre alpha_voids pour irradiation"), - ALP_LOOP =SIMP(statut='o',typ='R',fr="Parametre alpha_loops pour irradiation"), - RHO_SAT =SIMP(statut='o',typ='R',fr="Parametre rho_sat*b*b pour irradiation"), - PHI_SAT =SIMP(statut='o',typ='R',fr="Parametre phi_sat pour irradiation"), - - ), - - MONO_DD_FAT =FACT(statut='f', - regles=(UN_PARMI('H','H1'), - PRESENT_PRESENT('H1','H2','H3','H4','H5'), - PRESENT_ABSENT('H','H1','H2','H3','H4','H5'), - ), - #TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), - GAMMA0 =SIMP(statut='o',typ='R',fr="Vitesse d ecoulement initiale en s**-1"), - TAU_F =SIMP(statut='o',typ='R',fr="Contraintes , en unite de contraintes ex 20 MPa"), - BETA =SIMP(statut='o',typ='R',fr="ecrouissage, paramètre b, en unite de longueur"), - N =SIMP(statut='o',typ='R',fr="paramètre n, sans unite"), - UN_SUR_D =SIMP(statut='o',typ='R',fr="paramètre 1/D, en unite de 1/longueur"), - GC0 =SIMP(statut='o',typ='R',fr="paramètre GC0, en unite de longueur"), - K =SIMP(statut='o',typ='R',fr="paramètre K, sans unite"), - H =SIMP(statut='f',typ='R'), - H1 =SIMP(statut='f',typ='R',defaut=0.124,fr="matrice d'interaction, terme a*",), - H2 =SIMP(statut='f',typ='R',defaut=0.625,fr="matrice d'interaction, terme a_colineaire",), - H3 =SIMP(statut='f',typ='R',defaut=0.137,fr="matrice d'interaction, terme a_glissile",), - H4 =SIMP(statut='f',typ='R',defaut=0.122,fr="matrice d'interaction, terme a_Lomer",), - H5 =SIMP(statut='f',typ='R',defaut=0.07,fr="matrice d'interaction, terme a_Hirth",), - ), - - MONO_DD_CC =FACT(statut='f', - #TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), - B =SIMP(statut='o',typ='R',fr="parametre B, en unite de longueur"), - GH =SIMP(statut='o',typ='R',fr="parametre H, en unite de 1/temps"), - DELTAG0 =SIMP(statut='o',typ='R',fr="energie d'activation, en unite d'energie (eV ou J)"), - TAU_0 =SIMP(statut='o',typ='R',fr="contrainte ultime, en unite de contraintes "), - TAU_F =SIMP(statut='o',typ='R',fr="seuil en contrainte , en unite de contraintes"), - GAMMA0 =SIMP(statut='o',typ='R',fr="Vitesse d ecoulement initiale en s**-1"), - N =SIMP(statut='o',typ='R',fr="parametre n, sans unite"), - RHO_MOB =SIMP(statut='o',typ='R',fr="densite de dislocations mobiles, en unite de longueur **-2"), - D =SIMP(statut='o',typ='R',fr="parametre D, en unite de longueur"), - BETA =SIMP(statut='o',typ='R',fr="parametre beta, sans unite"), - D_LAT =SIMP(statut='o',typ='R',fr="parametre D_LAT, en unite de longueur"), - Y_AT =SIMP(statut='o',typ='R',fr="parametre Y_AT, en unite de longueur"), - K_F =SIMP(statut='o',typ='R',fr="Parametre K_F"), - K_SELF =SIMP(statut='o',typ='R',fr="Parametre K_SELF"), - K_BOLTZ =SIMP(statut='o',typ='R',fr="Constante de Boltzmann, en eV/K"), - H1 =SIMP(statut='o',typ='R',fr="Parametre a_self"), - H2 =SIMP(statut='o',typ='R',fr="Parametre a_coli"), - H3 =SIMP(statut='o',typ='R',fr="Parametre a_ncol"), - H4 =SIMP(statut='f',typ='R',defaut=0.), - H5 =SIMP(statut='f',typ='R',defaut=0.), - H6 =SIMP(statut='f',typ='R',defaut=0.), - DELTA1 =SIMP(statut='f',typ='R',defaut=1.,fr="parametre permettant la variation de Y_AT avec tau_eff"), - DELTA2 =SIMP(statut='f',typ='R',defaut=1.,fr="parametre permettant la variation de a_AT avec tau_eff"), - DEPDT =SIMP(statut='f',typ='R',defaut=0.,fr="parametre dEps/dT pour le calcul de DeltaG"), - ), - - MONO_DD_CC_IRRA =FACT(statut='f', - #TYPE_PARA =SIMP(statut='f',typ='TXM',into=("ECOU_VISC",),), - B =SIMP(statut='o',typ='R',fr="parametre B, en unite de longueur"), - GH =SIMP(statut='o',typ='R',fr="parametre H, en unite de 1/temps"), - DELTAG0 =SIMP(statut='o',typ='R',fr="Gain d energie lie au franchissement d obstacle"), - TAU_0 =SIMP(statut='o',typ='R',fr="Contraintes , en unite de contraintes ex 20 MPa"), - TAU_F =SIMP(statut='o',typ='R',fr="Contraintes , en unite de contraintes ex 20 MPa"), - GAMMA0 =SIMP(statut='o',typ='R',fr="Vitesse d ecoulement initiale en s**-1"), - N =SIMP(statut='o',typ='R',fr="parametre n, sans unite"), - RHO_MOB =SIMP(statut='o',typ='R',fr="densite de dislocations mobiles, en unite de longueur **-2"), - D =SIMP(statut='o',typ='R',fr="parametre D, en unite de longueur"), - BETA =SIMP(statut='o',typ='R',fr="ecrouissage, parametre beta"), - D_LAT =SIMP(statut='o',typ='R',fr="parametre D_LAT, en unite de longueur"), - Y_AT =SIMP(statut='o',typ='R',fr="parametre Y_AT, en unite de longueur"), - K_F =SIMP(statut='o',typ='R',fr="Parametre K_F"), - K_SELF =SIMP(statut='o',typ='R',fr="Parametre K_SELF"), - K_BOLTZ =SIMP(statut='o',typ='R',fr="Constante de Boltzmann, en eV/K"), - H1 =SIMP(statut='o',typ='R',fr="Parametre a_self"), - H2 =SIMP(statut='o',typ='R',fr="Parametre a_coli"), - H3 =SIMP(statut='o',typ='R',fr="Parametre a_ncol"), - H4 =SIMP(statut='f',typ='R',defaut=0.), - H5 =SIMP(statut='f',typ='R',defaut=0.), - H6 =SIMP(statut='f',typ='R',defaut=0.), - DELTA1 =SIMP(statut='f',typ='R',defaut=1.,fr="parametre permettant la variation de Y_AT avec tau_eff"), - DELTA2 =SIMP(statut='f',typ='R',defaut=1.,fr="parametre permettant la variation de a_AT avec tau_eff"), - DEPDT =SIMP(statut='f',typ='R',defaut=0.,fr="parametre dEps/dT pour le calcul de DeltaG"), - A_IRRA =SIMP(statut='o',typ='R',fr="Parametre a_loops pour irradiation"), - XI_IRRA =SIMP(statut='o',typ='R',fr="Parametre xi pour irradiation"), - ), - - -#### FIN MONOCRISTAL - -### UMAT - UMAT =FACT(statut='f', - NB_VALE =SIMP(statut='f',typ='R'), - C1 =SIMP(statut='f',typ='R'), - C2 =SIMP(statut='f',typ='R'), - C3 =SIMP(statut='f',typ='R'), - C4 =SIMP(statut='f',typ='R'), - C5 =SIMP(statut='f',typ='R'), - C6 =SIMP(statut='f',typ='R'), - C7 =SIMP(statut='f',typ='R'), - C8 =SIMP(statut='f',typ='R'), - C9 =SIMP(statut='f',typ='R'), - C10 =SIMP(statut='f',typ='R'), - C11 =SIMP(statut='f',typ='R'), - C12 =SIMP(statut='f',typ='R'), - C13 =SIMP(statut='f',typ='R'), - C14 =SIMP(statut='f',typ='R'), - C15 =SIMP(statut='f',typ='R'), - C16 =SIMP(statut='f',typ='R'), - C17 =SIMP(statut='f',typ='R'), - C18 =SIMP(statut='f',typ='R'), - C19 =SIMP(statut='f',typ='R'), - C20 =SIMP(statut='f',typ='R'), - C21 =SIMP(statut='f',typ='R'), - C22 =SIMP(statut='f',typ='R'), - C23 =SIMP(statut='f',typ='R'), - C24 =SIMP(statut='f',typ='R'), - C25 =SIMP(statut='f',typ='R'), - C26 =SIMP(statut='f',typ='R'), - C27 =SIMP(statut='f',typ='R'), - C28 =SIMP(statut='f',typ='R'), - C29 =SIMP(statut='f',typ='R'), - C30 =SIMP(statut='f',typ='R'), - C31 =SIMP(statut='f',typ='R'), - C32 =SIMP(statut='f',typ='R'), - C33 =SIMP(statut='f',typ='R'), - C34 =SIMP(statut='f',typ='R'), - C35 =SIMP(statut='f',typ='R'), - C36 =SIMP(statut='f',typ='R'), - C37 =SIMP(statut='f',typ='R'), - C38 =SIMP(statut='f',typ='R'), - C39 =SIMP(statut='f',typ='R'), - C40 =SIMP(statut='f',typ='R'), - C41 =SIMP(statut='f',typ='R'), - C42 =SIMP(statut='f',typ='R'), - C43 =SIMP(statut='f',typ='R'), - C44 =SIMP(statut='f',typ='R'), - C45 =SIMP(statut='f',typ='R'), - C46 =SIMP(statut='f',typ='R'), - C47 =SIMP(statut='f',typ='R'), - C48 =SIMP(statut='f',typ='R'), - C49 =SIMP(statut='f',typ='R'), - C50 =SIMP(statut='f',typ='R'), - C51 =SIMP(statut='f',typ='R'), - C52 =SIMP(statut='f',typ='R'), - C53 =SIMP(statut='f',typ='R'), - C54 =SIMP(statut='f',typ='R'), - C55 =SIMP(statut='f',typ='R'), - C56 =SIMP(statut='f',typ='R'), - C57 =SIMP(statut='f',typ='R'), - C58 =SIMP(statut='f',typ='R'), - C59 =SIMP(statut='f',typ='R'), - C60 =SIMP(statut='f',typ='R'), - C61 =SIMP(statut='f',typ='R'), - C62 =SIMP(statut='f',typ='R'), - C63 =SIMP(statut='f',typ='R'), - C64 =SIMP(statut='f',typ='R'), - C65 =SIMP(statut='f',typ='R'), - C66 =SIMP(statut='f',typ='R'), - C67 =SIMP(statut='f',typ='R'), - C68 =SIMP(statut='f',typ='R'), - C69 =SIMP(statut='f',typ='R'), - C70 =SIMP(statut='f',typ='R'), - C71 =SIMP(statut='f',typ='R'), - C72 =SIMP(statut='f',typ='R'), - C73 =SIMP(statut='f',typ='R'), - C74 =SIMP(statut='f',typ='R'), - C75 =SIMP(statut='f',typ='R'), - C76 =SIMP(statut='f',typ='R'), - C77 =SIMP(statut='f',typ='R'), - C78 =SIMP(statut='f',typ='R'), - C79 =SIMP(statut='f',typ='R'), - C80 =SIMP(statut='f',typ='R'), - C81 =SIMP(statut='f',typ='R'), - C82 =SIMP(statut='f',typ='R'), - C83 =SIMP(statut='f',typ='R'), - C84 =SIMP(statut='f',typ='R'), - C85 =SIMP(statut='f',typ='R'), - C86 =SIMP(statut='f',typ='R'), - C87 =SIMP(statut='f',typ='R'), - C88 =SIMP(statut='f',typ='R'), - C89 =SIMP(statut='f',typ='R'), - C90 =SIMP(statut='f',typ='R'), - C91 =SIMP(statut='f',typ='R'), - C92 =SIMP(statut='f',typ='R'), - C93 =SIMP(statut='f',typ='R'), - C94 =SIMP(statut='f',typ='R'), - C95 =SIMP(statut='f',typ='R'), - C96 =SIMP(statut='f',typ='R'), - C97 =SIMP(statut='f',typ='R'), - C98 =SIMP(statut='f',typ='R'), - C99 =SIMP(statut='f',typ='R'), - C100 =SIMP(statut='f',typ='R'), - C101 =SIMP(statut='f',typ='R'), - C102 =SIMP(statut='f',typ='R'), - C103 =SIMP(statut='f',typ='R'), - C104 =SIMP(statut='f',typ='R'), - C105 =SIMP(statut='f',typ='R'), - C106 =SIMP(statut='f',typ='R'), - C107 =SIMP(statut='f',typ='R'), - C108 =SIMP(statut='f',typ='R'), - C109 =SIMP(statut='f',typ='R'), - C110 =SIMP(statut='f',typ='R'), - C111 =SIMP(statut='f',typ='R'), - C112 =SIMP(statut='f',typ='R'), - C113 =SIMP(statut='f',typ='R'), - C114 =SIMP(statut='f',typ='R'), - C115 =SIMP(statut='f',typ='R'), - C116 =SIMP(statut='f',typ='R'), - C117 =SIMP(statut='f',typ='R'), - C118 =SIMP(statut='f',typ='R'), - C119 =SIMP(statut='f',typ='R'), - C120 =SIMP(statut='f',typ='R'), - C121 =SIMP(statut='f',typ='R'), - C122 =SIMP(statut='f',typ='R'), - C123 =SIMP(statut='f',typ='R'), - C124 =SIMP(statut='f',typ='R'), - C125 =SIMP(statut='f',typ='R'), - C126 =SIMP(statut='f',typ='R'), - C127 =SIMP(statut='f',typ='R'), - C128 =SIMP(statut='f',typ='R'), - C129 =SIMP(statut='f',typ='R'), - C130 =SIMP(statut='f',typ='R'), - C131 =SIMP(statut='f',typ='R'), - C132 =SIMP(statut='f',typ='R'), - C133 =SIMP(statut='f',typ='R'), - C134 =SIMP(statut='f',typ='R'), - C135 =SIMP(statut='f',typ='R'), - C136 =SIMP(statut='f',typ='R'), - C137 =SIMP(statut='f',typ='R'), - C138 =SIMP(statut='f',typ='R'), - C139 =SIMP(statut='f',typ='R'), - C140 =SIMP(statut='f',typ='R'), - C141 =SIMP(statut='f',typ='R'), - C142 =SIMP(statut='f',typ='R'), - C143 =SIMP(statut='f',typ='R'), - C144 =SIMP(statut='f',typ='R'), - C145 =SIMP(statut='f',typ='R'), - C146 =SIMP(statut='f',typ='R'), - C147 =SIMP(statut='f',typ='R'), - C148 =SIMP(statut='f',typ='R'), - C149 =SIMP(statut='f',typ='R'), - C150 =SIMP(statut='f',typ='R'), - C151 =SIMP(statut='f',typ='R'), - C152 =SIMP(statut='f',typ='R'), - C153 =SIMP(statut='f',typ='R'), - C154 =SIMP(statut='f',typ='R'), - C155 =SIMP(statut='f',typ='R'), - C156 =SIMP(statut='f',typ='R'), - C157 =SIMP(statut='f',typ='R'), - C158 =SIMP(statut='f',typ='R'), - C159 =SIMP(statut='f',typ='R'), - C160 =SIMP(statut='f',typ='R'), - C161 =SIMP(statut='f',typ='R'), - C162 =SIMP(statut='f',typ='R'), - C163 =SIMP(statut='f',typ='R'), - C164 =SIMP(statut='f',typ='R'), - C165 =SIMP(statut='f',typ='R'), - C166 =SIMP(statut='f',typ='R'), - C167 =SIMP(statut='f',typ='R'), - C168 =SIMP(statut='f',typ='R'), - C169 =SIMP(statut='f',typ='R'), - C170 =SIMP(statut='f',typ='R'), - C171 =SIMP(statut='f',typ='R'), - C172 =SIMP(statut='f',typ='R'), - C173 =SIMP(statut='f',typ='R'), - C174 =SIMP(statut='f',typ='R'), - C175 =SIMP(statut='f',typ='R'), - C176 =SIMP(statut='f',typ='R'), - C177 =SIMP(statut='f',typ='R'), - C178 =SIMP(statut='f',typ='R'), - C179 =SIMP(statut='f',typ='R'), - C180 =SIMP(statut='f',typ='R'), - C181 =SIMP(statut='f',typ='R'), - C182 =SIMP(statut='f',typ='R'), - C183 =SIMP(statut='f',typ='R'), - C184 =SIMP(statut='f',typ='R'), - C185 =SIMP(statut='f',typ='R'), - C186 =SIMP(statut='f',typ='R'), - C187 =SIMP(statut='f',typ='R'), - C188 =SIMP(statut='f',typ='R'), - C189 =SIMP(statut='f',typ='R'), - C190 =SIMP(statut='f',typ='R'), - C191 =SIMP(statut='f',typ='R'), - C192 =SIMP(statut='f',typ='R'), - C193 =SIMP(statut='f',typ='R'), - C194 =SIMP(statut='f',typ='R'), - C195 =SIMP(statut='f',typ='R'), - C196 =SIMP(statut='f',typ='R'), - C197 =SIMP(statut='f',typ='R'), - ), - UMAT_FO =FACT(statut='f', - NB_VALE =SIMP(statut='f',typ='R'), - C1 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C2 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C3 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C4 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C5 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C6 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C7 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C8 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C9 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C10 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C11 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C12 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C13 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C14 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C15 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C16 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C17 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C18 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C19 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C20 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C21 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C22 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C23 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C24 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C25 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C26 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C27 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C28 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C29 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C30 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C31 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C32 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C33 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C34 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C35 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C36 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C37 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C38 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C39 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C40 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C41 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C42 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C43 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C44 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C45 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C46 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C47 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C48 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C49 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C50 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C51 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C52 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C53 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C54 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C55 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C56 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C57 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C58 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C59 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C60 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C61 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C62 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C63 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C64 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C65 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C66 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C67 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C68 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C69 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C70 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C71 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C72 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C73 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C74 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C75 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C76 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C77 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C78 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C79 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C80 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C81 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C82 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C83 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C84 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C85 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C86 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C87 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C88 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C89 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C90 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C91 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C92 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C93 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C94 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C95 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C96 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C97 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C98 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C99 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C100 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C101 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C102 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C103 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C104 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C105 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C106 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C107 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C108 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C109 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C110 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C111 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C112 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C113 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C114 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C115 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C116 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C117 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C118 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C119 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C120 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C121 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C122 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C123 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C124 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C125 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C126 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C127 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C128 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C129 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C130 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C131 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C132 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C133 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C134 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C135 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C136 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C137 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C138 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C139 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C140 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C141 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C142 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C143 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C144 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C145 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C146 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C147 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C148 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C149 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C150 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C151 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C152 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C153 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C154 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C155 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C156 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C157 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C158 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C159 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C160 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C161 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C162 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C163 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C164 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C165 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C166 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C167 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C168 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C169 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C170 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C171 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C172 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C173 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C174 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C175 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C176 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C177 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C178 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C179 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C180 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C181 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C182 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C183 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C184 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C185 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C186 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C187 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C188 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C189 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C190 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C191 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C192 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C193 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C194 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C195 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C196 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - C197 =SIMP(statut='f',typ=(fonction_sdaster,formule)), - ), -### UMAT -### CRITERE DE RUPTURE - CRIT_RUPT =FACT(statut='f', - SIGM_C =SIMP(statut='o',typ='R',fr="contrainte critique"), - COEF =SIMP(statut='o',typ='R',fr="E=E/COEF,si la contrainte principale max est atteinte dans l'element"), - ), -# - - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.corus at edf.fr -DEFI_MODELE_GENE=OPER(nom="DEFI_MODELE_GENE",op= 126,sd_prod=modele_gene, - reentrant='n', - fr="Créer la structure globale à partir des sous-structures en sous-structuration dynamique", - UIinfo={"groupes":("Matrices et vecteurs",)}, - SOUS_STRUC =FACT(statut='o',max='**', - NOM =SIMP(statut='o',typ='TXM' ), - MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna ), - ANGL_NAUT =SIMP(statut='o',typ='R',max=3), - TRANS =SIMP(statut='o',typ='R',max=3), - ), - LIAISON =FACT(statut='o',max='**', - SOUS_STRUC_1 =SIMP(statut='o',typ='TXM' ), - INTERFACE_1 =SIMP(statut='o',typ='TXM' ), - SOUS_STRUC_2 =SIMP(statut='o',typ='TXM' ), - INTERFACE_2 =SIMP(statut='o',typ='TXM' ), - regles=(EXCLUS('GROUP_MA_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'), - EXCLUS('MAILLE_MAIT_1','GROUP_MA_MAIT_2','MAILLE_MAIT_2'),), - GROUP_MA_MAIT_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_MAIT_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA_MAIT_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_MAIT_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - OPTION =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("REDUIT","CLASSIQUE") ), - ), - VERIF =FACT(statut='f',max='**', -# dans la doc U stop_erreur est obligatoire - STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -DEFI_NAPPE=OPER(nom="DEFI_NAPPE",op=4,sd_prod=nappe_sdaster, - fr="Définir une fonction réelle de deux variables réelles", - reentrant='n',UIinfo={"groupes":("Fonctions",)}, - regles=(UN_PARMI('FONCTION','DEFI_FONCTION'), - EXCLUS('FONCTION','NOM_PARA_FONC',), - ENSEMBLE('NOM_PARA_FONC','DEFI_FONCTION'),), - NOM_PARA =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ), - NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"), - PARA =SIMP(statut='o',typ='R',max='**'), - FONCTION =SIMP(statut='f',typ=fonction_sdaster, max='**' ), - NOM_PARA_FONC =SIMP(statut='f',typ='TXM',into=C_PARA_FONCTION() ), - DEFI_FONCTION =FACT(statut='f',max='**', - VALE =SIMP(statut='o',typ='R',max='**'), - INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG"), - fr="Type d'interpolation pour les abscisses et les ordonnées de la fonction."), - PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - ), - INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG"), - fr="Type d'interpolation pour le paramètre de la nappe"), - PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1, 2) ), - VERIF =SIMP(statut='f',typ='TXM',into=("CROISSANT",) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: marc.kham at edf.fr -DEFI_OBSTACLE=OPER(nom="DEFI_OBSTACLE",op= 73,sd_prod=table_fonction, - fr="Définition d'un obstacle plan perpendiculaire à une structure filaire", - reentrant='n', - UIinfo={"groupes":("Modélisation",)}, - TYPE =SIMP(statut='o',typ='TXM',defaut="CERCLE", - into=("CERCLE","PLAN_Y","PLAN_Z","DISCRET", - "BI_CERCLE","BI_PLAN_Y","BI_PLAN_Z","BI_CERC_INT", - ) ), - VALE =SIMP(statut='f',typ='R',max='**'), - VERIF =SIMP(statut='f',typ='TXM',defaut="FERME"), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2004 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: aimery.assire at edf.fr - -DEFI_PART_OPS=OPER(nom="DEFI_PART_OPS",op=21,sd_prod=sd_partit, - fr="Creation partitionnement en sous-domaines", - docu="U4.23.05",reentrant='n', - UIinfo={"groupes":("Modélisation",)}, - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster) ), - NOM =SIMP(statut='f',typ='TXM',defaut='SD'), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2,3,4) ), - DEFI =FACT(statut='f',max='**', - GROUP_MA =SIMP(statut='o',typ=grma), - GROUP_MA_BORD =SIMP(statut='f',typ=grma), - ), - EXCIT =FACT(statut='f',max='**', - CHARGE =SIMP(statut='f',typ=(char_meca,char_cine_meca)), - ), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: aimery.assire at edf.fr - -DEFI_PART_PA_OPS=PROC(nom="DEFI_PART_PA_OPS",op=29, - fr="Creation partitionnement en sous-domaines", - docu="U4.00.00", - UIinfo={"groupes":("Modélisation",)}, - MAILLAGE =SIMP(statut='o',typ=(maillage_sdaster,squelette) ), - MODELE =SIMP(statut='f',typ=(modele_sdaster)), - NB_PART =SIMP(statut='o',typ='I',), - - # Methode de partitionnement - METHODE =SIMP(statut='f',typ='TXM',into=("PMETIS","SCOTCH","KMETIS",), defaut="KMETIS" ), - - LOGICIEL =SIMP(statut='f',typ='TXM'), - - # Corrige les problemes possibles de non-connexite des sous-domaines - CORRECTION_CONNEX =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')), - - # Permet de grouper des mailles dans un meme sous-doamine - GROUPAGE =FACT(statut='f',max='**', - GROUP_MA =SIMP(statut='o',typ=grma,), - ), - # Permet d'appliquer des poids sur certaines mailles - POIDS_MAILLES =FACT(statut='f',max='**', - GROUP_MA =SIMP(statut='o',typ=grma,), - POIDS =SIMP(statut='f',typ='I'), - ), - # Prefixe pour le nom des group_ma definissant les sous-domaines - NOM_GROUP_MA =SIMP(statut='f',typ='TXM',defaut='SD' ), - - # Traiter les mailles de bords (elles sont enlevees du graphe puis reinjectees) - TRAITER_BORDS =SIMP(statut='f',typ='TXM',defaut='OUI',into=('OUI','NON') ), - - # Si le mot-clé suivant est renseigné, crée de nouveau group_ma a partir des bords - b_traiter_bords =BLOC(condition="TRAITER_BORDS == 'OUI'", fr="Crée t on des nouveaux group_ma", - NOM_GROUP_MA_BORD =SIMP(statut='f',typ='TXM'), - ), - - INFO =SIMP(statut='f',typ='I',into=(1, 2), defaut=1), - -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: aimery.assire at edf.fr - - -DEFI_PARTITION=MACRO(nom="DEFI_PARTITION", - op=OPS('Macro.defi_partition_ops.defi_partition_ops'), - sd_prod=sd_partit, - reentrant='n',UIinfo={"groupes":("Modélisation",)}, - fr="Creation partitionnement en sous-domaines", - regles=(UN_PARMI('MAILLAGE','MODELE'),PRESENT_PRESENT('MODELE','EXCIT'),), - - NB_PART =SIMP(statut='o',typ='I',val_min=2), - MAILLAGE =SIMP(statut='f',typ=maillage_sdaster), - MODELE =SIMP(statut='f',typ=modele_sdaster), - EXCIT =FACT(statut='f',max='**', - CHARGE =SIMP(statut='f',typ=(char_meca,char_cine_meca)),), - - # Methode de partitionnement - METHODE =SIMP(statut='f',typ='TXM',into=("PMETIS","SCOTCH","KMETIS",), defaut="KMETIS" ), - - LOGICIEL =SIMP(statut='f',typ='TXM'), - - # Corrige les problemes possibles de non-connexite des sous-domaines - CORRECTION_CONNEX =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')), - - # Permet de grouper des mailles dans un meme sous-doamine - GROUPAGE =FACT(statut='f',max='**', - GROUP_MA =SIMP(statut='o',typ=grma,), - ), - # Permet d'appliquer des poids sur certaines mailles - POIDS_MAILLES =FACT(statut='f',max='**', - GROUP_MA =SIMP(statut='o',typ=grma,), - POIDS =SIMP(statut='f',typ='I',val_min=2), - ), - # Prefixe pour le nom des group_ma definissant les sous-domaines - NOM_GROUP_MA =SIMP(statut='f',typ='TXM',defaut='SD' ), - - # Traiter les mailles de bords (elles sont enlevees du graphe puis reinjectees) - TRAITER_BORDS =SIMP(statut='f',typ='TXM',defaut='OUI',into=('OUI','NON') ), - - # Si le mot-clé suivant est renseigné, crée de nouveau group_ma a partir des bords - b_traiter_bords =BLOC(condition="TRAITER_BORDS == 'OUI'", fr="Crée t on des nouveaux group_ma", - NOM_GROUP_MA_BORD =SIMP(statut='f',typ='TXM'), - ), - - INFO =SIMP(statut='f',typ='I',into=(1, 2), defaut=1), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -DEFI_SOL_MISS = MACRO(nom="DEFI_SOL_MISS", - op=OPS('Macro.defi_sol_miss_ops.defi_sol_miss_ops'), - sd_prod=table_sdaster, - fr="Définition des données de sol pour Miss", - reentrant='n', - UIinfo={"groupes":("Modélisation","Outils-métier",)}, - MATERIAU = FACT(statut='o', max='**', - fr="Définition des matériaux", - E = SIMP(statut='o', typ='R', fr="Module d'Young"), - NU = SIMP(statut='o', typ='R', fr="Coefficient de Poisson"), - RHO = SIMP(statut='o', typ='R', fr="Masse volumique"), - AMOR_HYST = SIMP(statut='o', typ='R', fr="Coefficient d'amortissement"), - ), - COUCHE = FACT(statut='o', max='**', - fr="Définition des couches", - regles=(AU_MOINS_UN('EPAIS','SUBSTRATUM'),), - SUBSTRATUM= SIMP(statut='f', typ='TXM', into=("OUI","NON"),), - EPAIS = SIMP(statut='f', typ='R', fr="Epaisseur de la couche"), - RECEPTEUR = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON"),), - SOURCE = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON"),), - NUME_MATE = SIMP(statut='o', typ='I', fr="Numéro du matériau"), - ), - TITRE = SIMP(statut='f', typ='TXM', max='**', - fr="Titre de la table produite"), - INFO = SIMP(statut='f', typ='I', defaut=1, into=(1,2)), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: andre.adobes at edf.fr -DEFI_SPEC_TURB=OPER(nom="DEFI_SPEC_TURB",op= 145,sd_prod=spectre_sdaster, - fr="Definition d'un spectre d'excitation turbulente", - reentrant='n', - UIinfo={"groupes":("Modelisation","Outils-metier",)}, - regles=(UN_PARMI('SPEC_LONG_COR_1','SPEC_LONG_COR_2','SPEC_LONG_COR_3', - 'SPEC_LONG_COR_4','SPEC_CORR_CONV_1','SPEC_CORR_CONV_2', - 'SPEC_CORR_CONV_3','SPEC_FONC_FORME','SPEC_EXCI_POINT'),), - SPEC_LONG_COR_1 =FACT(statut='f', - LONG_COR =SIMP(statut='o',typ='R' ), - PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VISC_CINE =SIMP(statut='o',typ='R' ), - ), - SPEC_LONG_COR_2 =FACT(statut='f', - regles=(ENSEMBLE('FREQ_COUP','PHI0','BETA' ),), - LONG_COR =SIMP(statut='o',typ='R' ), - PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FREQ_COUP =SIMP(statut='f',typ='R',defaut= 0.1 ), - PHI0 =SIMP(statut='f',typ='R',defaut= 1.5E-3 ), - BETA =SIMP(statut='f',typ='R',defaut= 2.7 ), - ), - SPEC_LONG_COR_3 =FACT(statut='f', - regles=(ENSEMBLE('PHI0_1','BETA_1','PHI0_2','BETA_2','FREQ_COUP'),), - LONG_COR =SIMP(statut='o',typ='R' ), - PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - FREQ_COUP =SIMP(statut='f',typ='R',defaut= 0.2 ), - PHI0_1 =SIMP(statut='f',typ='R',defaut= 5.E-3 ), - BETA_1 =SIMP(statut='f',typ='R',defaut= 0.5 ), - PHI0_2 =SIMP(statut='f',typ='R',defaut= 4.E-5 ), - BETA_2 =SIMP(statut='f',typ='R',defaut= 3.5 ), - ), - SPEC_LONG_COR_4 =FACT(statut='f', - regles=(ENSEMBLE('BETA','GAMMA'),), - LONG_COR =SIMP(statut='o',typ='R' ), - PROF_VITE_FLUI =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TAUX_VIDE =SIMP(statut='o',typ='R' ), - BETA =SIMP(statut='f',typ='R',defaut= 2. ), - GAMMA =SIMP(statut='f',typ='R',defaut= 4. ), - ), - SPEC_CORR_CONV_1=FACT(statut='f', - LONG_COR_1 =SIMP(statut='o',typ='R' ), - LONG_COR_2 =SIMP(statut='f',typ='R' ), - VITE_FLUI =SIMP(statut='o',typ='R' ), - RHO_FLUI =SIMP(statut='o',typ='R' ), - FREQ_COUP =SIMP(statut='f',typ='R' ), - K =SIMP(statut='f',typ='R',defaut= 5.8E-3 ), - D_FLUI =SIMP(statut='o',typ='R' ), - COEF_VITE_FLUI_A=SIMP(statut='f',typ='R' ), - COEF_VITE_FLUI_O=SIMP(statut='f',typ='R' ), - METHODE =SIMP(statut='f',typ='TXM',defaut="GENERALE", - into=("AU_YANG","GENERALE","CORCOS") ), - ), - SPEC_CORR_CONV_2=FACT(statut='f', - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VITE_FLUI =SIMP(statut='o',typ='R' ), - FREQ_COUP =SIMP(statut='f',typ='R' ), - METHODE =SIMP(statut='f',typ='TXM',defaut="GENERALE", - into=("AU_YANG","GENERALE","CORCOS",) ), - COEF_VITE_FLUI_A=SIMP(statut='f',typ='R' ), - COEF_VITE_FLUI_O=SIMP(statut='f',typ='R' ), - ), - SPEC_CORR_CONV_3=FACT(statut='f', - TABLE_FONCTION =SIMP(statut='o',typ=(table_fonction) ), - ), - SPEC_FONC_FORME =FACT(statut='f', - regles=(UN_PARMI('INTE_SPEC','GRAPPE_1'), - ENSEMBLE('INTE_SPEC','FONCTION'),), - INTE_SPEC =SIMP(statut='f',typ=interspectre), - FONCTION =SIMP(statut='f',typ=(table_fonction),max='**'), - GRAPPE_1 =SIMP(statut='f',typ='TXM',into=("DEBIT_180","DEBIT_300",) ), - NOEUD =SIMP(statut='o',typ=no), - CARA_ELEM =SIMP(statut='o',typ=cara_elem ), - MODELE =SIMP(statut='o',typ=modele_sdaster ), - ), - SPEC_EXCI_POINT =FACT(statut='f', - regles=(UN_PARMI('INTE_SPEC','GRAPPE_2'),), - INTE_SPEC =SIMP(statut='f',typ=interspectre), - GRAPPE_2 =SIMP(statut='f',typ='TXM', - into=("ASC_CEN","ASC_EXC","DES_CEN","DES_EXC",) ), -# Quels sont les statuts des mots cles a l interieur des deux blocs qui suivent - b_inte_spec =BLOC(condition = "INTE_SPEC != None", - NATURE =SIMP(statut='o',typ='TXM',max='**',into=("FORCE","MOMENT",) ), - ANGLE =SIMP(statut='o',typ='R',max='**'), - NOEUD =SIMP(statut='o',typ=no,max='**'), - ), - b_grappe_2 =BLOC(condition = "GRAPPE_2 != None", - RHO_FLUI =SIMP(statut='o',typ='R' ), - NOEUD =SIMP(statut='o',typ=no), - ), - CARA_ELEM =SIMP(statut='o',typ=cara_elem ), - MODELE =SIMP(statut='o',typ=modele_sdaster ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.corus at edf.fr -DEFI_SQUELETTE=OPER(nom="DEFI_SQUELETTE",op= 110,sd_prod=squelette, - fr="Définit un maillage pour visualiser les résultats d'une sous-structuration dynamique", - reentrant='n', - UIinfo={"groupes":("Maillage","Dynamique",)}, - regles=(UN_PARMI('CYCLIQUE','MODELE_GENE','MAILLAGE'), - PRESENT_PRESENT('CYCLIQUE','SECTEUR'), - EXCLUS('SOUS_STRUC','SECTEUR'), - PRESENT_PRESENT('NOM_GROUP_MA','MODELE_GENE'), - PRESENT_PRESENT('NOM_GROUP_MA','SOUS_STRUC'),), - CYCLIQUE =FACT(statut='f',max='**', - regles=(UN_PARMI('MODE_CYCL','MAILLAGE'), - PRESENT_PRESENT('NB_SECTEUR','MAILLAGE'),), - MODE_CYCL =SIMP(statut='f',typ=mode_cycl ), - NB_SECTEUR =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ), - MAILLAGE =SIMP(statut='f',typ=maillage_sdaster ), - ), - MODELE_GENE =SIMP(statut='f',typ=modele_gene ), - SQUELETTE =SIMP(statut='f',typ=squelette ), - RECO_GLOBAL =FACT(statut='f',max='**', - regles=(EXCLUS('TOUT','GROUP_NO_1'), - PRESENT_PRESENT('GROUP_NO_1','GROUP_NO_2'), - PRESENT_PRESENT('GROUP_NO_1','SOUS_STRUC_1'), - PRESENT_PRESENT('GROUP_NO_2','SOUS_STRUC_2'), - PRESENT_PRESENT('SOUS_STRUC_1','SOUS_STRUC_2'),), - TOUT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",) ), - GROUP_NO_1 =SIMP(statut='f',typ=grno), - SOUS_STRUC_1 =SIMP(statut='f',typ='TXM' ), - GROUP_NO_2 =SIMP(statut='f',typ=grno), - SOUS_STRUC_2 =SIMP(statut='f',typ='TXM' ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - DIST_REFE =SIMP(statut='f',typ='R' ), - ), - NOM_GROUP_MA =FACT(statut='f',max='**', - NOM =SIMP(statut='o',typ='TXM' ), - SOUS_STRUC =SIMP(statut='o',typ='TXM' ), - GROUP_MA =SIMP(statut='o',typ=grma), - ), - EXCLUSIF =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - MAILLAGE =SIMP(statut='f',typ=maillage_sdaster ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - TRANS =SIMP(statut='f',typ='R',min=3,max=3), - ANGL_NAUT =SIMP(statut='f',typ='R',min=3,max=3), - SOUS_STRUC =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','MAILLE','GROUP_MA'),), - NOM =SIMP(statut='o',typ='TXM' ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - ), - SECTEUR =FACT(statut='f',max='**', - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: renaud.bargellini at edf.fr -DEFI_TRC=OPER(nom="DEFI_TRC",op=94,sd_prod=table_sdaster,reentrant='n', - UIinfo={"groupes":("Modélisation","Thermique",)}, - fr="Définir d'un diagramme de transformations en refroidissement continu (TRC) de référence d'un acier" - +" pour les calculs métallurgiques.", - HIST_EXP =FACT(statut='o',max='**', - VALE =SIMP(statut='o',typ='R',max='**'), - ), - TEMP_MS =FACT(statut='o',max='**', - SEUIL =SIMP(statut='o',typ='R'), - AKM =SIMP(statut='o',typ='R'), - BKM =SIMP(statut='o',typ='R'), - TPLM =SIMP(statut='o',typ='R'), - ), - GRAIN_AUST =FACT(statut='f',max='**', - DREF =SIMP(statut='f',typ='R'), - A =SIMP(statut='f',typ='R'), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -def depl_interne_prod(DEPL_GLOBAL,**args ): - if AsType(DEPL_GLOBAL) == cham_no_sdaster: return cham_no_sdaster - if AsType(DEPL_GLOBAL) == evol_elas : return evol_elas - if AsType(DEPL_GLOBAL) == dyna_trans : return dyna_trans - if AsType(DEPL_GLOBAL) == dyna_harmo : return dyna_harmo - if AsType(DEPL_GLOBAL) == mode_meca : return mode_meca - if AsType(DEPL_GLOBAL) == mode_meca_c : return mode_meca_c - raise AsException("type de concept resultat non prevu") - -DEPL_INTERNE=OPER(nom="DEPL_INTERNE",op=89,sd_prod=depl_interne_prod,reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - fr="Calculer le champ de déplacement à l'intérieur d'une sous-structure statique", - DEPL_GLOBAL =SIMP(statut='o',typ=(cham_no_sdaster,mode_meca,mode_meca_c,evol_elas,dyna_trans,dyna_harmo),), - SUPER_MAILLE =SIMP(statut='o',typ=ma,), - NOM_CAS =SIMP(statut='f',typ='TXM',defaut=" "), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr -DETRUIRE=MACRO(nom="DETRUIRE", - op=OPS("Cata.ops.DETRUIRE"), - UIinfo={"groupes":("Gestion du travail",)}, - fr="Détruit des concepts utilisateurs dans la base GLOBALE ou des objets JEVEUX", - op_init=ops.build_detruire, - regles=(UN_PARMI('CONCEPT', 'OBJET',),), - - CONCEPT = FACT(statut='f',max='**', - NOM = SIMP(statut='o',typ=assd,validators=NoRepeat(),max='**'), - ), - OBJET = FACT(statut='f',max='**', - CLASSE = SIMP(statut='f', typ='TXM', into=('G', 'V', 'L'), defaut='G'), - CHAINE = SIMP(statut='o', typ='TXM', validators=NoRepeat(), max='**'), - POSITION = SIMP(statut='f', typ='I', max='**'), - ), - INFO = SIMP(statut='f', typ='I', into=(1, 2), defaut=2, ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr -DYNA_ALEA_MODAL=OPER(nom="DYNA_ALEA_MODAL",op= 131,sd_prod=interspectre, - fr="Calcul de la réponse spectrale d'une structure linéaire sous une excitation connue par sa DSP", - reentrant='n', - UIinfo={"groupes":("Résolution","Dynamique",)}, - BASE_MODALE =FACT(statut='o', - regles=(UN_PARMI('NUME_ORDRE','BANDE'),), - MODE_MECA =SIMP(statut='o',typ=mode_meca ), - BANDE =SIMP(statut='f',typ='R',validators=NoRepeat(),max=2), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - b_bande =BLOC(condition = "BANDE != None", - AMOR_UNIF =SIMP(statut='o',typ='R' ), - ), - b_nume_ordre =BLOC(condition = "NUME_ORDRE != None", - AMOR_REDUIT =SIMP(statut='o',typ='R',max='**'), - ), - ), - MODE_STAT =SIMP(statut='f',typ=mode_meca), -# MODE_STAT devrait etre dans EXCIT car est utile et obligatoire que si NOM_CMP=depl_r, on pourrait -# ainsi rajouter un bloc du genre b_mod_stat= BLOC(condition = "(GRANDEUR == None) or (GRANDEUR == 'DEPL_R')", - EXCIT =FACT(statut='o', - INTE_SPEC =SIMP(statut='o',typ=interspectre), - NUME_VITE_FLUI =SIMP(statut='f',typ='I' ), - OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG",) ), - MODAL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - b_modal_non = BLOC(condition = "(MODAL == None) or (MODAL == 'NON')", - regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I'),), - NUME_ORDRE_I =SIMP(statut='f',typ='I',max='**'), - NOEUD_I =SIMP(statut='f',typ=no,max='**'), - b_nume_ordre_i =BLOC(condition = "NUME_ORDRE_I != None", - regles=(EXCLUS('CHAM_NO','NOEUD'),), -# on devrait rajouter EXCLUS('GRANDEUR','CHAM_NO') pour eviter ambiguite car CHAM_NO => GRANDEUR='EFFO' -# cela impliquerait d'enlever la valeur par defaut a GRANDEUR - NUME_ORDRE_J =SIMP(statut='o',typ='I',max='**'), - CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster), - NOEUD =SIMP(statut='f',typ=no,max='**'), - b_noeud =BLOC(condition = "NOEUD != None", - NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), - ), - GRANDEUR =SIMP(statut='f',typ='TXM',defaut="DEPL_R", - into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")), -# que se passe-t-il en cas d'incompatibilite entre GRANDEUR et NOM_CMP - DERIVATION =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ), - ), - b_noeud_i =BLOC(condition = "NOEUD_I != None", - NOEUD_J =SIMP(statut='o',typ=no,max='**'), - NOM_CMP_I =SIMP(statut='o',typ='TXM',max='**'), - NOM_CMP_J =SIMP(statut='o',typ='TXM',max='**'), - NOEUD =SIMP(statut='o',typ=no,max='**'), - NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), -# ne serait-il pas bien que NOEUD et NOM_CMP soient facultatifs, car l'information peut etre contenue dans -# NOEUD_I, NOM_CMP_I ... => modif. du Fortran - GRANDEUR =SIMP(statut='f',typ='TXM',defaut="DEPL_R", - into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")), -# que se passe-t-il en cas d'incompatibilite entre GRANDEUR et NOM_CMP_I - DERIVATION =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ), - ), - ), - b_modal_oui = BLOC(condition = "(MODAL == 'OUI')", -# dans ce cas, y-a-t-il vraiment la possibilite d'une matrice interspectrale avec plusieurs termes - NUME_ORDRE_I =SIMP(statut='o',typ='I',max='**'), - NUME_ORDRE_J =SIMP(statut='o',typ='I',max='**'), - GRANDEUR =SIMP(statut='f',typ='TXM',defaut="DEPL_R", - into=("DEPL_R","EFFO","SOUR_DEBI_VOLU","SOUR_DEBI_MASS","SOUR_PRESS","SOUR_FORCE")), - DERIVATION =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ) ), -# dans le cas MODAL=OUI, GRANDEUR peut-il etre different de EFFO et doit il etre impose a EFFO On devrait -# pouvoir supprimer GRANDEUR et DERIVATION ici - ), - - ), - REPONSE =FACT(statut='f', - regles=( ENSEMBLE('FREQ_MIN','FREQ_MAX'),), - DERIVATION =SIMP(statut='f',typ='I',defaut= 0,into=( 0 , 1 , 2 ,) ), - OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ), - FREQ_MIN =SIMP(statut='f',typ='R' ), - FREQ_MAX =SIMP(statut='f',typ='R' ), - PAS =SIMP(statut='f',typ='R' ), - b_defaut_freq =BLOC(condition = "FREQ_MIN == NONE", - FREQ_EXCIT =SIMP(statut='f',typ='TXM',defaut="AVEC",into=("AVEC","SANS") ), - NB_POIN_MODE =SIMP(statut='f',typ='I',defaut= 50 ), - ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr - -def dyna_iss_vari_prod(self, FONC_SIGNAL,**args): - if FONC_SIGNAL !=None : - return tran_gene - else: - return interspectre - raise AsException("type de concept resultat non prevu") - -DYNA_ISS_VARI=MACRO(nom="DYNA_ISS_VARI", - op=OPS('Macro.dyna_iss_vari_ops.dyna_iss_vari_ops'), - sd_prod=dyna_iss_vari_prod, - fr="Calcul du spectre de réponse ou de la reponse temporelle " \ - "sismique incoherente par decomposition spectrale", - reentrant='n', - UIinfo={"groupes":("Outils métier",)}, - regles=(UN_PARMI('FONC_SIGNAL','NB_FREQ'),), - FONC_SIGNAL =SIMP(statut='f',typ=(fonction_sdaster) ), - NB_FREQ =SIMP(statut='f',typ='I' ), - NOM_CMP =SIMP(statut='o',typ='TXM',into=("DX","DY","DZ") ), - PRECISION =SIMP(statut='f',typ='R',defaut=0.999 ), - ISSF =SIMP(statut='f',typ='TXM',into=("OUI","NON",),defaut="NON"), - INTERF =FACT(statut='o', - GROUP_NO_INTERF =SIMP(statut='o',typ=grno,), - MODE_INTERF =SIMP(statut='o',typ='TXM',into=("CORP_RIGI","TOUT","QUELCONQUE")), - ), - MATR_COHE =FACT(statut='o', - TYPE = SIMP(statut='o',typ='TXM' , into=("MITA_LUCO","ABRAHAMSON") ), - b_type_coh = BLOC(condition="TYPE=='MITA_LUCO' ", - VITE_ONDE =SIMP(statut='f',typ='R', defaut=600.), - PARA_ALPHA =SIMP(statut='f',typ='R',defaut=0.5),), - ), -# LIST_FREQ =SIMP(statut='o',typ='liste' ), - UNITE_RESU_FORC = SIMP(statut='f',typ='I',defaut=33), - UNITE_RESU_IMPE = SIMP(statut='f',typ='I',defaut=32), - TYPE = SIMP(statut='f',typ='TXM', into=("BINAIRE","ASCII"), defaut="ASCII"), -# NOM_CHAM =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE") , validators=NoRepeat(),max=3,defaut="DEPL" ), -# - MATR_GENE = FACT(statut='o', - MATR_MASS = SIMP(statut='o',typ=(matr_asse_gene_r ) ), - MATR_RIGI = SIMP(statut='o',typ=(matr_asse_gene_r,matr_asse_gene_c ) ), - MATR_AMOR = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c ) ), - ), -# - INFO =SIMP(statut='f',typ='I' ,defaut=1,into=( 1 , 2)), -# - b_type_trans = BLOC(condition="FONC_SIGNAL !=None", - FREQ_MAX =SIMP(statut='f',typ='R' ), - FREQ_PAS =SIMP(statut='f',typ='R' ), - regles=( ENSEMBLE('FREQ_MAX','FREQ_PAS'), ) - - ), - - b_type_spec = BLOC(condition="NB_FREQ != None", - FREQ_INIT =SIMP(statut='o',typ='R' ), - FREQ_PAS =SIMP(statut='o',typ='R' ), - OPTION = SIMP(statut='f',typ='TXM',into=("TOUT","DIAG"),defaut="TOUT"), - ), - - - ) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: harinaivo.andriambololona at edf.fr -def dyna_line_harm_prod(MATR_RIGI,**args): - if (AsType(MATR_RIGI) == matr_asse_depl_r) : return dyna_harmo - elif (AsType(MATR_RIGI) == matr_asse_depl_c) : return dyna_harmo - elif (AsType(MATR_RIGI) == matr_asse_pres_c) : return acou_harmo - elif (AsType(MATR_RIGI) == matr_asse_gene_r) : return harm_gene - elif (AsType(MATR_RIGI) == matr_asse_gene_c) : return harm_gene - raise AsException("type de concept resultat non prevu") - -DYNA_LINE_HARM=OPER(nom="DYNA_LINE_HARM",op= 60,sd_prod=dyna_line_harm_prod, - fr="Calcul de la réponse dynamique complexe d'un système à une excitation harmonique", - reentrant='f', - UIinfo={"groupes":("Résolution","Dynamique",)}, - regles=(PRESENT_ABSENT('MATR_AMOR','AMOR_MODAL'), - UN_PARMI('FREQ','LIST_FREQ'),), - CHAM_MATER =SIMP(statut='f',typ=cham_mater ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r ) ), - MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_pres_c - ,matr_asse_gene_r,matr_asse_gene_c ) ), - MATR_AMOR =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r ) ), - AMOR_MODAL =FACT(statut='f', max=1, - regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), - ), - MATR_IMPE_PHI =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",)), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","VITE","ACCE") ), - b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : RESULTAT obligatoire", - RESULTAT =SIMP(statut='o',typ=(dyna_harmo,harm_gene)), - ), - EXCIT =FACT(statut='o',max='**', - regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE','CHARGE'), - UN_PARMI('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'), - ), - VECT_ASSE =SIMP(statut='f',position='global',typ=cham_no_sdaster), - VECT_ASSE_GENE =SIMP(statut='f',position='global',typ=vect_asse_gene), - CHARGE =SIMP(statut='f',position='global', typ=char_meca ), - FONC_MULT_C =SIMP(statut='f',typ=(fonction_c,formule_c) ), - COEF_MULT_C =SIMP(statut='f',typ='C' ), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - COEF_MULT =SIMP(statut='f',typ='R' ), - PHAS_DEG =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - PUIS_PULS =SIMP(statut='f',typ='I',defaut= 0 ), - ), - b_modele_char =BLOC(condition = " CHARGE != None ", - MODELE =SIMP(statut='o',typ=modele_sdaster ), - ), - b_modele_vect =BLOC(condition = " VECT_ASSE != None ", - MODELE =SIMP(statut='f',typ=modele_sdaster ), - ), - EXCIT_RESU =FACT(statut='f',max='**', - RESULTAT =SIMP(statut='o',typ=(dyna_harmo,harm_gene)), - COEF_MULT_C =SIMP(statut='o',typ='C' ), - ), -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - b_matr_gene =BLOC(condition = "AsType(MATR_MASS) in (matr_asse_gene_r,)", - fr="Methode de resolution matrice generalisee", - SOLVEUR =C_SOLVEUR('DYNA_LINE_HARM','GENE'), - ), - - b_matr_phys =BLOC(condition = "AsType(MATR_MASS) in (matr_asse_depl_r,matr_asse_pres_c,)", - fr="Methode de resolution matrice sur ddl physique", - SOLVEUR =C_SOLVEUR('DYNA_LINE_HARM','PHYS'), - ), -#------------------------------------------------------------------- - - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: emmanuel.boyere at edf.fr -DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op= 48,sd_prod=dyna_trans, - fr="Calcul de la réponse dynamique transitoire à une excitation temporelle quelconque", - reentrant='f', - UIinfo={"groupes":("Résolution","Dynamique",)}, - MODELE =SIMP(statut='f',typ=modele_sdaster ), - CHAM_MATER =SIMP(statut='f',typ=cham_mater ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - MATR_MASS =SIMP(statut='o',typ=matr_asse_depl_r ), - MATR_RIGI =SIMP(statut='o',typ=matr_asse_depl_r ), - MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r ), - - SCHEMA_TEMPS =FACT(statut='d', - SCHEMA =SIMP(statut='f',typ='TXM',defaut="NEWMARK", - into=("NEWMARK","WILSON","DIFF_CENTRE","ADAPT_ORDRE2")), - b_newmark =BLOC(condition="SCHEMA=='NEWMARK'", - BETA =SIMP(statut='f',typ='R',defaut= 0.25 ), - GAMMA =SIMP(statut='f',typ='R',defaut= 0.5 ), - ), - b_wilson =BLOC(condition="SCHEMA=='WILSON'", - THETA =SIMP(statut='f',typ='R',defaut= 1.4 ), - ), - ), - - ETAT_INIT =FACT(statut='f', - regles=(AU_MOINS_UN('RESULTAT', 'DEPL', 'VITE', 'ACCE'), - PRESENT_ABSENT('RESULTAT', 'DEPL', 'VITE', 'ACCE'),), - RESULTAT =SIMP(statut='f',typ=dyna_trans ), - b_dyna_trans =BLOC(condition = "RESULTAT != None", - regles=(EXCLUS('NUME_ORDRE','INST_INIT' ),), - NUME_ORDRE =SIMP(statut='f',typ='I' ), - INST_INIT =SIMP(statut='f',typ='R' ), - b_inst_init =BLOC(condition = "INST_INIT != None", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - ), - DEPL =SIMP(statut='f',typ=cham_no_sdaster), - VITE =SIMP(statut='f',typ=cham_no_sdaster), - ACCE =SIMP(statut='f',typ=cham_no_sdaster), - ), - EXCIT =FACT(statut='f',max='**', - regles=(UN_PARMI('CHARGE','VECT_ASSE'), - EXCLUS('CHARGE','COEF_MULT'), - EXCLUS('FONC_MULT','COEF_MULT'), - EXCLUS('ACCE','COEF_MULT'), - PRESENT_ABSENT('ACCE','FONC_MULT'), - PRESENT_PRESENT('ACCE','VITE','DEPL'), - # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'), - ), - VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster), - CHARGE =SIMP(statut='f',typ=char_meca ), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - COEF_MULT =SIMP(statut='f',typ='R' ), - ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - b_mult_appui =BLOC(condition = "MULT_APPUI == 'OUI'", - regles=(EXCLUS('NOEUD','GROUP_NO'),), - DIRECTION =SIMP(statut='f',typ='R',max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - ),), -### - MODE_STAT =SIMP(statut='f',typ=mode_meca), -### - EXCIT_RESU =FACT(statut='f',max='**', - RESULTAT =SIMP(statut='o',typ=dyna_trans ), - COEF_MULT =SIMP(statut='o',typ='R' ), - ), - AMOR_MODAL =FACT(statut='f', - MODE_MECA =SIMP(statut='o',typ=mode_meca ), - AMOR_REDUIT =SIMP(statut='o',typ='R',max='**'), - NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), - ), - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('DYNA_LINE_TRAN'), -#------------------------------------------------------------------- - INCREMENT =FACT(statut='o',max='**', - regles=(UN_PARMI('LIST_INST','PAS'),), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - PAS =SIMP(statut='f',typ='R' ), - b_pas =BLOC(condition = "PAS != None", - INST_INIT =SIMP(statut='f',typ='R' ), - INST_FIN =SIMP(statut='o',typ='R' ), - ), - b_list_fonc =BLOC(condition = "LIST_INST != None", - regles=(EXCLUS('INST_FIN','NUME_FIN'),), - NUME_FIN =SIMP(statut='f',typ='I' ), - INST_FIN =SIMP(statut='f',typ='R' ), - ), - VITE_MIN =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ), - COEF_MULT_PAS =SIMP(statut='f',typ='R',defaut= 1.1 ), - COEF_DIVI_PAS =SIMP(statut='f',typ='R',defaut= 1.33334 ), - PAS_LIMI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ), - NMAX_ITER_PAS =SIMP(statut='f',typ='I',defaut= 16 ), - PAS_MINI =SIMP(statut='f',typ='R' ), - ), - ENERGIE =FACT(statut='f',max=1, - CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), - ), - ARCHIVAGE =FACT(statut='f',max=1, - regles = (EXCLUS('PAS_ARCH','LIST_INST','INST'),), - LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_ARCH = SIMP(statut='f',typ='I' ), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - CHAM_EXCLU =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE") ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.greffet at edf.fr -# -DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f', - fr="Calcul de l'évolution dynamique d'une structure dont le matériau ou la géométrie ont un comportement non linéaire", - UIinfo={"groupes":("Résolution","Dynamique",)}, - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - MODE_STAT =SIMP(statut='f',typ=mode_meca), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - MASS_DIAG =SIMP(statut='f',typ='TXM',into=("OUI","NON",) ), - EXCIT =FACT(statut='f',max='**', - regles=(PRESENT_ABSENT('FONC_MULT','ACCE'), - PRESENT_PRESENT('ACCE','VITE','DEPL'), - # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'), - ), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", - into=("FIXE_CSTE","SUIV","DIDI")), - CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - DIRECTION =SIMP(statut='f',typ='R',max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - ), - EXCIT_GENE =FACT(statut='f',max='**', - FONC_MULT =SIMP(statut='f',typ=fonction_sdaster,max='**' ), - VECT_GENE =SIMP(statut='f',typ=vect_asse_gene,max='**' ), - ), - CONTACT =SIMP(statut='f',typ=char_contact), - SOUS_STRUC =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('TOUT','SUPER_MAILLE'),), - CAS_CHARGE =SIMP(statut='o',typ='TXM' ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - SUPER_MAILLE=SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - AMOR_RAYL_RIGI = SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE"),), - AMOR_MODAL =FACT(statut='f', - regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),), - MODE_MECA =SIMP(statut='f',typ=mode_meca), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**' ), - LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), - NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), - REAC_VITE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - PROJ_MODAL =FACT(statut='f',max='**', - MODE_MECA =SIMP(statut='o',typ=mode_meca), - NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), - regles=(PRESENT_PRESENT('MASS_GENE','RIGI_GENE'),), - MASS_GENE =SIMP(statut='f',typ=matr_asse_gene_r), - RIGI_GENE =SIMP(statut='f',typ=matr_asse_gene_r), - AMOR_GENE =SIMP(statut='f',typ=matr_asse_gene_r), - DEPL_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene), - VITE_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene), - ACCE_INIT_GENE =SIMP(statut='f',typ=vect_asse_gene), - ), -#------------------------------------------------------------------- - COMPORTEMENT =C_COMPORTEMENT('DYNA_NON_LINE'), -#------------------------------------------------------------------- - b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire", - ETAT_INIT =FACT(statut='o', - regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI',), - # EXCLUS('EVOL_NOLI','DEPL',), - # EXCLUS('EVOL_NOLI','VITE'), - # EXCLUS('EVOL_NOLI','ACCE'), - # EXCLUS('EVOL_NOLI','SIGM',), - # EXCLUS('EVOL_NOLI','VARI',), - EXCLUS('NUME_ORDRE','INST'), ), - DEPL =SIMP(statut='f',typ=cham_no_sdaster), - VITE =SIMP(statut='f',typ=cham_no_sdaster), - ACCE =SIMP(statut='f',typ=cham_no_sdaster), - SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)), - VARI =SIMP(statut='f',typ=cham_elem), - STRX =SIMP(statut='f',typ=cham_elem), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - NUME_DIDI =SIMP(statut='f',typ='I'), - INST_ETAT_INIT =SIMP(statut='f',typ='R'), - ),), - b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif", - ETAT_INIT =FACT(statut='f', - regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI',), - # EXCLUS('EVOL_NOLI','DEPL',), - # EXCLUS('EVOL_NOLI','VITE'), - # EXCLUS('EVOL_NOLI','ACCE'), - # EXCLUS('EVOL_NOLI','SIGM',), - # EXCLUS('EVOL_NOLI','VARI',), - EXCLUS('NUME_ORDRE','INST'), ), - DEPL =SIMP(statut='f',typ=cham_no_sdaster), - VITE =SIMP(statut='f',typ=cham_no_sdaster), - ACCE =SIMP(statut='f',typ=cham_no_sdaster), - SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)), - VARI =SIMP(statut='f',typ=cham_elem), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - NUME_DIDI =SIMP(statut='f',typ='I'), - INST_ETAT_INIT =SIMP(statut='f',typ='R'), - ),), -#------------------------------------------------------------------- - INCREMENT =C_INCREMENT('MECANIQUE'), -#------------------------------------------------------------------- - SCHEMA_TEMPS =FACT(statut='o', - SCHEMA =SIMP(statut='o',min=1,max=1,typ='TXM', - into=("DIFF_CENT","TCHAMWA","NEWMARK","HHT","THETA_METHODE","KRENK"),), - COEF_MASS_SHIFT =SIMP(statut='f',typ='R',defaut= 0.0E+0 ), - b_tchamwa = BLOC(condition="SCHEMA=='TCHAMWA'", - PHI =SIMP(statut='f',typ='R',defaut= 1.05),), - - b_newmark = BLOC(condition="SCHEMA=='NEWMARK'", - BETA =SIMP(statut='f',typ='R',defaut= 0.25), - GAMMA =SIMP(statut='f',typ='R',defaut= 0.5),), - - b_hht = BLOC(condition="SCHEMA=='HHT'", - ALPHA =SIMP(statut='f',typ='R',defaut= -0.3 ), - MODI_EQUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),),), - - b_theta = BLOC(condition="SCHEMA=='THETA_METHODE'", - THETA =SIMP(statut='f',typ='R',defaut= 1.,val_min=0.5,val_max=100. ),), - - b_krenk = BLOC(condition="SCHEMA=='KRENK'", - KAPPA =SIMP(statut='f',typ='R',defaut= 1.0,val_min=1.0,val_max=100. ),), - - b_explicit= BLOC(condition="SCHEMA=='TCHAMWA'or SCHEMA=='DIFF_CENT'", - STOP_CFL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),), - FORMULATION =SIMP(statut='o',typ='TXM',into=("ACCELERATION",),),), - - b_implicit= BLOC(condition="SCHEMA!='TCHAMWA'and SCHEMA!='DIFF_CENT'", - FORMULATION =SIMP(statut='o',max=1,typ='TXM',into=("DEPLACEMENT","VITESSE","ACCELERATION"),),), - ), -#------------------------------------------------------------------- - METHODE =SIMP(statut='d',typ='TXM',defaut="NEWTON",into=("NEWTON","NEWTON_KRYLOV")), - NEWTON =C_NEWTON(), -#------------------------------------------------------------------- - RECH_LINEAIRE =C_RECH_LINEAIRE(), -#------------------------------------------------------------------- - CONVERGENCE =C_CONVERGENCE(), -#------------------------------------------------------------------- - SOLVEUR =C_SOLVEUR('DYNA_NON_LINE'), -#------------------------------------------------------------------- - OBSERVATION =C_OBSERVATION(), -#------------------------------------------------------------------- - ENERGIE =FACT(statut='f',max=1, - CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), - ), -#------------------------------------------------------------------- - SUIVI_DDL =C_SUIVI_DDL(), -#------------------------------------------------------------------- - AFFICHAGE =C_AFFICHAGE(), -#------------------------------------------------------------------- - ARCHIVAGE =C_ARCHIVAGE(), -#------------------------------------------------------------------- - CRIT_STAB =FACT(statut='f',min=1,max=1, - NB_FREQ =SIMP(statut='f',typ='I',max=1,val_min=1,defaut=3), - COEF_DIM_ESPACE =SIMP(statut='f',typ='I',max=1,val_min=2,defaut=5), - RIGI_GEOM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - MODI_RIGI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - bloc_char_crit=BLOC(condition="(RIGI_GEOM=='OUI')", - CHAR_CRIT =SIMP(statut='f',typ='R',min=2,max=2, - fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"),), - TYPE =SIMP(statut='f',typ='TXM',defaut="FLAMBEMENT",into=("FLAMBEMENT","STABILITE")), - PREC_INSTAB =SIMP(statut='f',typ='R',defaut=1.E-6,max=1,), - SIGNE =SIMP(statut='f',typ='TXM',defaut=("POSITIF_NEGATIF"),into=("NEGATIF","POSITIF","POSITIF_NEGATIF"),max=1,), - bloc_rigi_geom=BLOC(condition="(RIGI_GEOM=='NON'or MODI_RIGI=='OUI')", - DDL_EXCLUS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=40, - into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', - 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', - 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', - 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', - 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX', - 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', - 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22', - 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23', - 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG','DH')), - bloc_type_stab =BLOC(condition= "TYPE == 'STABILITE' and RIGI_GEOM == 'NON'", - DDL_STAB =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=40, - into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', - 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', - 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', - 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', - 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX', - 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', - 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22', - 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23', - 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG','DH')),), - ), - regles = (EXCLUS('PAS_CALC','LIST_INST','INST'),), - LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_CALC = SIMP(statut='f',typ='I' ), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - MODE_VIBR =FACT(statut='f',min=1,max=1, - MATR_RIGI =SIMP(statut='f',typ='TXM',defaut="ELASTIQUE",into=("ELASTIQUE","TANGENTE","SECANTE",) ), - NB_FREQ =SIMP(statut='f',typ='I',max=1,val_min=1,defaut=3, - fr="Nombre de fréquences propres à calculer"), - COEF_DIM_ESPACE =SIMP(statut='f',typ='I',max=1,val_min=2,defaut=5), - BANDE =SIMP(statut='f',typ='R',min=2,max=2, - fr="Valeur des deux fréquences délimitant la bande de recherche",), - regles = (EXCLUS('PAS_CALC','LIST_INST','INST'),), - LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_CALC = SIMP(statut='f',typ='I' ), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), -#------------------------------------------------------------------- - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), - b_info=BLOC(condition="(INFO==2)", - fr="filtre les messages émis dans le .mess selon le type de message demandé", - INFO_DBG = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), - into=("CONTACT", - "MECA_NON_LINE", - "PILOTAGE", - "FACTORISATION", - "APPARIEMENT"), - ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: andre.adobes at edf.fr -DYNA_SPEC_MODAL=OPER(nom="DYNA_SPEC_MODAL",op= 147,sd_prod=interspectre, - fr="Calcul de la réponse par recombinaison modale d'une structure linéaire pour une excitation aléatoire", - reentrant='n', - UIinfo={"groupes":("Résolution","Dynamique",)}, - BASE_ELAS_FLUI =SIMP(statut='o',typ=melasflu_sdaster ), - VITE_FLUI =SIMP(statut='o',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), - EXCIT =FACT(statut='o', - INTE_SPEC_GENE =SIMP(statut='o',typ=interspectre), - ), - OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: emmanuel.boyere at edf.fr -DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op= 74,sd_prod=tran_gene, - fr="Calcul de la reponse dynamique transitoire d'un systeme amorti ou non en coordonees generalisees" - +" par superposition modale ou par sous structuration", - reentrant='f', - UIinfo={"groupes":("Resolution","Dynamique",)}, - regles=(EXCLUS('AMOR_MODAL','MATR_AMOR'), - PRESENT_ABSENT('MODE_STAT','MODE_CORR'),), - SCHEMA_TEMPS =FACT(statut='d', - SCHEMA =SIMP(statut='f',typ='TXM',defaut="NEWMARK", - into=("NEWMARK","EULER","DEVOGE","ADAPT_ORDRE1","ADAPT_ORDRE2","ITMI","RUNGE_KUTTA_54","RUNGE_KUTTA_32")), - b_newmark =BLOC(condition="SCHEMA=='NEWMARK'", - BETA =SIMP(statut='f',typ='R',defaut= 0.25 ), - GAMMA =SIMP(statut='f',typ='R',defaut= 0.5 ), - ), - b_runge_kutta =BLOC(condition="SCHEMA=='RUNGE_KUTTA_54' or SCHEMA=='RUNGE_KUTTA_32'", - TOLERANCE =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ), - b_itmi =BLOC(condition = "SCHEMA=='ITMI'", - regles=(ENSEMBLE('BASE_ELAS_FLUI','NUME_VITE_FLUI'),), - BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster ), - NUME_VITE_FLUI =SIMP(statut='f',typ='I' ), - ETAT_STAT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - PREC_DUREE =SIMP(statut='f',typ='R',defaut= 1.E-2 ), - CHOC_FLUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - NB_MODE =SIMP(statut='f',typ='I' ), - NB_MODE_FLUI =SIMP(statut='f',typ='I' ), - TS_REG_ETAB =SIMP(statut='f',typ='R' ), - ), - ), - MATR_MASS =SIMP(statut='o',typ=matr_asse_gene_r ), - MATR_RIGI =SIMP(statut='o',typ=matr_asse_gene_r ), - MATR_AMOR =SIMP(statut='f',typ=matr_asse_gene_r ), - VITESSE_VARIABLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - b_variable =BLOC(condition="VITESSE_VARIABLE=='OUI'", - MATR_GYRO =SIMP(statut='o',typ=matr_asse_gene_r ), - VITE_ROTA =SIMP(statut='o',typ=(fonction_sdaster,formule) ), - MATR_RIGY =SIMP(statut='f',typ=matr_asse_gene_r ), - ACCE_ROTA =SIMP(statut='f',typ=(fonction_sdaster,formule) ), - ), - b_constante =BLOC(condition="VITESSE_VARIABLE=='NON'", - VITE_ROTA = SIMP(statut='o',typ='R',defaut=0.E0), - COUPLAGE_EDYOS =FACT(statut='f',max=1, - PAS_TPS_EDYOS = SIMP(statut='o',typ='R' ), - ), - - ), - - AMOR_MODAL =FACT(statut='f', max=1, - regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), - ), - - ROTOR_FISS = FACT(statut='f',max='**', - regles=(UN_PARMI('NOEUD_D','GROUP_NO_D'), - EXCLUS('NOEUD_G','GROUP_NO_G'), - PRESENT_PRESENT('NOEUD_D','NOEUD_G'), - PRESENT_PRESENT('GROUP_NO_D','GROUP_NO_G',),), - ANGL_INIT = SIMP(statut='o',typ='R',defaut=0.E0), - ANGL_ROTA = SIMP(statut='f',typ=(fonction_sdaster,formule) ), - NOEUD_G = SIMP(statut='f',typ=no), - NOEUD_D = SIMP(statut='f',typ=no), - GROUP_NO_G = SIMP(statut='f',typ=grno), - GROUP_NO_D = SIMP(statut='f',typ=grno), - K_PHI = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - DK_DPHI = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - ), - - PALIER_EDYOS =FACT(statut='f',max='**', - regles=(PRESENT_ABSENT('UNITE','GROUP_NO'), - PRESENT_ABSENT('UNITE','TYPE_EDYOS'), - EXCLUS('GROUP_NO','NOEUD'),), - UNITE = SIMP(statut='f',typ='I',), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD = SIMP(statut='f',typ=no), - TYPE_EDYOS = SIMP(statut='f',typ='TXM', - into=("PAPANL","PAFINL","PACONL","PAHYNL",),), - ), - - ETAT_INIT =FACT(statut='f', - regles=(EXCLUS('RESULTAT','DEPL'), - EXCLUS('RESULTAT','VITE'),), - RESULTAT =SIMP(statut='f',typ=tran_gene ), - b_resu =BLOC(condition = "RESULTAT != None", - regles=(EXCLUS('NUME_ORDRE','INST_INIT' ),), - INST_INIT =SIMP(statut='f',typ='R' ), - NUME_ORDRE =SIMP(statut='f',typ='I' ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - DEPL =SIMP(statut='f',typ=vect_asse_gene ), - VITE =SIMP(statut='f',typ=vect_asse_gene ), - ), - INCREMENT =FACT(statut='o',max='**', - regles=(UN_PARMI('LIST_INST','PAS'),), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - b_list_inst =BLOC(condition = "LIST_INST != None", - regles=(EXCLUS('NUME_FIN','INST_FIN'),), - NUME_FIN =SIMP(statut='f',typ='I' ), - INST_FIN =SIMP(statut='f',typ='R' ), - ), - PAS =SIMP(statut='f',typ='R' ), - b_pas =BLOC(condition = "PAS != None", - INST_INIT =SIMP(statut='f',typ='R' ), - INST_FIN =SIMP(statut='o',typ='R' ), - ), - VERI_PAS =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - VITE_MIN =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ), - COEF_MULT_PAS =SIMP(statut='f',typ='R',defaut= 1.1 ), - COEF_DIVI_PAS =SIMP(statut='f',typ='R',defaut= 1.3333334 ), - PAS_LIMI_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-6 ), - NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ), - NMAX_ITER_PAS =SIMP(statut='f',typ='I',defaut= 16 ), - PAS_MAXI =SIMP(statut='f',typ='R' ), - PAS_MINI =SIMP(statut='f',typ='R' ), - ), - ARCHIVAGE =FACT(statut='f',max=1, - regles = (EXCLUS('PAS_ARCH','LIST_INST','INST'),), - LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_ARCH = SIMP(statut='f',typ='I' ), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - EXCIT =FACT(statut='f',max='**', - regles=(UN_PARMI('FONC_MULT','COEF_MULT','ACCE'), - UN_PARMI('VECT_ASSE_GENE','NUME_ORDRE',), - PRESENT_PRESENT('ACCE','VITE','DEPL'), -# PRESENT_ABSENT('NUME_ORDRE','VECT_ASSE_GENE','COEF_MULT'), - EXCLUS('MULT_APPUI','CORR_STAT'), - PRESENT_PRESENT('MULT_APPUI','ACCE'),), - VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene ), - NUME_ORDRE =SIMP(statut='f',typ='I' ), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - COEF_MULT =SIMP(statut='f',typ='R' ), - ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), - b_mult_appui =BLOC(condition = "MULT_APPUI == 'OUI'", - DIRECTION =SIMP(statut='f',typ='R',max='**'), - regles=(EXCLUS('NOEUD','GROUP_NO'),), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - ), - CORR_STAT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - b_corr_stat =BLOC(condition = "CORR_STAT == 'OUI'", - D_FONC_DT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - D_FONC_DT2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ),), - - MODE_STAT =SIMP(statut='f',typ=mode_meca ), - MODE_CORR =SIMP(statut='f',typ=(mult_elas,mode_meca),), - - EXCIT_RESU =FACT(statut='f',max='**', - RESULTAT =SIMP(statut='o',typ=tran_gene ), - COEF_MULT =SIMP(statut='f',typ='R',defaut=1.0 ), - ), - - CHOC =FACT(statut='f',max='**', - regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD_1','GROUP_NO_1' ), - EXCLUS('NOEUD_2','GROUP_NO_2'), - PRESENT_ABSENT('GROUP_MA','NOEUD_2','GROUP_NO_2'), - PRESENT_ABSENT('MAILLE','NOEUD_2','GROUP_NO_2'),), - INTITULE =SIMP(statut='f',typ='TXM' ), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - NOEUD_1 =SIMP(statut='f',typ=no), - NOEUD_2 =SIMP(statut='f',typ=no), - GROUP_NO_1 =SIMP(statut='f',typ=grno), - GROUP_NO_2 =SIMP(statut='f',typ=grno), - OBSTACLE =SIMP(statut='o',typ=table_fonction), - ORIG_OBST =SIMP(statut='f',typ='R',min=3,max=3), - NORM_OBST =SIMP(statut='o',typ='R',min=3,max=3), - ANGL_VRIL =SIMP(statut='f',typ='R' ), - JEU =SIMP(statut='f',typ='R',defaut= 1. ), - DIST_1 =SIMP(statut='f',typ='R',val_min=0.E+0 ), - DIST_2 =SIMP(statut='f',typ='R',val_min=0.E+0 ), - SOUS_STRUC_1 =SIMP(statut='f',typ='TXM' ), - SOUS_STRUC_2 =SIMP(statut='f',typ='TXM' ), - REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL"), - RIGI_NOR =SIMP(statut='f',typ='R' ), - AMOR_NOR =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - RIGI_TAN =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - AMOR_TAN =SIMP(statut='f',typ='R' ), - FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","COULOMB","COULOMB_STAT_DYNA") ), - b_coulomb =BLOC(condition="FROTTEMENT=='COULOMB'", - COULOMB =SIMP(statut='o',typ='R' ),), - b_coulomb_stat_dyna =BLOC(condition="FROTTEMENT=='COULOMB_STAT_DYNA'", - COULOMB_STAT =SIMP(statut='o',typ='R' ), - COULOMB_DYNA =SIMP(statut='o',typ='R' ),), - ), - VERI_CHOC =FACT(statut='f', - STOP_CRITERE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - SEUIL =SIMP(statut='f',typ='R',defaut= 0.5 ), - ), - FLAMBAGE =FACT(statut='f',max='**', - regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'), - EXCLUS('NOEUD_2','GROUP_NO_2'),), - NOEUD_1 =SIMP(statut='f',typ=no), - NOEUD_2 =SIMP(statut='f',typ=no), - GROUP_NO_1 =SIMP(statut='f',typ=grno), - GROUP_NO_2 =SIMP(statut='f',typ=grno), - OBSTACLE =SIMP(statut='o',typ=table_fonction), - ORIG_OBST =SIMP(statut='f',typ='R',max='**'), - NORM_OBST =SIMP(statut='o',typ='R',max='**'), - ANGL_VRIL =SIMP(statut='f',typ='R' ), - JEU =SIMP(statut='f',typ='R',defaut= 1. ), - DIST_1 =SIMP(statut='f',typ='R' ), - DIST_2 =SIMP(statut='f',typ='R' ), - REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL"), - RIGI_NOR =SIMP(statut='f',typ='R' ), - FNOR_CRIT =SIMP(statut='f',typ='R' ), - FNOR_POST_FL =SIMP(statut='f',typ='R' ), - RIGI_NOR_POST_FL=SIMP(statut='f',typ='R' ), - ), - ANTI_SISM =FACT(statut='f',max='**', - regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'), - UN_PARMI('NOEUD_2','GROUP_NO_2'),), - NOEUD_1 =SIMP(statut='f',typ=no), - NOEUD_2 =SIMP(statut='f',typ=no), - GROUP_NO_1 =SIMP(statut='f',typ=grno), - GROUP_NO_2 =SIMP(statut='f',typ=grno), - RIGI_K1 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - RIGI_K2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - SEUIL_FX =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - C =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - PUIS_ALPHA =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - DX_MAX =SIMP(statut='f',typ='R',defaut= 1. ), - ), - RELA_EFFO_DEPL =FACT(statut='f',max='**', - NOEUD =SIMP(statut='o',typ=no), - SOUS_STRUC =SIMP(statut='f',typ='TXM' ), - NOM_CMP =SIMP(statut='f',typ='TXM' ), - RELATION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - RELA_EFFO_VITE =FACT(statut='f',max='**', - NOEUD =SIMP(statut='o',typ=no), - SOUS_STRUC =SIMP(statut='f',typ='TXM' ), - NOM_CMP =SIMP(statut='f',typ='TXM' ), - RELATION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - IMPRESSION =FACT(statut='f', - regles=(EXCLUS('TOUT','NIVEAU'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NIVEAU =SIMP(statut='f',typ='TXM',into=("DEPL_LOC","VITE_LOC","FORC_LOC","TAUX_CHOC") ), - INST_INIT =SIMP(statut='f',typ='R' ), - INST_FIN =SIMP(statut='f',typ='R' ), - ), - - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('DYNA_TRAN_MODAL'), -#------------------------------------------------------------------- - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - ) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: albert.alarcon at edf.fr - -#choix de structure de donnees de sortie en fonction de BASE_CALCUL et TYPE_CALCUL -def dyna_vibra_prod(self,BASE_CALCUL,TYPE_CALCUL,MATR_RIGI,**args): - if BASE_CALCUL == 'PHYS': - if TYPE_CALCUL == 'TRAN': return dyna_trans - else: - if (AsType(MATR_RIGI) == matr_asse_pres_c) : return acou_harmo - else: return dyna_harmo - else: - if TYPE_CALCUL == 'TRAN': return tran_gene - else: return harm_gene - -#from Macro.dyna_vibra_ops import dyna_vibra_ops - -DYNA_VIBRA=MACRO(nom="DYNA_VIBRA", - op=OPS('Macro.dyna_vibra_ops.dyna_vibra_ops'), -# op=dyna_vibra_ops, - sd_prod=dyna_vibra_prod, - reentrant='f', - fr="Calcul dynamique", - UIinfo={"groupes":("Resolution","Dynamique",)}, - BASE_CALCUL =SIMP(statut='o',typ='TXM',position='global',into=("PHYS","GENE") ), - TYPE_CALCUL =SIMP(statut='o',typ='TXM',position='global',into=("HARM","TRAN") ), - -#parametres de mise en donnees - b_donnees =BLOC(condition = "TYPE_CALCUL=='HARM'or (TYPE_CALCUL=='TRAN' and BASE_CALCUL=='PHYS')", - MODELE =SIMP(statut='f',typ=modele_sdaster ), - CHAM_MATER =SIMP(statut='f',typ=cham_mater ), - CARA_ELEM =SIMP(statut='f',typ=cara_elem ), - ), - b_matr_tran_phys =BLOC(condition = "TYPE_CALCUL=='TRAN' and BASE_CALCUL=='PHYS'", - MATR_MASS =SIMP(statut='o',typ=matr_asse_depl_r), - MATR_RIGI =SIMP(statut='o',typ=matr_asse_depl_r), - MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r), - ), - b_matr_tran_gene =BLOC(condition = "TYPE_CALCUL=='TRAN' and BASE_CALCUL=='GENE'", - MATR_MASS =SIMP(statut='o',typ=matr_asse_gene_r), - MATR_RIGI =SIMP(statut='o',typ=matr_asse_gene_r), - MATR_AMOR =SIMP(statut='f',typ=matr_asse_gene_r), - VITESSE_VARIABLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - b_variable =BLOC(condition="VITESSE_VARIABLE=='OUI'", - MATR_GYRO =SIMP(statut='o',typ=matr_asse_gene_r ), - VITE_ROTA =SIMP(statut='o',typ=(fonction_sdaster,formule) ), - MATR_RIGY =SIMP(statut='f',typ=matr_asse_gene_r ), - ACCE_ROTA =SIMP(statut='f',typ=(fonction_sdaster,formule) ), - ), - b_constante =BLOC(condition="VITESSE_VARIABLE=='NON'", - VITE_ROTA = SIMP(statut='o',typ='R',defaut=0.E0), - ), - ), - b_reuse_harm =BLOC(condition = "reuse and TYPE_CALCUL == 'HARM'",fr="en mode concept reentrant : RESULTAT obligatoire", - RESULTAT =SIMP(statut='o',typ=(dyna_harmo,harm_gene)), - ), - b_matr_harm =BLOC(condition="TYPE_CALCUL == 'HARM'", - MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r ) ), - MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_pres_c - ,matr_asse_gene_r,matr_asse_gene_c )), - MATR_AMOR =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_pres_c,matr_asse_gene_r) ), - MATR_IMPE_PHI =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ), - ), - - AMOR_MODAL =FACT(statut='f', - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), - b_mode =BLOC(condition = "BASE_CALCUL == 'PHYS' and TYPE_CALCUL == 'TRAN'", - MODE_MECA =SIMP(statut='o',typ=mode_meca ), - NB_MODE =SIMP(statut='f',typ='I',defaut= 9999 ), - ), - ), -#introduction parametres du calcul harmonique - b_param_harm =BLOC(condition="TYPE_CALCUL == 'HARM'", - regles=(UN_PARMI('FREQ','LIST_FREQ'), - EXCLUS('NOM_CHAM','TOUT_CHAM')), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","VITE","ACCE") ), - TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",)), - ), - -#parametrage des calculs transitoires - b_tran = BLOC(condition = "TYPE_CALCUL == 'TRAN'", -#parametrage des schemas d'integration - SCHEMA_TEMPS =FACT(statut='d', - SCHEMA =SIMP(statut='f',typ='TXM',defaut="NEWMARK", - into=("NEWMARK","WILSON","ADAPT_ORDRE2","DIFF_CENTRE","ADAPT_ORDRE1","DEVOGE","EULER","ITMI","RUNGE_KUTTA_54","RUNGE_KUTTA_32"),), - b_itmi =BLOC(condition = "SCHEMA == 'ITMI'", -regles=(ENSEMBLE('BASE_ELAS_FLUI','NUME_VITE_FLUI'),), - BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster ), - NUME_VITE_FLUI =SIMP(statut='f',typ='I' ), - ETAT_STAT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - PREC_DUREE =SIMP(statut='f',typ='R',defaut= 1.E-2 ), - CHOC_FLUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - NB_MODE =SIMP(statut='f',typ='I' ), - NB_MODE_FLUI =SIMP(statut='f',typ='I' ), - TS_REG_ETAB =SIMP(statut='f',typ='R' ), - ), - b_newmark =BLOC(condition = "SCHEMA == 'NEWMARK'", - BETA =SIMP(statut='f',typ='R',defaut= 0.25 ), - GAMMA =SIMP(statut='f',typ='R',defaut= 0.5 ), - ), - b_wilson =BLOC(condition = "SCHEMA == 'WILSON'", - THETA =SIMP(statut='f',typ='R',defaut= 1.4 ), - ), - b_runge_kutta =BLOC(condition="SCHEMA=='RUNGE_KUTTA_54' or SCHEMA=='RUNGE_KUTTA_32'", - TOLERANCE =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ), - ), - - INCREMENT =FACT(statut='o', - regles=(UN_PARMI('LIST_INST','PAS'),), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - PAS =SIMP(statut='f',typ='R' ), - b_pas =BLOC(condition = "PAS != None", - INST_INIT =SIMP(statut='f',typ='R' ), - INST_FIN =SIMP(statut='o',typ='R' ), - ), - b_list =BLOC(condition = "LIST_INST != None", - regles=(EXCLUS('INST_FIN','NUME_FIN'),), - NUME_FIN =SIMP(statut='f',typ='I' ), - INST_FIN =SIMP(statut='f',typ='R' ), - ), - b_veri_pas = BLOC(condition="BASE_CALCUL == 'GENE'", - VERI_PAS =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - PAS_MAXI =SIMP(statut='f',typ='R' ), - ), - VITE_MIN =SIMP(statut='f',typ='TXM',defaut="NORM",into=("MAXI","NORM") ), - COEF_MULT_PAS =SIMP(statut='f',typ='R',defaut= 1.1 ), - COEF_DIVI_PAS =SIMP(statut='f',typ='R',defaut= 1.3333334 ), - PAS_LIMI_RELA =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ), - NMAX_ITER_PAS =SIMP(statut='f',typ='I',defaut= 16 ), - PAS_MINI =SIMP(statut='f',typ='R' ), - ), - -#declaration de l'etat initial - b_init_gene =BLOC(condition="BASE_CALCUL == 'GENE'", - ETAT_INIT =FACT(statut='f', - regles=(EXCLUS('RESULTAT','DEPL'), - EXCLUS('RESULTAT','VITE'),), - RESULTAT =SIMP(statut='f',typ=tran_gene), - b_resu =BLOC(condition = "RESULTAT != NONE", - regles=( EXCLUS('NUME_ORDRE','INST_INIT' ),), - NUME_ORDRE =SIMP(statut='f',typ='I' ), - INST_INIT =SIMP(statut='f',typ='R' ), - b_inst_init =BLOC(condition = "INST_INIT != None", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,), - ), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',), - ), - ), - ), - DEPL =SIMP(statut='f',typ=vect_asse_gene), - VITE =SIMP(statut='f',typ=vect_asse_gene), - ), - ), - b_init_phys =BLOC(condition="BASE_CALCUL == 'PHYS'", - ETAT_INIT =FACT(statut='f', - regles=(AU_MOINS_UN('RESULTAT', 'DEPL', 'VITE', 'ACCE'), - PRESENT_ABSENT('RESULTAT', 'DEPL', 'VITE', 'ACCE'),), - RESULTAT =SIMP(statut='f',typ=dyna_trans), - b_resu =BLOC(condition = "RESULTAT != NONE", - regles=( EXCLUS('NUME_ORDRE','INST_INIT' ),), - NUME_ORDRE =SIMP(statut='f',typ='I' ), - INST_INIT =SIMP(statut='f',typ='R' ), - b_inst_init =BLOC(condition = "INST_INIT != None", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,), - ), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',), - ), - ), - ), - DEPL =SIMP(statut='f',typ=cham_no_sdaster), - VITE =SIMP(statut='f',typ=cham_no_sdaster), - ACCE =SIMP(statut='f',typ=cham_no_sdaster), - ), - ), -#parametres d'archivage - bloc_archi =BLOC(condition="TYPE_CALCUL == 'TRAN'", - ARCHIVAGE =FACT(statut='f',max=1, - regles=(EXCLUS('LIST_INST','PAS_ARCH','INST'),), - LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_ARCH = SIMP(statut='f',typ='I' ), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - - b_cham_exclu =BLOC(condition="BASE_CALCUL == 'PHYS'", - CHAM_EXCLU =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE") ), - ), - ),),), - -#calcul des energies - bloc_ener =BLOC(condition="TYPE_CALCUL == 'TRAN' and BASE_CALCUL == 'PHYS'", - ENERGIE =FACT(statut='f',max=1, - CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), - ), - ), - -#definition du chargement - b_excit_harm =BLOC(condition="TYPE_CALCUL == 'HARM'", - EXCIT =FACT(statut='o',max='**', - regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE','CHARGE'), - UN_PARMI('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'), - ), - VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster), - VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene), - CHARGE =SIMP(statut='f', typ=char_meca ), - FONC_MULT_C =SIMP(statut='f',typ=(fonction_c,formule_c) ), - COEF_MULT_C =SIMP(statut='f',typ='C' ), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - COEF_MULT =SIMP(statut='f',typ='R' ), - PHAS_DEG =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - PUIS_PULS =SIMP(statut='f',typ='I',defaut= 0 ), - - ), - EXCIT_RESU =FACT(statut='f',max='**', - RESULTAT =SIMP(statut='o',typ=(dyna_harmo,harm_gene) ), - COEF_MULT_C =SIMP(statut='o',typ='C' ),), - - ), - b_excit_tran_mod=BLOC(condition="TYPE_CALCUL == 'TRAN' and BASE_CALCUL == 'GENE'", - regles=(PRESENT_ABSENT('MODE_STAT','MODE_CORR'),), - EXCIT =FACT(statut='f',max='**', - regles=(UN_PARMI('FONC_MULT','COEF_MULT','ACCE'), - UN_PARMI('VECT_ASSE_GENE','NUME_ORDRE',), - PRESENT_PRESENT('ACCE','VITE','DEPL'), - EXCLUS('MULT_APPUI','CORR_STAT'), - PRESENT_PRESENT('MULT_APPUI','ACCE'), - ), - VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene ), - NUME_ORDRE =SIMP(statut='f',typ='I' ), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - COEF_MULT =SIMP(statut='f',typ='R' ), - ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), - b_mult_appui =BLOC(condition = "MULT_APPUI == 'OUI'", - regles=(EXCLUS('NOEUD','GROUP_NO'),), - DIRECTION =SIMP(statut='f',typ='R',max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - ), - CORR_STAT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - b_corr_stat =BLOC(condition = "CORR_STAT == 'OUI'", - D_FONC_DT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - D_FONC_DT2 =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - ), - MODE_STAT =SIMP(statut='f',typ=mode_meca ), - MODE_CORR =SIMP(statut='f',typ=(mult_elas,mode_meca),), - - EXCIT_RESU =FACT(statut='f',max='**', - RESULTAT =SIMP(statut='o',typ=tran_gene ), - COEF_MULT =SIMP(statut='f',typ='R',defaut=1.0 ), - ), - - ), - b_excit_line_tran =BLOC(condition="TYPE_CALCUL == 'TRAN' and BASE_CALCUL == 'PHYS'", - EXCIT =FACT(statut='f',max='**', - regles=(UN_PARMI('CHARGE','VECT_ASSE'), - EXCLUS('CHARGE','COEF_MULT'), - EXCLUS('FONC_MULT','COEF_MULT'), - EXCLUS('ACCE','COEF_MULT'), - PRESENT_ABSENT('ACCE','FONC_MULT'), - PRESENT_PRESENT('ACCE','VITE','DEPL'), - ), - VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster), - CHARGE =SIMP(statut='f',typ=char_meca ), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - COEF_MULT =SIMP(statut='f',typ='R' ), - ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - b_mult_appui =BLOC(condition = "MULT_APPUI == 'OUI'", - regles=(EXCLUS('NOEUD','GROUP_NO'),), - DIRECTION =SIMP(statut='f',typ='R',max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - ), - ), - MODE_STAT =SIMP(statut='f',typ=mode_meca ), - EXCIT_RESU =FACT(statut='f', - RESULTAT =SIMP(statut='o',typ=dyna_trans ), - COEF_MULT =SIMP(statut='o',typ='R' ), - ), - ), - -#definition des chocs - b_non_line_loca =BLOC(condition="TYPE_CALCUL == 'TRAN' and BASE_CALCUL=='GENE'", - CHOC =FACT(statut='f',max='**', - regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD_1','GROUP_NO_1' ), - EXCLUS('NOEUD_2','GROUP_NO_2'), - PRESENT_ABSENT('GROUP_MA','NOEUD_2','GROUP_NO_2'), - PRESENT_ABSENT('MAILLE','NOEUD_2','GROUP_NO_2'),), - INTITULE =SIMP(statut='f',typ='TXM' ), - GROUP_MA =SIMP(statut='f',typ=grma,max='**'), - MAILLE =SIMP(statut='f',typ=ma,max='**'), - NOEUD_1 =SIMP(statut='f',typ=no), - NOEUD_2 =SIMP(statut='f',typ=no), - GROUP_NO_1 =SIMP(statut='f',typ=grno), - GROUP_NO_2 =SIMP(statut='f',typ=grno), - OBSTACLE =SIMP(statut='o',typ=table_fonction), - ORIG_OBST =SIMP(statut='f',typ='R',min=3,max=3), - NORM_OBST =SIMP(statut='o',typ='R',min=3,max=3), - ANGL_VRIL =SIMP(statut='f',typ='R' ), - JEU =SIMP(statut='f',typ='R',defaut= 1. ), - DIST_1 =SIMP(statut='f',typ='R',val_min=0.E+0 ), - DIST_2 =SIMP(statut='f',typ='R',val_min=0.E+0 ), - SOUS_STRUC_1 =SIMP(statut='f',typ='TXM' ), - SOUS_STRUC_2 =SIMP(statut='f',typ='TXM' ), - REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL"), - RIGI_NOR =SIMP(statut='f',typ='R' ), - AMOR_NOR =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - RIGI_TAN =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - AMOR_TAN =SIMP(statut='f',typ='R' ), - FROTTEMENT =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","COULOMB","COULOMB_STAT_DYNA") ), - b_coulomb =BLOC(condition="FROTTEMENT=='COULOMB'", - COULOMB =SIMP(statut='o',typ='R' ),), - b_coulomb_stat_dyna =BLOC(condition="FROTTEMENT=='COULOMB_STAT_DYNA'", - COULOMB_STAT =SIMP(statut='o',typ='R' ), - COULOMB_DYNA =SIMP(statut='o',typ='R' ),), - ), - VERI_CHOC =FACT(statut='f', - STOP_CRITERE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - SEUIL =SIMP(statut='f',typ='R',defaut= 0.5 ), - ), - - ROTOR_FISS = FACT(statut='f',max='**', - regles=(UN_PARMI('NOEUD_D','GROUP_NO_D'), - EXCLUS('NOEUD_G','GROUP_NO_G'), - PRESENT_PRESENT('NOEUD_D','NOEUD_G'), - PRESENT_PRESENT('GROUP_NO_D','GROUP_NO_G',),), - ANGL_INIT = SIMP(statut='o',typ='R',defaut=0.E0), - ANGL_ROTA = SIMP(statut='f',typ=(fonction_sdaster,formule) ), - NOEUD_G = SIMP(statut='f',typ=no), - NOEUD_D = SIMP(statut='f',typ=no), - GROUP_NO_G = SIMP(statut='f',typ=grno), - GROUP_NO_D = SIMP(statut='f',typ=grno), - K_PHI = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - DK_DPHI = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - ), - -#parametres flambage - FLAMBAGE =FACT(statut='f',max='**', - regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'), - EXCLUS('NOEUD_2','GROUP_NO_2'),), - NOEUD_1 =SIMP(statut='f',typ=no), - NOEUD_2 =SIMP(statut='f',typ=no), - GROUP_NO_1 =SIMP(statut='f',typ=grno), - GROUP_NO_2 =SIMP(statut='f',typ=grno), - OBSTACLE =SIMP(statut='o',typ=table_fonction), - ORIG_OBST =SIMP(statut='f',typ='R',max='**'), - NORM_OBST =SIMP(statut='o',typ='R',max='**'), - ANGL_VRIL =SIMP(statut='f',typ='R' ), - JEU =SIMP(statut='f',typ='R',defaut= 1. ), - DIST_1 =SIMP(statut='f',typ='R' ), - DIST_2 =SIMP(statut='f',typ='R' ), - REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL"), - RIGI_NOR =SIMP(statut='f',typ='R' ), - FNOR_CRIT =SIMP(statut='f',typ='R' ), - FNOR_POST_FL =SIMP(statut='f',typ='R' ), - RIGI_NOR_POST_FL=SIMP(statut='f',typ='R' ), - ), - -#non-linearite si dispositif anti-sismique - ANTI_SISM =FACT(statut='f',max='**', - regles=(UN_PARMI('NOEUD_1','GROUP_NO_1'), - UN_PARMI('NOEUD_2','GROUP_NO_2'),), - NOEUD_1 =SIMP(statut='f',typ=no), - NOEUD_2 =SIMP(statut='f',typ=no), - GROUP_NO_1 =SIMP(statut='f',typ=grno), - GROUP_NO_2 =SIMP(statut='f',typ=grno), - RIGI_K1 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - RIGI_K2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - SEUIL_FX =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - C =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - PUIS_ALPHA =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - DX_MAX =SIMP(statut='f',typ='R',defaut= 1. ), - ), -#non-linearite effort-deplacement - RELA_EFFO_DEPL =FACT(statut='f',max='**', - NOEUD =SIMP(statut='o',typ=no), - SOUS_STRUC =SIMP(statut='f',typ='TXM' ), - NOM_CMP =SIMP(statut='f',typ='TXM' ), - RELATION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), -#non-linearite effort-vitesse - RELA_EFFO_VITE =FACT(statut='f',max='**', - NOEUD =SIMP(statut='o',typ=no), - SOUS_STRUC =SIMP(statut='f',typ='TXM' ), - NOM_CMP =SIMP(statut='f',typ='TXM' ), - RELATION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - ), -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - b_solv_harm_gene =BLOC(condition = "BASE_CALCUL=='GENE' and TYPE_CALCUL=='HARM'", - fr="Methode de resolution matrice generalisee", - SOLVEUR =C_SOLVEUR('DYNA_LINE_HARM','GENE'), - ), - b_solv_harm_phys =BLOC(condition = "BASE_CALCUL=='PHYS' and TYPE_CALCUL=='HARM'", - fr="Methode de resolution matrice sur ddl physique", - SOLVEUR =C_SOLVEUR('DYNA_LINE_HARM','PHYS'), - ), - b_solv_line_tran =BLOC(condition = "BASE_CALCUL=='PHYS' and TYPE_CALCUL=='TRAN'", - SOLVEUR =C_SOLVEUR('DYNA_LINE_TRAN'), - ), - b_solv_tran_gene =BLOC(condition = "BASE_CALCUL=='GENE' and TYPE_CALCUL=='TRAN'", - SOLVEUR =C_SOLVEUR('DYNA_TRAN_MODAL'), - ), -#------------------------------------------------------------------- - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), - b_impression = BLOC(condition = "BASE_CALCUL=='GENE' and TYPE_CALCUL=='TRAN'", - IMPRESSION =FACT(statut='f', - regles=(EXCLUS('TOUT','NIVEAU'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NIVEAU =SIMP(statut='f',typ='TXM',into=("DEPL_LOC","VITE_LOC","FORC_LOC","TAUX_CHOC") ), - INST_INIT =SIMP(statut='f',typ='R' ), - INST_FIN =SIMP(statut='f',typ='R' ), - ), - ), - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -def elim_lagr_prod(MATR_RIGI,**args): - if AsType(MATR_RIGI) == matr_asse_depl_r : return matr_asse_depl_r - raise AsException("type de concept resultat non prevu") - -ELIM_LAGR=OPER(nom="ELIM_LAGR",op=69,sd_prod=elim_lagr_prod, - fr="Créer une matrice en ayant éliminé les condition cinématiques dualisées.", - reentrant='f', UIinfo={"groupes":("Résolution",)}, - - # Matrice de "rigidité" (celle qui contient les équations dualisées) : - MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,) ), - - # Matrice à réduire (si ce n'est pas la matrice de rigidité) : - MATR_ASSE =SIMP(statut='f',typ=(matr_asse_depl_r,) ), - - - INFO =SIMP(statut='f',typ='I',into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -ENGENDRE_TEST=PROC(nom="ENGENDRE_TEST",op=178, - UIinfo={"groupes":("Impression","Utilitaires",)}, - fr="Engendre des tests pour la non régression du code (pour développeurs)", - UNITE =SIMP(statut='f',typ='I',defaut=8), - FORMAT =SIMP(statut='f',typ='TXM',into=("OBJET",) ), - FORMAT_R =SIMP(statut='f',typ='TXM',defaut="1PE20.13"), - PREC_R =SIMP(statut='f',typ='TXM',defaut="1.E-10"), -#============================================================================ - b_aster =BLOC( condition = "FORMAT==None", - CO =SIMP(statut='o',typ=(cham_gd_sdaster,resultat_sdaster,table_sdaster), - validators=NoRepeat(),max='**'), - TYPE_TEST =SIMP(statut='f',typ='TXM',defaut="SOMM_ABS",into=("SOMME","SOMM_ABS","MAX","MIN") ), - ), -#============================================================================ - b_objet =BLOC( condition = "FORMAT=='OBJET'", - regles=(UN_PARMI('TOUT','CO'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - CO =SIMP(statut='f',typ=assd,validators=NoRepeat(),max='**'), - TYPE_TEST =SIMP(statut='f',typ='TXM',defaut="SOMME",into=("SOMME",) ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.greffet at edf.fr -# -# ENVOI DES CHAMPS CINEMATIQUES VIA YACS POUR COUPLAGE IFS -# -ENV_CINE_YACS=PROC(nom = "ENV_CINE_YACS", - op = 111, - UIinfo = {"groupes":("Résultats et champs",)}, - fr = "Envoi des champs de deplacement et vitesse via YACS pour Couplage de Code_Aster et Saturne", - regles = (EXCLUS('ETAT_INIT','RESULTAT',),), - MATR_PROJECTION = SIMP(statut='o', typ=corresp_2_mailla,), - VIS_A_VIS = FACT(statut='o', max='**', - GROUP_MA_1=SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO_2=SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),), - RESULTAT = FACT(statut='f', - NUME_ORDRE=SIMP(statut='o', typ='I', validators=NoRepeat()), - RESU =SIMP(statut='o', typ=resultat_sdaster, validators=NoRepeat()),), - ETAT_INIT = FACT(statut='f', - DEPL=SIMP(statut='f', typ=cham_no_sdaster, validators=NoRepeat()), - VITE=SIMP(statut='f', typ=cham_no_sdaster, validators=NoRepeat()), - ACCE=SIMP(statut='f', typ=cham_no_sdaster, validators=NoRepeat()),), - INST = SIMP(statut='o',typ='R', ), - PAS = SIMP(statut='o',typ='R', ), - NUME_ORDRE_YACS = SIMP(statut='o', typ='I',), - INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr - -def exec_logiciel_prod(self, MAILLAGE, **args): - if MAILLAGE != None: - mcf = MAILLAGE[0] - self.type_sdprod(mcf['MAILLAGE'], maillage_sdaster) - return None - -EXEC_LOGICIEL = MACRO(nom="EXEC_LOGICIEL", - op=OPS('Macro.exec_logiciel_ops.exec_logiciel_ops'), - sd_prod=exec_logiciel_prod, - fr="Exécute un logiciel ou une commande système depuis Aster", - UIinfo={"groupes":("Gestion du travail","Outils-métier",)}, - - regles = ( AU_MOINS_UN('LOGICIEL', 'MAILLAGE', 'SALOME'), - EXCLUS('MACHINE_DISTANTE','MAILLAGE'), - EXCLUS('MAILLAGE','SALOME'), - ), - - LOGICIEL = SIMP(statut='f', typ='TXM'), - ARGUMENT = SIMP(statut='f', max='**', typ='TXM'), - - - MACHINE_DISTANTE = FACT(statut='f', - SSH_ADRESSE = SIMP(statut='o', typ='TXM', val_min=1, val_max=255, - fr="Adresse IP ou nom de la machine sur laquelle le logiciel/script sera exécuté via SSH"), - SSH_LOGIN = SIMP(statut='f', typ='TXM', val_min=1, val_max=255, - fr="Nom d'utilisateur sur la machine distante"), - SSH_PORT = SIMP(statut='f', typ='I', val_min=1, val_max=65535, defaut=22, - fr="Port SSH de la machien distante"), - ), - - - MAILLAGE = FACT(statut='f', - FORMAT = SIMP(statut='o', typ='TXM', into=("GMSH", "GIBI", "SALOME")), - UNITE_GEOM = SIMP(statut='f', typ='I', val_min=10, val_max=90, defaut=16, - fr="Unité logique définissant le fichier (fort.N) contenant les données géométriques (datg)"), - UNITE = SIMP(statut='f', typ='I', val_min=10, val_max=90, defaut=19, - fr="Unité logique définissant le fichier (fort.N) produit par le mailleur"), - MAILLAGE = SIMP(statut='o', typ=CO), - ), - - - SALOME = FACT(statut='f', - regles=(UN_PARMI('CHEMIN_SCRIPT', 'UNITE_SCRIPT'), - PRESENT_PRESENT('NOM_PARA','VALE'),), - CHEMIN_SCRIPT = SIMP(statut='f', typ='TXM', - fr="Chemin du script Salome"), - UNITE_SCRIPT = SIMP(statut='f', typ='I', val_min=80, val_max=99, - fr="Unité logique du script Salome"), - SALOME_HOST = SIMP(statut='f', typ='TXM', defaut='localhost', - fr="Machine sur laquelle tourne Salome"), - SALOME_PORT = SIMP(statut='f', typ='I', val_min=2800, val_max=2900, defaut=2810, - fr="Port de l'instance Salome (2810 ou supérieur)"), - SALOME_RUNAPPLI = SIMP(statut='f', typ='TXM', - fr="Chemin vers le script de lancement runAppli de Salome"), - FICHIERS_ENTREE = SIMP(statut='f', typ='TXM', validators=NoRepeat(),max='**', - fr="Liste des fichiers d'entrée du script Salome"), - FICHIERS_SORTIE = SIMP(statut='f', typ='TXM', validators=NoRepeat(),max='**', - fr="Liste des fichiers générés par le script Salome"), - NOM_PARA = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), - fr="Liste des noms des paramètres à modifier dans le script Salome"), - VALE = SIMP(statut='f',typ='TXM',max='**', - fr="Valeur des paramètres à) modifier dans le script Salome"), - ), - - CODE_RETOUR_MAXI = SIMP(statut='f', typ='I', defaut=0, val_min=-1, - fr="Valeur maximale du code retour toléré (-1 pour l'ignorer)"), - - INFO = SIMP(statut='f', typ='I', defaut=2, into=(1,2),), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.brie at edf.fr - -def extr_mode_prod(FILTRE_MODE,**args): - vale=FILTRE_MODE[0]['MODE'] - if AsType(vale) == mode_meca : return mode_meca - if AsType(vale) == mode_meca_c : return mode_meca_c - if AsType(vale) == mode_gene : return mode_gene - raise AsException("type de concept resultat non prevu") - -EXTR_MODE=OPER(nom="EXTR_MODE",op= 168,sd_prod=extr_mode_prod, - reentrant='n',fr="Extraire séléctivement des modes des structures de données modales", - UIinfo={"groupes":("Résolution","Dynamique",)}, - FILTRE_MODE =FACT(statut='o',max='**', - regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','NUME_MODE','NUME_MODE_EXCLU','FREQ_MIN','CRIT_EXTR',),), - MODE =SIMP(statut='o',typ=(mode_meca,mode_meca_c,mode_gene ) ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NUME_MODE_EXCLU =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - FREQ_MIN =SIMP(statut='f',typ='R' ), - CRIT_EXTR =SIMP(statut='f',typ='TXM',into=("MASS_EFFE_UN","MASS_GENE") ), - b_freq_min =BLOC(condition = "FREQ_MIN != None", - FREQ_MAX =SIMP(statut='o',typ='R' ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ), - b_crit_extr =BLOC(condition = "CRIT_EXTR != None", - regles=(AU_MOINS_UN('SEUIL','SEUIL_X','SEUIL_Y','SEUIL_Z'),), - SEUIL =SIMP(statut='f',typ='R'), - SEUIL_X =SIMP(statut='f',typ='R'), - SEUIL_Y =SIMP(statut='f',typ='R'), - SEUIL_Z =SIMP(statut='f',typ='R'), - ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - IMPRESSION =FACT(statut='f', - CUMUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - CRIT_EXTR =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",into=("MASS_EFFE_UN","MASS_GENE") ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr - -def extr_resu_prod(RESULTAT,**args): - if AsType(RESULTAT) == evol_elas : return evol_elas - if AsType(RESULTAT) == evol_noli : return evol_noli - if AsType(RESULTAT) == evol_ther : return evol_ther - if AsType(RESULTAT) == evol_varc : return evol_varc - if AsType(RESULTAT) == dyna_trans : return dyna_trans - if AsType(RESULTAT) == dyna_harmo : return dyna_harmo - if AsType(RESULTAT) == acou_harmo : return acou_harmo - if AsType(RESULTAT) == mode_meca : return mode_meca - if AsType(RESULTAT) == mode_acou : return mode_acou - if AsType(RESULTAT) == mult_elas : return mult_elas - if AsType(RESULTAT) == fourier_elas : return fourier_elas - - raise AsException("type de concept resultat non prevu") - -EXTR_RESU=OPER(nom="EXTR_RESU",op=176,sd_prod=extr_resu_prod,reentrant='f', - UIinfo={"groupes":("Résultats et champs",)}, - fr="Extraire des champs au sein d'une SD Résultat", - RESULTAT =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,acou_harmo,mode_meca, - mode_acou,evol_ther,evol_noli,evol_varc, - mult_elas,fourier_elas,fourier_ther ) ), - - - ARCHIVAGE =FACT(statut='f', - regles=( UN_PARMI('NUME_ORDRE', 'INST', 'FREQ', 'NUME_MODE', - 'NOEUD_CMP', 'LIST_INST', 'LIST_FREQ', 'LIST_ORDRE', - 'NOM_CAS', 'LIST_ARCH', 'PAS_ARCH' ), - EXCLUS( 'CHAM_EXCLU','NOM_CHAM' ), ), - CHAM_EXCLU =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO()), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - LIST_ARCH =SIMP(statut='f',typ=listis_sdaster), - PAS_ARCH =SIMP(statut='f',typ='I'), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS =SIMP(statut='f',typ='TXM'), - ), - - RESTREINT =FACT(statut='f', max=1, - fr="Pour réduire une ou plusieurs sd_resultat sur un maillage ou un modèle réduit", - regles=(UN_PARMI('MAILLAGE','MODELE'),), - MAILLAGE =SIMP(statut='f',typ=maillage_sdaster), - MODELE =SIMP(statut='f',typ=modele_sdaster), - ), - - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -def extr_table_prod(TYPE_RESU,**args): - defs = globals() - typ = TYPE_RESU.lower() - if defs.get(typ) is not None: - return defs[typ] - raise AsException("type de concept resultat non prevu") - -EXTR_TABLE=OPER(nom="EXTR_TABLE", - op=173, - sd_prod=extr_table_prod, - reentrant='n', - UIinfo={"groupes":("Résultats et champs","Tables")}, - fr="Extraire d'une table des concepts Code_Aster", - TYPE_RESU =SIMP(statut='o',typ='TXM', - into=('MATR_ASSE_GENE_R', 'MATR_ELEM_DEPL_R', - 'VECT_ELEM_DEPL_R', - 'CHAM_GD_SDASTER', 'CHAM_NO_SDASTER', - 'CARTE_SDASTER', 'CHAM_ELEM', - 'MODE_MECA','TABLE_SDASTER', - 'FONCTION_SDASTER', 'FONCTION_C', 'NAPPE_SDASTER', - 'ENTIER', 'REEL'),), - - TABLE =SIMP(statut='o',typ=(table_sdaster,table_container)), - - NOM_PARA =SIMP(statut='o',typ='TXM'), - - FILTRE =FACT(statut='f',min=1,max='**', - NOM_PARA =SIMP(statut='o',typ='TXM'), - CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ", - into=("EQ","LT","GT","NE","LE","GE","VIDE", - "NON_VIDE","MAXI","MAXI_ABS","MINI","MINI_ABS") ), - b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", - regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), - VALE =SIMP(statut='f',typ='R'), - VALE_I =SIMP(statut='f',typ='I'), - VALE_C =SIMP(statut='f',typ='C'), - VALE_K =SIMP(statut='f',typ='TXM'),), - - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - ), - - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -def factoriser_prod(MATR_ASSE,**args): - if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_depl_r - if AsType(MATR_ASSE) == matr_asse_depl_c : return matr_asse_depl_c - if AsType(MATR_ASSE) == matr_asse_temp_r : return matr_asse_temp_r - if AsType(MATR_ASSE) == matr_asse_temp_c : return matr_asse_temp_c - if AsType(MATR_ASSE) == matr_asse_pres_r : return matr_asse_pres_r - if AsType(MATR_ASSE) == matr_asse_pres_c : return matr_asse_pres_c - raise AsException("type de concept resultat non prevu") - -FACTORISER=OPER(nom="FACTORISER",op=14,sd_prod=factoriser_prod, - fr="Factoriser une matrice assemblée en un produit de deux matrices triangulaires"+ - "ou construire une matrice de préconditionnement pour une résolution par gradient conjugué", - reentrant='f', UIinfo={"groupes":("Résolution",)}, - regles=(EXCLUS('BLOC_DEBUT','DDL_DEBUT'), - EXCLUS('BLOC_FIN','DDL_FIN'),), - MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r, - matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ), - - # mots clés pour solveur LDLT et MULT_FRONT et MUMPS: - STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - NPREC =SIMP(statut='f',typ='I',defaut=8), - - # mots clés pour solveur LDLT : - BLOC_DEBUT =SIMP(statut='f',typ='I',val_min=1,), - DDL_DEBUT =SIMP(statut='f',typ='I',val_min=1,), - BLOC_FIN =SIMP(statut='f',typ='I',val_min=1,), - DDL_FIN =SIMP(statut='f',typ='I',val_min=1,), - - # mots clés pour solveur MUMPS : - TYPE_RESOL =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')), - PRETRAITEMENTS =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO")), - PCENT_PIVOT =SIMP(statut='f',typ='I',defaut=20,), - ELIM_LAGR =SIMP(statut='f',typ='TXM',defaut="LAGR2",into=("LAGR2","NON")), - GESTION_MEMOIRE =SIMP(statut='f',typ='TXM',defaut="IN_CORE",into=("IN_CORE","OUT_OF_CORE","EVAL")), - - # mots clés pour solveur GCPC et PETSc : - PRE_COND =SIMP(statut='f',typ='TXM',into=("LDLT_INC","JACOBI","SOR","LDLT_SP"),defaut="LDLT_INC" ), - b_ldlt_inc =BLOC(condition = "PRE_COND == 'LDLT_INC' ", - NIVE_REMPLISSAGE = SIMP(statut='f',typ='I',defaut= 0 ), - REMPLISSAGE = SIMP(statut='f',typ='R',defaut= 1.0), - ), - b_ldlt_sp =BLOC(condition = "PRE_COND == 'LDLT_SP' ", fr="Paramètres de la factorisation simple précision", - REAC_PRECOND =SIMP(statut='f',typ='I',defaut=30, ), - ), - b_jacobi_sor =BLOC(condition = "PRE_COND == 'JACOBI' or PRE_COND == 'SOR'", - fr="Paramètres des préconditionneurs JACOBI et SOR", - RENUM =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","RCMK") ), - ), - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr -FIN=PROC(nom="FIN",op=9999,repetable='n',fr="Fin d'une étude, fin du travail engagé par une des commandes DEBUT ou POURSUITE", - UIinfo={"groupes":("Gestion du travail",)}, -# -# FIN est appelé prématurément en cas d'exception ("SIGUSR1", ArretCPUError, -# NonConvergenceError..., erreurs ou erreurs récupérées). -# En cas d'ArretCPUError, on limite au maximum le travail à faire dans FIN. -# Pour cela, on force certains mots-clés dans Execution/E_JDC.py. -# - FORMAT_HDF =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f', - typ='TXM',defaut="NON",into=("OUI","NON",) ), - RETASSAGE =SIMP(fr="provoque le retassage de la base GLOBALE", - statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), - INFO_RESU =SIMP(fr="provoque l'impression des informations sur les structures de données", - statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ), - UNITE =SIMP(statut='f',typ='I',defaut=6), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: andre.adobes at edf.fr -FONC_FLUI_STRU=OPER(nom="FONC_FLUI_STRU",op= 169,sd_prod=fonction_sdaster, - reentrant='n',fr="Crée une fonction constante paramétrée par l'abscisse curviligne", - UIinfo={"groupes":("Fonctions",)}, - TYPE_FLUI_STRU =SIMP(statut='o',typ=(type_flui_stru) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -def formule_prod(self, VALE, VALE_C, **args): - if VALE != None: - return formule - elif VALE_C != None: - return formule_c - -FORMULE=FORM(nom="FORMULE", - op_init=ops.build_formule, - op=-5, - sd_prod=formule_prod, - UIinfo={"groupes":("Fonctions",)}, - fr="Définit une formule réelle ou complexe à partir de son expression mathématique", - regles = (UN_PARMI('VALE', 'VALE_C',),), - VALE = SIMP(statut='f', typ='TXM'), - VALE_C = SIMP(statut='f', typ='TXM'), - NOM_PARA = SIMP(statut='o', typ='TXM', max='**'), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr -GENE_ACCE_SEISME=MACRO(nom="GENE_ACCE_SEISME", - op=OPS('Macro.gene_acce_seisme_ops.gene_acce_seisme_ops'), - sd_prod=table_fonction, - fr="Generation d'accelerogrammes sismiques ", - reentrant='n', - UIinfo={"groupes":("Fonctions","Dynamique",)}, - - INIT_ALEA =SIMP(statut='f',typ='I'), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - PAS_INST =SIMP(statut='o',typ='R' ), - NB_POIN =SIMP(statut='f',typ='I',fr="nombre de points" ), - PESANTEUR =SIMP(statut='o', typ='R', fr="constante de normalisation de ACCE_MAX, ECART_TYPE et INTE_ARIAS (g) ou le spectre" ), - DUREE_PHASE_FORTE =SIMP(statut='o',typ='R',fr="durée phase forte du signal" ), - NB_TIRAGE =SIMP(statut='f',typ='I',defaut= 1,fr="nombre accelerogrammes" ), - FREQ_FILTRE =SIMP(statut='f',typ='R',fr="frequence du filtre: corner frequency"), -# - DSP = FACT(statut='f',max=1, - AMOR_REDUIT =SIMP(statut='o',typ='R'), - FREQ_FOND =SIMP(statut='o',typ='R', fr="frequence centrale"), - FREQ_PENTE =SIMP(statut='f',typ='R', fr="pente pour l'evolution de la frequence centrale"), - ), - SPEC_MEDIANE = FACT(statut='f',max=1, - regles=(ENSEMBLE('ERRE_ZPA','ERRE_MAX','ERRE_RMS'),EXCLUS('FREQ_PAS','LIST_FREQ'),), - SPEC_OSCI =SIMP(statut='o',typ=(fonction_sdaster),), - AMOR_REDUIT =SIMP(statut='o', typ='R', val_min=0., val_max=1.), - FREQ_PAS =SIMP(statut='f',typ='R' , fr="pas"), - LIST_FREQ =SIMP(statut='f', typ=listr8_sdaster ), - NB_ITER =SIMP(statut='f',typ='I' ,defaut=0, val_min=0,fr="nombre d'iterations pour fitter le spectre" ,), - ERRE_ZPA =SIMP(statut='f',typ='R' ,defaut=(1.,0.2), min=1,max=2, fr="coef et erreur maxi ZPA",), - ERRE_MAX =SIMP(statut='f',typ='R' ,defaut=(0.5,0.2), min=1,max=2, fr="coef et erreur maxi global",), - ERRE_RMS =SIMP(statut='f',typ='R' ,defaut=(0.5,0.2), min=1,max=2, fr="coef et erreur maxi rms",), - FREQ_PENTE =SIMP(statut='f',typ='R', fr="pente pour l'evolution de la frequence centrale"), - METHODE =SIMP(statut='f',typ='TXM',defaut="HARMO",into=("NIGAM","HARMO") ), - ), - SPEC_UNIQUE = FACT(statut='f',max=1, - regles=(ENSEMBLE('ERRE_ZPA','ERRE_MAX','ERRE_RMS'),EXCLUS('FREQ_PAS','LIST_FREQ'),), - ERRE_ZPA =SIMP(statut='f',typ='R' ,defaut=(1.,0.2), min=1,max=2, fr="coef et erreur maxi ZPA",), - ERRE_MAX =SIMP(statut='f',typ='R' ,defaut=(0.5,0.2), min=1,max=2, fr="coef et erreur maxi global",), - ERRE_RMS =SIMP(statut='f',typ='R' ,defaut=(0.5,0.2), min=1,max=2, fr="coef et erreur maxi rms",), - SPEC_OSCI =SIMP(statut='o',typ=(fonction_sdaster),), - AMOR_REDUIT =SIMP(statut='o', typ='R', val_min=0., val_max=1.), - FREQ_PAS =SIMP(statut='f',typ='R' , fr="pas"), - LIST_FREQ =SIMP(statut='f', typ=listr8_sdaster ), - NB_ITER =SIMP(statut='f',typ='I' ,defaut=0, val_min=0,fr="nombre d'iterations pour fitter le spectre" ,), - METHODE =SIMP(statut='f',typ='TXM',defaut="HARMO",into=("NIGAM","HARMO") ), - ), -# - SPEC_FRACTILE = FACT(statut='f',max=1, - regles=(ENSEMBLE('ERRE_ZPA','ERRE_MAX','ERRE_RMS'), EXCLUS('FREQ_PAS','LIST_FREQ'),), - SPEC_OSCI =SIMP(statut='o',typ=(fonction_sdaster),), - SPEC_1_SIGMA =SIMP(statut='o',typ=(fonction_sdaster),), - AMOR_REDUIT =SIMP(statut='o', typ='R', val_min=0., val_max=1.), - FREQ_PAS =SIMP(statut='f',typ='R' , fr="pas"), - LIST_FREQ =SIMP(statut='f', typ=listr8_sdaster ), - FREQ_PENTE =SIMP(statut='f',typ='R', fr="pente pour l'evolution de la frequence centrale"), - ), - - - regles=(UN_PARMI('DSP','SPEC_MEDIANE','SPEC_UNIQUE','SPEC_FRACTILE'),), - MODULATION = FACT(statut='o',max=1, - regles=(EXCLUS('ACCE_MAX','INTE_ARIAS','ECART_TYPE'),), - TYPE = SIMP(statut='o',typ='TXM' , into=("GAMMA","JENNINGS_HOUSNER","CONSTANT")), - ACCE_MAX = SIMP(statut='f',typ='R',fr="PGA: acceleration max au sol (g)" ), - ECART_TYPE = SIMP(statut='f',typ='R',fr="ecart-type" ), - INTE_ARIAS = SIMP(statut='f',typ='R',fr="intensite d'Arias" ), - c_type_mod = BLOC(condition="TYPE=='GAMMA' ", - INST_INI = SIMP(statut='o',typ='R',fr="instant debut phase forte" ), - ), - ), -) ; - - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr -GENE_FONC_ALEA=OPER(nom="GENE_FONC_ALEA",op= 118,sd_prod=table_fonction, - fr="Génération de la fonction temporelle à partir d une matrice interspectrale", - reentrant='n', - UIinfo={"groupes":("Fonctions",)}, - INTE_SPEC =SIMP(statut='o',typ=interspectre), - NUME_VITE_FLUI =SIMP(statut='f',typ='I' ), - INTERPOL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("NON","OUI") ), - b_interpol_oui =BLOC(condition = "INTERPOL == 'OUI' ",fr="Parametres cas interpolation autorisee", - DUREE_TIRAGE =SIMP(statut='f',typ='R' ), - FREQ_INIT =SIMP(statut='f',typ='R' ), - FREQ_FIN =SIMP(statut='f',typ='R' ), - ), - NB_POIN =SIMP(statut='f',typ='I'), - NB_TIRAGE =SIMP(statut='f',typ='I',defaut= 1 ), - INIT_ALEA =SIMP(statut='f',typ='I'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr -def gene_matr_alea_prod(MATR_MOYEN,**args ): - if (AsType(MATR_MOYEN) == matr_asse_gene_r ) : return matr_asse_gene_r - if (AsType(MATR_MOYEN) == macr_elem_dyna) : return macr_elem_dyna - raise AsException("type de concept resultat non prevu") - -GENE_MATR_ALEA=OPER(nom="GENE_MATR_ALEA",op= 27, -#sd_prod=matr_asse_gene_r, -sd_prod=gene_matr_alea_prod, - fr="Générer une réalisation d'une matrice aléatoire réelle sym. déf. positive ou d'un macro élément dynamique", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - MATR_MOYEN = SIMP(statut='o', typ=(matr_asse_gene_r,macr_elem_dyna)), - -# cas matrice generalisee - b_matr =BLOC( condition = "AsType(MATR_MOYEN) in (matr_asse_gene_r,)", - COEF_VAR = SIMP(statut='f', typ='R', defaut=0.1, val_min=0.E+0 , - fr="coefficient de variation de la matrice a generer" ), - ), -# cas macr_elem_dyna - b_macr =BLOC( condition = "AsType(MATR_MOYEN) in (macr_elem_dyna,)", - fr="cas macr_elem_dyna (sous-structuratio)", - COEF_VAR_RIGI = SIMP(statut='f', typ='R', defaut=0.1, val_min=0.E+0 , - fr="coefficient de variation de la matrice de raideur" ), - COEF_VAR_MASS = SIMP(statut='f', typ='R', defaut=0., val_min=0.E+0 , - fr="coefficient de variation de la matrice de masse" ), - COEF_VAR_AMOR = SIMP(statut='f', typ='R', defaut=0., val_min=0.E+0 , - fr="coefficient de variation de la matrice d'amortissement" ),), - - INIT_ALEA =SIMP(statut='f',typ='I'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr - -GENE_VARI_ALEA=MACRO(nom="GENE_VARI_ALEA", - op_init=ops.build_gene_vari_alea, - op=EMPTY_OPS, - sd_prod=reel, - reentrant='n', - fr="Générer une réalisation d'une variable aléatoire réelle " \ - "de loi de probabilité donnée (Gamma ou Exponentielle)", - UIinfo={"groupes":("Fonctions",)}, - TYPE = SIMP(statut='f', typ='TXM', into=("EXP_TRONQUEE", "EXPONENTIELLE", "GAMMA"), defaut="GAMMA"), - b_gamma =BLOC(condition = "TYPE == 'GAMMA' ",fr="Parametres loi gamma", - VALE_MOY = SIMP(statut='f', typ='R', defaut=1.), - BORNE_INF = SIMP(statut='f', typ='R', defaut=0.), - COEF_VAR = SIMP(statut='f', typ='R', defaut=0.1), - ), - b_expo =BLOC(condition = "TYPE == 'EXPONENTIELLE' ",fr="Parametres loi exponentielle", - VALE_MOY = SIMP(statut='f', typ='R', defaut=0.), - BORNE_INF = SIMP(statut='f', typ='R', defaut=-1.), - ), - b_expo_tronq =BLOC(condition = "TYPE == 'EXP_TRONQUEE' ",fr="Parametres loi exponentielle tronquee", - VALE_MOY = SIMP(statut='f', typ='R', defaut=0.), - BORNE_INF = SIMP(statut='f', typ='R', defaut=-1.), - BORNE_SUP = SIMP(statut='f', typ='R', defaut=1.), - ), - INIT_ALEA =SIMP(statut='f',typ='I'), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr -IMPR_CO=PROC(nom="IMPR_CO",op=17, - UIinfo={"groupes":("Impression","Utilitaires",)}, - fr="Imprimer tous les objets JEVEUX qui constituent un concept utilisateur existant (pour les développeurs)", - regles=(UN_PARMI('CONCEPT','CHAINE','TOUT' ),), - - UNITE =SIMP(statut='f',typ='I',defaut=8), - NIVEAU =SIMP(statut='f',typ='I',defaut=2,into=(-1,0,1,2) ), - ATTRIBUT =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ), - CONTENU =SIMP(statut='f',typ='TXM',defaut="OUI",into=("NON","OUI") ), - BASE =SIMP(statut='f',typ='TXM',defaut="G",into=(" ","G","V","L") ), - CONCEPT =FACT(statut='f',max='**', - NOM =SIMP(statut='o',typ=assd,validators=NoRepeat(),max='**'),), - CHAINE =SIMP(statut='f',typ='TXM'), - POSITION =SIMP(statut='f',typ='I',defaut=1), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# - - -IMPR_DIAG_CAMPBELL=MACRO(nom="IMPR_DIAG_CAMPBELL", - op=OPS('Macro.impr_diag_campbell_ops.impr_diag_campbell_ops'), - fr="Tracé du Diagramme de Campbell", - UIinfo={"groupes":("Impression","Outils-métier",)}, - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), - MODES =SIMP(statut='o',typ=table_container), - NFREQ_CAMP =SIMP(statut='o',typ='I' ), - TYP_PREC =SIMP(statut='f',typ='I',defaut= 1, into=(1,2) ), - TYP_TRI =SIMP(statut='f',typ='I',defaut= 2, into=(0,1,2) ), - UNIT_FLE =SIMP(statut='o',typ='I' ,val_min=1), - UNIT_TOR =SIMP(statut='o',typ='I' ,val_min=1), - UNIT_LON =SIMP(statut='o',typ='I' ,val_min=1), - UNIT_TOT =SIMP(statut='o',typ='I' ,val_min=1), - UNIT_INT =SIMP(statut='o',typ='I' ,val_min=1), - L_S =SIMP(statut='f',typ='R', defaut= 1., max='**'), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -IMPR_FONCTION=MACRO(nom="IMPR_FONCTION", - op=OPS('Macro.impr_fonction_ops.impr_fonction_ops'), - sd_prod=None, - fr="Imprime le contenu d'objets de type fonction ou liste de " \ - "réels dans un fichier destiné à un traceur de courbe", - UIinfo={"groupes":("Impression","Fonctions",)}, - FORMAT =SIMP(statut='o',typ='TXM',position='global',defaut='TABLEAU', - into=("TABLEAU","AGRAF","XMGRACE",),), - b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'", - fr="Mots-clés propres à XMGRACE", - PILOTE =SIMP(statut='f',typ='TXM',defaut='', - into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'), - fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"), - UNITE =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29, - fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), - ), - b_agraf = BLOC(condition = "FORMAT == 'AGRAF'", - fr="Mots-clés propres à AGRAF", - UNITE =SIMP(statut='o',typ='I',defaut=25, - fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), - UNITE_DIGR =SIMP(statut='o',typ='I',defaut=26, - fr="Unité logique définissant le fichier dans lequel on écrit les directives Agraf"), - ), - # unite pour TABLEAU dans le bloc de mise en forme spécifique - - COURBE =FACT(statut='o',max='**',fr="Définition de la fonction à tracer", - regles=(UN_PARMI('FONCTION','LIST_RESU','FONC_X','ABSCISSE'),), - FONCTION =SIMP(statut='f',typ=(fonction_sdaster, formule, fonction_c, nappe_sdaster), - fr="Fonction réelle ou complexe", ), - LIST_RESU =SIMP(statut='f',typ=listr8_sdaster, - fr="Liste des ordonnees d'une fonction réelle définie par deux listes", ), - FONC_X =SIMP(statut='f',typ=(fonction_sdaster,formule), - fr="Fonction abscisses d'une fonction paramétrique",), - ABSCISSE =SIMP(statut='f',typ='R',max='**', - fr="Valeurs des abscisses", ), - b_fonction =BLOC(condition = "FONCTION != None", - LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), - ), - b_fonction_c =BLOC(condition = "AsType(FONCTION) in (fonction_c, formule_c)", - fr="Fonction complexe définie par le mot-clé fonction", - PARTIE =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ), - ), - b_list_resu =BLOC(condition = "LIST_RESU != None", - LIST_PARA =SIMP(statut='o',typ=listr8_sdaster ), - ), - b_fonc_x =BLOC(condition = "FONC_X != None", - FONC_Y =SIMP(statut='o',typ=(fonction_sdaster,formule),fr="Fonction ordonnées d une fonction paramétrique" ), - LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), - ), - b_vale_resu =BLOC(condition = "ABSCISSE != None", - ORDONNEE =SIMP(statut='o',typ='R',max='**', - fr="Valeurs des ordonnées"), - ), - - # mots-clés utilisant uniquement aux formats autres que TABLEAU - # mais ce serait trop pénible de devoir les supprimer quand on change de format - # donc on ne les met pas dans un bloc - # "pseudo" bloc mise en forme : - LEGENDE =SIMP(statut='f',typ='TXM', - fr="Légende associée à la fonction" ), - STYLE =SIMP(statut='f',typ='I',val_min=0, - fr="Style de la ligne représentant la fonction",), - COULEUR =SIMP(statut='f',typ='I',val_min=0, - fr="Couleur associée à la fonction",), - MARQUEUR =SIMP(statut='f',typ='I',val_min=0, - fr="Type du marqueur associé à la fonction",), - FREQ_MARQUEUR =SIMP(statut='f',typ='I',defaut=0, - fr="Fréquence d impression du marqueur associé à la fonction", ), - # fin bloc mise en forme - - TRI =SIMP(statut='f',typ='TXM',defaut="N", - fr="Choix du tri effectué sur les abscisses ou sur les ordonnées", - into=("N","X","Y","XY","YX") ), - ), - # Mise en page du tableau ou du graphique - b_tableau = BLOC(condition = "FORMAT == 'TABLEAU'", - fr="Mots-clés propres au format Tableau", - UNITE =SIMP(statut='o',typ='I',defaut=8, - fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), - TITRE =SIMP(statut='f',typ='TXM', - fr="Titre associé au graphique" ), - SOUS_TITRE =SIMP(statut='f',typ='TXM', - fr="Sous-titre du graphique" ), - SEPARATEUR =SIMP(statut='f',typ='TXM',defaut=' ', - fr="Séparateur des colonnes du tableau (ex : ' ', ';'...)"), - COMMENTAIRE =SIMP(statut='f',typ='TXM',defaut='#', - fr="Caractère indiquant au traceur de fonction que la ligne peut etre ignorée"), - COMM_PARA =SIMP(statut='f',typ='TXM',defaut='', - fr="Caractère utilisé pour commentariser la ligne des labels de colonnes"), - DEBUT_LIGNE =SIMP(statut='f',typ='TXM',defaut='', - fr="Caractère de debut de ligne"), - FIN_LIGNE =SIMP(statut='f',typ='TXM',defaut='\n', - fr="Caractère de fin de ligne"), - ), - b_graphique = BLOC(condition = "FORMAT != 'TABLEAU'", - fr="Mise en page du graphique", - TITRE =SIMP(statut='f',typ='TXM', - fr="Titre associé au graphique" ), - SOUS_TITRE =SIMP(statut='f',typ='TXM', - fr="Sous-titre du graphique" ), - BORNE_X =SIMP(statut='f',typ='R',min=2,max=2, - fr="Intervalles de variation des abscisses"), - BORNE_Y =SIMP(statut='f',typ='R',min=2,max=2, - fr="Intervalles de variation des ordonnées"), - ECHELLE_X =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"), - fr="Type d'échelle pour les abscisses" ), - ECHELLE_Y =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"), - fr="Type d'échelle pour les ordonnées" ), - GRILLE_X =SIMP(statut='f',typ='R',max=1,val_min=0., - fr="Pas du quadrillage vertical" ), - GRILLE_Y =SIMP(statut='f',typ='R',max=1,val_min=0., - fr="Pas du quadrillage horizontal" ), - LEGENDE_X =SIMP(statut='f',typ='TXM', - fr="Légende associée à l'axe des abscisses" ), - LEGENDE_Y =SIMP(statut='f',typ='TXM', - fr="Légende associée à l'axe des ordonnées" ), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: emmanuel.boyere at edf.fr -IMPR_GENE=PROC(nom="IMPR_GENE",op= 157, - fr="Imprimer le résultat d'un calcul dynamique en variables généralisées au format RESULTAT", - UIinfo={"groupes":("Impression","Dynamique",)}, - FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT",into=("RESULTAT",) ), - UNITE =SIMP(statut='f',typ='I',defaut=8), - GENE =FACT(statut='o',max='**', - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'LIST_INST','LIST_FREQ','TOUT_MODE','TOUT_INST','LIST_ORDRE'), - EXCLUS('TOUT_MODE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'LIST_INST','LIST_FREQ','TOUT_ORDRE','TOUT_INST','LIST_ORDRE'), - EXCLUS('TOUT_INST','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'LIST_INST','LIST_FREQ','TOUT_ORDRE','LIST_ORDRE'), - EXCLUS('TOUT_CMP_GENE','NUME_CMP_GENE'), - EXCLUS('TOUT_CHAM','NOM_CHAM'), - EXCLUS('TOUT_PARA','NOM_PARA'),), -# faut-il faire des blocs selon le type de RESU_GENE - RESU_GENE =SIMP(statut='o',typ=(vect_asse_gene, tran_gene, mode_gene, harm_gene)), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - TOUT_MODE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_CMP_GENE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), - NUME_CMP_GENE =SIMP(statut='f',typ='I',max='**'), - TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(),), - TOUT_PARA =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), - NOM_PARA =SIMP(statut='f',typ='TXM',max='**'), - SOUS_TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO_CMP_GENE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), - INFO_GENE =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr -IMPR_JEVEUX=PROC(nom="IMPR_JEVEUX",op=16, - UIinfo={"groupes":("Impression","Utilitaires",)}, - fr="Imprimer le contenu des objets créés par JEVEUX (pour développeur)", - ENTITE =SIMP(fr="choix de l'observation",statut='o',typ='TXM', - into=("DISQUE","MEMOIRE","REPERTOIRE", - "OBJET","ATTRIBUT","SYSTEME","ENREGISTREMENT") ), - b_objet =BLOC(condition = "(ENTITE=='OBJET')", - NOMOBJ =SIMP(fr="nom d'objet",statut='f',typ='TXM' ), - NUMOC =SIMP(fr="numéro d objet de collection",statut='f',typ='I' ), - NOMOC =SIMP(fr="nom d'objet de collection",statut='f',typ='TXM' ), - ), - b_attribut =BLOC(condition = "(ENTITE=='ATTRIBUT')", - NOMOBJ =SIMP(fr="nom de collection",statut='f',typ='TXM' ), - NOMATR =SIMP(fr="nom d attribut de collection",statut='f',typ='TXM', - into=('$$DESO','$$IADD','$$IADM','$$NOM','$$LONG', - '$$LONO','$$LUTI','$$NUM') ), - ), - b_systeme =BLOC(condition = "(ENTITE=='SYSTEME')", - CLASSE =SIMP(statut='o',typ='TXM',into=('G','V') ), - NOMATR =SIMP(fr="nom d attribut systeme",statut='f',typ='TXM', - into=('$$CARA','$$IADD','$$GENR','$$TYPE','$$MARQ', - '$$DOCU','$$ORIG','$$RNOM','$$LTYP','$$LONG', - '$$LONO','$$DATE','$$LUTI','$$HCOD','$$INDX', - '$$TLEC','$$TECR','$$IADM','$$ACCE','$$USADI') ), - ), - b_repertoire =BLOC(condition = "(ENTITE=='REPERTOIRE')", - CLASSE =SIMP(statut='f',typ='TXM',into=('G','V',' '),defaut=' '), - ), - b_disque =BLOC(condition = "(ENTITE=='DISQUE')", - CLASSE =SIMP(statut='f',typ='TXM' ,into=('G','V',' '),defaut=' '), - ), - b_enregist =BLOC(condition = "(ENTITE=='ENREGISTREMENT')", - CLASSE =SIMP(statut='f',typ='TXM' ,into=('G','V'),defaut='G'), - NUMERO =SIMP(statut='o',typ='I',val_min=1), - INFO =SIMP(statut='f',typ='I',into=(1,2),defaut=1), - ), - IMPRESSION =FACT(statut='f', - NOM =SIMP(statut='f',typ='TXM' ), - UNITE =SIMP(statut='f',typ='I'), - ), - COMMENTAIRE =SIMP(statut='f',typ='TXM' ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.corus at edf.fr - -IMPR_MACR_ELEM=PROC(nom="IMPR_MACR_ELEM",op= 160, - UIinfo={"groupes":("Impression","Outils-métier",)}, - fr="Impression d'une structure de données MACR_ELEM_DYNA au format IDEAS MISS3D", - MACR_ELEM_DYNA =SIMP(statut='o',typ=macr_elem_dyna ), - FORMAT =SIMP(statut='f',typ='TXM',defaut="IDEAS", - into=("MISS_3D","IDEAS") ), - - b_ideas =BLOC(condition = "FORMAT == 'IDEAS'", - UNITE =SIMP(statut='f',typ='I',defaut=30), - VERSION =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ), - ), - - b_miss_3d =BLOC(condition = "FORMAT == 'MISS_3D'", - regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),), - UNITE =SIMP(statut='f',typ='I',defaut= 26 ), - SOUS_TITRE =SIMP(statut='f',typ='TXM',max='**'), - AMOR_REDUIT =SIMP(statut='f',typ='R' ,max='**'), - LIST_AMOR =SIMP(statut='f',typ=listr8_sdaster ), - GROUP_MA_INTERF =SIMP(statut='o',typ=grma ,max='**'), - GROUP_MA_FLU_STR=SIMP(statut='f',typ=grma,max='**'), - GROUP_MA_FLU_SOL=SIMP(statut='f',typ=grma,max='**'), - GROUP_MA_SOL_SOL=SIMP(statut='f',typ=grma,max='**'), - GROUP_MA_CONTROL=SIMP(statut='f',typ=grma,max='**'), - FORMAT_R =SIMP(statut='f',typ='TXM',defaut="1PE12.5",into=("1PE12.5","1PE16.9") ), - IMPR_MODE_MECA =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - IMPR_MODE_STAT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.greffet at edf.fr -# -# RECUPERATION DES MAILLAGES IFS VENANT DE SATURNE VIA YACS -# -IMPR_MAIL_YACS=PROC(nom="IMPR_MAIL_YACS",op=43, - UIinfo={"groupes":("Maillage",)}, - fr="Lecture d'un maillage via YACS lors du Couplage de Code_Aster et Saturne", - UNITE_MAILLAGE = SIMP(statut='f',typ='I',defaut=30), - TYPE_MAILLAGE = SIMP(statut='o',typ='TXM',into=("SOMMET","MILIEU")), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: isabelle.fournier at edf.fr -# -IMPR_OAR =MACRO(nom="IMPR_OAR", - op=OPS('Macro.impr_oar_ops.impr_oar_ops'), - sd_prod=None, - fr="Impression au format OAR", - UIinfo={"groupes":("Impression","Outils-métier",)}, - TYPE_CALC = SIMP(statut='o', typ='TXM',into=('COMPOSANT', 'MEF', 'TUYAUTERIE')), - b_composant =BLOC(condition = "TYPE_CALC == 'COMPOSANT' ", - regles = (AU_MOINS_UN('RESU_MECA','RESU_THER')), - DIAMETRE = SIMP(statut='o', typ='R'), - ORIGINE = SIMP(statut='o', typ='TXM', defaut='INTERNE', into=('INTERNE', 'EXTERNE')), - COEF_U = SIMP(statut='f', typ='R', defaut=1.0), - ANGLE_C = SIMP(statut='o', typ='R', defaut=0.0), - REVET = SIMP(statut='f', typ='TXM', defaut='NON', into=('OUI', 'NON')), - RESU_MECA = FACT(statut='f', max='**', - NUM_CHAR = SIMP(statut='o', typ='I'), - TYPE = SIMP(statut='o', typ='TXM', defaut='FX', into=('FX', 'FY', 'FZ', 'MX', 'MY', 'MZ', 'PRE')), - TABLE = SIMP(statut='o', typ=table_sdaster), - TABLE_S = SIMP(statut='f', typ=table_sdaster)), - RESU_THER = FACT(statut='f', max='**', - NUM_TRAN = SIMP(statut='o', typ='I'), - TABLE_T = SIMP(statut='o', typ=table_sdaster), - TABLE_TEMP= SIMP(statut='o', typ=table_sdaster), - TABLE_S = SIMP(statut='f', typ=table_sdaster), - TABLE_ST = SIMP(statut='f', typ=table_sdaster)), - ), - b_mef = BLOC(condition = "TYPE_CALC == 'MEF' ", - regles = (AU_MOINS_UN('RESU_MECA','RESU_THER')), - DIAMETRE = SIMP(statut='o', typ='R'), - ORIGINE = SIMP(statut='o', typ='TXM', defaut='INTERNE', into=('INTERNE', 'EXTERNE')), - COEF_U = SIMP(statut='f', typ='R', defaut=1.0), - RESU_MECA = FACT(statut='f', max='**', - AZI = SIMP(statut='o', typ='R'), - TABLE_T = SIMP(statut='o', typ=table_sdaster), - TABLE_F = SIMP(statut='o', typ=table_sdaster), - TABLE_P = SIMP(statut='o', typ=table_sdaster), - TABLE_CA = SIMP(statut='o', typ=table_sdaster)), - RESU_THER=FACT(statut='f', max='**', - AZI = SIMP(statut='o', typ='R'), - NUM_CHAR = SIMP(statut='o', typ='I'), - TABLE_T = SIMP(statut='o', typ=table_sdaster), - TABLE_TI = SIMP(statut='o', typ=table_sdaster)), - ), - b_tuyauterie = BLOC(condition = "TYPE_CALC == 'TUYAUTERIE' ", - RESU_MECA = FACT(statut='o', max='**', - NUM_CHAR = SIMP(statut='o', typ='I'), - TABLE = SIMP(statut='o', typ=table_sdaster), - MAILLAGE = SIMP(statut='o', typ=maillage_sdaster)), - ), - UNITE = SIMP(statut='f',typ='I',defaut=38), - AJOUT = SIMP(statut='f', typ='TXM', defaut='NON', into=('OUI', 'NON')), - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.sellenet at edf.fr -IMPR_RESU=PROC(nom="IMPR_RESU",op=39, - UIinfo={"groupes":("Impression","Résultats et champs",)}, - fr="Imprimer un maillage et/ou les résultats d'un calcul (différents formats)", - - FORMAT =SIMP(statut='f',typ='TXM',position='global',defaut="RESULTAT", - into=("RESULTAT","IDEAS","ASTER","CASTEM","MED","GMSH") ), - - b_modele =BLOC(condition="FORMAT!='MED'",fr="Modèle", - MODELE =SIMP(statut='f',typ=modele_sdaster), - ), - - b_format_resultat =BLOC(condition="FORMAT=='RESULTAT'",fr="unité logique d'impression au format RESULTAT", - UNITE =SIMP(statut='f',typ='I',defaut=8), - ), - - b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="unité logique d'impression et version IDEAS", - UNITE =SIMP(statut='f',typ='I',defaut=30), - VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)), - ), - - b_format_aster =BLOC(condition="FORMAT=='ASTER'",fr="unité logique d'impression au format ASTER", - UNITE =SIMP(statut='f',typ='I',defaut=26), - ), - - b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="unité logique d'impression et version CASTEM", - UNITE =SIMP(statut='f',typ='I',defaut=37), - NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)), - ), - - b_format_med =BLOC(condition="FORMAT=='MED'",fr="unité logique d'impression au format MED", - UNITE =SIMP(statut='f',typ='I',defaut=80), - ), - - b_format_gmsh =BLOC(condition="FORMAT=='GMSH'",fr="unité logique d'impression et version GMSH", - UNITE =SIMP(statut='f',typ='I',defaut=37), - VERSION =SIMP(statut='f',typ='R',defaut=1.2,into=(1.0,1.2)), - ), - - regles=(AU_MOINS_UN('CONCEPT','RESU',),), - - b_restreint =BLOC(condition="FORMAT=='MED'",fr="Seulement pour les fichiers MED", - RESTREINT =FACT(statut='f', max=1, - fr="Pour réduire une ou plusieurs sd_resultat sur un ensemble de mailles", - regles=(AU_MOINS_UN('GROUP_MA','MAILLE',),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - TOUT_GROUP_MA =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON'),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - TOUT_GROUP_NO =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON'),), - ), - ), - - CONCEPT =FACT(statut='f',max='**', - fr='Pour imprimer les champs de "données" à des fins de visualisation (controle des affectations).', - # (valide pour les format RESULTAT et MED) - regles=(UN_PARMI('CHAM_MATER','CARA_ELEM','CHARGE'),), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - CHARGE =SIMP(statut='f',typ=char_meca), - - b_cara_elem =BLOC(condition="CARA_ELEM != None", fr="impression des reperes locaux.", - REPERE_LOCAL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - b_reploc =BLOC(condition="REPERE_LOCAL == 'OUI'", fr="impression des reperes locaux.", - MODELE =SIMP(statut='o',typ=modele_sdaster), - ), - ), - ), - - RESU =FACT(statut='f',max='**', - - regles=(AU_MOINS_UN('CHAM_GD','RESULTAT','MAILLAGE',), - EXCLUS('CHAM_GD','RESULTAT'),), - MAILLAGE =SIMP(statut='f',typ=(maillage_sdaster,squelette)), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - CHAM_GD =SIMP(statut='f',typ=cham_gd_sdaster), - RESULTAT =SIMP(statut='f',typ=resultat_sdaster), - - b_info_med =BLOC(condition="FORMAT=='MED'", - INFO_MAILLAGE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ), - - - b_partie =BLOC(condition="""(AsType(RESULTAT) in (dyna_harmo, acou_harmo) or - AsType(CHAM_GD) != carte_sdaster) and FORMAT in ('CASTEM', 'GMSH', 'MED')""", - PARTIE =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ), - ), - - b_vari_el =BLOC(condition="FORMAT==('MED')", - IMPR_NOM_VARI=SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON",), - ), - - b_extrac =BLOC(condition="RESULTAT != None", - fr="extraction d un champ de grandeur", - regles=(EXCLUS('TOUT_CHAM','NOM_CHAM'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP', - 'LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS','ANGLE'),), - TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI","NON") ), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO()), - - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - ANGLE =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - - b_acce_reel =BLOC(condition="(ANGLE != None)or(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - ), -### - b_parametres =BLOC(condition="""(RESULTAT != None)and(FORMAT == 'RESULTAT')""", - regles=(EXCLUS('TOUT_PARA','NOM_PARA'),), - TOUT_PARA =SIMP(statut='f',typ='TXM',into=("OUI","NON",) ), - NOM_PARA =SIMP(statut='f',typ='TXM',max='**'), - FORM_TABL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON","EXCEL") ), - ), -### - b_cmp=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and\ - ((FORMAT == 'CASTEM')or(FORMAT == 'RESULTAT')or(FORMAT == 'IDEAS')or(FORMAT == 'MED'))""", - fr="sélection des composantes", - regles=(EXCLUS('TOUT_CMP','NOM_CMP'),), - TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), - ), -### - b_med=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and(FORMAT == 'MED')""", - fr="renommage du champ", - regles=(EXCLUS('NOM_CHAM_MED','NOM_RESU_MED'),), - NOM_CHAM_MED =SIMP(statut='f',typ='TXM', - validators=AndVal((LongStr(1,64), NoRepeat())), max='**'), - NOM_RESU_MED =SIMP(statut='f',typ='TXM'), - ), -### - b_gmsh=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and((FORMAT == 'GMSH'))""", - fr="sélection des composantes et des entités toplogiques", - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - TYPE_CHAM =SIMP(statut='f',typ='TXM',defaut="SCALAIRE", - into=("VECT_2D","VECT_3D","SCALAIRE","TENS_2D","TENS_3D"),), - b_scal =BLOC(condition = "TYPE_CHAM=='SCALAIRE'", - NOM_CMP =SIMP(statut='f',typ='TXM',max='**' ),), - b_vect_2d =BLOC(condition = "TYPE_CHAM=='VECT_2D'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=2,max=2 ),), - b_vect_3d =BLOC(condition = "TYPE_CHAM=='VECT_3D'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=3,max=3 ),), - b_tens_2d =BLOC(condition = "TYPE_CHAM=='TENS_2D'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=4,max=4 ),), - b_tens_3d =BLOC(condition = "TYPE_CHAM=='TENS_3D'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=6,max=6 ),), - ), -### - b_topologie=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and\ - ((FORMAT == 'RESULTAT')or(FORMAT == 'IDEAS')or(FORMAT == 'MED'))""", - fr="sélection des entités topologiques", - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), -### - b_valeurs=BLOC(condition="(FORMAT == 'RESULTAT')", - fr="sélection sur les valeurs", - VALE_MAX =SIMP(statut='f',typ='TXM',into=("OUI",) ), - VALE_MIN =SIMP(statut='f',typ='TXM',into=("OUI",) ), - BORNE_SUP =SIMP(statut='f',typ='R'), - BORNE_INF =SIMP(statut='f',typ='R'), - IMPR_COOR =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ), - - b_format_r=BLOC(condition="""((FORMAT == 'RESULTAT')or(FORMAT == 'ASTER'))""", - fr="Format des nombres réels", - FORMAT_R =SIMP(statut='f',typ='TXM',defaut="1PE21.14"), - ), - - SOUS_TITRE =SIMP(statut='f',typ='TXM',max='**'), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -IMPR_TABLE=MACRO(nom="IMPR_TABLE", - op=OPS('Macro.impr_table_ops.impr_table_ops'), - sd_prod=None, - UIinfo={"groupes":("Impression","Tables",)}, - fr="Impression du contenu d'une table dans un fichier", - TABLE =SIMP(statut='o',typ=table_sdaster), - FORMAT =SIMP(statut='f',typ='TXM',defaut="TABLEAU", - into=("TABLEAU","ASTER","TABLEAU_CROISE","AGRAF","XMGRACE",),), - b_pilote =BLOC(condition = "FORMAT == 'XMGRACE'", - fr="Mots-clés propres à XMGRACE", - PILOTE =SIMP(statut='f',typ='TXM',defaut='', - into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'), - fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"), - UNITE =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29, - fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), - ), - b_unite =BLOC(condition = "FORMAT != 'XMGRACE'", - UNITE =SIMP(statut='f',typ='I',defaut=8, - fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), - ), - FILTRE =FACT(statut='f',max='**', - NOM_PARA =SIMP(statut='o',typ='TXM'), - CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ", - into=("EQ","LT","GT","NE","LE","GE","VIDE", - "NON_VIDE","MAXI","MAXI_ABS","MINI","MINI_ABS"),), - b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", - regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), - VALE =SIMP(statut='f',typ='R',max='**'), - VALE_I =SIMP(statut='f',typ='I',max='**'), - VALE_C =SIMP(statut='f',typ='C',max='**'), - VALE_K =SIMP(statut='f',typ='TXM',max='**'), - ), - b_crit =BLOC(condition = "CRIT_COMP in ('EQ','NE')", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - ), - ), - TRI =FACT(statut='f', - NOM_PARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'), - ORDRE =SIMP(statut='f',typ='TXM',defaut="CROISSANT", # max='**', - into=("CROISSANT","DECROISSANT") ), - ), - PAGINATION =SIMP(statut='f',typ='TXM',max='**'), - FORMAT_R =SIMP(statut='f',typ='TXM',defaut="E12.5"), - NOM_PARA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - IMPR_FONCTION =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - - # Mise en page du tableau ou du graphique - b_tableau = BLOC(condition = "FORMAT == 'TABLEAU'", - fr="Mots-clés propres au format Tableau", - SEPARATEUR =SIMP(statut='f',typ='TXM',defaut=' ', - fr="Séparateur des colonnes du tableau (ex : ' ', ';'...)"), - COMMENTAIRE =SIMP(statut='f',typ='TXM',defaut='#', - fr="Caractère indiquant au traceur de fonction que la ligne peut etre ignorée"), - COMM_PARA =SIMP(statut='f',typ='TXM',defaut='', - fr="Caractère utilisé pour commentariser la ligne des labels de colonnes"), - DEBUT_LIGNE =SIMP(statut='f',typ='TXM',defaut='', - fr="Caractère de debut de ligne"), - FIN_LIGNE =SIMP(statut='f',typ='TXM',defaut='\n', - fr="Caractère de fin de ligne"), - ), - - # mise en forme pour les formats qui passent par Graph - b_forme =BLOC(condition = "FORMAT == 'XMGRACE'", - fr="Données de mise en forme du graphique", - # pour la courbe - LEGENDE =SIMP(statut='f',typ='TXM', - fr="Légende associée à la fonction" ), - STYLE =SIMP(statut='f',typ='I',val_min=0, - fr="Style de la ligne représentant la fonction",), - COULEUR =SIMP(statut='f',typ='I',val_min=0, - fr="Couleur associée à la fonction",), - MARQUEUR =SIMP(statut='f',typ='I',val_min=0, - fr="Type du marqueur associé à la fonction",), - FREQ_MARQUEUR =SIMP(statut='f',typ='I',defaut=0, - fr="Fréquence d impression du marqueur associé à la fonction", ), - # format du graphique - BORNE_X =SIMP(statut='f',typ='R',min=2,max=2, - fr="Intervalles de variation des abscisses"), - BORNE_Y =SIMP(statut='f',typ='R',min=2,max=2, - fr="Intervalles de variation des ordonnées"), - ECHELLE_X =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"), - fr="Type d'échelle pour les abscisses" ), - ECHELLE_Y =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"), - fr="Type d'échelle pour les ordonnées" ), - GRILLE_X =SIMP(statut='f',typ='R',max=1,val_min=0., - fr="Pas du quadrillage vertical" ), - GRILLE_Y =SIMP(statut='f',typ='R',max=1,val_min=0., - fr="Pas du quadrillage horizontal" ), - LEGENDE_X =SIMP(statut='f',typ='TXM', - fr="Légende associée à l'axe des abscisses" ), - LEGENDE_Y =SIMP(statut='f',typ='TXM', - fr="Légende associée à l'axe des ordonnées" ), - ), - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -INCLUDE=MACRO(nom="INCLUDE", - op=OPS("Cata.ops.build_include"), - UIinfo={"groupes":("Gestion du travail",)}, - fr="Débranchement vers un fichier de commandes secondaires", - sd_prod=ops.INCLUDE, - op_init=ops.INCLUDE_context, - fichier_ini=1, - regles=(UN_PARMI('UNITE', 'DONNEE')), - UNITE = SIMP(statut='f', typ='I', - fr="Unité logique à inclure"), - DONNEE = SIMP(statut='f', typ='Fichier', - fr="Nom du fichier de données à inclure"), - INFO = SIMP(statut='f', typ='I', defaut=1, into=(1, 2)), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -INCLUDE_MATERIAU = MACRO(nom="INCLUDE_MATERIAU", - op=OPS("Macro.include_materiau_ops.include_materiau_ops"), - sd_prod=mater_sdaster, - UIinfo={"groupes":("Modélisation", "Gestion du travail", )}, - fr="Récupérer les caractéristiques d'un matériau dans le Catalogue Materiaux d'Aster ", - - NOM_AFNOR = SIMP(statut='o', typ='TXM',), - TYPE_MODELE = SIMP(statut='o', typ='TXM', into=("REF", "PAR"),), - VARIANTE = SIMP(statut='o', typ='TXM', - into=("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", - "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", - "U", "V", "W", "X", "Y", "Z",),), - TYPE_VALE = SIMP(statut='o', typ='TXM', into=("NOMI", "MINI", "MAXI"),), - #NOM_MATER = SIMP(statut='o', typ='TXM',), - #UNITE = SIMP(statut='f', typ='I', defaut= 32,), - EXTRACTION = FACT(statut='f', - COMPOR = SIMP(statut='o', typ='TXM', max='**',), - TEMP_EVAL = SIMP(statut='o', typ='R',), - ), - UNITE_LONGUEUR = SIMP(statut='f', typ='TXM', into=("M", "MM"), defaut="M",), - INFO = SIMP(statut='f', typ='I', defaut= 1, into=(1, 2),), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr -INFO_EXEC_ASTER=OPER(nom="INFO_EXEC_ASTER",op=35,sd_prod=table_sdaster, - fr="Récupère différentes informations propres à l'exécution en cours", - reentrant='n', - UIinfo={"groupes":("Gestion du travail",)}, - - regles=(), - LISTE_INFO =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=3, - into=("CPU_RESTANT","UNITE_LIBRE","ETAT_UNITE"),), - b_etat_unite =BLOC(condition = "au_moins_un(LISTE_INFO, 'ETAT_UNITE')", - regles=(UN_PARMI('UNITE','FICHIER'),), - UNITE =SIMP(statut='f',typ='I',val_min=1,val_max=99,max=1, - fr="Unité logique dont on veut obtenir l'état",), - FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,255), - fr="Nom du fichier dont on veut obtenir l'état",), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -def info_fonction_prod(self,ECART_TYPE,RMS,NOCI_SEISME,MAX,NORME, **args): - if (RMS != None): return table_sdaster - if (MAX != None): return table_sdaster - if (NOCI_SEISME != None): return table_sdaster - if (ECART_TYPE != None): return table_sdaster - if (NORME != None): return table_sdaster - raise AsException("type de concept resultat non prevu") - -INFO_FONCTION=MACRO(nom="INFO_FONCTION", - op=OPS('Macro.info_fonction_ops.info_fonction_ops'), - sd_prod=info_fonction_prod, - fr="Opérations mathématiques sur des concepts de type fonction, " \ - "fonction_c ou nappe", - reentrant='n', - UIinfo={"groupes":("Fonctions",)}, - regles=(UN_PARMI('MAX','RMS','NOCI_SEISME','NORME','ECART_TYPE',),), - RMS =FACT(statut='f',fr="Valeur RMS d'une fonction",max='**', - METHODE =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ), - FONCTION =SIMP(statut='o',typ=fonction_sdaster ), - INST_INIT =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ), - INST_FIN =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R'),), - ), - NOCI_SEISME =FACT(statut='f', - regles=(UN_PARMI('FONCTION','SPEC_OSCI',),), - FONCTION =SIMP(statut='f',typ=fonction_sdaster ), - SPEC_OSCI =SIMP(statut='f',typ=nappe_sdaster ), - b_option_f =BLOC(condition="""FONCTION != None""", - OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",validators=NoRepeat(), - into=("INTE_ARIAS","POUV_DEST","INTE_SPEC","VITE_ABSO_CUMU", - "DUREE_PHAS_FORT","MAXI","ACCE_SUR_VITE","TOUT",), ), - b_amor_red =BLOC(condition="""au_moins_un(OPTION, ("TOUT", "INTE_SPEC")) """, - AMOR_REDUIT =SIMP(statut='o',typ='R'),), - b_pesanteur =BLOC(condition="""au_moins_un(OPTION, ("TOUT", "INTE_ARIAS", "POUV_DEST", "DUREE_PHAS_FORT")) """, - PESANTEUR =SIMP(statut='o',typ='R'),), - ), - b_option_n =BLOC(condition="""SPEC_OSCI !=None""", - OPTION =SIMP(statut='f',typ='TXM',defaut="INTE_SPEC",into=("INTE_SPEC",), ), - NATURE =SIMP(statut='o',typ='TXM',into=("DEPL","VITE","ACCE") ), - AMOR_REDUIT =SIMP(statut='o',typ='R'), ), - INST_INIT =SIMP(statut='f',typ='R'), - INST_FIN =SIMP(statut='f',typ='R'), - COEF =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - FREQ_INIT =SIMP(statut='f',typ='R',defaut= 4.E-1 ), - FREQ_FIN =SIMP(statut='f',typ='R',defaut= 10.E+0 ), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - FREQ =SIMP(statut='f',typ='R',max='**'), - NORME =SIMP(statut='f',typ='R',defaut= 1.E+0 ), - BORNE_INF =SIMP(statut='f',typ='R',defaut= 0.05E+0 ), - BORNE_SUP =SIMP(statut='f',typ='R',defaut= 0.95E+0 ), - b_acce_reel =BLOC(condition="(INST_INIT != None)or(INST_FIN != None)or(FREQ_INIT != None)or(FREQ_FIN != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R'),), - ), - ), - MAX =FACT(statut='f',fr="Extrémas locaux d'une fonction", - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),max='**' ), - INTERVALLE =SIMP(statut='f',typ='R',min=2,max='**', - fr ="définition des bornes des intervalles sous forme de couples (xi_i1,xs_i1,xi_i2,xs_i2)"), - ), - NORME =FACT(statut='f',fr="Norme L2 d'une fonction", - FONCTION =SIMP(statut='o', typ=nappe_sdaster), - ), - ECART_TYPE =FACT(statut='f',fr="Ecart-type d'une fonction", - METHODE =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ), - FONCTION =SIMP(statut='o',typ=fonction_sdaster), - INST_INIT =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ), - INST_FIN =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R'),), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: olivier.boiteau at edf.fr -INFO_MODE=OPER(nom="INFO_MODE",op=32,sd_prod=table_sdaster, - fr="Calculer, imprimer, et sauvegarder le nombre de valeurs propres dans un contour donné", - UIinfo={"groupes":("Résolution","Dynamique",)}, - - TYPE_MODE =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE",into=("MODE_COMPLEXE","DYNAMIQUE", - "MODE_FLAMB", "GENERAL"), - fr="Type d analyse" ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - - b_dynamique =BLOC(condition = "TYPE_MODE == 'DYNAMIQUE'",fr="Recherche du nombre de fréquences propres", - MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r, - matr_asse_depl_c,matr_asse_gene_c) ), - MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ), - FREQ =SIMP(statut='o',typ='R',min=2,max='**', - validators=AndVal((OrdList('croissant'), NoRepeat())), - fr="Liste de frequences" ), - COMPTAGE =FACT(statut='d', - METHODE =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AUTO","STURM")), - SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2 ), - NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0), - ), - ), - - b_flambement =BLOC(condition = "TYPE_MODE == 'MODE_FLAMB'",fr="Recherche du nombre de charges critiques", - MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r, - matr_asse_depl_c,matr_asse_gene_c) ), - MATR_RIGI_GEOM =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ), - CHAR_CRIT =SIMP(statut='o',typ='R',min=2,max='**', - validators=AndVal((OrdList('croissant'), NoRepeat())), - fr="Liste de charges critiques" ), - COMPTAGE =FACT(statut='d', - METHODE =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AUTO","STURM")), - SEUIL_CHAR_CRIT =SIMP(statut='f',typ='R',defaut= 1.E-2 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2 ), - NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0), - ), - ), - - b_complexe =BLOC(condition = "TYPE_MODE == 'MODE_COMPLEXE'",fr="Recherche du nombre de fréquences propres", - MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r, - matr_asse_depl_c,matr_asse_gene_c) ), - MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ), - MATR_AMOR =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ), - TYPE_CONTOUR =SIMP(statut='f',typ='TXM',defaut="CERCLE",into=("CERCLE","CERCLE") ), - RAYON_CONTOUR =SIMP(statut='o',typ='R',val_min=1.E-2 ), - CENTRE_CONTOUR =SIMP(statut='f',typ='C',defaut= 0.0+0.0j), - COMPTAGE =FACT(statut='d', - METHODE =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AUTO","APM")), - NBPOINT_CONTOUR =SIMP(statut='f',typ='I',defaut= 40,val_min=10,val_max=1000), - NMAX_ITER_CONTOUR=SIMP(statut='f',typ='I',defaut= 3, val_min=1,val_max=5), - ), - ), - - b_general =BLOC(condition = "TYPE_MODE == 'GENERAL'",fr="Recherche du nombre de valeurs propres", - MATR_A =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r, - matr_asse_depl_c,matr_asse_gene_c) ), - MATR_B =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ), - MATR_C =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r,matr_asse_gene_r) ), - CHAR_CRIT =SIMP(statut='f',typ='R',min=2,max='**', - validators=AndVal((OrdList('croissant'), NoRepeat())), - fr="Liste de charges critiques" ), - b_contour =BLOC(condition = "CHAR_CRIT == None", - TYPE_CONTOUR =SIMP(statut='f',typ='TXM',defaut="CERCLE",into=("CERCLE","CERCLE") ), - RAYON_CONTOUR =SIMP(statut='o',typ='R',val_min=1.E-2 ), - CENTRE_CONTOUR =SIMP(statut='f',typ='C',defaut= 0.0+0.0j),), - COMPTAGE =FACT(statut='d', - METHODE =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AUTO","STURM","APM")), - SEUIL_CHAR_CRIT =SIMP(statut='f',typ='R',defaut= 1.E-2 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2 ), - NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0), ), - NBPOINT_CONTOUR =SIMP(statut='f',typ='I',defaut= 40,val_min=10,val_max=1000), - NMAX_ITER_CONTOUR=SIMP(statut='f',typ='I',defaut= 3, val_min=1,val_max=5), - ), - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('INFO_MODE'), -# Mot-cle pour piloter les niveaux de parallelismes de l'operateur (a ne pas confondre avec le mot-cle -# cache PARALLELISME_MACRO) - NIVEAU_PARALLELISME =SIMP(statut='f',typ='TXM',defaut="COMPLET",into=("PARTIEL","COMPLET") ), -#------------------------------------------------------------------- -#------------------------------------------------------------------- -# Mot-cles caches pour activer le parallelisme au sein d'une macro-commande - PARALLELISME_MACRO=FACT(statut='d',min=0, - TYPE_COM =SIMP(statut='c',typ='I',defaut=-999,into=(-999,1,2),fr="Type de communication"), - ), -#------------------------------------------------------------------- - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2010 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.sellenet at edf.fr -INFO_RESU=PROC(nom="INFO_RESU",op=40, - UIinfo={"groupes":("Impression","Utilitaires",)}, - fr="Imprimer tous les champs présents dans une structure de données résultat", - RESULTAT=SIMP(statut='f',typ=resultat_sdaster), - UNITE=SIMP(statut='f',typ='I',defaut=6), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2010 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.greffet at edf.fr -INIT_COMPO=PROC(nom="INIT_COMPO", - op= 117, - UIinfo={"groupes":("Gestion du travail",)}, - fr="Initialiser adresse component YACS", - COMPO =SIMP(statut='o',typ='I',), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: xavier.desroches at edf.fr -INTE_MAIL_2D=OPER(nom="INTE_MAIL_2D",op=50,sd_prod=courbe_sdaster, - UIinfo={"groupes":("Post-traitements",)}, - fr="Définition d'une courbe dans un maillage 2D",reentrant='n', - - MAILLAGE =SIMP(statut='o',typ=(maillage_sdaster) ), - - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'), - AU_MOINS_UN('DEFI_SEGMENT','DEFI_ARC','DEFI_CHEMIN'), - PRESENT_ABSENT('DEFI_CHEMIN','DEFI_SEGMENT','DEFI_ARC'), - PRESENT_ABSENT('DEFI_SEGMENT','NOEUD_ORIG','GROUP_NO_ORIG'), - PRESENT_ABSENT('DEFI_ARC','NOEUD_ORIG','GROUP_NO_ORIG'), - EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'), - EXCLUS('DEFI_CHEMIN','DEFI_SEGMENT'), - EXCLUS('DEFI_CHEMIN','DEFI_ARC'),), - - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - - DEFI_SEGMENT =FACT(statut='f',max='**', - regles=(UN_PARMI('ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'), - UN_PARMI('EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),), - ORIGINE =SIMP(statut='f',typ='R',min=2,max=2), - NOEUD_ORIG =SIMP(statut='f',typ=no,), - GROUP_NO_ORIG =SIMP(statut='f',typ=grno,), - EXTREMITE =SIMP(statut='f',typ='R',min=2,max=2), - NOEUD_EXTR =SIMP(statut='f',typ=no,), - GROUP_NO_EXTR =SIMP(statut='f',typ=grno,), - ), - - DEFI_ARC =FACT(statut='f',max='**', - regles=(UN_PARMI('CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'), - UN_PARMI('RAYON','ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'), - UN_PARMI('RAYON','EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'), - PRESENT_PRESENT('RAYON','SECTEUR'),), - CENTRE =SIMP(statut='f',typ='R',min=2,max=2), - NOEUD_CENTRE =SIMP(statut='f',typ=no,), - GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,), - RAYON =SIMP(statut='f',typ='R',val_min=0.E+0), - SECTEUR =SIMP(statut='f',typ='R',min=2,max=2, - val_min=-180.E+0,val_max=180E+0), - ORIGINE =SIMP(statut='f',typ='R',min=2,max=2), - NOEUD_ORIG =SIMP(statut='f',typ=no,), - GROUP_NO_ORIG =SIMP(statut='f',typ=grno,), - EXTREMITE =SIMP(statut='f',typ='R',min=2,max=2), - NOEUD_EXTR =SIMP(statut='f',typ=no,), - GROUP_NO_EXTR =SIMP(statut='f',typ=grno,), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF", - into=("RELATIF","ABSOLU",) ), - ), - - DEFI_CHEMIN =FACT(statut='f',max='**', - regles=(UN_PARMI('MAILLE','GROUP_MA'),), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - - NOEUD_ORIG =SIMP(statut='f',typ=no,), - GROUP_NO_ORIG =SIMP(statut='f',typ=grno,), - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: xavier.desroches at edf.fr -INTE_MAIL_3D=OPER(nom="INTE_MAIL_3D",op=96,sd_prod=surface_sdaster, - UIinfo={"groupes":("Post-traitements",)}, - fr="Définir un chemin de type segment de droite dans un maillage 3D",reentrant='n', - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - DEFI_SEGMENT =FACT(statut='o',max='**', - regles=(UN_PARMI('ORIGINE','NOEUD_ORIG','GROUP_NO_ORIG'), - UN_PARMI('EXTREMITE','NOEUD_EXTR','GROUP_NO_EXTR'),), - ORIGINE =SIMP(statut='f',typ='R',min=3,max=3), - NOEUD_ORIG =SIMP(statut='f',typ=no,), - GROUP_NO_ORIG =SIMP(statut='f',typ=grno,), - EXTREMITE =SIMP(statut='f',typ='R',min=3,max=3), - NOEUD_EXTR =SIMP(statut='f',typ=no,), - GROUP_NO_EXTR =SIMP(statut='f',typ=grno,), - ), - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-6), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.sellenet at edf.fr -def lire_champ_prod(TYPE_CHAM=None,**args): -# Remarque : si cette liste évolue, il faut penser à mettre à jour son -# homologue dans macr_adap_mail - if TYPE_CHAM[0:5] == "NOEU_" : return cham_no_sdaster - if TYPE_CHAM[0:5] == "CART_" : return carte_sdaster - if TYPE_CHAM[0:2] == "EL" : return cham_elem - raise AsException("type de concept resultat non prevu") - -LIRE_CHAMP=OPER(nom="LIRE_CHAMP",op= 192,sd_prod=lire_champ_prod, - UIinfo={"groupes":("Lecture","Résultats et champs",)}, - fr="Lire un champ dans un fichier au format MED et le stocker dans un concept.", - reentrant='n', - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster,), - FORMAT =SIMP(statut='f',typ='TXM',defaut="MED",into=("MED",),), - UNITE =SIMP(statut='f',typ='I',defaut= 81,), - b_format =BLOC(condition = "FORMAT == 'MED'", - regles=( UN_PARMI('NOM_CMP_IDEM','NOM_CMP'), - PRESENT_PRESENT('NOM_CMP','NOM_CMP_MED' ), - EXCLUS('NUME_ORDRE','INST'), - EXCLUS('NUME_PT','INST'),), - NOM_MED =SIMP(statut='o',typ='TXM', ), - NOM_CMP_IDEM =SIMP(statut='f',typ='TXM',into=("OUI",), ), - NOM_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',), - NOM_CMP_MED =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',), - PROL_ZERO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",), - fr="Affecte des valeurs nulles la ou le champ n'est pas defini (sinon il y a NaN)"), - NUME_PT =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**',), - NUME_ORDRE =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**', - fr="Numero d ordre du champ à lire",ang="Rank of the field to be read" ), - INST =SIMP(statut='f',typ='R',fr="Instant associé",ang="Instant" ), -# - b_precision =BLOC(condition="(INST != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",), - fr="Critère de précision sur le choix de l'instant associé", - ang="Accuracy criterium over instant choice" ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6, - fr="Précision sur le choix de l'instant associé",ang="Accuracy over instant choice" ),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R', - fr="Précision sur le choix de l'instant associé",ang="Accuracy over instant choice" ),),), -# - NOM_MAIL_MED =SIMP(statut='f',typ='TXM',), - ), -# Remarque : si cette liste évolue, il faut penser à mettre à jour son -# homologue dans macr_adap_mail - TYPE_CHAM =SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO()), - b_modele =BLOC(condition = "TYPE_CHAM!=None and (TYPE_CHAM[0:2] == 'EL')", - MODELE =SIMP(statut='o',typ=modele_sdaster, ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -def lire_fonction_prod(self,TYPE,**args): - if (TYPE == 'FONCTION') : return fonction_sdaster - elif (TYPE == 'FONCTION_C'): return fonction_c - elif (TYPE == 'NAPPE' ) : return nappe_sdaster - raise AsException("type de concept resultat non prevu") - -LIRE_FONCTION=MACRO(nom="LIRE_FONCTION", - op=OPS('Macro.lire_fonction_ops.lire_fonction_ops'), - sd_prod=lire_fonction_prod, - fr="Lit les valeurs réelles dans un fichier de données représentant une " \ - "fonction et crée un concept de type fonction ou nappe", - reentrant='n', - UIinfo={"groupes":("Lecture","Fonctions",)}, - FORMAT =SIMP(statut='f',typ='TXM',into=("LIBRE",),defaut="LIBRE" ), - TYPE =SIMP(statut='f',typ='TXM',into=("FONCTION","FONCTION_C","NAPPE"),defaut="FONCTION" ), - SEPAR =SIMP(statut='f',typ='TXM',into=("None",",",";","/"),defaut="None" ), - INDIC_PARA =SIMP(statut='f',typ='I',min=2,max=2,defaut=[1,1]), - b_fonction =BLOC(condition = "TYPE=='FONCTION' ", - INDIC_RESU =SIMP(statut='f',typ='I',min=2,max=2,defaut=[1,2]), ), - b_fonction_c =BLOC(condition = "TYPE=='FONCTION_C' ", - FORMAT_C =SIMP(statut='f',typ='TXM',defaut="REEL_IMAG",into=("REEL_IMAG","MODULE_PHASE") ), - b_reel_imag =BLOC(condition = "FORMAT_C=='REEL_IMAG' ", - INDIC_REEL =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,2]), - INDIC_IMAG =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,3]), ) , - b_modu_phas =BLOC(condition = "FORMAT_C=='MODULE_PHASE' ", - INDIC_MODU =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,2]), - INDIC_PHAS =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,3]), ), ), - b_nappe =BLOC(condition = "TYPE=='NAPPE' ", - NOM_PARA_FONC =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ), - INDIC_ABSCISSE =SIMP(statut='o',typ='I',min=2,max=2,), - INTERPOL_FONC =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG"), - fr="Type d'interpolation pour les abscisses et les ordonnées de la fonction"), - PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - DEFI_FONCTION =FACT(statut='f',max='**', - INDIC_RESU =SIMP(statut='o',typ='I',min=2,max=2,),), ), - UNITE =SIMP(statut='o',typ='I' ), - NOM_PARA =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ), - NOM_RESU =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"), - INTERPOL =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG"), - fr="Type d'interpolation pour les abscisses et les ordonnées de la " \ - "fonction ou bien pour le paramètre de la nappe."), - PROL_DROITE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ), - VERIF =SIMP(statut='f',typ='TXM',defaut="CROISSANT",into=("CROISSANT","NON") ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: Georges-cc.devesa at edf.fr -LIRE_FORC_MISS=OPER(nom="LIRE_FORC_MISS",op= 179,sd_prod=vect_asse_gene, - fr="Création d'un vecteur assemblé à partir d'une base modale", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs","Outils-métier",)}, - BASE =SIMP(statut='o',typ=mode_meca), - NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), - FREQ_EXTR =SIMP(statut='o',typ='R',max=1), - NOM_CMP =SIMP(statut='f',typ='TXM',into=("DX","DY","DZ") ), - NOM_CHAM =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE"),defaut="DEPL"), - NUME_CHAR =SIMP(statut='f',typ='I' ), - ISSF =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ), - UNITE_RESU_FORC =SIMP(statut='f',typ='I',defaut=30), - NOM_RESU_FORC =SIMP(statut='f',typ='TXM' ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: Georges-cc.devesa at edf.fr -LIRE_IMPE_MISS=OPER(nom="LIRE_IMPE_MISS",op= 164,sd_prod=matr_asse_gene_c, - fr="Création d une matrice assemblée à partir de base modale", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs","Outils-métier",)}, - BASE =SIMP(statut='o',typ=mode_meca ), - NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), - FREQ_EXTR =SIMP(statut='f',typ='R',max=1), - INST_EXTR =SIMP(statut='f',typ='R',max=1), - UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30), - ISSF =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ), - TYPE =SIMP(statut='f',typ='TXM',defaut="ASCII",into=("BINAIRE","ASCII") ), - SYME =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","OUI") ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr - - -LIRE_INTE_SPEC=MACRO(nom="LIRE_INTE_SPEC", - op=OPS('Macro.lire_inte_spec_ops.lire_inte_spec_ops'), - sd_prod=interspectre, - fr="Lecture sur un fichier externe de fonctions complexes pour " \ - "créer une matrice interspectrale", - reentrant='n', - UIinfo={"groupes":("Lecture","Fonctions",)}, - UNITE =SIMP(statut='o',typ='I' ), - FORMAT_C =SIMP(statut='f',typ='TXM',defaut="MODULE_PHASE",into=("REEL_IMAG","MODULE_PHASE") ), - FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","IDEAS") ), - NOM_PARA =SIMP(statut='f',typ='TXM',defaut="FREQ", - into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP", - "INST","X","Y","Z","EPSI","FREQ","PULS","AMOR","ABSC",) ), - NOM_RESU =SIMP(statut='f',typ='TXM',defaut="DSP" ), - INTERPOL =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ), - PROL_DROITE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -LIRE_MAILLAGE=OPER(nom="LIRE_MAILLAGE",op= 1,sd_prod=maillage_sdaster, - fr="Crée un maillage par lecture d'un fichier au format Aster ou Med", - ang="Readings of a mesh file", - reentrant='n', - UIinfo={"groupes":("Lecture","Maillage",)}, - - UNITE =SIMP(statut='f',typ='I',defaut= 20 ), - - FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","MED"), - fr="Format du fichier : ASTER ou MED.", - ang="Format of the file : ASTER or MED.",), - - ABSC_CURV =FACT(statut='f',min=0, - TOUT =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ), - - VERI_MAIL =FACT(statut='d', - VERIF =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - APLAT =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - ), - - b_format_med =BLOC( condition = " ( FORMAT == 'MED' ) " , - fr="Informations complémentaires pour la lecture MED.", - ang="Further information for MED readings.", - -# Pour une lecture dans un fichier MED, on peut préciser le nom sous lequel -# le maillage y a été enregistré. Par défaut, on va le chercher sous le nom du concept à créer. - NOM_MED = SIMP(statut='f',typ='TXM', - fr="Nom du maillage dans le fichier MED.", - ang="Name of the mesh into the MED file.",), - INFO_MED = SIMP(statut='f',typ='I',defaut= 1,into=(1,2,3) ), - - RENOMME = FACT(statut='f', max='**', - fr="Renommer un nom de groupe MED", - NOM_MED = SIMP(statut='o', typ='TXM', validators=LongStr(1, 64), - fr="Nom du groupe dans le fichier MED"), - NOM = SIMP(statut='o', typ=grma, - fr="Nom du groupe dans le maillage ASTER"), - ), - ), - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: serguei.potapov at edf.fr - -LIRE_PLEXUS=OPER(nom="LIRE_PLEXUS",op= 184,sd_prod=evol_char, - fr="Lire le fichier de résultats au format IDEAS produit par le logiciel EUROPLEXUS", - reentrant='n', - UIinfo={"groupes":("Lecture","Outils-métier",)}, - regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),), - UNITE =SIMP(statut='f',typ='I',defaut= 19 ), - FORMAT =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS",)), - MAIL_PLEXUS =SIMP(statut='o',typ=maillage_sdaster ), - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), - MODELE =SIMP(statut='o',typ=modele_sdaster ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - b_prec_crit =BLOC(condition = "LIST_INST != None or INST != None", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),),), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr - -def lire_resu_prod(TYPE_RESU,**args): - if TYPE_RESU == "EVOL_CHAR" : return evol_char - if TYPE_RESU == "EVOL_THER" : return evol_ther - if TYPE_RESU == "EVOL_ELAS" : return evol_elas - if TYPE_RESU == "EVOL_NOLI" : return evol_noli - if TYPE_RESU == "DYNA_TRANS" : return dyna_trans - if TYPE_RESU == "DYNA_HARMO" : return dyna_harmo - if TYPE_RESU == "MODE_MECA" : return mode_meca - if TYPE_RESU == "MODE_MECA_C" : return mode_meca_c - if TYPE_RESU == "EVOL_VARC" : return evol_varc - raise AsException("type de concept resultat non prevu") - -# pour éviter d'écrire 3 fois cette liste : -def l_nom_cham_pas_elga() : - return list(set(C_NOM_CHAM_INTO())-set(C_NOM_CHAM_INTO('ELGA',))) - -LIRE_RESU=OPER(nom="LIRE_RESU",op=150,sd_prod=lire_resu_prod,reentrant='n', - UIinfo={"groupes":("Lecture","Resultats et champs",)}, - fr="Lire dans un fichier, soit format IDEAS, soit au format ENSIGHT soit au format MED," - +" des champs et les stocker dans une SD résultat", - - -# 0) mots cles generaux : -#---------------------- - TYPE_RESU =SIMP(statut='o',typ='TXM',into=("EVOL_THER","EVOL_ELAS","EVOL_NOLI","MODE_MECA", - "MODE_MECA_C","DYNA_TRANS","DYNA_HARMO", - "EVOL_CHAR","EVOL_VARC") ), - - FORMAT =SIMP(statut='o',typ='TXM',into=("IDEAS","IDEAS_DS58","ENSIGHT","MED") ), - - INFO =SIMP(statut='f',typ='I',into=(1,2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - - regles=(UN_PARMI('MAILLAGE','MODELE'),), - MAILLAGE =SIMP(statut='f',typ=maillage_sdaster), - MODELE =SIMP(statut='f',typ=modele_sdaster), - COMPORTEMENT =C_COMPORTEMENT(), - NB_VARI =SIMP(statut='f',typ='I' ), - - CHAM_MATER =SIMP(statut='f',typ=cham_mater,), - - CARA_ELEM =SIMP(statut='f',typ=cara_elem,), - - b_evol_elas = BLOC(condition="TYPE_RESU=='EVOL_ELAS'", - EXCIT =FACT(statut='f',max='**', - CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),), - ), - - b_evol_ther = BLOC(condition="TYPE_RESU=='EVOL_THER'", - EXCIT =FACT(statut='f',max='**', - CHARGE =SIMP(statut='o',typ=(char_ther,char_cine_ther)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),), - ), - - b_evol_noli = BLOC(condition="TYPE_RESU=='EVOL_NOLI'", - EXCIT =FACT(statut='f',max='**', - CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", - into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")), - DEPL =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ACCE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - VITE =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - MULT_APPUI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - DIRECTION =SIMP(statut='f',typ='R',max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),), - ), - - -# 1) blocs selon le format choisi : -#--------------------------------- - -# 1-1 ideas dataset-58 : -# ---------------------- - b_dataset_58 = BLOC(condition="FORMAT=='IDEAS_DS58'", - UNITE =SIMP(statut='f',typ='I',defaut= 19 ), - ), - b_dataset_58_b = BLOC(condition="(FORMAT=='IDEAS_DS58') and ((TYPE_RESU=='DYNA_TRANS') or\ - (TYPE_RESU=='DYNA_HARMO'))", - NOM_CHAM=SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=("DEPL","VITE","ACCE","EPSI_NOEU","SIEF_NOEU",),max='**'), - REDEFI_ORIENT=FACT(statut='f',max='**', - regles=(PRESENT_PRESENT('CODE_DIR','DIRECTION','NOEUD',),), - CODE_DIR =SIMP(statut='f',typ='I',into=(1,2,3,) ), - DIRECTION=SIMP(statut='f',typ='R',min=3,max=3,), - NOEUD =SIMP(statut='f',typ=no,validators=NoRepeat(),max='**'),), - ), - -# 1-2 ideas : -# --------- - b_ideas =BLOC(condition="FORMAT=='IDEAS'", - UNITE =SIMP(statut='f',typ='I',defaut= 19 ), -# TEST =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=l_nom_cham_pas_elga()), - PROL_ZERO =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",), - fr="Affecte des valeurs nulles la ou le champ n'est pas defini"), - FORMAT_IDEAS =FACT(statut='f',max='**', - regles=(UN_PARMI('POSI_INST','POSI_FREQ'),), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=l_nom_cham_pas_elga()), - NUME_DATASET =SIMP(statut='f',typ='I',into=(55,57,2414) ), - RECORD_3 =SIMP(statut='f',typ='I',max=10), - RECORD_6 =SIMP(statut='f',typ='I',max=10), - RECORD_9 =SIMP(statut='f',typ='I',max=10), - POSI_ORDRE =SIMP(statut='o',typ='I',min=2,max=2), - POSI_NUME_MODE =SIMP(statut='f',typ='I',min=2,max=2), - POSI_MASS_GENE =SIMP(statut='f',typ='I',min=2,max=2), - POSI_AMOR_GENE =SIMP(statut='f',typ='I',min=2,max=2), - POSI_INST =SIMP(statut='f',typ='I',min=2,max=2), - POSI_FREQ =SIMP(statut='f',typ='I',min=2,max=2), - NOM_CMP =SIMP(statut='o',typ='TXM',max='**'),), - ), - -# 1-3 ensight : -# ------------- - b_ensight =BLOC(condition="FORMAT=='ENSIGHT'", - NOM_FICHIER =SIMP(statut='f',typ='TXM'), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=l_nom_cham_pas_elga()), - ), - -# 1-4 med : -# --------- - b_med =BLOC(condition = "FORMAT == 'MED'",fr="Nom du champ dans le fichier MED", - UNITE =SIMP(statut='f',typ='I',defaut= 81, fr="Le fichier est : fort.n.",), - FORMAT_MED =FACT(statut='o',max='**', - regles=(ENSEMBLE('NOM_CMP','NOM_CMP_MED'),UN_PARMI('NOM_CHAM_MED','NOM_RESU'),), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(),), - NOM_CHAM_MED =SIMP(statut='f',typ='TXM', fr="Nom du champ dans le fichier MED.", ), - NOM_RESU =SIMP(statut='f',typ='TXM', fr="Prefixe du nom de champ dans le fichier MED.", ), - NOM_CMP =SIMP(statut='f',typ='TXM',max='**', fr="Nom des composantes dans ASTER.", ), - NOM_CMP_MED =SIMP(statut='f',typ='TXM',max='**', fr="Nom des composantes dans MED.", ), - ), - PROL_ZERO =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",), - fr="Affecte des valeurs nulles la ou le champ n'est pas defini (sinon il y a NaN)"), - ), - -# 2) blocs selon le type du resultat : -#--------------------------------- - b_mode_meca =BLOC(condition="(TYPE_RESU=='MODE_MECA')or(TYPE_RESU=='MODE_MECA_C')", - # Ces mots cles sont stockes dans l'objet .REFD des mode_meca - # Ces mots cles sont aussi utilises pour imposer la numerotation des cham_no de DEPL_R - MATR_RIGI =SIMP(statut='f',typ=matr_asse_depl_r,max=1), - MATR_MASS =SIMP(statut='f',typ=matr_asse_depl_r,max=1), - ), - - -# 3) autres blocs : -#--------------------------------- - b_extrac =BLOC(condition="1",fr="acces a un champ dans la structure de donnees resultat", - regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST','FREQ','LIST_FREQ'),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - - b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)or(FREQ != None)or(LIST_FREQ != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - - -LIRE_TABLE=MACRO(nom="LIRE_TABLE", - op=OPS('Macro.lire_table_ops.lire_table_ops'), - sd_prod=table_sdaster, - fr="Lecture d'un fichier contenant une table", - UIinfo={"groupes":("Lecture","Tables",)}, - UNITE = SIMP(statut='o', typ='I' ), - FORMAT = SIMP(statut='f', typ='TXM', into=("ASTER", "LIBRE", "TABLEAU"), defaut="TABLEAU"), - NUME_TABLE = SIMP(statut='f', typ='I', defaut=1), - SEPARATEUR = SIMP(statut='f', typ='TXM', defaut=' '), - RENOMME_PARA = SIMP(statut='f', typ='TXM', into=("UNIQUE",),), - TITRE = SIMP(statut='f', typ='TXM', max='**'), - INFO = SIMP(statut='f', typ='I', into=(1, 2), ), - ) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2005 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: harinaivo.andriambololona at edf.fr - -MAC_MODES=OPER(nom="MAC_MODES",op= 141,sd_prod=table_sdaster, - fr="Critere orthogonalite de modes propres", - reentrant='n', - UIinfo={"groupes":("Résolution","Dynamique",)}, - regles=(PRESENT_PRESENT('IERI','MATR_ASSE'),), - BASE_1 =SIMP(statut='o',typ=(mode_meca,mode_meca_c,mode_flamb) ), - BASE_2 =SIMP(statut='o',typ=(mode_meca,mode_meca_c,mode_flamb) ), - MATR_ASSE =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c) ), - IERI =SIMP(statut='f',typ='TXM',into=("OUI",),), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: gerald.nicolas at edf.fr -# -def macr_adap_mail_prod(self, MAJ_CHAM, ADD_CHAM, ADAPTATION, **args): -# -# 0. Typage des structures produites -# - #print args - if ( args.has_key('MAILLAGE_NP1') ) : - if ( args['MAILLAGE_NP1'] is not None ) : - maillage_np1=args['MAILLAGE_NP1'] - self.type_sdprod(maillage_np1, maillage_sdaster) -# - if ( args.has_key('MAILLAGE_NP1_ANNEXE') ) : - if ( args['MAILLAGE_NP1_ANNEXE'] is not None ) : - maillage_np1_annexe=args['MAILLAGE_NP1_ANNEXE'] - self.type_sdprod(maillage_np1_annexe, maillage_sdaster) -# - #print "MAJ_CHAM =", MAJ_CHAM - if MAJ_CHAM is not None : -# Remarque : la liste qui suit doit etre conforme à son homologue de LIRE_CHAMP - for ch in MAJ_CHAM: - t=ch['TYPE_CHAM'] - if t[0:5] == "NOEU_":self.type_sdprod(ch['CHAM_MAJ'],cham_no_sdaster) - if t[0:2] == "EL": self.type_sdprod(ch['CHAM_MAJ'],cham_elem) -# - #print "ADD_CHAM =", ADD_CHAM - if ADD_CHAM is not None : - for ch in ADD_CHAM: - self.type_sdprod(ch['CHAM_GD'],carte_sdaster) -# - return None - -MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL", - op=OPS('Macro.macr_adap_mail_ops.macr_adap_mail_ops'), - sd_prod=macr_adap_mail_prod, - fr="Adapter un maillage avec le logiciel HOMARD.", - ang="Mesh adaptation with the HOMARD software.", - UIinfo={"groupes":("Maillage",)}, -# -# 1. Le niveau d'information -# - INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2,3,4)), -# -# 2. Les maillages -# 2.1. Quel que soit le type de traitement, il faut donner le concept du maillage initial (entree) -# - MAILLAGE_N = SIMP(statut='o',typ=maillage_sdaster, - fr="Maillage avant adaptation", - ang="Mesh before adaptation" ), -# -# 2.2. Si ce n'est pas une simple lecture : -# - b_maillage = BLOC( condition = " (ADAPTATION != 'LECTURE') " , - fr="Lectures de champs aux points de Gauss ou aux noeuds par element.", - ang="Readings of the fields over the Gauss points.", -# -# 2.2.1. Le concept du maillage final (sortie) -# - MAILLAGE_NP1 = SIMP(statut='o',typ=CO, - fr="Maillage après adaptation", - ang="Mesh after adaptation" ), -# -# 2.2.2. Eventuellement, on peut produire un maillage annexe -# Actuellement, c'est le maillage n+1, mais de degré différent. -# - MAILLAGE_NP1_ANNEXE = SIMP(statut='f',typ=CO, - fr="Maillage annexe après adaptation", - ang="Additional mesh after adaptation" ), -# - ) , -# -# 3. Le pilotage de l'adaptation, avec les variantes suivantes : -# . Raffinement et deraffinement, selon un champ -# . Raffinement seul, selon un champ -# . Deraffinement seul, selon un champ -# . Raffinement et deraffinement, selon des zones geometriques -# . Raffinement uniforme : toutes les mailles sont divisées -# . Deraffinement uniforme : toutes les mailles sont regroupées -# . Modification : le maillage subit des transformations specifiques -# . Rien : le maillage est le meme a la sortie et a l'entree -# - ADAPTATION = SIMP(statut='o',typ='TXM', - into=("RAFF_DERA", "RAFFINEMENT", "DERAFFINEMENT", "RAFF_DERA_ZONE", \ - "RAFFINEMENT_UNIFORME", "DERAFFINEMENT_UNIFORME", \ - "MODIFICATION", "LECTURE", "RIEN"), - fr="Pilotage de l'adaptation : selon un champ ou uniforme.", - ang="Adaptation control: either among an field or uniform" ), -# -# 4. Pour de l'adaptation libre, il faut un champ d'indicateur -# - b_champ = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \ - (ADAPTATION == 'RAFFINEMENT') or \ - (ADAPTATION == 'DERAFFINEMENT') " , - fr="Pour une adaptation libre, choix du champ définissant la région à raffiner/déraffiner", - ang="For a free adaptation, selection of the field that defines the area for refinment/unrefinement", -# - regles=(UN_PARMI('CHAM_GD','RESULTAT_N')), -# -# 4.1. Reperage de la région a raffiner a l'aide d'un champ -# -# 4.1.1. Sous forme de champ de grandeur -# - CHAM_GD = SIMP(statut='f',typ=cham_gd_sdaster, - fr="Champ de grandeur Code_Aster pilotant l'adaptation", - ang="Code_Aster 'champ de grandeur' governing the adapatation" ), -# -# 4.1.2. Sous forme de concept resultat_sdaster -# - RESULTAT_N = SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther) , - fr="Concept résultat Code_Aster contenant le champ", - ang="The Code_Aster result with the field" ), -# - b_champ_adaptation = BLOC(condition="(RESULTAT_N != None)", - NOM_CHAM = SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(), - fr="Champ dans le résultat", - ang="The field in the result structure" ), - ), -# -# 4.1.4. La ou les composantes retenues -# - NOM_CMP = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="Liste des composante(s) retenue(s) pour le champ.", - ang="List of the selected component(s) for the field." ), -# -# 4.1.5. Le paramètre temporel pour le champ -# - b_parametre_temporel = BLOC(condition="(RESULTAT_N != None)", - fr="Choix éventuel du paramètre temporel pour le champ", - ang="Time selection for the field (option)", -# - regles=(EXCLUS('NUME_ORDRE','INST'),), -# -# 4.1.5.1. Soit le numero d'ordre -# - NUME_ORDRE = SIMP(statut='f',typ='I', - fr="Numéro d ordre", - ang="Rank" ), -# -# 4.1.5.2. Soit l'instant -# 4.1.5.2.1. Sa valeur -# - INST = SIMP(statut='f',typ='R', - fr="Instant associé", - ang="Instant" ), -# -# 4.1.5.2.2. La précision du choix de l'instant -# - b_precision = BLOC(condition="(INST != None)", - fr="Choix de la précision du choix de l'instant", - ang="Precision for the choice of the instant", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF", "ABSOLU",), - fr="Critère de précision sur le choix de l'instant associé", - ang="Accuracy criterium over the choice of the instant"), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6, - fr="Précision relative sur le choix de l'instant associé", - ang="Relative accuracy over the choice of the instant"),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R', - fr="Précision absolue sur le choix de l'instant associé", - ang="Absolute accuracy over the choice of the instant"),), - ), -# - ), -# -# 4.1.6. Usage des composantes : maximum, maximum de la valeur absolue, ou de la norme L2, ou de la norme infinie -# - USAGE_CMP = SIMP(statut='f',typ='TXM',defaut="NORME_L2", - into=("ABSOLU", "NORME_L2", "NORME_INFINIE", "RELATIF"), - fr="Valeur absolue de la composante, ou norme du champ, ou valeur relative de la composante", - ang="Absolute value of the component, or norm of the field, or relative value of the component" ), -# -# 4.1.7. Usage du champ : la valeur par maille ou le max du saut entre mailles -# - USAGE_CHAMP = SIMP(statut='f',typ='TXM',defaut="MAILLE",into=("MAILLE", "SAUT"), - fr="Usage du champ : la valeur par maille ou le saut entre mailles voisines", - ang="Use of the field: value over every mesh or jump between the neighbours" ), -# -# 4.1.8. Initialisation de l'adaptation : raffinement ou déraffinement -# - ADAP_INIT = SIMP(statut='f',typ='TXM',defaut="GARDER",into=("GARDER", "DERAFFINER"), - fr="Initialisation de l'adaptation dans les régions sans indicateur : garder ou déraffiner", - ang="Initialization of the adaptation in the areas without indicator: keep or unrefine" ), -# - ) , -# -# 5. Les criteres pour de l'adaptation libre avec un champ : -# absolu, relatif, en proportion d'entite -# 5.1. Pour le raffinement : -# - b_critere_de_raffinement = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \ - (ADAPTATION == 'RAFFINEMENT') " , - fr="Critère de raffinement.", - ang="Refinement threshold.", -# - regles=(UN_PARMI ( 'CRIT_RAFF_ABS', 'CRIT_RAFF_REL', 'CRIT_RAFF_PE', 'CRIT_RAFF_MS' ),), -# - CRIT_RAFF_ABS = SIMP(statut='f',typ='R', - fr="Critère absolu", - ang="Absolute threshold" ), - CRIT_RAFF_REL = SIMP(statut='f',typ='R',val_min=0.0,val_max=1.0, - fr="Critère relatif : fraction réelle entre 0. et 1.", - ang="Relative threshold : ratio between 0. and 1." ), - CRIT_RAFF_PE = SIMP(statut='f',typ='R',val_min=0.0,val_max=1.0, - fr="Pourcentage de mailles : fraction réelle entre 0. et 1.", - ang="Percentage of meshes: ratio between 0. and 1." ), - CRIT_RAFF_MS = SIMP(statut='f',typ='R', - fr="Critère absolu valant moyenne + n*sigma, n étant > 0", - ang="Absolute threshold: mean + n*sigma, with n > 0" ), - ) , -# -# 5.2. Pour le deraffinement : -# - b_critere_de_deraffinement = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \ - (ADAPTATION == 'DERAFFINEMENT') " , - fr="Critère de déraffinement.", - ang="Unrefinement threshold.", -# - regles=(UN_PARMI ( 'CRIT_DERA_ABS', 'CRIT_DERA_REL', 'CRIT_DERA_PE', 'CRIT_DERA_MS' ),), -# - CRIT_DERA_ABS = SIMP(statut='f',typ='R' , - fr="Critère absolu", - ang="Absolute threshold" ), - CRIT_DERA_REL = SIMP(statut='f',typ='R',val_min=0.0,val_max=1.0, - fr="Critère relatif : fraction réelle entre 0. et 1.", - ang="Relative threshold: ratio between 0. and 1." ), - CRIT_DERA_PE = SIMP(statut='f',typ='R',val_min=0.0,val_max=1.0, - fr="Pourcentage de mailles : fraction réelle entre 0. et 1.", - ang="Percentage of meshes: ratio between 0. and 1." ), - CRIT_DERA_MS = SIMP(statut='f',typ='R', - fr="Critère absolu valant moyenne - n*sigma, n étant > 0", - ang="Absolute threshold: mean - n*sigma, with n > 0" ), - ) , -# -# 6. Pour de l'adaptation par zone, définitions des zones -# - b_zone = BLOC( condition = " (ADAPTATION == 'RAFF_DERA_ZONE') " , - fr="Pour une adaptation selon une zone à raffiner", - ang="For adaptation among a zone", -# - ZONE = FACT(statut='o',min=1,max='**', - fr="Définition de zones à raffiner.", - ang="Refined zone definition.", -# -# 6.1. Type de la zone -# - TYPE = SIMP(statut='o',typ='TXM',into=("RECTANGLE", "BOITE", "DISQUE", "SPHERE", "CYLINDRE", "DISQUE_PERCE", "TUYAU"), - fr="Type de la zone", - ang="Type of the zone" ), -# -# 6.2. Usage de la zone -# - USAGE = SIMP(statut='f',typ='TXM',into=("RAFFINEMENT","DERAFFINEMENT"),defaut="RAFFINEMENT", - fr="Zone pour raffiner", - ang="Zone: refinement" ), -# -# Ne sachant pas exploiter les blocs, je mets des regles -# - regles=(AU_MOINS_UN('X_MINI','X_CENTRE','HAUTEUR'), - EXCLUS('X_MINI','X_CENTRE','HAUTEUR',), - EXCLUS('Z_MINI','X_CENTRE','HAUTEUR',), - EXCLUS('X_MINI','Z_CENTRE','HAUTEUR',), - EXCLUS('Z_MINI','Z_CENTRE','HAUTEUR',), - EXCLUS('X_MINI','RAYON',), - EXCLUS('Z_MINI','RAYON',), - EXCLUS('RAYON','RAYON_INT',),), -# -# 6.3. Une boite rectangulaire ou parallelepipedique -# 6.3.1. Incontournables -# -##gn b_z_boiteXY = BLOC( condition = " (TYPE == 'RECTANGLE') or (TYPE == 'BOITE') " , -##gn fr="X et Y mini/maxi pour un rectangle ou un parallelepipede.", -##gn ang="X and Y min/max for a rectangle or a parallelepipedic box", - X_MINI = SIMP(statut='f',typ='R', - fr="Abscisse minimum de la boite", - ang="Minimum X for the box"), - X_MAXI = SIMP(statut='f',typ='R', - fr="Abscisse maximum de la boite", - ang="Maximum X for the box"), - Y_MINI = SIMP(statut='f',typ='R', - fr="Ordonnée minimum de la boite", - ang="Minimum Y for the box"), - Y_MAXI = SIMP(statut='f',typ='R', - fr="Abscisse maximum de la boite", - ang="Maximum Y for the box"), -##gn ) , -# -# 6.3.2. Complement pour une boite parallelepipedique -# -##gn b_z_boiteZ = BLOC( condition = " (TYPE == 'BOITE') " , -##gn fr="Z mini/maxi pour un parallelepipede.", -##gn ang="Z min/max for a parallelepipedic box", - Z_MINI = SIMP(statut='f',typ='R', - fr="Cote minimum de la boite", - ang="Minimum Z for the box"), - Z_MAXI = SIMP(statut='f',typ='R', - fr="Cote maximum de la boite", - ang="Maximum Z for the box"), -##gn ) , -# -# 6.4. Rayon pour un disque, une sphere ou un cylindre -# -##gn b_z_rayon = BLOC( condition = " (TYPE == 'DISQUE') or (TYPE == 'SPHERE') or (TYPE == 'CYLINDRE') " , -##gn fr="Le rayon d'un disque, d'une sphere ou d'un cylindre.", -##gn ang="The radius of a disk or of a sphere or of a cylinder.", - RAYON = SIMP(statut='f',typ='R', - fr="Rayon", - ang="Radius"), -##gn ) , -# -# 6.5. Pour un disque plein ou perce, une sphere -# 6.5.1. Incontournables -# -##gn b_z_di_sp_XY = BLOC( condition = " (TYPE == 'DISQUE') or (TYPE == 'SPHERE') or (TYPE == 'DISQUE_PERCE') " , -##gn fr="X et Y du centre d'un disque plein ou perce, d'une sphere.", -##gn ang="X and Y of the centre of a disk or of a sphere.", - X_CENTRE = SIMP(statut='f',typ='R', - fr="Abscisse du centre du disque ou de la sphère", - ang="X for the center of the disk or of the sphere"), - Y_CENTRE = SIMP(statut='f',typ='R', - fr="Ordonnée du centre du disque ou de la sphère", - ang="Y for the center of the disk or of the sphere"), -##gn ) , -# -# 6.5.2. Complement pour une sphere -# -##gn b_z_sp_Z = BLOC( condition = " (TYPE == 'SPHERE') " , -##gn fr="Cote du centre de la sphere.", -##gn ang="Z for the center of the sphere.", - Z_CENTRE = SIMP(statut='f',typ='R', - fr="Cote du centre de la sphère", - ang="Z for the center of the sphere"), -##gn ) , -# -# 6.6. Rayons interieur et exterieur pour un disque perce ou un tuyau -# -##gn b_z_rayon_int_ext = BLOC( condition = " (TYPE == 'DISQUE_PERCE') or (TYPE == 'TUYAU') " , -##gn fr="Le rayon d'un disque perce ou d'un tuyau.", -##gn ang="The radius of a holed disk or of a pipe.", - RAYON_INT = SIMP(statut='f',typ='R', - fr="Rayon intérieur", - ang="Internal radius"), - RAYON_EXT = SIMP(statut='f',typ='R', - fr="Rayon extérieur", - ang="External radius"), -##gn ) , -# -# 6.7. Un cylindre ou un tuyau -# -##gn b_z_cylindre_tuyau = BLOC( condition = " (TYPE == 'CYLINDRE') or (TYPE == 'TUYAU') " , -##gn fr="Pour un cylindre ou un tuyau.", -##gn ang="For a cylinder or a pipe.", - X_AXE = SIMP(statut='f',typ='R', - fr="Abscisse du vecteur directeur de l'axe", - ang="X for the axial vector"), - Y_AXE = SIMP(statut='f',typ='R', - fr="Ordonnée du vecteur directeur de l'axe", - ang="Y for the axial vector"), - Z_AXE = SIMP(statut='f',typ='R', - fr="Cote du vecteur directeur de l'axe", - ang="Z for the axial vector"), - X_BASE = SIMP(statut='f',typ='R', - fr="Abscisse d'un point de la base, sur l'axe", - ang="X for the basis, on the axis"), - Y_BASE = SIMP(statut='f',typ='R', - fr="Ordonnée d'un point de la base, sur l'axe", - ang="Y for the basis, on the axis"), - Z_BASE = SIMP(statut='f',typ='R', - fr="Cote d'un point de la base, sur l'axe", - ang="Z for the basis, on the axis"), - HAUTEUR = SIMP(statut='f',typ='R', - fr="Hauteur", - ang="Height"), -##gn ) , -# - ) , -# - ) , -# -# 7. Les niveaux extremes pour le maillage adapte -# 7.1. Pour le raffinement : -# - b_niveau_maximum = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \ - (ADAPTATION == 'RAFFINEMENT') or \ - (ADAPTATION == 'RAFFINEMENT_UNIFORME') or \ - (ADAPTATION == 'RAFF_DERA_ZONE') " , - fr="Profondeur maximale de raffinement", - ang="Maximum depth for the refinement", -# - NIVE_MAX = SIMP(statut='f',typ='I', - fr="Niveau maximum de profondeur de raffinement", - ang="Maximum level for the refinement"), -# - DIAM_MIN = SIMP(statut='f',typ='R', - fr="Diamètre minimal des mailles", - ang="Minimal diameter for the meshes" ), -# - ) , -# -# 7.2. Pour le deraffinement : -# - b_niveau_minimum = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \ - (ADAPTATION == 'DERAFFINEMENT') or \ - (ADAPTATION == 'DERAFFINEMENT_UNIFORME') " , - fr="Niveau minimum de profondeur de déraffinement", - ang="Minimum level for the unrefinement", - NIVE_MIN = SIMP(statut='f',typ='I', - fr="Niveau minimum de profondeur de déraffinement", - ang="Minimum level for the unrefinement"), - ) , -# -# 8. Filtrage de l'adaptation par des groupes -# - b_filtrage_par_des_groupes = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \ - (ADAPTATION == 'RAFFINEMENT') or \ - (ADAPTATION == 'RAFFINEMENT_UNIFORME') or \ - (ADAPTATION == 'RAFF_DERA_ZONE') or \ - (ADAPTATION == 'DERAFFINEMENT') or \ - (ADAPTATION == 'DERAFFINEMENT_UNIFORME') " , - fr="Filtrage de l'adaptation par des groupes.", - ang="Filtering of adaptation by the groups.", -# - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="Liste des groupes de mailles pour le filtrage de l'adaptation.", - ang="List of the groups of meshes for filtering of the adaptation." ), -# - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**', - fr="Liste des groupes de noeuds pour le filtrage de l'adaptation.", - ang="List of the groups of nodes for filtering of the adaptation." ), - ) , -# -# 9. Suivi d'une frontière -# -# 9.1. Definition d'une frontière par un maillage (valable seulement pour des frontières 1D) -# - MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster, - fr="Maillage de la frontière discrète à suivre", - ang="Discrete boundary mesh" ), -# - b_FRONTIERE = BLOC( condition = " MAILLAGE_FRONTIERE != None " , - fr="Information complémentaire sur la frontière discrète", - ang="Further information about discrete boundary", -# - GROUP_MA_FRONT = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="Liste des groupes de mailles définissant la frontière discrète", - ang="Mesh groups which define the discrete boundary" ), -# - ) , -# -# 9.2. Definition analytique d'une frontière -# - FRONTIERE_ANALYTIQUE = FACT(statut='f',max='**', - fr="Definition analytique de frontières a suivre.", - ang="Analytical definition of a boundary.", -# -# 9.2.1. Nom de la frontière -# - NOM = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1, - fr="Nom de la frontière analytique", - ang="Name of the analytic boundary" ), -# -# 9.2.2. Type de la frontière -# - TYPE = SIMP(statut='o',typ='TXM',into=("SPHERE", "CYLINDRE"), - fr="Type de la frontière analytique", - ang="Type of the analytic boundary" ), -# -# 9.2.3. Pour une sphere, un cylindre par ses rayons : rayon et centre -# - b_fr_rayon = BLOC( condition = " (TYPE == 'SPHERE') or (TYPE == 'CYLINDRE') " , - fr="Le rayon et le centre d'une sphère ou d'un cylindre.", - ang="The radius and the centre of a sphere or of a cylinder.", - RAYON = SIMP(statut='o',typ='R', - fr="Rayon", - ang="Radius"), - X_CENTRE = SIMP(statut='o',typ='R', - fr="Abscisse du centre", - ang="X for the center"), - Y_CENTRE = SIMP(statut='o',typ='R', - fr="Ordonnée du centre", - ang="Y for the center"), - Z_CENTRE = SIMP(statut='o',typ='R', - fr="Cote du centre", - ang="Z for the center"), - ) , -# -# 9.2.4. Pour un cylindre defini par axe et angle : axe -# - b_fr_cylindre = BLOC( condition = " (TYPE == 'CYLINDRE') " , - fr="Pour un cylindre.", - ang="For a cylinder.", - X_AXE = SIMP(statut='o',typ='R', - fr="Abscisse du vecteur directeur de l'axe", - ang="X for the axial vector"), - Y_AXE = SIMP(statut='o',typ='R', - fr="Ordonnée du vecteur directeur de l'axe", - ang="Y for the axial vector"), - Z_AXE = SIMP(statut='o',typ='R', - fr="Cote du vecteur directeur de l'axe", - ang="Z for the axial vector"), - ) , -# -# 9.2.7. Groupe(s) lie(s) a la frontière -# - GROUP_MA = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**', - fr="Liste des groupes de mailles placées sur la frontière", - ang="Groups of meshes which are located on the boundary" ), -# - ) , -# -# 10. mise à jour de champs sur le nouveau maillage -# - MAJ_CHAM = FACT(statut='f',max='**', - fr="Mise à jour de champs sur le nouveau maillage.", - ang="Updating of the fields over the new mesh.", -# -# 10.1. Le nom du champ de grandeur qui contiendra le resultat de la mise a jour -# - CHAM_MAJ = SIMP(statut='o',typ=CO, - fr="Nom du champ de grandeur qui contiendra le champ mis à jour", - ang="Name of the field for the updated field"), -# -# 10.2. Le type du champ qui contiendra le resultat de la mise a jour -# - TYPE_CHAM = SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO( ('NOEU', 'ELEM', 'ELNO', 'ELGA') ), - fr="Type du champ qui contiendra le champ mis à jour", - ang="Type of the field for the updated field" ), -# -# 10.3. Le champ a interpoler -# - regles=(UN_PARMI('CHAM_GD','RESULTAT')), -# -# 10.3.1. Sous forme de champ de grandeur -# - CHAM_GD = SIMP(statut='f',typ=cham_gd_sdaster, - fr="Champ de grandeur Code_Aster contenant le champ à mettre à jour", - ang="Champ de grandeur with the field to be updated" ), -# -# 10.3.2. Sous forme de champ dans un resultat -# - RESULTAT = SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther), - fr="Résultat contenant le champ à mettre à jour", - ang="Result with the field to be updated" ), -# - b_nom_du_champ = BLOC(condition="(RESULTAT != None)", - fr="Choix éventuel du nom du champ à interpoler", - ang="Selection for the name of the field (option)", -# - NOM_CHAM = SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(), - fr="Nom du champ à mettre à jour", - ang="Name of the field to be updated" ), -# - ), -# -# 10.4. Les composantes -# - NOM_CMP = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="Liste des composante(s) retenue(s) pour le champ.", - ang="List of the selected component(s) for the field." ), -# -# 10.5. Le paramètre temporel pour le champ a interpoler -# - b_parametre_temporel = BLOC(condition="(RESULTAT != None)", - fr="Choix éventuel du paramètre temporel pour le champ à interpoler", - ang="Time selection for the field (option)", -# - regles=(EXCLUS('NUME_ORDRE','INST'),), -# -# 10.5.1. Soit le numero d'ordre -# - NUME_ORDRE = SIMP(statut='f',typ='I', - fr="Numéro d ordre du champ à mettre à jour", - ang="Rank of the field to be updated" ), -# -# 10.5.2. Soit l'instant -# 10.5.2.1. Sa valeur -# - INST = SIMP(statut='f',typ='R', - fr="Instant associé", - ang="Instant" ), -# -# 10.5.2.2. La précision du choix de l'instant -# - b_precision = BLOC(condition="(INST != None)", - fr="Choix de la précision du choix de l'instant", - ang="Selection for the choice of the instant", -# - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF", "ABSOLU",), - fr="Critère de précision sur le choix de l'instant associé", - ang="Accuracy criterium over the choice of the instant"), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6, - fr="Précision relative sur le choix de l'instant associé", - ang="Relative accuracy over the choice of the instant"),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R', - fr="Précision absolue sur le choix de l'instant associé", - ang="Absolute accuracy over the choice of the instant"),), -# - ), -# - ), -# -# 10.6. Type d'interpolation -# - TYPE_MAJ = SIMP(statut='f',typ='TXM',defaut="AUTO", - into=("AUTO", "ISOP2"), - fr="Type de mise à jour : automatique ou iso-P2", - ang="Type of the updating" ), - ), -# -# 11. Les modifications -# - b_modifications = BLOC( condition = " (ADAPTATION == 'MODIFICATION') " , - fr="Modification de maillage.", - ang="Modification of the mesh.", -# - #regles=(AU_MOINS_UN('DEGRE','JOINT'),), -# -# 11.1. Changement de degre -# - DEGRE = SIMP(statut='o',typ='TXM',into=("OUI",), - fr="Changement de degré du maillage", - ang="Modification of the degree of the mesh" ), -# - ) , -# -# 12. Le modele pour les lectures de champs aux points de Gauss ou aux noeuds par element -# - b_lectures = BLOC( condition = " (ADAPTATION == 'LECTURE') " , - fr="Lectures de champs aux points de Gauss.", - ang="Readings of the fields over the Gauss points.", -# - MODELE = SIMP(statut='o',typ=modele_sdaster, - fr="Modèle", - ang="Model" ), -# - ) , -# -# 13. Les options d'analyse de maillage ; par defaut, on ne fait que les nombres -# - b_analyses = BLOC( condition = " (ADAPTATION != 'LECTURE') " , - fr="Analyse du maillage.", - ang="Analysis of the mesh.", -# -# 13.1. Nombre de noeuds et mailles -# - NOMBRE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",), - fr="Nombre de noeuds et de mailles du maillage", - ang="Number of nodes and meshes in the mesh" ), -# -# 13.2. Determination de la qualité des mailles du maillage -# - QUALITE = SIMP(statut='f',typ='TXM',into=("OUI",), - fr="Qualité du maillage", - ang="Quality of the mesh" ), -# -# 13.3. Connexite du maillage -# - CONNEXITE = SIMP(statut='f',typ='TXM',into=("OUI",), - fr="Connexité du maillage.", - ang="Connexity of the mesh." ), -# -# 13.4. Taille des sous-domaines du maillage -# - TAILLE = SIMP(statut='f',typ='TXM',into=("OUI",), - fr="Tailles des sous-domaines du maillage.", - ang="Sizes of mesh sub-domains." ), -# -# 13.5. Controle de la non-interpenetration des mailles -# - INTERPENETRATION=SIMP(statut='f',typ='TXM',into=("OUI",), - fr="Controle de la non interpénétration des mailles.", - ang="Overlapping checking." ), -# -# 13.6. Propriétés du maillage de calcul -# - PROP_CALCUL = SIMP(statut='f',typ='TXM',into=("OUI",), - fr="Propriétés du maillage de calcul.", - ang="Properties of the calculation mesh." ), -# -# 13.7. Determination des diametres des mailles du maillage -# - DIAMETRE = SIMP(statut='f',typ='TXM',into=("OUI",), - fr="Diamètre du maillage", - ang="Diameters of the mesh" ), -# - ) , -# -# 14. champs supplementaires sur le nouveau maillage -# - ADD_CHAM = FACT(statut='f',max='**', - fr="Champs supplementaires sur le nouveau maillage.", - ang="Additional fields over the new mesh.", -# -# 14.1. Le nom du champ de grandeur qui contiendra le nouveau champ -# - CHAM_GD = SIMP(statut='o',typ=CO, - fr="Nom du champ de grandeur qui contiendra le champ supplementaire", - ang="Name of the field for the additional field"), -# -# 14.2. La categorie du champ supplementaire -# - CHAM_CAT = SIMP(statut='o',typ='TXM',into=("NIVEAU", "DIAMETRE"), - fr="Categorie du champ supplementaire : niveau ou diametre", - ang="Category of the additional field: level or diameter" ), -# - ) , -# -# 15. Les options avancées -# 15.1. Langue des messages issus de HOMARD -# - LANGUE = SIMP(statut='f',typ='TXM',defaut="FRANCAIS", - into=("FRANCAIS", "FRENCH", "ANGLAIS", "ENGLISH",), - fr="Langue des messages issus de HOMARD.", - ang="Language for HOMARD messages." ), -# -# 15.2. Gestion des mailles acceptees dans le maillage initial -# "HOMARD" : exclusivement les mailles pouvant etre decoupees (defaut) -# "IGNORE_PYRA" : elles sont ignorées -# - b_autres_mailles = BLOC( condition = " (ADAPTATION != 'LECTURE') " , - fr="Gestion des pyramides.", - ang="Pyramids.", -# - ELEMENTS_ACCEPTES = SIMP(statut='f',typ='TXM',defaut="HOMARD",into=("HOMARD", "IGNORE_PYRA"), - fr="Acceptation des mailles dans le maillage initial", - ang="Elements in the very first mesh" ), -# - ) , -# -# 15.3. Version de HOMARD -# - VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V10_6", - into=("V10_6", "V10_N", "V10_N_PERSO"), - fr="Version de HOMARD", - ang="HOMARD release"), -# -# 15.4. Exécutable pilotant HOMARD -# - LOGICIEL = SIMP(statut='f',typ='TXM', - fr="Logiciel pilotant HOMARD", - ang="HOMARD software"), -# -# 15.5. Unite logique d'un fichier à ajouter a HOMARD.Configuration -# - b_unite = BLOC( condition = " (VERSION_HOMARD == 'V10_N') or \ - (VERSION_HOMARD == 'V10_N_PERSO') " , - fr="Fichier supplementaire.", - ang="Additional file.", -# - UNITE = SIMP(statut='f',typ='I', - fr="Unite logique a ajouter a HOMARD.Configuration", - ang="Additional file to HOMARD.Configuration" ), -# - ) , -# -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -def macr_ascouf_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS,RESU_THER,**args): - self.type_sdprod(MODELE,modele_sdaster) - if CHAM_MATER != None:self.type_sdprod(CHAM_MATER,cham_mater) - if CARA_ELEM != None:self.type_sdprod(CARA_ELEM,cara_elem) - if FOND_FISS != None:self.type_sdprod(FOND_FISS,fond_fiss) - if RESU_THER != None:self.type_sdprod(RESU_THER,evol_ther) - return evol_noli - -MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC", - op=OPS('Macro.macr_ascouf_calc_ops.macr_ascouf_calc_ops'), - sd_prod=macr_ascouf_calc_prod, - fr="Réalise l'analyse thermomécanique du coude dont le maillage a " \ - "été concu par MACR_ASCOUF_MAIL", - reentrant='n', - UIinfo={"groupes":("Résolution","Outils-métier",)}, - - TYPE_MAILLAGE =SIMP(statut='o',typ='TXM', - into=("SAIN", - "FISS_COUDE", - "FISS_AXIS_DEB", - "SOUS_EPAIS_COUDE" - ) ), - - CL_BOL_P2_GV =FACT(statut='f', - ANGLE =SIMP(statut='o',typ='R' ), - AZIMUT =SIMP(statut='f',typ='R',defaut= 90. ), - ), - - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), - MODELE =SIMP(statut='o',typ=CO,), - CHAM_MATER =SIMP(statut='f',typ=CO,), - CARA_ELEM =SIMP(statut='f',typ=CO,), - FOND_FISS =SIMP(statut='f',typ=CO,), - RESU_THER =SIMP(statut='f',typ=CO,), - - AFFE_MATERIAU =FACT(statut='o',max=3, - regles=(UN_PARMI('TOUT','GROUP_MA'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,into=("COUDE","BOL") ), - MATER =SIMP(statut='o',typ=mater_sdaster ), - TEMP_REF =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - ), - - PRES_REP =FACT(statut='f', - PRES =SIMP(statut='o',typ='R' ), - EFFE_FOND_P1 =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - PRES_LEVRE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - ECHANGE =FACT(statut='f', - COEF_H =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - TEMP_EXT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - TORS_P1 =FACT(statut='f',max=6, - regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), - FX =SIMP(statut='f',typ='R' ), - FY =SIMP(statut='f',typ='R' ), - FZ =SIMP(statut='f',typ='R' ), - MX =SIMP(statut='f',typ='R' ), - MY =SIMP(statut='f',typ='R' ), - MZ =SIMP(statut='f',typ='R' ), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - - COMPORTEMENT =C_COMPORTEMENT('MACR_ASCOUF_CALC'), - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('MACR_ASCOUF_CALC'), -#------------------------------------------------------------------- - - CONVERGENCE =C_CONVERGENCE(), - - NEWTON =C_NEWTON(), - - RECH_LINEAIRE =C_RECH_LINEAIRE(), - - INCREMENT =C_INCREMENT('MECANIQUE'), - - THETA_3D =FACT(statut='f',max='**', - R_INF =SIMP(statut='o',typ='R' ), - R_SUP =SIMP(statut='o',typ='R' ), - ), - - ENERGIE =FACT(statut='f',max=1, - CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), - ), - - IMPR_TABLE =FACT(statut='f', - regles=(UN_PARMI('TOUT_PARA','NOM_PARA', ), - PRESENT_PRESENT('TOUT_PARA','ANGLE', ), - PRESENT_PRESENT('TOUT_PARA','R_CINTR', ), - UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL',),), - NOM_PARA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=4, - into=("TRESCA_MEMBRANE", - "TRESCA_MFLE", - "TRESCA", - "SI_LONG" - "SI_RADI" - "SI_CIRC" - ) ), - TOUT_PARA =SIMP(statut='f',typ='TXM',into=("OUI",) ), - ANGLE =SIMP(statut='f',typ='R', ), - R_CINTR =SIMP(statut='f',typ='R', ), - POSI_CURV_LONGI =SIMP(statut='f',typ='R', ), - POSI_ANGUL =SIMP(statut='f',typ='R', ), - TRANSFORMEE =SIMP(statut='f',typ='TXM',defaut="COUDE",into=("COUDE","TUBE") ), - ), - - IMPRESSION =FACT(statut='f', - FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT", - into=("RESULTAT","ASTER","IDEAS","CASTEM") ), - - b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas", - VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)), - ), - - b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem", - NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)), - ), - - ), - - TITRE =SIMP(statut='f',typ='TXM' ), - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL", - op=OPS('Macro.macr_ascouf_mail_ops.macr_ascouf_mail_ops'), - sd_prod=maillage_sdaster, - fr="Engendre le maillage d'un coude sain ou comportant une fissure ou une (ou plusieurs) sous-épaisseur(s)", - UIinfo={"groupes":("Maillage","Outils-métier",)}, - reentrant='n', - - regles=(EXCLUS('SOUS_EPAIS_COUDE','FISS_COUDE','SOUS_EPAIS_MULTI'),), - - EXEC_MAILLAGE =FACT(statut='o', - LOGICIEL =SIMP(statut='o',typ='TXM',defaut="GIBI2000",into=("GIBI98","GIBI2000") ), - UNITE_DATG =SIMP(statut='f',typ='I',defaut=70), - UNITE_MGIB =SIMP(statut='f',typ='I',defaut=19), - NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,4,5,6,7,8,9,10,11)), - ), - - TYPE_ELEM =SIMP(statut='f',typ='TXM',defaut="CU20",into=("CU20","CUB8") ), - - COUDE =FACT(statut='o', - ANGLE =SIMP(statut='o',typ='R' ), - R_CINTR =SIMP(statut='o',typ='R' ), - L_TUBE_P1 =SIMP(statut='o',typ='R' ), - L_TUBE_P2 =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - NB_ELEM_EPAIS =SIMP(statut='f',typ='I',defaut= 3 ), - SYME =SIMP(statut='f',typ='TXM',defaut="ENTIER",into=("ENTIER","QUART","DEMI") ), - TRANSFORMEE =SIMP(statut='o',typ='TXM',defaut="COUDE",into=("COUDE","TUBE") ), - b_transf_coude =BLOC(condition = "TRANSFORMEE == 'COUDE' ", - DEXT =SIMP(statut='o',typ='R' ), - EPAIS =SIMP(statut='o',typ='R' ), - SUR_EPAIS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - BOL_P2 =SIMP(statut='f',typ='TXM',into=("ASP_MPP","CUVE","GV") ), - ), - b_transf_tube =BLOC(condition = "TRANSFORMEE == 'TUBE' ", - TRAN_EPAIS =SIMP(statut='o',typ='TXM',defaut="NON",into=("OUI","NON") ), - b_trans_epais_oui =BLOC(condition = "TRAN_EPAIS == 'OUI' ", - regles=(ENSEMBLE('ANGL_TETA2','EPAIS_TI'), - UN_PARMI('ABSC_CURV_TRAN','POSI_ANGU_TRAN'),), - DEXT_T1 =SIMP(statut='o',typ='R' ), - EPAIS_T1 =SIMP(statut='o',typ='R' ), - EPAIS_T2 =SIMP(statut='o',typ='R' ), - EPAIS_TI =SIMP(statut='f',typ='R' ), - ANGL_TETA1 =SIMP(statut='o',typ='R' ), - ANGL_TETA2 =SIMP(statut='f',typ='R' ), - ABSC_CURV_TRAN =SIMP(statut='f',typ='R' ), - POSI_ANGU_TRAN =SIMP(statut='f',typ='R' ), - ), - b_trans_epais_non =BLOC(condition = "TRAN_EPAIS == 'NON' ", - DEXT =SIMP(statut='o',typ='R' ), - EPAIS =SIMP(statut='o',typ='R' ), - SUR_EPAIS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - BOL_P2 =SIMP(statut='f',typ='TXM',into=("ASP_MPP","CUVE","GV") ), - ), - ), - ), - - SOUS_EPAIS_COUDE=FACT(statut='f', - regles=(UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL'), - UN_PARMI('POSI_CURV_CIRC','AZIMUT'),), - TYPE =SIMP(statut='o',typ='TXM',into=("AXIS","ELLI") ), - AXE_CIRC =SIMP(statut='f',typ='R' ), - AXE_LONGI =SIMP(statut='o',typ='R' ), - PROFONDEUR =SIMP(statut='o',typ='R' ), - POSI_CURV_LONGI =SIMP(statut='f',typ='R' ), - POSI_ANGUL =SIMP(statut='f',typ='R' ), - POSI_CURV_CIRC =SIMP(statut='f',typ='R' ), - AZIMUT =SIMP(statut='f',typ='R' ), - SOUS_EPAIS =SIMP(statut='o',typ='TXM',into=("INTERNE","EXTERNE") ), - NB_ELEM_LONGI =SIMP(statut='o',typ='I' ), - NB_ELEM_CIRC =SIMP(statut='o',typ='I' ), - NB_ELEM_RADI =SIMP(statut='f',typ='I',defaut= 3 ), - EMPREINTE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - - SOUS_EPAIS_MULTI=FACT(statut='f',max='**', - regles=(UN_PARMI('POSI_CURV_LONGI','POSI_ANGUL'), - UN_PARMI('POSI_CURV_CIRC','AZIMUT'),), - TYPE =SIMP(statut='o',typ='TXM',into=("AXIS","ELLI") ), - AXE_CIRC =SIMP(statut='f',typ='R' ), - AXE_LONGI =SIMP(statut='o',typ='R' ), - PROFONDEUR =SIMP(statut='o',typ='R' ), - POSI_CURV_LONGI =SIMP(statut='f',typ='R' ), - POSI_ANGUL =SIMP(statut='f',typ='R' ), - POSI_CURV_CIRC =SIMP(statut='f',typ='R' ), - AZIMUT =SIMP(statut='f',typ='R' ), - SOUS_EPAIS =SIMP(statut='o',typ='TXM',into=("INTERNE","EXTERNE") ), - NB_ELEM_LONGI =SIMP(statut='o',typ='I' ), - NB_ELEM_CIRC =SIMP(statut='o',typ='I' ), - EMPREINTE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - - FISS_COUDE =FACT(statut='f', - regles=(UN_PARMI('ABSC_CURV','POSI_ANGUL'),), - AXIS =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ), - b_axis_non =BLOC(condition = "AXIS == 'NON' ", - LONGUEUR =SIMP(statut='o',typ='R' ), - ), - b_axis_oui =BLOC(condition = "AXIS == 'OUI' ", - LONGUEUR =SIMP(statut='f',typ='R' ), - ), - PROFONDEUR =SIMP(statut='o',typ='R' ), - ABSC_CURV =SIMP(statut='f',typ='R' ), - POSI_ANGUL =SIMP(statut='f',typ='R' ), - FISSURE =SIMP(statut='o',typ='TXM',into=("DEB_INT","DEB_EXT") ), - AZIMUT =SIMP(statut='f',typ='R',defaut= 90. ), - ORIEN =SIMP(statut='o',typ='R', - into=(45.,-45.,90.,0.E+0) ), - NB_TRANCHE =SIMP(statut='o',typ='I' ), - NB_SECTEUR =SIMP(statut='o',typ='I' ), - NB_COURONNE =SIMP(statut='o',typ='I' ), - RAYON_TORE =SIMP(statut='f',typ='R' ), - COEF_MULT_RC2 =SIMP(statut='f',typ='R',defaut= 1. ), - COEF_MULT_RC3 =SIMP(statut='f',typ='R' ), - ANGL_OUVERTURE =SIMP(statut='f',typ='R',defaut= 0.5 ), - ), - - IMPRESSION =FACT(statut='f',max='**', - regles=(PRESENT_PRESENT('FICHIER','UNITE'),), - FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER", - into=("ASTER","IDEAS","CASTEM") ), - b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas", - VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)), - ), - b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem", - NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)), - ), - FICHIER =SIMP(statut='f',typ='TXM' ), - UNITE =SIMP(statut='f',typ='I' ), - ), - - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -def macr_aspic_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS_1,FOND_FISS_2,RESU_THER,**args): - if MODELE != None:self.type_sdprod(MODELE,modele_sdaster) - if CHAM_MATER != None:self.type_sdprod(CHAM_MATER,cham_mater) - if CARA_ELEM != None:self.type_sdprod(CARA_ELEM,cara_elem) - if FOND_FISS_1 != None:self.type_sdprod(FOND_FISS_1,fond_fiss) - if FOND_FISS_2 != None:self.type_sdprod(FOND_FISS_2,fond_fiss) - if RESU_THER != None:self.type_sdprod(RESU_THER,evol_ther) - return evol_noli - -MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC", - op=OPS('Macro.macr_aspic_calc_ops.macr_aspic_calc_ops'), - sd_prod=macr_aspic_calc_prod, - fr="Réalise un calcul prédéfini de piquages sains ou fissurés " \ - "ainsi que les post-traitements associés ", - UIinfo={"groupes":("Résolution","Outils-métier",)}, - reentrant='n', - - TYPE_MAILLAGE =SIMP(statut='o',typ='TXM', - into=("SAIN_FIN","SAIN_GROS","FISS_COUR_DEB","FISS_COUR_NONDEB","FISS_LONG_DEB", - "FISS_LONG_NONDEB","FISS_AXIS_DEB","FISS_AXIS_NONDEB") ), - - TUBULURE =FACT(statut='o', - TYPE =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2") ), - ), - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), - MODELE =SIMP(statut='f',typ=CO,), - CHAM_MATER =SIMP(statut='f',typ=CO,), - CARA_ELEM =SIMP(statut='f',typ=CO,), - FOND_FISS_1 =SIMP(statut='f',typ=CO,), - FOND_FISS_2 =SIMP(statut='f',typ=CO,), - RESU_THER =SIMP(statut='f',typ=CO,), - - AFFE_MATERIAU =FACT(statut='o',max=3, - regles=(UN_PARMI('TOUT','GROUP_MA'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), - GROUP_MA =SIMP(statut='f',typ=grma,into=("TUBU","CORP","SOUD","SOUDCORP","SOUDTUBU") ), - MATER =SIMP(statut='o',typ=mater_sdaster), - TEMP_REF =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - RCCM =SIMP(statut='o',typ='TXM',into=("OUI","NON")), - ), - - EQUILIBRE =FACT(statut='o', - NOEUD =SIMP(statut='o',typ=no), - ), - - PRES_REP =FACT(statut='o', - PRES =SIMP(statut='o',typ='R'), - NOEUD =SIMP(statut='f',typ=no), - EFFE_FOND =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - PRES_LEVRE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - - ECHANGE =FACT(statut='f', - COEF_H_TUBU =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - COEF_H_CORP =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - TEMP_EXT =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - - TORS_CORP =FACT(statut='f',max=6, - regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), - NOEUD =SIMP(statut='o',typ=no), - FX =SIMP(statut='f',typ='R'), - FY =SIMP(statut='f',typ='R'), - FZ =SIMP(statut='f',typ='R'), - MX =SIMP(statut='f',typ='R'), - MY =SIMP(statut='f',typ='R'), - MZ =SIMP(statut='f',typ='R'), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - - TORS_TUBU =FACT(statut='f',max=6, - regles=(AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ'),), - FX =SIMP(statut='f',typ='R'), - FY =SIMP(statut='f',typ='R'), - FZ =SIMP(statut='f',typ='R'), - MX =SIMP(statut='f',typ='R'), - MY =SIMP(statut='f',typ='R'), - MZ =SIMP(statut='f',typ='R'), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - - COMPORTEMENT =C_COMPORTEMENT('MACR_ASPIC_CALC'), - - THETA_3D =FACT(statut='f',max='**', - R_INF =SIMP(statut='o',typ='R'), - R_SUP =SIMP(statut='o',typ='R'), - ), - - OPTION =SIMP(statut='f',typ='TXM',into=("CALC_G_MAX","CALC_G_MAX_LOCAL") ), - BORNES =FACT(statut='f',max='**', - NUME_ORDRE =SIMP(statut='o',typ='I'), - VALE_MIN =SIMP(statut='o',typ='R'), - VALE_MAX =SIMP(statut='o',typ='R'), - ), - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('MACR_ASPIC_CALC'), -#------------------------------------------------------------------- - - CONVERGENCE =C_CONVERGENCE(), - - NEWTON =C_NEWTON(), - - RECH_LINEAIRE =C_RECH_LINEAIRE(), - - INCREMENT =C_INCREMENT('MECANIQUE'), - - PAS_AZIMUT =SIMP(statut='f',typ='I',defaut=1), - - ENERGIE =FACT(statut='f',max=1, - CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), - ), - - IMPRESSION =FACT(statut='f', - FORMAT =SIMP(statut='f',typ='TXM',defaut="RESULTAT", - into=("RESULTAT","ASTER","CASTEM","IDEAS")), - - b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas", - VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)), - ), - - b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem", - NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)), - ), - - b_extrac =BLOC(condition="((FORMAT=='IDEAS')or(FORMAT=='CASTEM'))", - fr="extraction d un champ de grandeur", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST'),), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","SIEQ_ELNO","TEMP")), - - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - ), - ), - - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - - TITRE =SIMP(statut='f',typ='TXM'), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - - -MACR_ASPIC_MAIL=MACRO(nom="MACR_ASPIC_MAIL", - op=OPS('Macro.macr_aspic_mail_ops.macr_aspic_mail_ops'), - sd_prod=maillage_sdaster, - reentrant='n', - fr="Engendre le maillage d'un piquage sain ou avec fissure (longue ou courte)", - UIinfo={"groupes":("Maillage","Outils-métier",)}, - - EXEC_MAILLAGE =FACT(statut='o', - LOGICIEL =SIMP(statut='o',typ='TXM',defaut="GIBI2000",into=("GIBI98","GIBI2000")), - UNITE_DATG =SIMP(statut='f',typ='I',defaut=70), - UNITE_MGIB =SIMP(statut='f',typ='I',defaut=19), - NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,4,5,6,7,8,9,10,11)), - ), - - TYPE_ELEM =SIMP(statut='f',typ='TXM',defaut="CU20",into=("CU20","CUB8")), - - RAFF_MAIL =SIMP(statut='f',typ='TXM',defaut="GROS",into=("GROS","FIN")), - - TUBULURE =FACT(statut='o', - E_BASE =SIMP(statut='o',typ='R'), - DEXT_BASE =SIMP(statut='o',typ='R'), - L_BASE =SIMP(statut='o',typ='R'), - L_CHANF =SIMP(statut='o',typ='R'), - E_TUBU =SIMP(statut='o',typ='R'), - DEXT_TUBU =SIMP(statut='o',typ='R'), - Z_MAX =SIMP(statut='o',typ='R'), - TYPE =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2")), - L_PENETR =SIMP(statut='f',typ='R',defaut= 0.0E+0), - ), - - SOUDURE =FACT(statut='o', - H_SOUD =SIMP(statut='o',typ='R'), - ANGL_SOUD =SIMP(statut='o',typ='R'), - JEU_SOUD =SIMP(statut='o',typ='R'), - ), - - CORPS =FACT(statut='o', - E_CORP =SIMP(statut='o',typ='R'), - DEXT_CORP =SIMP(statut='o',typ='R'), - X_MAX =SIMP(statut='o',typ='R'), - ), - - FISS_SOUDURE =FACT(statut='f', - TYPE =SIMP(statut='o',typ='TXM',into=("LONGUE","COURTE")), - AXIS =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - PROFONDEUR =SIMP(statut='o',typ='R'), - LONGUEUR =SIMP(statut='f',typ='R'), - AZIMUT =SIMP(statut='o',typ='R'), - RAYON_TORE =SIMP(statut='f',typ='R'), - POSITION =SIMP(statut='o',typ='TXM',into=("DROIT","INCLINE")), - FISSURE =SIMP(statut='o',typ='TXM',into=("DEB_INT","DEB_EXT","NON_DEB","TRAVERS")), - LIGA_INT =SIMP(statut='f',typ='R'), - ANGL_OUVERTURE =SIMP(statut='f',typ='R',defaut= 0.0E+0), - COEF_MULT_RC1 =SIMP(statut='f',typ='R'), - COEF_MULT_RC2 =SIMP(statut='f',typ='R'), - COEF_MULT_RC3 =SIMP(statut='f',typ='R'), - NB_TRANCHE =SIMP(statut='f',typ='I'), - NB_SECTEUR =SIMP(statut='f',typ='I'), - NB_COURONNE =SIMP(statut='f',typ='I'), - ), - - IMPRESSION =FACT(statut='f',max='**', - regles=(PRESENT_PRESENT('FICHIER','UNITE'),), - FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","IDEAS","CASTEM")), - - b_format_ideas =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas", - VERSION =SIMP(statut='f',typ='I',defaut=5,into=(4,5)), - ), - - b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem", - NIVE_GIBI =SIMP(statut='f',typ='I',defaut=10,into=(3,10)), - ), - FICHIER =SIMP(statut='f',typ='TXM'), - UNITE =SIMP(statut='f',typ='I'), - ), - - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jean-luc.flejou at edf.fr - - -MACR_CARA_POUTRE=MACRO(nom="MACR_CARA_POUTRE", - op=OPS('Macro.macr_cara_poutre_ops.macr_cara_poutre_ops'), - sd_prod=table_sdaster, - reentrant='n', - UIinfo={"groupes":("Modélisation",)}, - fr="Calculer les caractéristiques d'une section transversale de " \ - "poutre à partir d'un maillage 2D de la section", - regles=( - EXCLUS('SYME_Y','GROUP_MA_BORD'), - EXCLUS('SYME_Z','GROUP_MA_BORD'), - ), - - MAILLAGE =SIMP(statut='f',typ=maillage_sdaster, fr="Nom du concept maillage"), - b_maillage =BLOC( - condition = "MAILLAGE == None", - regles=( PRESENT_PRESENT('FORMAT','UNITE') ), - FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","MED"), - fr="Format du fichier"), - UNITE =SIMP(statut='f',typ='I',defaut= 20, - fr="Unite correspondant au format du fichier maillage"), - ), - - ORIG_INER =SIMP(statut='f',typ='R',max=3,defaut=(0.E+0,0.E+0), - fr="Point par rapport auquel sont calculées les inerties"), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - - TABLE_CARA =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON",), - - SYME_Y =SIMP(statut='f',typ='TXM',into=("OUI",), fr="demi maillage par rapport a y=0"), - SYME_Z =SIMP(statut='f',typ='TXM',into=("OUI",), fr="demi maillage par rapport a z=0"), - - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="Calcul des caractéristiques équivalentes à plusieurs sections disjointes"), - - GROUP_MA_BORD =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="Groupe(s) de mailles linéiques, bord(s) de(s) section(s)"), - - b_nom =BLOC( - condition = """(TABLE_CARA == 'OUI') and (GROUP_MA == None)""", - NOM =SIMP(statut='f',typ='TXM',max=1,validators=LongStr(1,8), - fr="Nom de la section, 8 caractères maximum.") - ), - - b_gma_bord =BLOC( - condition = "GROUP_MA_BORD != None", - fr=" calcul des carac. mecaniques", - regles=(UN_PARMI('NOEUD','GROUP_NO')), - NOEUD =SIMP(statut='f',typ=no,max='**', - fr="Simplement pour empecher des pivots nuls le cas echeant. " - "Fournir un noeud quelconque"), - GROUP_NO =SIMP(statut='f',typ=grno,max='**', - fr="Simplement pour empecher des pivots nuls le cas echeant. " - "Fournir un noeud quelconque par GROUP_MA"), - GROUP_MA_INTE =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="groupes de mailles linéiques bordant des trous dans la section"), - ), - - b_reseau = BLOC( - condition ="""(GROUP_MA_BORD != None) and (GROUP_MA != None)""", - fr=" calcul des coef de cisaillement équivalents a un reseau de poutres", - regles=(ENSEMBLE('LONGUEUR','LIAISON','MATERIAU') ,), - LONGUEUR =SIMP(statut='f',typ='R', - fr="Longueur du réseau de poutres"), - MATERIAU =SIMP(statut='f',typ=mater_sdaster, - fr="Materiau elastique lineaire du reseau"), - LIAISON =SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT"), - fr="type de conditions aux limites sur le plancher supérieur" ), - ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr - - -def macr_ecla_pg_prod(self,RESULTAT,MAILLAGE,RESU_INIT,**args): - self.type_sdprod(RESULTAT,AsType(RESU_INIT)) - self.type_sdprod(MAILLAGE,maillage_sdaster) - return None - - -MACR_ECLA_PG=MACRO(nom="MACR_ECLA_PG", - op=OPS('Macro.macr_ecla_pg_ops.macr_ecla_pg_ops'), - sd_prod=macr_ecla_pg_prod, - reentrant='n', - UIinfo={"groupes":("Post-traitements","Résultats et champs",)}, - fr="Permettre la visualisation des champs aux points de Gauss d'une " \ - "SD_RESULTAT sans lissage ni interpolation", - - # SD résultat ,modèle et champs à "éclater" : - RESU_INIT =SIMP(statut='o',typ=resultat_sdaster,fr="RESULTAT à éclater",), - MODELE_INIT =SIMP(statut='o',typ=modele_sdaster,fr="MODELE à éclater"), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO('ELGA'),), - - # paramètres numériques de la commande : - SHRINK =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ), - TAILLE_MIN =SIMP(statut='f',typ='R',defaut= 0.0, fr="Taille minimale d'un coté" ), - - # concepts produits par la commande : - RESULTAT =SIMP(statut='o',typ=CO,fr="SD_RESULTAT résultat de la commande"), - MAILLAGE =SIMP(statut='o',typ=CO,fr="MAILLAGE associé aux cham_no de la SD_RESULTAT"), - - # Sélection éventuelle d'un sous-ensemble des éléments à visualiser : - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - - # Sélection des numéros d'ordre : - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: marina.bottoni at edf.fr - - -def macr_ecre_calc_prod(self,TABLE,DEBIT,**args): - - self.type_sdprod(TABLE,table_sdaster) - self.type_sdprod(DEBIT,table_sdaster) - return None - -MACR_ECRE_CALC=MACRO(nom="MACR_ECRE_CALC", - op=OPS('Macro.macr_ecre_calc_ops.macr_ecre_calc_ops'), - sd_prod=macr_ecre_calc_prod, - reentrant='n', - UIinfo={"groupes":("Résolution","Outils-métier",)}, - fr="Procedure de couplage avec Ecrevisse", - - regles = (UN_PARMI('LOGICIEL','VERSION'),), - -# CONCEPTS SORTANT : 2 TABLES POUR LE POST-TRAITEMENT -# ******************************************** - TABLE =SIMP(statut='o',typ=CO), - DEBIT =SIMP(statut='o',typ=CO), - -# DONNEES GEOMETRIQUES RELATIVES A LA FISSURE -# ******************************************* - - FISSURE =FACT(statut='o',min=1,max=1, - LONGUEUR =SIMP(statut='o',typ='R',val_min=0.E+0,fr="Longueur de la fissure [zl]"), - RUGOSITE =SIMP(statut='o',typ='R',fr="Rugosite absolu (metres) [eps]"), - ANGLE =SIMP(statut='o',typ='R',fr="Angle par rapport a l'ascendante verticale (degres)"), - ZETA =SIMP(statut='o',typ='R',fr="Coefficient de la perte de charge singuliere a l'entree [zeta]"), - SECTION =SIMP(statut='o',typ='TXM',into=("ELLIPSE","RECTANGLE"),fr="Type de section [is]"), - b_section_ellipse =BLOC(condition="SECTION=='ELLIPSE'",fr="Fissure a section elliptique", - LISTE_COTES_AH =SIMP(statut='o',typ='R',max='**', - fr="Liste des cotes des points definissant le grand axe de la section", - validators=NoRepeat()), - LISTE_VAL_AH =SIMP(statut='o',typ='R',max='**', - fr="Liste des valeurs des points definissant le grand axe de la section",), - LISTE_COTES_BL =SIMP(statut='o',typ='R',max='**', - fr="Liste des cotes des points definissant le petit axe de la section", - validators=NoRepeat()), - LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**', - fr="Liste des valeurs des points definissant le petit axe de la section",), - ), - b_section_rectangle =BLOC(condition="SECTION=='RECTANGLE'",fr="Fissure a section rectangulaire", - LISTE_COTES_AH =SIMP(statut='o',typ='R',max='**', - fr="Liste des cotes des points definissant la hauteur de la section", - validators=NoRepeat()), - LISTE_VAL_AH =SIMP(statut='o',typ='R',max='**', - fr="Liste des valeurs des points definissant la hauteur de la section",), - LISTE_COTES_BL =SIMP(statut='o',typ='R',max='**', - fr="Liste des cotes des points definissant la largeur de la section", - validators=NoRepeat()), - LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**', - fr="Liste des valeurs des points definissant la largeur de la section",), - ), - ), - - -# DONNEES RELATIVES A L"ECOULEMENT -# ******************************** - - ECOULEMENT =FACT(statut='f',min=1,max=1, - PRES_ENTREE =SIMP(statut='o',typ='R',fr="Pression de stagnation a l'entree (Pa) [pe]" ), - PRES_SORTIE =SIMP(statut='o',typ='R',fr="Pression de stagnation a la sortie (Pa) [ps]" ), - FLUIDE_ENTREE =SIMP(statut='o',typ='I',into=(1,2,3,4,5,6),fr="Condition du fluide a l'entree [iflow]" ), - b_condition_1 =BLOC(condition="FLUIDE_ENTREE==1",fr="Eau sous-refroidie ou saturee", - TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - ), - b_condition_2 =BLOC(condition="FLUIDE_ENTREE==2",fr="Fluide diphasique", - TITR_MASS =SIMP(statut='o',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ), - ), - b_condition_3 =BLOC(condition="FLUIDE_ENTREE==3",fr="Vapeur saturee ou surchauffee", - TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - ), - b_condition_4 =BLOC(condition="FLUIDE_ENTREE==4",fr="Air + vapeur surchauffee", - TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - PRES_PART =SIMP(statut='o',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ), - ), - b_condition_5 =BLOC(condition="FLUIDE_ENTREE==5",fr="Air + vapeur saturee", - TITR_MASS =SIMP(statut='o',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ), - PRES_PART =SIMP(statut='o',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ), - ), - b_condition_6 =BLOC(condition="FLUIDE_ENTREE==6",fr="Air seul", - TEMP_ENTREE =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - ), - ), - - -# DONNEES RELATIVES AU PROFIL DE TEMPERATURE A TRAVERS LA PAROI -# ************************************************************* - - TEMPERATURE =FACT(statut='f',min=1,max=1, - GRADIENT =SIMP(statut='o',typ='TXM',into=("FOURNI","IMPOSE","CALCULE"), - fr="Modele de calcul du gradient de temperature [imograd]" ), - b_gradient_fourni =BLOC(condition="GRADIENT=='FOURNI'",fr="Distribution de temperature fournie [imograd=-1]", - LISTE_COTES_TEMP =SIMP(statut='o',typ='R',max='**',fr="Liste des cotes pour les temperatures", - validators=NoRepeat() ), - LISTE_VAL_TEMP =SIMP(statut='o',typ='R',max='**',fr="Liste des valeurs de temperature", ), - ), - b_gradient_impose =BLOC(condition="GRADIENT=='IMPOSE'",fr="Distribution imposee de temperature [imograd=0]", - TEMP1 =SIMP(statut='o',typ='R', - fr="Gradient de temperature de la paroi le long de l'ecoulement (degC/m) [tm1]", ), - TEMP2 =SIMP(statut='o',typ='R',fr="Temperature de la paroi a l'entree (degC) [tm2]", ), - ), - b_gradient_calcule =BLOC(condition="GRADIENT=='CALCULE'",fr="Profil de temperature calcule [imograd=1]", - EPAISSEUR_PAROI =SIMP(statut='o',typ='R',fr="Epaisseur de la paroi (m) [epp]", ), - CONVECTION_AMONT =SIMP(statut='o',typ='R', - fr="Coefficient de convection a la surface de la paroi cote amont (W/degC/m2) [alphe]", ), - CONVECTION_AVAL =SIMP(statut='o',typ='R', - fr="Coefficient de convection a la surface de la paroi cote aval (W/degC/m2) [alphs]", ), - LAMBDA =SIMP(statut='o',typ='R',fr="Conduction thermique de la paroi (W/degC/m) [lambd]", ), - TEMP_FLUIDE_AVAL =SIMP(statut='o',typ='R',fr="Temperature du fluide cote aval (degC) [ts]", ), - ), - ), - - -# CHOIX DES MODELES -# ***************** - - MODELE_ECRE =FACT(statut='f',min=1,max=1, - IVENAC =SIMP(statut='f', typ='I', into=(0,1), defaut=0, - fr="Calcul ECREVISSE avec prise en compte de la vena contracta"), - ECOULEMENT =SIMP(statut='o',typ='TXM',into=("SATURATION","GELE"), - fr="Type de modele d'ecoulement diphasique [imod]" ), - b_ecou_gele =BLOC(condition="ECOULEMENT=='GELE'",fr="Modele d'ecoulement gele", - PRESS_EBULLITION =SIMP(statut='o',typ='R',fr="Pression d'ebullition [corrp*psat(t)]"), - ), - FROTTEMENT =SIMP(statut='o',typ='I',into=(-4,-3,-2,-1,0,1,2,3,4,11,12,13,14),fr="Correlation de frottement [ifrot]"), - b_frottement =BLOC(condition="FROTTEMENT<0",fr="Modele d'ecoulement gele", - REYNOLDS_LIM =SIMP(statut='o',typ='R',fr="Coefficient de Reynolds limite [relim]"), - FROTTEMENT_LIM =SIMP(statut='o',typ='R',fr="Coefficient de frottement impose [frtlim]"), - ), - - TRANSFERT_CHAL =SIMP(statut='o',typ='I',into=(-12,-11,-2,-1,0,1,2,11,12),fr="Transfert de chaleur [ichal]"), - b_transchal =BLOC(condition="TRANSFERT_CHAL<0", fr="Cas diphasique", - XMINCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux min [xminch]"), - XMAXCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux max [xmaxch]"), - ), - ), - - -# DONNEES RELATIVES A LA CONVERGENCE NUMERIQUE -# ******************************************** - - CONVERGENCE =FACT(statut='f',min=1,max=1, - KGTEST =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 0.5E+0, - fr="Parametre de l'algorithme iteratif [kgtest]" ), - ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 400, - fr="Nombre maximum d'iterations de la methode de Newton [itnmax]" ), - CRIT_CONV_DEBI =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 1.E-5, - fr="Critere de convergence en debit [precdb]" ), - ), - - -# GENERAL -# ******* - - COURBES =SIMP(statut='f',typ='TXM',into=("INTERACTIF","POSTSCRIPT","AUCUNE"),defaut="AUCUNE", - fr="Generation eventuelle des courbes" ), - LOGICIEL =SIMP(statut='f',typ='TXM',validators=LongStr(1,255),), - VERSION =SIMP(statut='f',typ='TXM',into = ("3.2.1",) ), - ENTETE =SIMP(statut='f',typ='TXM',max='**',defaut="Titre du calcul Ecrevisse" ), - IMPRESSION =SIMP(statut='f',typ='TXM',defaut='NON',into=( 'OUI','NON') ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: marina.bottoni at edf.fr - - -def macr_ecrevisse_prod(self,TABLE,TEMPER,DEBIT,**args): - # On definit ici les concepts produits - self.type_sdprod(TABLE,table_sdaster) - self.type_sdprod(TEMPER,evol_ther) - self.type_sdprod(DEBIT,table_sdaster) - # concept retourne - return evol_noli - - -MACR_ECREVISSE=MACRO(nom="MACR_ECREVISSE", - op=OPS('Macro.macr_ecrevisse_ops.macr_ecrevisse_ops'), - sd_prod=macr_ecrevisse_prod, - reentrant='f', - UIinfo={"groupes":("Résolution","Outils-métier",)}, - fr="Procedure de couplage avec Ecrevisse", - - reuse = SIMP(statut='f',typ='evol_noli'), - regles = (EXCLUS('TEMPER','ETAT_INIT'), - UN_PARMI('LOGICIEL','VERSION'),), - -# CONCEPT SORTANT -# ******************************************** - TABLE =SIMP(statut='f',typ=CO), - DEBIT =SIMP(statut='f',typ=CO), - TEMPER =SIMP(statut='f',typ=CO), - -# ETAT_INITIAL -# ******************************************** - ETAT_INIT =FACT(statut='f', - EVOL_NOLI =SIMP(statut='o',typ=evol_noli), - EVOL_THER =SIMP(statut='o',typ=evol_ther), - NUME_ORDRE =SIMP(statut='o',typ='I'), - ), - - -# MODELES MECANIQUES -# ******************************************** - MODELE_MECA =SIMP(statut='o',typ=modele_sdaster), - MODELE_THER =SIMP(statut='o',typ=modele_sdaster), - - -# DONNEES GEOMETRIQUES RELATIVES A LA FISSURE -# ******************************************* - FISSURE =FACT(statut='o',min=1,max='**', - PREFIXE_FICHIER =SIMP(statut='f',typ='TXM',validators=LongStr(1,8)), - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),min=2,max=2, - fr="Groupe(s) des noeuds definissant les levres de la fissure"), - GROUP_NO_ORIG =SIMP(statut='o',typ=grno,validators=NoRepeat(),min=2,max=2), - GROUP_NO_EXTR =SIMP(statut='o',typ=grno,validators=NoRepeat(),min=2,max=2), - ZETA =SIMP(statut='o',typ='R',fr="Coefficient de la perte de charge singuliere a l'entree [zeta]" ), - RUGOSITE =SIMP(statut='o',typ='R',fr="Rugosite absolu (metres) [eps]" ), - TORTUOSITE =SIMP(statut='f',typ='R',defaut=1.0, val_min=0., val_max=1.0, - fr="Coefficient de tortuosite de la fissure" ), - OUVERT_REMANENTE =SIMP(statut='o',typ='R',val_min=0.,fr="Ouverture remanente"), - SECTION =SIMP(statut='o',typ='TXM',into=("ELLIPSE","RECTANGLE"),fr="Type de section [is]" ), - b_section_ellipse =BLOC(condition="SECTION=='ELLIPSE'",fr="Fissure a section elliptique", - LISTE_COTES_BL =SIMP(statut='f',typ='R',max='**', - fr="Liste des cotes des points definissant le petit axe de la section", - validators=NoRepeat() ), - LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**', - fr="Liste des valeurs des points definissant le petit axe de la section", ), - ), - b_section_rectangle =BLOC(condition="SECTION=='RECTANGLE'",fr="Fissure a section rectangulaire", - LISTE_COTES_BL =SIMP(statut='f',typ='R',max='**', - fr="Liste des cotes des points definissant la largeur de la section",validators=NoRepeat()), - LISTE_VAL_BL =SIMP(statut='o',typ='R',max='**', - fr="Liste des valeurs des points definissant la largeur de la section", ), - ), - ), - - -# DONNEES RELATIVES A L"ECOULEMENT -# ******************************** - ECOULEMENT =FACT(statut='o',min=1,max=1, - regles=(UN_PARMI('PRES_ENTREE','PRES_ENTREE_FO'), - UN_PARMI('PRES_SORTIE','PRES_SORTIE_FO'), - ), - PRES_ENTREE =SIMP(statut='f',typ='R',fr="Pression de stagnation a l'entree (Pa) [pe]" ), - PRES_ENTREE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Evolution de la pression de stagnation a l'entree (Pa) [pe]" ), - PRES_SORTIE =SIMP(statut='f',typ='R',fr="Pression de stagnation a la sortie (Pa) [ps]" ), - PRES_SORTIE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Evolution de la pression de stagnation a la sortie (Pa) [ps]" ), - FLUIDE_ENTREE =SIMP(statut='o',typ='I',into=(1,2,3,4,5,6),fr="Condition du fluide a l'entree [iflow]" ), - b_condition_1 =BLOC(condition="FLUIDE_ENTREE==1", - regles=(UN_PARMI('TEMP_ENTREE', 'TEMP_ENTREE_FO')), - fr="Eau sous-refroidie ou saturee", - TEMP_ENTREE =SIMP(statut='f',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - TEMP_ENTREE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Evolution de la temperature a l'entree (degres C) [te]" ), - ), - b_condition_2 =BLOC(condition="FLUIDE_ENTREE==2", - regles=(UN_PARMI('TITR_MASS', 'TITR_MASS_FO')), - fr="Fluide diphasique", - TITR_MASS =SIMP(statut='f',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ), - TITR_MASS_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Evolution du titre massique eau vap/eau tot a l'entree [xe]" ), - ), - b_condition_3 =BLOC(condition="FLUIDE_ENTREE==3", - regles=(UN_PARMI('TEMP_ENTREE', 'TEMP_ENTREE_FO')), - fr="Vapeur saturee ou surchauffee", - TEMP_ENTREE =SIMP(statut='f',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - TEMP_ENTREE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Evolution de la temperature a l'entree (degres C) [te]" ), - ), - b_condition_4 =BLOC(condition="FLUIDE_ENTREE==4", - regles=(UN_PARMI('TEMP_ENTREE', 'TEMP_ENTREE_FO'), - UN_PARMI('PRES_PART', 'PRES_PART_FO')), - fr="Air + vapeur surchauffee", - TEMP_ENTREE =SIMP(statut='f',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - TEMP_ENTREE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Evolution de la temperature a l'entree (degres C) [te]" ), - PRES_PART =SIMP(statut='f',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ), - PRES_PART_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Evolution de la pression partielle air en entree (Pa) [pae]" ), - ), - b_condition_5 =BLOC(condition="FLUIDE_ENTREE==5", - regles=(UN_PARMI('TITR_MASS', 'TITR_MASS_FO'), - UN_PARMI('PRES_PART', 'PRES_PART_FO')), - fr="Air + vapeur saturee", - TITR_MASS =SIMP(statut='f',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ), - TITR_MASS_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Evolution du titre massique eau vap/eau tot a l'entree [xe]" ), - PRES_PART =SIMP(statut='f',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ), - PRES_PART_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Evolution de la pression partielle air en entree (Pa) [pae]" ), - ), - b_condition_6 =BLOC(condition="FLUIDE_ENTREE==6", - regles=(UN_PARMI('TEMP_ENTREE', 'TEMP_ENTREE_FO')), - fr="Air seul", - TEMP_ENTREE =SIMP(statut='f',typ='R',fr="Temperature a l'entree (degres C) [te]" ), - TEMP_ENTREE_FO =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule), - fr="Evolution de la temperature a l'entree (degres C) [te]" ), - ), - ), - - LIST_INST =SIMP(statut='f',typ=(listr8_sdaster), fr="Liste des instants de calcul imposes" ), - -# CHOIX DES MODELES -# ***************** - - MODELE_ECRE =FACT(statut='o',min=1,max=1, - IVENAC =SIMP(statut='f', typ='I', into=(0,1), defaut=0, - fr="Calcul ECREVISSE avec prise en compte de la vena contracta"), - ECOULEMENT =SIMP(statut='o',typ='TXM',into=("SATURATION","GELE"), - fr="Type de modele d'ecoulement diphasique [imod]" ), - b_ecou_gele =BLOC(condition="ECOULEMENT=='GELE'",fr="Modele d'ecoulement gele", - PRESS_EBULLITION =SIMP(statut='o',typ='R',fr="Pression d'ebullition [corrp*psat(t)]" ), - ), - FROTTEMENT =SIMP(statut='o',typ='I',into=(-4,-3,-2,-1,0,1,2,3,4,11,12,13,14),fr="Correlation de frottement [ifrot]" ), - b_frottement =BLOC(condition="FROTTEMENT<0",fr="Modele d'ecoulement gele", - REYNOLDS_LIM =SIMP(statut='o',typ='R',fr="Coefficient de Reynolds limite [relim]" ), - FROTTEMENT_LIM =SIMP(statut='o',typ='R',fr="Coefficient de frottement impose [frtlim]" ), - ), - - TRANSFERT_CHAL =SIMP(statut='o',typ='I',into=(-12,-11,-2,-1,0,1,2,11,12),fr="Transfert de chaleur [ichal]" ), - b_transchal =BLOC(condition="TRANSFERT_CHAL<0", fr="Cas diphasique", - XMINCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux min [xminch]"), - XMAXCH =SIMP(statut='o',typ='R',fr="Titre massique gazeux max [xmaxch]"), - ), - ), - - -# CRITERE DE CONVERGENCE -# ********************** - - CONV_CRITERE =FACT(statut='o',min=1,max=1, - TEMP_REF =SIMP(statut='o',typ='R',val_min=1.0E-5,fr="Temperature de reference pour le calcul du critere"), - PRES_REF =SIMP(statut='o',typ='R',val_min=1.0E-5,fr="Pression de reference pour le calcul du critere"), - CRITERE =SIMP(statut='o',typ='TXM',defaut="TEMP_PRESS",into=("TEMP_PRESS","EXPLICITE","TEMP","PRESS"), - fr="La nature du critere pour la convergence"), - b_critere_autre =BLOC(condition="CRITERE=='TEMP_PRESS' or CRITERE=='TEMP' or CRITERE=='PRESS'", - fr="Critere de convergence temp_press, temp, ou press", - SUBD_NIVEAU =SIMP(statut='f',typ='I',val_min=2,defaut=3, - fr="Nombre maximum de niveau de subdivision d'un pas de temps"), - SUBD_PAS_MINI =SIMP(statut='f',typ='R',val_min=0.0, fr="Pas de temps en dessous duquel on ne subdivise plus"), - NUME_ORDRE_MIN =SIMP(statut='f',typ='I',val_min=-1,defaut=-1, - fr="Numero d'ordre a partir duquel le critere est pris en compte"), - PREC_CRIT =SIMP(statut='f',typ='R',val_min=1.0E-2,defaut=1.0, - fr="Valeur du critere pour l'erreur de convergence"), - ), - ), - - -# DONNEES RELATIVES A LA CONVERGENCE NUMERIQUE -# ******************************************** - - CONVERGENCE_ECREVISSE =FACT(statut='f',min=1,max=1, - KGTEST =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 0.5E+0, - fr="Parametre de l'algorithme iteratif [kgtest]" ), - ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 400, - fr="Nombre maximum d'iterations de la methode de Newton [itnmax]" ), - CRIT_CONV_DEBI =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 1.E-5, - fr="Critere de convergence en debit [precdb]" ), - ), - - -# GENERAL -# ******* - - COURBES = SIMP(statut='f',typ='TXM',into=("INTERACTIF","POSTSCRIPT","AUCUNE"),defaut="AUCUNE", - fr="Generation eventuelle des courbes" ), - LOGICIEL = SIMP(statut='f',typ='TXM',validators=LongStr(1,255),), - VERSION = SIMP(statut='f',typ='TXM',into = ("3.2.1",) ), - ENTETE = SIMP(statut='f',typ='TXM',max='**',defaut="Titre du calcul Ecrevisse" ), - IMPRESSION = SIMP(statut='f',typ='TXM',defaut='NON',into=( 'OUI','NON') ), - INFO = SIMP(statut='f',typ='I',defaut="1",into=(1,2) ), - -# DONNEES POUR STAT_NON_LINE ET THER_NON_LINE -# ******************************************* - - # copie de stat_non_line.capy des options des mots cles qui nous interessent - - # donnees communes - - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - - # donnees specifiques a stat_non_line - - EXCIT_MECA =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", - into=("FIXE_CSTE","SUIV","DIDI")), - ), - - CONTACT = SIMP(statut='o',typ=char_contact), - - COMPORTEMENT = C_COMPORTEMENT(), - NEWTON = FACT(statut='d', - REAC_INCR =SIMP(statut='f',typ='I',defaut= 1 ), - PREDICTION =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ), - MATRICE =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ), - PAS_MINI_ELAS =SIMP(statut='f',typ='R',defaut=0.0E+0), - REAC_ITER =SIMP(statut='f',typ='I',defaut=0), - REAC_ITER_ELAS =SIMP(statut='f',typ='I',defaut=0), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - ), - CONVERGENCE = FACT(statut='d',regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),), - b_refe_rela =BLOC(condition = "RESI_REFE_RELA != None", - regles=(AU_MOINS_UN('SIGM_REFE','EPSI_REFE','FLUX_THER_REFE', - 'FLUX_HYD1_REFE','FLUX_HYD2_REFE','VARI_REFE'), - ), - SIGM_REFE =SIMP(statut='f',typ='R'), - EPSI_REFE =SIMP(statut='f',typ='R'), - FLUX_THER_REFE =SIMP(statut='f',typ='R'), - FLUX_HYD1_REFE =SIMP(statut='f',typ='R'), - FLUX_HYD2_REFE =SIMP(statut='f',typ='R'), - VARI_REFE =SIMP(statut='f',typ='R'), - ), - RESI_REFE_RELA =SIMP(statut='f',typ='R'), - RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), - RESI_GLOB_RELA =SIMP(statut='f',typ='R'), - ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut=10), - ITER_GLOB_ELAS =SIMP(statut='f',typ='I',defaut=25), - ARRET =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - ), - - ENERGIE =FACT(statut='f',max=1, - CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), - ), - - # donnees specifiques a ther_lineaire - - EXCIT_THER =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=(char_ther,char_cine_ther)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - PARM_THETA =SIMP(statut='f',typ='R',defaut= 0.57), - -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.corus at edf.fr - -MACR_ELEM_DYNA=OPER(nom="MACR_ELEM_DYNA",op= 81,sd_prod=macr_elem_dyna, - fr="Definition d'un macro element pour analyse modale ou harmonique par sous structuration dynamique", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs","Dynamique",)}, - regles=( - # AMOR_REDUIT et MATR_AMOR sont redondants - EXCLUS('MATR_AMOR','AMOR_REDUIT' ), - - # Si MODELE_MESURE, on ne rentre pas de donnees pour le calcul - EXCLUS('MODELE_MESURE','MATR_RIGI' ), - EXCLUS('MODELE_MESURE','MATR_MASS' ), - EXCLUS('MODELE_MESURE','MATR_AMOR' ), - EXCLUS('MODELE_MESURE','AMOR_REDUIT' ), - EXCLUS('MODELE_MESURE','MATR_IMPE' ), - EXCLUS('MODELE_MESURE','MATR_IMPE_RIGI' ), - EXCLUS('MODELE_MESURE','MATR_IMPE_MASS' ), - EXCLUS('MODELE_MESURE','MATR_IMPE_AMOR' ), - - PRESENT_ABSENT('MATR_IMPE','MATR_IMPE_RIGI'), - PRESENT_ABSENT('MATR_IMPE','MATR_IMPE_MASS'), - PRESENT_ABSENT('MATR_IMPE','MATR_IMPE_AMOR'), - PRESENT_ABSENT('MATR_IMPE','MATR_RIGI','MATR_MASS'), - PRESENT_ABSENT('MATR_IMPE_MASS','MATR_RIGI','MATR_MASS'), - PRESENT_ABSENT('MATR_IMPE_RIGI','MATR_RIGI','MATR_MASS'), - PRESENT_ABSENT('MATR_IMPE_AMOR','MATR_RIGI','MATR_MASS'),), - BASE_MODALE =SIMP(statut='o',typ=mode_meca ), - MATR_RIGI =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c),), - MATR_MASS =SIMP(statut='f',typ=matr_asse_depl_r ), - MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r ), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - SANS_GROUP_NO =SIMP(statut='f',typ=grno ), - MATR_IMPE =SIMP(statut='f',typ=matr_asse_gene_c ), - MATR_IMPE_RIGI =SIMP(statut='f',typ=matr_asse_gene_c ), - MATR_IMPE_MASS =SIMP(statut='f',typ=matr_asse_gene_c ), - MATR_IMPE_AMOR =SIMP(statut='f',typ=matr_asse_gene_c ), - MODELE_MESURE =FACT(statut='f', - FREQ =SIMP(statut='o',typ='R',max='**' ), - MASS_GENE =SIMP(statut='o',typ='R',max='**' ), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**' ), - ), - b_matr_impe =BLOC(condition = "MATR_IMPE != None", - FREQ_EXTR =SIMP(statut='o',typ='R' ), - AMOR_SOL =SIMP(statut='f',typ='R',defaut=0.E+0 ), - MATR_IMPE_INIT =SIMP(statut='f',typ=matr_asse_gene_c ), - ), - CAS_CHARGE =FACT(statut='f',max='**', - NOM_CAS =SIMP(statut='o',typ='TXM'), - VECT_ASSE_GENE =SIMP(statut='o',typ=vect_asse_gene ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -MACR_ELEM_STAT=OPER(nom="MACR_ELEM_STAT",op=86,sd_prod=macr_elem_stat,reentrant='f', - UIinfo={"groupes":("Matrices et vecteurs",)}, - fr="Définition d'un macro-élément pour l'analyse statique par sous-structuration", - regles=(AU_MOINS_UN('DEFINITION','RIGI_MECA','MASS_MECA','CAS_CHARGE'), - ENSEMBLE('DEFINITION','EXTERIEUR'),), - DEFINITION =FACT(statut='f', - regles=(PRESENT_PRESENT('PROJ_MESU','MODE_MESURE'),), - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - CHAR_MACR_ELEM =SIMP(statut='f',typ=char_meca), - INST =SIMP(statut='f',typ='R',defaut=0.0E+0 ), - NMAX_CAS =SIMP(statut='f',typ='I',defaut=10), - NMAX_CHAR =SIMP(statut='f',typ='I',defaut=10), - PROJ_MESU =SIMP(statut='f',typ=(mode_gene,tran_gene,harm_gene),max=1), -# MODE_MESURE =SIMP(statut='f',typ=( mode_meca,base_modale) ), - MODE_MESURE =SIMP(statut='f',typ= mode_meca ), - ), - EXTERIEUR =FACT(statut='f', - regles=(AU_MOINS_UN('NOEUD','GROUP_NO'),), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - ), - RIGI_MECA =FACT(statut='f', - ), - MASS_MECA =FACT(statut='f', - ), - AMOR_MECA =FACT(statut='f', - ), - CAS_CHARGE =FACT(statut='f',max='**', - NOM_CAS =SIMP(statut='o',typ='TXM'), - SUIV =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - CHARGE =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'), - INST =SIMP(statut='f',typ='R',defaut=0.E+0), - ), - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: gerald.nicolas at edf.fr -# -MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL", - op=OPS('Macro.macr_adap_mail_ops.macr_adap_mail_ops'), - docu="U7.03.02",UIinfo={"groupes":("Maillage",)}, - fr="Donner des informations sur un maillage.", - ang="To give information about a mesh.", -# -# 1. Le niveau d'information -# - INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2,3,4)), -# -# 2. Le nom du maillage a analyser -# - MAILLAGE = SIMP(statut='o',typ=maillage_sdaster, - fr="Maillage à analyser.", - ang="Mesh to be checked." ), -# -# 3. Suivi d'une frontiere -# - MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster, - fr="Maillage de la frontiere à suivre", - ang="Boundary mesh" ), -# - b_frontiere = BLOC( condition = " MAILLAGE_FRONTIERE != None " , - fr="Information complémentaire sur la frontière", - ang="Further information about boundary", -# - GROUP_MA_FRONT = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="Groupes de mailles définissant la frontière", - ang="Mesh groups which define the boundary" ), -# - ) , -# -# 4. Les options ; par defaut, on controle tout, sauf l'interpénétration -# 4.1. Nombre de noeuds et mailles -# - NOMBRE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",), - fr="Nombre de noeuds et de mailles du maillage", - ang="Number of nodes and meshes in the mesh" ), -# -# 4.2. Determination de la qualite des mailles du maillage -# - QUALITE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",), - fr="Qualité du maillage", - ang="Quality of the mesh" ), -# -# 4.3. Connexite du maillage -# - CONNEXITE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",), - fr="Connexité du maillage.", - ang="Connexity of the mesh." ), -# -# 4.4. Taille des sous-domaines du maillage -# - TAILLE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",), - fr="Tailles des sous-domaines du maillage.", - ang="Sizes of mesh sub-domains." ), -# -# 4.5. Controle de la non-interpénétration des mailles -# - INTERPENETRATION=SIMP(statut='f',typ='TXM',into=("OUI",), - fr="Controle de la non interpénétration des mailles.", - ang="Overlapping checking." ), -# -# 4.6. Propriétés du maillage de calcul -# - PROP_CALCUL = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",), - fr="Propriétés du maillage de calcul.", - ang="Properties of the calculation mesh." ), -# -# 4.7. Determination des diametres des mailles du maillage -# - DIAMETRE = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",), - fr="Diamètre du maillage", - ang="Diameters of the mesh" ), -# -# 5. Les options avancées -# 5.1. Langue des messages issus de HOMARD -# - LANGUE = SIMP(statut='f',typ='TXM',defaut="FRANCAIS", - into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",), - fr="Langue des messages issus de HOMARD.", - ang="Language for HOMARD messages." ), -# -# 5.2. Gestion des mailles acceptees dans le maillage initial -# "HOMARD" : exclusivement les mailles pouvant etre decoupees (defaut) -# "IGNORE_PYRA" : elles sont ignorées -# - ELEMENTS_ACCEPTES = SIMP(statut='f',typ='TXM',defaut="HOMARD",into=("HOMARD", "IGNORE_PYRA"), - fr="Acceptation des mailles dans le maillage initial", - ang="Elements in the very first mesh" ), -# -# 5.3. Version de HOMARD -# - VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V10_6", - into=("V10_6", "V10_N", "V10_N_PERSO"), - fr="Version de HOMARD", - ang="HOMARD release"), -# -# 5.4. Exécutable pilotant HOMARD -# - LOGICIEL = SIMP(statut='f',typ='TXM', - fr="Logiciel pilotant HOMARD", - ang="HOMARD software"), -# -# 5.5. Unite logique d'un fichier à ajouter a HOMARD.Configuration -# - b_unite = BLOC( condition = " (VERSION_HOMARD == 'V10_N') or \ - (VERSION_HOMARD == 'V10_N_PERSO') " , - fr="Fichier supplementaire.", - ang="Additional file.", -# - UNITE = SIMP(statut='f',typ='I', - fr="Unite logique a ajouter a HOMARD.Configuration", - ang="Additional file to HOMARD.Configuration" ), -# - ) , -# -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: josselin.delmas at edf.fr - - -MACR_LIGN_COUPE=MACRO(nom="MACR_LIGN_COUPE", - op=OPS('Macro.macr_lign_coupe_ops.macr_lign_coupe_ops'), - sd_prod=table_sdaster, - reentrant='n', - UIinfo={"groupes":("Post-traitements","Résultats et champs",)}, - fr="Extraction des valeurs d'un résultat dans une ou plusieurs tables sur " \ - "des lignes de coupe définies par deux points et un intervalle", - regles=(UN_PARMI("RESULTAT","CHAM_GD"),), - - RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther,mode_meca) ), - CHAM_GD =SIMP(statut='f',typ=(cham_gd_sdaster)), - - b_extrac =BLOC(condition = "RESULTAT != None",fr="extraction des résultats", - regles=(EXCLUS('NUME_ORDRE','NUME_MODE','LIST_ORDRE','INST','LIST_INST',), ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - -# extraction des résultats - b_meca =BLOC(condition = "AsType(RESULTAT) in (evol_elas,evol_noli,mode_meca)",fr="résultat mécanique", - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),defaut='SIGM_NOEU',into=C_NOM_CHAM_INTO(),), - ), - b_ther =BLOC(condition = "AsType(RESULTAT) in (evol_ther,)",fr="résultat thermique", - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),defaut='TEMP',into=("TEMP", - "FLUX_ELGA","FLUX_ELNO","FLUX_NOEU", - "META_ELNO","META_NOEU", - "DURT_ELNO","DURT_NOEU", - "HYDR_ELNO","HYDR_NOEU", - "DETE_ELNO","DETE_NOEU", - "SOUR_ELGA","COMPORTHER", - "ERTH_ELEM","ERTH_ELNO","ERTH_NOEU",),),), - b_cham =BLOC(condition = "CHAM_GD!=None", - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(),),), - - UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=25), - MODELE =SIMP(statut='f',typ=modele_sdaster ), - - VIS_A_VIS =FACT(statut='f',max='**', - regles=(EXCLUS('GROUP_MA_1','MAILLE_1'),), - GROUP_MA_1 =SIMP(statut='f',typ=grma), - MAILLE_1 =SIMP(statut='f',typ=ma,max='**'),), - - LIGN_COUPE =FACT(statut='o',max='**', - regles=(EXCLUS("NOM_CMP","INVARIANT","ELEM_PRINCIPAUX","RESULTANTE"), - PRESENT_PRESENT("TRAC_DIR","DIRECTION"), - EXCLUS("TRAC_DIR","TRAC_NOR"), - PRESENT_PRESENT("TRAC_DIR","NOM_CMP"), - PRESENT_PRESENT("TRAC_NOR","NOM_CMP"),), - - INTITULE =SIMP(statut='f',typ='TXM',), - TYPE =SIMP(statut='o',typ='TXM',max=1, - into=("GROUP_NO","SEGMENT","ARC","GROUP_MA"),defaut="SEGMENT"), - REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL", - into=("GLOBAL","LOCAL","POLAIRE","UTILISATEUR","CYLINDRIQUE"),), - OPERATION =SIMP(statut='f',typ='TXM',into=("EXTRACTION","MOYENNE",),defaut="EXTRACTION",), - - NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), - INVARIANT =SIMP(statut='f',typ='TXM',into=("OUI",),), - ELEM_PRINCIPAUX =SIMP(statut='f',typ='TXM',into=("OUI",),), - RESULTANTE =SIMP(statut='f',typ='TXM',max='**'), - TRAC_NOR =SIMP(statut='f',typ='TXM',into=("OUI",)), - TRAC_DIR =SIMP(statut='f',typ='TXM',into=("OUI",)), - DIRECTION =SIMP(statut='f',typ='R',max='**'), - - - b_local =BLOC(condition = "REPERE=='LOCAL' ", - VECT_Y =SIMP(statut='f',typ='R',min=2,max=3),), - - b_utili =BLOC(condition = "REPERE=='UTILISATEUR'", - ANGL_NAUT =SIMP(statut='o',typ='R',min=3,max=3),), - - b_grno =BLOC(condition = "TYPE=='GROUP_NO'", - GROUP_NO =SIMP(statut='o',typ=grno, max=1),), - - b_grma =BLOC(condition = "TYPE=='GROUP_MA'", - regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'), - EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),), - GROUP_MA =SIMP(statut='o',typ=grma, max=1), - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), - # si le groupe de mailles forme une ligne ouverte, on peut choisir le sens de parcours en choissant l'origine: - # si le groupe de mailles forme une ligne fermée, il FAUT choisir l'origine et l'extrémité (= origine): - NOEUD_ORIG =SIMP(statut='f',typ=no), - GROUP_NO_ORIG =SIMP(statut='f',typ=grno), - NOEUD_EXTR =SIMP(statut='f',typ=no), - GROUP_NO_EXTR =SIMP(statut='f',typ=grno), - # si le groupe de mailles forme une ligne fermée, on peut choisir le sens de parcours - VECT_ORIE =SIMP(statut='f',typ='R',max=3), # utilisé seulement si NOEUD_ORIG=NOEUD_EXTR - ), - - b_segment =BLOC(condition = "TYPE=='SEGMENT'", - NB_POINTS =SIMP(statut='o',typ='I',max=1), - COOR_ORIG =SIMP(statut='o',typ='R',min=2,max=3), - COOR_EXTR =SIMP(statut='o',typ='R',min=2,max=3),), - - b_arc =BLOC(condition = "TYPE=='ARC'", - NB_POINTS =SIMP(statut='o',typ='I',max=1), - COOR_ORIG =SIMP(statut='o',typ='R',min=2,max=3), - CENTRE =SIMP(statut='o',typ='R',min=2,max=3), - ANGLE =SIMP(statut='o',typ='R',max=1), - DNOR =SIMP(statut='f',typ='R',min=2,max=3),), - - b_cylind =BLOC(condition = ("REPERE=='CYLINDRIQUE' and TYPE!='ARC'"), - ORIGINE =SIMP(statut='f',typ='R',min=2,max=3), - AXE_Z =SIMP(statut='f',typ='R',min=3,max=3),), - - DISTANCE_MAX =SIMP(statut='f',typ='R',defaut=0., - fr="Si la distance entre un noeud de la ligne de coupe et le maillage coupé " - +"est > DISTANCE_MAX, ce noeud sera ignoré."), - - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: aimery.assire at edf.fr - - -def macr_recal_prod(self,**args ): - return listr8_sdaster - -MACR_RECAL = MACRO(nom="MACR_RECAL", - op=OPS('Macro.macr_recal_ops.macr_recal_ops'), - sd_prod=macr_recal_prod, - UIinfo={"groupes":("Résolution","Résultats et champs",)}, - fr="Réalise le recalage des calculs Aster sur des résultats expérimentaux" \ - " ou sur d'autres résultats de calculs", - regles=(UN_PARMI('PARA_OPTI','LIST_PARA'), - PRESENT_PRESENT('PARA_OPTI','COURBE'), - PRESENT_PRESENT('LIST_PARA','RESU_EXP'), - PRESENT_PRESENT('LIST_PARA','RESU_CALC'), - EXCLUS('LIST_POIDS','COURBE'),), - - UNITE_ESCL =SIMP(statut='o',typ='I'), - RESU_EXP =SIMP(statut='f',typ=not_checked,max='**'), - COURBE =FACT(statut='f',max='**', - FONC_EXP =SIMP(statut='o',typ=(fonction_sdaster),), - NOM_FONC_CALC =SIMP(statut='o',typ='TXM',), - PARA_X =SIMP(statut='o',typ='TXM',), - PARA_Y =SIMP(statut='o',typ='TXM',), - POIDS =SIMP(statut='f',typ='R',), - ), - RESU_CALC =SIMP(statut='f',typ=not_checked,max='**'), - LIST_PARA =SIMP(statut='f',typ=not_checked,max='**'), - PARA_OPTI =FACT(statut='f',max='**', - NOM_PARA = SIMP(statut='o',typ='TXM'), - VALE_INI = SIMP(statut='o',typ='R'), - VALE_MIN = SIMP(statut='o',typ='R'), - VALE_MAX = SIMP(statut='o',typ='R'), - ), - LIST_POIDS =SIMP(statut='f',typ=not_checked,max='**'), - - UNITE_RESU =SIMP(statut='f',typ='I',defaut=91), - PARA_DIFF_FINI =SIMP(statut='f',typ='R',defaut=0.00001), - - GRAPHIQUE =FACT(statut='f', - FORMAT =SIMP(statut='f',typ='TXM',defaut='XMGRACE',into=("XMGRACE","GNUPLOT"),), - AFFICHAGE =SIMP(statut='f',typ='TXM',defaut='TOUTE_ITERATION',into=("TOUTE_ITERATION","ITERATION_FINALE"),), - - UNITE =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29, - fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), - b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'", fr="Mots-clés propres à XMGRACE", - PILOTE =SIMP(statut='f',typ='TXM',defaut='', - into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'), - fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"), - ), - ), - - - # Methodes d'optimisation - # ----------------------- - METHODE =SIMP(statut='f',typ='TXM',defaut='LEVENBERG',into=("LEVENBERG", "FMIN", "FMINBFGS", "FMINNCG", - "GENETIQUE","HYBRIDE")), - - b_genetique_options=BLOC(condition = "METHODE == 'GENETIQUE' or METHODE == 'HYBRIDE'" , - NB_PARENTS =SIMP(statut='f',typ='I',defaut=10), - NB_FILS =SIMP(statut='f',typ='I',defaut=5), - ECART_TYPE =SIMP(statut='f',typ='R',defaut=1.), - GRAINE =SIMP(statut='f',typ='I'), - ITER_ALGO_GENE =SIMP(statut='f',typ='I',defaut=10), - RESI_ALGO_GENE =SIMP(statut='f',typ='R',defaut=1.E-3), - ), - - - # Criteres d'arret globaux - # ------------------------- - ITER_MAXI =SIMP(statut='f',typ='I',defaut=10, fr="Nombre maximum d'iterations d'optimisation"), - ITER_FONC_MAXI =SIMP(statut='f',typ='I',defaut=1000, fr="Nombre maximum d'evaluations de la focntionnelle"), - RESI_GLOB_RELA =SIMP(statut='f',typ='R',defaut=1.E-3, fr="Critere d'arret sur la valeur du residu"), - TOLE_PARA =SIMP(statut='f',typ='R',defaut=1.E-8, fr="Critere d'arret sur la valeur des parametres"), - TOLE_FONC =SIMP(statut='f',typ='R',defaut=1.E-8, fr="Critere d'arret sur la valeur de la fonctionnelle"), - - - # Calculs des gradients - # --------------------- - b_gradient =BLOC(condition = "METHODE == 'FMINBFGS' or METHODE == 'FMINNCG'" , - GRADIENT =SIMP(statut='f',typ='TXM',defaut='NON_CALCULE', into=("NON_CALCULE", "NORMAL", "ADIMENSIONNE" )), - ), - - b_gradient_levenberg =BLOC(condition = "METHODE == 'LEVENBERG'" , - GRADIENT =SIMP(statut='f',typ='TXM',defaut='NORMAL', into=( "NORMAL", "ADIMENSIONNE" )), - ), - - - # Mode d'evaluation de l'esclave - # ------------------------------ - CALCUL_ESCLAVE =FACT(statut='d', -# regles=(PRESENT_PRESENT('MPI_NBNOEUD','MPI_NBCPU'),), - - LANCEMENT =SIMP(statut='f', typ='TXM', defaut='INCLUSION',into=("DISTRIBUTION","INCLUSION"),), - - b_eval_distrib =BLOC(condition = "LANCEMENT == 'DISTRIBUTION'", - UNITE_SUIVI =SIMP(statut='f', typ='I',val_min=10,val_max=99,defaut=29, - fr="Affichage de l'output et/ou error des jobs esclaves dans ce fichier"), - MODE =SIMP(statut='f', typ='TXM', into=("INTERACTIF","BATCH"),), - MEMOIRE =SIMP(statut='f', typ='I', fr="Memoire demandee pour les calculs esclaves (Mo)"), - TEMPS =SIMP(statut='f', typ='I', fr="Temps demandee pour les calculs esclaves (secondes)"), - MPI_NBCPU =SIMP(statut='f', typ='I', val_min=1, fr="Nombre de cpu pour les calculs MPI"), - MPI_NBNOEUD =SIMP(statut='f', typ='I', fr="Nombre de noeuds pour les calculs MPI"), - CLASSE =SIMP(statut='f', typ='TXM', fr="Classe demandee pour les calculs en batch"), - NMAX_SIMULT =SIMP(statut='f', typ='I', - fr="Nombre de calculs esclaves lances en parallele en mode distribution (non precise = automatique)"), - ), - ), - - DYNAMIQUE =FACT(statut='f', - MODE_EXP =SIMP(statut='o',typ='TXM'), - MODE_CALC =SIMP(statut='o',typ='TXM'), - APPARIEMENT_MANUEL =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON")), - ), - - INFO =SIMP(statut='f',typ='I',defaut=1, into=( 1, 2 ) ), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: francois.voldoire at edf.fr - - -MACR_SPECTRE=MACRO(nom="MACR_SPECTRE", - op=OPS('Macro.macr_spectre_ops.macr_spectre_ops'), - sd_prod=table_sdaster, - reentrant='n', - UIinfo={"groupes":("Post-traitements","Outils-métier",)}, - fr="Calcul de spectre, post-traitement de séisme", - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster,), - PLANCHER =FACT(statut='o',max='**', - regles=(AU_MOINS_UN('NOEUD','GROUP_NO' ),), - NOM =SIMP(statut='o',typ='TXM',), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), ), - NOM_CHAM =SIMP(statut='o',typ='TXM' ,into=('ACCE','DEPL')), - CALCUL =SIMP(statut='o',typ='TXM' ,into=('ABSOLU','RELATIF'),position='global'), - b_acce =BLOC( condition = "NOM_CHAM=='ACCE'", - regles=(UN_PARMI('LIST_FREQ','FREQ'),), - AMOR_SPEC =SIMP(statut='o',typ='R',max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - FREQ =SIMP(statut='f',typ='R',max='**'), - NORME =SIMP(statut='o',typ='R'), - RESU =FACT(statut='o',max='**', - regles=(UN_PARMI('RESU_GENE','RESULTAT','TABLE'),), - TABLE =SIMP(statut='f',typ=table_sdaster), - RESU_GENE =SIMP(statut='f',typ=tran_gene), - RESULTAT =SIMP(statut='f',typ=(dyna_trans,evol_noli)), - b_calc =BLOC( condition = "CALCUL=='RELATIF'", - ACCE_X =SIMP(statut='o',typ=fonction_sdaster), - ACCE_Y =SIMP(statut='o',typ=fonction_sdaster), - ACCE_Z =SIMP(statut='o',typ=fonction_sdaster),), ), - IMPRESSION =FACT(statut='f', - TRI =SIMP(statut='f',typ='TXM',defaut='AMOR_SPEC',into=("AMOR_SPEC","DIRECTION",),), - FORMAT =SIMP(statut='f',typ='TXM',defaut='TABLEAU',into=("TABLEAU","XMGRACE",),), - UNITE =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29, - fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"), - b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'", - PILOTE =SIMP(statut='f',typ='TXM',defaut='', - into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'),),), - TOUT =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON",),), - ), - ), - b_depl =BLOC( condition = "NOM_CHAM=='DEPL'", - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - RESU =FACT(statut='o',max=3, - regles=(UN_PARMI('RESU_GENE','RESULTAT','TABLE'),), - TABLE =SIMP(statut='f',typ=table_sdaster), - RESU_GENE =SIMP(statut='f',typ=tran_gene), - RESULTAT =SIMP(statut='f',typ=(dyna_trans,evol_noli)), - b_calc =BLOC( condition = "CALCUL=='ABSOLU'", - DEPL_X =SIMP(statut='o',typ=fonction_sdaster), - DEPL_Y =SIMP(statut='o',typ=fonction_sdaster), - DEPL_Z =SIMP(statut='o',typ=fonction_sdaster),),), - ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: xavier.desroches at edf.fr - - -def macro_elas_mult_prod(self,NUME_DDL,CAS_CHARGE,**args ): - if NUME_DDL is not None and NUME_DDL.is_typco(): - self.type_sdprod(NUME_DDL,nume_ddl_sdaster) - if CAS_CHARGE[0]['NOM_CAS'] != None : return mult_elas - if CAS_CHARGE[0]['MODE_FOURIER'] != None : return fourier_elas - raise AsException("type de concept resultat non prevu") - -MACRO_ELAS_MULT=MACRO(nom="MACRO_ELAS_MULT", - op=OPS('Macro.macro_elas_mult_ops.macro_elas_mult_ops'), - sd_prod=macro_elas_mult_prod, - reentrant='f', - UIinfo={"groupes":("Résolution",)}, - fr="Calculer les réponses statiques linéaires pour différents cas " \ - "de charges ou modes de Fourier", - regles=(UN_PARMI('CHAR_MECA_GLOBAL','LIAISON_DISCRET', ),), - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - NUME_DDL =SIMP(statut='f',typ=(nume_ddl_sdaster,CO)), - CHAR_MECA_GLOBAL=SIMP(statut='f',typ=(char_meca),validators=NoRepeat(),max='**'), - LIAISON_DISCRET =SIMP(statut='f',typ='TXM',into=("OUI",)), - CAS_CHARGE =FACT(statut='o',max='**', - regles=(UN_PARMI('NOM_CAS','MODE_FOURIER'), - UN_PARMI('CHAR_MECA','VECT_ASSE'),), - NOM_CAS =SIMP(statut='f',typ='TXM' ), - MODE_FOURIER =SIMP(statut='f',typ='I' ), - TYPE_MODE =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ), - CHAR_MECA =SIMP(statut='f',typ=(char_meca),validators=NoRepeat(),max='**'), - OPTION =SIMP(statut='f',typ='TXM',into=("SIEF_ELGA","SANS"),defaut="SIEF_ELGA",max=1, - fr="Contraintes aux points de Gauss.",), - SOUS_TITRE =SIMP(statut='f',typ='TXM',max='**'), - VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster), - ), - SOLVEUR =FACT(statut='d', - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT") ), - b_mult_front = BLOC ( condition = "METHODE == 'MULT_FRONT' ", - fr="Paramètres de la méthode multi frontale", - RENUM =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ), - ), - b_ldlt =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT", - RENUM =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ), - ), - b_ldlt_mult =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ", - fr="Paramètres relatifs à la non inversibilité de la matrice à factorise", - NPREC =SIMP(statut='f',typ='I',defaut= 8 ), - STOP_SINGULIER =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: albert.alarcon at edf.fr - - -def macro_expans_prod(self, MODELE_MESURE, RESU_NX, RESU_EX, RESU_ET, RESU_RD, **args): - RESU_EXP = MODELE_MESURE['MESURE'] - self.type_sdprod(RESU_NX, mode_meca) - for res in (RESU_EX, RESU_ET, RESU_RD): - if res is not None and res.is_typco(): - if AsType(RESU_EXP) == mode_meca: - self.type_sdprod(res, mode_meca) - else: - self.type_sdprod(res, dyna_harmo) - return None - -MACRO_EXPANS=MACRO(nom="MACRO_EXPANS", - op=OPS('Macro.macro_expans_ops.macro_expans_ops'), - sd_prod=macro_expans_prod, - reentrant='n', - UIinfo={"groupes":("Outils-métier","Dynamique",)}, - fr="Outil d'expansion de resultats exprimentaux sur une base definie sur un modele numerique", - MODELE_CALCUL = FACT(statut='o', - MODELE = SIMP(statut='o',typ=(modele_sdaster) ), - BASE = SIMP(statut='o',typ=(mode_meca,) ), - NUME_MODE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**',defaut=0), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**',defaut=0), - - ), - MODELE_MESURE = FACT(statut='o', - MODELE = SIMP(statut='o',typ=(modele_sdaster) ), - MESURE = SIMP(statut='o',typ=(dyna_trans,dyna_harmo,mode_meca,mode_meca_c,) ), - NOM_CHAM = SIMP(statut='f',typ='TXM',defaut="DEPL", - into=("DEPL","VITE","ACCE","SIEF_NOEU","EPSI_NOEU",) ), - NUME_MODE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**',defaut=0), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**',defaut=0), - - ), - NUME_DDL = SIMP(statut='f',typ=(nume_ddl_sdaster)), - RESU_NX = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)), - RESU_EX = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)), - RESU_ET = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)), - RESU_RD = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)), - RESOLUTION = FACT(statut='f', - METHODE =SIMP(statut='f',typ='TXM',defaut="LU",into=("LU","SVD",) ), - b_svd =BLOC(condition="METHODE=='SVD'", - EPS=SIMP(statut='f',typ='R',defaut=0. ), - ), - REGUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","NORM_MIN","TIK_RELA",) ), - b_regul =BLOC(condition="REGUL!='NON'", - regles=(PRESENT_ABSENT('COEF_PONDER','COEF_PONDER_F', ),), - COEF_PONDER =SIMP(statut='f',typ='R',defaut=0. ,max='**' ), - COEF_PONDER_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ), - ), - ), - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.greffet at edf.fr - - -def macro_matr_ajou_prod(self,MATR_AMOR_AJOU,MATR_MASS_AJOU,MATR_RIGI_AJOU,FORC_AJOU,**args): - self.type_sdprod(MATR_AMOR_AJOU,matr_asse_gene_r) - self.type_sdprod(MATR_MASS_AJOU,matr_asse_gene_r) - self.type_sdprod(MATR_RIGI_AJOU,matr_asse_gene_r) - if FORC_AJOU != None: - for m in FORC_AJOU: - self.type_sdprod(m['VECTEUR'],vect_asse_gene) - - return None - -MACRO_MATR_AJOU=MACRO(nom="MACRO_MATR_AJOU", - op=OPS('Macro.macro_matr_ajou_ops.macro_matr_ajou_ops'), - sd_prod=macro_matr_ajou_prod, - UIinfo={"groupes":("Résolution","Matrices et vecteurs",)}, - fr="Calculer de facon plus condensée qu'avec CALC_MATR_AJOU des " \ - "matrices de masse, d'amortissement ou de rigidité ajoutés", - regles=(AU_MOINS_UN('MODE_MECA','DEPL_IMPO','MODELE_GENE'), - AU_MOINS_UN('MATR_MASS_AJOU','MATR_AMOR_AJOU','MATR_RIGI_AJOU'), - EXCLUS('MODE_MECA','DEPL_IMPO','MODELE_GENE'), - EXCLUS('MONO_APPUI','MODE_STAT',), - ), - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster), - GROUP_MA_FLUIDE =SIMP(statut='o',typ=grma), - GROUP_MA_INTERF =SIMP(statut='o',typ=grma), - MODELISATION =SIMP(statut='o',typ='TXM',into=("PLAN","AXIS","3D")), - FLUIDE =FACT(statut='o',max='**', - RHO =SIMP(statut='o',typ='R'), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), - GROUP_MA =SIMP(statut='f',typ=grma), - MAILLE =SIMP(statut='f',typ=ma), - ), - DDL_IMPO =FACT(statut='o',max='**', - regles=(UN_PARMI('NOEUD','GROUP_NO'), - UN_PARMI('PRES_FLUIDE','PRES_SORTIE'),), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), - PRES_FLUIDE =SIMP(statut='f',typ='R'), - PRES_SORTIE =SIMP(statut='f',typ='R'), - ), - ECOULEMENT =FACT(statut='f', - GROUP_MA_1 =SIMP(statut='o',typ=grma), - GROUP_MA_2 =SIMP(statut='o',typ=grma), - VNOR_1 =SIMP(statut='o',typ='R'), - VNOR_2 =SIMP(statut='f',typ='R'), - POTENTIEL =SIMP(statut='f',typ=evol_ther), - ), - MODE_MECA =SIMP(statut='f',typ=mode_meca), - DEPL_IMPO =SIMP(statut='f',typ=cham_no_sdaster), - MODELE_GENE =SIMP(statut='f',typ=modele_gene), - NUME_DDL_GENE =SIMP(statut='f',typ=nume_ddl_gene), - DIST_REFE =SIMP(statut='f',typ='R',defaut= 1.0E-2), - MATR_MASS_AJOU =SIMP(statut='f',typ=CO,), - MATR_RIGI_AJOU =SIMP(statut='f',typ=CO,), - MATR_AMOR_AJOU =SIMP(statut='f',typ=CO,), - MONO_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",),), - MODE_STAT =SIMP(statut='f',typ=mode_meca,), - FORC_AJOU =FACT(statut='f',max='**', - DIRECTION =SIMP(statut='o',typ='R',max=3), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - VECTEUR =SIMP(statut='o',typ=CO), - ), -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('MACRO_MATR_AJOU'), -#------------------------------------------------------------------- - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - NOEUD_DOUBLE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - AVEC_MODE_STAT =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.brie at edf.fr - -def macro_mode_meca_prod( self, MATR_RIGI,MATR_MASS, **args) : - if ( AsType(MATR_RIGI) == matr_asse_gene_r ): - if ( AsType(MATR_MASS) == matr_asse_gene_r ): - return mode_gene - else: - raise AsException("Matrices d'entrée de types différents : physique / généralisée.") - - return mode_meca - - -MACRO_MODE_MECA=MACRO(nom="MACRO_MODE_MECA", - op=OPS('Macro.macro_mode_meca_ops.macro_mode_meca_ops'), - sd_prod=macro_mode_meca_prod, - reentrant='n',fr="Lancer une succession de calculs de modes propres réels", - UIinfo={"groupes":("Résolution","Dynamique",)}, - MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r, matr_asse_gene_r) ), - MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r, matr_asse_gene_r) ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -# ce mot cle ne devrait il pas etre dans calc_freq - METHODE =SIMP(statut='f',typ='TXM',defaut="SORENSEN", - into=("TRI_DIAG","JACOBI","SORENSEN",) ), - b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'", - PREC_ORTHO =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ), - NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ), - PREC_LANCZOS =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ), - NMAX_ITER_QR =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), - ), - b_jacobi =BLOC(condition = "METHODE == 'JACOBI'", - PREC_BATHE =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ), - NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ), - PREC_JACOBI =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), - NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ), - ), - b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'", - PREC_SOREN =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ), - NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ), - PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717), - ), - - OPTION =SIMP(statut='f',typ='TXM',defaut="SANS",into=("MODE_RIGIDE","SANS") ), - - CALC_FREQ =FACT(statut='o', - FREQ =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max='**', ), - DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ), - COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ), - NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2 ), - SEUIL_FREQ =SIMP(statut='f',typ='R' ,defaut= 1.E-2 ), - STOP_BANDE_VIDE =SIMP(statut='f',typ='TXM',defaut="NON" ,into=("OUI","NON") ), - ), - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('INFO_MODE'), - NIVEAU_PARALLELISME =SIMP(statut='f',typ='TXM',defaut="COMPLET",into=("PARTIEL","COMPLET") ), -#------------------------------------------------------------------- - - VERI_MODE =FACT(statut='d',min=0, - STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-3 ), - STURM =SIMP(statut='f',typ='TXM',defaut="GLOBAL",into=("GLOBAL","LOCAL","NON") ), - ), - - b_matr_phys =BLOC( condition = "AsType(MATR_RIGI) == matr_asse_depl_r", - NORM_MODE =FACT(statut='d',max='**', - NORME =SIMP(statut='f',typ='TXM',defaut="TRAN_ROTA", - into=("MASS_GENE","RIGI_GENE","EUCL", - "EUCL_TRAN","TRAN","TRAN_ROTA") ), - INFO =SIMP(statut='f',typ='I',defaut= 1 ,into=(1,2) ), - ), - - FILTRE_MODE =FACT(statut='f', - CRIT_EXTR =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN", - into=("MASS_EFFE_UN","MASS_GENE") ), - SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ), - - IMPRESSION =FACT(statut='d', - TOUT_PARA =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - CUMUL =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - CRIT_EXTR =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN", - into=("MASS_EFFE_UN","MASS_GENE",) ), - ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr -# -MAJ_CATA=PROC(nom="MAJ_CATA",op=20, - UIinfo={"groupes":("Gestion du travail",)}, - fr="Compilation des catalogues d'éléments et couverture des calculs élémentaires", - regles=(UN_PARMI('ELEMENT','TYPE_ELEM', ),), - - ELEMENT =FACT(statut='f',), - - UNITE =SIMP(statut='f',typ='I',defaut=8), - TYPE_ELEM =FACT(statut='f',), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -MECA_STATIQUE=OPER(nom="MECA_STATIQUE",op=46,sd_prod=evol_elas, - fr="Résoudre un problème de mécanique statique linéaire",reentrant='f', - UIinfo={"groupes":("Résolution","Mécanique",)}, - regles=(EXCLUS("INST","LIST_INST"), - AU_MOINS_UN('CHAM_MATER','CARA_ELEM',),), - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='f',typ=cham_mater, - fr="le CHAM_MATER est nécessaire, sauf si le modèle ne contient que des éléments discrets (modélisations DIS_XXX)", - ang="CHAM_MATER is compulsory, except if the model contains only discret elements (modelizations DIS_XXX)"), - CARA_ELEM =SIMP(statut='f',typ=cara_elem, - fr="le CARA_ELEM est nécessaire dès que le modèle contient des éléments de structure : coques, poutres, ...", - ang="CARA_ELEM is compulsory as soon as the model contains structural elements : plates, beams, ..."), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - EXCIT =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ), - ), - INST =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - INST_FIN =SIMP(statut='f',typ='R'), - OPTION =SIMP(statut='f',typ='TXM',into=("SIEF_ELGA","SANS"),defaut="SIEF_ELGA",max=1, - fr="Seule option : contraintes aux points de Gauss. Utilisez CALC_CHAMP pour les autres options.", - ), - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('MECA_STATIQUE'), -#------------------------------------------------------------------- - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.corus at edf.fr -MODE_ITER_CYCL=OPER(nom="MODE_ITER_CYCL",op= 80,sd_prod=mode_cycl, - fr="Calcul des modes propres d'une structure à répétitivité cyclique à partir" - +" d'une base de modes propres réels", - reentrant='n', - UIinfo={"groupes":("Résolution","Dynamique",)}, - BASE_MODALE =SIMP(statut='o',typ=mode_meca ), - NB_MODE =SIMP(statut='f',typ='I',defaut= 999 ), - NB_SECTEUR =SIMP(statut='o',typ='I' ), - LIAISON =FACT(statut='o', - DROITE =SIMP(statut='o',typ='TXM' ), - GAUCHE =SIMP(statut='o',typ='TXM' ), - AXE =SIMP(statut='f',typ='TXM' ), - ), - VERI_CYCL =FACT(statut='f', - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF",) ), - DIST_REFE =SIMP(statut='f',typ='R' ), - ), - CALCUL =FACT(statut='o', - regles=(UN_PARMI('TOUT_DIAM','NB_DIAM'),), - TOUT_DIAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NB_DIAM =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE" - ,into=("PLUS_PETITE","CENTRE","BANDE") ), - b_centre =BLOC(condition = "OPTION == 'CENTRE'", - FREQ =SIMP(statut='o',typ='R',), - ), - b_bande =BLOC(condition = "OPTION == 'BANDE'", - FREQ =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2), - ), -# NMAX_FREQ n a-t-il pas un sens qu avec OPTION CENTRE - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10 ), - PREC_SEPARE =SIMP(statut='f',typ='R',defaut= 100. ), - PREC_AJUSTE =SIMP(statut='f',typ='R',defaut= 1.E-6 ), - NMAX_ITER =SIMP(statut='f',typ='I',defaut= 50 ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# - -def mode_iter_inv_prod(TYPE_RESU,**args ): - if (TYPE_RESU not in ["DYNAMIQUE","MODE_FLAMB","GENERAL"]): - # on retourne un type fictif pour que le plantage aie lieu dans la lecture du catalogue - return ASSD - if TYPE_RESU == "MODE_FLAMB" : return mode_flamb - if TYPE_RESU == "GENERAL" : return mode_flamb - # sinon on est dans le cas 'DYNAMIQUE' donc **args doit contenir les mots-clés - # MATR_RIGI et (faculativement) MATR_AMOR, et on peut y accéder - vale_rigi = args['MATR_RIGI'] - if (vale_rigi== None) : # si MATR_RIGI non renseigné - # on retourne un type fictif pour que le plantage aie lieu dans la lecture du catalogue - return ASSD - vale_amor = args['MATR_AMOR'] - if AsType(vale_amor) == matr_asse_depl_r : return mode_meca_c - if AsType(vale_rigi) == matr_asse_depl_r : return mode_meca - if AsType(vale_rigi) == matr_asse_pres_r : return mode_acou - if AsType(vale_rigi) == matr_asse_gene_r : return mode_gene - raise AsException("type de concept resultat non prevu") - -MODE_ITER_INV=OPER(nom="MODE_ITER_INV",op= 44,sd_prod=mode_iter_inv_prod - ,fr="Calcul des modes propres par itérations inverses ; valeurs propres et modes réels ou complexes", - reentrant='n', - UIinfo={"groupes":("Résolution","Dynamique",)}, - - TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE", - into=("MODE_FLAMB","DYNAMIQUE","GENERAL"), - fr="Type d analyse" ), - - b_dynam =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'", - MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - MATR_AMOR =SIMP(statut='f',typ=matr_asse_depl_r ), - CALC_FREQ =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres", - - OPTION =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"), - fr="Choix de l option pour estimer les valeurs propres" ), - FREQ =SIMP(statut='o',typ='R',max='**', - validators=AndVal((OrdList('croissant'), NoRepeat())),), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ), - NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30,val_min=1 ), - PREC_SEPARE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=1.E-70 ), - NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15,val_min=1 ), - PREC_AJUSTE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=1.E-70 ), - - NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ), - SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ), - ), - ), - b_flamb =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'", - MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - MATR_RIGI_GEOM =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - ), - - b_general =BLOC(condition = "TYPE_RESU == 'GENERAL'", - MATR_A =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - MATR_B =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - ), - - b_flamb_general =BLOC(condition = "(TYPE_RESU == 'MODE_FLAMB') or (TYPE_RESU == 'GENERAL')", - CALC_CHAR_CRIT =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres", - - OPTION =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"), - fr="Choix de l option pour estimer les valeurs propres" ), - CHAR_CRIT =SIMP(statut='o',typ='R',max='**', - validators=AndVal((OrdList('croissant'), NoRepeat())),), - NMAX_CHAR_CRIT =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ), - NMAX_ITER_SEPARE=SIMP(statut='f',typ='I',defaut= 30,val_min=1 ), - PREC_SEPARE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=1.E-70 ), - NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15,val_min=1 ), - PREC_AJUSTE =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=1.E-70 ), - - NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ), - SEUIL_CHAR_CRIT =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ), - ), - ), - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('MODE_ITER_INV'), -#------------------------------------------------------------------- - - CALC_MODE =FACT(statut='d',min=0,fr="Choix des paramètres pour le calcul des vecteurs propres", - OPTION =SIMP(statut='f',typ='TXM',defaut="DIRECT",into=("DIRECT","RAYLEIGH") ), - PREC =SIMP(statut='f',typ='R',defaut= 1.E-5,val_min=1.E-70,fr="Précision de convergence" ), - NMAX_ITER =SIMP(statut='f',typ='I',defaut= 30,val_min=1 ), - ), - VERI_MODE =FACT(statut='d',min=0, - STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, - fr="Valeur limite admise pour l ereur a posteriori des modes" ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - TITRE =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# - -def mode_iter_simult_prod(TYPE_RESU,**args ): - if (TYPE_RESU not in ["DYNAMIQUE","MODE_FLAMB","GENERAL"]): - # on retourne un type fictif pour que le plantage aie lieu dans la lecture du catalogue - return ASSD - if TYPE_RESU == "MODE_FLAMB" : return mode_flamb - if TYPE_RESU == "GENERAL" : return mode_flamb - # sinon on est dans le cas 'DYNAMIQUE' donc **args doit contenir les mots-clés - # MATR_RIGI et (faculativement) MATR_AMOR, et on peut y accéder - vale_rigi = args['MATR_RIGI'] - if (vale_rigi== None) : # si MATR_RIGI non renseigné - # on retourne un type fictif pour que le plantage aie lieu dans la lecture du catalogue - return ASSD - vale_amor = args['MATR_AMOR'] - if (AsType(vale_amor)== matr_asse_depl_r) : return mode_meca_c - if (AsType(vale_rigi)== matr_asse_depl_r) : return mode_meca - if (AsType(vale_rigi)== matr_asse_depl_c) : return mode_meca_c - if (AsType(vale_rigi)== matr_asse_pres_r) : return mode_acou - if (AsType(vale_rigi)== matr_asse_gene_r) : return mode_gene - if (AsType(vale_rigi)== matr_asse_gene_c) : return mode_gene - - raise AsException("type de concept resultat non prevu") - - - -MODE_ITER_SIMULT=OPER(nom="MODE_ITER_SIMULT",op= 45, sd_prod= mode_iter_simult_prod, - fr="Calcul des modes propres par itérations simultanées ; valeurs propres et" - +" modes propres réels ou complexes", - reentrant='n', - UIinfo={"groupes":("Résolution","Dynamique",)}, - METHODE =SIMP(statut='f',typ='TXM',defaut="SORENSEN", - into=("TRI_DIAG","JACOBI","SORENSEN","QZ") ), - b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'", - PREC_ORTHO =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ), - NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ), - PREC_LANCZOS =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ), - NMAX_ITER_QR =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), - ), - b_jacobi =BLOC(condition = "METHODE == 'JACOBI'", - PREC_BATHE =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ), - NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ), - PREC_JACOBI =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), - NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ), - ), - b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'", - PREC_SOREN =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ), - NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ), - PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717), - ), - b_qz =BLOC(condition = "METHODE == 'QZ'", - TYPE_QZ =SIMP(statut='f',typ='TXM',defaut="QZ_SIMPLE",into=("QZ_QR","QZ_SIMPLE","QZ_EQUI") ), - ), - TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE", - into=("DYNAMIQUE","MODE_FLAMB","GENERAL"), - fr="Type d analyse" ), - OPTION =SIMP(statut='f',typ='TXM',defaut="SANS",into=("MODE_RIGIDE","SANS"), - fr="Calcul des modes de corps rigide, uniquement pour la méthode TRI_DIAG" ), - - - b_dynam =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'", - MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c, - matr_asse_gene_r,matr_asse_gene_c,matr_asse_pres_r ) ), - MATR_MASS =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - MATR_AMOR =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ), - CALC_FREQ =FACT(statut='d',min=0, - OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","PLUS_GRANDE","BANDE","CENTRE","TOUT"), - fr="Choix de l option et par conséquent du shift du problème modal" ), - b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites fréquences propres", - NMAX_FREQ =SIMP(statut='f',typ='I',defaut=10,val_min=0 ), - ), - b_plus_grande =BLOC(condition = "OPTION == 'PLUS_GRANDE'",fr="Recherche des plus grandes fréquences propres", - NMAX_FREQ =SIMP(statut='f',typ='I',defaut=1,val_min=0 ), - ), - b_centre =BLOC(condition = "OPTION == 'CENTRE'", - fr="Recherche des fréquences propres les plus proches d'une valeur donnée", - FREQ =SIMP(statut='o',typ='R', - fr="Fréquence autour de laquelle on cherche les fréquences propres"), - AMOR_REDUIT =SIMP(statut='f',typ='R',), - NMAX_FREQ =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), - ), - b_bande =BLOC(condition = "(OPTION == 'BANDE')", - fr="Recherche des fréquences propres dans une bande donnée", - FREQ =SIMP(statut='o',typ='R',min=2,max=2, - validators=AndVal((OrdList('croissant'), NoRepeat())), - fr="Valeur des deux fréquences délimitant la bande de recherche"), - TABLE_FREQ =SIMP(statut= 'f',typ=table_sdaster), - ), - APPROCHE =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG","COMPLEXE"), - fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ), - regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),), - DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ), - COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ), - NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ), - SEUIL_FREQ =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), - ), - ), - - - b_general =BLOC(condition = "TYPE_RESU == 'GENERAL'", - MATR_A =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - MATR_B =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - ), - - - b_flamb =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'", - MATR_RIGI =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - MATR_RIGI_GEOM =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ), - ), - - - b_flamb_general =BLOC(condition = "(TYPE_RESU == 'MODE_FLAMB') or (TYPE_RESU == 'GENERAL')", - CALC_CHAR_CRIT =FACT(statut='d',min=0, - OPTION =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE","TOUT"), - fr="Choix de l option et par conséquent du shift du problème modal" ), - b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres", - NMAX_CHAR_CRIT =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), - ), - b_centre =BLOC(condition = "OPTION == 'CENTRE'", - fr="Recherche des valeurs propres les plus proches d une valeur donnée", - CHAR_CRIT =SIMP(statut='o',typ='R', - fr="Charge critique autour de laquelle on cherche les charges critiques propres"), - NMAX_CHAR_CRIT =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ), - ), - b_bande =BLOC(condition = "(OPTION == 'BANDE')", - fr="Recherche des valeurs propres dans une bande donnée", - CHAR_CRIT =SIMP(statut='o',typ='R',min=2,max=2, - validators=AndVal((OrdList('croissant'), NoRepeat())), - fr="Valeur des deux charges critiques délimitant la bande de recherche"), - TABLE_CHAR_CRIT =SIMP(statut= 'f',typ=table_sdaster), - - ), - APPROCHE =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG"), - fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ), - regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),), - DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ), - COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ), - NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 3,val_min=0 ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ), - SEUIL_CHAR_CRIT =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ), - ), - ), - - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('MODE_ITER_SIMULT'), -#------------------------------------------------------------------- -#------------------------------------------------------------------- -# Mot-cles caches pour activer le parallelisme au sein d'une macro-commande - PARALLELISME_MACRO=FACT(statut='d',min=0, - TYPE_COM =SIMP(statut='c',typ='I',defaut=-999,into=(-999,1),fr="Type de communication"), - IPARA1_COM =SIMP(statut='c',typ='I',defaut=-999,fr="Parametre entier n 1 de la communication"), - IPARA2_COM =SIMP(statut='c',typ='I',defaut=-999,fr="Parametre entier n 2 de la communication"), - ), -#------------------------------------------------------------------- - VERI_MODE =FACT(statut='d',min=0, - STOP_ERREUR =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - PREC_SHIFT =SIMP(statut='f',typ='R',defaut= 5.E-3,val_min=0.E+0 ), - SEUIL =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0, - fr="Valeur limite admise pour l ereur a posteriori des modes" ), - STURM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), - STOP_BANDE_VIDE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -MODE_NON_LINE=OPER(nom="MODE_NON_LINE",op= 61,sd_prod=table_container, - fr="Calcul des modes non-linéaires", - reentrant='f', - UIinfo={"groupes":("Résolution","Dynamique",)}, - - reuse =SIMP(statut='f',typ='table_container'), - - ETAT_INIT =FACT(statut='o',max=1, - regles=( UN_PARMI('MODE_LINE','MODE_NON_LINE'),), - MODE_LINE = SIMP(statut='f',typ=mode_meca,max = 1), - MODE_NON_LINE = SIMP(statut='f',typ=table_container,max = 1), - NUME_ORDRE = SIMP(statut='o',typ='I' ), - DIR_EVOLUTION = SIMP(statut='f',typ='I',defaut=-1, into=(-1,1)), - COEF_AMPL = SIMP(statut='f',typ='R',defaut=1,), - ), - - CHOC = FACT(statut='f',max='**', - regles=( UN_PARMI('NOEUD','GROUP_NO'),), - OBSTACLE = SIMP(statut='f',typ='TXM', into=("PLAN","BI_PLAN","CERCLE",)), - b_cercle = BLOC(condition="OBSTACLE=='CERCLE'", - NOM_CMP = SIMP(statut='o',typ='TXM',min=2,max=2,validators=NoRepeat(), - into=('DX','DY','DZ'),), - ORIG_OBST = SIMP(statut='f',typ='R',defaut=(0.,0.,0.),min=3,max=3), - ), - b_bi_plan = BLOC(condition="OBSTACLE=='BI_PLAN'", - NOM_CMP = SIMP(statut='o',typ='TXM',min=1,max=1,into=('DX','DY','DZ'),), - ), - b_plan = BLOC(condition="OBSTACLE=='PLAN'", - NOM_CMP = SIMP(statut='o',typ='TXM',min=1,max=1,into=('DX','DY','DZ'),), - ), - NOEUD = SIMP(statut='f', typ=no, max=1), - GROUP_NO = SIMP(statut='f', typ=grno, max=1), - JEU = SIMP(statut='o',typ='R',max=1 ), - RIGI_NOR = SIMP(statut='o',typ='R',max=1 ), - PARA_REGUL = SIMP(statut='f',typ='R',defaut=0.005 ), - ), - - MATR_RIGI = SIMP(statut='o',typ=(matr_asse_depl_r,) ), - MATR_MASS = SIMP(statut='o',typ=(matr_asse_depl_r,) ), - - RESOLUTION = FACT(statut='o',max=1, - METHODE = SIMP(statut='f',typ='TXM',defaut="EHMAN",into=("EHMAN",)), - b_ehman = BLOC(condition="METHODE=='EHMAN'", - NB_HARM_LINE = SIMP(statut='o',typ='I',val_min=1,), - NB_HARM_NONL = SIMP(statut='f',typ='I',defaut=201,val_min=1,), - NB_BRANCHE = SIMP(statut='o',typ='I',val_min=0), - NB_PAS_MAN = SIMP(statut='o',typ='I',val_min=1), - NB_ORDRE_MAN = SIMP(statut='f',typ='I',defaut=20,val_min=2), - PREC_MAN = SIMP(statut='f',typ='R',defaut=1.E-9,val_min=0.E+0), - PREC_NEWTON = SIMP(statut='f',typ='R',defaut=1.E-8,val_min=0.E+0), - ITER_NEWTON_MAXI = SIMP(statut='f',typ='I',defaut=15,val_min=1), - CRIT_ORDR_BIFURCATION = SIMP(statut='f',typ='I',defaut=3,val_min=1), - RESI_RELA_BIFURCATION = SIMP(statut='f',typ='R',defaut=1.E-4,val_min=0.E+0), - ), - ), - - SOLVEUR = C_SOLVEUR('MODE_NON_LINE'), - - INFO = SIMP(statut='f',typ='I',defaut=1), - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: georges-cc.devesa at edf.fr - -MODE_STATIQUE=OPER(nom="MODE_STATIQUE",op= 93,sd_prod=mode_meca, - fr="Calcul de déformées statiques pour un déplacement, une force ou une accélération unitaire imposé", - reentrant='n', - UIinfo={"groupes":("Résolution","Dynamique",)}, - - regles=(UN_PARMI('MODE_STAT','FORCE_NODALE','PSEUDO_MODE','MODE_INTERF'), - PRESENT_PRESENT('MODE_INTERF','MATR_MASS'), - PRESENT_PRESENT('PSEUDO_MODE','MATR_MASS'), - ), - - - MATR_RIGI =SIMP(statut='o',typ=matr_asse_depl_r ), - MATR_MASS =SIMP(statut='f',typ=matr_asse_depl_r ), - - - - MODE_STAT =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'), - UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ,), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), - TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ,), - AVEC_CMP =SIMP(statut='f',typ='TXM',max='**'), - SANS_CMP =SIMP(statut='f',typ='TXM',max='**'), - ), - FORCE_NODALE =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'), - UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), ), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), - TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",), ), - AVEC_CMP =SIMP(statut='f',typ='TXM',max='**'), - SANS_CMP =SIMP(statut='f',typ='TXM',max='**'), - ), - PSEUDO_MODE =FACT(statut='f',max='**', - regles=(UN_PARMI('AXE','DIRECTION','TOUT','NOEUD','GROUP_NO' ),), - AXE =SIMP(statut='f',typ='TXM',into=("X","Y","Z"),max=3), - DIRECTION =SIMP(statut='f',typ='R',min=3,max=3), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), - b_dir =BLOC(condition = "DIRECTION != None", - NOM_DIR =SIMP(statut='f',typ='TXM' ),), - b_cmp =BLOC(condition="TOUT!= None or NOEUD!=None or GROUP_NO!=None", - regles=(UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),), - TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ), - AVEC_CMP =SIMP(statut='f',typ='TXM',max='**'), - SANS_CMP =SIMP(statut='f',typ='TXM',max='**'), - ), - ), - MODE_INTERF =FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'), - UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), ), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), - TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",) ), - AVEC_CMP =SIMP(statut='f',typ='TXM',max='**'), - SANS_CMP =SIMP(statut='f',typ='TXM',max='**'), - NBMOD =SIMP(statut='o',typ='I',defaut= 1), - SHIFT =SIMP(statut='o',typ='R',defaut= 1.0), - - ), - -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('MODE_STATIQUE'), -#------------------------------------------------------------------- - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: andre.adobes at edf.fr -MODI_BASE_MODALE=OPER(nom="MODI_BASE_MODALE",op= 149,sd_prod=mode_meca, - reentrant='f', - fr="Définir la base modale d'une structure sous écoulement", - UIinfo={"groupes":("Matrices et vecteurs",)}, -# la commande modi_base _modale : reentrant = f ou o - regles=(EXCLUS('AMOR_UNIF','AMOR_REDUIT', ),), - BASE =SIMP(statut='o',typ=mode_meca ), - BASE_ELAS_FLUI =SIMP(statut='o',typ=melasflu_sdaster ), - NUME_VITE_FLUI =SIMP(statut='o',typ='I' ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - AMOR_REDUIT =SIMP(statut='f',typ='R',max='**'), - AMOR_UNIF =SIMP(statut='f',typ='R' ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.greffet at edf.fr -# -# RECUPERATION DES EFFORTS VIA YACS POUR COUPLAGE IFS -# -MODI_CHAR_YACS=OPER(nom = "MODI_CHAR_YACS", - op = 112, - sd_prod = char_meca, - reentrant = 'o', - UIinfo = {"groupes":("Résultats et champs",)}, - fr = "Reception des forces nodales via YACS lors du couplage de Code_Aster et Saturne", - CHAR_MECA = SIMP(statut ='o', typ = char_meca), - MATR_PROJECTION = SIMP(statut ='o', typ = corresp_2_mailla,), - NOM_CMP_IFS = SIMP(statut ='o', typ = 'TXM',validators = NoRepeat(), max = '**'), - VIS_A_VIS = FACT(statut ='o', max = '**', - GROUP_MA_1 = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO_2 = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**'),), - INST = SIMP(statut='o',typ='R', ), - PAS = SIMP(statut='o',typ='R', ), - NUME_ORDRE_YACS = SIMP(statut='o', typ='I',), - INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster, - fr="Effectuer des modifications sur un maillage existant: réorienter des mailles servant," - +" à l'application d'une pression, à la modélisation du contact,...", - reentrant='o', - UIinfo={"groupes":("Maillage",)}, - regles=(AU_MOINS_UN('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', - 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE', - 'TRANSLATION','ROTATION','MODI_BASE','ECHELLE','ORIE_SHB','SYMETRIE', - 'ORIE_LIGNE',), - PRESENT_ABSENT('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', - 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE', - 'ORIE_LIGNE'), - PRESENT_ABSENT('DEFORME','ORIE_FISSURE','EQUE_PIQUA','ORIE_PEAU_2D', - 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE', - 'ORIE_LIGNE'), - PRESENT_ABSENT('EQUE_PIQUA','ORIE_FISSURE','DEFORME','ORIE_PEAU_2D', - 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE', - 'ORIE_LIGNE'), - PRESENT_ABSENT('ORIE_PEAU_2D','ORIE_FISSURE','DEFORME','EQUE_PIQUA', - 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE', - 'ORIE_LIGNE'), - PRESENT_ABSENT('ORIE_PEAU_3D','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', - 'PLAQ_TUBE','MODI_MAILLE',), - PRESENT_ABSENT('ORIE_NORM_COQUE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', - 'PLAQ_TUBE','MODI_MAILLE','ORIE_LIGNE'), - PRESENT_ABSENT('PLAQ_TUBE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', - 'ORIE_PEAU_3D','ORIE_NORM_COQUE','MODI_MAILLE','ORIE_LIGNE'), - PRESENT_ABSENT('MODI_MAILLE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D', - 'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','ORIE_LIGNE'), - EXCLUS('EQUE_PIQUA','PLAQ_TUBE'), - EXCLUS('EQUE_PIQUA','TUBE_COUDE'), - EXCLUS('ROTATION','MODI_BASE'), - EXCLUS('SYMETRIE','ROTATION'), - EXCLUS('SYMETRIE','TRANSLATION'), - EXCLUS('SYMETRIE','MODI_BASE'), - EXCLUS('SYMETRIE','ECHELLE'), - ), - MAILLAGE =SIMP(statut='o',typ=maillage_sdaster ), - - ORIE_FISSURE =FACT(statut='f', - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - ), - - DEFORME =FACT(statut='f', - OPTION =SIMP(statut='o',typ='TXM',into=("TRAN","TRAN_APPUI") ), - DEPL =SIMP(statut='o',typ=cham_no_sdaster ), - b_deform =BLOC(condition = "OPTION=='TRAN_APPUI'", - GROUP_NO_APPUI = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ), - GROUP_NO_STRU = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ),), - ), - - EQUE_PIQUA =FACT(statut='f', - GROUP_NO =SIMP(statut='o',typ=grno), - E_BASE =SIMP(statut='o',typ='R' ), - DEXT_BASE =SIMP(statut='o',typ='R' ), - L_BASE =SIMP(statut='o',typ='R' ), - L_CHANF =SIMP(statut='o',typ='R' ), - TYPE =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2")), - H_SOUD =SIMP(statut='o',typ='R' ), - ANGL_SOUD =SIMP(statut='o',typ='R' ), - JEU_SOUD =SIMP(statut='o',typ='R' ), - E_CORP =SIMP(statut='o',typ='R' ), - DEXT_CORP =SIMP(statut='o',typ='R' ), - AZIMUT =SIMP(statut='o',typ='R' ), - RAFF_MAIL =SIMP(statut='o',typ='TXM' ), - X_MAX =SIMP(statut='o',typ='R' ), - ), - ORIE_PEAU_2D =FACT(statut='f',max='**', - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - GROUP_MA_SURF =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - ORIE_PEAU_3D =FACT(statut='f',max='**', - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - GROUP_MA_VOLU =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - ORIE_SHB =FACT(statut='f',max=1, - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - ), - ORIE_NORM_COQUE =FACT(statut='f',max='**', - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - VECT_NORM =SIMP(statut='f',typ='R',max=3), - b_vect_norm =BLOC(condition = "VECT_NORM != None", - regles=UN_PARMI('NOEUD','GROUP_NO'), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), - ), - ), - ORIE_LIGNE =FACT(statut='f',max='**', - GROUP_MA =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - VECT_TANG =SIMP(statut='f',typ='R',max=3), - b_vect_tang =BLOC(condition = "VECT_TANG != None", - regles=UN_PARMI('NOEUD','GROUP_NO'), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), - ), - ), - PLAQ_TUBE =FACT(statut='f', - DEXT =SIMP(statut='o',typ='R' ), - EPAIS =SIMP(statut='o',typ='R' ), - L_TUBE_P1 =SIMP(statut='o',typ='R' ), - AZIMUT =SIMP(statut='f',typ='R',defaut= 90. ), - COUTURE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ), - ), - TUBE_COUDE =FACT(statut='f', - ANGLE =SIMP(statut='o',typ='R' ), - R_CINTR =SIMP(statut='o',typ='R' ), - L_TUBE_P1 =SIMP(statut='o',typ='R' ), - ), - MODI_MAILLE =FACT(statut='f',max=1, - regles=(AU_MOINS_UN('GROUP_MA_FOND','MAILLE_FOND','GROUP_NO_FOND','NOEUD_FOND'),), - OPTION =SIMP(statut='o',typ='TXM',into=("NOEUD_QUART",) ), - GROUP_MA_FOND =SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1), - MAILLE_FOND =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max=1), - GROUP_NO_FOND =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1), - NOEUD_FOND =SIMP(statut='f',typ=no ,validators=NoRepeat(),max=1), - ), - MODI_BASE =FACT(statut='f', - VECT_X =SIMP(statut='o',typ='R',min=2,max=3), - VECT_Y =SIMP(statut='f',typ='R',min=2,max=3), - ), - ECHELLE =SIMP(statut='f',typ='R',), - TRANSLATION =SIMP(statut='f',typ='R',min=2,max=3), - ROTATION =FACT(statut='f',max='**', - POIN_1 =SIMP(statut='o',typ='R',min=2,max=3), - ANGLE =SIMP(statut='o',typ='R',defaut= 0.E+0 ), - regles=(EXCLUS('DIR','POIN_2'),), - POIN_2 =SIMP(statut='f',typ='R',min=2,max=3), - DIR =SIMP(statut='f',typ='R',min=2,max=3), - ), - SYMETRIE =FACT(statut='f',max='**', - fr = "Symétrie du maillage par rapport à un plan en 3D ou à une droite en 2D.", - POINT =SIMP(statut='o',typ='R',min=2,max=3, - fr="Point appartenant à la droite ou au plan."), - AXE_1 =SIMP(statut='o',typ='R',min=2,max=3, - fr="Vecteur directeur de la droite ou 1er vecteur appartenant au plan."), - AXE_2 =SIMP(statut='f',typ='R',min=3,max=3, - fr="2nd vecteur appartenant du plan."), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2009 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -MODI_MODELE=OPER(nom="MODI_MODELE",op= 103,sd_prod=modele_sdaster,reentrant='o', - UIinfo={"groupes":("Modélisation",)}, - fr="Modifier la partition d'un modèle (parallélisme) ", - - MODELE =SIMP(statut='o',typ=modele_sdaster,min=1,max=1,), - - PARTITION =FACT(statut='d', - PARALLELISME =SIMP(statut='f',typ='TXM',defaut="GROUP_ELEM", - into=("MAIL_CONTIGU","MAIL_DISPERSE","SOUS_DOMAINE","CENTRALISE","GROUP_ELEM")), - b_dist_maille =BLOC(condition = "PARALLELISME in ('MAIL_DISPERSE','MAIL_CONTIGU')", - CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,val_min=0), - ), - b_dist_sd =BLOC(condition = "PARALLELISME == 'SOUS_DOMAINE'", - PARTITION =SIMP(statut='o',typ=sd_partit), - CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,val_min=0), - ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -MODI_MODELE_XFEM=OPER(nom="MODI_MODELE_XFEM",op= 113,sd_prod=modele_sdaster,docu="U4.44.12-e",reentrant='f', - UIinfo={"groupes":("Modélisation","Rupture",)}, - fr="Engendrer ou enrichir une structure de donnees en affectant les cham_gd associes", - - MODELE_IN =SIMP(statut='o',typ=modele_sdaster,min=1,max=1,), - FISSURE =SIMP(statut='o',typ=fiss_xfem,min=1,max='**',), - CRITERE =SIMP(statut='f',typ='R',defaut=1.1E-9), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,)), - CONTACT - =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON"),min=1,max=1,), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: xavier.desroches at edf.fr -def modi_repere_prod(RESULTAT,**args): - if AsType(RESULTAT) != None : return AsType(RESULTAT) - -MODI_REPERE=OPER(nom="MODI_REPERE",op=191,sd_prod=modi_repere_prod,reentrant='f', - UIinfo={"groupes":("Post-traitements","Résultats et champs",)}, - fr="Calcule des résultats dans le repère cylindrique", - RESULTAT =SIMP(statut='o',typ=resultat_sdaster), - - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'NOEUD_CMP','LIST_INST','LIST_FREQ','NOM_CAS'),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS =SIMP(statut='f',typ='TXM' ), - - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - - MODI_CHAM =FACT(statut='o',max='**', - TYPE_CHAM =SIMP(statut='o',typ='TXM', - into=("VECT_2D","VECT_3D","TENS_2D","TENS_3D","COQUE_GENE"),), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - b_vect_2d =BLOC(condition = "TYPE_CHAM=='VECT_2D'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=2,max=2 ),), - b_vect_3d =BLOC(condition = "TYPE_CHAM=='VECT_3D'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=3,max=3 ),), - b_tens_2d =BLOC(condition = "TYPE_CHAM=='TENS_2D'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=4,max=4 ),), - b_tens_3d =BLOC(condition = "TYPE_CHAM=='TENS_3D'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=6,max=6 ),), - b_coque_gene =BLOC(condition = "TYPE_CHAM=='COQUE_GENE'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=8,max=8 ),), - ), - b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : COQUE_INTR_UTIL ou COQUE_UTIL_INTR autorise", - REPERE =SIMP(statut='o',typ='TXM',position='global', - into=("COQUE_INTR_UTIL","COQUE_UTIL_INTR"),), - AFFE =FACT(statut='o',max='**', - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - ), - ), - - b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant ", - REPERE =SIMP(statut='f',typ='TXM',defaut="UTILISATEUR",position='global', - into=("UTILISATEUR","CYLINDRIQUE","COQUE", - "COQUE_INTR_UTIL","COQUE_UTIL_INTR"),), - - AFFE =FACT(statut='o',max='**', - b_cyl =BLOC(condition = "REPERE == 'CYLINDRIQUE'", - ORIGINE =SIMP(statut='f',typ='R',min=2,max=3), - AXE_Z =SIMP(statut='f',typ='R',min=3,max=3),), - b_uti =BLOC(condition = "REPERE == 'UTILISATEUR'", - regles=(UN_PARMI('ANGL_NAUT','VECT_X'), - ENSEMBLE('VECT_X','VECT_Y')), - ANGL_NAUT =SIMP(statut='f',typ='R',max=3), - VECT_X =SIMP(statut='f',typ='R',min=3,max=3 ), - VECT_Y =SIMP(statut='f',typ='R',min=3,max=3 ),), - b_coq =BLOC(condition = "REPERE == 'COQUE'", - regles=(UN_PARMI('ANGL_REP','VECTEUR'),), - ANGL_REP =SIMP(statut='f',typ='R',min=2,max=2), - VECTEUR =SIMP(statut='f',typ='R',min=3,max=3),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.brie at edf.fr - -def norm_mode_prod(MODE,**args ): - if AsType(MODE) == mode_meca : return mode_meca - if AsType(MODE) == mode_meca_c : return mode_meca_c - if AsType(MODE) == mode_flamb : return mode_flamb - raise AsException("type de concept resultat non prevu") - -NORM_MODE=OPER(nom="NORM_MODE",op= 37,sd_prod=norm_mode_prod, - fr="Normer des modes propres en fonction d'un critère choisi par l'utilisateur", - reentrant='f', - UIinfo={"groupes":("Résolution","Dynamique",)}, - regles=(UN_PARMI('NORME','GROUP_NO','NOEUD','AVEC_CMP','SANS_CMP'),), - MODE =SIMP(statut='o',typ=(mode_meca,mode_flamb) ), - NORME =SIMP(statut='f',typ='TXM',fr="Norme prédéfinie : masse généralisée, euclidienne,...", - into=("MASS_GENE","RIGI_GENE","EUCL","EUCL_TRAN","TRAN","TRAN_ROTA") ), - NOEUD =SIMP(statut='f',typ=no, fr="Composante donnée d'un noeud spécifié égale à 1"), - GROUP_NO =SIMP(statut='f',typ=grno,fr="Composante donnée d'un groupe contenant un seul noeud spécifié égale à 1"), - b_noeud =BLOC(condition = "NOEUD != None or GROUP_NO != None", - NOM_CMP =SIMP(statut='o',typ='TXM' ), - ), - AVEC_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - SANS_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - MODE_SIGNE =FACT(statut='f',fr="Imposer un signe sur une des composantes des modes", - regles=(UN_PARMI('GROUP_NO','NOEUD'),), - NOEUD =SIMP(statut='f',typ=no,fr="Noeud où sera imposé le signe"), - GROUP_NO =SIMP(statut='f',typ=grno,fr="Groupe d'un seul noeud où sera imposé le signe"), - NOM_CMP =SIMP(statut='o',typ='TXM',fr="Composante du noeud où sera imposé le signe" ), - SIGNE =SIMP(statut='f',typ='TXM',defaut="POSITIF",into=("NEGATIF","POSITIF"), - fr="Choix du signe" ), - ), - - MASSE = SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ), ), - RAIDE = SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ), ), - AMOR = SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -NUME_DDL=OPER(nom="NUME_DDL",op=11,sd_prod=nume_ddl_sdaster,reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - fr="Etablissement de la numérotation des ddl avec ou sans renumérotation et du stockage de la matrice", - regles=(UN_PARMI('MATR_RIGI','MODELE'),), - MATR_RIGI =SIMP(statut='f',validators=NoRepeat(),max=100, - typ=(matr_elem_depl_r ,matr_elem_depl_c,matr_elem_temp_r ,matr_elem_pres_c) ), - MODELE =SIMP(statut='f',typ=modele_sdaster ), - b_modele =BLOC(condition = "MODELE != None", - CHARGE =SIMP(statut='f',validators=NoRepeat(),max='**',typ=(char_meca,char_ther,char_acou, ),), - ), - METHODE =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","PETSC","MUMPS") ), - b_mult_front =BLOC(condition="METHODE=='MULT_FRONT'",fr="paramètres associés à la méthode multifrontale", - RENUM =SIMP(statut='f',typ='TXM',into=("MD","MDA","METIS"),defaut="METIS" ), - ), - b_ldlt =BLOC(condition="METHODE=='LDLT'",fr="paramètres associés à la méthode LDLT", - RENUM =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK" ), - ), - b_mumps =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS", - RENUM =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AMD","AMF","PORD","METIS","QAMD","SCOTCH","AUTO")), - ), - b_gcpc =BLOC(condition="METHODE=='GCPC' or METHODE=='PETSC'",fr="paramètres associés à la GCPC ou PETSc", - RENUM =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK" ), - ), - INFO =SIMP(statut='f',typ='I',into=(1,2)), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.corus at edf.fr -NUME_DDL_GENE=OPER(nom="NUME_DDL_GENE",op= 127,sd_prod=nume_ddl_gene, - fr="Etablissement de la numérotation des ddl d'un modèle etabli en coordonnées généralisees", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - regles=UN_PARMI('MODELE_GENE','BASE'), - MODELE_GENE =SIMP(statut='f',typ=modele_gene ), - b_modele_gene =BLOC(condition = "MODELE_GENE != None", - STOCKAGE =SIMP(statut='f',typ='TXM',defaut="LIGN_CIEL",into=("LIGN_CIEL","PLEIN") ), - METHODE =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("INITIAL","CLASSIQUE","ELIMINE") ), - ), - BASE =SIMP(statut='f',typ=(mode_meca,mode_gene ) ), - b_base =BLOC(condition = "BASE != None", - STOCKAGE =SIMP(statut='f',typ='TXM',defaut="PLEIN",into=("DIAG","PLEIN") ), - NB_VECT =SIMP(statut='f',typ='I',defaut= 9999 ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: harinaivo.andriambololona at edf.fr - -def observation_prod(self, RESULTAT, **args): - if AsType(RESULTAT) == mode_meca : - return mode_meca - elif AsType(RESULTAT) == evol_elas : - return evol_elas - elif AsType(RESULTAT) == dyna_harmo : - return dyna_harmo - elif AsType(RESULTAT) == dyna_trans : - return dyna_trans - else : - return None - -OBSERVATION=MACRO(nom="OBSERVATION", - op=OPS('Macro.observation_ops.observation_ops'), - UIinfo={"groupes":("Matrices et vecteurs",)}, - sd_prod=observation_prod, - fr="Calcul de l'observabilite d'un champ aux noeuds ", -# - MODELE_1 =SIMP(statut='o',typ=modele_sdaster), - MODELE_2 =SIMP(statut='o',typ=modele_sdaster), - RESULTAT =SIMP(statut='o',typ=(mode_meca,evol_elas,dyna_harmo,dyna_trans,) ), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(),), - -# ------------------------------------------------------------------ - - regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','FREQ','LIST_FREQ','NUME_MODE','INST','LIST_INST' ),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - -# ------------------------------------------------------------------ -# OPTIONS DE PROJ_CHAMP (SANS MC FACTEUR PARTICULIER) -# ------------------------------------------------------------------ - PROJECTION =SIMP(statut='f',max=1,typ='TXM',into=("OUI","NON"),defaut="OUI"), - CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ), - DISTANCE_MAX =SIMP(statut='f',typ='R', - fr="Distance maximale entre le noeud et l'élément le plus proche, lorsque le noeud n'est dans aucun élément."), - ALARME =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - - TYPE_CHAM =SIMP(statut='f',typ='TXM',into=("NOEU",), - fr="Pour forcer le type des champs projetés. NOEU -> cham_no"), - -# PROL_ZERO =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON", -# fr="Si le résultat est un mode_xxx ou une base_xxx, on peut prolonger" -# +" les champs par zéro la ou la projection ne donne pas de valeurs."), - - MATR_RIGI =SIMP(statut='f',typ=(matr_asse_depl_r) ), - MATR_MASS =SIMP(statut='f',typ=(matr_asse_depl_r) ), - VIS_A_VIS =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), - AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),), - TOUT_1 =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TOUT_2 =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ), - ), - -# ------------------------------------------------------------------ -# MODI_REPERE -# ------------------------------------------------------------------ - MODI_REPERE =FACT(statut='f',max='**', - regles=(UN_PARMI('REPERE'), - AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), -# - TYPE_CHAM =SIMP(statut='f',typ='TXM', - into=("VECT_2D","VECT_3D","TENS_2D","TENS_3D"), - defaut="VECT_3D"), - b_vect_2d =BLOC(condition = "TYPE_CHAM=='VECT_2D'", - NOM_CMP =SIMP(statut='o',typ='TXM',min=2,max=2 ),), - b_vect_3d =BLOC(condition = "TYPE_CHAM=='VECT_3D'", - NOM_CMP =SIMP(statut='f',typ='TXM',min=3,max=3,defaut=('DX','DY','DZ') ),), - b_tens_2d =BLOC(condition = "TYPE_CHAM=='TENS_2D'", - NOM_CMP =SIMP(statut='f',typ='TXM',min=4,max=4,defaut=('EPXX','EPYY','EPZZ','EPXY',) ),), - b_tens_3d =BLOC(condition = "TYPE_CHAM=='TENS_3D'", - NOM_CMP =SIMP(statut='f',typ='TXM',min=6,max=6,defaut=('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ',),),), - - REPERE =SIMP(statut='o',typ='TXM', - into=("UTILISATEUR","CYLINDRIQUE","NORMALE","DIR_JAUGE"),), - b_normale =BLOC(condition = "REPERE=='NORMALE'", - regles=(UN_PARMI('VECT_X','VECT_Y')), - VECT_X =SIMP(statut='f',typ='R',min=3,max=3), - VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), ), - b_utilisateur =BLOC(condition = "REPERE=='UTILISATEUR'", - ANGL_NAUT =SIMP(statut='o',typ='R',max=3)), - b_cylindrique =BLOC(condition = "REPERE=='CYLINDRIQUE'", - ORIGINE =SIMP(statut='o',typ='R',min=2,max=3), - AXE_Z =SIMP(statut='o',typ='R',min=3,max=3)), - b_dir_jauge =BLOC(condition = "REPERE=='DIR_JAUGE'", - VECT_X =SIMP(statut='f',typ='R',min=3,max=3), - VECT_Y =SIMP(statut='f',typ='R',min=3,max=3), ), - ), - -# ------------------------------------------------------------------ -# EPSI_MOYENNE -# ------------------------------------------------------------------ - EPSI_MOYENNE =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SEUIL_VARI =SIMP(statut='f',typ='R',validators=NoRepeat(),defaut=0.1,), - MASQUE =SIMP(statut='f',typ='TXM',max=6), - ), - -# ------------------------------------------------------------------ -# FILTRE DES DDL -# ------------------------------------------------------------------ - FILTRE =FACT(statut='f',max='**', - regles=(UN_PARMI('DDL_ACTIF'), -# 'MASQUE'), - AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(),), - -# - DDL_ACTIF =SIMP(statut='f',typ='TXM',max=6), -# TODO : mettre en place le systeme de masques -# MASQUE =SIMP(statut='f',typ='TXM',max=6), - ), -# ------------------------------------------------------------------ - - TITRE =SIMP(statut='f',typ='TXM',max='**' ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - ) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: romeo.fernandes at edf.fr - -PERM_MAC3COEUR = MACRO(nom="PERM_MAC3COEUR", - op=OPS("Mac3coeur.perm_mac3coeur_ops.perm_mac3coeur_ops"), - sd_prod=evol_noli, - - TYPE_COEUR = SIMP(statut='o',typ='TXM',into=("MONO","TEST","900","1300","N4","EPR") ), - TABLE_N = SIMP(statut='o',typ=table_sdaster), # TABLE INITIALE DES DAMAC A L INSTANT N - RESU_N = SIMP(statut='o',typ=evol_noli), # RESULTAT A L INSTANT N A PERMUTER - TABLE_NP1 = SIMP(statut='o',typ=table_sdaster), # TABLE INITIALE DES DAMAC A L INSTANT N+1 - MAILLAGE_NP1 = SIMP(statut='o',typ=maillage_sdaster),); # MAILLAGE A L INSTANT N+1 - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: renaud.bargellini at edf.fr - -POST_BORDET =MACRO(nom="POST_BORDET", - op=OPS('Macro.post_bordet_ops.post_bordet_ops'), - sd_prod=table_sdaster, - UIinfo={"groupes":("Outils-métier","Rupture",)}, - reentrant='n', - fr="calcul de la probabilite de clivage via le modele de Bordet", - regles=(UN_PARMI('TOUT','GROUP_MA'), - UN_PARMI('INST','NUME_ORDRE'), - ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",)), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="le calcul ne sera effectué que sur ces mailles"), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),), - PRECISION =SIMP(statut='f',typ='R',validators=NoRepeat(),val_min=0.,val_max=1E-3,defaut=1E-6), - CRITERE =SIMP(statut='f',typ='TXM',defaut="ABSOLU",into=("RELATIF","ABSOLU") ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),), - PROBA_NUCL =SIMP(statut='f',typ='TXM',into=("NON","OUI"), defaut="NON", - fr="prise en compte du facteur exponentiel"), - b_nucl =BLOC( condition = "PROBA_NUCL=='OUI'", - PARAM =FACT(statut='o', - M =SIMP(statut='o',typ='R',val_min=0.E+0), - SIGM_REFE =SIMP(statut='o',typ=(fonction_sdaster),val_min=0.E+0), - VOLU_REFE =SIMP(statut='o',typ='R',val_min=0.E+0), - SIG_CRIT =SIMP(statut='o',typ='R',val_min=0.E+0), - SEUIL_REFE =SIMP(statut='o',typ='R',val_min=0.E+0), - SEUIL_CALC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster)), - DEF_PLAS_REFE =SIMP(statut='o',typ='R'),),), - - b_prop =BLOC( condition = "PROBA_NUCL=='NON'", - PARAM =FACT(statut='o', - M =SIMP(statut='o',typ='R',val_min=0.E+0), - SIGM_REFE =SIMP(statut='o',typ=fonction_sdaster,val_min=0.E+0), - VOLU_REFE =SIMP(statut='o',typ='R',val_min=0.E+0), - SIG_CRIT =SIMP(statut='o',typ='R',val_min=0.E+0), - SEUIL_REFE =SIMP(statut='o',typ='R',val_min=0.E+0), - SEUIL_CALC =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),), - ), - ), - - RESULTAT =SIMP(statut='o',typ=resultat_sdaster, - fr="Resultat d'une commande globale STAT_NON_LINE"), - TEMP =SIMP(statut='o',typ=(fonction_sdaster,'R')), - COEF_MULT =SIMP(statut='f',typ='R', defaut=1.), - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr -def post_cham_xfem_prod(RESULTAT,**args ): - - if AsType(RESULTAT) == evol_noli : return evol_noli - if AsType(RESULTAT) == mode_meca : return mode_meca - if AsType(RESULTAT) == evol_elas : return evol_elas - if AsType(RESULTAT) == evol_ther : return evol_ther - - raise AsException("type de concept resultat non prevu") - -POST_CHAM_XFEM=OPER(nom="POST_CHAM_XFEM",op= 196,sd_prod=post_cham_xfem_prod, - reentrant='n',UIinfo={"groupes":("Post-traitements","Rupture",)}, - fr="Calcul des champs DEPL, SIEF_ELGA et VARI_ELGA sur le maillage de visualisation (fissuré)", - RESULTAT = SIMP(statut='o',typ=resultat_sdaster), - MODELE_VISU = SIMP(statut='o',typ=modele_sdaster,), - INFO = SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -def post_champ_prod(RESULTAT,**args): - if AsType(RESULTAT) != None : return AsType(RESULTAT) - raise AsException("type de concept resultat non prevu") - - -# liste des options possibles pour les 4 mots clés EXTR_COQUE, EXTR_TUYAY, EXTR_PMF et MIN_MAX_SP : -liste_option_extr=("EPEQ_ELGA","EPEQ_ELNO","EPSI_ELGA","EPSI_ELNO", - "SIEF_ELGA","SIEF_ELNO", - "SIEQ_ELGA","SIEQ_ELNO","SIGM_ELGA","SIGM_ELNO", - "VARI_ELGA","VARI_ELNO",) - - -POST_CHAMP=OPER(nom="POST_CHAMP",op=155,sd_prod=post_champ_prod, reentrant='n', - UIinfo={"groupes":("Post-traitements","Eléments de structure",)}, - fr="extraction de champs sur un sous-point. ", - - regles=(UN_PARMI('EXTR_COQUE','EXTR_TUYAU','EXTR_PMF','MIN_MAX_SP','COQU_EXCENT'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP', - 'LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS',), - ), - - RESULTAT =SIMP(statut='o',typ=resultat_sdaster, - fr="Resultat d'une commande globale"), - - -#==== -# Sélection des numéros d'ordre pour lesquels on fait le calcul : -#==== - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - - b_acce_reel =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - - -#==== -# Sélection de la zone géométrique: -#==== - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), - - - -#==== -# Extraction sur un sous-point d'une coque : -#==== - EXTR_COQUE =FACT(statut='f', max=1, fr="extraction sur un sous-point d'une coque", - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - into=liste_option_extr,), - NUME_COUCHE =SIMP(statut='o',typ='I',val_min=1, - fr="numero de couche dans l'épaisseur de la coque" ), - NIVE_COUCHE =SIMP(statut='o',typ='TXM',into=("SUP","INF","MOY"), - fr="position dans l'épaisseur de la couche" ), - ), - - -#==== -# Extraction sur un sous-point d'un tuyau : -#==== - EXTR_TUYAU =FACT(statut='f', max=1, fr="extraction sur un sous-point d'un tuyau", - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - into=liste_option_extr ,), - NUME_COUCHE =SIMP(statut='o',typ='I',val_min=1, - fr="numero de couche dans l'épaisseur du tuyau" ), - NIVE_COUCHE =SIMP(statut='o',typ='TXM',into=("SUP","INF","MOY"), - fr="position dans l'épaisseur de la couche" ), - ANGLE =SIMP(statut='o',typ='I',val_min=0,val_max=360, - fr="angle de dépouillement pour les tuyaux, en degrés à partir de la génératrice" ), - ), - - -#==== -# Extraction sur un sous-point d'une poutre multifibre : -#==== - EXTR_PMF =FACT(statut='f', max=1, fr="extraction sur un sous-point d'une poutre multifibre", - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - into=liste_option_extr,), - NUME_FIBRE =SIMP(statut='o',typ='I',val_min=1, - fr="numéro de la fibre dans la poutre multifibre" ), - ), - - -#==== -# Extraction des min / max sur les sous-points : -#==== - MIN_MAX_SP =FACT(statut='f', max='**', fr="extraction du min/max d'une composante pour un champ", - NOM_CHAM =SIMP(statut='o',typ='TXM', - into=liste_option_extr,), - NOM_CMP =SIMP(statut='o',typ='TXM',fr="nom de la composante", ), - TYPE_MAXI =SIMP(statut='o',typ='TXM',into=("MAXI","MINI","MAXI_ABS","MINI_ABS",) ), - NUME_CHAM_RESU = SIMP(statut='o', typ='I', val_min=1, val_max=20, - fr="Numéro du champ produit. Exemple: 6 produit le champ UT06",), - ), - - -#==== -# Calcul des efforts des coques "excentrées" sur le feuillet moyen de la coque : -#==== - COQU_EXCENT =FACT(statut='f', max=2, fr="Calcul des efforts d'une coque 'excentrée' sur le feuillet moyen de la coque", - NOM_CHAM =SIMP(statut='o',typ='TXM',into=("EFGE_ELNO","EFGE_ELGA",),), - MODI_PLAN =SIMP(statut='o',typ='TXM',into=("OUI",),), - ), - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: xavier.desroches at edf.fr - -POST_COQUE=MACRO(nom="POST_COQUE", - op=OPS('Macro.post_coque_ops.post_coque_ops'), - sd_prod=table_sdaster, - reentrant='n', - UIinfo={"groupes":("Post-traitements",)}, - fr="Calcul des efforts et déformations en un point et une cote " \ - "quelconque de la coque", - - regles=(EXCLUS('INST','NUME_ORDRE'),), - - # SD résultat et champ à posttraiter : - RESULTAT =SIMP(statut='o',typ=resultat_sdaster,fr="RESULTAT à posttraiter",), - CHAM =SIMP(statut='o',typ='TXM',into=("EFFORT","DEFORMATION",)), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - - # points de post-traitement : - COOR_POINT =FACT(statut='o',max='**',fr="coordonnées et position dans l'épaisseur", - COOR=SIMP(statut='o',typ='R',min=3,max=4),), - - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: Georges-cc.devesa at edf.fr - - -POST_DECOLLEMENT=MACRO(nom="POST_DECOLLEMENT", - op=OPS('Macro.post_decollement_ops.post_decollement_ops'), - sd_prod=table_sdaster, - fr="calcul du rapport de surfaces de contact radier/sol", - reentrant='n', - UIinfo={"groupes":("Post-traitements",)}, - RESULTAT =SIMP(statut='o',typ=(evol_noli) ), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),defaut='DEPL',into=C_NOM_CHAM_INTO(),max=1), - NOM_CMP =SIMP(statut='f',typ='TXM',defaut='DZ',max=1), - GROUP_MA =SIMP(statut='o',typ=grma,max=1), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr -POST_DYNA_ALEA=MACRO(nom="POST_DYNA_ALEA", - op=OPS('Macro.post_dyna_alea_ops.post_dyna_alea_ops'), - sd_prod=table_sdaster, - fr="Traitements statistiques de résultats de type interspectre " \ - "et impression sur fichiers", - reentrant='n', - UIinfo={"groupes":("Post-traitements","Dynamique",)}, - regles=(UN_PARMI('FRAGILITE','INTERSPECTRE'),), - FRAGILITE =FACT(statut='f',fr="donnees pour courbe de fragilite",max=1, - TABL_RESU =SIMP(statut='o',typ=table_sdaster), - regles=(UN_PARMI('VALE','LIST_PARA'),), - VALE = SIMP(statut='f',typ='R', min=1,validators=NoRepeat(),max='**' ), - LIST_PARA = SIMP(statut='f',typ=listr8_sdaster), - AM_INI = SIMP(statut='f',typ='R',defaut= 0.4 ), - BETA_INI = SIMP(statut='f',typ='R',defaut= 0.3 ), - FRACTILE = SIMP(statut='f',typ='R', min=1,validators=NoRepeat(),max='**'), - b_inte_spec_f = BLOC(condition="""FRACTILE !=None""", - NB_TIRAGE =SIMP(statut='f',typ='I' ),), - ), - INTERSPECTRE =FACT(statut='f',fr="donnees pour interspectre",max=1, - regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I','OPTION'),), - INTE_SPEC =SIMP(statut='o',typ=interspectre), - NUME_ORDRE_I =SIMP(statut='f',typ='I',max='**' ), - NOEUD_I =SIMP(statut='f',typ=no,max='**'), - OPTION =SIMP(statut='f',typ='TXM',into=("DIAG","TOUT",) ), - b_nume_ordre_i =BLOC(condition = "NUME_ORDRE_I != None", - NUME_ORDRE_J =SIMP(statut='o',typ='I',max='**' ), - ), - b_noeud_i =BLOC(condition = "NOEUD_I != None", - NOEUD_J =SIMP(statut='o',typ=no,max='**'), - NOM_CMP_I =SIMP(statut='o',typ='TXM',max='**' ), - NOM_CMP_J =SIMP(statut='o',typ='TXM',max='**' ), - ), - MOMENT =SIMP(statut='f',typ='I',max='**',fr="Moments spectraux "\ - "en complément des cinq premiers" ), - DUREE =SIMP(statut='f',typ='R',fr="durée de la phase forte "\ - "pour facteur de peak" ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: emmanuel.boyere at edf.fr -POST_DYNA_MODA_T=OPER(nom="POST_DYNA_MODA_T",op= 130,sd_prod=table_sdaster, - fr="Post-traiter les résultats en coordonnées généralisées produit par DYNA_TRAN_MODAL", - reentrant='n', - UIinfo={"groupes":("Post-traitements","Dynamique",)}, - regles=(UN_PARMI('CHOC','RELA_EFFO_DEPL', ),), - RESU_GENE =SIMP(statut='o',typ=tran_gene ), - CHOC =FACT(statut='f',max='**', - fr="Analyse des non linéarités de choc", - INST_INIT =SIMP(statut='f',typ='R',defaut= -1. ), - INST_FIN =SIMP(statut='f',typ='R',defaut= 999. ), - NB_BLOC =SIMP(statut='f',typ='I',defaut= 1 ), - SEUIL_FORCE =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - DUREE_REPOS =SIMP(statut='f',typ='R',defaut= 0.E+0 ), - OPTION =SIMP(statut='f',typ='TXM',defaut="USURE",into=("IMPACT","USURE") ), - NB_CLASSE =SIMP(statut='f',typ='I',defaut= 10 ), - ), - RELA_EFFO_DEPL =FACT(statut='f', - fr="Analyse des relationsnon linéaires effort-déplacement", - NOEUD =SIMP(statut='o',typ=no), - NOM_CMP =SIMP(statut='o',typ='TXM' ), - ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: josselin.delmas at edf.fr - -POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=table_sdaster,reentrant='n', - UIinfo={"groupes":("Post-traitements","Résultats et champs",)}, - fr="Calcul de quantités globales (masse, inerties, énergie, ...) sur tout ou partie du modèle", - - regles=(UN_PARMI('MASS_INER', 'ENER_POT', 'ENER_CIN','TRAV_EXT','MINMAX', - 'WEIBULL', 'RICE_TRACEY', 'CARA_GEOM','CHAR_LIMITE','NORME', - 'CARA_POUTRE', 'INDIC_ENER', 'INDIC_SEUIL','VOLUMOGRAMME', - 'AIRE_INTERNE','ENER_ELAS','ENER_TOTALE','ENER_DISS','INTEGRALE'), - ), - - MASS_INER = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ORIG_INER = SIMP(statut='f',typ='R',min=3,max=3 ), - ), - b_mass_iner = BLOC(condition = "( MASS_INER != None )", - fr="calcul de la masse, les inerties et le centre de gravité", - regles=(EXCLUS('CHAM_GD','RESULTAT'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),), - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - GEOMETRIE = SIMP(statut='f',typ='TXM',defaut="INITIALE",into=("INITIALE","DEFORMEE")), - CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), - RESULTAT = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_noli,mult_elas, - fourier_elas,dyna_trans) ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - FREQ = SIMP(statut='f',typ='R',), - LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster), - NUME_MODE = SIMP(statut='f',typ='I',), - NOEUD_CMP = SIMP(statut='f',typ='TXM',min=2,validators=NoRepeat(),max=2), - NOM_CAS = SIMP(statut='f',typ='TXM',), - ), - - ENER_POT = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - b_ener_pot = BLOC(condition = "( ENER_POT != None )", - fr="calcul de l'énergie potentielle de déformation", - regles=(UN_PARMI('CHAM_GD','RESULTAT'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),), - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), - ANGLE = SIMP(statut='f',typ='I',defaut=0), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), - RESULTAT = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans,mult_elas) ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - FREQ = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster), - NUME_MODE = SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'), - NOEUD_CMP = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - ), - - ENER_CIN = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - OPTION = SIMP(statut='f',typ='TXM',validators=NoRepeat(), - into=("MASS_MECA","MASS_MECA_DIAG"), - defaut="MASS_MECA" ), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - b_ener_cin = BLOC(condition = "( ENER_CIN != None )", - fr="calcul de l'énergie cinétique", - regles=(UN_PARMI('CHAM_GD','RESULTAT'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE', - 'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),), - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), - ANGLE = SIMP(statut='f',typ='I',defaut=0), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), - RESULTAT = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans) ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - FREQ = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ = SIMP(statut='f',typ=listr8_sdaster), - NUME_MODE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NOEUD_CMP = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - ), - - ENER_DISS = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - b_ener_diss = BLOC(condition = "( ENER_DISS != None )", - fr="calcul de l'énergie dissipée", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - RESULTAT = SIMP(statut='o',typ=(evol_noli) ), - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - - - ENER_ELAS = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - b_ener_elas = BLOC(condition = "( ENER_ELAS != None )", - fr="calcul de l'énergie de déformation élastique", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - RESULTAT = SIMP(statut='o',typ=(evol_noli,evol_elas) ), - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - - ENER_TOTALE = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - b_ener_totale = BLOC(condition = "( ENER_TOTALE != None )", - fr="calcul de l'énergie de déformation totale", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - RESULTAT = SIMP(statut='o',typ=(evol_noli) ), - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - - INTEGRALE = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - NOM_CHAM = SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - NOM_CMP = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'), - DEJA_INTEGRE = SIMP(statut='f',typ='TXM',into=("OUI","NON",),), - ), - b_integrale = BLOC(condition = "( INTEGRALE != None )", - fr="calcul de la moyenne d'une composante", - regles=(UN_PARMI('CHAM_GD','RESULTAT'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_ORDRE','LIST_INST'),), - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - RESULTAT = SIMP(statut='f',typ=(evol_noli,evol_ther,evol_elas,evol_char) ), - CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - - VOLUMOGRAMME = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA'), - UN_PARMI('NB_INTERV','SEUIL'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA = SIMP(statut='f',typ=grma,max=1), - TYPE_MAILLE = SIMP(statut='f',typ='TXM',into=('2D','3D',)), - NOM_CHAM = SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - NOM_CMP = SIMP(statut='o',typ='TXM'), - NB_INTERV = SIMP(statut='f',typ='I'), - SEUIL = SIMP(statut='f',typ='R'), - BORNES = SIMP(statut='f',typ='R',validators=NoRepeat(),min=2,max=2), - NORME = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")), - ), - b_volumogramme = BLOC(condition = "( VOLUMOGRAMME != None )", - fr="calcul de la distribution du volume d'une structure vis-à-vis d'une composante", - regles=(UN_PARMI('CHAM_GD','RESULTAT'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_ORDRE','LIST_INST'),), - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - RESULTAT = SIMP(statut='f',typ=(evol_noli,evol_ther,evol_elas,evol_char) ), - CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - - NORME = FACT(statut='f',max=1, - fr="calcul des extrema en espace d'une CMP d'un champ, pour tous les instants spécifiés", - regles=(UN_PARMI('TOUT','GROUP_MA'), - UN_PARMI('CHAM_GD','RESULTAT'), - PRESENT_PRESENT('CHAM_GD','MODELE'), - PRESENT_PRESENT('RESULTAT','NOM_CHAM'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - TYPE_MAILLE = SIMP(statut='f',typ='TXM',into=('2D','3D',)), - TYPE_NORM = SIMP(statut='f',typ='TXM',into=('L2','FROBENIUS')), - RESULTAT = SIMP(statut='f',typ=(evol_noli,evol_ther,evol_elas) ), - NOM_CHAM = SIMP(statut='f',typ='TXM',validators=NoRepeat(), - into=("DEPL","TEMP","NEUT_R", - "FLUX_ELGA","FLUX_ELNO","FLUX_NOEU", - "EPSI_ELGA","EPSI_ELNO","EPSI_NOEU", - "SIEF_ELGA","SIEF_ELNO","SIEF_NOEU")), - CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), - MODELE = SIMP(statut='f',typ=modele_sdaster), - - b_norme_GD = BLOC(condition = "( CHAM_GD != None )", - COEF_MULT = SIMP(statut='f',typ='R',max=30), - ), - - b_norme = BLOC(condition = "( RESULTAT != None )", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - ), - - - MINMAX = FACT(statut='f',max=1, - fr="calcul des extrema en espace d'une CMP d'un champ, pour tous les instants spécifiés", - regles=(UN_PARMI('CHAM_GD','RESULTAT'), - PRESENT_PRESENT('CHAM_GD','MODELE'), - PRESENT_PRESENT('RESULTAT','NOM_CHAM'), - UN_PARMI('TOUT','GROUP_MA'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - RESULTAT = SIMP(statut='f',typ=(evol_noli,evol_ther,evol_elas) ), - NOM_CHAM = SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()), - CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), - MODELE = SIMP(statut='f',typ=modele_sdaster), - NOM_CMP = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'), - b_minmax = BLOC(condition = "( RESULTAT != None )", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - ), - - WEIBULL = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - OPTION = SIMP(statut='f',typ='TXM',validators=NoRepeat(), - into=("SIGM_ELGA","SIGM_ELMOY"), - defaut="SIGM_ELGA"), - CORR_PLAST = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - COEF_MULT = SIMP(statut='f',typ='R',defaut=1.), - ), - b_weibull = BLOC(condition = "( WEIBULL != None )", - fr="calcul du champ élémentaire de la puissance m-ième de la contrainte de Weibull", - regles=(UN_PARMI('CHAM_GD','RESULTAT'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), - RESULTAT = SIMP(statut='f',typ=(evol_noli) ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - - RICE_TRACEY = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - OPTION = SIMP(statut='f',typ='TXM',validators=NoRepeat(), - into=("SIGM_ELGA","SIGM_ELMOY"), - defaut="SIGM_ELGA"), - LOCAL = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - ), - b_rice_tracey = BLOC(condition = "( RICE_TRACEY != None )", - fr="calcul du taux de croissance d'une cavité sphérique par rapport à un domaine", - regles=(UN_PARMI('CHAM_GD','RESULTAT'), - EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - NUME_COUCHE = SIMP(statut='f',typ='I',defaut=1), - NIVE_COUCHE = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - CHAM_GD = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ), - RESULTAT = SIMP(statut='f',typ=(evol_noli) ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - - INDIC_ENER = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - b_indic_ener = BLOC(condition = "( INDIC_ENER != None )", - fr="calcul un indicateur global de perte de proportionnalité du chargement", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - RESULTAT = SIMP(statut='o',typ=(evol_noli) ), - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - - INDIC_SEUIL = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - ), - b_indic_seuil = BLOC(condition = "( INDIC_SEUIL != None )", - fr="calcul un indicateur global de perte de proportionnalité du chargement", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - RESULTAT = SIMP(statut='o',typ=(evol_noli) ), - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - - CHAR_LIMITE = FACT(statut='f',min=0, - CHAR_CSTE = SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON") - ), - b_char_limite = BLOC(condition = "( CHAR_LIMITE != None )", - fr="post-traitement du calcul de la charge limite", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CARA_ELEM = SIMP(statut='f',typ=cara_elem), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - RESULTAT = SIMP(statut='o',typ=(evol_noli) ), - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE = SIMP(statut='f',typ=listis_sdaster), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST = SIMP(statut='f',typ=listr8_sdaster), - ), - - CARA_GEOM = FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - MAILLE = SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - SYME_X = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - SYME_Y = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - ORIG_INER = SIMP(statut='f',typ='R',min=2,max=2), - ), - b_cara_geom = BLOC(condition = "( CARA_GEOM != None )", - fr="calcul des caractéristiques géométriques d'un section de poutre", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - ), - - CARA_POUTRE = FACT(statut='f',max='**', - regles=(UN_PARMI('TOUT','GROUP_MA'), - ENSEMBLE('LONGUEUR','LIAISON','MATERIAU'),), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - GROUP_MA_INTE = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - CARA_GEOM = SIMP(statut='o',typ=table_sdaster), - RT = SIMP(statut='f',typ='R'), - LAPL_PHI = SIMP(statut='f',typ=evol_ther), - LAPL_PHI_Y = SIMP(statut='f',typ=evol_ther), - LAPL_PHI_Z = SIMP(statut='f',typ=evol_ther), - LIAISON = SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT")), - LONGUEUR = SIMP(statut='f',typ='R'), - MATERIAU = SIMP(statut='f',typ=mater_sdaster), - OPTION = SIMP(statut='f',typ='TXM',validators=NoRepeat(), - into=("CARA_TORSION","CARA_CISAILLEMENT","CARA_GAUCHI") ), - ), - b_cara_poutre = BLOC(condition = "( CARA_POUTRE != None )", - fr="calcul des caractéristiques mécaniques d'un section de poutre", - MODELE = SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER = SIMP(statut='f',typ=cham_mater), - CHARGE = SIMP(statut='f',typ=(char_meca,char_cine_meca, - char_ther,char_acou),validators=NoRepeat(),max='**' ), - MODE_FOURIER = SIMP(statut='f',typ='I',defaut=0), - ), - - AIRE_INTERNE = FACT(statut='f',max='**', - GROUP_MA_BORD = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'), - ), - b_aire_interne = BLOC(condition = "( AIRE_INTERNE != None )", - fr="calcul de l'aire d'un trou dans un maillage 2D", - MODELE = SIMP(statut='f',typ=modele_sdaster), - ), - - TRAV_EXT = FACT(statut='f',), - b_trav_ext = BLOC(condition = "( TRAV_EXT != None )", - fr="calcul du travail des efforts extérieurs", - RESULTAT = SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans) ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - TOUT_ORDRE = SIMP(statut='f',typ='TXM',into=("OUI",) ), - ), - - TITRE =SIMP(statut='f',typ='TXM',max='**' ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - - ) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: marina.bottoni at edf.fr - -# --------------------------------------------------------------------------- -# POST_ENDO_FISS -# RECHERCHE DU TRAJET DE FISSURATION SUR UN -# CHAMP SCALAIRE 2D - - -def post_endo_fiss_prod(self,TABLE,**args) : - self.type_sdprod(TABLE,table_sdaster) - return maillage_sdaster - -POST_ENDO_FISS=MACRO(nom="POST_ENDO_FISS", - op=OPS('Macro.post_endo_fiss_ops.post_endo_fiss_ops'), - sd_prod=post_endo_fiss_prod, - reentrant='n', - UIinfo={"groupes":("Post-traitements","Outils-métier",)}, - fr="Individuation du trace d'une fissure a partir d'un champ scalaire pertinant", - - TABLE = SIMP(statut = 'o', typ = CO,), - - regles = (UN_PARMI("RESULTAT","CHAM_GD"), - ), - OUVERTURE = SIMP(statut = 'f', typ = 'TXM', into=('OUI','NON',), defaut = 'NON' ), - b_resultat = BLOC(condition = "RESULTAT != None", - regles = (UN_PARMI('NUME_ORDRE','INST'),), - NUME_ORDRE = SIMP(statut = 'f', typ = 'I', validators = NoRepeat(), ), - INST = SIMP(statut = 'f', typ = 'R', validators = NoRepeat(), ), - ), - - #b_champ = BLOC(condition = "CHAM_GD != None",), - - CHAM_GD = SIMP(statut = 'f',typ = (cham_gd_sdaster)), - RESULTAT = SIMP(statut = 'f',typ = (evol_noli)), - NOM_CMP = SIMP(statut = 'o',typ='TXM',), - NOM_CHAM = SIMP(statut = 'o', typ = 'TXM', - fr = "nom du champ a post-traiter",), - - RECHERCHE = FACT(statut = 'o',min=1,max='**', - regles = ( - PRESENT_ABSENT('TOUT','GROUP_MA',), - ), - LONG_ORTH = SIMP(statut='o', typ='R'), - NB_POINT = SIMP(statut='f', typ='I', defaut = 500), - PAS = SIMP(statut='o', typ='R', ), - LONG_REG = SIMP(statut='o', typ='R'), - BORNE_MIN = SIMP(statut='f', typ='R', defaut=0.5), - ANGL_MAX = SIMP(statut='f', typ='R', defaut=120.), - TOUT = SIMP(statut='f', typ='TXM', into=('OUI',) ), - GROUP_MA = SIMP(statut='f', typ=grma, validators=NoRepeat(), ), - BORNE_MAX = SIMP(statut='f', typ='R'), - ), - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr -POST_FATI_ALEA=OPER(nom="POST_FATI_ALEA",op=170,sd_prod=table_sdaster,reentrant='n', - UIinfo={"groupes":("Post-traitements","Rupture",)}, - fr="Calculer le dommage de fatigue subi par une structure soumise à une sollicitation de type aléatoire", - regles=(ENSEMBLE('MOMENT_SPEC_0','MOMENT_SPEC_2'), - PRESENT_PRESENT( 'MOMENT_SPEC_4','MOMENT_SPEC_0'), - UN_PARMI('TABL_POST_ALEA','MOMENT_SPEC_0'), ), - MOMENT_SPEC_0 =SIMP(statut='f',typ='R'), - MOMENT_SPEC_2 =SIMP(statut='f',typ='R'), - MOMENT_SPEC_4 =SIMP(statut='f',typ='R'), - TABL_POST_ALEA =SIMP(statut='f',typ=table_sdaster), - COMPTAGE =SIMP(statut='o',typ='TXM',into=("PIC","NIVEAU")), - DUREE =SIMP(statut='f',typ='R',defaut= 1.), - CORR_KE =SIMP(statut='f',typ='TXM',into=("RCCM",)), - DOMMAGE =SIMP(statut='o',typ='TXM',into=("WOHLER",)), - MATER =SIMP(statut='o',typ=mater_sdaster), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: van-xuan.tran at edf.fr -POST_FATIGUE=OPER(nom="POST_FATIGUE",op=136,sd_prod=table_sdaster,reentrant='n', - UIinfo={"groupes":("Post-traitements","Rupture",)}, - fr="Calculer en un point, le dommage de fatigue subi par une structure soumise à une histoire de chargement", - - CHARGEMENT = SIMP(statut='o',typ='TXM',into=("UNIAXIAL","MULTIAXIAL","QUELCONQUE")), - - b_uniaxial = BLOC( condition = "CHARGEMENT=='UNIAXIAL'", - regles=(PRESENT_PRESENT('CORR_KE','MATER'), - PRESENT_PRESENT('CORR_SIGM_MOYE','MATER'), - PRESENT_PRESENT('DOMMAGE','MATER'),), - HISTOIRE = FACT(statut='o', - regles=(UN_PARMI('SIGM','EPSI'),), - SIGM = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPSI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),), - COMPTAGE = SIMP(statut='o',typ='TXM',into=("RAINFLOW","RAINFLOW_MAX","RCCM","NATUREL")), - DELTA_OSCI = SIMP(statut='f',typ='R',defaut= 0.0E+0), - COEF_MULT = FACT(statut='f', - KT = SIMP(statut='o',typ='R'),), - CORR_KE = SIMP(statut='f',typ='TXM',into=("RCCM",)), - DOMMAGE = SIMP(statut='f',typ='TXM',into=("WOHLER","MANSON_COFFIN", - "TAHERI_MANSON","TAHERI_MIXTE")), - MATER = SIMP(statut='f',typ=mater_sdaster), - CORR_SIGM_MOYE = SIMP(statut='f',typ='TXM',into=("GOODMAN","GERBER")), - TAHERI_NAPPE = SIMP(statut='f',typ=(nappe_sdaster,formule)), - TAHERI_FONC = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - CUMUL = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)), - ), - - b_multiaxial = BLOC( condition = "CHARGEMENT=='MULTIAXIAL'", - HISTOIRE = FACT(statut='o', - regles=(PRESENT_PRESENT('SIGM_XX','SIGM_YY','SIGM_ZZ','SIGM_XY','SIGM_XZ','SIGM_YZ'), - PRESENT_PRESENT('EPS_XX','EPS_YY','EPS_ZZ','EPS_XY','EPS_XZ','EPS_YZ'), - PRESENT_PRESENT('EPSP_XX','EPSP_YY','EPSP_ZZ','EPSP_XY','EPSP_XZ','EPSP_YZ'), - AU_MOINS_UN('SIGM_XX','SIGM_YY','SIGM_ZZ','SIGM_XY','SIGM_XZ','SIGM_YZ', - 'EPS_XX','EPS_YY','EPS_ZZ','EPS_XY','EPS_XZ','EPS_YZ', - 'EPSP_XX','EPSP_YY','EPSP_ZZ','EPSP_XY','EPSP_XZ','EPSP_YZ'), - ), - SIGM_XX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_YY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_ZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_XY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_XZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_YZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - - EPS_XX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPS_YY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPS_ZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPS_XY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPS_XZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPS_YZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - - EPSP_XX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPSP_YY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPSP_ZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPSP_XY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPSP_XZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPSP_YZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - - TYPE_CHARGE = SIMP(statut='o',typ='TXM',into=("PERIODIQUE","NON_PERIODIQUE")), - DOMMAGE = SIMP(statut='f',typ='TXM',into=("WOHLER","MANSON_C","FORM_VIE") ), - - b_fati_pfvie = BLOC(condition = "(DOMMAGE == 'FORM_VIE')", - FORMULE_VIE =SIMP(statut='o',typ=(fonction_sdaster,formule) ), - ), - - MATER = SIMP(statut='f',typ=mater_sdaster), - COEF_CORR = SIMP(statut='f',typ='R'), - COEF_PREECROU =SIMP(statut='f',typ='R',defaut= 1.0E+0), - - - b_period =BLOC(condition = "TYPE_CHARGE == 'PERIODIQUE'", - CRITERE =SIMP(statut='o',typ='TXM',into=("MATAKE_MODI_AC","DANG_VAN_MODI_AC","CROSSLAND", - "PAPADOPOULOS","FORMULE_CRITERE") ), - - METHODE =SIMP(statut='f',typ='TXM',into=("CERCLE_EXACT",) ), - b_fati_pf =BLOC(condition = "(CRITERE == 'FORMULE_CRITERE')", - FORMULE_GRDEQ = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - FORMULE_CRITIQUE = SIMP(statut='f',typ=(fonction_sdaster,formule) ), - ), - ), - - b_non_period =BLOC(condition = "TYPE_CHARGE == 'NON_PERIODIQUE'", - CRITERE =SIMP(statut='o',typ='TXM', - into=("MATAKE_MODI_AV","DANG_VAN_MODI_AV","FATESOCI_MODI_AV","FORMULE_CRITERE") ), - PROJECTION =SIMP(statut='o',typ='TXM',into=("UN_AXE", "DEUX_AXES") ), - DELTA_OSCI =SIMP(statut='f',typ='R',defaut= 0.0E+0), - - b_fati_npf =BLOC(condition = "(CRITERE == 'FORMULE_CRITERE')", - FORMULE_GRDEQ =SIMP(statut='o',typ=(fonction_sdaster,formule) ), - ), - ), - - ), - - b_quelconque = BLOC( condition = "CHARGEMENT=='QUELCONQUE'", - HISTOIRE = FACT(statut='o', - SIGM_XX = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_YY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_ZZ = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_XY = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_XZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - SIGM_YZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - EPSP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)), - TEMP = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),), - DOMMAGE = SIMP(statut='f',typ='TXM',into=("LEMAITRE",),), - MATER = SIMP(statut='o',typ=mater_sdaster), - CUMUL = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)), - ), - - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -POST_K1_K2_K3=MACRO(nom="POST_K1_K2_K3", - op=OPS('Macro.post_k1_k2_k3_ops.post_k1_k2_k3_ops'), - sd_prod=table_sdaster, - fr="Calcul des facteurs d'intensité de contraintes en 2D et en 3D par "\ - "extrapolation des sauts de déplacements sur les lèvres de la fissure", - reentrant='n', - UIinfo={"groupes":("Post-traitements","Rupture",)}, - - regles=(UN_PARMI('FISSURE','FOND_FISS'),), - - MODELISATION =SIMP(statut='o',typ='TXM', - into=("3D","AXIS","D_PLAN","C_PLAN"),position='global', - fr="Modélisation cohérente avec celle utilisée pour le calcul des déplacements"), - FOND_FISS =SIMP(statut='f',typ=fond_fiss), - FISSURE =SIMP(statut='f',typ=fiss_xfem), - RESULTAT =SIMP(statut='o',typ=(evol_elas,evol_noli,mode_meca),position='global', - fr="Déplacement des noeuds de la lèvre supérieure et inférieure"), - NB_NOEUD_COUPE=SIMP(statut='f',typ='I',defaut=5,val_min = 3), - -# bloc correspondant a la donnee du fond de fissure pour les fissures maillees - b_fond_fiss =BLOC (condition="FOND_FISS!= None", - - b_no_mod =BLOC (condition="AsType(RESULTAT)!= mode_meca", - - EVOL_THER = SIMP(statut='f',typ=(evol_ther),fr="Température sur le fond de fissure"), - b_ref_3D = BLOC (condition="MODELISATION=='3D' ", - TYPE_MAILLAGE = SIMP(statut='f',typ='TXM',into=("LIBRE","REGLE"),defaut="REGLE"), - ), - ), - b_mod =BLOC (condition="AsType(RESULTAT)== mode_meca and MODELISATION=='3D'", - TYPE_MAILLAGE = SIMP(statut='f',typ='TXM',into=("REGLE",),defaut="REGLE"), - ), - - NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - SANS_NOEUD = SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - SANS_GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - TOUT = SIMP(statut='f',typ='TXM',into=("OUI",) ), - ABSC_CURV_MAXI=SIMP(statut='f',typ='R', - fr="Distance maximum à partir du fond de fissure à utiliser pour le calcul"), - ), - -# bloc correspondant a la donnee de la fissure pour les fissures X-FEM - b_fissure =BLOC (condition="FISSURE!= None", - NB_POINT_FOND = SIMP(statut='f',typ='I' ,), - NUME_FOND = SIMP(statut='f',typ='I',defaut=1), - ABSC_CURV_MAXI=SIMP(statut='f',typ='R', - fr="Distance maximum à partir du fond de fissure à utiliser pour le calcul"), - ), - - MATER =SIMP(statut='o',typ=mater_sdaster, - fr="Matériau homogène et isotrope cohérent avec celui utilisé pour le calcul des déplacements"), - - - PREC_VIS_A_VIS=SIMP(statut='f',typ='R',defaut=0.1), - - b_mod_meca =BLOC (condition="AsType(RESULTAT)== mode_meca ", - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - TOUT_MODE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_MODE =SIMP(statut='f',typ=listis_sdaster), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - b_acce_reel =BLOC(condition="(FREQ!=None) or (LIST_FREQ!=None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - ), - b_no_mod_meca =BLOC (condition="AsType(RESULTAT)!= mode_meca ", - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - b_acce_reel =BLOC(condition="(INST != None)or(LIST_INST != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: aurore.parrot at edf.fr -# -POST_K_BETA=OPER(nom="POST_K_BETA",op=198,sd_prod=table_sdaster, - fr="Calcul des facteurs d'intensité de contraintes par la méthode K_BETA", - reentrant='n', - UIinfo={"groupes":("Post-traitements","Rupture",)}, - MAILLAGE = SIMP(statut='o',typ=maillage_sdaster), - MATER_REV = SIMP(statut='o',typ=mater_sdaster), - EPAIS_REV = SIMP(statut='o',typ='R'), - FISSURE = FACT(statut='o', - DECALAGE = SIMP(statut='f',typ='R',defaut=-2.e-04), - PROFONDEUR = SIMP(statut='o',typ='R'), - LONGUEUR = SIMP(statut='o',typ='R'), - ORIENTATION = SIMP(statut='o',typ='TXM', - into=("CIRC","LONGI"),), - ), - K1D = FACT(statut='o',max='**', - TABL_MECA_REV = SIMP(statut='o',typ=(table_sdaster)), - TABL_MECA_MDB = SIMP(statut='o',typ=(table_sdaster)), - TABL_THER = SIMP(statut='o',typ=(table_sdaster)), - INTITULE = SIMP(statut='o',typ='TXM' ), - ), - TITRE = SIMP(statut='f',typ='TXM',max='**'), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - - -POST_K_TRANS=MACRO(nom="POST_K_TRANS", - op=OPS('Macro.post_k_trans_ops.post_k_trans_ops'), - sd_prod=table_sdaster, - fr="Calcul des facteurs d intensite des contrainte par recombinaison modale", - reentrant='n', - UIinfo={"groupes":("Post-traitements","Rupture",)}, - RESU_TRANS =SIMP(statut='o',typ=tran_gene), - K_MODAL =FACT(statut='o', - TABL_K_MODA =SIMP(statut='o',typ=table_sdaster,), - FOND_FISS =SIMP(statut='f',typ=fond_fiss,), - FISSURE =SIMP(statut='f',typ=fiss_xfem,), - regles=( UN_PARMI('FISSURE','FOND_FISS'), ), - ), - - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R'),), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM'), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: romeo.fernandes at edf.fr - -POST_MAC3COEUR = MACRO(nom="POST_MAC3COEUR", - op=OPS("Mac3coeur.post_mac3coeur_ops.post_mac3coeur_ops"), - - TYPE_COEUR = SIMP(statut='o',typ='TXM',into=("MONO","TEST","900","1300","N4","EPR") ), - RESULTAT = SIMP(statut='o',typ=evol_noli), # SD_RESULTAT - INST = SIMP(statut='o',typ='R', max=1), # INSTANT - - LAME = FACT(statut='f',max='**', - fr="Post-traitement des lames d'eau, par grille ou valeurs min/max", - regles = UN_PARMI('NUME_GRILLE','TYPE_RESU',), - NUME_GRILLE = SIMP(statut='f',typ='I', max=1), # NUMERO DE LA GRILLE A POST-TRAITER - TYPE_RESU = SIMP(statut='f',typ='TXM',into=("MINI","MAXI")), # EXTREMA POUR LE POST - FORMAT = SIMP(statut='o',typ='TXM',into=("GRACE","TABLE")), - UNITE = SIMP(statut='o',typ='I', max=1), # NUMERO DE L'UNITE LOGIQUE POUR LE POST - ), - - DEFORMATION = FACT(statut='f',max='**', - fr="Post-traitement des deformations, par grille ou valeurs min/max", - - UNITE = SIMP(statut='o',typ='I', max=1), - FORMAT = SIMP(statut='o',typ='TXM',into=("GRACE","TABLE")), - - b_def_grace = BLOC(condition = "FORMAT == 'GRACE' ",fr="Paramètres pour le format GRACE", - regles=UN_PARMI('NUME_GRILLE','TYPE_RESU','POSITION'), - TYPE_VISU = SIMP(statut='o',typ='TXM',into=("AMPLITUDE","MODULE","VECTEUR","DEFORME")), - TYPE_RESU = SIMP(statut='f',typ='TXM',into=("MINI","MAXI")), - NUME_GRILLE = SIMP(statut='f',typ='I', max=1), # NUMERO DE LA GRILLE A POST-TRAITER - POSITION = SIMP(statut='f',typ='TXM', max=1), - CONCEPTION = SIMP(statut='f',typ='TXM', max=1), - ), - - b_def_table = BLOC(condition = "FORMAT == 'TABLE' ",fr="Paramètres pour le format TABLE", - NOM_CMP = SIMP(statut='o',typ='TXM',into=("DY","DZ","NORME")), - ), - - - ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr -POST_MAIL_XFEM=OPER(nom="POST_MAIL_XFEM",op= 187,sd_prod=maillage_sdaster, - reentrant='n',UIinfo={"groupes":("Maillage","Rupture",)}, - fr="Crée un maillage se conformant à la fissure pour le post-traitement des éléments XFEM", - MODELE = SIMP(statut='o',typ=modele_sdaster), - PREF_NOEUD_X =SIMP(statut='f',typ='TXM',defaut="NX",validators=LongStr(1,2),), - PREF_NOEUD_M =SIMP(statut='f',typ='TXM',defaut="NM",validators=LongStr(1,2),), - PREF_NOEUD_P =SIMP(statut='f',typ='TXM',defaut="NP",validators=LongStr(1,2),), - PREF_MAILLE_X =SIMP(statut='f',typ='TXM',defaut="MX",validators=LongStr(1,2),), - PREF_GROUP_CO =SIMP(statut='f',typ=grno ,defaut="NFISSU",), - TITRE = SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -POST_RCCM=OPER(nom="POST_RCCM",op= 165,sd_prod=table_sdaster, - fr="Vérification des critères de niveau 0 et certains critères de niveau A du RCC-M-B3200 (Edition 1991)", - reentrant='n', - UIinfo={"groupes":("Post-traitements","Rupture",)}, - TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="VALE_MAX",into=("VALE_MAX","DETAILS") ), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), - TITRE =SIMP(statut='f',typ='TXM',max='**'), - TYPE_RESU_MECA =SIMP(statut='o',typ='TXM',into=("EVOLUTION","UNITAIRE","TUYAUTERIE") ), - -# ====================================================================== - b_evolution =BLOC(condition="(TYPE_RESU_MECA == 'EVOLUTION')", - - OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - into=("PM_PB","SN","FATIGUE_ZH210","AMORCAGE") ), - MATER =SIMP(statut='o',typ=mater_sdaster ), - SY_MAX =SIMP(statut='f',typ='R', - fr="limite élastique utilisée pour le calcul du rochet thermique" ), - TYPE_KE =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"), - fr="Ke meca seul ou partition mecanique + thermique" ), - - TRANSITOIRE =FACT(statut='o',max='**',fr="transitoire à dépouiller", - regles=(EXCLUS('TOUT_ORDRE','INST','LIST_INST'), - UN_PARMI('TABL_RESU_MECA','TABL_SIGM_THETA'),), - NB_OCCUR =SIMP(statut='f',typ='I',defaut= 1, - fr="nombre d occurences réelles de ce transitoire" ), - TABL_RESU_MECA =SIMP(statut='f',typ=table_sdaster, - fr="relevé des contraintes sur le chemin"), - TABL_SIGM_THER =SIMP(statut='f',typ=table_sdaster, - fr="résultat sous chargement thermique seul" ), - TABL_RESU_PRES =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes sous chargement de pression" ), - TABL_SIGM_THETA =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes a la distance d de la singularité pour chacun des angles THETA" ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - b_inst =BLOC(condition = "(INST != None) or (LIST_INST != None)" , - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),),), - ), - ), - -# ====================================================================== - b_unitaire =BLOC(condition="(TYPE_RESU_MECA == 'UNITAIRE')", - - OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - into=("PM_PB","SN","FATIGUE") ), - MATER =SIMP(statut='o',typ=mater_sdaster ), - SY_MAX =SIMP(statut='f',typ='R', - fr="limite élastique utilisée pourle calcul du rochet thermique" ), - TYPE_KE =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"), - fr="Ke meca seul ou partition mecanique + thermique" ), - CHAR_MECA =FACT(statut='o',max='**',fr="Chargements mécaniques", - regles=(UN_PARMI('MX','MX_TUBU'),), - NUME_CHAR =SIMP(statut='o',typ='I',fr="numéro du chargement" ), - NOM_CHAR =SIMP(statut='f',typ='TXM',fr="nom du chargement" ), - MX =SIMP(statut='f',typ='R',fr="moment suivant x", ), - MX_TUBU =SIMP(statut='f',typ='R',fr="moment suivant x, tubulure", ), - b_1_tenseur =BLOC( condition = "MX != None", - FX =SIMP(statut='f',typ='R',fr="effort suivant x", ), - FY =SIMP(statut='f',typ='R',fr="effort suivant y", ), - FZ =SIMP(statut='f',typ='R',fr="effort suivant z", ), - MY =SIMP(statut='o',typ='R',fr="moment suivant y", ), - MZ =SIMP(statut='o',typ='R',fr="moment suivant z", ), - ), - b_2_tenseurs =BLOC( condition = "MX_TUBU != None", - FX_TUBU =SIMP(statut='f',typ='R',fr="effort suivant x, tubulure", ), - FY_TUBU =SIMP(statut='f',typ='R',fr="effort suivant y, tubulure", ), - FZ_TUBU =SIMP(statut='f',typ='R',fr="effort suivant z, tubulure", ), - MY_TUBU =SIMP(statut='o',typ='R',fr="moment suivant y, tubulure", ), - MZ_TUBU =SIMP(statut='o',typ='R',fr="moment suivant z, tubulure", ), - FX_CORP =SIMP(statut='f',typ='R',fr="effort suivant x, corps du piquage", ), - FY_CORP =SIMP(statut='f',typ='R',fr="effort suivant y, corps du piquage", ), - FZ_CORP =SIMP(statut='f',typ='R',fr="effort suivant z, corps du piquage", ), - MX_CORP =SIMP(statut='o',typ='R',fr="moment suivant x, corps du piquage", ), - MY_CORP =SIMP(statut='o',typ='R',fr="moment suivant y, corps du piquage", ), - MZ_CORP =SIMP(statut='o',typ='R',fr="moment suivant z, corps du piquage", ), - ), - - ), - RESU_MECA_UNIT =FACT(statut='o',fr="resultats mécaniques unitaires", - regles=(UN_PARMI('TABL_MX','TABL_MX_TUBU'),), - TABL_MX =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire MX"), - TABL_MX_TUBU =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire MX_TUBU"), - b_1_tenseur =BLOC( condition = "TABL_MX != None", - TABL_FX =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire FX"), - TABL_FY =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire FY"), - TABL_FZ =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire FZ"), - TABL_MY =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire MY"), - TABL_MZ =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire MZ"), - ), - b_2_tenseurs =BLOC( condition = "TABL_MX_TUBU != None", - TABL_FX_TUBU =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire FX_TUBU"), - TABL_FY_TUBU =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire FY_TUBU"), - TABL_FZ_TUBU =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire FZ_TUBU"), - TABL_MY_TUBU =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire MY_TUBU"), - TABL_MZ_TUBU =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire MZ_TUBU"), - TABL_FX_CORP =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire FX_CORP"), - TABL_FY_CORP =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire FY_CORP"), - TABL_FZ_CORP =SIMP(statut='f',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire FZ_CORP"), - TABL_MX_CORP =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire MX_CORP"), - TABL_MY_CORP =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire MY_CORP"), - TABL_MZ_CORP =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire MZ_CORP"), - ), - TABL_PRES =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des contraintes pour chargement unitaire de pression"), - ), - - RESU_THER =FACT(statut='f',max='**',fr="resultats thermiques", - NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ), - TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des contraintes sous chargement thermique seul" ), - ), - SEISME =FACT(statut='f',max='**',fr="Situation séisme",ang="situation_ang", - NB_OCCUR =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ), - NB_CYCL_SEISME =SIMP(statut='o',typ='I',fr="nombre de cycles associé au séisme" ), - NUME_SITU =SIMP(statut='o',typ='I',fr="numéro de la situation" ), - NOM_SITU =SIMP(statut='f',typ='TXM',fr="nom de la situation" ), - NUME_GROUPE =SIMP(statut='o',typ='I',fr="numéros du groupe de la situation" ), - CHAR_ETAT =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ), - ), - SITUATION =FACT(statut='o',max='**',fr="Situation",ang="situation_ang", - NB_OCCUR =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ), - NUME_SITU =SIMP(statut='o',typ='I',fr="numéro de la situation" ), - NOM_SITU =SIMP(statut='f',typ='TXM',fr="nom de la situation" ), - COMBINABLE =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ), - NUME_PASSAGE =SIMP(statut='f',typ='I',min=2,max=2, - fr="numéro des situations de passage" ), - NUME_GROUPE =SIMP(statut='o',typ='I', - fr="numéros des groupes de la situation" ), - NUME_RESU_THER =SIMP(statut='f',typ='I',max=1,fr="numeros de transitoires thermiques" ), - CHAR_ETAT_A =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ), - CHAR_ETAT_B =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ), - PRES_A =SIMP(statut='o',typ='R',fr="pression etat A"), - PRES_B =SIMP(statut='o',typ='R',fr="pression etat B"), - TEMP_REF_A =SIMP(statut='f',typ='R',fr="temperature référence etat A"), - TEMP_REF_B =SIMP(statut='f',typ='R',fr="temperature référence etat B"), - ), - - ), -# ====================================================================== - b_tuyauterie =BLOC(condition="(TYPE_RESU_MECA == 'TUYAUTERIE')", - - OPTION =SIMP(statut='o',typ='TXM',into=("FATIGUE",) ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - TYPE_KE =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"), - fr="Ke meca seul ou partition mecanique + thermique" ), - MODELE =SIMP(statut='o',typ=modele_sdaster), - CARA_ELEM =SIMP(statut='o',typ=cara_elem), - ZONE_ANALYSE =FACT(statut='o',fr="liste des mailles ou des noeuds analysés", - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - ), - RESU_MECA =FACT(statut='o',max='**',fr="Chargements mécaniques", - regles=(UN_PARMI('CHAM_GD','RESULTAT'),), - NUME_CHAR =SIMP(statut='o',typ='I',fr="numéro du chargement" ), - NOM_CHAR =SIMP(statut='f',typ='TXM',fr="nom du chargement" ), - CHAM_GD =SIMP(statut='f',typ=cham_gd_sdaster), - RESULTAT =SIMP(statut='f',typ=resultat_sdaster), - b_extrac =BLOC(condition="RESULTAT != None", - fr="extraction d un champ de grandeur", - regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','NOEUD_CMP'),), - NOM_CHAM =SIMP(statut='o',typ='TXM',into=("EFGE_ELNO","SIEF_ELNO"),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',), - INST =SIMP(statut='f',typ='R',), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - b_acce_reel =BLOC(condition="(INST != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - ), - ), - INDI_SIGM =FACT(statut='o',max='**',fr="indices de contraintes", - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - C1 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C1 du RCCM"), - K1 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K1 du RCCM"), - C2 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C2 du RCCM"), - K2 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K2 du RCCM"), - C3 =SIMP(statut='f',typ='R',defaut=0.5,fr="indice de contraintes C3 du RCCM"), - K3 =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K3 du RCCM"), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",),), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**', - fr="groupe(s) de mailles ou sont affectés les indices de contraintes"), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**', - fr="liste des mailles ou sont affectés les indices de contraintes"), - b_grma =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)", - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - ), - TYPE_ELEM_STANDARD =SIMP(statut='f',typ='TXM',into=("DRO","COU","TRN","TEE"), - fr="type d'élément de tuyauterie ou sont affectés les indices de contraintes"), - ), - RESU_THER =FACT(statut='f',max='**',fr="resultats thermiques", - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),), - NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ), - TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des températures sur la section"), - TABL_MOYE_THER =SIMP(statut='o',typ=table_sdaster, - fr="table relevé des moyennes sur la section"), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - b_grma =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)", - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - ), - ), - SEISME =FACT(statut='f',max='**',fr="Situation séisme",ang="situation_ang", - NB_OCCUR =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ), - NB_CYCL_SEISME =SIMP(statut='o',typ='I',fr="nombre de cycles associé au séisme" ), - NUME_SITU =SIMP(statut='o',typ='I',fr="numéro de la situation" ), - NOM_SITU =SIMP(statut='f',typ='TXM',fr="nom de la situation" ), - NUME_GROUPE =SIMP(statut='o',typ='I',fr="numéros du groupe de la situation" ), - CHAR_ETAT =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ), - TEMP_REF =SIMP(statut='f',typ='R',fr="temperature référence"), - ), - SITUATION =FACT(statut='o',max='**',fr="Situation",ang="situation_ang", - NB_OCCUR =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ), - NUME_SITU =SIMP(statut='o',typ='I',fr="numéro de la situation" ), - NOM_SITU =SIMP(statut='f',typ='TXM',fr="nom de la situation" ), - COMBINABLE =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ), - NUME_GROUPE =SIMP(statut='o',typ='I', - fr="numéros des groupes de la situation" ), - NUME_PASSAGE =SIMP(statut='f',typ='I',min=2,max=2, - fr="numéro des situations de passage" ), - NUME_RESU_THER =SIMP(statut='f',typ='I',max='**',fr="numeros de transitoires thermiques" ), - CHAR_ETAT_A =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ), - CHAR_ETAT_B =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ), - PRES_A =SIMP(statut='o',typ='R',fr="pression etat A"), - PRES_B =SIMP(statut='o',typ='R',fr="pression etat B"), - TEMP_REF_A =SIMP(statut='f',typ='R',fr="temperature référence etat A"), - TEMP_REF_B =SIMP(statut='f',typ='R',fr="temperature référence etat B"), - ), - ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: xavier.desroches at edf.fr -POST_RELEVE_T=OPER(nom="POST_RELEVE_T",op=51,sd_prod=table_sdaster,reentrant='f', - fr="Extraire des valeurs de composantes de champs de grandeurs pour y effectuer des calculs (moyenne,invariants,..)" - +" ou pour les exprimer dans d'autres repères", - docu="U4.81.21",UIinfo={"groupes":("Post-traitements","Résultats et champs",)}, - - ACTION =FACT(statut='o',max='**', - regles=(UN_PARMI('RESULTAT','CHAM_GD'),), - - OPERATION =SIMP(statut='o',typ='TXM',into=("EXTRACTION","MOYENNE","MOYENNE_ARITH","EXTREMA"), - validators=NoRepeat(), max=2), - INTITULE =SIMP(statut='o',typ='TXM'), - - CHAM_GD =SIMP(statut='f',typ=(cham_no_sdaster, - cham_elem,),), - RESULTAT =SIMP(statut='f',typ=resultat_sdaster), - - b_extrac =BLOC(condition = "RESULTAT != None",fr="extraction des résultats", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','NUME_MODE','LIST_MODE', - 'INST','LIST_INST','FREQ','LIST_FREQ','NOEUD_CMP','NOM_CAS'), ), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO(),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_MODE =SIMP(statut='f',typ=listis_sdaster), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - NOM_CAS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - - b_extrema =BLOC(condition="au_moins_un(OPERATION, 'EXTREMA')", - fr="recherche de MIN MAX", - regles=(EXCLUS('TOUT_CMP','NOM_CMP'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",)), - NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), - ), - - b_MOYENNE_ARITH =BLOC(condition="au_moins_un(OPERATION, 'MOYENNE_ARITH')", - fr="moyenne sur des groupes", - regles=(EXCLUS('TOUT_CMP','NOM_CMP'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",)), - NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), - ), - - b_autre =BLOC(condition="aucun(OPERATION, ('EXTREMA', 'MOYENNE_ARITH'))", - fr="extraction et moyenne", - regles=(AU_MOINS_UN('CHEMIN','GROUP_NO','NOEUD'), - EXCLUS('CHEMIN','GROUP_NO'), - EXCLUS('CHEMIN','NOEUD'), - PRESENT_ABSENT('CHEMIN','GROUP_MA','MAILLE'), - UN_PARMI('TOUT_CMP','NOM_CMP','INVARIANT','ELEM_PRINCIPAUX','RESULTANTE'), - PRESENT_PRESENT('TRAC_DIR','DIRECTION'), - ENSEMBLE('MOMENT','POINT'), - PRESENT_PRESENT('MOMENT','RESULTANTE'), - PRESENT_ABSENT('TOUT_CMP','TRAC_DIR','TRAC_NOR'), - EXCLUS('TRAC_DIR','TRAC_NOR'), - PRESENT_PRESENT('ORIGINE','AXE_Z'),), - - CHEMIN =SIMP(statut='f',typ=(courbe_sdaster,surface_sdaster) ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - - TOUT_CMP =SIMP(statut='f',typ='TXM',into=("OUI",)), - NOM_CMP =SIMP(statut='f',typ='TXM',max='**'), - INVARIANT =SIMP(statut='f',typ='TXM',into=("OUI",)), - ELEM_PRINCIPAUX =SIMP(statut='f',typ='TXM',into=("OUI",) ), - RESULTANTE =SIMP(statut='f',typ='TXM',max='**'), - - MOMENT =SIMP(statut='f',typ='TXM',max='**'), - POINT =SIMP(statut='f',typ='R',max='**'), - - REPERE =SIMP(statut='f',typ='TXM',defaut="GLOBAL", - into=("GLOBAL","LOCAL","POLAIRE","UTILISATEUR","CYLINDRIQUE"),), - ANGL_NAUT =SIMP(statut='f',typ='R',min=3,max=3), - ORIGINE =SIMP(statut='f',typ='R',min=3,max=3), - AXE_Z =SIMP(statut='f',typ='R',min=3,max=3), - - TRAC_NOR =SIMP(statut='f',typ='TXM',into=("OUI",)), - TRAC_DIR =SIMP(statut='f',typ='TXM',into=("OUI",)), - DIRECTION =SIMP(statut='f',typ='R',max='**'), - - VECT_Y =SIMP(statut='f',typ='R',max='**'), - MOYE_NOEUD =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - ), - - FORMAT_C =SIMP(statut='f',typ='TXM',defaut="MODULE",into=("MODULE","REEL","IMAG")), - - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -POST_RUPTURE=MACRO(nom="POST_RUPTURE", - op=OPS("Macro.post_rupture_ops.post_rupture_ops"), - sd_prod=table_sdaster, - fr="post-traitements en Rupture", - reentrant='f', - UIinfo={"groupes":("Résultats et champs","Rupture",)}, - - TABLE = SIMP(statut='o',typ=table_sdaster,max='**'), - -# rq : il est impossible de proposer le bon choix pour OPERATION suivant la valeur de reuse... - OPERATION = SIMP(statut='o',typ='TXM',into=( - 'ABSC_CURV_NORM', - 'ANGLE_BIFURCATION', - 'K_EQ', - 'DELTA_K_EQ', - 'COMPTAGE_CYCLES', - 'LOI_PROPA', - 'CUMUL_CYCLES', - 'PILO_PROPA', - 'K1_NEGATIF', - ) - ), - -#----------------------------------------------------------------------------------------------------------------------------------- -# 'ABSC_CURV_NORM' -#----------------------------------------------------------------------------------------------------------------------------------- - - - b_absc = BLOC(condition="OPERATION == 'ABSC_CURV_NORM'",fr="normalise l'abscisse curviligne", - - NOM_PARA = SIMP(statut='f',typ='TXM',max=1,defaut="ABSC_CURV_NORM",fr="Nom de la nouvelle colonne"), - - ), - -#----------------------------------------------------------------------------------------------------------------------------------- -# 'ANGLE_BIFURCATION' -#----------------------------------------------------------------------------------------------------------------------------------- - - b_angle = BLOC(condition="OPERATION == 'ANGLE_BIFURCATION' ",fr="Angle de bifurcation", - - NOM_PARA = SIMP(statut='f',typ='TXM',max=1,defaut="BETA",fr="Nom de la nouvelle colonne"), - CRITERE = SIMP(statut='f',typ='TXM',max=1,defaut="SITT_MAX",into=('SITT_MAX','K1_MAX','K2_NUL','PLAN'),), - ), - -#----------------------------------------------------------------------------------------------------------------------------------- -# 'K_EQ' -#----------------------------------------------------------------------------------------------------------------------------------- - - b_Keq = BLOC(condition="OPERATION == 'K_EQ' ",fr="Cumul sur les modes : calcul du K equivalent", - - NOM_PARA = SIMP(statut='f',typ='TXM',max=1,defaut="K_EQ",fr="Nom de la nouvelle colonne"), - CUMUL = SIMP(statut='f',typ='TXM',max=1,defaut="CUMUL_G",fr="Formule de cumul des modes", - into=('LINEAIRE','QUADRATIQUE','CUMUL_G','MODE_I'),), - - b_mater = BLOC(condition="CUMUL in ('QUADRATIQUE','CUMUL_G')",fr="materiau du fond de fissure", - MATER = SIMP(statut='o',typ=mater_sdaster,), - ), - ), - -#----------------------------------------------------------------------------------------------------------------------------------- -# 'DELTA_K_EQ' -#----------------------------------------------------------------------------------------------------------------------------------- - - b_DeltaKeq = BLOC(condition="OPERATION == 'DELTA_K_EQ' ",fr="Cumul sur les modes : calcul du DeltaK equivalent", - - NOM_PARA = SIMP(statut='f',typ='TXM',max=1,defaut="DELTA_K_EQ",fr="Nom de la nouvelle colonne"), - CUMUL = SIMP(statut='f',typ='TXM',max=1,defaut="CUMUL_G",fr="Formule de cumul des modes", - into=('QUADRATIQUE','CUMUL_G','MODE_I'),), - - b_mater = BLOC(condition="CUMUL in ('QUADRATIQUE','CUMUL_G')",fr="materiau du fond de fissure", - MATER = SIMP(statut='o',typ=mater_sdaster,), - ), - - ), - -#----------------------------------------------------------------------------------------------------------------------------------- -# 'COMPTAGE_CYCLES' -#----------------------------------------------------------------------------------------------------------------------------------- - - b_Comptage = BLOC(condition="OPERATION == 'COMPTAGE_CYCLES' ",fr="Comptage des cycles", - - NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**', - fr="Nom des quantités sur lesquelles s'effectuent le comptage"), - COMPTAGE = SIMP(statut='o',typ='TXM',into=("RAINFLOW","RCCM","NATUREL","UNITAIRE")), - DELTA_OSCI = SIMP(statut='f',typ='R',defaut= 0.0E+0), - - b_Comptage_Unitaire = BLOC(condition="COMPTAGE=='UNITAIRE'", - fr="comptage unitaire pour les amplitudes constantes", - - COEF_MULT_MINI = SIMP(statut='o',typ='R',), - COEF_MULT_MAXI = SIMP(statut='o',typ='R',), - - ), - - ), - -#----------------------------------------------------------------------------------------------------------------------------------- -# 'LOI_PROPA' -#----------------------------------------------------------------------------------------------------------------------------------- - - b_Loi_Propa = BLOC(condition="OPERATION == 'LOI_PROPA' ",fr="calcul de l'incrément d'avancée de fissure par cycle", - - NOM_PARA = SIMP(statut='f',typ='TXM',defaut="DELTA_A" ,max=1,fr="Nom de la nouvelle colonne"), - NOM_DELTA_K_EQ = SIMP(statut='f',typ='TXM',defaut="DELTA_K_EQ",max=1, - fr="Nom de la quantité correspondant au Delta_K_eq"), - LOI = SIMP(statut='o',typ='TXM',into=("PARIS",)), - - b_paris = BLOC(condition = "LOI=='PARIS'", - C = SIMP(statut='o',typ='R',), - M = SIMP(statut='o',typ='R',), - ), - - ), - -#----------------------------------------------------------------------------------------------------------------------------------- -# 'CUMUL_CYCLES' -#----------------------------------------------------------------------------------------------------------------------------------- - - b_cumul = BLOC(condition="OPERATION == 'CUMUL_CYCLES' ",fr="Cumul sur les cycles", - - NOM_PARA = SIMP(statut='f',typ='TXM',max=1,defaut="DELTA_A",fr="Nom de la colonne à traiter"), - CUMUL = SIMP(statut='f',typ='TXM',max=1,defaut="LINEAIRE",into=('LINEAIRE',)), - - ), - -#----------------------------------------------------------------------------------------------------------------------------------- -# 'PILO_PROPA' -#----------------------------------------------------------------------------------------------------------------------------------- - - b_pilo_propa = BLOC(condition="OPERATION == 'PILO_PROPA' ",fr="Pilotage de la propagation", - - regles = UN_PARMI('DELTA_A_MAX','DELTA_N'), - DELTA_A_MAX = SIMP(statut='f',typ='R',max=1,val_min=0.,fr="Pilotage en incrément d'avancée max"), - DELTA_N = SIMP(statut='f',typ='R',max=1,val_min=1 ,fr="Pilotage en incrément de nombre de blocs"), - - ), - -#----------------------------------------------------------------------------------------------------------------------------------- -# 'K1_NEGATIF' -#----------------------------------------------------------------------------------------------------------------------------------- - - b_k1_neg = BLOC(condition="OPERATION == 'K1_NEGATIF' ",fr="Mise a zero des valeurs negatives de K1", - - MODELISATION = SIMP(statut='o',typ='TXM',into=("C_PLAN","D_PLAN","3D","AXIS")), - MATER = SIMP(statut='o',typ=mater_sdaster,), - - ), - -#----------------------------------------------------------------------------------------------------------------------------------- - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: irmela.zentner at edf.fr -POST_USURE=OPER(nom="POST_USURE",op=153,sd_prod=table_sdaster,reentrant='f', - UIinfo={"groupes":("Post-traitements",)}, - fr="Calcul des volumes d'usure et des profondeurs d'usure d'après la puissance d'usure", - regles=(UN_PARMI('TUBE_NEUF','RESU_GENE','PUIS_USURE'), - PRESENT_PRESENT('RESU_GENE','NOEUD','LOI_USURE'), - PRESENT_PRESENT('PUIS_USURE','LOI_USURE'),), - TUBE_NEUF =SIMP(statut='f',typ='TXM',into=("OUI",) ), - ETAT_INIT =FACT(statut='f', - TABL_USURE =SIMP(statut='f',typ=table_sdaster), - INST_INIT =SIMP(statut='f',typ='R'), - ), - RESU_GENE =SIMP(statut='f',typ=tran_gene), - NOEUD =SIMP(statut='f',typ=no,), - INST_INIT =SIMP(statut='f',typ='R',defaut=-1.0E+0), - INST_FIN =SIMP(statut='f',typ='R'), - NB_BLOC =SIMP(statut='f',typ='I',defaut= 1 ), - PUIS_USURE =SIMP(statut='f',typ='R'), - LOI_USURE =SIMP(statut='f',typ='TXM',into=("ARCHARD","KWU_EPRI","EDF_MZ")), - b_archard =BLOC(condition = "LOI_USURE == 'ARCHARD'", - regles=(UN_PARMI('MOBILE','MATER_USURE','SECTEUR'), - EXCLUS('MATER_USURE','OBSTACLE'), - EXCLUS('MOBILE','USURE_OBST'),), - MOBILE =FACT(statut='f', - COEF_USURE =SIMP(statut='o',typ='R'), - ), - OBSTACLE =FACT(statut='f', - COEF_USURE =SIMP(statut='o',typ='R'), - ), - SECTEUR =FACT(statut='f',max='**', - CONTACT =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO", - "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE", - "GRAPPE_1_ENCO","GRAPPE_2_ENCO")), - COEF_USUR_MOBILE=SIMP(statut='f',typ='R'), - COEF_USUR_OBST =SIMP(statut='f',typ='R'), - ANGL_INIT =SIMP(statut='f',typ='R'), - ANGL_FIN =SIMP(statut='f',typ='R'), - ), - MATER_USURE =SIMP(statut='f',typ='TXM'), - USURE_OBST =SIMP(statut='f',typ='TXM',into=("OUI",)), - ), - b_kwu_epri =BLOC(condition = "LOI_USURE == 'KWU_EPRI'", - regles=(UN_PARMI('MOBILE','MATER_USURE'), - EXCLUS('MATER_USURE','OBSTACLE'), - EXCLUS('MOBILE','USURE_OBST'),), - MOBILE =FACT(statut='f', - COEF_FNOR =SIMP(statut='f',typ='R'), - COEF_VTAN =SIMP(statut='f',typ='R'), - COEF_USURE =SIMP(statut='f',typ='R'), - COEF_K =SIMP(statut='f',typ='R',defaut=5.0E+0), - COEF_C =SIMP(statut='f',typ='R',defaut=10.0E+0), - ), - OBSTACLE =FACT(statut='f', - COEF_FNOR =SIMP(statut='f',typ='R' ), - COEF_VTAN =SIMP(statut='f',typ='R' ), - COEF_USURE =SIMP(statut='o',typ='R'), - COEF_K =SIMP(statut='f',typ='R',defaut=5.0E+0), - COEF_C =SIMP(statut='f',typ='R',defaut=10.0E+0), - ), - MATER_USURE =SIMP(statut='f',typ='TXM'), - USURE_OBST =SIMP(statut='f',typ='TXM',into=("OUI",)), - FNOR_MAXI =SIMP(statut='f',typ='R' ), - VTAN_MAXI =SIMP(statut='f',typ='R' ), - ), - b_edf_mz =BLOC(condition = "LOI_USURE == 'EDF_MZ'", - regles=(UN_PARMI('MOBILE','MATER_USURE'), - EXCLUS('MATER_USURE','OBSTACLE'), - EXCLUS('MOBILE','USURE_OBST'),), - MOBILE =FACT(statut='f', - COEF_USURE =SIMP(statut='f',typ='R',defaut=1.0E-13), - COEF_B =SIMP(statut='f',typ='R',defaut=1.2E+0), - COEF_N =SIMP(statut='f',typ='R',defaut=2.44E-8), - COEF_S =SIMP(statut='f',typ='R',defaut=1.14E-16), - ), - OBSTACLE =FACT(statut='f', - COEF_USURE =SIMP(statut='o',typ='R',defaut=1.0E-13), - COEF_B =SIMP(statut='f',typ='R',defaut=1.2E+0), - COEF_N =SIMP(statut='f',typ='R',defaut=2.44E-8), - COEF_S =SIMP(statut='f',typ='R',defaut=1.14E-16), - ), - MATER_USURE =SIMP(statut='f',typ='TXM'), - USURE_OBST =SIMP(statut='f',typ='TXM',into=("OUI",)), - ), - b_tube_neuf =BLOC(condition = "TUBE_NEUF == 'OUI'", - TABL_USURE =SIMP(statut='o',typ=table_sdaster), - ), - CONTACT =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO", - "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE", - "GRAPPE_1_ENCO","GRAPPE_2_ENCO")), - RAYON_MOBILE =SIMP(statut='f',typ='R'), - RAYON_OBST =SIMP(statut='f',typ='R'), - LARGEUR_OBST =SIMP(statut='f',typ='R'), - ANGL_INCLI =SIMP(statut='f',typ='R'), - ANGL_ISTHME =SIMP(statut='f',typ='R'), - ANGL_IMPACT =SIMP(statut='f',typ='R'), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - COEF_INST =SIMP(statut='f',typ='R',defaut=1.0E+0), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr - -POURSUITE=MACRO(nom="POURSUITE", - op=OPS("Cata.ops.build_poursuite"), - repetable='n', - fr="Poursuite d'une étude à partir de la sauvegarde au format JEVEUX " \ - "ou HDF de sa base globale", - sd_prod = ops.POURSUITE, - UIinfo={"groupes":("Gestion du travail",)}, - op_init=ops.POURSUITE_context, - fichier_ini=1, - FORMAT_HDF =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f', - typ='TXM',defaut="NON",into=("OUI","NON",) ), - PAR_LOT =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM', - into=("OUI","NON"),defaut="OUI"), - IMPR_MACRO =SIMP(fr="affichage des sous-commandes produites par les macros dans le fichier mess", - statut='f',typ='TXM',into=("OUI","NON"),defaut="NON"), - - BASE =FACT(fr="définition des paramètres associés aux bases JEVEUX", - statut='f',min=1,max=2, - FICHIER =SIMP(fr="nom de la base",statut='o',typ='TXM'), - TITRE =SIMP(statut='f',typ='TXM'), - CAS =SIMP(statut='f',typ='TXM'), - NMAX_ENRE =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'), - LONG_ENRE =SIMP(fr="longueur des enregistrements",statut='f',typ='I'), - LONG_REPE =SIMP(fr="longueur du répertoire",statut='f',typ='I'), - ), - -# Le mot cle CATALOGUE n'est jamais utilise en POURSUITE mais sa presence est necessaire au bon fonctionnement -# de la commande, le code source etant commun aux commandes DEBUT et POURSUITE. -# - CATALOGUE =FACT(statut='f',min=1,max=10, - FICHIER =SIMP(statut='o',typ='TXM'), - UNITE =SIMP(statut='f',typ='I'), - ), - - ERREUR =FACT(fr="comportement en cas d'erreur",statut='f',min=1,max=1, - ERREUR_F =SIMP(statut='f',typ='TXM',into=('ABORT','EXCEPTION'),defaut='ABORT'), - ), - - DEBUG =FACT(fr="option de déboggage reservée aux développeurs", - statut='f',min=1,max=1, - JXVERI =SIMP(fr="vérifie l intégrité de la segmentation mémoire", - statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'), - SDVERI =SIMP(fr="vérifie la conformité des SD produites par les commandes", - statut='f',typ='TXM',into=('OUI','NON')), - JEVEUX =SIMP(fr="force les déchargement sur disque", - statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'), - ENVIMA =SIMP(fr="imprime les valeurs définies dans ENVIMA", - statut='f',typ='TXM',into=('TEST',)), - HIST_ETAPE = SIMP(fr="permet de conserver toutes les étapes du jeu de commandes", - statut='f', typ='TXM', into=('OUI', 'NON'), defaut='NON'), - ), - - MESURE_TEMPS =FACT(fr="Pour choisir les mesures de temps consommé dans les commandes", - statut='d',min=1,max=1, - NIVE_DETAIL =SIMP(fr="niveau de détail des impressions", - statut='f',typ='I',into=(0,1,2,3),defaut=1), - # 0 : rien - # 1 : impression en fin de commande des mesures principales - # 2 : impression en fin de commande des mesures principales et secondaires - # 3 : impression des mesures principales et secondaires pour chaque pas de temps - MOYENNE =SIMP(fr="affichage des moyennes et écart-types en parallèle", - statut='f',typ='TXM',into=('OUI','NON',),defaut='NON'), - ), - - MEMOIRE =FACT(fr="mode de gestion mémoire utilisé",statut='d',min=1,max=1, - TAILLE_BLOC =SIMP(statut='f',typ='R',defaut=800.), - TAILLE_GROUP_ELEM =SIMP(statut='f',typ='I',defaut=1000), - ), - - RESERVE_CPU =FACT(fr="reserve de temps pour terminer une execution",statut='d',max=1, - regles=(EXCLUS('VALE','POURCENTAGE'),), - VALE =SIMP(statut='f',typ='I',val_min=0), -# valeur par défaut fixée à 10. dans le FORTRAN si CODE présent - POURCENTAGE =SIMP(statut='f',typ='R',val_min=0.,val_max=1.0), -# valeur par défaut fixée à 10% dans le FORTRAN - BORNE =SIMP(statut='f',typ='I',val_min=0,defaut=900) ), -# valeur en pourcentage du temps maximum bornée à 900 secondes - - CODE =SIMP(statut='f',typ='TXM',into=('OUI', 'NON'),defaut='NON', - fr="paramètre réservé aux cas-tests"), - - IGNORE_ALARM = SIMP(statut='f', typ='TXM', max='**', fr="Alarmes que l'utilisateur souhaite délibérément ignorer"), - - LANG = SIMP(statut='f', typ='TXM', - fr="Permet de choisir la langue utilisée pour les messages (si disponible)", - ang="Allows to choose the language used for messages (if available)"), - - INFO = SIMP(statut='f', typ='I', defaut=1, into=(1,2),), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -PRE_GIBI=PROC(nom="PRE_GIBI",op=49, - UIinfo={"groupes":("Gestion du travail",)}, - fr="Conversion d'un fichier de maillage GIBI au format Aster", - UNITE_GIBI =SIMP(statut='f',typ='I',defaut=19), - UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=20), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -PRE_GMSH=PROC(nom="PRE_GMSH",op=47, - UIinfo={"groupes":("Gestion du travail",)}, - fr="Conversion d'un fichier de maillage GMSH au format Aster", - UNITE_GMSH =SIMP(statut='f',typ='I',defaut=19), - UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=20), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: alexei.mikchevitch at edf.fr -PRE_IDEAS=PROC(nom="PRE_IDEAS",op=47, - UIinfo={"groupes":("Gestion du travail",)}, - fr="Conversion d'un fichier universel IDEAS-SUPERTAB au format Aster", - UNITE_IDEAS =SIMP(statut='f',typ='I',defaut=19), - UNITE_MAILLAGE =SIMP(statut='f',typ='I',defaut=20), - CREA_GROUP_COUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -PROD_MATR_CHAM=OPER(nom="PROD_MATR_CHAM",op= 156,sd_prod=cham_no_sdaster, - fr="Effectuer le produit d'une matrice par un vecteur", - reentrant='n', - UIinfo={"groupes":("Post-traitements","Matrices et vecteurs",)}, - MATR_ASSE =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_pres_c ) ), - CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== - -# person_in_charge: emmanuel.boyere at edf.fr - - -def proj_base_prod(self,MATR_ASSE_GENE,VECT_ASSE_GENE, - RESU_GENE, NUME_DDL_GENE, - STOCKAGE,**args ): - if NUME_DDL_GENE is not None and NUME_DDL_GENE.is_typco(): - self.type_sdprod(NUME_DDL_GENE, nume_ddl_gene) - if MATR_ASSE_GENE != None: - for m in MATR_ASSE_GENE: - self.type_sdprod(m['MATRICE'],matr_asse_gene_r) - if VECT_ASSE_GENE != None: - for v in VECT_ASSE_GENE: - self.type_sdprod(v['VECTEUR'],vect_asse_gene) - if RESU_GENE != None: - for v in RESU_GENE: - self.type_sdprod(v['RESULTAT'],tran_gene) - return None - -PROJ_BASE=MACRO(nom="PROJ_BASE", - op=OPS('Macro.proj_base_ops.proj_base_ops'), - regles=(AU_MOINS_UN('MATR_ASSE_GENE','VECT_ASSE_GENE','RESU_GENE')), - UIinfo={"groupes":("Matrices et vecteurs","Dynamique",)}, - sd_prod=proj_base_prod, - fr="Projection des matrices et/ou vecteurs assembles sur une base (modale ou de RITZ)", - BASE =SIMP(statut='o',typ=(mode_meca,mode_gene) ), - NB_VECT =SIMP(statut='f',typ='I',defaut= 9999), - STOCKAGE =SIMP(statut='f',typ='TXM',defaut="PLEIN",into=("PLEIN","DIAG") ), - NUME_DDL_GENE =SIMP(statut='f',typ=(nume_ddl_gene,CO),defaut=None), - MATR_ASSE_GENE =FACT(statut='f',max='**', - MATRICE =SIMP(statut='o',typ=CO,), - regles=(UN_PARMI('MATR_ASSE','MATR_ASSE_GENE',),), - MATR_ASSE =SIMP(statut='f',typ=matr_asse_depl_r), - MATR_ASSE_GENE =SIMP(statut='f',typ=matr_asse_gene_r), - ), - VECT_ASSE_GENE =FACT(statut='f',max='**', - VECTEUR =SIMP(statut='o',typ=CO,), - regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE',),), - TYPE_VECT =SIMP(statut='f',typ='TXM',defaut="FORC"), - VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster), - VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene), - ), - RESU_GENE =FACT(statut='f',max='**', - RESULTAT =SIMP(statut='o',typ=CO,), - TYPE_VECT =SIMP(statut='f',typ='TXM',defaut="FORC"), - RESU =SIMP(statut='o',typ=dyna_trans), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr -def proj_champ_prod(RESULTAT=None,CHAM_GD=None,METHODE=None,**args ): - if (RESULTAT == None and CHAM_GD == None) : return corresp_2_mailla - if RESULTAT != None : return AsType(RESULTAT) - if CHAM_GD != None and METHODE == 'SOUS_POINT' : - return cham_elem - else : - return AsType(CHAM_GD) - raise AsException("type de concept resultat non prevu") - - - - -PROJ_CHAMP=OPER(nom="PROJ_CHAMP",op= 166,sd_prod=proj_champ_prod,reentrant='f', - UIinfo={"groupes":("Résultats et champs",)}, - fr="Projeter des champs d'un maillage sur un autre", - - # faut-il projeter les champs ? - PROJECTION =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",),), - - # pour projeter avec une sd_corresp_2_mailla deja calculée : - MATR_PROJECTION =SIMP(statut='f',typ=corresp_2_mailla,), - - - - #----------------------------------------------------------------------------------------------------------- - # 1er cas : on fait tout d'un coup : creation de la sd_corresp_2_mailla + projection des champs - #----------------------------------------------------------------------------------------------- - b_1_et_2 =BLOC(condition= "PROJECTION == 'OUI' and MATR_PROJECTION == None", - regles=(UN_PARMI('RESULTAT','CHAM_GD'), - UN_PARMI('MODELE_1','MAILLAGE_1'), - UN_PARMI('MODELE_2','MAILLAGE_2'), - ), - RESULTAT =SIMP(statut='f',typ=resultat_sdaster), - CHAM_GD =SIMP(statut='f',typ=(cham_no_sdaster,cham_elem)), - - METHODE =SIMP(statut='f',typ='TXM',defaut="AUTO", - into=("NUAGE_DEG_0","NUAGE_DEG_1","AUTO","COLLOCATION","ECLA_PG","SOUS_POINT") ), - - - MODELE_1 =SIMP(statut='f',typ=modele_sdaster), - MAILLAGE_1 =SIMP(statut='f',typ=(maillage_sdaster,squelette)), - - MODELE_2 =SIMP(statut='f',typ=modele_sdaster), - MAILLAGE_2 =SIMP(statut='f',typ=maillage_sdaster), - - # Cas de la projection NUAGE_DEG_0/1 : - #-------------------------------------------- - b_nuage =BLOC(condition="METHODE in ('NUAGE_DEG_0','NUAGE_DEG_1')", - CHAM_NO_REFE =SIMP(statut='o',typ=cham_no_sdaster), - ), - - - # Cas de la projection COLLOCATION : - #-------------------------------------------- - b_elem =BLOC(condition="METHODE in ('COLLOCATION','ECLA_PG','AUTO')", - CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",), - fr="Pour indiquer au programme le type de projection souhaité"), - DISTANCE_MAX =SIMP(statut='f',typ='R', - fr="Distance maximale entre le noeud et l'élément le plus proche, lorsque le noeud n'est dans aucun élément."), - - TRANSF_GEOM_1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, - fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ - " aux noeuds du MODELE_1 avant la projection."), - TRANSF_GEOM_2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, - fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ - " aux noeuds du MODELE_2 avant la projection."), - - ALARME =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - - TYPE_CHAM =SIMP(statut='f',typ='TXM',into=("NOEU",), - fr="Pour forcer le type des champs projetés. NOEU -> cham_no"), - - PROL_ZERO =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON", - fr="Pour prolonger les champs par zéro là ou la projection ne donne pas de valeurs."), - ), - - # Cas de la projection SOUS_POINT : - #-------------------------------------------- - b_sous_point =BLOC(condition="METHODE == 'SOUS_POINT'" , - CARA_ELEM =SIMP(statut='o',typ=cara_elem), - PROL_ZERO =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON", - fr="Pour prolonger les champs par zéro là ou la projection ne donne pas de valeurs."), - TRANSF_GEOM_1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, - fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ - " aux noeuds du MODELE_1 avant la projection."), - TRANSF_GEOM_2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, - fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ - " aux noeuds du MODELE_2 avant la projection."), - ), - - - # Cas de la projection d'une sd_resultat : - #-------------------------------------------- - b_resultat =BLOC(condition="RESULTAT != None", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','LIST_INST','LIST_FREQ','LIST_ORDRE'), - EXCLUS('TOUT_CHAM','NOM_CHAM',),), - NOM_PARA =SIMP(statut='f',typ='TXM', max='**'), - TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(),), - - NUME_DDL =SIMP(statut='f',typ=(nume_ddl_sdaster), - fr="Utile en dynamique pour pouvoir imoser la numérotation des cham_no."), - - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - - b_acce_reel =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - ), - - - VIS_A_VIS =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), - AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),), - TOUT_1 =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TOUT_2 =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - - # les mots clés suivants ne sont actifs que si METHODE='COLLOCATION' mais on ne peut pas le vérifier: - CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ), - TRANSF_GEOM_1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, - fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ - " aux noeuds du MODELE_1 avant la projection."), - TRANSF_GEOM_2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, - fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ - " aux noeuds du MODELE_2 avant la projection."), - ), - ), # fin bloc b_1_et_2 - - - - #----------------------------------------------------------------------------------------------------------- - # 2eme cas : on s'arrete apres la creation de la sd_corresp_2_mailla - #----------------------------------------------------------------------------------------------- - b_1 =BLOC(condition="PROJECTION == 'NON'", - - METHODE =SIMP(statut='f',typ='TXM',defaut="COLLOCATION", - into=("COLLOCATION","COUPLAGE",) ), - - regles=(UN_PARMI('MODELE_1','MAILLAGE_1'), - UN_PARMI('MODELE_2','MAILLAGE_2'), - ), - MODELE_1 =SIMP(statut='f',typ=modele_sdaster), - MAILLAGE_1 =SIMP(statut='f',typ=maillage_sdaster), - - MODELE_2 =SIMP(statut='f',typ=modele_sdaster), - MAILLAGE_2 =SIMP(statut='f',typ=maillage_sdaster), - - - # Cas de la projection COLLOCATION : - #-------------------------------------------- - b_elem =BLOC(condition="METHODE in ('COLLOCATION',)", - CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",), - fr="Pour indiquer au programme le type de projection souhaité"), - DISTANCE_MAX =SIMP(statut='f',typ='R', - fr="Distance maximale entre le noeud et l'élément le plus proche, lorsque le noeud n'est dans aucun élément."), - - TRANSF_GEOM_1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, - fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ - " aux noeuds du MODELE_1 avant la projection."), - TRANSF_GEOM_2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, - fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ - " aux noeuds du MODELE_2 avant la projection."), - - ALARME =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - - ), - - VIS_A_VIS =FACT(statut='f',max='**', - regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'), - AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),), - TOUT_1 =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA_1 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_1 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_1 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_1 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - TOUT_2 =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA_2 =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE_2 =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - GROUP_NO_2 =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD_2 =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - - # les mots clés suivants ne sont actifs que si METHODE='COLLOCATION' mais on ne peut pas le vérifier: - CAS_FIGURE =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ), - TRANSF_GEOM_1 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, - fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ - " aux noeuds du MODELE_1 avant la projection."), - TRANSF_GEOM_2 =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3, - fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+ - " aux noeuds du MODELE_2 avant la projection."), - ), - ), # fin bloc b_1 - - - - #----------------------------------------------------------------------------------------------------------- - # 3eme cas : on projette les champs avec une sd_corresp_2_mailla déjé calculée - #----------------------------------------------------------------------------------------------- - b_2 =BLOC(condition="MATR_PROJECTION != None", - regles=(UN_PARMI('RESULTAT','CHAM_GD'),), - RESULTAT =SIMP(statut='f',typ=resultat_sdaster), - CHAM_GD =SIMP(statut='f',typ=(cham_no_sdaster,cham_elem)), - - TYPE_CHAM =SIMP(statut='f',typ='TXM',into=("NOEU",), - fr="Pour forcer le type des champs projetés. NOEU -> cham_no"), - - NUME_DDL =SIMP(statut='f',typ=(nume_ddl_sdaster), - fr="Parfois utile en dynamique pour pouvoir imposer la numérotation des cham_no."), - - # nécessaire si l'on projette des cham_elem : - MODELE_2 =SIMP(statut='f',typ=modele_sdaster), - - PROL_ZERO =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON", - fr="Pour prolonger les champs par zéro là où la projection ne donne pas de valeurs."), - - - - # Cas de la projection d'une sd_resultat : - #-------------------------------------------- - b_resultat =BLOC(condition="RESULTAT != None", - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','LIST_INST','LIST_FREQ','LIST_ORDRE'), - EXCLUS('TOUT_CHAM','NOM_CHAM',),), - - NOM_PARA =SIMP(statut='f',typ='TXM', max='**'), - TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=C_NOM_CHAM_INTO(),), - - - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - NOEUD_CMP =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'), - - b_acce_reel =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - - ), - ), # fin bloc b_2 - - - - TITRE =SIMP(statut='f',typ='TXM',max='**' ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: emmanuel.boyere at edf.fr -def matr_asse_gene_prod(MATR_ASSE,MATR_ASSE_GENE,**args): - if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_gene_r - if AsType(MATR_ASSE_GENE) == matr_asse_gene_r : return matr_asse_gene_r - if AsType(MATR_ASSE) == matr_asse_depl_c : return matr_asse_gene_c - if AsType(MATR_ASSE_GENE) == matr_asse_gene_c : return matr_asse_gene_c - raise AsException("type de concept resultat non prevu") - -PROJ_MATR_BASE=OPER(nom="PROJ_MATR_BASE",op= 71,sd_prod=matr_asse_gene_prod, - fr="Projection d'une matrice assemblée sur une base (modale ou de RITZ)", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - regles=(UN_PARMI('MATR_ASSE','MATR_ASSE_GENE'),), - BASE =SIMP(statut='o',typ=(mode_meca,mode_gene ) ), - NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), - MATR_ASSE =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c) ), - MATR_ASSE_GENE =SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: harinaivo.andriambololona at edf.fr -def proj_mesu_modal_prod(MODELE_MESURE,**args): - vale=MODELE_MESURE['MESURE'] - if AsType(vale) == dyna_trans : return tran_gene - if AsType(vale) == dyna_harmo : return harm_gene - if AsType(vale) == mode_meca : return mode_gene - if AsType(vale) == mode_meca_c : return mode_gene -# if AsType(vale) == base_modale : return mode_gene - raise AsException("type de concept resultat non prevu") - -PROJ_MESU_MODAL=OPER(nom="PROJ_MESU_MODAL",op= 193, - sd_prod=proj_mesu_modal_prod, - reentrant='n', - UIinfo={"groupes":("Résultats et champs",)}, - fr="Calcul des coordonnees généralisees de mesure experimentale relatives a une base de projection", - - MODELE_CALCUL =FACT(statut='o', - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), -# BASE =SIMP(statut='o',typ=(mode_meca,base_modale,) ), - BASE =SIMP(statut='o',typ= mode_meca, ), - ), - MODELE_MESURE =FACT(statut='o', - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), -# MESURE =SIMP(statut='o',typ=(dyna_trans,dyna_harmo,base_modale,mode_meca,mode_meca_c,) ), - MESURE =SIMP(statut='o',typ=(dyna_trans,dyna_harmo,mode_meca,mode_meca_c,) ), - NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE", - "SIEF_NOEU","EPSI_NOEU",),max='**'), - ), - CORR_MANU =FACT(statut='f',max='**', - regles=(PRESENT_PRESENT('NOEU_CALCUL','NOEU_MESURE'),), - NOEU_CALCUL =SIMP(statut='f',typ=no), - NOEU_MESURE =SIMP(statut='f',typ=no), - ), - NOM_PARA =SIMP(statut='f',typ='TXM',max='**'), - RESOLUTION =FACT(statut='f', - METHODE =SIMP(statut='f',typ='TXM',defaut="LU",into=("LU","SVD",) ), - b_svd =BLOC(condition="METHODE=='SVD'", - EPS=SIMP(statut='f',typ='R',defaut=0. ), - ), - REGUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","NORM_MIN","TIK_RELA",) ), - b_regul =BLOC(condition="REGUL!='NON'", - regles=(PRESENT_ABSENT('COEF_PONDER','COEF_PONDER_F', ),), - COEF_PONDER =SIMP(statut='f',typ='R',defaut=0. ,max='**' ), - COEF_PONDER_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ), - ), - ), - - ); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: albert.alarcon at edf.fr - -PROJ_RESU_BASE=OPER(nom="PROJ_RESU_BASE",op= 79,sd_prod=tran_gene, - fr="Projection d'une sd resultat assemblee sur une base (modale ou de RITZ)", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - BASE =SIMP(statut='o',typ=(mode_meca,mode_gene) ), - NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), - TYPE_VECT =SIMP(statut='f',typ='TXM',defaut="FORC"), - RESU =SIMP(statut='o',typ=dyna_trans), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: andre.adobes at edf.fr -PROJ_SPEC_BASE=OPER(nom="PROJ_SPEC_BASE",op= 146,sd_prod=interspectre,reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - fr="Projecter un ou plusieurs spectres de turbulence sur une (ou plusieurs) base(s) modale(s) ", - regles=(UN_PARMI('BASE_ELAS_FLUI','MODE_MECA','CHAM_NO'), - UN_PARMI('TOUT','GROUP_MA','MAILLE'), - PRESENT_PRESENT('CHAM_NO','MODELE_INTERFACE'),), - SPEC_TURB =SIMP(statut='o',typ=spectre_sdaster,validators=NoRepeat(),max='**' ), - TOUT_CMP =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster ), - b_fluide = BLOC(condition="BASE_ELAS_FLUI !=None", - VITE_FLUI =SIMP(statut='o',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), - ), - MODE_MECA =SIMP(statut='f',typ=mode_meca ), - CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster), - FREQ_INIT =SIMP(statut='o',typ='R',val_min=0.E+0 ), - FREQ_FIN =SIMP(statut='o',typ='R',val_min=0.E+0 ), - NB_POIN =SIMP(statut='o',typ='I' ), - OPTION =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG")), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",), ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'), -# Quel est le type attendu derriere MODELE_INTERFACE - MODELE_INTERFACE=SIMP(statut='f',typ=modele_sdaster), - VECT_X =SIMP(statut='f',typ='R',min=3,max=3 ), - VECT_Y =SIMP(statut='f',typ='R',min=3,max=3 ), - ORIG_AXE =SIMP(statut='f',typ='R',min=3,max=3 ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: emmanuel.boyere at edf.fr - -PROJ_VECT_BASE=OPER(nom="PROJ_VECT_BASE",op= 72,sd_prod=vect_asse_gene, - fr="Projection d'un vecteur assemblé sur une base (modale ou de RITZ)", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE'),), - BASE =SIMP(statut='o',typ=(mode_meca,mode_gene) ), - NUME_DDL_GENE =SIMP(statut='o',typ=nume_ddl_gene ), - TYPE_VECT =SIMP(statut='f',typ='TXM',defaut="FORC"), - VECT_ASSE =SIMP(statut='f',typ=cham_no_sdaster), - VECT_ASSE_GENE =SIMP(statut='f',typ=vect_asse_gene ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - - -def propa_fiss_prod(self,**args): - if args.has_key('MAIL_TOTAL') : - MAIL_TOTAL = args['MAIL_TOTAL'] - self.type_sdprod(MAIL_TOTAL,maillage_sdaster) - if args.has_key('MAIL_FISS') : - MAIL_FISS = args['MAIL_FISS'] - self.type_sdprod(MAIL_FISS,maillage_sdaster) - if args.has_key('FISSURE') : - FISSURE = args['FISSURE'] - for numfis in FISSURE : - if (args['METHODE_PROPA']=='MAILLAGE') : - self.type_sdprod(numfis['MAIL_PROPAGE'],maillage_sdaster) - else : - self.type_sdprod(numfis['FISS_PROPAGEE'],fiss_xfem) - return None - -PROPA_FISS=MACRO(nom="PROPA_FISS", - op=OPS('Macro.propa_fiss_ops.propa_fiss_ops'), - sd_prod=propa_fiss_prod, - fr="Propagation de fissure avec X-FEM",reentrant='n', - UIinfo={"groupes":("Post-traitements","Rupture",)}, - - METHODE_PROPA = SIMP(statut='o',typ='TXM', - into=("SIMPLEXE","UPWIND","MAILLAGE","INITIALISATION","GEOMETRIQUE") ), - - b_hamilton = BLOC(condition="(METHODE_PROPA=='SIMPLEXE') or (METHODE_PROPA=='UPWIND') or (METHODE_PROPA=='GEOMETRIQUE') ", - MODELE = SIMP(statut='o',typ=modele_sdaster), - TEST_MAIL = SIMP(statut='f',typ='TXM',into=("NON","OUI",),defaut="NON"), - DA_MAX = SIMP(statut='o',typ='R',max=1,val_min=0.0), - RAYON = SIMP(statut='o',typ='R',), - ZONE_MAJ = SIMP(statut='f',typ='TXM',into=("TOUT","TORE"),defaut="TORE"), - b_tore = BLOC(condition = "ZONE_MAJ == 'TORE' ", - RAYON_TORE = SIMP(statut='f',typ='R',max=1,val_min=0.0), - ), - b_propagation = BLOC(condition = "TEST_MAIL == 'NON' ", - FISSURE = FACT(statut='o',min=1,max='**', - FISS_ACTUELLE = SIMP(statut='o',typ=fiss_xfem,max=1), - FISS_PROPAGEE = SIMP(statut='o',typ=CO,max=1), - NB_POINT_FOND = SIMP(statut='f',typ='I',max='**',val_min=2), - TABLE = SIMP(statut='o',typ=table_sdaster,max=1), - ), - LOI_PROPA = FACT(statut='o',max=1, - LOI = SIMP(statut='o',typ='TXM',into=("PARIS",),defaut="PARIS"), - b_paris = BLOC(condition = "LOI=='PARIS'", - C = SIMP(statut='o',typ='R',), - M = SIMP(statut='o',typ='R',), - ), - MATER = SIMP(statut='o',typ=mater_sdaster,), - ), - COMP_LINE = FACT(statut='o',max=1, - COEF_MULT_MINI = SIMP(statut='o',typ='R',), - COEF_MULT_MAXI = SIMP(statut='o',typ='R',), - ), - CRIT_ANGL_BIFURCATION = SIMP(statut='f',typ='TXM',max=1,defaut="SITT_MAX", - into=('SITT_MAX','K1_MAX','K2_NUL','PLAN','ANGLE_IMPO'),), - ), - - b_test_const = BLOC(condition = "TEST_MAIL == 'OUI' ", - FISSURE = FACT(statut='o',min=1,max='**', - FISS_ACTUELLE = SIMP(statut='o',typ=fiss_xfem,max=1), - FISS_PROPAGEE = SIMP(statut='o',typ=CO,max=1), - ), - ITERATIONS = SIMP(statut='f',typ='I',max=1,val_min=3,defaut=5), - TOLERANCE = SIMP(statut='f',typ='R',max=1,val_min=0.0,val_max=100.0,defaut=5.0), - ), - - ), - - b_maillage =BLOC(condition="(METHODE_PROPA=='MAILLAGE')", - MAIL_STRUC = SIMP(statut='o',typ=maillage_sdaster), - ITERATION = SIMP(statut='o',typ='I',max=1), - DA_MAX = SIMP(statut='o',typ='R',max=1), - FISSURE = FACT(statut='o',min=1,max='**', - MAIL_ACTUEL = SIMP(statut='o',typ=maillage_sdaster,max=1), - GROUP_MA_FOND = SIMP(statut='f',typ=grma,defaut="FOND"), - GROUP_MA_FISS = SIMP(statut='f',typ=grma,defaut="FISS"), - FISS_ACTUELLE = SIMP(statut='o',typ=fiss_xfem,max=1), - MAIL_PROPAGE = SIMP(statut='f',typ=CO,max=1), - TABLE = SIMP(statut='o',typ=table_sdaster,max=1), - ), - MAIL_TOTAL = SIMP(statut='o',typ=CO), - LOI_PROPA = FACT(statut='o',max=1, - LOI = SIMP(statut='o',typ='TXM',into=("PARIS",),defaut="PARIS"), - b_paris = BLOC(condition = "LOI=='PARIS'", - C = SIMP(statut='o',typ='R',), - M = SIMP(statut='o',typ='R',), - ), - MATER = SIMP(statut='o',typ=mater_sdaster,), - ), - COMP_LINE = FACT(statut='o',max=1, - COEF_MULT_MINI = SIMP(statut='o',typ='R',), - COEF_MULT_MAXI = SIMP(statut='o',typ='R',), - ), - CRIT_ANGL_BIFURCATION = SIMP(statut='f',typ='TXM',max=1,defaut="SITT_MAX", - into=('SITT_MAX','K1_MAX','K2_NUL','PLAN','ANGLE_IMPO'),), - ), - - b_init =BLOC(condition="(METHODE_PROPA=='INITIALISATION')", - MAIL_STRUC = SIMP(statut='o',typ=maillage_sdaster), - FORM_FISS = SIMP(statut='o',typ='TXM', into=("DEMI_DROITE","DEMI_PLAN","ELLIPSE"), ), - GROUP_MA_FOND = SIMP(statut='f',typ=grma,defaut="FOND"), - GROUP_MA_FISS = SIMP(statut='f',typ=grma,defaut="FISS"), - MAIL_TOTAL = SIMP(statut='o',typ=CO), - MAIL_FISS = SIMP(statut='f',typ=CO), - - b_droite = BLOC(condition = "FORM_FISS == 'DEMI_DROITE' ", - PFON = SIMP(statut='o',typ='R',max=3), - DTAN = SIMP(statut='o',typ='R',min=3,max=3), - ), - - b_plan = BLOC(condition = "FORM_FISS == 'DEMI_PLAN' ", - DTAN = SIMP(statut='o',typ='R',min=3,max=3), - POINT_ORIG = SIMP(statut='o',typ='R',min=3,max=3), - POINT_EXTR = SIMP(statut='o',typ='R',min=3,max=3), - NB_POINT_FOND = SIMP(statut='o',typ='I',), - ), - - b_ellipse = BLOC(condition = "FORM_FISS == 'ELLIPSE' ", - CENTRE =SIMP(statut='o',typ='R',min=3,max=3), - DEMI_GRAND_AXE =SIMP(statut='o',typ='R',val_min=0.E+0), - DEMI_PETIT_AXE =SIMP(statut='o',typ='R',val_min=0.E+0), - VECT_X =SIMP(statut='o',typ='R',min=3,max=3), - VECT_Y =SIMP(statut='o',typ='R',min=3,max=3), - ANGLE_ORIG = SIMP(statut='o',typ='R',), - ANGLE_EXTR = SIMP(statut='o',typ='R',), - NB_POINT_FOND = SIMP(statut='o',typ='I',) - ), - ), - - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -PROPA_XFEM=OPER(nom="PROPA_XFEM",op=10,sd_prod=fiss_xfem,reentrant='n', - UIinfo={"groupes":("Post-traitements","Rupture",)}, - fr="Propagation de fissure avec X-FEM", - - MODELE =SIMP(statut='o',typ=modele_sdaster), - - TEST_MAIL =SIMP(statut='f',typ='TXM',into=("NON","OUI",),defaut="NON"), - - DA_MAX =SIMP(statut='o',typ='R'), - - FISS_PROP =SIMP(statut='o',typ=fiss_xfem), - - ZONE_MAJ =SIMP(statut='f',typ='TXM',into=("TOUT","TORE"),defaut="TORE"), - - RAYON_TORE =SIMP(statut='f',typ='R'), - - LISTE_FISS =SIMP(statut='o',typ=fiss_xfem,min=1,max='**'), - - ANGLE =SIMP(statut='f',typ='R',max='**'), - VITESSE =SIMP(statut='f',typ='R',max='**'), - DA_FISS =SIMP(statut='f',typ='R'), - NB_CYCLES =SIMP(statut='f',typ='R'), - - b_test_mail_const =BLOC( condition = "TEST_MAIL == 'OUI' ", - FISS_INITIALE =SIMP(statut='o',typ=fiss_xfem,max=1), - DISTANCE =SIMP(statut='o',typ='R',max=1), - TOLERANCE =SIMP(statut='o',typ='R',max=1), - ), - - RAYON =SIMP(statut='o',typ='R',), - - METHODE =SIMP(statut='f',typ='TXM',into=("SIMPLEXE","UPWIND","GEOMETRIQUE"),defaut="UPWIND"), - - INFO =SIMP(statut='f',typ='I',defaut= 0,into=(0,1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: renaud.bargellini at edf.fr - -RAFF_GP =MACRO(nom="RAFF_GP", - op=OPS('Macro.raff_gp_ops.raff_gp_ops'), - sd_prod=maillage_sdaster, - UIinfo={"groupes":("Outils-métier","Rupture",)}, - reentrant='n', - fr="Preparation du maillage pour calcul du Gp en 2D", - MAILLAGE_N = SIMP(statut='o',typ=maillage_sdaster, - fr="Maillage avant adaptation", - ang="Mesh before adaptation" ), - TRANCHE_2D = FACT(statut='0',max = 1, - CENTRE =SIMP(statut='o',typ='R',max=2), - RAYON =SIMP(statut='o',typ='R',max=1), - ANGLE =SIMP(statut='o',typ='R',max=1), - TAILLE =SIMP(statut='o',typ='R',max=1), - NB_ZONE =SIMP(statut='o',typ='I',), - ), - NB_RAFF = SIMP(statut='f',typ='I',defaut=4), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -# determination du type de sd produite par la commande -def raff_xfem_prod(self,TYPE,**args): - if TYPE == 'DISTANCE' : - return cham_no_sdaster - elif TYPE == 'ZONE' : - return carte_sdaster - else : - raise AsException("type de concept non prevu") - - -RAFF_XFEM=MACRO(nom="RAFF_XFEM", - op=OPS('Macro.raff_xfem_ops.raff_xfem_ops'), - sd_prod=raff_xfem_prod, - fr="Calcul d'un indicateur pour le raffinement", - reentrant='n', - UIinfo={"groupes":("Résultats et champs","Rupture",)}, - - TYPE =SIMP(statut='f',typ='TXM',into=('DISTANCE','ZONE'),defaut='DISTANCE'), - FISSURE=SIMP(statut='o',typ=fiss_xfem,min=1,max='**',), - - b_zone =BLOC(condition = "TYPE == 'ZONE' ",fr="Paramètres de la zone", - RAYON =SIMP(statut='o',typ='R',val_min=0.), - ), - - ) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: samuel.geniaut at edf.fr - -# commande cachee appelee uniquement par la macro RAFF_XFEM - -RAFF_XFEM_ZONE=OPER(nom="RAFF_XFEM_ZONE", - op=188, -# sd_prod=cham_elem, - sd_prod=carte_sdaster, - fr="Calcul d'un indicateur binaire pour le raffinement", - reentrant='n', - UIinfo={"groupes":("Résultats et champs","Rupture",)}, - - FISSURE=SIMP(statut='o',typ=fiss_xfem,min=1,max=1), - RAYON =SIMP(statut='o',typ='R',val_min=0.), - - ) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: aurore.parrot at edf.fr -RECA_WEIBULL=OPER(nom="RECA_WEIBULL",op= 197,sd_prod=table_sdaster, - fr="Recaler les paramètres du modèle de WEIBULL sur des données expérimentales",reentrant='n', - UIinfo={"groupes":("Post-traitements",)}, - LIST_PARA =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,into=("SIGM_REFE","M",) ), - RESU =FACT(statut='o',max='**', - regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST',), - AU_MOINS_UN('TOUT','GROUP_MA','MAILLE', ),), - EVOL_NOLI =SIMP(statut='o',typ=(evol_noli) ), - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - CHAM_MATER =SIMP(statut='o',typ=(cham_mater) ), - TEMPE =SIMP(statut='f',typ='R' ), - LIST_INST_RUPT =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**' ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - COEF_MULT =SIMP(statut='f',typ='R',defaut= 1.E0 ), - ), - OPTION =SIMP(statut='f',typ='TXM',defaut="SIGM_ELGA",into=("SIGM_ELGA","SIGM_ELMOY",) ), - CORR_PLAST =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), - METHODE =SIMP(statut='f',typ='TXM',defaut="MAXI_VRAI",into=("MAXI_VRAI","REGR_LINE",) ), - INCO_GLOB_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ), - ) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -def recu_fonction_prod(RESULTAT=None,TABLE=None,RESU_GENE=None, - BASE_ELAS_FLUI=None,CHAM_GD=None,NAPPE=None, - INTE_SPEC=None,NOEUD_J=None,NUME_ORDRE_J=None, - NOM_CMP_J=None,NOM_CMP_I=None,NUME_ORDRE_I=None,NOEUD_I=None, - NOM_PARA_TABL=None,**args): - if AsType(RESULTAT) == dyna_harmo or \ - AsType(RESU_GENE) == harm_gene or \ - (INTE_SPEC and NUME_ORDRE_J and (NUME_ORDRE_I != NUME_ORDRE_J) ) or \ - (INTE_SPEC and NOEUD_J and ((NOEUD_I != NOEUD_J) or (NOM_CMP_I != NOM_CMP_J)) ) or \ - (TABLE != None and NOM_PARA_TABL == "FONCTION_C"): - return fonction_c - else: - return fonction_sdaster - -RECU_FONCTION=OPER(nom="RECU_FONCTION",op=90,sd_prod=recu_fonction_prod, - fr="Extraire sous forme d'une fonction, l'évolution d'une grandeur en fonction d'une autre", - reentrant='f', - UIinfo={"groupes":("Résultats et champs","Fonctions",)}, - regles=(UN_PARMI('CHAM_GD','RESULTAT','RESU_GENE','TABLE','BASE_ELAS_FLUI','NAPPE','INTE_SPEC'),), - - CHAM_GD =SIMP(statut='f',typ=(cham_no_sdaster,cham_elem,),), - RESULTAT =SIMP(statut='f',typ=resultat_sdaster), - RESU_GENE =SIMP(statut='f',typ=(tran_gene, mode_gene, harm_gene)), - TABLE =SIMP(statut='f',typ=(table_sdaster,table_fonction)), - BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster), - NAPPE =SIMP(statut='f',typ=nappe_sdaster), - INTE_SPEC =SIMP(statut='f',typ=interspectre), - -# ======= ACCES A LA SD RESULTAT ================================================= - b_acces = BLOC ( condition = "(RESULTAT != None) or (RESU_GENE != None)", - fr="acces a une SD résultat", -# on ne peut pas mettre de regles, le défaut TOUT_ORDRE est pris en compte dans le fortran - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - LIST_ORDRE =SIMP(statut='f',typ=listis_sdaster ), - TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - b_prec = BLOC ( condition = "(INST != None) or (LIST_INST != None) or (FREQ != None) or (LIST_FREQ != None)", - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - INTERP_NUME =SIMP(statut='f',typ='TXM',into=("NON","LIN") ), - ), - ), -# ======= BASE_ELAS_FLUI ================================================= - b_base_elas_flui = BLOC ( condition = "BASE_ELAS_FLUI != None", - fr="Récupération de la fonction à partir d un concept melasflu", - regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE'),), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'), - NUME_MODE =SIMP(statut='o',typ='I' ), - PARA_X =SIMP(statut='o',typ='TXM',into=("VITE_FLU",) ), - PARA_Y =SIMP(statut='o',typ='TXM',into=("FREQ","AMOR") ), - ), - -# ======= INTERSPECTRE ================================================= - b_inte_spec = BLOC ( condition = "INTE_SPEC != None", - fr="Récupération de fonction dans un concept interspectre", - regles=(UN_PARMI('NUME_ORDRE_I','NOEUD_I'),), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - NOEUD_I =SIMP(statut='f',typ=no,max=1), - NUME_ORDRE_I =SIMP(statut='f',typ='I',max=1 ), - b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None", - NUME_ORDRE_J =SIMP(statut='f',typ='I',max=1 ), - ), - b_noeud_i = BLOC (condition = "NOEUD_I != None", - NOEUD_J =SIMP(statut='f',typ=no,max=1), - NOM_CMP_I =SIMP(statut='o',typ='TXM',max=1 ), - NOM_CMP_J =SIMP(statut='f',typ='TXM',max=1 ), - ), - ), - -# ======= TABLE ================================================= - b_table = BLOC ( condition = "TABLE != None", - fr="Récupération de la fonction à partir d un concept table", - regles=(UN_PARMI('PARA_X','NOM_PARA_TABL'), - PRESENT_PRESENT('PARA_X','PARA_Y'),), - PARA_X = SIMP(statut='f',typ='TXM', - fr="1ère colonne de la table qui définit la fonction à récupérer", ), - PARA_Y = SIMP(statut='f',typ='TXM', - fr="2ème colonne de la table qui définit la fonction à récupérer", ), - #b_tabl_fonc = BLOC(condition = "AsType(TABLE) == table_fonction", - NOM_PARA_TABL = SIMP(statut='f',typ='TXM',into=("FONCTION","FONCTION_C"), - fr="Nom du paramètre de la table contenant la fonction" ), - #), - - FILTRE = FACT(statut='f',max='**', - NOM_PARA =SIMP(statut='o',typ='TXM' ), - CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ", - into=("EQ","LT","GT","NE","LE","GE","VIDE", - "NON_VIDE","MAXI","MAXI_ABS","MINI","MINI_ABS") ), - b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", - regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), - VALE =SIMP(statut='f',typ='R' ), - VALE_I =SIMP(statut='f',typ='I' ), - VALE_C =SIMP(statut='f',typ='C' ), - VALE_K =SIMP(statut='f',typ='TXM' ),), - - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ), - ), - -# ======= RESULTAT ================================================= - b_resu = BLOC ( condition = "RESULTAT != None", fr="Opérandes en cas de RESULTAT", - regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - NOM_PARA_RESU =SIMP(statut='f',typ='TXM' ), - b_cham = BLOC ( condition = "NOM_CHAM != None", - regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD'), - PRESENT_ABSENT('POINT','NOEUD','GROUP_NO'), - PRESENT_ABSENT('SOUS_POINT','NOEUD','GROUP_NO'), - EXCLUS('GROUP_MA','MAILLE'), - EXCLUS('GROUP_NO','NOEUD'),), - NOM_CMP =SIMP(statut='o',typ='TXM' ), - MAILLE =SIMP(statut='f',typ=ma), - GROUP_MA =SIMP(statut='f',typ=grma), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), - POINT =SIMP(statut='f',typ='I' ), - SOUS_POINT =SIMP(statut='f',typ='I' ), - ), - ), - -# ======= RESU_GENE ================================================= - b_tran_gene = BLOC ( condition = "AsType(RESU_GENE) == tran_gene", - fr="Récupération d'une fonction à partir d un concept TRAN_GENE", - regles=(UN_PARMI('NOM_CHAM','NOEUD_CHOC','GROUP_NO_CHOC'),), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=("DEPL","VITE","ACCE","PTEM") ), - NOEUD_CHOC =SIMP(statut='f',typ=no), - GROUP_NO_CHOC =SIMP(statut='f',typ=grno), - b_cham = BLOC ( condition = "(NOM_CHAM=='DEPL') or (NOM_CHAM=='VITE') or (NOM_CHAM=='ACCE')", - regles=(UN_PARMI('GROUP_NO','NOEUD','NUME_CMP_GENE',), - UN_PARMI('NOM_CMP','NUME_CMP_GENE',), - EXCLUS('MULT_APPUI','CORR_STAT'),), - NOM_CMP =SIMP(statut='f',typ='TXM' ), - NUME_CMP_GENE =SIMP(statut='f',typ='I' ), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), - MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), - CORR_STAT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,formule)), - ), - b_choc = BLOC ( condition = "(NOEUD_CHOC != None) or (GROUP_NO_CHOC != None)", - regles=(PRESENT_PRESENT('SOUS_STRUC','INTITULE'),), - PARA_X =SIMP(statut='o',typ='TXM', - into=("INST","FN","FT1","FT2","VN","VT1","VT2","DXLOC","DYLOC","DZLOC") ), - PARA_Y =SIMP(statut='o',typ='TXM', - into=("INST","FN","FT1","FT2","VN","VT1","VT2","DXLOC","DYLOC","DZLOC") ), - LIST_PARA =SIMP(statut='f',typ=listr8_sdaster ), - INTITULE =SIMP(statut='f',typ='TXM' ), - SOUS_STRUC =SIMP(statut='f',typ='TXM' ), - ), - ), - b_harm_gene = BLOC ( condition = "AsType(RESU_GENE)==harm_gene", - fr="Récupération d'une fonction à partir d un concept HARM_GENE", - regles=(UN_PARMI('NOM_CMP','NUME_CMP_GENE'), - UN_PARMI('GROUP_NO','NOEUD','NUME_CMP_GENE',),), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=("DEPL","VITE","ACCE") ), - NOM_CMP =SIMP(statut='f',typ='TXM' ), - NUME_CMP_GENE =SIMP(statut='f',typ='I' ), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), - ), - # b_harm_gene = BLOC ( condition = "AsType(RESU_GENE)==harm_gene", - # fr="Récupération d'une fonction à partir d un concept HARM_GENE", - # regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),), - # NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - # NOM_PARA_RESU =SIMP(statut='f',typ='TXM' ), - # b_cham = BLOC ( condition = "NOM_CHAM != None", - # regles=(UN_PARMI('NUME_CMP_GENE','NOM_CMP'),), - # NUME_CMP_GENE =SIMP(statut='f',typ='I' ), - # NOM_CMP =SIMP(statut='f',typ='TXM' ), - # b_cmp = BLOC ( condition = "NOM_CMP != None", - # regles=(UN_PARMI('NOEUD','GROUP_NO'),), - # NOEUD =SIMP(statut='f',typ=no), - # GROUP_NO =SIMP(statut='f',typ=grno), - # ), - # ), - # ), - b_mode_gene = BLOC ( condition = "AsType(RESU_GENE)==mode_gene", - fr="Récupération d'une fonction à partir d un concept MODE_GENE", - regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - NOM_PARA_RESU =SIMP(statut='f',typ='TXM' ), - b_cham = BLOC ( condition = "NOM_CHAM != None", - regles=(UN_PARMI('NUME_CMP_GENE','NOM_CMP'),), - NUME_CMP_GENE =SIMP(statut='f',typ='I' ), - NOM_CMP =SIMP(statut='f',typ='TXM' ), - b_cmp = BLOC ( condition = "NOM_CMP != None", - regles=(UN_PARMI('NOEUD','GROUP_NO'), - UN_PARMI('SQUELETTE','SOUS_STRUC'),), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), - SQUELETTE =SIMP(statut='f',typ=squelette ), - SOUS_STRUC =SIMP(statut='f',typ='TXM' ), - ), - ), - ), - -# ======= CHAM_GD ================================================= - b_cham_gd = BLOC ( condition = "(CHAM_GD != None)", fr="Opérandes en cas de CHAM_GD", - regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD'), - PRESENT_ABSENT('POINT','NOEUD','GROUP_NO'), - PRESENT_ABSENT('SOUS_POINT','NOEUD','GROUP_NO'), - EXCLUS('GROUP_MA','MAILLE'), - EXCLUS('GROUP_NO','NOEUD'),), - NOM_CMP =SIMP(statut='o',typ='TXM' ), - MAILLE =SIMP(statut='f',typ=ma), - GROUP_MA =SIMP(statut='f',typ=grma), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), - POINT =SIMP(statut='f',typ='I' ), - SOUS_POINT =SIMP(statut='f',typ='I' ), - ), - -# ======= NAPPE ================================================= - b_nappe = BLOC ( condition = "(NAPPE != None)", fr="Opérandes en cas de NAPPE", - VALE_PARA_FONC =SIMP(statut='o',typ='R' ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - ), - -# ======= SURCHARGE DES ATTRIBUTS ================================================= - NOM_PARA =SIMP(statut='f',typ='TXM', into=C_PARA_FONCTION() ), - NOM_RESU =SIMP(statut='f',typ='TXM' ), - INTERPOL =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ), - PROL_DROITE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), - PROL_GAUCHE =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ), - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: emmanuel.boyere at edf.fr -RECU_GENE=OPER(nom="RECU_GENE",op= 76,sd_prod=vect_asse_gene,reentrant='n', - UIinfo={"groupes":("Résultats et champs",)}, - fr="Extraire d'un champ de grandeur (déplacements, vitesses ou accélérations) à partir de résultats" - +" en coordonnées généralisées", - regles=(UN_PARMI('FREQ','INST',),), - RESU_GENE =SIMP(statut='o',typ=(tran_gene,harm_gene),), - INST =SIMP(statut='f',typ='R',), - FREQ =SIMP(statut='f',typ='R',), - NOM_CHAM =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE",),), - b_interp_temp=BLOC(condition="INST != None and FREQ == None", - INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN",),), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),),), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.greffet at edf.fr -# -# RECUPERATION DE PARAMETRES DE COUPLAGE VIA YACS -# -RECU_PARA_YACS=OPER(nom="RECU_PARA_YACS",op=114,sd_prod=listr8_sdaster, - reentrant = 'n', - UIinfo={"groupes":("Fonction",)}, - fr = "Gestion des scalaires via YACS pour le coupleur IFS", - DONNEES = SIMP(statut='o',typ='TXM',into=("INITIALISATION","CONVERGENCE","FIN","PAS",) ), - b_init = BLOC(condition= "DONNEES=='INITIALISATION'", - PAS = SIMP(statut='o',typ='R', ),), - b_noinit = BLOC(condition= "(DONNEES=='CONVERGENCE')or(DONNEES=='FIN')", - NUME_ORDRE_YACS = SIMP(statut='o', typ='I',), - INST = SIMP(statut='o',typ='R', ), - PAS = SIMP(statut='o',typ='R', ),), - b_pastps = BLOC(condition= "(DONNEES=='PAS')", - NUME_ORDRE_YACS = SIMP(statut='o', typ='I',), - INST = SIMP(statut='o',typ='R', ), - PAS = SIMP(statut='o',typ='R', ),), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2)), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -RECU_TABLE=OPER(nom="RECU_TABLE",op= 174,sd_prod=table_sdaster, - fr="Récupérer dans une table les valeurs d'un paramètre d'une SD Résultat ou d'extraire une table contenue" - +" dans une autre SD pour celles qui le permettent", - UIinfo={"groupes":("Résultats et champs","Tables",)},reentrant='n', - CO =SIMP(statut='o',typ=assd), - regles=(UN_PARMI('NOM_TABLE','NOM_PARA')), - NOM_TABLE =SIMP(statut='f',typ='TXM' ), - NOM_PARA =SIMP(statut='f',typ='TXM',max='**'), - TITRE =SIMP(statut='f',typ='TXM',max='**'), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jacques.pellet at edf.fr - -RESOUDRE=OPER(nom="RESOUDRE",op=15,sd_prod=cham_no_sdaster,reentrant='f', - fr="Résolution par méthode directe un système d'équations linéaires préalablement factorisé par FACT_LDLT"+ - "ou Résolution d'un système linéaire par la méthode du gradient conjugué préconditionné", - UIinfo={"groupes":("Résolution",)}, - MATR =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r, - matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ), - CHAM_NO =SIMP(statut='o',typ=cham_no_sdaster), - CHAM_CINE =SIMP(statut='f',typ=cham_no_sdaster), - - # mot-clé commun aux solveurs MUMPS, GCPC et PETSc: - RESI_RELA =SIMP(statut='f',typ='R',defaut=1.E-6), - - # mot-clé pour les posttraitements de la phase de solve de MUMPS - POSTTRAITEMENTS =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO","FORCE")), - - # mot-clé commun aux solveurs GCPC et PETSc: - NMAX_ITER =SIMP(statut='f',typ='I',defaut= 0 ), - MATR_PREC =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ), - - # mots-clés pour solveur PETSc: - ALGORITHME =SIMP(statut='f',typ='TXM',into=("CG", "CR", "GMRES", "GCR", ),defaut="GMRES" ), - - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== - -# person_in_charge: Georges-cc.devesa at edf.fr -def rest_cond_tran_prod(RESULTAT,TYPE_RESU,**args ): - - if AsType(RESULTAT) == dyna_trans : return dyna_trans - if (AsType(RESULTAT) == evol_noli and TYPE_RESU == "DYNA_TRANS") : return dyna_trans - if (AsType(RESULTAT) == evol_noli and TYPE_RESU == "EVOL_NOLI") : return evol_noli - - raise AsException("type de concept resultat non prevu") - -REST_COND_TRAN=OPER(nom="REST_COND_TRAN",op= 78,sd_prod=rest_cond_tran_prod, - fr="Restituer dans la base physique des résultats issus d'un calcul" - +"non-lineaire avec projection modale ou d'un calcul transitoire linear" - +"avec condensation dynamique", - reentrant='f', - UIinfo={"groupes":("Matrices et vecteurs",)}, - regles=( - EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','TOUT_INST'), - EXCLUS('MACR_ELEM_DYNA','BASE_MODALE'),), - RESULTAT =SIMP(statut='f',typ=(evol_noli,dyna_trans) ), - TYPE_RESU =SIMP(statut='f',typ='TXM',defaut="DYNA_TRANS", - into=("DYNA_TRANS","EVOL_NOLI") ), - BASE_MODALE =SIMP(statut='f',typ=mode_meca), -# NUME_DDL =SIMP(statut='f',typ=nume_ddl_sdaster ), - MACR_ELEM_DYNA =SIMP(statut='f',typ=macr_elem_dyna), - TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ), - TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), - b_nom_cham=BLOC(condition="TOUT_CHAM == None", - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,defaut="ACCE",into=("DEPL", - "VITE","ACCE",),),), - b_base_moda=BLOC(condition="BASE_MODALE != None", - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem),), - RESU_FINAL =SIMP(statut='f',typ=(evol_noli,dyna_trans) ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== - -# person_in_charge: emmanuel.boyere at edf.fr - -def rest_gene_phys_prod(RESU_GENE,**args ): - if AsType(RESU_GENE) == tran_gene : return dyna_trans - if AsType(RESU_GENE) == mode_gene : return mode_meca - if AsType(RESU_GENE) == harm_gene : return dyna_harmo - - raise AsException("type de concept resultat non prevu") - -REST_GENE_PHYS=OPER(nom="REST_GENE_PHYS",op= 75,sd_prod=rest_gene_phys_prod, - fr="Restituer dans la base physique des résultats en coordonnées généralisées", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - regles=( - EXCLUS('INST','LIST_INST','TOUT_INST', - 'TOUT_ORDRE','NUME_ORDRE','NUME_MODE',), - EXCLUS('FREQ','LIST_FREQ'), - EXCLUS('MULT_APPUI','CORR_STAT'), - EXCLUS('MULT_APPUI','NOEUD','GROUP_NO'), - EXCLUS('CORR_STAT','NOEUD','GROUP_NO'), - EXCLUS('NOEUD','GROUP_NO'), - EXCLUS('MAILLE','GROUP_MA'), - PRESENT_PRESENT('ACCE_MONO_APPUI','DIRECTION'),), - RESU_GENE =SIMP(statut='f',typ=(tran_gene,mode_gene,harm_gene) ), - MODE_MECA =SIMP(statut='f',typ=mode_meca ), - NUME_DDL =SIMP(statut='f',typ=nume_ddl_sdaster ), - TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ), - MULT_APPUI =SIMP(statut='f',typ='TXM',into=("OUI",) ), - CORR_STAT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), - b_nom_cham=BLOC(condition="TOUT_CHAM == None", - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=8,defaut="ACCE",into=("DEPL", - "VITE","ACCE","ACCE_ABSOLU","EFGE_ELNO","SIPO_ELNO","SIGM_ELNO","FORC_NODA",),),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - DIRECTION =SIMP(statut='f',typ='R',min=3,max=3 ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -def rest_mode_nonl_prod(TYPE_RESU,**args): - if TYPE_RESU == 'DYNA_TRANS' : return dyna_trans - elif TYPE_RESU == 'MODE_MECA' : return mode_meca - raise AsException("type de concept resultat non prevu") - -REST_MODE_NONL=OPER(nom="REST_MODE_NONL", op=63, - sd_prod=rest_mode_nonl_prod, reentrant='n', - fr="Post traitement de mode_non_line : \ - recuperation resultats ", - UIinfo={"groupes":("Post-traitements",)}, - - MODE_NON_LINE =SIMP(statut='o',typ=table_container,max=1), - TYPE_RESU =SIMP(statut='o',typ='TXM',into=('MODE_MECA','DYNA_TRANS'),defaut='DYNA_TRANS',max=1), - NUME_ORDRE =SIMP(statut='o',typ='I',max=1), - b_dyna_trans =BLOC(condition="TYPE_RESU=='DYNA_TRANS'", - NB_INST =SIMP(statut='f',typ='I',max=1,defaut=512),), - INFO =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ), - -) ; - - - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== - -# person_in_charge: mathieu.corus at edf.fr -def rest_sous_struc_prod(RESU_GENE,RESULTAT,**args ): - if AsType(RESU_GENE) == tran_gene : return dyna_trans - if AsType(RESU_GENE) == mode_gene : return mode_meca - if AsType(RESU_GENE) == mode_cycl : return mode_meca - if AsType(RESU_GENE) == harm_gene : return dyna_harmo - if AsType(RESULTAT) == evol_noli : return evol_noli - if AsType(RESULTAT) == dyna_trans : return dyna_trans - if AsType(RESULTAT) == mode_meca : return mode_meca - raise AsException("type de concept resultat non prevu") - -REST_SOUS_STRUC=OPER(nom="REST_SOUS_STRUC",op= 77,sd_prod=rest_sous_struc_prod, - fr="Restituer dans la base physique des résultats obtenus par sous-structuration", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - regles=(UN_PARMI('RESU_GENE','RESULTAT'), -# ajout d'une regle de Ionel et Nicolas: -# UN_PARMI('NOM_CHAM','TOUT_CHAM'), -# - EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','TOUT_INST','NUME_MODE', - 'FREQ', 'LIST_FREQ'), -# Doc U à revoir - EXCLUS('NOEUD','GROUP_NO'), - EXCLUS('MAILLE','GROUP_MA'), - PRESENT_PRESENT('RESULTAT','SQUELETTE'), - UN_PARMI('SQUELETTE','SOUS_STRUC','SECTEUR'), - - ), - RESULTAT =SIMP(statut='f',typ=(evol_noli,dyna_trans, - mode_meca) ), - RESU_GENE =SIMP(statut='f',typ=(tran_gene,mode_gene,mode_cycl,harm_gene) ), - NUME_DDL =SIMP(statut='f',typ=nume_ddl_sdaster ), - MODE_MECA =SIMP(statut='f',typ=mode_meca ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',into=("OUI",) ), - NUME_ORDRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - NUME_MODE =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), - TOUT_INST =SIMP(statut='f',typ='TXM',into=("OUI",) ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_INST =SIMP(statut='f',typ=listr8_sdaster ), - FREQ =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - LIST_FREQ =SIMP(statut='f',typ=listr8_sdaster ), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - INTERPOL =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ), - TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",) ), - b_nom_cham=BLOC(condition="TOUT_CHAM == None", - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=8,defaut="ACCE",into=("DEPL", - "VITE","ACCE","ACCE_ABSOLU","EFGE_ELNO","SIPO_ELNO","SIGM_ELNO","FORC_NODA",) ),), - GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'), - NOEUD =SIMP(statut='f',typ=no ,validators=NoRepeat(),max='**'), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - CYCLIQUE =FACT(statut='f',max='**', - NB_SECTEUR =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ), - NUME_DIAMETRE =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ), - RESULTAT2 =SIMP(statut='f',typ=(evol_elas,evol_noli,dyna_trans,evol_char, - mode_meca) ), - ), - - SQUELETTE =SIMP(statut='f',typ=squelette ), - SOUS_STRUC =SIMP(statut='f',typ='TXM' ), - SECTEUR =SIMP(statut='f',typ='I'), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: andre.adobes at edf.fr -REST_SPEC_PHYS=OPER(nom="REST_SPEC_PHYS",op= 148,sd_prod=interspectre, - reentrant='n', - fr="Calculer la réponse d'une structure dans la base physique", - UIinfo={"groupes":("Matrices et vecteurs",)}, - regles=(AU_MOINS_UN('BASE_ELAS_FLUI','MODE_MECA'),), - BASE_ELAS_FLUI =SIMP(statut='f',typ=melasflu_sdaster ), - b_fluide = BLOC(condition="BASE_ELAS_FLUI !=None", - VITE_FLUI =SIMP(statut='o',typ='R'), - PRECISION =SIMP(statut='f',typ='R',defaut=1.0E-3 ), - ), - MODE_MECA =SIMP(statut='f',typ=mode_meca,), - BANDE =SIMP(statut='f',typ='R',min=2,validators=NoRepeat(),max=2 ), - NUME_ORDRE =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**' ), - TOUT_ORDRE =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON") ), - INTE_SPEC_GENE =SIMP(statut='o',typ=interspectre), - NOEUD =SIMP(statut='o',typ=no ,max='**'), - MAILLE =SIMP(statut='f',typ=ma ,max='**'), - NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=7,into=("DEPL", - "VITE","ACCE","EFGE_ELNO","SIPO_ELNO","SIGM_ELNO","FORC_NODA") ), - MODE_STAT =SIMP(statut='f',typ=mode_meca ), - EXCIT =FACT(statut='f', - NOEUD =SIMP(statut='o',typ=no ,max='**'), - NOM_CMP =SIMP(statut='o',typ='TXM',max='**'), - ), - MOUVEMENT =SIMP(statut='f',typ='TXM',defaut="ABSOLU",into=("RELATIF","ABSOLU","DIFFERENTIEL") ), - OPTION =SIMP(statut='f',typ='TXM',defaut="DIAG_DIAG", - into=("DIAG_TOUT","DIAG_DIAG","TOUT_TOUT","TOUT_DIAG") ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2008 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: Georges-cc.devesa at edf.fr -def rest_spec_temp_prod(RESU_GENE,RESULTAT,**args): - if AsType(RESULTAT) == dyna_harmo : return dyna_trans - if AsType(RESU_GENE) == harm_gene : return tran_gene - if AsType(RESULTAT) == dyna_trans : return dyna_harmo - if AsType(RESU_GENE) == tran_gene : return harm_gene - raise AsException("type de concept resultat non prevu") - - -REST_SPEC_TEMP=OPER(nom="REST_SPEC_TEMP",op=181,sd_prod=rest_spec_temp_prod, - fr="Transformée de Fourier d'un résultat", - reentrant='n', - UIinfo={"groupes":("Matrices et vecteurs",)}, - regles=UN_PARMI('RESU_GENE','RESULTAT'), - RESU_GENE =SIMP(statut='f',typ=(harm_gene,tran_gene,) ), - RESULTAT =SIMP(statut='f',typ=(dyna_harmo,dyna_trans,) ), - METHODE =SIMP(statut='f',typ='TXM',defaut="PROL_ZERO",into=("PROL_ZERO","TRONCATURE") ), - SYMETRIE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ), - TOUT_CHAM =SIMP(statut='f',typ='TXM',into=("OUI",)), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","VITE","ACCE") ), -); - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jean-michel.proix at edf.fr - - -SIMU_POINT_MAT=MACRO(nom="SIMU_POINT_MAT", - op=OPS('Macro.simu_point_mat_ops.simu_point_mat_ops'), - sd_prod=table_sdaster, - UIinfo={"groupes":("Résolution",)}, - fr="Calcul de l'évolution mécanique, en quasi-statique," \ - " d'un point matériel en non linéaire", - COMPORTEMENT =C_COMPORTEMENT(), - MATER =SIMP(statut='o',typ=mater_sdaster,max=30), - -## ANGLE : rotation de ANGLE autour de Z uniquement, et seulement pour les déformations imposées. - ANGLE =SIMP(statut='f',typ='R',max=1, defaut=0.), -# --MASSIF : orientation du materiau (monocristal, orthotropie) - MASSIF =FACT(statut='f',max='**', - regles=(UN_PARMI('ANGL_REP','ANGL_EULER'),), - ANGL_REP =SIMP(statut='f',typ='R',min=1,max=3), - ANGL_EULER =SIMP(statut='f',typ='R',min=1,max=3), - ), - INCREMENT =C_INCREMENT('MECANIQUE'), - NEWTON =C_NEWTON(), - CONVERGENCE =C_CONVERGENCE(), - - SUPPORT= SIMP(statut='f',typ='TXM',max=1,into=("POINT","ELEMENT",),defaut=("POINT"),), - - b_PM = BLOC(condition="SUPPORT == 'POINT'",fr="Simulation sans élément fini", - FORMAT_TABLE =SIMP(statut='f',typ='TXM',max=1,into=("CMP_COLONNE","CMP_LIGNE",),defaut=("CMP_COLONNE"),), - NB_VARI_TABLE =SIMP(statut='f',typ='I',max=1,), - OPER_TANGENT =SIMP(statut='f',typ='TXM',max=1,into=("OUI","NON",),defaut="NON",), - ARCHIVAGE =FACT(statut='f', - LIST_INST =SIMP(statut='f',typ=(listr8_sdaster) ), - INST =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_ARCH =SIMP(statut='f',typ='I' ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.0E-6), - ), - # on permet certaines variables de commandes scalaires, définies par une fonction du temps - # on permet ici seulementn celles qui sont validees - AFFE_VARC = FACT(statut='f',max='**', - NOM_VARC =SIMP(statut='o',typ='TXM', into=("TEMP","IRRA","SECH")), - VALE_FONC = SIMP(statut='f',typ=(fonction_sdaster,formule) ), - - # VALE_REF est nécessaire pour certaines VARC : - B_VALE_REF =BLOC(condition="NOM_VARC in ('TEMP', 'SECH')", - VALE_REF =SIMP(statut='o',typ='R'), - ), - ), - # un mot clé caché qui ne sert qu'à boucler sur les VARC possibles : - LIST_NOM_VARC =SIMP(statut='c',typ='TXM', defaut=("TEMP","IRRA","SECH")), - - ), - b_EF = BLOC(condition="SUPPORT == 'ELEMENT'",fr="Simulation sur un élément fini", - MODELISATION =SIMP(statut='f',typ='TXM',max=1,into=("3D","C_PLAN","D_PLAN",)), - RECH_LINEAIRE =C_RECH_LINEAIRE(), - ARCHIVAGE =C_ARCHIVAGE(), - SUIVI_DDL =C_SUIVI_DDL(), - - # on permet certaines variables de commandes scalaires, définies par une fonction du temps - # a priori toutes doivent fonctionner - AFFE_VARC = FACT(statut='f',max='**', - NOM_VARC =SIMP(statut='o',typ='TXM', into=("TEMP","CORR","IRRA","HYDR","SECH","M_ACIER","M_ZIRC", - "EPSA","NEUT1","NEUT2")), - VALE_FONC = SIMP(statut='f',typ=(fonction_sdaster,formule) ), - VALE_REF = SIMP(statut='f',typ='R'), - - b_ZIRC = BLOC(condition="NOM_VARC=='M_ZIRC'", - V1 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - V2 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - V3 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - V4 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - ), - - b_ACIER = BLOC(condition="NOM_VARC=='M_ACIER'", - V1 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - V2 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - V3 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - V4 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - V5 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - V6 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - V7 = SIMP(statut='o',typ=(fonction_sdaster,formule) ), - ), - ), - # un mot clé caché qui ne sert qu'à boucler sur les VARC possibles : - LIST_NOM_VARC =SIMP(statut='c',typ='TXM', defaut=("TEMP","CORR","IRRA","HYDR","SECH","EPSA", - "M_ACIER","M_ZIRC","NEUT1","NEUT2")), - - SIGM_IMPOSE=FACT(statut='f', - SIXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - EPSI_IMPOSE=FACT(statut='f', - EPXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - - ), - b_COEF = BLOC(condition="SUPPORT == 'POINT'",fr="matrice de coefficients", - regles = (PRESENT_ABSENT('SIGM_IMPOSE','MATR_C1','MATR_C2','VECT_IMPO'), - PRESENT_ABSENT('EPSI_IMPOSE','MATR_C1','MATR_C2','VECT_IMPO'), - PRESENT_ABSENT('MATR_C1','SIGM_IMPOSE','EPSI_IMPOSE'), - PRESENT_ABSENT('MATR_C2','SIGM_IMPOSE','EPSI_IMPOSE'), - PRESENT_ABSENT('VECT_IMPO', 'SIGM_IMPOSE','EPSI_IMPOSE'), - EXCLUS('EPSI_IMPOSE','GRAD_IMPOSE'), - EXCLUS('SIGM_IMPOSE','GRAD_IMPOSE'), - ), - - SIGM_IMPOSE=FACT(statut='f', - SIXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - SIYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - EPSI_IMPOSE=FACT(statut='f', - EPXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - EPYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - GRAD_IMPOSE=FACT(statut='f', - regles = ( ENSEMBLE('F11','F12','F13','F21','F22','F23','F31','F32','F33',),), - F11 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F12 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F13 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F21 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F22 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F23 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F31 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F32 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - F33 = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - MATR_C1=FACT(statut='f',max='**', - VALE =SIMP(statut='o',typ='R',max=1, ), - NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ), - NUME_COLONNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=12 ), - ), - MATR_C2=FACT(statut='f',max='**', - VALE =SIMP(statut='o',typ='R',max=1, ), - NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ), - NUME_COLONNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=12 ), - ), - VECT_IMPO=FACT(statut='f',max='**', - VALE =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max=1, ), - NUME_LIGNE =SIMP(statut='o',typ='I',max=1,val_min=1,val_max=6 ), - ), - ), - SIGM_INIT=FACT(statut='f', - SIXX = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - SIYY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - SIZZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - SIXY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - SIXZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - SIYZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0), - ), - EPSI_INIT=FACT(statut='f', - EPXX = SIMP(statut='o',typ='R',max=1), - EPYY = SIMP(statut='o',typ='R',max=1), - EPZZ = SIMP(statut='o',typ='R',max=1), - EPXY = SIMP(statut='o',typ='R',max=1), - EPXZ = SIMP(statut='o',typ='R',max=1), - EPYZ = SIMP(statut='o',typ='R',max=1), - ), - VARI_INIT=FACT(statut='f', - VALE = SIMP(statut='o',typ='R',max='**'), - ), - - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: aimery.assire at edf.fr - - -STANLEY=MACRO(nom="STANLEY", - op=OPS('Macro.stanley_ops.stanley_ops'), - sd_prod=None, - reentrant='n', - UIinfo={"groupes":("Post-traitements",)}, - fr="Outil de post-traitement interactif Stanley ", - RESULTAT =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther,mode_meca,dyna_harmo,dyna_trans) ), - MODELE =SIMP(statut='f',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='f',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - DISPLAY =SIMP(statut='f',typ='TXM'), - UNITE_VALIDATION=SIMP(statut='f',typ='I',val_min=10,val_max=90, - fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit les md5"), - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mickael.abbas at edf.fr -# -STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli, - fr="Calcul de l'évolution mécanique ou thermo-hydro-mécanique couplée, en quasi-statique," - +" d'une structure en non linéaire", - reentrant='f', - UIinfo={"groupes":("Résolution","Mécanique",)}, - - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - EXCIT =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=(char_meca,char_cine_meca)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - TYPE_CHARGE =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE", - into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")), - ), - CONTACT =SIMP(statut='f',typ=char_contact), - SOUS_STRUC =FACT(statut='f',min=01,max='**', - regles=(UN_PARMI('TOUT','SUPER_MAILLE'),), - CAS_CHARGE =SIMP(statut='o',typ='TXM' ), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - SUPER_MAILLE=SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), -#------------------------------------------------------------------- - COMPORTEMENT =C_COMPORTEMENT('STAT_NON_LINE'), -#------------------------------------------------------------------- - b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire", - ETAT_INIT =FACT(statut='o', - regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI',), - # EXCLUS('EVOL_NOLI','DEPL',), - # EXCLUS('EVOL_NOLI','SIGM',), - # EXCLUS('EVOL_NOLI','VARI',), - EXCLUS('NUME_ORDRE','INST'), ), - DEPL =SIMP(statut='f',typ=cham_no_sdaster), - SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)), - VARI =SIMP(statut='f',typ=cham_elem), - STRX =SIMP(statut='f',typ=cham_elem), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - NUME_DIDI =SIMP(statut='f',typ='I'), - INST_ETAT_INIT =SIMP(statut='f',typ='R'), - ),), - b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif", - ETAT_INIT =FACT(statut='f', - regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI',), - # EXCLUS('EVOL_NOLI','DEPL',), - # EXCLUS('EVOL_NOLI','SIGM',), - # EXCLUS('EVOL_NOLI','VARI',), - EXCLUS('NUME_ORDRE','INST'), ), - DEPL =SIMP(statut='f',typ=cham_no_sdaster), - SIGM =SIMP(statut='f',typ=(cham_elem,carte_sdaster)), - VARI =SIMP(statut='f',typ=cham_elem), - STRX =SIMP(statut='f',typ=cham_elem), - EVOL_NOLI =SIMP(statut='f',typ=evol_noli), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - NUME_DIDI =SIMP(statut='f',typ='I'), - INST_ETAT_INIT =SIMP(statut='f',typ='R'), - ),), -#------------------------------------------------------------------- - INCREMENT =C_INCREMENT('MECANIQUE'), -#------------------------------------------------------------------- - METHODE =SIMP(statut='d',typ='TXM',defaut="NEWTON",into=("NEWTON","IMPLEX","NEWTON_KRYLOV")), - b_meth_newton = BLOC(condition = "METHODE == 'NEWTON' or METHODE == 'NEWTON_KRYLOV'", - NEWTON = C_NEWTON(), - ), -#------------------------------------------------------------------- - RECH_LINEAIRE =C_RECH_LINEAIRE(), -#------------------------------------------------------------------- - PILOTAGE =C_PILOTAGE(), -#------------------------------------------------------------------- - CONVERGENCE =C_CONVERGENCE(), -#------------------------------------------------------------------- - SOLVEUR =C_SOLVEUR('STAT_NON_LINE'), -#------------------------------------------------------------------- - OBSERVATION =C_OBSERVATION(), -#------------------------------------------------------------------- - SUIVI_DDL =C_SUIVI_DDL(), -#------------------------------------------------------------------- - ARCHIVAGE =C_ARCHIVAGE(), -#------------------------------------------------------------------- - CRIT_QUALITE =FACT(statut='f',max=1, - ERRE_TEMPS_THM =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON", - fr="Adaptation temporelle pour les modélisations HM instationnaires", - ang="Time adaptation for unstationary HM models"), - ), -#------------------------------------------------------------------- - ENERGIE =FACT(statut='f',max=1, - CALCUL =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI",), - ), -#------------------------------------------------------------------- - AFFICHAGE =C_AFFICHAGE(), -#------------------------------------------------------------------- - CRIT_STAB =FACT(statut='f',min=1,max=1, - NB_FREQ =SIMP(statut='f',typ='I',max=1,val_min=1,defaut=3), - COEF_DIM_ESPACE =SIMP(statut='f',typ='I',max=1,val_min=2,defaut=5), - RIGI_GEOM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")), - MODI_RIGI =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")), - b_char_crit =BLOC(condition="(RIGI_GEOM=='OUI')", - CHAR_CRIT =SIMP(statut='f',typ='R',min=2,max=2, - fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"), - ), - TYPE =SIMP(statut='f',typ='TXM',defaut="FLAMBEMENT",into=("FLAMBEMENT","STABILITE")), - PREC_INSTAB =SIMP(statut='f',typ='R',defaut=1.E-6,max=1,), - SIGNE =SIMP(statut='f',typ='TXM',defaut=("POSITIF_NEGATIF"),into=("NEGATIF","POSITIF","POSITIF_NEGATIF"),max=1,), - b_rigi_geom =BLOC(condition="(RIGI_GEOM=='NON')", - DDL_EXCLUS =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=40, - into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', - 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', - 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', - 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', - 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX', - 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', - 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22', - 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23', - 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG')),), - b_type_stab =BLOC(condition= "TYPE == 'STABILITE' and RIGI_GEOM == 'NON'", - DDL_STAB =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=40, - into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI', - 'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2', - 'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4', - 'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6', - 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX', - 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z', - 'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22', - 'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23', - 'PRES31','PRES32','PRES33','VARI','LAG_GV','DAMG')),), - regles = (EXCLUS('PAS_CALC','LIST_INST','INST'),), - LIST_INST = SIMP(statut='f',typ=(listr8_sdaster) ), - INST = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), - PAS_CALC = SIMP(statut='f',typ='I' ), - CRITERE = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - ), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), - b_info=BLOC(condition="INFO==2", - fr="filtre les messages émis dans le .mess selon le type de message demandé", - INFO_DBG = SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(), - into=("CONTACT", - "MECA_NON_LINE", - "PILOTAGE", - "FACTORISATION", - "APPARIEMENT"), - ), - ), - TITRE =SIMP(statut='f',typ='TXM',max='**' ), - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jean-michel.proix at edf.fr - - -# MACRO "TEST_THERMOPLASTIQUE" -# ---------------------------- -# def test_compor_sdprod(self, COMPORTEMENT, **kwargs): -# """Ne produit une table qu'en présence de COMPORTEMENT.""" -# if COMPORTEMENT: -# return table_sdaster -# return None - - -TEST_COMPOR =MACRO(nom="TEST_COMPOR", - op=OPS('Macro.test_compor_ops.test_compor_ops'), - # sd_prod=test_compor_sdprod, - sd_prod=table_sdaster, - docu="",reentrant='n', - fr="macro de test des comportements incrementaux dependant de la temperature", - - OPTION =SIMP(statut='f',typ='TXM',into=("THER","MECA"),defaut="THER"), - - COMPORTEMENT =C_COMPORTEMENT('SIMU_POINT_MAT'), - NEWTON =C_NEWTON(), - CONVERGENCE =C_CONVERGENCE(), - - b_ther =BLOC(condition = "OPTION == 'THER'", - regles=(EXCLUS('C_PRAG','D_SIGM_EPSI'),), - MATER =SIMP(statut='o',typ=mater_sdaster,max=1,fr="materiau dependant de la temperature"), - ALPHA =SIMP(statut='o',typ=fonction_sdaster, - fr="coefficient de dilatation fonction de la temperature"), - YOUNG =SIMP(statut='o',typ=fonction_sdaster, - fr="module d'Young fonction de la temperature"), - LIST_MATER =SIMP(statut='o',typ=mater_sdaster,max='**', - fr="liste des materiaux constants interpolés à chaque température"), - TEMP_INIT =SIMP(statut='o',typ='R', fr="temperature initiale et de reference"), - TEMP_FIN =SIMP(statut='o',typ='R', fr="temperature finale"), - INST_FIN =SIMP(statut='f',typ='R',defaut=1.,fr="instant final"), - SUPPORT =SIMP(statut='f',typ='TXM',max=1,into=("POINT","ELEMENT",),defaut=("POINT"),), - NB_VARI =SIMP(statut='o',typ='I', fr="nombre de variables internes - 0 en elasticité"), - VARI_TEST =SIMP(statut='f',typ='TXM',max='**', - fr="liste de variables internes à tester - par defaut, toutes"), - -# special ecrouissage cinematique - D_SIGM_EPSI =SIMP(statut='f',typ=fonction_sdaster, - fr="module tangent fonction de la temperature- VMIS_CINE_LINE"), - C_PRAG =SIMP(statut='f',typ=fonction_sdaster, - fr="constante de Prager fonction de la temperature- VMIS_ECMI_*"), - ), - b_meca =BLOC(condition = "OPTION == 'MECA'", - LIST_MATER =SIMP(statut='o',typ=mater_sdaster,max=2,min=2, - fr="liste des materiaux en Pa puis MPa "), - YOUNG =SIMP(statut='o',typ='R',fr="module d'Young"), - POISSON =SIMP(statut='o',typ='R',fr="coef de Poisson"), - LIST_NPAS =SIMP(statut='f',typ='I',max='**', - fr="nombre de pas de temps pour chaque discretisation"), - LIST_TOLE =SIMP(statut='f',typ='R',max='**',), - PREC_ZERO =SIMP(statut='f',typ='R',max='**',), - VARI_TEST =SIMP(statut='f',typ='TXM',max='**',defaut=('V1','VMIS','TRACE'), - fr="liste des CMP à tester "), - SUPPORT =SIMP(statut='f',typ='TXM',max=1,into=("POINT","ELEMENT",)), - MODELISATION =SIMP(statut='f',typ='TXM',max=1,into=("3D","C_PLAN"),defaut="3D",), - ANGLE =SIMP(statut='f',typ='R',max=1, defaut=0., - fr='Rotation de ANGLE autour de Z uniquement, et seulement pour les déformations imposées',), - MASSIF =FACT(statut='f',max='**',fr='orientation du materiau (monocristal, orthotropie)', - regles=(UN_PARMI('ANGL_REP','ANGL_EULER'),), - ANGL_REP =SIMP(statut='f',typ='R',min=1,max=3), - ANGL_EULER =SIMP(statut='f',typ='R',min=1,max=3), - ), - TEST_TANGENTE =SIMP(statut='f',typ='TXM',max=1,into=("OUI","NON"),defaut="OUI",), - VERI_MATR_OPTION =FACT(statut='f',max=1,fr='options pour le test de la matrice tangente', - VALE_PERT_RELA =SIMP(statut='f',typ='R',defaut=1.E-5), - PRECISION =SIMP(statut='f',typ='R',defaut=1.E-4 ), - PREC_ZERO =SIMP(statut='f',typ='R',defaut=1.E-12 ), - ), - ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), - ) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -TEST_FICHIER=MACRO(nom="TEST_FICHIER", - op=OPS('Macro.test_fichier_ops.test_fichier_ops'), - UIinfo={"groupes":("Utilitaires",)}, - fr="Tester la non régression de fichiers produits par des commandes aster", - FICHIER =SIMP(statut='o',typ='TXM',validators=LongStr(1,255)), - EXPR_IGNORE =SIMP(statut='f',typ='TXM',max='**', - fr="Liste d'expressions régulières permettant d'ignorer certaines lignes"), - NB_VALE =SIMP(statut='o',typ='I',), - - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), - **C_TEST_REFERENCE('FICHIER', max=1) -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: nicolas.sellenet at edf.fr - -TEST_FONCTION=MACRO(nom="TEST_FONCTION", - op=OPS('Macro.test_fonction_ops.test_fonction_ops'), - sd_prod=None, - fr="Extraction d'une valeur numérique ou d'un attribut de fonction pour comparaison à une valeur de référence", - UIinfo={"groupes":("Fonctions","Utilitaires",)}, - TEST_NOOK =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), - VALEUR =FACT(statut='f',max='**', - fr="Tester la valeur d une fonction ou d une nappe", - regles=(UN_PARMI('VALE_PARA','INTERVALLE'),), - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ), - NOM_PARA =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2), - VALE_PARA =SIMP(statut='f',typ='R' ,validators=NoRepeat(),max=2), - INTERVALLE =SIMP(statut='f',typ='R' ,validators=NoRepeat(),min=2,max=2), - **C_TEST_REFERENCE('FONCTION', max='**') - ), - ATTRIBUT =FACT(statut='f',max='**', - fr="Tester la valeur d un attribut d une fonction ou d''une nappe", - FONCTION =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ), - PARA =SIMP(statut='f',typ='R' ), - CRIT_PARA =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PREC_PARA =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ATTR =SIMP(statut='o',typ='TXM', - into=("NOM_PARA","NOM_RESU","PROL_DROITE","PROL_GAUCHE","INTERPOL", - "PROL_GAUCHE_FONC","PROL_DROITE_FONC","INTERPOL_FONC","NOM_PARA_FONC") ), - ATTR_REFE =SIMP(statut='o',typ='TXM' ), - REFERENCE =SIMP(statut='f',typ='TXM', - into=("ANALYTIQUE","SOURCE_EXTERNE","AUTRE_ASTER") ), - ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== -# person_in_charge: j-pierre.lefebvre at edf.fr -TEST_RESU=PROC(nom="TEST_RESU",op=23, - UIinfo={"groupes":("Résultats et champs","Utilitaires",)}, - fr="Extraction d'une valeur d'une structure de donnée et comparaison à une valeur de référence", - regles=(AU_MOINS_UN('CHAM_NO','CHAM_ELEM','CARTE','RESU','GENE','OBJET','TEST_NAN',)), - - CHAM_NO =FACT(statut='f',max='**', - regles=(EXCLUS('NOEUD','GROUP_NO'), # EXCLUS avec 'TYPE_TEST' dans trchno.f - PRESENT_PRESENT('NOEUD','NOM_CMP'), - PRESENT_PRESENT( 'GROUP_NO','NOM_CMP'),), - CHAM_GD =SIMP(statut='o',typ=cham_no_sdaster), - NOEUD =SIMP(statut='f',typ=no ), - GROUP_NO =SIMP(statut='f',typ=grno ), - NOM_CMP =SIMP(statut='f',typ='TXM',max=1), - **C_TEST_REFERENCE('CHAM_NO', max='**') - ), - - CARTE =FACT(statut='f',max='**', - CHAM_GD =SIMP(statut='o',typ=carte_sdaster), - MAILLE =SIMP(statut='o',typ=ma), - NOM_CMP =SIMP(statut='o',typ='TXM',max=1), - **C_TEST_REFERENCE('CARTE', max=1) - ), - - CHAM_ELEM =FACT(statut='f',max='**', - regles=(#UN_PARMI('MAILLE','TYPE_TEST',) dans trchel.f - EXCLUS('NOEUD','GROUP_NO','POINT'), - PRESENT_PRESENT('NOEUD','NOM_CMP'), - PRESENT_PRESENT('GROUP_NO','NOM_CMP'), - PRESENT_PRESENT('POINT','NOM_CMP'),), - CHAM_GD =SIMP(statut='o',typ=cham_elem), - MAILLE =SIMP(statut='f',typ=ma), - POINT =SIMP(statut='f',typ='I' ), - SOUS_POINT =SIMP(statut='f',typ='I'), - NOEUD =SIMP(statut='f',typ=no), - GROUP_NO =SIMP(statut='f',typ=grno), - NOM_CMP =SIMP(statut='f',typ='TXM',max=1), - **C_TEST_REFERENCE('CHAM_ELEM', max='**') - ), - - RESU =FACT(statut='f',max='**', - regles=(UN_PARMI('NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGLE'), - UN_PARMI('NOM_CHAM','PARA'), - PRESENT_ABSENT('PARA','NOEUD','GROUP_NO','POINT','NOM_CMP',), - PRESENT_PRESENT('NOM_CMP','NOM_CHAM'), - EXCLUS('NOEUD','GROUP_NO','POINT'), # EXCLUS avec 'TYPE_TEST' dans trresu.f - PRESENT_PRESENT('NOEUD','NOM_CMP'), - PRESENT_PRESENT('GROUP_NO','NOM_CMP'), - PRESENT_PRESENT('POINT','NOM_CMP'),), - RESULTAT =SIMP(statut='o',typ=resultat_sdaster), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - FREQ =SIMP(statut='f',typ='R'), - NUME_MODE =SIMP(statut='f',typ='I'), - NOEUD_CMP =SIMP(statut='f',typ='TXM',min=2,max=2), - NOM_CAS =SIMP(statut='f',typ='TXM'), - ANGLE =SIMP(statut='f',typ='R'), - PARA =SIMP(statut='f',typ='TXM'), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - NOM_CMP =SIMP(statut='f',typ='TXM',max=1), - MAILLE =SIMP(statut='f',typ=ma ,max='**'), - NOEUD =SIMP(statut='f',typ=no ,max='**'), - GROUP_NO =SIMP(statut='f',typ=grno ,max='**'), - POINT =SIMP(statut='f',typ='I'), - SOUS_POINT =SIMP(statut='f',typ='I'), - **C_TEST_REFERENCE('RESU', max='**') - ), - - GENE =FACT(statut='f',max='**', - RESU_GENE =SIMP(statut='o',typ=(vect_asse_gene, tran_gene, mode_gene, harm_gene)), - b_vect_asse =BLOC(condition = "AsType(RESU_GENE) == vect_asse_gene", - NUME_CMP_GENE =SIMP(statut='o',typ='I'), - ), - b_mode =BLOC(condition = "AsType(RESU_GENE) == mode_gene", - regles=(UN_PARMI('NUME_ORDRE','FREQ','NUME_MODE'), - UN_PARMI('NOM_CHAM','PARA'), - PRESENT_PRESENT('NOM_CHAM','NUME_CMP_GENE'),), - NOM_CHAM =SIMP(statut='f',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - NUME_CMP_GENE =SIMP(statut='f',typ='I'), - PARA =SIMP(statut='f',typ='TXM'), - NUME_ORDRE =SIMP(statut='f',typ='I'), - NUME_MODE =SIMP(statut='f',typ='I'), - FREQ =SIMP(statut='f',typ='R'), - ), - b_harm =BLOC(condition = "AsType(RESU_GENE) == harm_gene", - regles=(UN_PARMI('NUME_ORDRE','FREQ') ,), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - NUME_CMP_GENE =SIMP(statut='o',typ='I'), - NUME_ORDRE =SIMP(statut='f',typ='I'), - FREQ =SIMP(statut='f',typ='R'), - ), - b_tran =BLOC(condition = "AsType(RESU_GENE) == tran_gene", - regles=(UN_PARMI('NUME_ORDRE','INST') ,), - NOM_CHAM =SIMP(statut='o',typ='TXM',validators=NoRepeat(),into=C_NOM_CHAM_INTO()), - NUME_CMP_GENE =SIMP(statut='o',typ='I'), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - ), - **C_TEST_REFERENCE('GENE', max='**') - ), - - OBJET =FACT(statut='f',max='**', - NOM =SIMP(statut='o',typ='TXM'), - **C_TEST_REFERENCE('OBJET', max=1) - ), - - TEST_NAN =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr -TEST_TABLE=PROC(nom="TEST_TABLE",op= 177, - UIinfo={"groupes":("Tables","Utilitaires",)}, - fr="Tester une cellule ou une colonne d'une table", -# concept table_sdaster à tester - TABLE =SIMP(statut='o',typ=table_sdaster), - FILTRE =FACT(statut='f',max='**', - NOM_PARA =SIMP(statut='o',typ='TXM' ), - CRIT_COMP =SIMP(statut='f',typ='TXM',defaut="EQ", - into=("EQ","LT","GT","NE","LE","GE","VIDE", - "NON_VIDE","MAXI","MAXI_ABS","MINI","MINI_ABS") ), - b_vale =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))", - regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),), - VALE =SIMP(statut='f',typ='R',), - VALE_I =SIMP(statut='f',typ='I',), - VALE_C =SIMP(statut='f',typ='C',), - VALE_K =SIMP(statut='f',typ='TXM' ),), - - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - ), - NOM_PARA =SIMP(statut='o',typ='TXM' ), - INFO =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), - **C_TEST_REFERENCE('TABLE', max='**') -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -TEST_TEMPS=MACRO(nom="TEST_TEMPS", - op=OPS('Macro.test_temps_ops.test_temps_ops'), - sd_prod=None, - UIinfo={"groupes":("Utilitaires",)}, - fr="Permet de vérifier le temps passé dans les commandes", - reentrant='n', - - RESU = FACT(statut='o',max='**', - COMMANDE = SIMP(statut='o', typ='TXM', - fr="Nom de la commande testee"), - NUME_ORDRE = SIMP(statut='f', typ='I', defaut=1, val_min=1, - fr="Numero de l'occurrence de la commande testee"), - MACHINE = SIMP(statut='o', typ='TXM', max='**', - fr="Liste des machines dont on a la référence"), - VALE = SIMP(statut='o', typ='R', max='**', - fr="Temps CPU sur les machines listees en secondes"), - CRITERE = SIMP(statut='f', typ='TXM', defaut='RELATIF', into=('ABSOLU', 'RELATIF')), - PRECISION = SIMP(statut='f', typ='R', defaut=0.01, max='**', - fr="Ecart admissible pour chaque machine"), - TYPE_TEST = SIMP(statut='o', typ='TXM', into=('USER', 'SYSTEM', 'USER+SYS', 'ELAPSED'), - defaut='USER+SYS', - fr="Valeur testee parmi 'USER', 'SYSTEM', 'USER+SYS', 'ELAPSED'"), - ), - - INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2) ), -) - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jessica.haelewyn at edf.fr -THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,reentrant='f', - UIinfo={"groupes":("Résolution","Thermique",)}, - fr="Résoudre un problème thermique linéaire stationnaire ou transitoire", - MODELE =SIMP(statut='o',typ=modele_sdaster), - CHAM_MATER =SIMP(statut='o',typ=cham_mater), - CARA_ELEM =SIMP(statut='f',typ=cara_elem), - EXCIT =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=(char_ther,char_cine_ther)), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), - ETAT_INIT =FACT(statut='f', - regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),), - STATIONNAIRE =SIMP(statut='f',typ='TXM',into=("OUI",)), - EVOL_THER =SIMP(statut='f',typ=evol_ther), - CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster), - VALE =SIMP(statut='f',typ='R'), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - INST_ETAT_INIT =SIMP(statut='f',typ='R'), - ), -#------------------------------------------------------------------- - INCREMENT =C_INCREMENT('THERMIQUE'), -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('THER_LINEAIRE'), -#------------------------------------------------------------------- - PARM_THETA =SIMP(statut='f',typ='R',defaut= 0.57), -#------------------------------------------------------------------- - ARCHIVAGE =C_ARCHIVAGE(), -#------------------------------------------------------------------- - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',into=(1,2)), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2012 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jessica.haelewyn at edf.fr -THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,reentrant='f', - UIinfo={"groupes":("Résolution","Thermique",)}, - fr="Résoudre un problème thermique non linéaire (conditions limites ou comportement matériau)" - +" stationnaire ou transitoire" , - MODELE =SIMP(statut='o',typ=(modele_sdaster) ), - CHAM_MATER =SIMP(statut='o',typ=(cham_mater) ), - CARA_ELEM =SIMP(statut='c',typ=(cara_elem) ), - COMPORTEMENT =FACT(statut='d',max='**', - RELATION =SIMP(statut='f',typ='TXM',defaut="THER_NL", - into=("THER_NL", - "THER_HYDR", - "SECH_GRANGER", - "SECH_MENSI", - "SECH_BAZANT", - "SECH_NAPPE" - ) ), - regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),), - TOUT =SIMP(statut='f',typ='TXM',into=("OUI",) ), - GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'), - MAILLE =SIMP(statut='f',typ=ma ,validators=NoRepeat(),max='**'), - ), - EVOL_THER_SECH =SIMP(statut='f',typ=evol_ther), - EXCIT =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=char_ther), - FONC_MULT =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)), - ), -#------------------------------------------------------------------- - INCREMENT =C_INCREMENT('THERMIQUE'), -#------------------------------------------------------------------- - ETAT_INIT =FACT(statut='f', - regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),), - STATIONNAIRE =SIMP(statut='f',typ='TXM',into=("OUI",)), - EVOL_THER =SIMP(statut='f',typ=evol_ther), - CHAM_NO =SIMP(statut='f',typ=cham_no_sdaster), - VALE =SIMP(statut='f',typ='R'), - NUME_ORDRE =SIMP(statut='f',typ='I'), - INST =SIMP(statut='f',typ='R'), - CRITERE =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ), - b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')", - PRECISION =SIMP(statut='f',typ='R',defaut= 1.E-6,),), - b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')", - PRECISION =SIMP(statut='o',typ='R',),), - INST_ETAT_INIT =SIMP(statut='f',typ='R'), - ), - NEWTON =FACT(statut='d', - REAC_ITER =SIMP(statut='f',typ='I',defaut= 0 ,val_min=0), - RESI_LINE_RELA =SIMP(statut='f',typ='R',defaut= 1.0E-3 ), - ITER_LINE_MAXI =SIMP(statut='f',typ='I',defaut= 0 ), - ), - CONVERGENCE =FACT(statut='d', - RESI_GLOB_MAXI =SIMP(statut='f',typ='R'), - RESI_GLOB_RELA =SIMP(statut='f',typ='R'), - ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), - ), -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('THER_NON_LINE'), -#------------------------------------------------------------------- - PARM_THETA =SIMP(statut='f',typ='R',defaut= 0.57 ), -#------------------------------------------------------------------- - ARCHIVAGE =C_ARCHIVAGE(), -#------------------------------------------------------------------- - OBSERVATION =C_OBSERVATION(), -#------------------------------------------------------------------- - TITRE =SIMP(statut='f',typ='TXM',max='**'), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), - -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: jessica.haelewyn at edf.fr -THER_NON_LINE_MO=OPER(nom="THER_NON_LINE_MO",op= 171,sd_prod=evol_ther, - fr="Résoudre un problème thermique non linéaire (conditions limites ou comportement matériau)" - +" stationnaire avec chargement mobile", - reentrant='n', - UIinfo={"groupes":("Résolution","Thermique",)}, - MODELE =SIMP(statut='o',typ=modele_sdaster ), - CHAM_MATER =SIMP(statut='o',typ=cham_mater ), - CARA_ELEM =SIMP(statut='c',typ=cara_elem ), - EXCIT =FACT(statut='o',max='**', - CHARGE =SIMP(statut='o',typ=char_ther ), - FONC_MULT =SIMP(statut='c',typ=(fonction_sdaster,nappe_sdaster,formule) ), - ), - ETAT_INIT =FACT(statut='f', - EVOL_THER =SIMP(statut='f',typ=evol_ther ), - NUME_ORDRE =SIMP(statut='f',typ='I',defaut= 0 ), - ), - CONVERGENCE =FACT(statut='d', - CRIT_TEMP_RELA =SIMP(statut='f',typ='R',defaut= 1.E-3 ), - CRIT_ENTH_RELA =SIMP(statut='f',typ='R',defaut= 1.E-2 ), - ITER_GLOB_MAXI =SIMP(statut='f',typ='I',defaut= 10 ), - ARRET =SIMP(statut='c',typ='TXM',defaut="OUI",into=("OUI","NON") ), - ), -#------------------------------------------------------------------- -# Catalogue commun SOLVEUR - SOLVEUR =C_SOLVEUR('THER_NON_LINE_MO'), -#------------------------------------------------------------------- - TITRE =SIMP(statut='f',typ='TXM',max='**' ), - INFO =SIMP(statut='f',typ='I',into=(1,2) ), -) ; - -# ====================================================================== -# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -# Vérification des imports et définitions non autorisés dans le catalogue -UNAUTHORIZED = ("numpy", "UTMESS", "Table", "Graph") - -for _name in UNAUTHORIZED: - _obj = globals().get(_name, None) - assert _obj is None, "Definition de '%s' interdite dans le catalogue." % _name - -assert aster_exists or aster is None - diff --git a/OldCodes/Aster/Cata/cataSTA11/ops.py b/OldCodes/Aster/Cata/cataSTA11/ops.py deleted file mode 100644 index efe2a5a4..00000000 --- a/OldCodes/Aster/Cata/cataSTA11/ops.py +++ /dev/null @@ -1,507 +0,0 @@ -# coding=utf-8 -# ====================================================================== -# COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# person_in_charge: mathieu.courtois at edf.fr - -# Modules Python -import sys -import os -import os.path as osp -import traceback -import cPickle as pickle -import re -from math import sqrt, pi, atan2, tan, log, exp -from glob import glob - -# Modules Eficas -import Accas -from Accas import ASSD -from Noyau.ascheckers import CheckLog -from Noyau.N_info import message, SUPERV -from Noyau.N_types import force_list - -try: - import aster - import aster_core - aster_exists = True - # Si le module aster est présent, on le connecte - # au JDC - import Build.B_CODE - Build.B_CODE.CODE.codex=aster - - from Utilitai.Utmess import UTMESS, MessageLog -except: - aster_exists = False - - - -def commun_DEBUT_POURSUITE(jdc, PAR_LOT, IMPR_MACRO, CODE, DEBUG, IGNORE_ALARM, LANG, INFO): - """Fonction sdprod partie commune à DEBUT et POURSUITE. - (on stocke un entier au lieu du logique) - """ - jdc.set_par_lot(PAR_LOT, user_value=True) - jdc.impr_macro = int(IMPR_MACRO == 'OUI') - jdc.jxveri = int(CODE != None or (DEBUG != None and DEBUG['JXVERI'] == 'OUI')) - jdc.sdveri = int(DEBUG != None and DEBUG['SDVERI'] == 'OUI') - jdc.fico = None - jdc.sd_checker = CheckLog() - jdc.info_level = INFO - jdc.hist_etape = (DEBUG != None and DEBUG['HIST_ETAPE'] == 'OUI') - if CODE != None: - jdc.fico = 'TEST' - if aster_exists: - if LANG: - from Execution.i18n import localization - localization.install(LANG) - # pb en cas d'erreur dans FIN : appeler reset_print_function dans traiter_fin_exec ? - #from functools import partial - #asprint = partial(aster.affiche, 'MESSAGE') - #message.register_print_function(asprint) - # ne faire qu'une fois - if not hasattr(jdc, 'msg_init'): - # messages d'alarmes désactivés - if IGNORE_ALARM: - if not type(IGNORE_ALARM) in (list, tuple): - IGNORE_ALARM = [IGNORE_ALARM] - for idmess in IGNORE_ALARM: - MessageLog.disable_alarm(idmess) - # en POURSUITE, conserver le catalogue de comportement picklé - if not hasattr(jdc, 'catalc'): - from Comportement import catalc - jdc.catalc = catalc - jdc.msg_init = True - - -def DEBUT(self, PAR_LOT, IMPR_MACRO, CODE, DEBUG, IGNORE_ALARM, LANG, INFO, **args): - """ - Fonction sdprod de la macro DEBUT - """ - # La commande DEBUT ne peut exister qu'au niveau jdc - if self.jdc is not self.parent : - raise Accas.AsException("La commande DEBUT ne peut exister qu'au niveau jdc") - commun_DEBUT_POURSUITE(self.jdc, PAR_LOT, IMPR_MACRO, CODE, DEBUG, IGNORE_ALARM, LANG, INFO) - suppr = False - for fname in glob('pick.*') + glob('glob.*'): - try: - UTMESS('I', 'SUPERVIS_4', valk=fname) - os.remove(fname) - suppr = True - except OSError: - UTMESS('A', 'SUPERVIS_5', valk=fname) - if suppr: - UTMESS('I', 'SUPERVIS_6') - -def build_debut(self,**args): - """ - Fonction ops pour la macro DEBUT - """ - self.jdc.UserError=self.codex.error - - if self.jdc.par_lot == 'NON' : - self.jdc._Build() - # On execute la fonction debut pour initialiser les bases - # Cette execution est indispensable avant toute autre action sur ASTER - # op doit être un entier car la fonction debut appelle GCECDU qui demande - # le numéro de l'operateur associé (getoper) - self.definition.op=0 - self.set_icmd(1) - self.codex.debut(self) - # On remet op a None juste apres pour eviter que la commande DEBUT - # ne soit executée dans la phase d'execution - self.definition.op=None - return 0 - -def POURSUITE(self, PAR_LOT, IMPR_MACRO, CODE, DEBUG, IGNORE_ALARM, LANG, INFO, **args): - """ - Fonction sdprod de la macro POURSUITE - """ - # La commande POURSUITE ne peut exister qu'au niveau jdc - if self.jdc is not self.parent : - raise Accas.AsException("La commande POURSUITE ne peut exister qu'au niveau jdc") - - commun_DEBUT_POURSUITE(self.jdc, PAR_LOT, IMPR_MACRO, CODE, DEBUG, IGNORE_ALARM, LANG, INFO) - if aster_exists: - self.jdc.set_poursuite(True) - - if self.codex: - base = 'glob.1' - if aster_exists: - repglob = aster_core.get_option("repglob") - bhdf = osp.join(repglob, 'bhdf.1') - base = osp.join(repglob, 'glob.1') - if not osp.isfile(base) and not osp.isfile(bhdf): - UTMESS('F','SUPERVIS_89') - # Le module d'execution est accessible et glob.1 est present - # Pour eviter de rappeler plusieurs fois la sequence d'initialisation - # on memorise avec l'attribut fichier_init que l'initialisation - # est réalisée - if hasattr(self,'fichier_init'):return - self.fichier_init='glob.1' - self.jdc.initexec() - # le sous programme fortran appelé par self.codex.poursu demande le numéro - # de l'operateur (GCECDU->getoper), on lui donne la valeur 0 - self.definition.op=0 - self.codex.poursu(self) - # Par la suite pour ne pas executer la commande pendant la phase - # d'execution on le remet à None - self.definition.op = None - self.g_context = {} - - # Il peut exister un contexte python sauvegardé sous forme pickled - # On récupère ces objets après la restauration des concepts pour que - # la récupération des objets pickled soit prioritaire. - # On vérifie que les concepts relus dans glob.1 sont bien tous - # presents sous le même nom et du même type dans pick.1 - # Le contexte est ensuite updaté (surcharge) et donc enrichi des - # variables qui ne sont pas des concepts. - # On supprime du pickle_context les concepts valant None, ca peut - # être le cas des concepts non executés, placés après FIN. - UTMESS('I', 'SUPERVIS2_1', valk='pick.1') - pickle_context = get_pickled_context() - if pickle_context == None: - UTMESS('F', 'SUPERVIS_86') - return - self.jdc.restore_pickled_attrs(pickle_context) - # vérification cohérence pick/base - savsign = self.jdc._sign - newsign = self.jdc.signature(base) - if args.get('FORMAT_HDF') == 'OUI': - UTMESS('I', 'SUPERVIS_71') - elif newsign != savsign: - UTMESS('A', 'SUPERVIS_69', valk=(savsign, newsign), - vali=self.jdc.jeveux_sysaddr) - else: - UTMESS('I', 'SUPERVIS_70', valk=newsign, vali=self.jdc.jeveux_sysaddr) - from Cata.cata import entier - from Noyau.N_CO import CO - interrupt = [] - count = 0 - UTMESS('I', 'SUPERVIS_65') - for elem, co in pickle_context.items(): - if isinstance(co, ASSD): - count += 1 - typnam = co.__class__.__name__ - # on rattache chaque assd au nouveau jdc courant (en poursuite) - co.jdc = self.jdc - co.parent = self.jdc - # le marquer comme 'executed' - i_int = '' - if co.executed != 1: - interrupt.append((co.nom, typnam)) - i_int = 'exception' - co.executed = 1 - UTMESS('I', 'SUPERVIS_66', valk=(co.nom, typnam.lower(), i_int)) - # pour que sds_dict soit cohérent avec g_context - self.jdc.sds_dict[elem] = co - if elem != co.nom: - name = re.sub('_([0-9]+)$', '[\\1]', co.nom) - if self.jdc.info_level > 1: - UTMESS('I', 'SUPERVIS2_3', - valk=(elem, type(co).__name__.upper())) - UTMESS('A', 'SUPERVIS_93', valk=(elem, "del %s" % name)) - del pickle_context[elem] - continue - if co == None: - del pickle_context[elem] - if count == 0: - UTMESS('I', 'SUPERVIS_67') - for nom, typnam in interrupt: - UTMESS('I', 'SUPERVIS_76', valk=(nom, typnam)) - if not interrupt: - UTMESS('I', 'SUPERVIS_72') - if self.jdc.info_level > 1: - keys = pickle_context.keys() - keys.sort() - for key in keys: - try: - value = str(pickle_context[key]) - if len(value) > 1000: - value = value[:1000] + '...' - valk = key, value - except: - valk = key, '...' - UTMESS('I', 'SUPERVIS_73', valk=valk) - self.g_context.update(pickle_context) - return - - else: - # Si le module d'execution n est pas accessible ou glob.1 absent on - # demande un fichier (EFICAS) - # Il faut éviter de réinterpréter le fichier à chaque appel de - # POURSUITE - if hasattr(self,'fichier_init'): - return - self.make_poursuite() - -def get_pickled_context(): - """ - Cette fonction permet de réimporter dans le contexte courant du jdc (jdc.g_context) - les objets python qui auraient été sauvegardés, sous forme pickled, lors d'une - précédente étude. Un fichier pick.1 doit être présent dans le répertoire de travail - """ - fpick = 'pick.1' - if not osp.isfile(fpick): - return None - - # Le fichier pick.1 est présent. On essaie de récupérer les objets python sauvegardés - context={} - try: - file=open(fpick, 'rb') - # Le contexte sauvegardé a été picklé en une seule fois. Il est seulement - # possible de le récupérer en bloc. Si cette opération echoue, on ne récupère - # aucun objet. - context = pickle.load(file) - file.close() - except: - # En cas d'erreur on ignore le contenu du fichier - traceback.print_exc() - return None - - return context - -def POURSUITE_context(self,d): - """ - Fonction op_init de la macro POURSUITE - """ - # self représente la macro POURSUITE ... - d.update(self.g_context) - # Une commande POURSUITE n'est possible qu'au niveau le plus haut - # On ajoute directement les concepts dans le contexte du jdc - -def build_poursuite(self,**args): - """ - Fonction ops pour la macro POURSUITE - """ - # Pour POURSUITE on ne modifie pas la valeur initialisee dans ops.POURSUITE - # Il n y a pas besoin d executer self.codex.poursu (c'est deja fait dans - # la fonction sdprod de la commande (ops.POURSUITE)) - self.set_icmd(1) - self.jdc.UserError = self.codex.error - return 0 - -def INCLUDE(self, UNITE, DONNEE, **args): - """Fonction sd_prod pour la macro INCLUDE""" - if not (UNITE or DONNEE) or hasattr(self, '_mark'): - return - self._mark = 1 - if self.jdc and self.jdc.par_lot == 'NON': - # On est en mode commande par commande, on appelle la methode speciale - self.Execute_alone() - if UNITE: - fname = 'fort.%s' % UNITE - else: - fname = DONNEE - if aster_exists: - repdex = aster_core.get_option('repdex') - fname = osp.join(repdex, fname) - try: - if aster_exists: - self.make_include(fname=fname) - else: - # dans eficas - if UNITE: - self.make_include(unite=UNITE) - else: - self.make_include(fname=fname) - except Accas.AsException: - if aster_exists: - UTMESS('F+', 'FICHIER_1', valk=fname) - UTMESS('F', 'FICHIER_2') - raise - -def INCLUDE_context(self,d): - """Fonction op_init pour macro INCLUDE""" - ctxt = self.g_context - d.update(ctxt) - -def build_include(self,**args): - """Fonction ops de la macro INCLUDE appelée lors de la phase de Build""" - # Pour presque toutes les commandes (sauf FORMULE et POURSUITE) - # le numéro de la commande n est pas utile en phase de construction - # La macro INCLUDE ne sera pas numérotée (incrément=None) - ier=0 - self.set_icmd(None) - # On n'execute pas l'ops d'include en phase BUILD car il ne sert a rien. - #ier=self.codex.opsexe(self,1) - return ier - -def _detr_list_co(self, context): - """Utilitaire pour DETRUIRE""" - list_co = set() - # par nom de concept (typ=assd) - for mc in self['CONCEPT'] or []: - list_co.update(force_list(mc["NOM"])) - # par chaine de caractères (typ='TXM') - for mc in self['OBJET'] or []: - # longueur <= 8, on cherche les concepts existants - for nom in force_list(mc['CHAINE']): - assert type(nom) in (str, unicode), 'On attend une chaine de caractères : %s' % nom - if len(nom.strip()) <= 8: - if self.jdc.sds_dict.get(nom) != None: - list_co.add(self.jdc.sds_dict[nom]) - elif context.get(nom) != None: - list_co.add(context[nom]) - #else uniquement destruction des objets jeveux - return list_co - -def DETRUIRE(self, CONCEPT, OBJET, **args): - """Fonction OPS pour la macro DETRUIRE : exécution réelle.""" - # pour les formules, il ne faut pas vider l'attribut "parent_context" trop tôt - for co in _detr_list_co(self, {}): - co.supprime(force=True) - self.set_icmd(1) - ier = self.codex.opsexe(self, 7) - return ier - -def build_detruire(self, d): - """Fonction op_init de DETRUIRE.""" - # d est le g_context du jdc ou d'une macro - #message.debug(SUPERV, "id(d) : %s", id(d)) - for co in _detr_list_co(self, d): - assert isinstance(co, ASSD), 'On attend un concept : %s (type=%s)' % (co, type(co)) - nom = co.nom - #message.debug(SUPERV, "refcount_1(%s) = %d", nom, sys.getrefcount(co)) - # traitement particulier pour les listes de concepts, on va mettre à None - # le terme de l'indice demandé dans la liste : - # nomconcept_i est supprimé, nomconcept[i]=None - i = nom.rfind('_') - if i > 0 and not nom.endswith('_'): - concept_racine = nom[:i] - if d.has_key(concept_racine) and type(d[concept_racine]) is list: - try: - num = int(nom[i+1:]) - d[concept_racine][num] = None - except (ValueError, IndexError): - # cas : RESU_aaa ou (RESU_8 avec RESU[8] non initialisé) - pass - # pour tous les concepts : - if d.has_key(nom): - del d[nom] - if self.jdc.sds_dict.has_key(nom): - del self.jdc.sds_dict[nom] - # "suppression" du concept - co.supprime() - # On signale au parent que le concept n'existe plus après l'étape self - self.parent.delete_concept_after_etape(self, co) - # marque comme détruit == non executé - co.executed = 0 - - -def build_procedure(self,**args): - """ - Fonction ops de la macro PROCEDURE appelée lors de la phase de Build - """ - ier=0 - # Pour presque toutes les commandes (sauf FORMULE et POURSUITE) - # le numéro de la commande n est pas utile en phase de construction - # On ne numérote pas une macro PROCEDURE (incrément=None) - self.set_icmd(None) - #ier=self.codex.opsexe(self,3) - return ier - -def build_DEFI_FICHIER(self,**args): - """ - Fonction ops de la macro DEFI_FICHIER - """ - self.set_icmd(1) - ier = self.codex.opsexe(self, 26) - return ier - -def build_formule(self, d): - """Fonction ops de FORMULE.""" - NOM_PARA = self.etape['NOM_PARA'] or '' - VALE = self.etape['VALE'] - VALE_C = self.etape['VALE_C'] - if type(NOM_PARA) not in (list, tuple): - NOM_PARA = [NOM_PARA, ] - for para in NOM_PARA: - if para.strip() != para: - raise Accas.AsException("nom de paramètre invalide (contient des blancs)" \ - " : %s" % repr(para)) - if self.sd == None: - return - if VALE != None : - texte = ''.join(VALE.splitlines()) - elif VALE_C != None : - texte = ''.join(VALE_C.splitlines()) - self.sd.setFormule(NOM_PARA, texte.strip()) - -def build_gene_vari_alea(self, d): - """Fonction ops de la macro GENE_VARI_ALEA.""" - from Utilitai.Utmess import UTMESS - a = self.etape['BORNE_INF'] - moyen = self.etape['VALE_MOY' ] - TYPE = self.etape['TYPE'] - if self['INIT_ALEA'] is not None: - jump = self.etape['INIT_ALEA' ] - self.iniran(jump) - if TYPE == 'EXP_TRONQUEE': - b = self.etape['BORNE_SUP'] - if a >= b: - UTMESS('F', 'PROBA0_1', valr=[a, b]) - elif moyen <= a or moyen >= b: - UTMESS('F', 'PROBA0_2', valr=[a, moyen, b]) - k = 1. / (moyen - a) - if exp(-b * k) < 1.e-12: - UTMESS('F', 'PROBA0_3') - # résolution par point fixe - eps = 1.E-4 - nitmax = 100000 - test = 0. - while abs((test - k) / k) > eps: - test = k - k = 1. / (moyen - (a * exp(-a * k) - b * exp(-b * k)) / \ - (exp(-a * k) - exp(-b * k))) - # génération de la variable aléatoire - alpha = exp(-a * k) - exp(-b * k) - self.sd.valeur = -(log(exp(-a * k) - alpha * self.getran()[0])) / k - elif TYPE == 'EXPONENTIELLE': - if moyen <= a: - UTMESS('F', 'PROBA0_4', valr=[moyen, a]) - v = moyen - a - u = self.getran()[0] - x = -log(1 - u) - self.sd.valeur = a + v * x - elif TYPE == 'GAMMA': - delta = self.etape['COEF_VAR' ] - if moyen <= a: - UTMESS('F', 'PROBA0_4', valr=[moyen, a]) - v = moyen - a - alpha = 1. / delta**2 - if alpha <= 1.: - UTMESS('F', 'PROBA0_5') - gamma2 = alpha - 1. - gamm1 = 1. / gamma2 - beta = sqrt(2. * alpha - 1.) - beta2 = 1. / beta**2 - f0 = 0.5 + (1. / pi) * atan2(-gamma2 / beta, 1.) - c1 = 1. - f0 - c2 = f0 - 0.5 - vref = 0. - vv = -1. - while -vv > vref: - u = self.getran()[0] - gamdev = beta * tan(pi * (u * c1 + c2)) + gamma2 - unif = self.getran()[0] - if unif < 0.: - UTMESS('F', 'PROBA0_6') - vv = -log(unif) - vref = log(1 + beta2 * ((gamdev - gamma2)**2)) \ - + gamma2 * log(gamdev * gamm1) - gamdev + gamma2 - if vv <= 0.: - UTMESS('F', 'PROBA0_7') - self.sd.valeur = a + v * delta**2 * gamdev diff --git a/OldCodes/Aster/__init__.py b/OldCodes/Aster/__init__.py deleted file mode 100644 index 8ed65e16..00000000 --- a/OldCodes/Aster/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# diff --git a/OldCodes/Aster/alphasdist.py b/OldCodes/Aster/alphasdist.py deleted file mode 100644 index f3e6cab5..00000000 --- a/OldCodes/Aster/alphasdist.py +++ /dev/null @@ -1,147 +0,0 @@ -# -*- coding: utf-8 -*- -""" - Ce module sert à construire les distributions de versions alpha d'EFICAS en fonction - du tag CVS courant (Vx_yaz). Une version alpha est une version dont toutes les fonctionnalités - ne sont pas implémentées. On utilise pour ces versions, les packages Noyau Validation Cata et Macro - locaux. - Les distributions sont : - - un tar.gz pour UNIX ne contenant pas mxTextTools - - un zip pour Windows contenant mx TextTools préinstallé - L'utilisation de ce module est la suivante : - 1- Se mettre dans un répertoire de travail - 2- Configurer son environnement pour utiliser le référentiel CVS EFICAS - 3- Exporter les sources d'Eficas par la commande : - cvs export -r TAG -d Eficas_export EficasV1_2 - ou TAG est le tag CVS de la version que l'on veut distribuer (par exemple V1_3a1) - 4- Aller dans le répertoire Eficas_export - 4- Executer le script alphasdist.py - python alphasdist.py - Ce qui a pour effet de creer un repertoire dist contenant les 2 distributions - et de les copier dans le répertoire indiqué par dir_download s'il est accessible - -""" -import os,shutil,glob,sys -import types - -version="$Name: V7_main $"[7:-2] or 'Test1_4' -# ==========Path du noyau local ==================== -path_Noyau=".." -# ============================================================ -nom_distrib="Eficas"+version+"AsterSTA8" -path_distrib=os.path.join("dist",nom_distrib) -path_TextTools="/home/eficas/pkg/mxTools/egenix2.0.2pourWindows/mx/TextTools" -dir_download= "/home/eficas/WWW/telechargement/eficas" - -def main(): - if os.path.isdir('dist'):shutil.rmtree('dist') - - copyfiles('.',path_distrib,['LICENSE.TERMS','INSTALL']) - - copyfiles('../Editeur',os.path.join(path_distrib,'Editeur'),['*.py','faqs.txt']) - copyfiles('../Traducteur',os.path.join(path_distrib,'Traducteur'),['*.py']) - copyfiles('../Ihm',os.path.join(path_distrib,'Ihm'),['*.py']) - copyfiles('../Extensions',os.path.join(path_distrib,'Extensions'),['*.py']) - copyfiles('../Misc',os.path.join(path_distrib,'Misc'),['*.py']) - copyfiles('../Accas',os.path.join(path_distrib,'Accas'),['*.py']) -# Packages globaux (pour toutes les versions sauf surcharge) - copyfiles('../Aster/Cata',os.path.join(path_distrib,'Aster','Cata'),['*.py', ]) - copyfiles('Cata/Utilitai',os.path.join(path_distrib,'Aster','Cata','Utilitai'),['*.py']) - copyfiles('Cata/pre74',os.path.join(path_distrib,'Aster','Cata','pre74'),['*.py']) -# version 5 -# On enleve la V5 a la demande d AMA -# copyfiles('Cata/cataSTA5',os.path.join(path_distrib,'Aster','Cata','cataSTA5'),['*.py']) -#version 6 - copyfiles('Cata/cataSTA6',os.path.join(path_distrib,'Aster','Cata','cataSTA6'),['*.py']) - copyfiles('Cata/cataSTA6/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA6','Macro'),['*.py']) -#version 7.3 -# copyfiles('Cata/cataSTA73',os.path.join(path_distrib,'Aster','Cata','cataSTA73'),['*.py']) -# copyfiles('Cata/cataSTA73/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA73','Macro'),['*.py']) -#version 7.6 - copyfiles('Cata/cataSTA76',os.path.join(path_distrib,'Aster','Cata','cataSTA76'),['*.py']) - copyfiles('Cata/cataSTA76/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA76','Macro'),['*.py']) -#version 8 - copyfiles('Cata/cataSTA8',os.path.join(path_distrib,'Aster','Cata','cataSTA8'),['*.py']) - copyfiles('Cata/cataSTA8/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA8,'Macro'),['*.py']) - - copyfiles('../AIDE',os.path.join(path_distrib,'AIDE'),['*.py']) - copyfiles('../AIDE/fichiers',os.path.join(path_distrib,'AIDE','fichiers'),['*']) - copyfiles('../Aster',os.path.join(path_distrib,'Aster'),['prefs.py', - 'editeur.ini', - 'properties.py', - 'eficas_aster.py', - 'style.py', - ]) - copyfiles('../Aster/Cata',os.path.join(path_distrib,'Aster'),['aster.py',]) - copyfiles('../convert',os.path.join(path_distrib,'convert'),['*.py']) - copyfiles('../convert/Parserv5',os.path.join(path_distrib,'convert','Parserv5'),['*.py']) - - copyfiles('../generator',os.path.join(path_distrib,'generator'),['*.py']) - - copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.gif']) - copyfiles('../Editeur/Patrons',os.path.join(path_distrib,'Editeur','Patrons'),['*.com*']) - - copyfiles(os.path.join(path_Noyau,'Noyau'),os.path.join(path_distrib,'Noyau'),['*.py']) - copyfiles(os.path.join(path_Noyau,'Validation'),os.path.join(path_distrib,'Validation'),['*.py']) - - copyfiles('../Tools',os.path.join(path_distrib,'Tools'),['*.py']) - copyfiles('../Tools/foztools',os.path.join(path_distrib,'Tools','foztools'),['*.py']) - copyfiles('../Pmw',os.path.join(path_distrib,'Pmw'),['*.py']) - copyfiles('../Pmw/Pmw_1_2',os.path.join(path_distrib,'Pmw','Pmw_1_2'),['*.py']) - copyfiles('../Pmw/Pmw_1_2/lib',os.path.join(path_distrib,'Pmw','Pmw_1_2','lib'),['*.py','Pmw.def']) - - tarball= maketarball('dist',nom_distrib,nom_distrib) - try: - shutil.copy(tarball,dir_download) - except: - print "Repertoire de download inconnu : ",dir_download - - try: - shutil.copytree(path_TextTools,os.path.join(path_distrib,'Tools','TextTools')) - except: - print "Impossible de recuperer mxTextTools : ",dir_download - sys.exit(1) - - zipfile= makezipfile('dist',nom_distrib,nom_distrib) - try: - shutil.copy(zipfile,dir_download) - except: - print "Repertoire de download inconnu : ",dir_download - -def make_dir(dir_cible): - if type(dir_cible) is not types.StringType: - raise "make_dir : dir_cible doit etre une string (%s)" % `dir_cible` - head,tail=os.path.split(dir_cible) - tails=[tail] - while head and tail and not os.path.isdir(head): - head,tail=os.path.split(head) - tails.insert(0, tail) - - for d in tails: - head = os.path.join(head, d) - if not os.path.isdir(head):os.mkdir(head) - - -def copyfiles(dir_origin,dir_cible,listfiles): - if not os.path.isdir(dir_cible):make_dir(dir_cible) - for glob_files in listfiles: - for file in glob.glob(os.path.join(dir_origin,glob_files)): - if os.path.isfile(file):shutil.copy(file,dir_cible) - -def maketarball(dir_trav,dir_cible,nom_tar): - prev=os.getcwd() - print prev - os.chdir(dir_trav) - os.system("tar -cf "+nom_tar+".tar "+dir_cible) - os.system("gzip -f9 "+nom_tar+".tar ") - os.chdir(prev) - return os.path.join(dir_trav,nom_tar+".tar.gz") - -def makezipfile(dir_trav,dir_cible,nom_tar): - prev=os.getcwd() - os.chdir(dir_trav) - os.system("zip -rq "+nom_tar+".zip "+dir_cible) - os.chdir(prev) - return os.path.join(dir_trav,nom_tar+".zip") - -main() - diff --git a/OldCodes/Aster/configuration_ASTER.py b/OldCodes/Aster/configuration_ASTER.py deleted file mode 100644 index 4851738f..00000000 --- a/OldCodes/Aster/configuration_ASTER.py +++ /dev/null @@ -1,42 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -""" - Ce module sert pour charger les parametres de configuration d'EFICAS -""" -# Modules Python -import configuration -import os - - -class CONFIG(configuration.CONFIG_BASE): - - #----------------------------------- - def __init__(self,appli,repIni): - #----------------------------------- - - self.labels_user=['exec_acrobat', 'catalogues','savedir','lang'] - self.labels_eficas=['path_doc','exec_acrobat','lang','rep_cata','catalogues'] - - configuration.CONFIG_BASE.__init__(self,appli,repIni) - - -def make_config(appli,rep): - return CONFIG(appli,rep) - diff --git a/OldCodes/Aster/eficasManager.py b/OldCodes/Aster/eficasManager.py deleted file mode 100644 index 922e5fed..00000000 --- a/OldCodes/Aster/eficasManager.py +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env python -# -*- coding: iso-8859-1 -*- -# -# This module helps you to dynamically add a catalog in the list of -# Aster catalogs and then start Eficas with this catalog -# -# WARN: this requires that and /Aster are -# both in the PYTHONPATH -# -# WARN: This python module is a prototype. For industrial usage, it -# should be integrated in a package outside from the Aster specific -# package ==> define a generic prefs -# -# (gboulant - 23/03/2012) - -import sys -sys.path.append("..") - -# =================================================================== -# This part is to manage the catalog that defines the data structure -import prefs_ASTER -def addCatalog(catalogName, catalogPath): - """ - Function to add a catalog caraterized by a name (for the -c option - of the command line) and a path (the location of the python module - that corresponds to the catalog). - """ - prefs_ASTER.addCatalog(catalogName, catalogPath) - -import sys -import prefs -from InterfaceQT4 import eficas_go -def start(catalogName=None): - """ - This simply start Eficas as usual, and passing the catalog name as - an argument if not already present on the command line. - """ - if catalogName is not None and not "-c" in sys.argv: - # The catalogName can be consider as the -c option - sys.argv.append("-c") - sys.argv.append(catalogName) - eficas_go.lance_eficas(code=prefs.code) - -# =================================================================== -# This part is to manage the data saved from Eficas to comm file. -# The text contained in a comm file defines a JdC ("Jeu de Commandes"). - -def loadJdc(filename): - """ - This function loads the text from the specified JdC file. A JdC - file is the persistence file of Eficas (*.comm). - """ - fcomm=open(filename,'r') - jdc = "" - for line in fcomm.readlines(): - jdc+="%s"%line - - # Warning, we have to make sure that the jdc comes as a simple - # string without any extra spaces/newlines - return jdc.strip() - -def getJdcParameters(jdc,macro): - """ - This function converts the data from the specified macro of the - specified jdc text to a python dictionnary whose keys are the - names of the data of the macro. - """ - context = {} - source = "def args_to_dict(**kwargs): return kwargs \n" - source+= "%s = _F = args_to_dict \n"%macro - source+= "parameters="+jdc+" \n" - source+= "context['parameters'] = parameters \n" - #print source - code = compile(source, 'file.py', 'exec') - eval(code) - parameters = context['parameters'] - return parameters - -# -# =========================================================== -# Unit tests -# =========================================================== -# -def TEST_start(): - addCatalog(catalogName="demo", catalogPath="mycata.py") - #start() - start("demo") - -def TEST_getJdcParameters_fromString(): - jdc="S_EP_INTERNE(dir_name='/tmp', \n \ - TYPE_SEP='TUBE_SOUS_EPAISSEUR', \n \ - MAIL_TUBE=_F(UNITE_LONGUEUR='MM', \n \ - R_EXT=130., \n \ - EP_NOMINALE=22.0, \n \ - NB_SEG_AMORTISSEMENT=11, \n \ - NB_SEG_TRANSITION=4, \n \ - NB_SEG_GENERATRICES=5, \n \ - DIST_PTS_GEN_MIN=100.0, \n \ - NB_SEG_GEN_MIN=3, \n \ - NB_SEG_ARC=5, \n \ - NB_SEG_EP=3,),);" - - parameters=getJdcParameters(jdc,"S_EP_INTERNE") - print "parameters = ",parameters - print parameters['MAIL_TUBE']['R_EXT'] - - -def TEST_getJdcParameters_fromFile(): - jdc = loadJdc('data.comm') - parameters=getJdcParameters(jdc,"EPREUVE_ENCEINTE") - print parameters - - -if __name__ == "__main__": - TEST_start() - TEST_getJdcParameters_fromString() - TEST_getJdcParameters_fromFile() diff --git a/OldCodes/Aster/eficas_aster.py b/OldCodes/Aster/eficas_aster.py deleted file mode 100755 index bc668a5b..00000000 --- a/OldCodes/Aster/eficas_aster.py +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -""" - Ce module sert à lancer EFICAS configuré pour Code_Aster -""" -# Modules Python - -# Modules Eficas -import prefs -name='prefs_'+prefs.code -__import__(name) - -from InterfaceTK import eficas_go - -eficas_go.lance_eficas(code=prefs.code) diff --git a/OldCodes/Aster/prefs.py b/OldCodes/Aster/prefs.py deleted file mode 100644 index b4663f8f..00000000 --- a/OldCodes/Aster/prefs.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -code="ASTER" -import sys, os -if os.path.dirname(os.path.abspath(__file__)) not in sys.path : - sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/OldCodes/Aster/prefs_ASTER.py b/OldCodes/Aster/prefs_ASTER.py deleted file mode 100644 index f9aa732c..00000000 --- a/OldCodes/Aster/prefs_ASTER.py +++ /dev/null @@ -1,66 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# - -import os - -# repIni sert a localiser le fichier editeur.ini -# Obligatoire -repIni=os.path.dirname(os.path.abspath(__file__)) -rep_cata = os.path.join(repIni,'Cata') -mode_nouv_commande='alpha' - - -# lang indique la langue utilisee pour les chaines d'aide : fr ou ang -lang='fr' - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -encoding='iso-8859-1' - -# Utilisateur/Developpeur -isdeveloppeur = "NON" - -rep_mat_STA88=os.path.join(rep_cata,'cataSTA8','materiau') -rep_mat_STA98=os.path.join(rep_cata,'cataSTA9','materiau') -rep_mat_STA103=os.path.join(rep_cata,'cataSTA10','materiau') - -#path_doc="/local/noyret/Docs" -rep_doc_STA88="/local/noyret/Docs" -rep_doc_STA103="/local/noyret/Docs" -rep_doc_STA11="/local/noyret/Docs/cataSTA11c_clefs_docu" - -# Choix des catalogues -catalogues=( -#('ASTER','STA8.8',os.path.join(rep_cata,'cataSTA8'),'python'), -#('ASTER','STA9.8',os.path.join(rep_cata,'cataSTA9'),'python'), -#('ASTER','STA10.3',os.path.join(rep_cata,'cataSTA10'),'python'), -#('ASTER','STA11',os.path.join(rep_cata,'cataSTA11'),'python','defaut'), -('ASTER','STA12',os.path.join(rep_cata,'cataSTA12'),'python','defaut'), -) -exec_acrobat = '/usr/bin/xgd-open' - - -def addCatalog(catalogName, catalogPath): - """ - This function helps you to add a new catalog dynamically - """ - global catalogues - item=('ASTER',catalogName,catalogPath,'python') - catalogues+=(item,) - diff --git a/OldCodes/Aster/properties.py b/OldCodes/Aster/properties.py deleted file mode 100644 index 3e8be170..00000000 --- a/OldCodes/Aster/properties.py +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -version = "10.1.27" -date = "02/06/2010" -exploit = False diff --git a/OldCodes/Aster/qtEficas_aster.py b/OldCodes/Aster/qtEficas_aster.py deleted file mode 100755 index f49b9bcb..00000000 --- a/OldCodes/Aster/qtEficas_aster.py +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -""" - Ce module sert a lancer EFICAS configure pour Code_Aster -""" -# Modules Python -# Modules Eficas - -import sys,os -sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) - -import prefs -from InterfaceQT4 import eficas_go -eficas_go.lance_eficas(code=prefs.code) diff --git a/OldCodes/Aster/qtGroup.py b/OldCodes/Aster/qtGroup.py deleted file mode 100755 index 308eda6b..00000000 --- a/OldCodes/Aster/qtGroup.py +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -""" - Ce module sert à lancer EFICAS configuré pour Code_Aster -""" -# Modules Python -import sys,os - -# Modules Eficas -import prefs -name='prefs_'+prefs.code -__import__(name) - - -sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) -from InterfaceQT4 import eficas_go - -eficas_go.lance_eficas_ssIhm_cherche_Groupes(code=prefs.code,version='STA10.3') diff --git a/OldCodes/Aster/reecrit_comm.py b/OldCodes/Aster/reecrit_comm.py deleted file mode 100755 index eac5d59c..00000000 --- a/OldCodes/Aster/reecrit_comm.py +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -""" - Ce module sert a lancer EFICAS configure pour Code_Aster -""" -# Modules Python -import sys,os - -# Modules Eficas -import prefs -if hasattr(prefs,'encoding'): - # Hack pour changer le codage par defaut des strings - import sys - reload(sys) - sys.setdefaultencoding(prefs.encoding) - del sys.setdefaultencoding - # Fin hack - - -sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) -from InterfaceQT4 import eficas_go - -if len(sys.argv) > 1 : - # on veut ouvrir un fichier directement au lancement d'Eficas - eficas_go.lance_eficas_ssIhm_reecrit(code='ASTER',fichier = sys.argv[1],version='STA11') diff --git a/OldCodes/Aster/sdist.py b/OldCodes/Aster/sdist.py deleted file mode 100644 index a626f377..00000000 --- a/OldCodes/Aster/sdist.py +++ /dev/null @@ -1,180 +0,0 @@ -# -*- coding: utf-8 -*- -""" - Ce module sert à construire les distributions d'EFICAS en fonction - du tag CVS courant - Les distributions sont : - - un tar.gz pour UNIX ne contenant pas mxTextTools - - un zip pour Windows contenant mx TextTools préinstallé - L'utilisation de ce module est la suivante : - 1- Se mettre dans un répertoire de travail - 2- Configurer son environnement pour utiliser le référentiel CVS EFICAS - 3- Exporter les sources d'EficasV1 par la commande : - cvs export -r TAG -d Eficas_export EficasV1 - ou TAG est le tag CVS de la version que l'on veut distribuer (par exemple V1_1p1) - 4- Copier le répertoire fourni par Aster (ACCAS6.2.0) au meme niveau que Eficas_export - 5- Aller dans le répertoire Eficas_export - 6- Executer le script sdist.py - python sdist.py - Ce qui a pour effet de creer un repertoire dist contenant les 2 distributions - et de les copier dans le répertoire indiqué par dir_download s'il est accessible - -""" -import os,shutil,glob,sys -import types - -version="$Name: V7_main $"[7:-2] or 'Test1_4' -# ==========Path du noyau fourni par Aster==================== -path_Noyau="../../AccasAster" -# ============================================================ -nom_distrib="Eficas"+version -path_distrib=os.path.join("dist",nom_distrib) -path_TextTools="/home/eficas/pkg/mxTools/egenix2.0.2pourWindows/mx/TextTools" -dir_download= "/home/eficas/WWW/telechargement/eficas" - -def main(): - if os.path.isdir('dist'):shutil.rmtree('dist') - - copyfiles('.',path_distrib,['LICENSE.TERMS','INSTALL','NEWS']) - - copyfiles('../Editeur',os.path.join(path_distrib,'Editeur'),['*.py','faqs.txt']) - copyfiles('../InterfaceTK',os.path.join(path_distrib,'InterfaceTK'),['*.py','faqs.txt']) - copyfiles('../InterfaceQT4',os.path.join(path_distrib,'InterfaceQT4'),['*.py']) - copyfiles('../UiQT4',os.path.join(path_distrib,'UiQT4'),['*.ui','makefile']) - copyfiles('../Traducteur',os.path.join(path_distrib,'Traducteur'),['*.py']) - copyfiles('../Ihm',os.path.join(path_distrib,'Ihm'),['*.py']) - copyfiles('../Extensions',os.path.join(path_distrib,'Extensions'),['*.py']) - copyfiles('../Misc',os.path.join(path_distrib,'Misc'),['*.py']) - copyfiles('../Accas',os.path.join(path_distrib,'Accas'),['*.py']) - # AIDE - copyfiles('../Aide',os.path.join(path_distrib,'Aide'),['*_ASTER.adp']) - copyfiles('../Aide/fichiers_ASTER',os.path.join(path_distrib,'Aide','fichiers_ASTER'),['*']) - #pour Aster TK - copyfiles('../AIDE',os.path.join(path_distrib,'AIDE'),['*.py']) - copyfiles('../AIDE/fichiers',os.path.join(path_distrib,'AIDE','fichiers'),['*']) - copyfiles('.',os.path.join(path_distrib,'AIDE','fichiers'),['INSTALL','NEWS']) - copyfiles('../Editeur',os.path.join(path_distrib,'AIDE','fichiers'),['faqs.txt']) - # Code_Aster - copyfiles('../Aster',os.path.join(path_distrib,'Aster'),['prefs.py', - 'prefs_ASTER.py', - 'editeur.ini', - 'editeur_salome.ini', - 'eficas_aster.py', - 'qtEficas_aster.py', - 'configuration.py', - 'configuration_ASTER.py', - 'test_eficas.py', - 'style.py', - '__init__.py' - ]) - - # Les Catalogues, Macros, Materiaux et SD - # copyfiles('Cata/Utilitai',os.path.join(path_distrib,'Aster','Cata','Utilitai'),['*.py']) - # copyfiles('Cata/pre74',os.path.join(path_distrib,'Aster','Cata','pre74'),['*.py']) - - #copyfiles('Cata/cataSTA6',os.path.join(path_distrib,'Aster','Cata','cataSTA6'),['*.py']) - #copyfiles('Cata/cataSTA6/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA6','Macro'),['*.py']) - - #copyfiles('Cata/cataSTA7',os.path.join(path_distrib,'Aster','Cata','cataSTA7'),['*.py']) - #copyfiles('Cata/cataSTA7/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA7','Macro'),['*.py']) - #copyfiles('Cata/cataSTA7/materiau',os.path.join(path_distrib,'Aster','Cata','cataSTA7/materiau'),['README.py']) - - copyfiles('Cata/cataSTA8',os.path.join(path_distrib,'Aster','Cata','cataSTA8'),['*.py']) - copyfiles('Cata/cataSTA8/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA8/Macro'),['*.py']) - copyfiles('Cata/cataSTA8/materiau',os.path.join(path_distrib,'Aster','Cata','cataSTA8/materiau'),['README.py']) - - copyfiles('Cata/cataSTA9',os.path.join(path_distrib,'Aster','Cata','cataSTA9'),['*.py']) - copyfiles('Cata/cataSTA9/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA9/Macro'),['*.py']) - copyfiles('Cata/cataSTA9/materiau',os.path.join(path_distrib,'Aster','Cata','cataSTA9/materiau'),['README.py']) - copyfiles('Cata/cataSTA9/SD',os.path.join(path_distrib,'Aster','Cata','cataSTA9/SD'),['*.py']) - - copyfiles('Cata/cataSTA10',os.path.join(path_distrib,'Aster','Cata','cataSTA10'),['*.py']) - copyfiles('Cata/cataSTA10/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA10/Macro'),['*.py']) - #copyfiles('Cata/cataSTA10/materiau',os.path.join(path_distrib,'Aster','Cata','cataSTA10/materiau'),['README.py']) - copyfiles('Cata/cataSTA10/SD',os.path.join(path_distrib,'Aster','Cata','cataSTA10/SD'),['*.py']) - - copyfiles('Cata',os.path.join(path_distrib,'Aster','Cata'),['*9c_clefs_docu']) - copyfiles('../Aster/Cata',os.path.join(path_distrib,'Aster'),['aster.py',]) - - # ______________________ - - copyfiles('../convert',os.path.join(path_distrib,'convert'),['*.py']) - copyfiles('../convert/Parserv5',os.path.join(path_distrib,'convert','Parserv5'),['*.py']) - copyfiles('../generator',os.path.join(path_distrib,'generator'),['*.py']) - copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.gif','*.png']) - copyfiles('../Editeur/Patrons',os.path.join(path_distrib,'Editeur','Patrons'),['*.com*']) - copyfiles('../Editeur/Patrons/ASTER',os.path.join(path_distrib,'Editeur','Patrons','ASTER'),['*.com*']) - - copyfiles(os.path.join(path_Noyau,'Noyau'),os.path.join(path_distrib,'Noyau'),['*.py']) - copyfiles(os.path.join(path_Noyau,'Validation'),os.path.join(path_distrib,'Validation'),['*.py']) - copyfiles(os.path.join(path_Noyau,'Accas'),os.path.join(path_distrib,'Aster'),['properties.py']) - copyfiles(os.path.join(path_Noyau,'Cata'),os.path.join(path_distrib,'Aster','Cata'),['__init__.py',]) - copyfiles(os.path.join(path_Noyau,'Macro'),os.path.join(path_distrib,'Aster','Cata','cataSTA9','Macro'),['.py']) - #os.system("mv "+path_distrib+"/Aster/Cata/cata_STA9.py "+path_distrib+"/Aster/Cata/cataSTA9/cata.py") - - copyfiles('../Tools',os.path.join(path_distrib,'Tools'),['*.py']) - copyfiles('../Tools/foztools',os.path.join(path_distrib,'Tools','foztools'),['*.py']) - copyfiles('../Pmw',os.path.join(path_distrib,'Pmw'),['*.py']) - copyfiles('../Pmw/Pmw_1_2',os.path.join(path_distrib,'Pmw','Pmw_1_2'),['*.py']) - copyfiles('../Pmw/Pmw_1_2/lib',os.path.join(path_distrib,'Pmw','Pmw_1_2','lib'),['*.py','Pmw.def']) - - - tarball= maketarball('dist',nom_distrib,nom_distrib) - try: - shutil.copy(tarball,dir_download) - except: - print "Repertoire de download inconnu : ",dir_download - - shutil.copy('prefs.py.win',os.path.join(path_distrib,'Aster','prefs.py')) - shutil.copy('editeur.ini.win',os.path.join(path_distrib,'Aster','editeur.ini')) - - try: - shutil.copytree(path_TextTools,os.path.join(path_distrib,'Tools','TextTools')) - except: - print "Impossible de recuperer mxTextTools : ",dir_download - sys.exit(1) - - zipfile= makezipfile('dist',nom_distrib,nom_distrib) - try: - shutil.copy(zipfile,dir_download) - except: - print "Repertoire de download inconnu : ",dir_download - -def make_dir(dir_cible): - if type(dir_cible) is not types.StringType: - raise "make_dir : dir_cible doit etre une string (%s)" % `dir_cible` - head,tail=os.path.split(dir_cible) - tails=[tail] - while head and tail and not os.path.isdir(head): - head,tail=os.path.split(head) - tails.insert(0, tail) - - for d in tails: - head = os.path.join(head, d) - if not os.path.isdir(head):os.mkdir(head) - - -def copyfiles(dir_origin,dir_cible,listfiles): - if not os.path.isdir(dir_cible):make_dir(dir_cible) - for glob_files in listfiles: - for file in glob.glob(os.path.join(dir_origin,glob_files)): - shutil.copy(file,dir_cible) - - -def maketarball(dir_trav,dir_cible,nom_tar): - prev=os.getcwd() - print prev - os.chdir(dir_trav) - os.system("tar -cf "+nom_tar+".tar "+dir_cible) - os.system("gzip -f9 "+nom_tar+".tar ") - os.chdir(prev) - return os.path.join(dir_trav,nom_tar+".tar.gz") - -def makezipfile(dir_trav,dir_cible,nom_tar): - prev=os.getcwd() - os.chdir(dir_trav) - os.system("zip -rq "+nom_tar+".zip "+dir_cible) - os.chdir(prev) - return os.path.join(dir_trav,nom_tar+".zip") - -main() - diff --git a/OldCodes/Aster/style.py b/OldCodes/Aster/style.py deleted file mode 100644 index 7ee50545..00000000 --- a/OldCodes/Aster/style.py +++ /dev/null @@ -1,84 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -""" -Pour modifier le style d'EFICAS il faut ajouter un fichier style.py qui contiendra les -informations sur le style voulu dans son repertoire Eficas_install. - -La methode la plus simple consiste à modifier directement les attributs de l'objet style dans le -fichier style.py d'Eficas_install. Exemple:: - - style.background='yellow' - -pour modifier la couleur du background. - -Il existe une autre méthode qui peut être utilisée quand on veut modifier plusieurs propriétés à la fois. - -Le fichier style.py doit définir une nouvelle classe qui dérive de la classe de base STYLE avec des attributs -de classe qui définiront le nouveau style (par exemple, si on veut modifier le background):: - - class STYLE(STYLE): - background='yellow' - -Il faut ensuite instancier cette classe, dans ce meme fichier, en donnant le nom style à l'objet cree:: - - style=STYLE() - -Tous les attributs de classe possibles sont visibles dans le module Editeur/basestyle.py:: - - background='gray90' - foreground='black' - entry_background='white' - list_background='white' - list_select_background='#00008b' - list_select_foreground='grey' - tooltip_background="yellow" - - standard = ("Helvetica",12) - standard_italique = ("Helvetica",12,'italic') - standard_gras = ("Helvetica",12,'bold') - standard_gras_souligne = ("Helvetica",12,'bold','underline') - - canvas = ('Helvetica',10) - canvas_italique = ('Helvetica',10,'italic') - canvas_gras = ("Helvetica",10,'bold') - canvas_gras_italique = ("Helvetica",12,'bold','italic') - - standard12 = ("Helvetica",14) - standard12_gras = ("Helvetica",14,'bold') - standard12_gras_italique = ( "Helvetica",14,'bold','italic') - - -Le fichier style.py contenu dans le répertoire Aster permet de spécifier des propriétés globales pour une installation. -Les modifications de style contenues dans ce fichier et dans le fichier style.py d'Eficas_install -sont prises en compte dans cet ordre. -""" - -p1=10 -p2=14 -f1="Helvetica" - -style.background='gray90' -style.foreground='black' -style.standard = (f1,p1) -style.standard_italique = (f1,p1,'italic') -style.standard_gras = (f1,p1,'bold') -style.canvas_italique = (f1,p1,'italic') -style.canvas_gras = (f1,p1,'bold') -style.statusfont = (f1,p2) diff --git a/OldCodes/Aster/test_eficas.py b/OldCodes/Aster/test_eficas.py deleted file mode 100755 index 5ccac45c..00000000 --- a/OldCodes/Aster/test_eficas.py +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -""" - Ce module sert a lancer EFICAS configure pour Code_Aster -""" -# Modules Python -import sys,os - -# Modules Eficas -import prefs -if hasattr(prefs,'encoding'): - # Hack pour changer le codage par defaut des strings - import sys - reload(sys) - sys.setdefaultencoding(prefs.encoding) - del sys.setdefaultencoding - # Fin hack - - -sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) -from InterfaceQT4 import eficas_go - -if len(sys.argv) > 1 : - # on veut ouvrir un fichier directement au lancement d'Eficas - eficas_go.lance_eficas_ssIhm_cherche_cr(code='ASTER',fichier = sys.argv[1],version='STA10.3') diff --git a/OldCodes/CarmelCND/CarmelCND_Cata.py b/OldCodes/CarmelCND/CarmelCND_Cata.py deleted file mode 100644 index a8413ce9..00000000 --- a/OldCodes/CarmelCND/CarmelCND_Cata.py +++ /dev/null @@ -1,75 +0,0 @@ -from Accas import * - -class source(ASSD): - pass - -class conducteur(ASSD): - pass - -class nocond(ASSD): - pass - -class vcut(ASSD): - pass - -class zs(ASSD): - pass - - -import types -class Tuple: - def __init__(self,ntuple): - self.ntuple=ntuple - - def __convert__(self,valeur): - if type(valeur) == types.StringType: - return None - if len(valeur) != self.ntuple: - return None - return valeur - - def info(self): - return "Tuple de %s elements" % self.ntuple - - __repr__=info - __str__=info - -JdC = JDC_CATA (code = 'monCode', - execmodul = None, - ) - -# ====================================================================== - - -SOURCE=OPER(nom='SOURCE',op=None,sd_prod=source,UIinfo = { "groupes" : ( "CACHE", ) }, - EnveloppeConnexeInducteur=SIMP(statut='o',typ='TXM',defaut="default"), - VecteurDirecteur=SIMP(statut='o',typ=Tuple(3),validators=VerifTypeTuple(('R','R','R'))), - #VecteurDirecteur=SIMP(statut='o',typ=Tuple(3),homo="constant",validators=VerifTypeTuple(('R','R','R'))), - Centre=SIMP(statut='o',typ=Tuple(3),validators=VerifTypeTuple(('R','R','R'))), - SectionBobine=SIMP(statut='o',typ='R',fr='en m2',ang='(m2)'), - Amplitude=SIMP(statut='o',typ='R',fr='en A',ang='(A)'), - NbdeTours=SIMP(statut='o',typ='I',val_min=1), -) - -CONDUCTEUR=OPER(nom='CONDUCTEUR',op=None,sd_prod=conducteur,UIinfo = { "groupes" : ( "CACHE", ) }, - Conductivite=SIMP(statut='o',typ='R',fr='en S/m',ang='(S/m)'), - PermeabiliteRelative=SIMP(statut='o',typ='R',), -) -NOCOND=OPER(nom='NOCOND',op=None,sd_prod=nocond,UIinfo = { "groupes" : ( "CACHE", ) }, - PermeabiliteRelative=SIMP(statut='o',typ='R',), -) -# -VCUT=OPER(nom='VCUT',op=None,sd_prod=vcut,UIinfo = { "groupes" : ( "CACHE", ) }, - Orientation=SIMP(statut='o',typ='TXM',into=("Oppose","Meme sens"),defaut="Oppose"), -) -ZS=OPER(nom='ZS',op=None,sd_prod=zs,UIinfo = { "groupes" : ( "CACHE", ) }, - Conductivite=SIMP(statut='o',typ='R',), - PermeabiliteRelative=SIMP(statut='o',typ='R',), -) -PARAMETRES=PROC(nom='PARAMETRES',op=None, UIinfo = { "groupes" : ( "CACHE", ) }, - RepCarmel=SIMP(typ='Repertoire',fr= "Repertoire Carmel",ang= "Carmel Directory",statut= "o",defaut="/projets/projets.002/carmel3d.001/frequentiel/V_240/Compil"), - TypedeFormule=SIMP(statut='o',typ='TXM',into=("TOMEGA","APHI")), - Frequence=SIMP(statut='o',typ='I',fr="en Hz",ang="(Hz)"), - Nb_Max_Iterations=SIMP(statut='o',typ='I',val_min=1,val_max=50000,defaut=10000), - Erreur_Max=SIMP(statut='o',typ='R',defaut=1E-9), -) diff --git a/OldCodes/CarmelCND/PourTraductionCarmel.py b/OldCodes/CarmelCND/PourTraductionCarmel.py deleted file mode 100644 index c0056847..00000000 --- a/OldCodes/CarmelCND/PourTraductionCarmel.py +++ /dev/null @@ -1,21 +0,0 @@ -print tr("SOURCE") -print tr("EnveloppeConnexeInducteur") -print tr("EnveloppeConnexe2") -print tr("VecteurDirecteur") -print tr("Centre") -print tr("SectionBobine") -print tr("Amplitude") -print tr("NbdeTours") -print tr("CONDUCTEUR") -print tr("Conductivite") -print tr("PermeabiliteRelative") -print tr("NOCOND") -print tr("VCUT") -print tr("Orientation") -print tr("ZS") -print tr("PARAMETRES") -print tr("RepCarmel") -print tr("TypedeFormule") -print tr("Frequence") -print tr("Nb_Max_Iterations") -print tr("Erreur_Max") diff --git a/OldCodes/CarmelCND/PrepareRunCarmel.py b/OldCodes/CarmelCND/PrepareRunCarmel.py deleted file mode 100644 index 58af31d7..00000000 --- a/OldCodes/CarmelCND/PrepareRunCarmel.py +++ /dev/null @@ -1,24 +0,0 @@ -def prepareRunCarmel(repertoireExe,repertoireMed,nom): - texte= 'echo "Debut execution gendof" \n' - texte+= 'cd ' + repertoireMed + ' \n' - texte+= repertoireExe+"/gendof.exe -scale 0.001 < " + nom + ".ingendof\n" - texte+= 'echo "Debut execution fcarmel" \n' - #texte+= repertoireExe+"/gendof.exe -scale 0.001 \n" - #texte+= 'if [ ! -f "'+nom+'.car" ]\n' - #texte+= 'then\n exit(1)\nfi \n\n' - texte+= repertoireExe+"/fcarmel.exe < " + nom + ".infcarmel\n" - #texte+= repertoireExe+"/fcarmel.exe \n" - #texte+= 'if [ ! -f "'+nom+'.xmat" ]\n' - #texte+= 'then\n exit(1)\nfi \n\n' - texte+= 'echo "Debut execution postprocess" \n' - texte+= repertoireExe+"/postprocess.exe < " + nom + ".inpostprocess\n" - texte+= 'read a' - #texte+= repertoireExe+"/postprocess.exe" - - return texte - -if __name__ == "__main__": - repertoire="/home/A96028/ExecCarmel/Compil" - nom="lance/Domaine" - print prepareRunCarmel(repertoire,nom) - diff --git a/OldCodes/CarmelCND/acquiertGroupes.py b/OldCodes/CarmelCND/acquiertGroupes.py deleted file mode 100755 index 35eb0918..00000000 --- a/OldCodes/CarmelCND/acquiertGroupes.py +++ /dev/null @@ -1,123 +0,0 @@ -#! /usr/bin/env python -# -*- coding:utf-8 -*- -# /* This file is part of MED. -# * -# * COPYRIGHT (C) 1999 - 2013 EDF R&D, CEA/DEN -# * MED 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 3 of the License, or -# * (at your option) any later version. -# * -# * MED 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 MED. If not, see . -# */ - - -import sys -sys.path.append('/home/A96028/Salome/V7_main/tools/install/Medfichier-307-hdf51810/lib/python2.7/site-packages') - -from med.medfile import * -from med.medmesh import * -from med.medfamily import * -from med.medfilter import * - - -def getGroupes(filename,debug=0) : - listeGroupes=[] - maa="" - - dicoNumFam={} - - try : - fid = MEDfileOpen(filename,MED_ACC_RDONLY) - except : - return ("Pb a la lecture du fichier", listeGroupes,maa) - - - # /* Lecture des infos concernant le premier maillage */ - maa, sdim, mdim, type, desc, dtunit, sort, nstep, rep, nomcoo,unicoo = MEDmeshInfo(fid, 1) - if debug : - print "Maillage de nom : |%s| de dimension : %ld , et de type %s\n"%(maa,mdim,type) - print "Maillage de nom : |%s| , de dimension : %ld , et de type %s\n"%(maa,mdim,type) - print "\t -Dimension de l'espace : %ld\n"%(sdim) - print "\t -Description du maillage : %s\n"%(desc) - print "\t -Noms des axes : |%s|\n"%(nomcoo) - print "\t -Unités des axes : |%s|\n"%(unicoo) - print "\t -Type de repère : %s\n"%(rep) - print "\t -Nombre d'étape de calcul : %ld\n"%(nstep) - print "\t -Unité des dates : |%s|\n"%(dtunit) - - # /* Lecture du nombre de familles */ - nfam = MEDnFamily(fid,maa) - if debug : - print "Nombre de familles : %d \n"%(nfam) - - # /* Lecture de chaque famille */ - for i in xrange(0,nfam): - - # /* Lecture du nombre de groupe */ - ngro = MEDnFamilyGroup(fid,maa,i+1) - if debug : - print "Famille %d a %d groupes \n"%(i+1,ngro) - - gro = MEDCHAR(MED_LNAME_SIZE*ngro+1) - - nomfam,numfam,gro = MEDfamilyInfo(fid,maa,i+1,gro) - if debug : - print "Famille de nom %s et de numero %d : \n"%(nomfam,numfam) - print "Attributs : \n" - - for j in xrange(0,ngro): - # print "gro = %s\n"%(gro[j*MED_LNAME_SIZE:j*MED_LNAME_SIZE+MED_LNAME_SIZE]) - groupSplit=gro[j*MED_LNAME_SIZE:j*MED_LNAME_SIZE+MED_LNAME_SIZE] - groupeName="".join(groupSplit).split("\x00")[0] - groupeName=groupeName.replace(' ','') - if groupeName[0:7]=="CENTRE_" : dicoNumFam[groupeName]=numfam - if groupeName not in listeGroupes : listeGroupes.append(groupeName) - - - #print dicoNumFam - #print listeGroupes - - # /* Lecture des Numeros de Familles */ - - nnoe, chgt, trsf = MEDmeshnEntity(fid,maa,MED_NO_DT,MED_NO_IT, MED_NODE,MED_NONE,MED_COORDINATE,MED_NO_CMODE) - nufano = MEDINT(nnoe) - MEDmeshEntityFamilyNumberRd(fid,maa, MED_NO_DT, MED_NO_IT, MED_NODE,MED_NONE,nufano) - dicoNumNode={} - for groupe in dicoNumFam.keys(): - famille=dicoNumFam[groupe] - i=0 - while i < nufano.size(): - if nufano[i]==famille : - dicoNumNode[groupe]=i+1 - break - i=i+1 - - - #print dicoNumNode - dicoCoord={} - for groupe in dicoNumNode.keys() : - flt=MEDINT(1) - flt[0]=dicoNumNode[groupe] - coo1=MEDFLOAT(3) - filter=med_filter() - err=MEDfilterEntityCr( fid, nnoe, 1, sdim, MED_ALL_CONSTITUENT, MED_FULL_INTERLACE, MED_COMPACT_PFLMODE, MED_NO_PROFILE,1 , flt, filter) - MEDmeshNodeCoordinateAdvancedRd(fid, maa, MED_NO_DT, MED_NO_IT, filter, coo1) - MEDfilterClose(filter) - dicoCoord[groupe]=coo1 -# dicoCoord['CENTRE_saxBas']=(0,0,28.5e-3) -# dicoCoord['CENTRE_saxHaut']=(0,0,31.5e-3) - - MEDfileClose(fid) - return ("",listeGroupes,maa,dicoCoord) - -if __name__ == "__main__": - filename="/home/A96028/Carmel/Pascale/Domaine_Bidouille.med" - #filename="/home/A96028/Carmel/nouveauMed/Domaine.med" - print getGroupes(filename) diff --git a/OldCodes/CarmelCND/configuration_CARMELCND.py b/OldCodes/CarmelCND/configuration_CARMELCND.py deleted file mode 100644 index 4ab64b85..00000000 --- a/OldCodes/CarmelCND/configuration_CARMELCND.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== -""" - Ce module sert pour charger les paramètres de configuration d'EFICAS -""" -# Modules Python -from InterfaceQT4 import configuration -import os - - -class CONFIG(configuration.CONFIG_BASE): - - #----------------------------------- - def __init__(self,appli,repIni): - #----------------------------------- - - self.labels_user=['catalogues','lang'] - self.labels_eficas=['lang','rep_cata','catalogues'] - - configuration.CONFIG_BASE.__init__(self,appli,'.Eficas_monCode') - - -def make_config(appli,rep): - return CONFIG(appli,rep) - diff --git a/OldCodes/CarmelCND/prefs.py b/OldCodes/CarmelCND/prefs.py deleted file mode 100644 index cfd8503b..00000000 --- a/OldCodes/CarmelCND/prefs.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -code="CARMELCND" -import sys, os -if os.path.dirname(os.path.abspath(__file__)) not in sys.path : - sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/OldCodes/CarmelCND/prefs_CARMELCND.py b/OldCodes/CarmelCND/prefs_CARMELCND.py deleted file mode 100644 index 555d37b3..00000000 --- a/OldCodes/CarmelCND/prefs_CARMELCND.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -import os,sys -# repIni sert a localiser le fichier editeur.ini -# Obligatoire -repIni=os.path.dirname(os.path.abspath(__file__)) -INSTALLDIR=os.path.join(repIni,'..') -sys.path[:0]=[INSTALLDIR] -sys.path[:0]=[repIni] - - -# lang indique la langue utilisee pour les chaines d'aide : fr ou ang -lang='fr' - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -encoding='iso-8859-1' -docPath=repIni -fileName="docMonCode.png" -image=1 - -# -catalogues=( - ('monCode','default',os.path.join(repIni,'CarmelCND_Cata.py'),'CARMELCND','python'), -) diff --git a/OldCodes/CarmelCND/qtEficas_CarmelCND.py b/OldCodes/CarmelCND/qtEficas_CarmelCND.py deleted file mode 100755 index f49b9bcb..00000000 --- a/OldCodes/CarmelCND/qtEficas_CarmelCND.py +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -""" - Ce module sert a lancer EFICAS configure pour Code_Aster -""" -# Modules Python -# Modules Eficas - -import sys,os -sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) - -import prefs -from InterfaceQT4 import eficas_go -eficas_go.lance_eficas(code=prefs.code) diff --git a/OldCodes/CarmelCS/CarmelCS_cata.py b/OldCodes/CarmelCS/CarmelCS_cata.py deleted file mode 100644 index 7fe65f74..00000000 --- a/OldCodes/CarmelCS/CarmelCS_cata.py +++ /dev/null @@ -1,25 +0,0 @@ -from Accas import * - - -JdC = JDC_CATA (code = 'CarmelCS', - execmodul = None, - regles=(AU_MOINS_UN('PARAM_CS',),) - ) - -# ====================================================================== -# ====================================================================== - - -PARAM_CS=PROC(nom='PARAM_CS',op=None, - Formulation=SIMP(statut='o',typ='TXM',defaut="tomega",into=('tomega','aphi'),), - Per=SIMP(statut='o',typ='I',min=1), - Ind=SIMP(statut='o',typ='I',min=0), - FinalTime=SIMP(statut='o',typ='I',min=1), - SyrthesProcNumber=SIMP(statut='o',typ='I',defaut=1,min=1), - HomogenousPhysFile=SIMP(statut='o',typ='TXM',defaut="MeshC_homogene.phys",), - HeterogenousPhysFile=SIMP(statut='o',typ='TXM',defaut="MeshC_heterogene.phys",), - Carmel3D_StudyDirectory=SIMP(typ='Repertoire', statut='o'), - Syrthes_StudyDirectory=SIMP(typ='Repertoire', statut='o'), - XMLYacsFile=SIMP(typ=('Fichier','Files (*.xml)'),fr= 'Schema yacs du couplage a executer',ang= 'Yacs coupling schema for running', statut='o'), -#TODO examiner comment generer un schema yacs de maniere automatique -) diff --git a/OldCodes/CarmelCS/configuration_CARMELCS.py b/OldCodes/CarmelCS/configuration_CARMELCS.py deleted file mode 100644 index 4ab64b85..00000000 --- a/OldCodes/CarmelCS/configuration_CARMELCS.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== -""" - Ce module sert pour charger les paramètres de configuration d'EFICAS -""" -# Modules Python -from InterfaceQT4 import configuration -import os - - -class CONFIG(configuration.CONFIG_BASE): - - #----------------------------------- - def __init__(self,appli,repIni): - #----------------------------------- - - self.labels_user=['catalogues','lang'] - self.labels_eficas=['lang','rep_cata','catalogues'] - - configuration.CONFIG_BASE.__init__(self,appli,'.Eficas_monCode') - - -def make_config(appli,rep): - return CONFIG(appli,rep) - diff --git a/OldCodes/CarmelCS/pilotyacsCS.py b/OldCodes/CarmelCS/pilotyacsCS.py deleted file mode 100644 index 374b2d85..00000000 --- a/OldCodes/CarmelCS/pilotyacsCS.py +++ /dev/null @@ -1,40 +0,0 @@ -def pilotyacsCS(runxmlfile) : - import sys - import pilot - import SALOMERuntime - import loader - SALOMERuntime.RuntimeSALOME_setRuntime() - - xmlLoader = loader.YACSLoader() - - try: - p = xmlLoader.load(runxmlfile) - except IOError,ex: - print "IO exception:",ex - sys.exit(1) - - logger=p.getLogger("parser") - if not logger.isEmpty(): - print "The imported file has errors :" - print logger.getStr() - sys.exit(1) - - if not p.isValid(): - print "The schema is not valid and can not be executed" - print p.getErrorReport() - sys.exit(1) - - info=pilot.LinkInfo(pilot.LinkInfo.ALL_DONT_STOP) - p.checkConsistency(info) - if info.areWarningsOrErrors(): - print "The schema is not consistent and can not be executed" - print info.getGlobalRepr() - sys.exit(1) - executor = pilot.ExecutorSwig() - executor.RunPy(p) - -if __name__ == '__main__' : - - import sys - if sys.argv <> None : - pilotyacsCS(sys.argv[1]) diff --git a/OldCodes/CarmelCS/prefs.py b/OldCodes/CarmelCS/prefs.py deleted file mode 100644 index 2692b028..00000000 --- a/OldCodes/CarmelCS/prefs.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -code="CARMELCS" -import sys, os -if os.path.dirname(os.path.abspath(__file__)) not in sys.path : - sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/OldCodes/CarmelCS/prefs_CARMELCS.py b/OldCodes/CarmelCS/prefs_CARMELCS.py deleted file mode 100644 index 0b0e427b..00000000 --- a/OldCodes/CarmelCS/prefs_CARMELCS.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -import os,sys -# repIni sert a localiser le fichier editeur.ini -# Obligatoire -repIni=os.path.dirname(os.path.abspath(__file__)) -INSTALLDIR=os.path.join(repIni,'..') -sys.path[:0]=[INSTALLDIR] - - -# lang indique la langue utilisee pour les chaines d'aide : fr ou ang -lang='fr' - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -encoding='iso-8859-1' -docPath=repIni -fileName="docMonCode.png" -image=1 - -# -catalogues=( - ('carmelCS','default',os.path.join(repIni,'CarmelCS_cata.py'),'CARMELCS','python'), -) -#catalogues=( -# ('carmelCS','default',os.path.join(repIni,'CarmelCS_cata.py'),'dico','python'), -#) diff --git a/OldCodes/CarmelCS/qtEficas_CarmelCS.py b/OldCodes/CarmelCS/qtEficas_CarmelCS.py deleted file mode 100755 index b1254f2c..00000000 --- a/OldCodes/CarmelCS/qtEficas_CarmelCS.py +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -""" - Ce module sert a lancer EFICAS configure pour Code_Aster -""" -# Modules Python -# Modules Eficas - -import sys,os -sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) - -from PyQt4.QtCore import * -import prefs -from InterfaceQT4 import eficas_go -eficas_go.lance_eficas(code=prefs.code) diff --git a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V1.py b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V1.py deleted file mode 100644 index 2ce3bf41..00000000 --- a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V1.py +++ /dev/null @@ -1,1436 +0,0 @@ -# -*- coding: utf-8 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -import Accas -from Accas import * - -class loi ( ASSD ) : pass -class variable ( ASSD ) : pass - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', - execmodul = None, - regles = ( AU_MOINS_UN ( 'CRITERIA' ), ), - ) # Fin JDC_CATA - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - - - - - - -#================================ -# 1. Definition des LOIS -#================================ - -# Nota : les variables de type OPER doivent etre en majuscules ! -# Nota : les variables de type OPER doivent etre de premier niveau (pas imbriquees dans un autre type) -DISTRIBUTION = OPER ( nom = "DISTRIBUTION", - sd_prod = loi, - op = 68, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - -#==== -# Type de distribution -#==== - - Kind = SIMP ( statut = "o", typ = "TXM", - into = ( "Beta", - "Exponential", - "Gamma", - "Geometric", - "Gumbel", - "Histogram", - "Logistic", - "LogNormal", - "MultiNomial", - "Normal", - "TruncatedNormal", - "Poisson", - "Student", - "Triangular", - "Uniform", - "UserDefined", - "Weibull", - ), - fr = "Choix du type de la loi marginale", - ang = "1D marginal distribution", - ), - -#==== -# Definition des parametres selon le type de la loi -#==== - - BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "RT", "MuSigma" ), - defaut = "RT", - fr = "Parametrage de la loi beta", - ang = "Beta distribution parameter set", - ), - - RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", - - R = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre R de la loi", - ang = "R parameter", - ), - - # T > R - T = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre T de la loi | T > R", - ang = "T parameter | T > R", - ), - - ), # Fin BLOC RT_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre A de la loi", - ang = "A parameter", - ), - - # B > A - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre B de la loi | B > A", - ang = "B parameter | B > A", - ), - - ), # Fin BLOC BETA - - - - EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC EXPONENTIAL - - - - GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "KLambda", "MuSigma" ), - defaut = "KLambda", - fr = "Parametrage de la loi gamma", - ang = "Gamma distribution parameter set", - ), - - KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", - - K = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre K de la loi | K > 0", - ang = "K parameter | K > 0", - ), - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC KLambda_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 0.0, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1.0, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - - ), # Fin BLOC GAMMA - - - - GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", - - P = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - val_max = 1., - fr = "Parametre P | 0 < P < 1", - ang = "P parameter | 0 < P < 1", - ), - - ), # Fin BLOC GEOMETRIC - - - - GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi gumbel", - ang = "Gumbel distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Beta de la loi", - ang = "Beta parameter", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - ), # Fin BLOC GUMBEL - - - - HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", - - Sup = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la distribution", - ang = "Upper bound", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC HISTOGRAM - - - - LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), - defaut = "MuSigmaLog", - fr = "Parametrage de la loi lognormale", - ang = "Lognormal distribution parameter set", - ), - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi | Mu > Gamma", - ang = "Mu parameter | Mu > Gamma", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi | Mu > Gamma", - ang = "Mu parameter | Mu > Gamma", - ), - - SigmaOverMu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre SigmaOverMu de la loi | SigmaOverMu > 0", - ang = "SigmaOverMu parameter | SigmaOverMu > 0", - ), - - ), # Fin BLOC MuSigmaOverMu_Parameters - - MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", - - MuLog = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu log de la loi", - ang = "Mu log parameter", - ), - - SigmaLog = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma log de la loi | SigmaLog > 0", - ang = "Sigma log parameter | SigmaLog > 0", - ), - - ), # Fin BLOC MuSigmaLog_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC LOGNORMAL - - - - LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Alpha de la loi", - ang = "Alpha parameter", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > = 0", - ang = "Beta parameter | Beta > = 0", - ), - - ), # Fin BLOC LOGISTIC - - - - MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", - - N = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Dimension de la loi", - ang = "Distribution dimension", - ), - - # Il faut un vecteur P de taille N - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC MULTINOMIAL - - - - NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC NORMAL - - - - POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC POISSON - - - - STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 2., - fr = "Parametre Nu de la loi | V > = 2", - ang = "Nu parameter | V > = 2", - ), - - ), # Fin BLOC STUDENT - - - - TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = M < = B", - ang = "Lower bound | A < = M < = B", - ), - - M = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Mode de la loi | A < = M < = B", - ang = "Mode | A < = M < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = M < = B", - ang = "Upper bound | A < = M < = B", - ), - - ), # Fin BLOC TRIANGULAR - - - - TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", - - MuN = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - SigmaN = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre SigmaN de la loi | SigmaN > 0", - ang = "SigmaN parameter | SigmaN> 0", - ), - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = B", - ang = "Lower bound | A < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = B", - ang = "Upper bound | A < = B", - ), - - ), # Fin BLOC TRUNCATEDNORMAL - - - - UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = B", - ang = "Lower bound | A < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = B", - ang = "Upper bound | A < = B", - ), - - ), # Fin BLOC UNIFORM - - - - USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC USERDEFINED - - - - WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi weibull", - ang = "Weibull distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC WEIBULL - -) # Fin OPER DISTRIBUTION - - - - - - -#================================ -# 3. Definition de l'etude -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -CRITERIA = PROC ( nom = "CRITERIA", - op = None, - docu = "", - fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", - ang = "Writes the configuration file for OPENTURNS.", - - - - Type = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), - fr = "Type d'Analyse", - ang = "Analysis", - ), - - - - - MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Experiment Plane", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - # UC 3.1.1 - ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", - - ExperimentPlane = SIMP ( statut = "o", - typ = "TXM", - into = ( "Axial", "Factorial", "Composite", ), - fr = "Methode", - ang = "Method", - ), - - Levels = SIMP ( statut = "o", - typ = "R", - val_min = 0.0, - max = '**', - fr = "Nombre de niveaux dans chaque direction", - ang = "Levels in each direction", - ), - - # Scaled Vector - UnitsPerDimension = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unite par dimension (autant que de variables declarees)", - ang = "Units per dimension (as much as declared variables)", - ), - - # Translation Vector - Center = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unite par dimension", - ang = "Units per dimension", - ), - - ), # Fin BLOC ExperimentPlaneSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - PointsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - ), # Fin BLOC RandomSamplingSettings - - Result = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", ), - defaut = "Min/Max", - fr = "Le minimum et le maximum", - ang = "The min and max values", - ), - - - ), # Fin BLOC MinMax - - - - - CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Taylor Variance Decomposition", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - - # UC 3.2. - TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - MeanFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au premier ordre", - ang = "MeanFirstOrder", - ), - - StandardDeviationFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type au premier ordre", - ang = "StandardDeviationFirstOrder", - ), - - MeanSecondOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au second ordre", - ang = "MeanSecondOrder", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - ), # Fin FACT Result - - ), # Fin BLOC TaylorVarianceDecompositionSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - PointsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - EmpiricalMean = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne empirique", - ang = "Empirical mean", - ), - - EmpiricalStandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - EmpiricalQuantile = SIMP ( statut = "o", - typ = 'R', - defaut = 0.0, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Quantile empirique", - ang = "Empirical quantile", - ), - - AnalysedCorrelations = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Correlations analysees", - ang = "Analysed correlations", - ), - - KernelSmoothing = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Kernel smoothing de l'echantillon", - ang = "Kernel smoothing of the sample", - ), - - ), # Fin FACT Result - - ), # Fin BLOC RandomSamplingSettings - - ), # Fin BLOC CentralUncertainty - - - - - ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", - - Event = FACT ( statut = "o", - min = 1, - max = 1, - - Threshold = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Le seuil de defaillance", - ang = "Failure threshold", - ), - - ComparisonOperator = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), - fr = "Que faut-il ne pas depasser : un maximum ou un minimum", - ang = "What is the failure threshold : maximum or minimum", - ), - ), # Fin FACT Event - - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Simulation", "Analytical" ), - fr = "Methode", - ang = "Method", - ), - - SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", - - Algorithm = SIMP ( statut = "o", - typ = "TXM", - into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), - fr = "Algorithme de simulation", - ang = "Simulation algorithm", - ), - - - RandomGenerator = FACT ( statut = "o", - min = 1, - max = 1, - - SeedToBeSet = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", - ang = "Does the random generator seed need to be set ?", - ), - - SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", - - RandomGeneratorSeed = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Racine du generateur aleatoire", - ang = "Random generator seed", - ), - - ), # Fin BLOC SeedSettings - - ), # Fin FACT RandomGenerator - - - BlockSize = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - defaut = 1, - fr = "Nombre de calculs realises en bloc", - ang = "Number of computations as a block", - ), - - MaximumOuterSampling = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - fr = "Maximum d'iterations externes", - ang = "Maximum outer Sampling value", - ), - - MaximumCoefficientOfVariation = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 0.1, - val_min = 0.0, - fr = " maximum ...", - ang = "Absolute maximum ...." - ), - - ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", - - MeanVector = SIMP ( statut = "o", - typ = "R", - max = "**", - fr = "Moyenne", - ang = "Mean vector", - ), - - Correlation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'Independent', 'Linear' ), - defaut = 'Linear', - max = 1, - fr = "Le type de correlation entre les variables", - ang = "Correlation between variables", - ), - - ), # Fin BLOC ImportanceSamplingSettings - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - ConfidenceInterval = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", - - Level = SIMP ( statut = "o", - typ = 'R', - defaut = 0.0, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Niveau de confiance", - ang = "Confidence level", - ), - - ), # Fin BLOC ConfidenceIntervalSettings - - VariationCoefficient = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Coefficient de variation", - ang = "VariationCoefficient", - ), - - IterationNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'iterations", - ang = "Iteration number", - ), - - ConvergenceGraph = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Graphe de convergence", - ang = "Convergence graph", - ), - - ), # Fin FACT Result - - - - ), # Fin BLOC SimulationSettings - - - - AnalyticalSettings = BLOC ( condition = " Method in ( 'Analytical', ) ", - - Approximation = SIMP ( statut = "o", - typ = "TXM", - into = ( "FORM", "SORM" ), - fr = "Approximation", - ang = "Approximation", - ), - - OptimizationAlgorithm = SIMP ( statut = "o", - typ = "TXM", - into = ( "Cobyla", "AbdoRackwitz" ), - fr = "Methode d'optimisation", - ang = "Optimisation method", - ), - - - PhysicalStartingPoint = SIMP ( statut = "f", - typ = "R", - max = "**", - fr = "Point de demarrage de l'algorithme iteratif", - ang = "Initial point for iterative process", - ), - - MaximumIterationsNumber = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - fr = "Nombre maximum d iterations", - ang = "Maximum number of iterations", - ), - - regles = ( EXCLUS ( "MaximumAbsoluteError", "RelativeAbsoluteError" ), ), - - MaximumAbsoluteError = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 1E-6, - val_min = 0.0, - fr = "Distance maximum absolue entre 2 iterations successifs", - ang = "Absolute maximum distance between 2 successive iterates", - ), - - RelativeAbsoluteError = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 1E-6, - val_min = 0.0, - fr = "Distance maximum relative entre 2 iterations successives", - ang = "Relative maximum distance between 2 successive iterates", - ), - - MaximumConstraintError = SIMP ( statut = "f", - typ = "R", - max = 1, - val_min = 0.0, - fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", - ang = "Maximum absolute value of the constraint function minus the level value", - ), - - ImportanceSampling = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Tirage d'importance au point de conception", - ang = "Importance sampling at design point", - ), - - FORM = BLOC ( condition = " Approximation in ( 'FORM', ) ", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - HasReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite", - ang = "Reliability index", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - HasoferReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSettings = BLOC ( condition = " HasoferReliabilityIndex in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC HasoferReliabilityIndexSettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC FORM - - - SORM = BLOC ( condition = " Approximation in ( 'SORM', ) ", - - - TvedtApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de Tvedt", - ang = "Tvedt approximation", - ), - - HohenBichlerApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de HohenBichler", - ang = "HohenBichler approximation", - ), - - BreitungApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de Breitung", - ang = "Breitung approximation", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - HasoferReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSettings = BLOC ( condition = " HasoferReliabilityIndex in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC HasoferReliabilityIndexSettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC SORM - - - - ), # Fin BLOC AnalyticalSettings - - - - ), # Fin BLOC ThresholdExceedence - - - -) # Fin PROC CRITERIA - - -#=============================== -# 5. Definition des parametres -#=============================== -VARI = OPER ( nom = "VARI", - sd_prod = variable, - op = None, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - type=SIMP(statut='f',defaut="IN",into=("IN","OUT"), typ = "TXM",) - ) - -AAA=PROC(nom="AAA", - op=None, - fr="Essai", - ang = "Test", - - MALOI = SIMP(statut='o',typ=(loi,),), - MAVARIABLE = SIMP(statut='o',typ=(variable,),), -) ; - - - -import ops -FICXML=MACRO(nom="FICXML", - op=None, - UIinfo={"groupes":("Gestion du travail",)}, - fr="Débranchement vers un fichier de commandes secondaires", - sd_prod=ops.INCLUDE,op_init=ops.INCLUDE_context,fichier_ini=1, - FICHIER = SIMP(statut='o',typ='TXM',), -); - diff --git a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V10.py b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V10.py deleted file mode 100644 index f53ee908..00000000 --- a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V10.py +++ /dev/null @@ -1,60 +0,0 @@ -# -*- coding: utf-8 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -import Accas -from Accas import * - -class loi ( ASSD ) : pass -class variable ( ASSD ) : pass - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', - execmodul = None, - regles = ( AU_MOINS_UN ( 'CRITERIA' ), ), - ) # Fin JDC_CATA - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- -#=============================== -# 5. Definition des parametres -#=============================== -VARI = OPER ( nom = "VARI", - sd_prod = variable, - op = None, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - type=SIMP(statut='f',defaut="IN",into=("IN","OUT"), typ = "TXM",) - ) - -VARI1 = OPER ( nom = "VARI1", - sd_prod = variable, - op = None, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - POUTRE = FACT(statut= 'f',max= '**', - MAILLE = SIMP(statut= 'f',typ= 'TXM' ,validators= NoRepeat(),max= '**'), - GROUP_MA = SIMP(statut= 'f',typ= 'TXM' ,validators= NoRepeat(),max= '**'), - ), - POUTRE2 = FACT(statut= 'f',max= '**', - MAILLE2 = SIMP(statut= 'f',typ= 'TXM' ,validators= NoRepeat(),max= '**'), - GROUP_MA2 = SIMP(statut= 'f',typ= 'TXM' ,validators= NoRepeat(),max= '**'), - ), - FINAL =FACT(statut= 'f',max= '**', - type=SIMP(statut='f',min=1,max= '**', into=("POUTRE","POUTRE2"), - validators=[VerifExiste(2),NoRepeat()], typ="TXM",), - ), - ) - - -FICXML=MACRO(nom="FICXML", - op=None, - UIinfo={"groupes":("Gestion du travail",)}, - fr="Débranchement vers un fichier de commandes secondaires", - sd_prod=loi, - FICHIER = SIMP(statut='o',typ='TXM',), -); - diff --git a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V2.py b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V2.py deleted file mode 100644 index 58128f14..00000000 --- a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V2.py +++ /dev/null @@ -1,1486 +0,0 @@ -# -*- coding: utf-8 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -import Accas -from Accas import * - -class loi ( ASSD ) : pass - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', - execmodul = None, - regles = ( AU_MOINS_UN ( 'CRITERIA' ), AU_MOINS_UN ( 'MODEL' ), ), - ) # Fin JDC_CATA - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - -LOG = PROC ( nom = "LOG", - op = None, - docu = "", - - DebugMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de debug de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - WrapperMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - UserMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de user de la bibliotheque Open TURNS", - ang = "Open TURNS library user level print", - ), - - InfoMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de info de la bibliotheque Open TURNS", - ang = "Open TURNS library info level print", - ), - - WarningMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", - ang = "Open TURNS library warning level print", - ), - - ErrorMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de error de la bibliotheque Open TURNS", - ang = "Open TURNS library error level print", - ), - -) # Fin PROC LOG - - - - -#================================ -# 0. Definition du modele physique -#================================ - -MODEL = PROC ( nom = "MODEL", - op = None, - docu = "", - - Name = SIMP ( statut = "o", - typ = "TXM", - fr = "Nom du modele physique", - ang = "Physical model identifier", - ), - -) # Fin PROC MODEL - - - - - - -#================================ -# 1. Definition des LOIS -#================================ - -# Nota : les variables de type OPER doivent etre en majuscules ! -# Nota : les variables de type OPER doivent etre de premier niveau (pas imbriquees dans un autre type) -DISTRIBUTION = OPER ( nom = "DISTRIBUTION", - sd_prod = loi, - op = 68, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - -#==== -# Type de distribution -#==== - - Kind = SIMP ( statut = "o", typ = "TXM", - into = ( "Beta", - "Exponential", - "Gamma", - "Geometric", - "Gumbel", - "Histogram", - "Logistic", - "LogNormal", - "MultiNomial", - "Normal", - "TruncatedNormal", - "Poisson", - "Student", - "Triangular", - "Uniform", - "UserDefined", - "Weibull", - ), - fr = "Choix du type de la loi marginale", - ang = "1D marginal distribution", - ), - -#==== -# Definition des parametres selon le type de la loi -#==== - - BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "RT", "MuSigma" ), - defaut = "RT", - fr = "Parametrage de la loi beta", - ang = "Beta distribution parameter set", - ), - - RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", - - R = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre R de la loi", - ang = "R parameter", - ), - - # T > R - T = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre T de la loi | T > R", - ang = "T parameter | T > R", - ), - - ), # Fin BLOC RT_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre A de la loi", - ang = "A parameter", - ), - - # B > A - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre B de la loi | B > A", - ang = "B parameter | B > A", - ), - - ), # Fin BLOC BETA - - - - EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC EXPONENTIAL - - - - GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "KLambda", "MuSigma" ), - defaut = "KLambda", - fr = "Parametrage de la loi gamma", - ang = "Gamma distribution parameter set", - ), - - KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", - - K = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre K de la loi | K > 0", - ang = "K parameter | K > 0", - ), - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC KLambda_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 0.0, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1.0, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - - ), # Fin BLOC GAMMA - - - - GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", - - P = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - val_max = 1., - fr = "Parametre P | 0 < P < 1", - ang = "P parameter | 0 < P < 1", - ), - - ), # Fin BLOC GEOMETRIC - - - - GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi gumbel", - ang = "Gumbel distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Beta de la loi", - ang = "Beta parameter", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - ), # Fin BLOC GUMBEL - - - - HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", - - Sup = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la distribution", - ang = "Upper bound", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC HISTOGRAM - - - - LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), - defaut = "MuSigmaLog", - fr = "Parametrage de la loi lognormale", - ang = "Lognormal distribution parameter set", - ), - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi | Mu > Gamma", - ang = "Mu parameter | Mu > Gamma", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi | Mu > Gamma", - ang = "Mu parameter | Mu > Gamma", - ), - - SigmaOverMu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre SigmaOverMu de la loi | SigmaOverMu > 0", - ang = "SigmaOverMu parameter | SigmaOverMu > 0", - ), - - ), # Fin BLOC MuSigmaOverMu_Parameters - - MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", - - MuLog = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu log de la loi", - ang = "Mu log parameter", - ), - - SigmaLog = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma log de la loi | SigmaLog > 0", - ang = "Sigma log parameter | SigmaLog > 0", - ), - - ), # Fin BLOC MuSigmaLog_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC LOGNORMAL - - - - LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Alpha de la loi", - ang = "Alpha parameter", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > = 0", - ang = "Beta parameter | Beta > = 0", - ), - - ), # Fin BLOC LOGISTIC - - - - MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", - - N = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Dimension de la loi", - ang = "Distribution dimension", - ), - - # Il faut un vecteur P de taille N - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC MULTINOMIAL - - - - NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC NORMAL - - - - POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC POISSON - - - - STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 2., - fr = "Parametre Nu de la loi | V > = 2", - ang = "Nu parameter | V > = 2", - ), - - ), # Fin BLOC STUDENT - - - - TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = M < = B", - ang = "Lower bound | A < = M < = B", - ), - - M = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Mode de la loi | A < = M < = B", - ang = "Mode | A < = M < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = M < = B", - ang = "Upper bound | A < = M < = B", - ), - - ), # Fin BLOC TRIANGULAR - - - - TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", - - MuN = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - SigmaN = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre SigmaN de la loi | SigmaN > 0", - ang = "SigmaN parameter | SigmaN> 0", - ), - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = B", - ang = "Lower bound | A < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = B", - ang = "Upper bound | A < = B", - ), - - ), # Fin BLOC TRUNCATEDNORMAL - - - - UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = B", - ang = "Lower bound | A < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = B", - ang = "Upper bound | A < = B", - ), - - ), # Fin BLOC UNIFORM - - - - USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC USERDEFINED - - - - WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi weibull", - ang = "Weibull distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC WEIBULL - -) # Fin OPER DISTRIBUTION - - - - - - -#================================ -# 3. Definition de l'etude -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -CRITERIA = PROC ( nom = "CRITERIA", - op = None, - docu = "", - fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", - ang = "Writes the configuration file for OPENTURNS.", - - - - Type = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), - fr = "Type d'Analyse", - ang = "Analysis", - ), - - - - - - - - MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Experiment Plane", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - # UC 3.1.1 - ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", - - ExperimentPlane = SIMP ( statut = "o", - typ = "TXM", - into = ( "Axial", "Factorial", "Composite", ), - fr = "Methode", - ang = "Method", - ), - - Levels = SIMP ( statut = "o", - typ = "R", - val_min = 0.0, - max = '**', - fr = "Nombre de niveaux dans chaque direction", - ang = "Levels in each direction", - ), - - # Scaled Vector - UnitsPerDimension = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unite par dimension (autant que de variables declarees)", - ang = "Units per dimension (as much as declared variables)", - ), - - # Translation Vector - Center = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unite par dimension", - ang = "Units per dimension", - ), - - ), # Fin BLOC ExperimentPlaneSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - PointsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - ), # Fin BLOC RandomSamplingSettings - - Result = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", ), - defaut = "Min/Max", - fr = "Le minimum et le maximum", - ang = "The min and max values", - ), - - - ), # Fin BLOC MinMax - - - - - CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Taylor Variance Decomposition", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - - # UC 3.2. - TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - MeanFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au premier ordre", - ang = "MeanFirstOrder", - ), - - StandardDeviationFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type au premier ordre", - ang = "StandardDeviationFirstOrder", - ), - - MeanSecondOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au second ordre", - ang = "MeanSecondOrder", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - ), # Fin FACT Result - - ), # Fin BLOC TaylorVarianceDecompositionSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - PointsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - EmpiricalMean = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne empirique", - ang = "Empirical mean", - ), - - EmpiricalStandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - EmpiricalQuantile = SIMP ( statut = "o", - typ = 'R', - defaut = 0.0, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Quantile empirique", - ang = "Empirical quantile", - ), - - AnalysedCorrelations = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Correlations analysees", - ang = "Analysed correlations", - ), - - KernelSmoothing = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Kernel smoothing de l'echantillon", - ang = "Kernel smoothing of the sample", - ), - - ), # Fin FACT Result - - ), # Fin BLOC RandomSamplingSettings - - ), # Fin BLOC CentralUncertainty - - - - - ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", - - Event = FACT ( statut = "o", - min = 1, - max = 1, - - Threshold = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Le seuil de defaillance", - ang = "Failure threshold", - ), - - ComparisonOperator = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), - fr = "Que faut-il ne pas depasser : un maximum ou un minimum", - ang = "What is the failure threshold : maximum or minimum", - ), - ), # Fin FACT Event - - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Simulation", "Analytical" ), - fr = "Methode", - ang = "Method", - ), - - SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", - - Algorithm = SIMP ( statut = "o", - typ = "TXM", - into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), - fr = "Algorithme de simulation", - ang = "Simulation algorithm", - ), - - - RandomGenerator = FACT ( statut = "o", - min = 1, - max = 1, - - SeedToBeSet = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", - ang = "Does the random generator seed need to be set ?", - ), - - SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", - - RandomGeneratorSeed = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Racine du generateur aleatoire", - ang = "Random generator seed", - ), - - ), # Fin BLOC SeedSettings - - ), # Fin FACT RandomGenerator - - - BlockSize = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - defaut = 1, - fr = "Nombre de calculs realises en bloc", - ang = "Number of computations as a block", - ), - - MaximumOuterSampling = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - fr = "Maximum d'iterations externes", - ang = "Maximum outer Sampling value", - ), - - MaximumCoefficientOfVariation = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 0.1, - val_min = 0.0, - fr = " maximum ...", - ang = "Absolute maximum ...." - ), - - ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", - - MeanVector = SIMP ( statut = "o", - typ = "R", - max = "**", - fr = "Moyenne", - ang = "Mean vector", - ), - - Correlation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'Independent', 'Linear' ), - defaut = 'Linear', - max = 1, - fr = "Le type de correlation entre les variables", - ang = "Correlation between variables", - ), - - ), # Fin BLOC ImportanceSamplingSettings - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - ConfidenceInterval = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", - - Level = SIMP ( statut = "o", - typ = 'R', - defaut = 0.0, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Niveau de confiance", - ang = "Confidence level", - ), - - ), # Fin BLOC ConfidenceIntervalSettings - - VariationCoefficient = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Coefficient de variation", - ang = "VariationCoefficient", - ), - - IterationNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'iterations", - ang = "Iteration number", - ), - - ConvergenceGraph = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Graphe de convergence", - ang = "Convergence graph", - ), - - ), # Fin FACT Result - - - - ), # Fin BLOC SimulationSettings - - - - AnalyticalSettings = BLOC ( condition = " Method in ( 'Analytical', ) ", - - Approximation = SIMP ( statut = "o", - typ = "TXM", - into = ( "FORM", "SORM" ), - fr = "Approximation", - ang = "Approximation", - ), - - OptimizationAlgorithm = SIMP ( statut = "o", - typ = "TXM", - into = ( "Cobyla", "AbdoRackwitz" ), - fr = "Methode d'optimisation", - ang = "Optimisation method", - ), - - - PhysicalStartingPoint = SIMP ( statut = "f", - typ = "R", - max = "**", - fr = "Point de demarrage de l'algorithme iteratif", - ang = "Initial point for iterative process", - ), - - MaximumIterationsNumber = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - fr = "Nombre maximum d iterations", - ang = "Maximum number of iterations", - ), - - regles = ( EXCLUS ( "MaximumAbsoluteError", "RelativeAbsoluteError" ), ), - - MaximumAbsoluteError = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 1E-6, - val_min = 0.0, - fr = "Distance maximum absolue entre 2 iterations successifs", - ang = "Absolute maximum distance between 2 successive iterates", - ), - - RelativeAbsoluteError = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 1E-6, - val_min = 0.0, - fr = "Distance maximum relative entre 2 iterations successives", - ang = "Relative maximum distance between 2 successive iterates", - ), - - MaximumConstraintError = SIMP ( statut = "f", - typ = "R", - max = 1, - val_min = 0.0, - fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", - ang = "Maximum absolute value of the constraint function minus the level value", - ), - - ImportanceSampling = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Tirage d'importance au point de conception", - ang = "Importance sampling at design point", - ), - - FORM = BLOC ( condition = " Approximation in ( 'FORM', ) ", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - HasReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite", - ang = "Reliability index", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - HasoferReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSettings = BLOC ( condition = " HasoferReliabilityIndex in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC HasoferReliabilityIndexSettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC FORM - - - SORM = BLOC ( condition = " Approximation in ( 'SORM', ) ", - - - TvedtApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de Tvedt", - ang = "Tvedt approximation", - ), - - HohenBichlerApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de HohenBichler", - ang = "HohenBichler approximation", - ), - - BreitungApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de Breitung", - ang = "Breitung approximation", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - HasoferReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSettings = BLOC ( condition = " HasoferReliabilityIndex in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC HasoferReliabilityIndexSettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC SORM - - - - ), # Fin BLOC AnalyticalSettings - - - - ), # Fin BLOC ThresholdExceedence - - - -) # Fin PROC CRITERIA - - - - - - - diff --git a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V3.py b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V3.py deleted file mode 100644 index 80dbe832..00000000 --- a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V3.py +++ /dev/null @@ -1,1598 +0,0 @@ -# -*- coding: utf-8 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC - -class loi ( ASSD ) : pass -class variable ( ASSD ) : pass - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', - execmodul = None, - regles = ( AU_MOINS_UN ( 'CRITERIA' ), AU_MOINS_UN ( 'MODEL' ), ), - ) # Fin JDC_CATA - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - -LOG = PROC ( nom = "LOG", - op = None, - docu = "", - - DebugMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de debug de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - WrapperMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - UserMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de user de la bibliotheque Open TURNS", - ang = "Open TURNS library user level print", - ), - - InfoMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de info de la bibliotheque Open TURNS", - ang = "Open TURNS library info level print", - ), - - WarningMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", - ang = "Open TURNS library warning level print", - ), - - ErrorMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de error de la bibliotheque Open TURNS", - ang = "Open TURNS library error level print", - ), - -) # Fin PROC LOG - - - - -#================================ -# 0. Definition du modele physique -#================================ - - -DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", - sd_prod = variable, - op = None, - fr = "Variable deterministe", - ang = "Deterministic variable", - - N = SIMP ( statut = 'o', - typ = "TXM", - fr = "Nom", - ang = "Name", - ), - - T = SIMP ( statut = 'o', - defaut = "in", - into = ( "in" , "out", ), - typ = "TXM", - fr = "Type", - ang = "Type", - ), - - R = SIMP ( statut = 'o', - defaut = 0, - typ = "I", - fr = "Rang", - ang = "Rank", - ), - -) # Fin OPER DETERMINISTICVARIABLE - - - -import ops -MODEL = MACRO ( nom = "MODEL", - op = None, - UIinfo = { "groupes" : ( "Gestion du travail", ) }, - fr = "Chargement du wrapper du modele physique", - ang = "Physical model wrapper load", - sd_prod = ops.INCLUDE, - op_init = ops.INCLUDE_context, - fichier_ini = 1, - - FileName = SIMP ( statut = "o", - typ = "TXM", - fr = "Nom du modele physique", - ang = "Physical model identifier", - ), - -) # Fin PROC MODEL - - - - -VARIABLE = PROC ( nom = "VARIABLE", - op = None, - docu = "", - fr = "Variable probabiliste", - ang = "Probabilistic variable", - - ModelVariable = SIMP ( statut = "o", - typ = ( variable, ), - ), - - Distribution = SIMP ( statut = "o", - typ = ( loi, ), - ), - -) # Fin PROC VARIABLE - - - - -#================================ -# 1. Definition des LOIS -#================================ - -# Nota : les variables de type OPER doivent etre en majuscules ! -# Nota : les variables de type OPER doivent etre de premier niveau (pas imbriquees dans un autre type) -DISTRIBUTION = OPER ( nom = "DISTRIBUTION", - sd_prod = loi, - op = 68, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - -#==== -# Type de distribution -#==== - - Kind = SIMP ( statut = "o", typ = "TXM", - into = ( "Beta", - "Exponential", - "Gamma", - "Geometric", - "Gumbel", - "Histogram", - "Logistic", - "LogNormal", - "MultiNomial", - "Normal", - "TruncatedNormal", - "Poisson", - "Student", - "Triangular", - "Uniform", - "UserDefined", - "Weibull", - ), - fr = "Choix du type de la loi marginale", - ang = "1D marginal distribution", - ), - -#==== -# Definition des parametres selon le type de la loi -#==== - - BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "RT", "MuSigma" ), - defaut = "RT", - fr = "Parametrage de la loi beta", - ang = "Beta distribution parameter set", - ), - - RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", - - R = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre R de la loi", - ang = "R parameter", - ), - - # T > R - T = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre T de la loi | T > R", - ang = "T parameter | T > R", - ), - - ), # Fin BLOC RT_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre A de la loi", - ang = "A parameter", - ), - - # B > A - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre B de la loi | B > A", - ang = "B parameter | B > A", - ), - - ), # Fin BLOC BETA - - - - EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC EXPONENTIAL - - - - GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "KLambda", "MuSigma" ), - defaut = "KLambda", - fr = "Parametrage de la loi gamma", - ang = "Gamma distribution parameter set", - ), - - KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", - - K = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre K de la loi | K > 0", - ang = "K parameter | K > 0", - ), - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC KLambda_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 0.0, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1.0, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - - ), # Fin BLOC GAMMA - - - - GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", - - P = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - val_max = 1., - fr = "Parametre P | 0 < P < 1", - ang = "P parameter | 0 < P < 1", - ), - - ), # Fin BLOC GEOMETRIC - - - - GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi gumbel", - ang = "Gumbel distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Beta de la loi", - ang = "Beta parameter", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - ), # Fin BLOC GUMBEL - - - - HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", - - Sup = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la distribution", - ang = "Upper bound", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC HISTOGRAM - - - - LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), - defaut = "MuSigmaLog", - fr = "Parametrage de la loi lognormale", - ang = "Lognormal distribution parameter set", - ), - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi | Mu > Gamma", - ang = "Mu parameter | Mu > Gamma", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi | Mu > Gamma", - ang = "Mu parameter | Mu > Gamma", - ), - - SigmaOverMu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre SigmaOverMu de la loi | SigmaOverMu > 0", - ang = "SigmaOverMu parameter | SigmaOverMu > 0", - ), - - ), # Fin BLOC MuSigmaOverMu_Parameters - - MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", - - MuLog = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu log de la loi", - ang = "Mu log parameter", - ), - - SigmaLog = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma log de la loi | SigmaLog > 0", - ang = "Sigma log parameter | SigmaLog > 0", - ), - - ), # Fin BLOC MuSigmaLog_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC LOGNORMAL - - - - LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Alpha de la loi", - ang = "Alpha parameter", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > = 0", - ang = "Beta parameter | Beta > = 0", - ), - - ), # Fin BLOC LOGISTIC - - - - MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", - - N = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Dimension de la loi", - ang = "Distribution dimension", - ), - - # Il faut un vecteur P de taille N - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC MULTINOMIAL - - - - NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC NORMAL - - - - POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC POISSON - - - - STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 2., - fr = "Parametre Nu de la loi | V > = 2", - ang = "Nu parameter | V > = 2", - ), - - ), # Fin BLOC STUDENT - - - - TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = M < = B", - ang = "Lower bound | A < = M < = B", - ), - - M = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Mode de la loi | A < = M < = B", - ang = "Mode | A < = M < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = M < = B", - ang = "Upper bound | A < = M < = B", - ), - - ), # Fin BLOC TRIANGULAR - - - - TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", - - MuN = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - SigmaN = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre SigmaN de la loi | SigmaN > 0", - ang = "SigmaN parameter | SigmaN> 0", - ), - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = B", - ang = "Lower bound | A < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = B", - ang = "Upper bound | A < = B", - ), - - ), # Fin BLOC TRUNCATEDNORMAL - - - - UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = B", - ang = "Lower bound | A < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = B", - ang = "Upper bound | A < = B", - ), - - ), # Fin BLOC UNIFORM - - - - USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC USERDEFINED - - - - WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi weibull", - ang = "Weibull distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC WEIBULL - -) # Fin OPER DISTRIBUTION - - - - - - - -#================================ -# 3. Definition de l'etude -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -CRITERIA = PROC ( nom = "CRITERIA", - op = None, - docu = "", - fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", - ang = "Writes the configuration file for OPENTURNS.", - - - - Type = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), - fr = "Type d'Analyse", - ang = "Analysis", - ), - - - - - - - - MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Experiment Plane", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - # UC 3.1.1 - ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", - - ExperimentPlane = SIMP ( statut = "o", - typ = "TXM", - into = ( "Axial", "Factorial", "Composite", ), - fr = "Methode", - ang = "Method", - ), - - Levels = SIMP ( statut = "o", - typ = "R", - val_min = 0.0, - max = '**', - fr = "Nombre de niveaux dans chaque direction", - ang = "Levels in each direction", - ), - - # Scaled Vector - UnitsPerDimension = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unite par dimension (autant que de variables declarees)", - ang = "Units per dimension (as much as declared variables)", - ), - - # Translation Vector - Center = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unite par dimension", - ang = "Units per dimension", - ), - - ), # Fin BLOC ExperimentPlaneSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - PointsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - ), # Fin BLOC RandomSamplingSettings - - Result = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", ), - defaut = "Min/Max", - fr = "Le minimum et le maximum", - ang = "The min and max values", - ), - - - ), # Fin BLOC MinMax - - - - - CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Taylor Variance Decomposition", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - - # UC 3.2. - TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - MeanFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au premier ordre", - ang = "MeanFirstOrder", - ), - - StandardDeviationFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type au premier ordre", - ang = "StandardDeviationFirstOrder", - ), - - MeanSecondOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au second ordre", - ang = "MeanSecondOrder", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - ), # Fin FACT Result - - ), # Fin BLOC TaylorVarianceDecompositionSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - PointsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - EmpiricalMean = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne empirique", - ang = "Empirical mean", - ), - - EmpiricalStandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - EmpiricalQuantile = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Quantile empirique", - ang = "Empirical quantile", - ), - - EmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ", - - EmpiricalQuantile_Order = SIMP ( statut = "o", - typ = 'R', - defaut = 0.95, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Ordre du quantile empirique", - ang = "Empirical quantile order", - ), - - ), # Fin BLOC EmpiricalQuantileSettings - - AnalysedCorrelations = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Correlations analysees", - ang = "Analysed correlations", - ), - - KernelSmoothing = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Kernel smoothing de l'echantillon", - ang = "Kernel smoothing of the sample", - ), - - ), # Fin FACT Result - - ), # Fin BLOC RandomSamplingSettings - - ), # Fin BLOC CentralUncertainty - - - - - ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", - - Event = FACT ( statut = "o", - min = 1, - max = 1, - - Threshold = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Le seuil de defaillance", - ang = "Failure threshold", - ), - - ComparisonOperator = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), - fr = "Que faut-il ne pas depasser : un maximum ou un minimum", - ang = "What is the failure threshold : maximum or minimum", - ), - ), # Fin FACT Event - - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Simulation", "Analytical" ), - fr = "Methode", - ang = "Method", - ), - - SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", - - Algorithm = SIMP ( statut = "o", - typ = "TXM", - into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), - fr = "Algorithme de simulation", - ang = "Simulation algorithm", - ), - - - RandomGenerator = FACT ( statut = "o", - min = 1, - max = 1, - - SeedToBeSet = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", - ang = "Does the random generator seed need to be set ?", - ), - - SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", - - RandomGeneratorSeed = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Racine du generateur aleatoire", - ang = "Random generator seed", - ), - - ), # Fin BLOC SeedSettings - - ), # Fin FACT RandomGenerator - - - BlockSize = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - defaut = 1, - fr = "Nombre de calculs realises en bloc", - ang = "Number of computations as a block", - ), - - MaximumOuterSampling = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - fr = "Maximum d'iterations externes", - ang = "Maximum outer Sampling value", - ), - - MaximumCoefficientOfVariation = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 0.1, - val_min = 0.0, - fr = " maximum ...", - ang = "Absolute maximum ...." - ), - - ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", - - MeanVector = SIMP ( statut = "o", - typ = "R", - max = "**", - fr = "Moyenne", - ang = "Mean vector", - ), - - Correlation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'Independent', 'Linear' ), - defaut = 'Linear', - max = 1, - fr = "Le type de correlation entre les variables", - ang = "Correlation between variables", - ), - - ), # Fin BLOC ImportanceSamplingSettings - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - StandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Ecart type", - ang = "Standard deviation", - ), - - ConfidenceInterval = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", - - Level = SIMP ( statut = "o", - typ = 'R', - defaut = 0.9, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Niveau de confiance", - ang = "Confidence level", - ), - - ), # Fin BLOC ConfidenceIntervalSettings - - VariationCoefficient = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Coefficient de variation", - ang = "VariationCoefficient", - ), - - IterationNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'iterations", - ang = "Iteration number", - ), - - ConvergenceGraph = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Graphe de convergence", - ang = "Convergence graph", - ), - - ), # Fin FACT Result - - - - ), # Fin BLOC SimulationSettings - - - - AnalyticalSettings = BLOC ( condition = " Method in ( 'Analytical', ) ", - - Approximation = SIMP ( statut = "o", - typ = "TXM", - defaut = "FirstOrder", - into = ( "FirstOrder", "SecondOrder" ), - max = 1, - fr = "Approximation", - ang = "Approximation", - ), - - OptimizationAlgorithm = SIMP ( statut = "o", - typ = "TXM", - defaut = "Cobyla", - into = ( "Cobyla", "AbdoRackwitz" ), - max = 1, - fr = "Methode d'optimisation", - ang = "Optimisation method", - ), - - - PhysicalStartingPoint = SIMP ( statut = "f", - typ = "R", - max = "**", - fr = "Point de demarrage de l'algorithme iteratif", - ang = "Initial point for iterative process", - ), - - MaximumIterationsNumber = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - fr = "Nombre maximum d iterations", - ang = "Maximum number of iterations", - ), - - - MaximumAbsoluteError = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum absolue entre 2 iterations successifs", - ang = "Absolute maximum distance between 2 successive iterates", - ), - - MaximumRelativeError = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum relative entre 2 iterations successives", - ang = "Relative maximum distance between 2 successive iterates", - ), - - MaximumConstraintError = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", - ang = "Maximum absolute value of the constraint function minus the level value", - ), - - ImportanceSampling = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Tirage d'importance au point de conception", - ang = "Importance sampling at design point", - ), - - FirstOrder = BLOC ( condition = " Approximation in ( 'FirstOrder', ) ", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - HasoferReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite", - ang = "Reliability index", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorNumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - ImportanceFactorGraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - FORMEventProbabilitySensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - FORMEventProbabilitySensitivitySettings = BLOC ( condition = " FORMEventProbabilitySensitivity in ( 'yes', ) ", - - FORMEventProbabilitySensitivityNumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - FORMEventProbabilitySensitivityGraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC FORMEventProbabilitySensitivitySettings - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityNumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - HasoferReliabilityIndexSensitivityGraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC HasoferReliabilityIndexSettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC FirstOrder - - - SecondOrder = BLOC ( condition = " Approximation in ( 'SecondOrder', ) ", - - - TvedtApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de Tvedt", - ang = "Tvedt approximation", - ), - - HohenBichlerApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de HohenBichler", - ang = "HohenBichler approximation", - ), - - BreitungApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de Breitung", - ang = "Breitung approximation", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorNumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - ImportanceFactorGraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityNumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - HasoferReliabilityIndexSensitivityGraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC HasoferReliabilityIndexSettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC SecondOrder - - - - ), # Fin BLOC AnalyticalSettings - - - - ), # Fin BLOC ThresholdExceedence - - - -) # Fin PROC CRITERIA - - - - - - - diff --git a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V4.py b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V4.py deleted file mode 100644 index 05fdd221..00000000 --- a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V4.py +++ /dev/null @@ -1,1630 +0,0 @@ -# -*- coding: utf-8 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -# Les commentaires du style # Ordre Catalogue MOTCLEF sont utilises pour -# retrouver l ordre du catalogue - - -#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR -from Accas import * - -class loi ( ASSD ) : pass -class variable ( ASSD ) : pass - -import types -class Tuple: - def __init__(self,ntuple): - self.ntuple=ntuple - - def __convert__(self,valeur): - if type(valeur) == types.StringType: - return None - if len(valeur) != self.ntuple: - return None - return valeur - - def info(self): - return "Tuple de %s elements" % self.ntuple - - __repr__=info - __str__=info - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', - execmodul = None, - regles = ( AU_MOINS_UN ( 'CRITERIA' ), AU_MOINS_UN ( 'MODEL' ), - A_CLASSER(('LOG','DETERMINISTICVARIABLE'),'VARIABLE'),) - ) # Fin JDC_CATA - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - -LOG = PROC ( nom = "LOG", - op = None, - docu = "", - - DebugMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de debug de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - WrapperMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - UserMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de user de la bibliotheque Open TURNS", - ang = "Open TURNS library user level print", - ), - - InfoMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de info de la bibliotheque Open TURNS", - ang = "Open TURNS library info level print", - ), - - WarningMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", - ang = "Open TURNS library warning level print", - ), - - ErrorMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de error de la bibliotheque Open TURNS", - ang = "Open TURNS library error level print", - ), - -) # Fin PROC LOG -# Ordre Catalogue LOG - - - - -#================================ -# 0. Definition du modele physique -#================================ - - -DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", - sd_prod = variable, - op = None, - fr = "Variable deterministe", - ang = "Deterministic variable", - - N = SIMP ( statut = 'o', - typ = "TXM", - fr = "Nom", - ang = "Name", - ), - - T = SIMP ( statut = 'o', - defaut = "in", - into = ( "in" , "out", ), - typ = "TXM", - fr = "Type", - ang = "Type", - ), - - R = SIMP ( statut = 'o', - defaut = 0, - typ = "I", - fr = "Rang", - ang = "Rank", - ), - -) # Fin OPER DETERMINISTICVARIABLE -# Ordre Catalogue DETERMINISTICVARIABLE - - -import opsOT -MODEL = MACRO ( nom = "MODEL", - op = None, - UIinfo = { "groupes" : ( "Gestion du travail", ) }, - fr = "Chargement du wrapper du modele physique", - ang = "Physical model wrapper load", - sd_prod = opsOT.INCLUDE, - op_init = opsOT.INCLUDE_context, - fichier_ini = 1, - - FileName = SIMP ( statut = "o", - typ = "TXM", - fr = "Nom du modele physique", - ang = "Physical model identifier", - ), - -) # Fin PROC MODEL -# Ordre Catalogue MODEL - - - - -VARIABLE = PROC ( nom = "VARIABLE", - op = None, - docu = "", - fr = "Variable probabiliste", - ang = "Probabilistic variable", - - ModelVariable = SIMP ( statut = "o", - typ = ( variable, ), - ), - - Distribution = SIMP ( statut = "o", - typ = ( loi, ), - ), - -) # Fin PROC VARIABLE -# Ordre Catalogue VARIABLE - - - - -#================================ -# 1. Definition des LOIS -#================================ - -# Nota : les variables de type OPER doivent etre en majuscules ! -# Nota : les variables de type OPER doivent etre de premier niveau (pas imbriquees dans un autre type) -DISTRIBUTION = OPER ( nom = "DISTRIBUTION", - sd_prod = loi, - op = 68, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - -#==== -# Type de distribution -#==== - - Kind = SIMP ( statut = "o", typ = "TXM", - into = ( "Beta", - "Exponential", - "Gamma", - "Geometric", - "Gumbel", - "Histogram", - "Logistic", - "LogNormal", - "MultiNomial", - "Normal", - "TruncatedNormal", - "Poisson", - "Student", - "Triangular", - "Uniform", - #"UserDefined", - "Weibull", - ), - fr = "Choix du type de la loi marginale", - ang = "1D marginal distribution", - ), - -#==== -# Definition des parametres selon le type de la loi -#==== - - BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "RT", "MuSigma" ), - defaut = "RT", - fr = "Parametrage de la loi beta", - ang = "Beta distribution parameter set", - ), - - RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", - - R = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre R de la loi", - ang = "R parameter", - ), - - # T > R - T = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre T de la loi | T > R", - ang = "T parameter | T > R", - ), - - ), # Fin BLOC RT_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre A de la loi", - ang = "A parameter", - ), - - # B > A - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre B de la loi | B > A", - ang = "B parameter | B > A", - ), - - ), # Fin BLOC BETA - - - - EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC EXPONENTIAL - - - - GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "KLambda", "MuSigma" ), - defaut = "KLambda", - fr = "Parametrage de la loi gamma", - ang = "Gamma distribution parameter set", - ), - - KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", - - K = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre K de la loi | K > 0", - ang = "K parameter | K > 0", - ), - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC KLambda_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 0.0, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1.0, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - - ), # Fin BLOC GAMMA - - - - GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", - - P = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - val_max = 1., - fr = "Parametre P | 0 < P < 1", - ang = "P parameter | 0 < P < 1", - ), - - ), # Fin BLOC GEOMETRIC - - - - GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi gumbel", - ang = "Gumbel distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Beta de la loi", - ang = "Beta parameter", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - ), # Fin BLOC GUMBEL - - - - HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", - - First = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Premier point de la distribution", - ang = "First point", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = Tuple(2), - max = '**', - fr = "Liste de couples (point,probabilite)", - ang = "(point,probabiblity) couple list", - validators=VerifTypeTuple(('R','R')), - ), - - ), # Fin BLOC HISTOGRAM - - - - LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), - defaut = "MuSigmaLog", - fr = "Parametrage de la loi lognormale", - ang = "Lognormal distribution parameter set", - ), - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi | Mu > Gamma", - ang = "Mu parameter | Mu > Gamma", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi | Mu > Gamma", - ang = "Mu parameter | Mu > Gamma", - ), - - SigmaOverMu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre SigmaOverMu de la loi | SigmaOverMu > 0", - ang = "SigmaOverMu parameter | SigmaOverMu > 0", - ), - - ), # Fin BLOC MuSigmaOverMu_Parameters - - MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", - - MuLog = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu log de la loi", - ang = "Mu log parameter", - ), - - SigmaLog = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma log de la loi | SigmaLog > 0", - ang = "Sigma log parameter | SigmaLog > 0", - ), - - ), # Fin BLOC MuSigmaLog_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC LOGNORMAL - - - - LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Alpha de la loi", - ang = "Alpha parameter", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > = 0", - ang = "Beta parameter | Beta > = 0", - ), - - ), # Fin BLOC LOGISTIC - - - - MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", - - N = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Dimension de la loi", - ang = "Distribution dimension", - ), - - # Il faut un vecteur P de taille N - Mu = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC MULTINOMIAL - - - - NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC NORMAL - - - - POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC POISSON - - - - STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 2., - fr = "Parametre Nu de la loi | V > = 2", - ang = "Nu parameter | V > = 2", - ), - - ), # Fin BLOC STUDENT - - - - TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = M < = B", - ang = "Lower bound | A < = M < = B", - ), - - M = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Mode de la loi | A < = M < = B", - ang = "Mode | A < = M < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = M < = B", - ang = "Upper bound | A < = M < = B", - ), - - ), # Fin BLOC TRIANGULAR - - - - TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", - - MuN = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - SigmaN = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre SigmaN de la loi | SigmaN > 0", - ang = "SigmaN parameter | SigmaN> 0", - ), - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = B", - ang = "Lower bound | A < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = B", - ang = "Upper bound | A < = B", - ), - - ), # Fin BLOC TRUNCATEDNORMAL - - - - UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = B", - ang = "Lower bound | A < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = B", - ang = "Upper bound | A < = B", - ), - - ), # Fin BLOC UNIFORM - - - - USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC USERDEFINED - - - - WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi weibull", - ang = "Weibull distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC WEIBULL - -) # Fin OPER DISTRIBUTION -# Ordre Catalogue DISTRIBUTION - - - - - - - -#================================ -# 3. Definition de l'etude -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -CRITERIA = PROC ( nom = "CRITERIA", - op = None, - docu = "", - fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", - ang = "Writes the configuration file for OPENTURNS.", - - - - Type = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), - fr = "Type d'Analyse", - ang = "Analysis", - ), - - - - - - - - MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Experiment Plane", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - # UC 3.1.1 - ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", - - ExperimentPlane = SIMP ( statut = "o", - typ = "TXM", - into = ( "Axial", "Factorial", "Composite", ), - fr = "Methode", - ang = "Method", - ), - - Levels = SIMP ( statut = "o", - typ = "R", - val_min = 0.0, - max = '**', - fr = "Nombre de niveaux dans chaque direction", - ang = "Levels in each direction", - ), - - # Scaled Vector - UnitsPerDimension = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unite par dimension (autant que de variables declarees)", - ang = "Units per dimension (as much as declared variables)", - ), - - # Translation Vector - Center = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unite par dimension", - ang = "Units per dimension", - ), - - ), # Fin BLOC ExperimentPlaneSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - PointsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - ), # Fin BLOC RandomSamplingSettings - - Result = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", ), - defaut = "Min/Max", - fr = "Le minimum et le maximum", - ang = "The min and max values", - ), - - - ), # Fin BLOC MinMax - - - - - CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Taylor Variance Decomposition", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - - # UC 3.2. - TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - MeanFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au premier ordre", - ang = "MeanFirstOrder", - ), - - StandardDeviationFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type au premier ordre", - ang = "StandardDeviationFirstOrder", - ), - - MeanSecondOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au second ordre", - ang = "MeanSecondOrder", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - NumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - GraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - ), # Fin FACT Result - - ), # Fin BLOC TaylorVarianceDecompositionSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - PointsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - EmpiricalMean = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne empirique", - ang = "Empirical mean", - ), - - EmpiricalStandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - EmpiricalQuantile = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Quantile empirique", - ang = "Empirical quantile", - ), - - EmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ", - - EmpiricalQuantile_Order = SIMP ( statut = "o", - typ = 'R', - defaut = 0.95, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Ordre du quantile empirique", - ang = "Empirical quantile order", - ), - - ), # Fin BLOC EmpiricalQuantileSettings - - AnalysedCorrelations = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Correlations analysees", - ang = "Analysed correlations", - ), - - KernelSmoothing = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Kernel smoothing de l'echantillon", - ang = "Kernel smoothing of the sample", - ), - - ), # Fin FACT Result - - ), # Fin BLOC RandomSamplingSettings - - ), # Fin BLOC CentralUncertainty - - - - - ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", - - Event = FACT ( statut = "o", - min = 1, - max = 1, - - Threshold = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Le seuil de defaillance", - ang = "Failure threshold", - ), - - ComparisonOperator = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), - fr = "Que faut-il ne pas depasser : un maximum ou un minimum", - ang = "What is the failure threshold : maximum or minimum", - ), - ), # Fin FACT Event - - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Simulation", "Analytical" ), - fr = "Methode", - ang = "Method", - ), - - SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", - - Algorithm = SIMP ( statut = "o", - typ = "TXM", - into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), - fr = "Algorithme de simulation", - ang = "Simulation algorithm", - ), - - - RandomGenerator = FACT ( statut = "o", - min = 1, - max = 1, - - SeedToBeSet = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", - ang = "Does the random generator seed need to be set ?", - ), - - SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", - - RandomGeneratorSeed = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Racine du generateur aleatoire", - ang = "Random generator seed", - ), - - ), # Fin BLOC SeedSettings - - ), # Fin FACT RandomGenerator - - - BlockSize = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - defaut = 1, - fr = "Nombre de calculs realises en bloc", - ang = "Number of computations as a block", - ), - - MaximumOuterSampling = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - fr = "Maximum d'iterations externes", - ang = "Maximum outer Sampling value", - ), - - MaximumCoefficientOfVariation = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 0.1, - val_min = 0.0, - fr = " maximum ...", - ang = "Absolute maximum ...." - ), - - ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", - - MeanVector = SIMP ( statut = "o", - typ = "R", - max = "**", - fr = "Moyenne", - ang = "Mean vector", - ), - - Correlation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'Independent', 'Linear' ), - defaut = 'Linear', - max = 1, - fr = "Le type de correlation entre les variables", - ang = "Correlation between variables", - ), - - ), # Fin BLOC ImportanceSamplingSettings - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - StandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Ecart type", - ang = "Standard deviation", - ), - - ConfidenceInterval = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", - - Level = SIMP ( statut = "o", - typ = 'R', - defaut = 0.9, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Niveau de confiance", - ang = "Confidence level", - ), - - ), # Fin BLOC ConfidenceIntervalSettings - - VariationCoefficient = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Coefficient de variation", - ang = "VariationCoefficient", - ), - - IterationNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'iterations", - ang = "Iteration number", - ), - - ConvergenceGraph = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Graphe de convergence", - ang = "Convergence graph", - ), - - ), # Fin FACT Result - - - - ), # Fin BLOC SimulationSettings - - - - AnalyticalSettings = BLOC ( condition = " Method in ( 'Analytical', ) ", - - Approximation = SIMP ( statut = "o", - typ = "TXM", - defaut = "FirstOrder", - into = ( "FirstOrder", "SecondOrder" ), - max = 1, - fr = "Approximation", - ang = "Approximation", - ), - - OptimizationAlgorithm = SIMP ( statut = "o", - typ = "TXM", - defaut = "Cobyla", - into = ( "Cobyla", "AbdoRackwitz" ), - max = 1, - fr = "Methode d'optimisation", - ang = "Optimisation method", - ), - - - PhysicalStartingPoint = SIMP ( statut = "f", - typ = "R", - max = "**", - fr = "Point de demarrage de l'algorithme iteratif", - ang = "Initial point for iterative process", - ), - - MaximumIterationsNumber = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - fr = "Nombre maximum d iterations", - ang = "Maximum number of iterations", - ), - - - MaximumAbsoluteError = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum absolue entre 2 iterations successifs", - ang = "Absolute maximum distance between 2 successive iterates", - ), - - MaximumRelativeError = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum relative entre 2 iterations successives", - ang = "Relative maximum distance between 2 successive iterates", - ), - - MaximumConstraintError = SIMP ( statut = "f", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", - ang = "Maximum absolute value of the constraint function minus the level value", - ), - - ImportanceSampling = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Tirage d'importance au point de conception", - ang = "Importance sampling at design point", - ), - - FirstOrder = BLOC ( condition = " Approximation in ( 'FirstOrder', ) ", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - HasoferReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite", - ang = "Reliability index", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorNumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - ImportanceFactorGraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - FORMEventProbabilitySensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - FORMEventProbabilitySensitivitySettings = BLOC ( condition = " FORMEventProbabilitySensitivity in ( 'yes', ) ", - - FORMEventProbabilitySensitivityNumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - FORMEventProbabilitySensitivityGraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC FORMEventProbabilitySensitivitySettings - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityNumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - HasoferReliabilityIndexSensitivityGraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC HasoferReliabilityIndexSettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC FirstOrder - - - SecondOrder = BLOC ( condition = " Approximation in ( 'SecondOrder', ) ", - - - TvedtApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de Tvedt", - ang = "Tvedt approximation", - ), - - HohenBichlerApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de HohenBichler", - ang = "HohenBichler approximation", - ), - - BreitungApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de Breitung", - ang = "Breitung approximation", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorNumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - ImportanceFactorGraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC ImportanceFactorSettings - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityNumericalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Resultats numeriques", - ang = "NumericalResults", - ), - - HasoferReliabilityIndexSensitivityGraphicalResults = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Resultats graphiques", - ang = "GraphicalResults", - ), - - ), # Fin BLOC HasoferReliabilityIndexSettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC SecondOrder - - - - ), # Fin BLOC AnalyticalSettings - - - - ), # Fin BLOC ThresholdExceedence - - - -) # Fin PROC CRITERIA -# Ordre Catalogue CRITERIA - - - - - - - diff --git a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V5.py b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V5.py deleted file mode 100644 index 89ce0150..00000000 --- a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V5.py +++ /dev/null @@ -1,1528 +0,0 @@ -# -*- coding: utf-8 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR -from Accas import * - -class loi ( ASSD ) : pass -class variable ( ASSD ) : pass - -import types -class Tuple: - def __init__(self,ntuple): - self.ntuple=ntuple - - def __convert__(self,valeur): - if type(valeur) == types.StringType: - return None - if len(valeur) != self.ntuple: - return None - return valeur - - def info(self): - return "Tuple de %s elements" % self.ntuple - - __repr__=info - __str__=info - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', - execmodul = None, - regles = ( AU_MOINS_UN ( 'CRITERIA' ), - AU_MOINS_UN ( 'MODEL' ), - AVANT ( ('DISTRIBUTION', 'MODEL'), 'VARIABLE' ), -# A_CLASSER ( 'VARIABLE', ) 'CORRELATION' ), -# A_CLASSER ( 'VARIABLE', 'CRITERIA' ), -# A_CLASSER ( 'CORRELATION', 'CRITERIA' ), - ), - ) # Fin JDC_CATA - - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - -LOG = PROC ( nom = "LOG", - op = None, - docu = "", - - DebugMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de debug de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - WrapperMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - UserMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de user de la bibliotheque Open TURNS", - ang = "Open TURNS library user level print", - ), - - InfoMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de info de la bibliotheque Open TURNS", - ang = "Open TURNS library info level print", - ), - - WarningMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", - ang = "Open TURNS library warning level print", - ), - - ErrorMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de error de la bibliotheque Open TURNS", - ang = "Open TURNS library error level print", - ), - -) # Fin PROC LOG -# Ordre Catalogue LOG - - - -TOTO = PROC( nom='toto', op = None, docu = "", - fr = "toto", ang = "toto", - - TITI=SIMP(statut = 'o', - typ = "TXM", - fr = "Nom", - ang = "Name", - ), -) -# Ordre Catalogue TOTO - - - -#================================ -# 0. Definition du modele physique -#================================ - - -DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", - sd_prod = variable, - op = None, - fr = "Variable deterministe", - ang = "Deterministic variable", - - N = SIMP ( statut = 'o', - typ = "TXM", - fr = "Nom", - ang = "Name", - ), - - T = SIMP ( statut = 'o', - defaut = "in", - into = ( "in" , "out", ), - typ = "TXM", - fr = "Type", - ang = "Type", - ), - - R = SIMP ( statut = 'o', - defaut = 0, - typ = "I", - fr = "Rang", - ang = "Rank", - ), - -) # Fin OPER DETERMINISTICVARIABLE -# Ordre Catalogue DETERMINISTICVARIABLE - - - - -import opsOT -MODEL = MACRO ( nom = "MODEL", - op = None, - UIinfo = { "groupes" : ( "Gestion du travail", ) }, - fr = "Chargement du wrapper du modele physique", - ang = "Physical model wrapper load", - sd_prod = opsOT.INCLUDE, - op_init = opsOT.INCLUDE_context, - fichier_ini = 1, - - FileName = SIMP ( statut = "o", - typ = "Fichier", - fr = "Nom du modele physique", - ang = "Physical model identifier", - ), - -) # Fin PROC MODEL -# Ordre Catalogue MODEL - - - - -VARIABLE = PROC ( nom = "VARIABLE", - op = None, - docu = "", - fr = "Variable probabiliste", - ang = "Probabilistic variable", - - ModelVariable = SIMP ( statut = "o", - typ = ( variable, ), - ), - - Distribution = SIMP ( statut = "o", - typ = ( loi, ), - ), - -) # Fin PROC VARIABLE -# Ordre Catalogue VARIABLE - - -CORRELATION = PROC ( nom = 'CORRELATION', - op = None, - docu = "", - fr = "Correlation entre variables", - ang = "Variable correlation", - - Copula = SIMP ( statut = "o", - typ = "TXM", - into = ( "Independent", ), - defaut = "Independent", - fr = "Type de la copule", - ang = "Copula kind", - ), - - -) # Fin PROC CORRELATION -# Ordre Catalogue CORRELATION - - -#================================ -# 1. Definition des LOIS -#================================ - -# Nota : les variables de type OPER doivent etre en majuscules ! -# Nota : les variables de type OPER doivent etre de premier niveau (pas imbriquees dans un autre type) -DISTRIBUTION = OPER ( nom = "DISTRIBUTION", - sd_prod = loi, - op = 68, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - -#==== -# Type de distribution -#==== - - Kind = SIMP ( statut = "o", typ = "TXM", - into = ( "Beta", - "Exponential", - "Gamma", - "Geometric", - "Gumbel", - "Histogram", - "Logistic", - "LogNormal", - "MultiNomial", - "Normal", - "Poisson", - "Student", - "Triangular", - "TruncatedNormal", - "Uniform", - #"UserDefined", - "Weibull", - ), - fr = "Choix du type de la loi marginale", - ang = "1D marginal distribution", - ), - -#==== -# Definition des parametres selon le type de la loi -#==== - - BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "RT", "MuSigma" ), - defaut = "RT", - fr = "Parametrage de la loi beta", - ang = "Beta distribution parameter set", - ), - - RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", - - R = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre R de la loi", - ang = "R parameter", - ), - - # T > R - T = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre T de la loi | T > R", - ang = "T parameter | T > R", - ), - - ), # Fin BLOC RT_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre A de la loi", - ang = "A parameter", - ), - - # B > A - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre B de la loi | B > A", - ang = "B parameter | B > A", - ), - - ), # Fin BLOC BETA - - - - EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC EXPONENTIAL - - - - GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "KLambda", "MuSigma" ), - defaut = "KLambda", - fr = "Parametrage de la loi gamma", - ang = "Gamma distribution parameter set", - ), - - KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", - - K = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre K de la loi | K > 0", - ang = "K parameter | K > 0", - ), - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC KLambda_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 0.0, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1.0, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - - ), # Fin BLOC GAMMA - - - - GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", - - P = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - val_max = 1., - fr = "Parametre P | 0 < P < 1", - ang = "P parameter | 0 < P < 1", - ), - - ), # Fin BLOC GEOMETRIC - - - - GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi gumbel", - ang = "Gumbel distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Beta de la loi", - ang = "Beta parameter", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - ), # Fin BLOC GUMBEL - - - - HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", - - First = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Premier point de la distribution", - ang = "First point", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = Tuple(2), - max = '**', - fr = "Liste de couples (point,probabilite)", - ang = "(point,probabiblity) couple list", - validators=VerifTypeTuple(('R','R')), - ), - - ), # Fin BLOC HISTOGRAM - - - - LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), - defaut = "MuSigmaLog", - fr = "Parametrage de la loi lognormale", - ang = "Lognormal distribution parameter set", - ), - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi | Mu > Gamma", - ang = "Mu parameter | Mu > Gamma", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi | Mu > Gamma", - ang = "Mu parameter | Mu > Gamma", - ), - - SigmaOverMu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre SigmaOverMu de la loi | SigmaOverMu > 0", - ang = "SigmaOverMu parameter | SigmaOverMu > 0", - ), - - ), # Fin BLOC MuSigmaOverMu_Parameters - - MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", - - MuLog = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu log de la loi", - ang = "Mu log parameter", - ), - - SigmaLog = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma log de la loi | SigmaLog > 0", - ang = "Sigma log parameter | SigmaLog > 0", - ), - - ), # Fin BLOC MuSigmaLog_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC LOGNORMAL - - - - LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Alpha de la loi", - ang = "Alpha parameter", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > = 0", - ang = "Beta parameter | Beta > = 0", - ), - - ), # Fin BLOC LOGISTIC - - - - MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", - - N = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Dimension de la loi", - ang = "Distribution dimension", - ), - - # Il faut un vecteur P de taille N - Mu = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC MULTINOMIAL - - - - NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC NORMAL - - - - POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC POISSON - - - - STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 2., - fr = "Parametre Nu de la loi | V > = 2", - ang = "Nu parameter | V > = 2", - ), - - ), # Fin BLOC STUDENT - - - - TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = M < = B", - ang = "Lower bound | A < = M < = B", - ), - - M = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Mode de la loi | A < = M < = B", - ang = "Mode | A < = M < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = M < = B", - ang = "Upper bound | A < = M < = B", - ), - - ), # Fin BLOC TRIANGULAR - - - - TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", - - MuN = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - SigmaN = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre SigmaN de la loi | SigmaN > 0", - ang = "SigmaN parameter | SigmaN> 0", - ), - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = B", - ang = "Lower bound | A < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = B", - ang = "Upper bound | A < = B", - ), - - ), # Fin BLOC TRUNCATEDNORMAL - - - - UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < = B", - ang = "Lower bound | A < = B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < = B", - ang = "Upper bound | A < = B", - ), - - ), # Fin BLOC UNIFORM - - - - USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC USERDEFINED - - - - WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi weibull", - ang = "Weibull distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma", - ang = "Gamma parameter", - ), - - ), # Fin BLOC WEIBULL - -) # Fin OPER DISTRIBUTION -# Ordre Catalogue DISTRIBUTION - - - - - - -#================================ -# 3. Definition de l'etude -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -CRITERIA = PROC ( nom = "CRITERIA", - op = None, - docu = "", - fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", - ang = "Writes the configuration file for OPENTURNS.", - - - - Type = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), - fr = "Type d'Analyse", - ang = "Analysis", - ), - - - - - - - - MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Experiment Plane", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - # UC 3.1.1 - ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", - - ExperimentPlane = SIMP ( statut = "o", - typ = "TXM", - into = ( "Axial", "Factorial", "Composite", ), - fr = "Methode", - ang = "Method", - ), - - Levels = SIMP ( statut = "o", - typ = "R", - val_min = 0.0, - max = '**', - fr = "Nombre de niveaux dans chaque direction", - ang = "Levels in each direction", - ), - - # Scaled Vector - UnitsPerDimension = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unite par dimension (autant que de variables declarees)", - ang = "Units per dimension (as much as declared variables)", - ), - - # Translation Vector - Center = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unite par dimension", - ang = "Units per dimension", - ), - - ), # Fin BLOC ExperimentPlaneSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - SimulationsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - ), # Fin BLOC RandomSamplingSettings - - Result = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", ), - defaut = "Min/Max", - fr = "Le minimum et le maximum", - ang = "The min and max values", - ), - - - ), # Fin BLOC MinMax - - - - - CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Taylor Variance Decomposition", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - - # UC 3.2. - TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - MeanFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au premier ordre", - ang = "MeanFirstOrder", - ), - - StandardDeviationFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type au premier ordre", - ang = "StandardDeviationFirstOrder", - ), - - MeanSecondOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Moyenne au second ordre", - ang = "MeanSecondOrder", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - ), # Fin FACT Result - - ), # Fin BLOC TaylorVarianceDecompositionSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - SimulationsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - EmpiricalMean = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne empirique", - ang = "Empirical mean", - ), - - EmpiricalStandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - EmpiricalQuantile = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Quantile empirique", - ang = "Empirical quantile", - ), - - EmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ", - - EmpiricalQuantile_Order = SIMP ( statut = "o", - typ = 'R', - defaut = 0.95, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Ordre du quantile empirique", - ang = "Empirical quantile order", - ), - - ), # Fin BLOC EmpiricalQuantileSettings - - CorrelationAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Correlations analysees", - ang = "Analysed correlations", - ), - - KernelSmoothing = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Kernel smoothing de l'echantillon", - ang = "Kernel smoothing of the sample", - ), - - ), # Fin FACT Result - - ), # Fin BLOC RandomSamplingSettings - - ), # Fin BLOC CentralUncertainty - - - - - ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", - - Event = FACT ( statut = "o", - min = 1, - max = 1, - - Threshold = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Le seuil de defaillance", - ang = "Failure threshold", - ), - - ComparisonOperator = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), - fr = "Que faut-il ne pas depasser : un maximum ou un minimum", - ang = "What is the failure threshold : maximum or minimum", - ), - ), # Fin FACT Event - - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Simulation", "FORM_SORM" ), - fr = "Methode", - ang = "Method", - ), - - SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", - - Algorithm = SIMP ( statut = "o", - typ = "TXM", - into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), - fr = "Algorithme de simulation", - ang = "Simulation algorithm", - ), - - - RandomGenerator = FACT ( statut = "o", - min = 1, - max = 1, - - SeedToBeSet = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", - ang = "Does the random generator seed need to be set ?", - ), - - SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", - - RandomGeneratorSeed = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Racine du generateur aleatoire", - ang = "Random generator seed", - ), - - ), # Fin BLOC SeedSettings - - ), # Fin FACT RandomGenerator - - - BlockSize = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - defaut = 1, - fr = "Nombre de calculs realises en bloc", - ang = "Number of computations as a block", - ), - - MaximumOuterSampling = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - fr = "Maximum d'iterations externes", - ang = "Maximum outer Sampling value", - ), - - MaximumCoefficientOfVariation = SIMP ( statut = "o", - typ = "R", - max = 1., - defaut = 0.1, - val_min = 0.0, - fr = " maximum ...", - ang = "Absolute maximum ...." - ), - - ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", - - MeanVector = SIMP ( statut = "o", - typ = "R", - max = "**", - fr = "Moyenne", - ang = "Mean vector", - ), - - Correlation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'Independent', 'Linear' ), - defaut = 'Linear', - max = 1, - fr = "Le type de correlation entre les variables", - ang = "Correlation between variables", - ), - - ), # Fin BLOC ImportanceSamplingSettings - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - StandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Ecart type", - ang = "Standard deviation", - ), - - ConfidenceInterval = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", - - Level = SIMP ( statut = "o", - typ = 'R', - defaut = 0.9, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Niveau de confiance", - ang = "Confidence level", - ), - - ), # Fin BLOC ConfidenceIntervalSettings - - VariationCoefficient = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Coefficient de variation", - ang = "VariationCoefficient", - ), - - SimulationsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'iterations", - ang = "Iteration number", - ), - - ConvergenceGraph = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Graphe de convergence", - ang = "Convergence graph", - ), - - ), # Fin FACT Result - - - - ), # Fin BLOC SimulationSettings - - - - FORM_SORMSettings = BLOC ( condition = " Method in ( 'FORM_SORM', ) ", - - Approximation = SIMP ( statut = "o", - typ = "TXM", - defaut = "FirstOrder", - into = ( "FirstOrder", "SecondOrder" ), - max = 1, - fr = "Approximation", - ang = "Approximation", - ), - - OptimizationAlgorithm = SIMP ( statut = "o", - typ = "TXM", - defaut = "Cobyla", - into = ( "Cobyla", "AbdoRackwitz" ), - max = 1, - fr = "Methode d'optimisation", - ang = "Optimisation method", - ), - - - PhysicalStartingPoint = SIMP ( statut = "o", - typ = "R", - max = "**", - fr = "Point de demarrage de l'algorithme iteratif", - ang = "Initial point for iterative process", - ), - - MaximumIterationsNumber = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - fr = "Nombre maximum d iterations", - ang = "Maximum number of iterations", - ), - - - MaximumAbsoluteError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum absolue entre 2 iterations successifs", - ang = "Absolute maximum distance between 2 successive iterates", - ), - - MaximumRelativeError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum relative entre 2 iterations successives", - ang = "Relative maximum distance between 2 successive iterates", - ), - - MaximumConstraintError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", - ang = "Maximum absolute value of the constraint function minus the level value", - ), - - ImportanceSampling = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Tirage d'importance au point de conception", - ang = "Importance sampling at design point", - ), - - FORMResult = BLOC ( condition = " Approximation in ( 'FirstOrder', ) ", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - HasoferReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite", - ang = "Reliability index", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - FORMEventProbabilitySensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC FORMResult - - - SORMResult = BLOC ( condition = " Approximation in ( 'SecondOrder', ) ", - - - TvedtApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de Tvedt", - ang = "Tvedt approximation", - ), - - HohenBichlerApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de HohenBichler", - ang = "HohenBichler approximation", - ), - - BreitungApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Approximation de Breitung", - ang = "Breitung approximation", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC SecondOrder - - - - ), # Fin BLOC FORM_SORMSettings - - - - ), # Fin BLOC ThresholdExceedence - - - -) # Fin PROC CRITERIA -# Ordre Catalogue CRITERIA - - - - - - - diff --git a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V6.py b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V6.py deleted file mode 100644 index 80730558..00000000 --- a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V6.py +++ /dev/null @@ -1,1726 +0,0 @@ -# -*- coding: utf-8 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR -from Accas import * - -class loi ( ASSD ) : pass -class variable ( ASSD ) : pass - -import types -class Tuple: - def __init__(self,ntuple): - self.ntuple=ntuple - - def __convert__(self,valeur): - if type(valeur) == types.StringType: - return None - if len(valeur) != self.ntuple: - return None - return valeur - - def info(self): - return "Tuple de %s elements" % self.ntuple - - __repr__=info - __str__=info - -class Matrice: - def __init__(self,nbLigs=None,nbCols=None,methodeCalculTaille=None,formatSortie="ligne",valSup=None,valMin=None,structure=None): - self.nbLigs=nbLigs - self.nbCols=nbCols - self.methodeCalculTaille=methodeCalculTaille - self.formatSortie=formatSortie - self.valSup=valSup - self.valMin=valMin - self.structure=structure - - def __convert__(self,valeur): - # Attention ne verifie pas grand chose - if type(valeur) != types.ListType : - return None - return valeur - - def info(self): - return "Matrice %s x %s" % (self.nbLigs, self.nbCols) - - __repr__=info - __str__=info - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', - execmodul = None, - regles = ( AU_MOINS_UN ( 'CRITERIA' ), - AU_MOINS_UN ( 'MODEL' ), - AVANT ( ('DISTRIBUTION', 'MODEL'), 'VARIABLE' ), -# A_CLASSER ( 'VARIABLE', 'CORRELATION' ), -# A_CLASSER ( 'VARIABLE', 'CRITERIA' ), -# A_CLASSER ( 'CORRELATION', 'CRITERIA' ), - ), - ) # Fin JDC_CATA - - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - -LOG = PROC ( nom = "LOG", - op = None, - docu = "", - - DebugMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de debug de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - WrapperMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - UserMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de user de la bibliotheque Open TURNS", - ang = "Open TURNS library user level print", - ), - - InfoMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de info de la bibliotheque Open TURNS", - ang = "Open TURNS library info level print", - ), - - WarningMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", - ang = "Open TURNS library warning level print", - ), - - ErrorMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de error de la bibliotheque Open TURNS", - ang = "Open TURNS library error level print", - ), - -) # Fin PROC LOG -# Ordre Catalogue LOG - - - - - -#================================ -# Definition des LOIS -#================================ - -# Nota : les variables de type OPER doivent etre en majuscules ! -# Nota : les variables de type OPER doivent etre de premier niveau (pas imbriquees dans un autre type) -DISTRIBUTION = OPER ( nom = "DISTRIBUTION", - sd_prod = loi, - op = 68, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - -#==== -# Type de distribution -#==== - - Kind = SIMP ( statut = "o", typ = "TXM", - into = ( "Beta", - "Exponential", - "Gamma", - "Geometric", - "Gumbel", - "Histogram", - "Laplace", - "Logistic", - "LogNormal", - "MultiNomial", - "NonCentralStudent", - "Normal", - "Poisson", - "Rayleigh", - "Student", - "Triangular", - "TruncatedNormal", - "Uniform", - #"UserDefined", - "Weibull", - ), - fr = "Choix du type de la loi marginale", - ang = "1D marginal distribution", - ), - -#==== -# Definition des parametres selon le type de la loi -#==== - - BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "RT", "MuSigma" ), - defaut = "RT", - fr = "Parametrage de la loi beta", - ang = "Beta distribution parameter set", - ), - - RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", - - R = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre R de la loi | R > 0", - ang = "R parameter | R > 0", - ), - - # T > R - T = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre T de la loi | T > R", - ang = "T parameter | T > R", - ), - - ), # Fin BLOC RT_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - # B > A - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi", - ang = "Support upper bound", - ), - - ), # Fin BLOC BETA - - - - EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC EXPONENTIAL - - - - GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "KLambda", "MuSigma" ), - defaut = "KLambda", - fr = "Parametrage de la loi gamma", - ang = "Gamma distribution parameter set", - ), - - KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", - - K = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre K de la loi | K > 0", - ang = "K parameter | K > 0", - ), - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC KLambda_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - - ), # Fin BLOC GAMMA - - - - GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", - - P = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - val_max = 1., - fr = "Parametre P | 0 < P < 1", - ang = "P parameter | 0 < P < 1", - ), - - ), # Fin BLOC GEOMETRIC - - - - GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi gumbel", - ang = "Gumbel distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Beta de la loi", - ang = "Beta parameter", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - ), # Fin BLOC GUMBEL - - - - HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", - - First = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = Tuple(2), - max = '**', - fr = "Liste de couples : largeur de classe, probabilité associée", - ang = "Class bandwidth, associated probability couple list", - validators=VerifTypeTuple(('R','R')), - ), - - ), # Fin BLOC HISTOGRAM - - - - LAPLACE = BLOC ( condition = " Kind in ( 'Laplace', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - ), # Fin BLOC LAPLACE - - LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), - defaut = "MuSigmaLog", - fr = "Parametrage de la loi lognormale", - ang = "Lognormal distribution parameter set", - ), - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - SigmaOverMu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Rapport ecart type / moyenne de la loi", - ang = "Standard deviation / mean value ratio", - ), - - ), # Fin BLOC MuSigmaOverMu_Parameters - - MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", - - MuLog = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne du log", - ang = "Log mean value", - ), - - SigmaLog = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type du log", - ang = "Log standard deviation", - ), - - ), # Fin BLOC MuSigmaLog_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC LOGNORMAL - - - - LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC LOGISTIC - - - - MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", - - N = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Parametre N de la loi | N > 0", - ang = "N parameter | N > 0", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = "R", - max = '**', - fr = "Liste de probabilités", - ang = "Probability list", - validators=VerifTypeTuple(('R','R')), - ), - - ), # Fin BLOC MULTINOMIAL - - - NONCENTRALSTUDENT = BLOC ( condition = " Kind in ( 'NonCentralStudent', ) ", - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Nu de la loi | Nu > 0", - ang = "Nu parameter | Nu > 0", - ), - - Delta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Delta de la loi | Delta > 0", - ang = "Delta parameter | Delta > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma de centrage de la loi", - ang = "Gamma parameter", - ), - - ), # Fin BLOC NONCENTRALSTUDENT - - - NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC NORMAL - - - - POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC POISSON - - - - RAYLEIGH = BLOC ( condition = " Kind in ( 'Rayleigh', ) ", - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - ), # Fin BLOC RAYLEIGH - - - STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 2., - fr = "Parametre Nu de la loi | Nu > 2", - ang = "Nu parameter | Nu > 2", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Sigma de la loi", - ang = "Sigma parameter", - ), - - ), # Fin BLOC STUDENT - - - - TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi | A < M < B", - ang = "Support lower bound | A < M < B", - ), - - M = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Mode de la loi | A < M < B", - ang = "Mode | A < M < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi | A < M < B", - ang = "Support upper bound | A < M < B", - ), - - ), # Fin BLOC TRIANGULAR - - - - TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", - - MuN = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi Normale non tronquée", - ang = "Mean value of the associated non truncated normal distribution", - ), - - SigmaN = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart-type de la loi Normale non tronquée", - ang = "Standard deviation of the associated non truncated normal distribution", - ), - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < B", - ang = "Lower bound | A < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < B", - ang = "Upper bound | A < B", - ), - - ), # Fin BLOC TRUNCATEDNORMAL - - - - UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi | A < B", - ang = "Support lower bound | A < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi | A < B", - ang = "Support upper bound | A < B", - ), - - ), # Fin BLOC UNIFORM - - - - USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC USERDEFINED - - - - WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi weibull", - ang = "Weibull distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC WEIBULL - -) # Fin OPER DISTRIBUTION -# Ordre Catalogue DISTRIBUTION - - - -#================================ -# Definition du modele physique -#================================ - - -DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", - sd_prod = variable, - op = None, - fr = "Variable deterministe", - ang = "Deterministic variable", - - N = SIMP ( statut = 'o', - typ = "TXM", - fr = "Nom", - ang = "Name", - ), - - T = SIMP ( statut = 'o', - defaut = "in", - into = ( "in" , "out", ), - typ = "TXM", - fr = "Type", - ang = "Type", - ), - - R = SIMP ( statut = 'o', - defaut = 0, - typ = "I", - fr = "Rang", - ang = "Rank", - ), - -) # Fin OPER DETERMINISTICVARIABLE -# Ordre Catalogue DETERMINISTICVARIABLE - - - -import opsOT -MODEL = MACRO ( nom = "MODEL", - op = None, - UIinfo = { "groupes" : ( "Gestion du travail", ) }, - fr = "Chargement du wrapper du modele physique", - ang = "Physical model wrapper load", - sd_prod = opsOT.INCLUDE, - op_init = opsOT.INCLUDE_context, - fichier_ini = 1, - - FileName = SIMP ( statut = "o", - typ = "Fichier", - fr = "Nom du modele physique", - ang = "Physical model identifier", - ), - -) # Fin PROC MODEL -# Ordre Catalogue MODEL - - - - -VARIABLE = PROC ( nom = "VARIABLE", - op = None, - docu = "", - fr = "Variable probabiliste", - ang = "Probabilistic variable", - - ModelVariable = SIMP ( statut = "o", - typ = ( variable, ), - fr = "Variable d'entrée du modèle", - ang = "Input variable of the model", - ), - - Distribution = SIMP ( statut = "o", - typ = ( loi, ), - fr = "Modélisation probabiliste", - ang = "Probabilistic modelisation", - ), - -) # Fin PROC VARIABLE -# Ordre Catalogue VARIABLE - - -CORRELATION = PROC ( nom = 'CORRELATION', - op = None, - docu = "", - fr = "Correlation entre variables", - ang = "Variable correlation", - - Copula = SIMP ( statut = "o", - typ = 'TXM', - into = ( "Independent", "Normal" ), - defaut = "Independent", - fr = "Type de la copule", - ang = "Copula kind", - ), - - Matrix = BLOC ( condition = "Copula in ( 'Normal', )", - - CorrelationMatrix = SIMP ( statut = "o", - typ = Matrice(nbLigs=None, - nbCols=None, - methodeCalculTaille='NbDeVariables', - valSup=1, - valMin=-1, - structure="symetrique"), - fr = "Matrice de correlation entre les variables d'entree", - ang = "Correlation matrix for input variables", - ), - ), # Fin BLOC Matrix - - -) # Fin PROC CORRELATION -# Ordre Catalogue CORRELATION - - - - - -#================================ -# Definition de l'etude -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -CRITERIA = PROC ( nom = "CRITERIA", - op = None, - docu = "", - fr = "Critère de l'étude d'incertitudes", - ang = "Uncertainty study criteria", - - - - Type = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), - fr = "Type du critère", - ang = "Criteria type", - ), - - - - - - - - MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Experiment Plane", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - # UC 3.1.1 - ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", - - ExperimentPlane = SIMP ( statut = "o", - typ = "TXM", - into = ( "Axial", "Factorial", "Composite", ), - fr = "Type du plan d'expérience", - ang = "Experiment plane type", - ), - - Levels = SIMP ( statut = "o", - typ = "R", - val_min = 0.0, - max = '**', - fr = "Liste de niveaux dans chaque direction", - ang = "Levels in each direction", - ), - - # Scaled Vector - UnitPerDimension = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unité par dimension (autant que de variables declarées)", - ang = "Units per dimension (as much as declared variables)", - ), - - # Translation Vector - Center = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Centre du plan d'expérience", - ang = "Experiment plan center", - ), - - ), # Fin BLOC ExperimentPlaneSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - SimulationsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - ), # Fin BLOC RandomSamplingSettings - - Result = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", ), - defaut = "Min/Max", - fr = "Le minimum et le maximum de la variable d'intérêt", - ang = "The min and max values", - ), - - - ), # Fin BLOC MinMax - - - - - CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Taylor Variance Decomposition", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - - # UC 3.2. - TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - MeanFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au premier ordre", - ang = "MeanFirstOrder", - ), - - StandardDeviationFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type au premier ordre", - ang = "StandardDeviationFirstOrder", - ), - - MeanSecondOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Moyenne au second ordre", - ang = "MeanSecondOrder", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - ), # Fin FACT Result - - ), # Fin BLOC TaylorVarianceDecompositionSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - SimulationsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - EmpiricalMean = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne empirique", - ang = "Empirical mean", - ), - - EmpiricalStandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - EmpiricalQuantile = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Quantile empirique", - ang = "Empirical quantile", - ), - - EmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ", - - EmpiricalQuantile_Order = SIMP ( statut = "o", - typ = 'R', - defaut = 0.95, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Ordre du quantile empirique", - ang = "Empirical quantile order", - ), - - ), # Fin BLOC EmpiricalQuantileSettings - - CorrelationAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Correlations analysees", - ang = "Analysed correlations", - ), - - KernelSmoothing = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Kernel smoothing de l'echantillon", - ang = "Kernel smoothing of the sample", - ), - - KernelSmoothingSettings = BLOC ( condition = " KernelSmoothing in ( 'yes', ) ", - - KernelSmoothingDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique de la reconstruction a noyau", - ang = "Kernel Smoothing Drawing Filename", - ), - - - ), # Fin BLOC KernelSmoothingSettings - - ), # Fin FACT Result - - ), # Fin BLOC RandomSamplingSettings - - ), # Fin BLOC CentralUncertainty - - - - - ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", - - Event = FACT ( statut = "o", - min = 1, - max = 1, - - Threshold = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Le seuil de defaillance", - ang = "Failure threshold", - ), - - ComparisonOperator = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), - fr = "Que faut-il ne pas depasser : un maximum ou un minimum", - ang = "What is the failure threshold : maximum or minimum", - ), - ), # Fin FACT Event - - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Simulation", "FORM_SORM" ), - fr = "Methode", - ang = "Method", - ), - - SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", - - Algorithm = SIMP ( statut = "o", - typ = "TXM", - into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), - fr = "Algorithme de simulation", - ang = "Simulation algorithm", - ), - - - RandomGenerator = FACT ( statut = "o", - min = 1, - max = 1, - - SeedToBeSet = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", - ang = "Does the random generator seed need to be set ?", - ), - - SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", - - RandomGeneratorSeed = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Racine du generateur aleatoire", - ang = "Random generator seed", - ), - - ), # Fin BLOC SeedSettings - - ), # Fin FACT RandomGenerator - - - BlockSize = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - defaut = 1, - fr = "Nombre de calculs realises en bloc", - ang = "Number of computations as a block", - ), - - MaximumOuterSampling = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - fr = "Maximum d'iterations externes", - ang = "Maximum outer Sampling value", - ), - - MaximumCoefficientOfVariation = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 0.1, - val_min = 0.0, - val_max = 1.0, - fr = "Coefficient de variation maximum", - ang = "Maximum coefficient of variation" - ), - - ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", - - MeanVector = SIMP ( statut = "o", - typ = "R", - max = "**", - fr = "Moyenne", - ang = "Mean vector", - ), - - Correlation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'Independent', 'Linear' ), - defaut = 'Independent', - max = 1, - fr = "Le type de correlation entre les variables", - ang = "Correlation between variables", - ), - - ), # Fin BLOC ImportanceSamplingSettings - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - StandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Ecart type", - ang = "Standard deviation", - ), - - ConfidenceInterval = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Intervale de confiance", - ang = "Confidence interval", - ), - - ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", - - Level = SIMP ( statut = "o", - typ = 'R', - defaut = 0.9, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Niveau de confiance", - ang = "Confidence level", - ), - - ), # Fin BLOC ConfidenceIntervalSettings - - VariationCoefficient = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Coefficient de variation", - ang = "Coefficient of variation", - ), - - SimulationsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'iterations", - ang = "Iteration number", - ), - - ConvergenceGraph = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Graphe de convergence", - ang = "Convergence graph", - ), - - ConvergenceGraphSettings = BLOC ( condition = " ConvergenceGraph in ( 'yes', ) ", - - ConvergenceDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique de la convergence", - ang = "Convergence Drawing Filename", - ), - - - ), # Fin BLOC ConvergenceGraphSettings - - ), # Fin FACT Result - - - - ), # Fin BLOC SimulationSettings - - - - FORM_SORMSettings = BLOC ( condition = " Method in ( 'FORM_SORM', ) ", - - Approximation = SIMP ( statut = "o", - typ = "TXM", - defaut = "FirstOrder", - into = ( "FirstOrder", "SecondOrder" ), - max = 1, - fr = "Approximation", - ang = "Approximation", - ), - - OptimizationAlgorithm = SIMP ( statut = "o", - typ = "TXM", - defaut = "Cobyla", - into = ( "Cobyla", "AbdoRackwitz" ), - max = 1, - fr = "Methode d'optimisation", - ang = "Optimization method", - ), - - - PhysicalStartingPoint = SIMP ( statut = "f", - typ = "R", - max = "**", - fr = "Point de demarrage de l'algorithme iteratif", - ang = "Initial point for iterative process", - ), - - MaximumIterationsNumber = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - fr = "Nombre maximum d'iterations", - ang = "Maximum number of iterations", - ), - - - MaximumAbsoluteError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum absolue entre 2 iterations successives", - ang = "Absolute maximum distance between 2 successive iterates", - ), - - MaximumRelativeError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum relative entre 2 iterations successives", - ang = "Relative maximum distance between 2 successive iterates", - ), - - MaximumConstraintError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", - ang = "Maximum absolute value of the constraint function minus the level value", - ), - - ImportanceSampling = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Tirage d'importance au point de conception", - ang = "Importance sampling at design point", - ), - - FORMResult = BLOC ( condition = " Approximation in ( 'FirstOrder', ) ", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - HasoferReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite", - ang = "Reliability index", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "Importance factor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - FORMEventProbabilitySensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - FORMEventProbabilitySensitivitySettings = BLOC ( condition = " FORMEventProbabilitySensitivity in ( 'yes', ) ", - - FORMEventProbabilitySensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FORMEventProbabilitySensitivitySettings - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC FORMResult - - - SORMResult = BLOC ( condition = " Approximation in ( 'SecondOrder', ) ", - - - TvedtApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de Tvedt", - ang = "Tvedt approximation", - ), - - HohenBichlerApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de HohenBichler", - ang = "HohenBichler approximation", - ), - - BreitungApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de Breitung", - ang = "Breitung approximation", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "Importance factor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC SecondOrder - - - - ), # Fin BLOC FORM_SORMSettings - - - - ), # Fin BLOC ThresholdExceedence - - - -) # Fin PROC CRITERIA -# Ordre Catalogue CRITERIA - - - - - - - diff --git a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V7.py b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V7.py deleted file mode 100644 index b8ac5d33..00000000 --- a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V7.py +++ /dev/null @@ -1,1726 +0,0 @@ -# -*- coding: utf-8 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR -from Accas import * - -class loi ( ASSD ) : pass -class variable ( ASSD ) : pass - -import types -class Tuple: - def __init__(self,ntuple): - self.ntuple=ntuple - - def __convert__(self,valeur): - if type(valeur) == types.StringType: - return None - if len(valeur) != self.ntuple: - return None - return valeur - - def info(self): - return "Tuple de %s elements" % self.ntuple - - __repr__=info - __str__=info - -class Matrice: - def __init__(self,nbLigs=None,nbCols=None,methodeCalculTaille=None,formatSortie="ligne",valSup=None,valMin=None,structure=None): - self.nbLigs=nbLigs - self.nbCols=nbCols - self.methodeCalculTaille=methodeCalculTaille - self.formatSortie=formatSortie - self.valSup=valSup - self.valMin=valMin - self.structure=structure - - def __convert__(self,valeur): - # Attention ne verifie pas grand chose - if type(valeur) != types.ListType : - return None - return valeur - - def info(self): - return "Matrice %s x %s" % (self.nbLigs, self.nbCols) - - __repr__=info - __str__=info - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', - execmodul = None, - regles = ( AU_MOINS_UN ( 'CRITERIA' ), - AU_MOINS_UN ( 'MODEL' ), - AVANT ( ('DISTRIBUTION', 'MODEL'), 'VARIABLE' ), -# A_CLASSER ( 'VARIABLE', 'CORRELATION' ), -# A_CLASSER ( 'VARIABLE', 'CRITERIA' ), -# A_CLASSER ( 'CORRELATION', 'CRITERIA' ), - ), - ) # Fin JDC_CATA - - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - -LOG = PROC ( nom = "LOG", - op = None, - docu = "", - - DebugMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de debug de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - WrapperMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - UserMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de user de la bibliotheque Open TURNS", - ang = "Open TURNS library user level print", - ), - - InfoMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de info de la bibliotheque Open TURNS", - ang = "Open TURNS library info level print", - ), - - WarningMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", - ang = "Open TURNS library warning level print", - ), - - ErrorMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de error de la bibliotheque Open TURNS", - ang = "Open TURNS library error level print", - ), - -) # Fin PROC LOG -# Ordre Catalogue LOG - - - - - -#================================ -# Definition des LOIS -#================================ - -# Nota : les variables de type OPER doivent etre en majuscules ! -# Nota : les variables de type OPER doivent etre de premier niveau (pas imbriquees dans un autre type) -DISTRIBUTION = OPER ( nom = "DISTRIBUTION", - sd_prod = loi, - op = 68, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - -#==== -# Type de distribution -#==== - - Kind = SIMP ( statut = "o", typ = "TXM", - into = ( "Beta", - "Exponential", - "Gamma", - "Geometric", - "Gumbel", - "Histogram", - "Laplace", - "Logistic", - "LogNormal", - "MultiNomial", - "NonCentralStudent", - "Normal", - "Poisson", - "Rayleigh", - "Student", - "Triangular", - "TruncatedNormal", - "Uniform", - #"UserDefined", - "Weibull", - ), - fr = "Choix du type de la loi marginale", - ang = "1D marginal distribution", - ), - -#==== -# Definition des parametres selon le type de la loi -#==== - - BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "RT", "MuSigma" ), - defaut = "RT", - fr = "Parametrage de la loi beta", - ang = "Beta distribution parameter set", - ), - - RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", - - R = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre R de la loi | R > 0", - ang = "R parameter | R > 0", - ), - - # T > R - T = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre T de la loi | T > R", - ang = "T parameter | T > R", - ), - - ), # Fin BLOC RT_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - # B > A - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi", - ang = "Support upper bound", - ), - - ), # Fin BLOC BETA - - - - EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC EXPONENTIAL - - - - GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "KLambda", "MuSigma" ), - defaut = "KLambda", - fr = "Parametrage de la loi gamma", - ang = "Gamma distribution parameter set", - ), - - KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", - - K = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre K de la loi | K > 0", - ang = "K parameter | K > 0", - ), - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC KLambda_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - - ), # Fin BLOC GAMMA - - - - GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", - - P = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - val_max = 1., - fr = "Parametre P | 0 < P < 1", - ang = "P parameter | 0 < P < 1", - ), - - ), # Fin BLOC GEOMETRIC - - - - GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi gumbel", - ang = "Gumbel distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Beta de la loi", - ang = "Beta parameter", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - ), # Fin BLOC GUMBEL - - - - HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", - - First = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = Tuple(2), - max = '**', - fr = "Liste de couples : largeur de classe, hauteur de classe", - ang = "Class bandwidth, class height couple list", - validators=VerifTypeTuple(('R','R')), - ), - - ), # Fin BLOC HISTOGRAM - - - - LAPLACE = BLOC ( condition = " Kind in ( 'Laplace', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - ), # Fin BLOC LAPLACE - - LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), - defaut = "MuSigmaLog", - fr = "Parametrage de la loi lognormale", - ang = "Lognormal distribution parameter set", - ), - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - SigmaOverMu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Rapport ecart type / moyenne de la loi", - ang = "Standard deviation / mean value ratio", - ), - - ), # Fin BLOC MuSigmaOverMu_Parameters - - MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", - - MuLog = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne du log", - ang = "Log mean value", - ), - - SigmaLog = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type du log", - ang = "Log standard deviation", - ), - - ), # Fin BLOC MuSigmaLog_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC LOGNORMAL - - - - LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC LOGISTIC - - - - MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", - - N = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Parametre N de la loi | N > 0", - ang = "N parameter | N > 0", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = "R", - max = '**', - fr = "Liste de probabilités", - ang = "Probability list", - validators=VerifTypeTuple(('R','R')), - ), - - ), # Fin BLOC MULTINOMIAL - - - NONCENTRALSTUDENT = BLOC ( condition = " Kind in ( 'NonCentralStudent', ) ", - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Nu de la loi | Nu > 0", - ang = "Nu parameter | Nu > 0", - ), - - Delta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Delta de la loi | Delta > 0", - ang = "Delta parameter | Delta > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma de centrage de la loi", - ang = "Gamma parameter", - ), - - ), # Fin BLOC NONCENTRALSTUDENT - - - NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC NORMAL - - - - POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC POISSON - - - - RAYLEIGH = BLOC ( condition = " Kind in ( 'Rayleigh', ) ", - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - ), # Fin BLOC RAYLEIGH - - - STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 2., - fr = "Parametre Nu de la loi | Nu > 2", - ang = "Nu parameter | Nu > 2", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Sigma de la loi", - ang = "Sigma parameter", - ), - - ), # Fin BLOC STUDENT - - - - TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi | A < M < B", - ang = "Support lower bound | A < M < B", - ), - - M = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Mode de la loi | A < M < B", - ang = "Mode | A < M < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi | A < M < B", - ang = "Support upper bound | A < M < B", - ), - - ), # Fin BLOC TRIANGULAR - - - - TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", - - MuN = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi Normale non tronquée", - ang = "Mean value of the associated non truncated normal distribution", - ), - - SigmaN = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart-type de la loi Normale non tronquée", - ang = "Standard deviation of the associated non truncated normal distribution", - ), - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < B", - ang = "Lower bound | A < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < B", - ang = "Upper bound | A < B", - ), - - ), # Fin BLOC TRUNCATEDNORMAL - - - - UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi | A < B", - ang = "Support lower bound | A < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi | A < B", - ang = "Support upper bound | A < B", - ), - - ), # Fin BLOC UNIFORM - - - - USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC USERDEFINED - - - - WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi weibull", - ang = "Weibull distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC WEIBULL - -) # Fin OPER DISTRIBUTION -# Ordre Catalogue DISTRIBUTION - - - -#================================ -# Definition du modele physique -#================================ - - -DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", - sd_prod = variable, - op = None, - fr = "Variable deterministe", - ang = "Deterministic variable", - - N = SIMP ( statut = 'o', - typ = "TXM", - fr = "Nom", - ang = "Name", - ), - - T = SIMP ( statut = 'o', - defaut = "in", - into = ( "in" , "out", ), - typ = "TXM", - fr = "Type", - ang = "Type", - ), - - R = SIMP ( statut = 'o', - defaut = 0, - typ = "I", - fr = "Rang", - ang = "Rank", - ), - -) # Fin OPER DETERMINISTICVARIABLE -# Ordre Catalogue DETERMINISTICVARIABLE - - - -import opsOT -MODEL = MACRO ( nom = "MODEL", - op = None, - UIinfo = { "groupes" : ( "Gestion du travail", ) }, - fr = "Chargement du wrapper du modele physique", - ang = "Physical model wrapper load", - sd_prod = opsOT.INCLUDE, - op_init = opsOT.INCLUDE_context, - fichier_ini = 1, - - FileName = SIMP ( statut = "o", - typ = "Fichier", - fr = "Nom du modele physique", - ang = "Physical model identifier", - ), - -) # Fin PROC MODEL -# Ordre Catalogue MODEL - - - - -VARIABLE = PROC ( nom = "VARIABLE", - op = None, - docu = "", - fr = "Variable probabiliste", - ang = "Probabilistic variable", - - ModelVariable = SIMP ( statut = "o", - typ = ( variable, ), - fr = "Variable d'entrée du modèle", - ang = "Input variable of the model", - ), - - Distribution = SIMP ( statut = "o", - typ = ( loi, ), - fr = "Modélisation probabiliste", - ang = "Probabilistic modelisation", - ), - -) # Fin PROC VARIABLE -# Ordre Catalogue VARIABLE - - -CORRELATION = PROC ( nom = 'CORRELATION', - op = None, - docu = "", - fr = "Correlation entre variables", - ang = "Variable correlation", - - Copula = SIMP ( statut = "o", - typ = 'TXM', - into = ( "Independent", "Normal" ), - defaut = "Independent", - fr = "Type de la copule", - ang = "Copula kind", - ), - - Matrix = BLOC ( condition = "Copula in ( 'Normal', )", - - CorrelationMatrix = SIMP ( statut = "o", - typ = Matrice(nbLigs=None, - nbCols=None, - methodeCalculTaille='NbDeVariables', - valSup=1, - valMin=-1, - structure="symetrique"), - fr = "Matrice de correlation entre les variables d'entree", - ang = "Correlation matrix for input variables", - ), - ), # Fin BLOC Matrix - - -) # Fin PROC CORRELATION -# Ordre Catalogue CORRELATION - - - - - -#================================ -# Definition de l'etude -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -CRITERIA = PROC ( nom = "CRITERIA", - op = None, - docu = "", - fr = "Critère de l'étude d'incertitudes", - ang = "Uncertainty study criteria", - - - - Type = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), - fr = "Type du critère", - ang = "Criteria type", - ), - - - - - - - - MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Experiment Plane", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - # UC 3.1.1 - ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", - - ExperimentPlane = SIMP ( statut = "o", - typ = "TXM", - into = ( "Axial", "Factorial", "Composite", ), - fr = "Type du plan d'expérience", - ang = "Experiment plane type", - ), - - Levels = SIMP ( statut = "o", - typ = "R", - val_min = 0.0, - max = '**', - fr = "Liste de niveaux dans chaque direction", - ang = "Levels in each direction", - ), - - # Scaled Vector - UnitPerDimension = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unité par dimension (autant que de variables declarées)", - ang = "Units per dimension (as much as declared variables)", - ), - - # Translation Vector - Center = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Centre du plan d'expérience", - ang = "Experiment plan center", - ), - - ), # Fin BLOC ExperimentPlaneSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - SimulationsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - ), # Fin BLOC RandomSamplingSettings - - Result = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", ), - defaut = "Min/Max", - fr = "Le minimum et le maximum de la variable d'intérêt", - ang = "The min and max values", - ), - - - ), # Fin BLOC MinMax - - - - - CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Taylor Variance Decomposition", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - - # UC 3.2. - TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - MeanFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au premier ordre", - ang = "MeanFirstOrder", - ), - - StandardDeviationFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type au premier ordre", - ang = "StandardDeviationFirstOrder", - ), - - MeanSecondOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Moyenne au second ordre", - ang = "MeanSecondOrder", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - ), # Fin FACT Result - - ), # Fin BLOC TaylorVarianceDecompositionSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - SimulationsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - EmpiricalMean = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne empirique", - ang = "Empirical mean", - ), - - EmpiricalStandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - EmpiricalQuantile = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Quantile empirique", - ang = "Empirical quantile", - ), - - EmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ", - - EmpiricalQuantile_Order = SIMP ( statut = "o", - typ = 'R', - defaut = 0.95, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Ordre du quantile empirique", - ang = "Empirical quantile order", - ), - - ), # Fin BLOC EmpiricalQuantileSettings - - CorrelationAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Correlations analysees", - ang = "Analysed correlations", - ), - - KernelSmoothing = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Kernel smoothing de l'echantillon", - ang = "Kernel smoothing of the sample", - ), - - KernelSmoothingSettings = BLOC ( condition = " KernelSmoothing in ( 'yes', ) ", - - KernelSmoothingDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique de la reconstruction a noyau", - ang = "Kernel Smoothing Drawing Filename", - ), - - - ), # Fin BLOC KernelSmoothingSettings - - ), # Fin FACT Result - - ), # Fin BLOC RandomSamplingSettings - - ), # Fin BLOC CentralUncertainty - - - - - ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", - - Event = FACT ( statut = "o", - min = 1, - max = 1, - - Threshold = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Le seuil de defaillance", - ang = "Failure threshold", - ), - - ComparisonOperator = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), - fr = "Que faut-il ne pas depasser : un maximum ou un minimum", - ang = "What is the failure threshold : maximum or minimum", - ), - ), # Fin FACT Event - - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Simulation", "FORM_SORM" ), - fr = "Methode", - ang = "Method", - ), - - SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", - - Algorithm = SIMP ( statut = "o", - typ = "TXM", - into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), - fr = "Algorithme de simulation", - ang = "Simulation algorithm", - ), - - - RandomGenerator = FACT ( statut = "o", - min = 1, - max = 1, - - SeedToBeSet = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", - ang = "Does the random generator seed need to be set ?", - ), - - SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", - - RandomGeneratorSeed = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Racine du generateur aleatoire", - ang = "Random generator seed", - ), - - ), # Fin BLOC SeedSettings - - ), # Fin FACT RandomGenerator - - - BlockSize = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - defaut = 1, - fr = "Nombre de calculs realises en bloc", - ang = "Number of computations as a block", - ), - - MaximumOuterSampling = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - fr = "Maximum d'iterations externes", - ang = "Maximum outer Sampling value", - ), - - MaximumCoefficientOfVariation = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 0.1, - val_min = 0.0, - val_max = 1.0, - fr = "Coefficient de variation maximum", - ang = "Maximum coefficient of variation" - ), - - ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", - - MeanVector = SIMP ( statut = "o", - typ = "R", - max = "**", - fr = "Moyenne", - ang = "Mean vector", - ), - - Correlation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'Independent', 'Linear' ), - defaut = 'Independent', - max = 1, - fr = "Le type de correlation entre les variables", - ang = "Correlation between variables", - ), - - ), # Fin BLOC ImportanceSamplingSettings - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - StandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Ecart type", - ang = "Standard deviation", - ), - - ConfidenceInterval = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Intervale de confiance", - ang = "Confidence interval", - ), - - ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", - - Level = SIMP ( statut = "o", - typ = 'R', - defaut = 0.9, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Niveau de confiance", - ang = "Confidence level", - ), - - ), # Fin BLOC ConfidenceIntervalSettings - - VariationCoefficient = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Coefficient de variation", - ang = "Coefficient of variation", - ), - - SimulationsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'iterations", - ang = "Iteration number", - ), - - ConvergenceGraph = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Graphe de convergence", - ang = "Convergence graph", - ), - - ConvergenceGraphSettings = BLOC ( condition = " ConvergenceGraph in ( 'yes', ) ", - - ConvergenceDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique de la convergence", - ang = "Convergence Drawing Filename", - ), - - - ), # Fin BLOC ConvergenceGraphSettings - - ), # Fin FACT Result - - - - ), # Fin BLOC SimulationSettings - - - - FORM_SORMSettings = BLOC ( condition = " Method in ( 'FORM_SORM', ) ", - - Approximation = SIMP ( statut = "o", - typ = "TXM", - defaut = "FirstOrder", - into = ( "FirstOrder", "SecondOrder" ), - max = 1, - fr = "Approximation", - ang = "Approximation", - ), - - OptimizationAlgorithm = SIMP ( statut = "o", - typ = "TXM", - defaut = "Cobyla", - into = ( "Cobyla", "AbdoRackwitz" ), - max = 1, - fr = "Methode d'optimisation", - ang = "Optimization method", - ), - - - PhysicalStartingPoint = SIMP ( statut = "f", - typ = "R", - max = "**", - fr = "Point de demarrage de l'algorithme iteratif", - ang = "Initial point for iterative process", - ), - - MaximumIterationsNumber = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - fr = "Nombre maximum d'iterations", - ang = "Maximum number of iterations", - ), - - - MaximumAbsoluteError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum absolue entre 2 iterations successives", - ang = "Absolute maximum distance between 2 successive iterates", - ), - - MaximumRelativeError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum relative entre 2 iterations successives", - ang = "Relative maximum distance between 2 successive iterates", - ), - - MaximumConstraintError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", - ang = "Maximum absolute value of the constraint function minus the level value", - ), - - ImportanceSampling = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Tirage d'importance au point de conception", - ang = "Importance sampling at design point", - ), - - FORMResult = BLOC ( condition = " Approximation in ( 'FirstOrder', ) ", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - HasoferReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite", - ang = "Reliability index", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "Importance factor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - FORMEventProbabilitySensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - FORMEventProbabilitySensitivitySettings = BLOC ( condition = " FORMEventProbabilitySensitivity in ( 'yes', ) ", - - FORMEventProbabilitySensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FORMEventProbabilitySensitivitySettings - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC FORMResult - - - SORMResult = BLOC ( condition = " Approximation in ( 'SecondOrder', ) ", - - - TvedtApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de Tvedt", - ang = "Tvedt approximation", - ), - - HohenBichlerApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de HohenBichler", - ang = "HohenBichler approximation", - ), - - BreitungApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de Breitung", - ang = "Breitung approximation", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "Importance factor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC SecondOrder - - - - ), # Fin BLOC FORM_SORMSettings - - - - ), # Fin BLOC ThresholdExceedence - - - -) # Fin PROC CRITERIA -# Ordre Catalogue CRITERIA - - - - - - - diff --git a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V8.py b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V8.py deleted file mode 100644 index 9e43e543..00000000 --- a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V8.py +++ /dev/null @@ -1,1748 +0,0 @@ -# -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# 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. -# -# 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 -# - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR -from Accas import * - -class loi ( ASSD ) : pass -class variable ( ASSD ) : pass - -import types -class Tuple: - def __init__(self,ntuple): - self.ntuple=ntuple - - def __convert__(self,valeur): - if type(valeur) == types.StringType: - return None - if len(valeur) != self.ntuple: - return None - return valeur - - def info(self): - return "Tuple de %s elements" % self.ntuple - - __repr__=info - __str__=info - -class Matrice: - def __init__(self,nbLigs=None,nbCols=None,methodeCalculTaille=None,formatSortie="ligne",valSup=None,valMin=None,structure=None): - self.nbLigs=nbLigs - self.nbCols=nbCols - self.methodeCalculTaille=methodeCalculTaille - self.formatSortie=formatSortie - self.valSup=valSup - self.valMin=valMin - self.structure=structure - - def __convert__(self,valeur): - # Attention ne verifie pas grand chose - if type(valeur) != types.ListType : - return None - return valeur - - def info(self): - return "Matrice %s x %s" % (self.nbLigs, self.nbCols) - - __repr__=info - __str__=info - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', - execmodul = None, - regles = ( AU_MOINS_UN ( 'CRITERIA' ), - AU_MOINS_UN ( 'MODEL' ), -# AVANT ( ('DISTRIBUTION', 'MODEL'), 'VARIABLE' ), -# A_CLASSER ( 'VARIABLE', 'CORRELATION' ), -# A_CLASSER ( 'VARIABLE', 'CRITERIA' ), -# A_CLASSER ( 'CORRELATION', 'CRITERIA' ), - ), - ) # Fin JDC_CATA - - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - -SIMULATION = PROC ( nom = "SIMULATION", - op = None, - docu = "", - - FileName = SIMP ( statut = "o", - typ = ('Fichier', 'Wrapper Files (*.csv);;All Files (*)',), - fr = "Nom du modele physique", - ), - SAMPLE = SIMP ( statut = "o", - typ = "R", - ), - - WrapperMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - UserMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de user de la bibliotheque Open TURNS", - ang = "Open TURNS library user level print", - ), - - InfoMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de info de la bibliotheque Open TURNS", - ang = "Open TURNS library info level print", - ), - - WarningMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", - ang = "Open TURNS library warning level print", - ), - - ErrorMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de error de la bibliotheque Open TURNS", - ang = "Open TURNS library error level print", - ), - -) # Fin PROC SIMULATION -# Ordre Catalogue SIMULATION - - - - - -#================================ -# Definition des LOIS -#================================ - -# Nota : les variables de type OPER doivent etre en majuscules ! -# Nota : les variables de type OPER doivent etre de premier niveau (pas imbriquees dans un autre type) -#VARIABLE2=OPER( nom= "VARIABLE2", - -#DISTRIBUTION = OPER ( nom = "DISTRIBUTION", -VARIABLE2=OPER(nom="VARIABLE2", - sd_prod = variable, - #sd_prod = None, - op = None, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - #VARIABLE = FACT (statut='f',max='**', - # NOM=SIMP(statut = "o", typ = "TXM",), - -#DISTRIBUTION= FACT(statut = "o", -#==== -# Type de distribution -#==== - - Kind = SIMP ( statut = "o", typ = "TXM", - into = ( "Beta", - "Exponential", - "Gamma", - "Geometric", - "Gumbel", - "Histogram", - "Laplace", - "Logistic", - "LogNormal", - "MultiNomial", - "NonCentralStudent", - "Normal", - "Poisson", - "Rayleigh", - "Student", - "Triangular", - "TruncatedNormal", - "Uniform", - #"UserDefined", - "Weibull", - ), - fr = "Choix du type de la loi marginale", - ang = "1D marginal distribution", - defaut="Beta", - ), - -#==== -# Definition des parametres selon le type de la loi -#==== - - BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "RT", "MuSigma" ), - defaut = "RT", - fr = "Parametrage de la loi beta", - ang = "Beta distribution parameter set", - ), - - RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", - - R = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre R de la loi | R > 0", - ang = "R parameter | R > 0", - defaut=1, - ), - - # T > R - T = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre T de la loi | T > R", - ang = "T parameter | T > R", - defaut=2, - ), - - ), # Fin BLOC RT_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - # B > A - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi", - ang = "Support upper bound", - ), - - ), # Fin BLOC BETA - - - - EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC EXPONENTIAL - - - - GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "KLambda", "MuSigma" ), - defaut = "KLambda", - fr = "Parametrage de la loi gamma", - ang = "Gamma distribution parameter set", - ), - - KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", - - K = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre K de la loi | K > 0", - ang = "K parameter | K > 0", - ), - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC KLambda_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - - ), # Fin BLOC GAMMA - - - - GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", - - P = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - val_max = 1., - fr = "Parametre P | 0 < P < 1", - ang = "P parameter | 0 < P < 1", - ), - - ), # Fin BLOC GEOMETRIC - - - - GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi gumbel", - ang = "Gumbel distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Beta de la loi", - ang = "Beta parameter", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - ), # Fin BLOC GUMBEL - - - - HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", - - First = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = Tuple(2), - #max = '**', - fr = "Liste de couples : largeur de classe, hauteur de classe", - ang = "Class bandwidth, class height couple list", - validators=VerifTypeTuple(('R','R')), - ), - - ), # Fin BLOC HISTOGRAM - - - - LAPLACE = BLOC ( condition = " Kind in ( 'Laplace', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - ), # Fin BLOC LAPLACE - - LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), - defaut = "MuSigmaLog", - fr = "Parametrage de la loi lognormale", - ang = "Lognormal distribution parameter set", - ), - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - SigmaOverMu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Rapport ecart type / moyenne de la loi", - ang = "Standard deviation / mean value ratio", - ), - - ), # Fin BLOC MuSigmaOverMu_Parameters - - MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", - - MuLog = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne du log", - ang = "Log mean value", - ), - - SigmaLog = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type du log", - ang = "Log standard deviation", - ), - - ), # Fin BLOC MuSigmaLog_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC LOGNORMAL - - - - LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC LOGISTIC - - - - MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", - - N = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Parametre N de la loi | N > 0", - ang = "N parameter | N > 0", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = "R", - max = '**', - fr = "Liste de probabilités", - ang = "Probability list", - validators=VerifTypeTuple(('R','R')), - ), - - ), # Fin BLOC MULTINOMIAL - - - NONCENTRALSTUDENT = BLOC ( condition = " Kind in ( 'NonCentralStudent', ) ", - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Nu de la loi | Nu > 0", - ang = "Nu parameter | Nu > 0", - ), - - Delta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Delta de la loi | Delta > 0", - ang = "Delta parameter | Delta > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma de centrage de la loi", - ang = "Gamma parameter", - ), - - ), # Fin BLOC NONCENTRALSTUDENT - - - NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC NORMAL - - - - POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC POISSON - - - - RAYLEIGH = BLOC ( condition = " Kind in ( 'Rayleigh', ) ", - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - ), # Fin BLOC RAYLEIGH - - - STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 2., - fr = "Parametre Nu de la loi | Nu > 2", - ang = "Nu parameter | Nu > 2", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Sigma de la loi", - ang = "Sigma parameter", - ), - - ), # Fin BLOC STUDENT - - - - TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi | A < M < B", - ang = "Support lower bound | A < M < B", - ), - - M = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Mode de la loi | A < M < B", - ang = "Mode | A < M < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi | A < M < B", - ang = "Support upper bound | A < M < B", - ), - - ), # Fin BLOC TRIANGULAR - - - - TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", - - MuN = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi Normale non tronquée", - ang = "Mean value of the associated non truncated normal distribution", - ), - - SigmaN = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart-type de la loi Normale non tronquée", - ang = "Standard deviation of the associated non truncated normal distribution", - ), - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < B", - ang = "Lower bound | A < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < B", - ang = "Upper bound | A < B", - ), - - ), # Fin BLOC TRUNCATEDNORMAL - - - - UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi | A < B", - ang = "Support lower bound | A < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi | A < B", - ang = "Support upper bound | A < B", - ), - - ), # Fin BLOC UNIFORM - - - - USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC USERDEFINED - - - - WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi weibull", - ang = "Weibull distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC WEIBULL - -#), # Fin OPER DISTRIBUTION -#), # Fin OPER DISTRIBUTION -) # Fin OPER DISTRIBUTION - - - -#================================ -# Definition du modele physique -#================================ - - -DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", - sd_prod = variable, - op = None, - fr = "Variable deterministe", - ang = "Deterministic variable", - UIinfo = {"groupes": ("CACHE")}, - - N = SIMP ( statut = 'o', - typ = "TXM", - fr = "Nom", - ang = "Name", - ), - - T = SIMP ( statut = 'o', - defaut = "in", - into = ( "in" , "out", ), - typ = "TXM", - fr = "Type", - ang = "Type", - ), - - R = SIMP ( statut = 'o', - defaut = 0, - typ = "I", - fr = "Rang", - ang = "Rank", - ), - -) # Fin OPER DETERMINISTICVARIABLE -# Ordre Catalogue DETERMINISTICVARIABLE - - - -import opsOT -MODEL = MACRO ( nom = "MODEL", - op = None, - UIinfo = { "groupes" : ( "Gestion du travail", ) }, - fr = "Chargement du wrapper du modele physique", - ang = "Physical model wrapper load", - sd_prod = opsOT.INCLUDE, - op_init = opsOT.INCLUDE_context, - fichier_ini = 1, - - FileName = SIMP ( statut = "o", - typ = ('Fichier', 'Wrapper Files (*.xml);;All Files (*)',), - fr = "Nom du modele physique", - ang = "Physical model identifier", - ), - -) # Fin PROC MODEL -# Ordre Catalogue MODEL - - - - -VARIABLE = PROC ( nom = "VARIABLE", - op = None, - docu = "", - fr = "Variable probabiliste", - ang = "Probabilistic variable", - - ModelVariable = SIMP ( statut = "o", - typ = ( variable, ), - fr = "Variable d'entrée du modèle", - ang = "Input variable of the model", - ), - - Distribution = SIMP ( statut = "o", - typ = ( loi, ), - fr = "Modélisation probabiliste", - ang = "Probabilistic modelisation", - ), - -) # Fin PROC VARIABLE -# Ordre Catalogue VARIABLE - - -CORRELATION = PROC ( nom = 'CORRELATION', - op = None, - docu = "", - fr = "Correlation entre variables", - ang = "Variable correlation", - - Copula = SIMP ( statut = "o", - typ = 'TXM', - into = ( "Independent", "Normal" ), - defaut = "Independent", - fr = "Type de la copule", - ang = "Copula kind", - ), - - Matrix = BLOC ( condition = "Copula in ( 'Normal', )", - - CorrelationMatrix = SIMP ( statut = "o", - typ = Matrice(nbLigs=None, - nbCols=None, - methodeCalculTaille='NbDeVariables', - valSup=1, - valMin=-1, - structure="symetrique"), - fr = "Matrice de correlation entre les variables d'entree", - ang = "Correlation matrix for input variables", - ), - ), # Fin BLOC Matrix - - -) # Fin PROC CORRELATION -# Ordre Catalogue CORRELATION - - - - - -#================================ -# Definition de l'etude -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -CRITERIA = PROC ( nom = "CRITERIA", - op = None, - docu = "", - fr = "Critère de l'étude d'incertitudes", - ang = "Uncertainty study criteria", - - - - Type = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), - fr = "Type du critère", - ang = "Criteria type", - ), - - - - - - - - MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Experiment Plane", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - # UC 3.1.1 - ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", - - ExperimentPlane = SIMP ( statut = "o", - typ = "TXM", - into = ( "Axial", "Factorial", "Composite", ), - fr = "Type du plan d'expérience", - ang = "Experiment plane type", - ), - - Levels = SIMP ( statut = "o", - typ = "R", - val_min = 0.0, - max = '**', - fr = "Liste de niveaux dans chaque direction", - ang = "Levels in each direction", - ), - - # Scaled Vector - UnitPerDimension = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unité par dimension (autant que de variables declarées)", - ang = "Units per dimension (as much as declared variables)", - ), - - # Translation Vector - Center = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Centre du plan d'expérience", - ang = "Experiment plan center", - ), - - ), # Fin BLOC ExperimentPlaneSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - SimulationsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - ), # Fin BLOC RandomSamplingSettings - - Result = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", ), - defaut = "Min/Max", - fr = "Le minimum et le maximum de la variable d'intérêt", - ang = "The min and max values", - ), - - - ), # Fin BLOC MinMax - - - - - CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Taylor Variance Decomposition", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - - # UC 3.2. - TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - MeanFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au premier ordre", - ang = "MeanFirstOrder", - ), - - StandardDeviationFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type au premier ordre", - ang = "StandardDeviationFirstOrder", - ), - - MeanSecondOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Moyenne au second ordre", - ang = "MeanSecondOrder", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - ), # Fin FACT Result - - ), # Fin BLOC TaylorVarianceDecompositionSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - SimulationsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - EmpiricalMean = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne empirique", - ang = "Empirical mean", - ), - - EmpiricalStandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - EmpiricalQuantile = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Quantile empirique", - ang = "Empirical quantile", - ), - - EmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ", - - EmpiricalQuantile_Order = SIMP ( statut = "o", - typ = 'R', - defaut = 0.95, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Ordre du quantile empirique", - ang = "Empirical quantile order", - ), - - ), # Fin BLOC EmpiricalQuantileSettings - - CorrelationAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Correlations analysees", - ang = "Analysed correlations", - ), - - KernelSmoothing = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Kernel smoothing de l'echantillon", - ang = "Kernel smoothing of the sample", - ), - - KernelSmoothingSettings = BLOC ( condition = " KernelSmoothing in ( 'yes', ) ", - - KernelSmoothingDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique de la reconstruction a noyau", - ang = "Kernel Smoothing Drawing Filename", - ), - - - ), # Fin BLOC KernelSmoothingSettings - - ), # Fin FACT Result - - ), # Fin BLOC RandomSamplingSettings - - ), # Fin BLOC CentralUncertainty - - - - - ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", - - Event = FACT ( statut = "o", - min = 1, - max = 1, - - Threshold = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Le seuil de defaillance", - ang = "Failure threshold", - ), - - ComparisonOperator = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), - fr = "Que faut-il ne pas depasser : un maximum ou un minimum", - ang = "What is the failure threshold : maximum or minimum", - ), - ), # Fin FACT Event - - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Simulation", "FORM_SORM" ), - fr = "Methode", - ang = "Method", - ), - - SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", - - Algorithm = SIMP ( statut = "o", - typ = "TXM", - into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), - fr = "Algorithme de simulation", - ang = "Simulation algorithm", - ), - - - RandomGenerator = FACT ( statut = "o", - min = 1, - max = 1, - - SeedToBeSet = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", - ang = "Does the random generator seed need to be set ?", - ), - - SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", - - RandomGeneratorSeed = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Racine du generateur aleatoire", - ang = "Random generator seed", - ), - - ), # Fin BLOC SeedSettings - - ), # Fin FACT RandomGenerator - - - BlockSize = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - defaut = 1, - fr = "Nombre de calculs realises en bloc", - ang = "Number of computations as a block", - ), - - MaximumOuterSampling = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - fr = "Maximum d'iterations externes", - ang = "Maximum outer Sampling value", - ), - - MaximumCoefficientOfVariation = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 0.1, - val_min = 0.0, - val_max = 1.0, - fr = "Coefficient de variation maximum", - ang = "Maximum coefficient of variation" - ), - - ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", - - MeanVector = SIMP ( statut = "o", - typ = "R", - max = "**", - fr = "Moyenne", - ang = "Mean vector", - ), - - - ), # Fin BLOC ImportanceSamplingSettings - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - StandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Ecart type", - ang = "Standard deviation", - ), - - ConfidenceInterval = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Intervale de confiance", - ang = "Confidence interval", - ), - - ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", - - Level = SIMP ( statut = "o", - typ = 'R', - defaut = 0.9, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Niveau de confiance", - ang = "Confidence level", - ), - - ), # Fin BLOC ConfidenceIntervalSettings - - VariationCoefficient = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Coefficient de variation", - ang = "Coefficient of variation", - ), - - SimulationsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'iterations", - ang = "Iteration number", - ), - - ConvergenceGraph = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Graphe de convergence", - ang = "Convergence graph", - ), - - ConvergenceGraphSettings = BLOC ( condition = " ConvergenceGraph in ( 'yes', ) ", - - ConvergenceDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique de la convergence", - ang = "Convergence Drawing Filename", - ), - - - ), # Fin BLOC ConvergenceGraphSettings - - ), # Fin FACT Result - - - - ), # Fin BLOC SimulationSettings - - - - FORM_SORMSettings = BLOC ( condition = " Method in ( 'FORM_SORM', ) ", - - Approximation = SIMP ( statut = "o", - typ = "TXM", - defaut = "FirstOrder", - into = ( "FirstOrder", "SecondOrder" ), - max = 1, - fr = "Approximation", - ang = "Approximation", - ), - - OptimizationAlgorithm = SIMP ( statut = "o", - typ = "TXM", - defaut = "Cobyla", - into = ( "Cobyla", "AbdoRackwitz" ), - max = 1, - fr = "Methode d'optimisation", - ang = "Optimization method", - ), - - - PhysicalStartingPoint = SIMP ( statut = "f", - typ = "R", - max = "**", - fr = "Point de demarrage de l'algorithme iteratif", - ang = "Initial point for iterative process", - ), - - MaximumIterationsNumber = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - fr = "Nombre maximum d'iterations", - ang = "Maximum number of iterations", - ), - - - MaximumAbsoluteError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum absolue entre 2 iterations successives", - ang = "Absolute maximum distance between 2 successive iterates", - ), - - MaximumRelativeError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum relative entre 2 iterations successives", - ang = "Relative maximum distance between 2 successive iterates", - ), - - MaximumConstraintError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", - ang = "Maximum absolute value of the constraint function minus the level value", - ), - - ImportanceSampling = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Tirage d'importance au point de conception", - ang = "Importance sampling at design point", - ), - - FORMResult = BLOC ( condition = " Approximation in ( 'FirstOrder', ) ", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - HasoferReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite", - ang = "Reliability index", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "Importance factor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - FORMEventProbabilitySensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - FORMEventProbabilitySensitivitySettings = BLOC ( condition = " FORMEventProbabilitySensitivity in ( 'yes', ) ", - - FORMEventProbabilitySensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FORMEventProbabilitySensitivitySettings - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC FORMResult - - - SORMResult = BLOC ( condition = " Approximation in ( 'SecondOrder', ) ", - - - TvedtApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de Tvedt", - ang = "Tvedt approximation", - ), - - HohenBichlerApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de HohenBichler", - ang = "HohenBichler approximation", - ), - - BreitungApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de Breitung", - ang = "Breitung approximation", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "Importance factor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC SecondOrder - - - - ), # Fin BLOC FORM_SORMSettings - - - - ), # Fin BLOC ThresholdExceedence - - - -) # Fin PROC CRITERIA -# Ordre Catalogue CRITERIA - - - - - - - diff --git a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V9.py b/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V9.py deleted file mode 100644 index 6a43ee35..00000000 --- a/OldCodes/Openturns_Study/OpenTURNS_Cata_Study_V9.py +++ /dev/null @@ -1,1718 +0,0 @@ -# -*- coding: iso-8859-1 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR -from Accas import * - -class loi ( ASSD ) : pass -class variable ( ASSD ) : pass - -import types -class Tuple: - def __init__(self,ntuple): - self.ntuple=ntuple - - def __convert__(self,valeur): - if type(valeur) == types.StringType: - return None - if len(valeur) != self.ntuple: - return None - return valeur - - def info(self): - return "Tuple de %s elements" % self.ntuple - - __repr__=info - __str__=info - -class Matrice: - def __init__(self,nbLigs=None,nbCols=None,methodeCalculTaille=None,formatSortie="ligne",valSup=None,valMin=None,structure=None): - self.nbLigs=nbLigs - self.nbCols=nbCols - self.methodeCalculTaille=methodeCalculTaille - self.formatSortie=formatSortie - self.valSup=valSup - self.valMin=valMin - self.structure=structure - - def __convert__(self,valeur): - # Attention ne verifie pas grand chose - if type(valeur) != types.ListType : - return None - return valeur - - def info(self): - return "Matrice %s x %s" % (self.nbLigs, self.nbCols) - - __repr__=info - __str__=info - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_STUDY', - execmodul = None, - regles = ( AU_MOINS_UN ( 'CRITERIA' ), - AU_MOINS_UN ( 'MODEL' ), - AVANT ( ('DISTRIBUTION', 'MODEL'), 'VARIABLE' ), -# A_CLASSER ( 'VARIABLE', 'CORRELATION' ), -# A_CLASSER ( 'VARIABLE', 'CRITERIA' ), -# A_CLASSER ( 'CORRELATION', 'CRITERIA' ), - ), - ) # Fin JDC_CATA - - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - -LOG = PROC ( nom = "LOG", - op = None, - docu = "", - - DebugMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de debug de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - WrapperMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de wrapper de la bibliotheque Open TURNS", - ang = "Open TURNS library debug level print", - ), - - UserMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'no', - fr = "Affichage du niveau de user de la bibliotheque Open TURNS", - ang = "Open TURNS library user level print", - ), - - InfoMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de info de la bibliotheque Open TURNS", - ang = "Open TURNS library info level print", - ), - - WarningMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de warning de la bibliotheque Open TURNS", - ang = "Open TURNS library warning level print", - ), - - ErrorMessages = SIMP ( statut = "o", - typ = "TXM", - into = ( 'yes', 'no' ), - defaut = 'yes', - fr = "Affichage du niveau de error de la bibliotheque Open TURNS", - ang = "Open TURNS library error level print", - ), - -) # Fin PROC LOG -# Ordre Catalogue LOG - - - - - -#================================ -# Definition des LOIS -#================================ - -# Nota : les variables de type OPER doivent etre en majuscules ! -# Nota : les variables de type OPER doivent etre de premier niveau (pas imbriquees dans un autre type) -DISTRIBUTION = OPER ( nom = "DISTRIBUTION", - sd_prod = loi, - op = 68, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - -#==== -# Type de distribution -#==== - - Kind = SIMP ( statut = "o", typ = "TXM", - into = ( "Beta", - "Exponential", - "Gamma", - "Geometric", - "Gumbel", - "Histogram", - "Laplace", - "Logistic", - "LogNormal", - "MultiNomial", - "NonCentralStudent", - "Normal", - "Poisson", - "Rayleigh", - "Student", - "Triangular", - "TruncatedNormal", - "Uniform", - #"UserDefined", - "Weibull", - ), - fr = "Choix du type de la loi marginale", - ang = "1D marginal distribution", - ), - -#==== -# Definition des parametres selon le type de la loi -#==== - - BETA = BLOC ( condition = " Kind in ( 'Beta', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "RT", "MuSigma" ), - defaut = "RT", - fr = "Parametrage de la loi beta", - ang = "Beta distribution parameter set", - ), - - RT_Parameters = BLOC ( condition = " Settings in ( 'RT', ) ", - - R = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre R de la loi | R > 0", - ang = "R parameter | R > 0", - ), - - # T > R - T = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre T de la loi | T > R", - ang = "T parameter | T > R", - ), - - ), # Fin BLOC RT_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - # B > A - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi", - ang = "Support upper bound", - ), - - ), # Fin BLOC BETA - - - - EXPONENTIAL = BLOC ( condition = " Kind in ( 'Exponential', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC EXPONENTIAL - - - - GAMMA = BLOC ( condition = " Kind in ( 'Gamma', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "KLambda", "MuSigma" ), - defaut = "KLambda", - fr = "Parametrage de la loi gamma", - ang = "Gamma distribution parameter set", - ), - - KLambda_Parameters = BLOC ( condition = " Settings in ( 'KLambda', ) ", - - K = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre K de la loi | K > 0", - ang = "K parameter | K > 0", - ), - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC KLambda_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - - ), # Fin BLOC GAMMA - - - - GEOMETRIC = BLOC ( condition = " Kind in ( 'Geometric', ) ", - - P = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - val_max = 1., - fr = "Parametre P | 0 < P < 1", - ang = "P parameter | 0 < P < 1", - ), - - ), # Fin BLOC GEOMETRIC - - - - GUMBEL = BLOC ( condition = " Kind in ( 'Gumbel', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi gumbel", - ang = "Gumbel distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Beta de la loi", - ang = "Beta parameter", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - ), # Fin BLOC GUMBEL - - - - HISTOGRAM = BLOC ( condition = " Kind in ( 'Histogram', ) ", - - First = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = Tuple(2), - max = '**', - fr = "Liste de couples : largeur de classe, hauteur de classe", - ang = "Class bandwidth, class height couple list", - validators=VerifTypeTuple(('R','R')), - ), - - ), # Fin BLOC HISTOGRAM - - - - LAPLACE = BLOC ( condition = " Kind in ( 'Laplace', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - ), # Fin BLOC LAPLACE - - LOGNORMAL = BLOC ( condition = " Kind in ( 'LogNormal', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "MuSigmaLog", "MuSigma", "MuSigmaOverMu" ), - defaut = "MuSigmaLog", - fr = "Parametrage de la loi lognormale", - ang = "Lognormal distribution parameter set", - ), - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - MuSigmaOverMu_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaOverMu', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - SigmaOverMu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Rapport ecart type / moyenne de la loi", - ang = "Standard deviation / mean value ratio", - ), - - ), # Fin BLOC MuSigmaOverMu_Parameters - - MuSigmaLog_Parameters = BLOC ( condition = " Settings in ( 'MuSigmaLog', ) ", - - MuLog = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne du log", - ang = "Log mean value", - ), - - SigmaLog = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type du log", - ang = "Log standard deviation", - ), - - ), # Fin BLOC MuSigmaLog_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC LOGNORMAL - - - - LOGISTIC = BLOC ( condition = " Kind in ( 'Logistic', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du supoport de la loi", - ang = "Support lower bound", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC LOGISTIC - - - - MULTINOMIAL = BLOC ( condition = " Kind in ( 'MultiNomial', ) ", - - N = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Parametre N de la loi | N > 0", - ang = "N parameter | N > 0", - ), - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = "R", - max = '**', - fr = "Liste de probabilités", - ang = "Probability list", - validators=VerifTypeTuple(('R','R')), - ), - - ), # Fin BLOC MULTINOMIAL - - - NONCENTRALSTUDENT = BLOC ( condition = " Kind in ( 'NonCentralStudent', ) ", - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Nu de la loi | Nu > 0", - ang = "Nu parameter | Nu > 0", - ), - - Delta = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Delta de la loi | Delta > 0", - ang = "Delta parameter | Delta > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Gamma de centrage de la loi", - ang = "Gamma parameter", - ), - - ), # Fin BLOC NONCENTRALSTUDENT - - - NORMAL = BLOC ( condition = " Kind in ( 'Normal', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC NORMAL - - - - POISSON = BLOC ( condition = " Kind in ( 'Poisson', ) ", - - Lambda = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Lambda de la loi | Lambda > 0", - ang = "Lambda parameter | Lambda > 0", - ), - - ), # Fin BLOC POISSON - - - - RAYLEIGH = BLOC ( condition = " Kind in ( 'Rayleigh', ) ", - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Sigma de la loi | Sigma > 0", - ang = "Sigma parameter | Sigma > 0", - ), - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - ), # Fin BLOC RAYLEIGH - - - STUDENT = BLOC ( condition = " Kind in ( 'Student', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Mu de la loi", - ang = "Mu parameter", - ), - - Nu = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 2., - fr = "Parametre Nu de la loi | Nu > 2", - ang = "Nu parameter | Nu > 2", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Parametre Sigma de la loi", - ang = "Sigma parameter", - ), - - ), # Fin BLOC STUDENT - - - - TRIANGULAR = BLOC ( condition = " Kind in ( 'Triangular', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi | A < M < B", - ang = "Support lower bound | A < M < B", - ), - - M = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Mode de la loi | A < M < B", - ang = "Mode | A < M < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi | A < M < B", - ang = "Support upper bound | A < M < B", - ), - - ), # Fin BLOC TRIANGULAR - - - - TRUNCATEDNORMAL = BLOC ( condition = " Kind in ( 'TruncatedNormal', ) ", - - MuN = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi Normale non tronquée", - ang = "Mean value of the associated non truncated normal distribution", - ), - - SigmaN = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart-type de la loi Normale non tronquée", - ang = "Standard deviation of the associated non truncated normal distribution", - ), - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure de la loi | A < B", - ang = "Lower bound | A < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure de la loi | A < B", - ang = "Upper bound | A < B", - ), - - ), # Fin BLOC TRUNCATEDNORMAL - - - - UNIFORM = BLOC ( condition = " Kind in ( 'Uniform', ) ", - - A = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi | A < B", - ang = "Support lower bound | A < B", - ), - - B = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne superieure du support de la loi | A < B", - ang = "Support upper bound | A < B", - ), - - ), # Fin BLOC UNIFORM - - - - USERDEFINED = BLOC ( condition = " Kind in ( 'UserDefined', ) ", - - # Il faut definir une collection de couples ( x,p ) - Values = SIMP ( statut = 'o', - typ = 'R', - max = '**', - ), - - ), # Fin BLOC USERDEFINED - - - - WEIBULL = BLOC ( condition = " Kind in ( 'Weibull', ) ", - - Settings = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "AlphaBeta", "MuSigma" ), - defaut = "AlphaBeta", - fr = "Parametrage de la loi weibull", - ang = "Weibull distribution parameter set", - ), - - AlphaBeta_Parameters = BLOC ( condition = " Settings in ( 'AlphaBeta', ) ", - - Alpha = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Alpha de la loi | Alpha > 0", - ang = "Alpha parameter | Alpha > 0", - ), - - Beta = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Parametre Beta de la loi | Beta > 0", - ang = "Beta parameter | Beta > 0", - ), - - ), # Fin BLOC AlphaBeta_Parameters - - - MuSigma_Parameters = BLOC ( condition = " Settings in ( 'MuSigma', ) ", - - Mu = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Moyenne de la loi", - ang = "Mean value", - ), - - Sigma = SIMP ( statut = "o", - typ = "R", - max = 1, - val_min = 0., - fr = "Ecart type de la loi", - ang = "Standard deviation", - ), - - ), # Fin BLOC MuSigma_Parameters - - Gamma = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Borne inferieure du support de la loi", - ang = "Support lower bound", - ), - - ), # Fin BLOC WEIBULL - -) # Fin OPER DISTRIBUTION -# Ordre Catalogue DISTRIBUTION - - - -#================================ -# Definition du modele physique -#================================ - - -DETERMINISTICVARIABLE = OPER ( nom = "DETERMINISTICVARIABLE", - sd_prod = variable, - op = None, - fr = "Variable deterministe", - ang = "Deterministic variable", - - N = SIMP ( statut = 'o', - typ = "TXM", - fr = "Nom", - ang = "Name", - ), - - T = SIMP ( statut = 'o', - defaut = "in", - into = ( "in" , "out", ), - typ = "TXM", - fr = "Type", - ang = "Type", - ), - - R = SIMP ( statut = 'o', - defaut = 0, - typ = "I", - fr = "Rang", - ang = "Rank", - ), - -) # Fin OPER DETERMINISTICVARIABLE -# Ordre Catalogue DETERMINISTICVARIABLE - - - -import opsOT -MODEL = MACRO ( nom = "MODEL", - op = None, - UIinfo = { "groupes" : ( "Gestion du travail", ) }, - fr = "Chargement du wrapper du modele physique", - ang = "Physical model wrapper load", - sd_prod = opsOT.INCLUDE, - op_init = opsOT.INCLUDE_context, - fichier_ini = 1, - - FileName = SIMP ( statut = "o", - typ = ('Fichier', 'Wrapper Files (*.xml);;All Files (*)',), - fr = "Nom du modele physique", - ang = "Physical model identifier", - ), - -) # Fin PROC MODEL -# Ordre Catalogue MODEL - - - - -VARIABLE = PROC ( nom = "VARIABLE", - op = None, - docu = "", - fr = "Variable probabiliste", - ang = "Probabilistic variable", - - ModelVariable = SIMP ( statut = "o", - typ = ( variable, ), - fr = "Variable d'entrée du modèle", - ang = "Input variable of the model", - ), - - Distribution = SIMP ( statut = "o", - typ = ( loi, ), - fr = "Modélisation probabiliste", - ang = "Probabilistic modelisation", - ), - -) # Fin PROC VARIABLE -# Ordre Catalogue VARIABLE - - -CORRELATION = PROC ( nom = 'CORRELATION', - op = None, - docu = "", - fr = "Correlation entre variables", - ang = "Variable correlation", - - Copula = SIMP ( statut = "o", - typ = 'TXM', - into = ( "Independent", "Normal" ), - defaut = "Independent", - fr = "Type de la copule", - ang = "Copula kind", - ), - - Matrix = BLOC ( condition = "Copula in ( 'Normal', )", - - CorrelationMatrix = SIMP ( statut = "o", - typ = Matrice(nbLigs=None, - nbCols=None, - methodeCalculTaille='NbDeVariables', - valSup=1, - valMin=-1, - structure="symetrique"), - fr = "Matrice de correlation entre les variables d'entree", - ang = "Correlation matrix for input variables", - ), - ), # Fin BLOC Matrix - - -) # Fin PROC CORRELATION -# Ordre Catalogue CORRELATION - - - - - -#================================ -# Definition de l'etude -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -CRITERIA = PROC ( nom = "CRITERIA", - op = None, - docu = "", - fr = "Critère de l'étude d'incertitudes", - ang = "Uncertainty study criteria", - - - - Type = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", "Central Uncertainty", "Threshold Exceedence" ), - fr = "Type du critère", - ang = "Criteria type", - ), - - - - - - - - MinMax = BLOC ( condition = " Type in ( 'Min/Max', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Experiment Plane", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - # UC 3.1.1 - ExperimentPlaneSettings = BLOC ( condition = " Method in ( 'Experiment Plane', ) ", - - ExperimentPlane = SIMP ( statut = "o", - typ = "TXM", - into = ( "Axial", "Factorial", "Composite", ), - fr = "Type du plan d'expérience", - ang = "Experiment plane type", - ), - - Levels = SIMP ( statut = "o", - typ = "R", - val_min = 0.0, - max = '**', - fr = "Liste de niveaux dans chaque direction", - ang = "Levels in each direction", - ), - - # Scaled Vector - UnitPerDimension = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Unité par dimension (autant que de variables declarées)", - ang = "Units per dimension (as much as declared variables)", - ), - - # Translation Vector - Center = SIMP ( statut = "o", - typ = "R", - max = '**', - fr = "Centre du plan d'expérience", - ang = "Experiment plan center", - ), - - ), # Fin BLOC ExperimentPlaneSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - SimulationsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - ), # Fin BLOC RandomSamplingSettings - - Result = SIMP ( statut = "o", - typ = "TXM", - into = ( "Min/Max", ), - defaut = "Min/Max", - fr = "Le minimum et le maximum de la variable d'intérêt", - ang = "The min and max values", - ), - - - ), # Fin BLOC MinMax - - - - - CentralUncertainty = BLOC ( condition = " Type in ( 'Central Uncertainty', ) ", - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Taylor Variance Decomposition", "Random Sampling" ), - fr = "Methode", - ang = "Method", - ), - - # UC 3.2. - TaylorVarianceDecompositionSettings = BLOC ( condition = " Method in ( 'Taylor Variance Decomposition', ) ", - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - MeanFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne au premier ordre", - ang = "MeanFirstOrder", - ), - - StandardDeviationFirstOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type au premier ordre", - ang = "StandardDeviationFirstOrder", - ), - - MeanSecondOrder = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Moyenne au second ordre", - ang = "MeanSecondOrder", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "ImportanceFactor", - ), - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - ), # Fin FACT Result - - ), # Fin BLOC TaylorVarianceDecompositionSettings - - - - RandomSamplingSettings = BLOC ( condition = " Method in ( 'Random Sampling', ) ", - - SimulationsNumber = SIMP ( statut = "o", - typ = "I", - val_min = 1, - fr = "Nombre de points", - ang = "Points number", - ), - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - EmpiricalMean = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Moyenne empirique", - ang = "Empirical mean", - ), - - EmpiricalStandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Ecart-type empirique", - ang = "Empirical standard deviation", - ), - - EmpiricalQuantile = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Quantile empirique", - ang = "Empirical quantile", - ), - - EmpiricalQuantileSettings = BLOC ( condition = " EmpiricalQuantile in ( 'yes', ) ", - - EmpiricalQuantile_Order = SIMP ( statut = "o", - typ = 'R', - defaut = 0.95, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Ordre du quantile empirique", - ang = "Empirical quantile order", - ), - - ), # Fin BLOC EmpiricalQuantileSettings - - CorrelationAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Correlations analysees", - ang = "Analysed correlations", - ), - - KernelSmoothing = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Kernel smoothing de l'echantillon", - ang = "Kernel smoothing of the sample", - ), - - KernelSmoothingSettings = BLOC ( condition = " KernelSmoothing in ( 'yes', ) ", - - KernelSmoothingDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique de la reconstruction a noyau", - ang = "Kernel Smoothing Drawing Filename", - ), - - - ), # Fin BLOC KernelSmoothingSettings - - ), # Fin FACT Result - - ), # Fin BLOC RandomSamplingSettings - - ), # Fin BLOC CentralUncertainty - - - - - ThresholdExceedence = BLOC ( condition = " Type in ( 'Threshold Exceedence', ) ", - - Event = FACT ( statut = "o", - min = 1, - max = 1, - - Threshold = SIMP ( statut = "o", - typ = "R", - max = 1, - fr = "Le seuil de defaillance", - ang = "Failure threshold", - ), - - ComparisonOperator = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "Less", "LessOrEqual", "Equal", "GreaterOrEqual", "Greater" ), - fr = "Que faut-il ne pas depasser : un maximum ou un minimum", - ang = "What is the failure threshold : maximum or minimum", - ), - ), # Fin FACT Event - - - Method = SIMP ( statut = "o", - typ = "TXM", - into = ( "Simulation", "FORM_SORM" ), - fr = "Methode", - ang = "Method", - ), - - SimulationSettings = BLOC ( condition = " Method in ( 'Simulation', ) ", - - Algorithm = SIMP ( statut = "o", - typ = "TXM", - into = ( "MonteCarlo", "LHS", "ImportanceSampling" ), - fr = "Algorithme de simulation", - ang = "Simulation algorithm", - ), - - - RandomGenerator = FACT ( statut = "o", - min = 1, - max = 1, - - SeedToBeSet = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "La racine du generateur aleatoire doit-elle etre positionnee ?", - ang = "Does the random generator seed need to be set ?", - ), - - SeedSettings = BLOC ( condition = " SeedToBeSet in ( 'yes', ) ", - - RandomGeneratorSeed = SIMP ( statut = "o", - typ = "I", - max = 1, - fr = "Racine du generateur aleatoire", - ang = "Random generator seed", - ), - - ), # Fin BLOC SeedSettings - - ), # Fin FACT RandomGenerator - - - BlockSize = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - defaut = 1, - fr = "Nombre de calculs realises en bloc", - ang = "Number of computations as a block", - ), - - MaximumOuterSampling = SIMP ( statut = "o", - typ = "I", - max = 1, - val_min = 1, - fr = "Maximum d'iterations externes", - ang = "Maximum outer Sampling value", - ), - - MaximumCoefficientOfVariation = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 0.1, - val_min = 0.0, - val_max = 1.0, - fr = "Coefficient de variation maximum", - ang = "Maximum coefficient of variation" - ), - - ImportanceSamplingSettings = BLOC ( condition = " Algorithm in ( 'ImportanceSampling', ) ", - - MeanVector = SIMP ( statut = "o", - typ = "R", - max = "**", - fr = "Moyenne", - ang = "Mean vector", - ), - - - ), # Fin BLOC ImportanceSamplingSettings - - Result = FACT ( statut = "o", - min = 1, - max = "**", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - StandardDeviation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Ecart type", - ang = "Standard deviation", - ), - - ConfidenceInterval = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Intervale de confiance", - ang = "Confidence interval", - ), - - ConfidenceIntervalSettings = BLOC ( condition = " ConfidenceInterval in ( 'yes', ) ", - - Level = SIMP ( statut = "o", - typ = 'R', - defaut = 0.9, - max = 1, - val_min = 0.0, - val_max = 1.0, - fr = "Niveau de confiance", - ang = "Confidence level", - ), - - ), # Fin BLOC ConfidenceIntervalSettings - - VariationCoefficient = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Coefficient de variation", - ang = "Coefficient of variation", - ), - - SimulationsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'iterations", - ang = "Iteration number", - ), - - ConvergenceGraph = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Graphe de convergence", - ang = "Convergence graph", - ), - - ConvergenceGraphSettings = BLOC ( condition = " ConvergenceGraph in ( 'yes', ) ", - - ConvergenceDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique de la convergence", - ang = "Convergence Drawing Filename", - ), - - - ), # Fin BLOC ConvergenceGraphSettings - - ), # Fin FACT Result - - - - ), # Fin BLOC SimulationSettings - - - - FORM_SORMSettings = BLOC ( condition = " Method in ( 'FORM_SORM', ) ", - - Approximation = SIMP ( statut = "o", - typ = "TXM", - defaut = "FirstOrder", - into = ( "FirstOrder", "SecondOrder" ), - max = 1, - fr = "Approximation", - ang = "Approximation", - ), - - OptimizationAlgorithm = SIMP ( statut = "o", - typ = "TXM", - defaut = "Cobyla", - into = ( "Cobyla", "AbdoRackwitz" ), - max = 1, - fr = "Methode d'optimisation", - ang = "Optimization method", - ), - - - PhysicalStartingPoint = SIMP ( statut = "f", - typ = "R", - max = "**", - fr = "Point de demarrage de l'algorithme iteratif", - ang = "Initial point for iterative process", - ), - - MaximumIterationsNumber = SIMP ( statut = "f", - typ = "I", - max = 1, - val_min = 1, - fr = "Nombre maximum d'iterations", - ang = "Maximum number of iterations", - ), - - - MaximumAbsoluteError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum absolue entre 2 iterations successives", - ang = "Absolute maximum distance between 2 successive iterates", - ), - - MaximumRelativeError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Distance maximum relative entre 2 iterations successives", - ang = "Relative maximum distance between 2 successive iterates", - ), - - MaximumConstraintError = SIMP ( statut = "o", - typ = "R", - max = 1, - defaut = 1E-4, - val_min = 0.0, - fr = "Valeur maximum absolue de la fonction moins la valeur du niveau", - ang = "Maximum absolute value of the constraint function minus the level value", - ), - - ImportanceSampling = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'no', - max = 1, - fr = "Tirage d'importance au point de conception", - ang = "Importance sampling at design point", - ), - - FORMResult = BLOC ( condition = " Approximation in ( 'FirstOrder', ) ", - - Probability = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', ), - defaut = 'yes', - max = 1, - fr = "Probabiblite", - ang = "Probability", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - HasoferReliabilityIndex = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite", - ang = "Reliability index", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "Importance factor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - FORMEventProbabilitySensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - FORMEventProbabilitySensitivitySettings = BLOC ( condition = " FORMEventProbabilitySensitivity in ( 'yes', ) ", - - FORMEventProbabilitySensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FORMEventProbabilitySensitivitySettings - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC FORMResult - - - SORMResult = BLOC ( condition = " Approximation in ( 'SecondOrder', ) ", - - - TvedtApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de Tvedt", - ang = "Tvedt approximation", - ), - - HohenBichlerApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de HohenBichler", - ang = "HohenBichler approximation", - ), - - BreitungApproximation = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Approximation de Breitung", - ang = "Breitung approximation", - ), - - DesignPoint = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Point de conception", - ang = "Design point", - ), - - ImportanceFactor = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Facteur d'importance pour variable de sortie scalaire", - ang = "Importance factor", - ), - - ImportanceFactorSettings = BLOC ( condition = " ImportanceFactor in ( 'yes', ) ", - - ImportanceFactorDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des facteurs d'importance", - ang = "Importance Factor Drawing Filename", - ), - - - ), # Fin BLOC ImportanceFactorSettings - - SensitivityAnalysis = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Analyse de sensibilite", - ang = "Sensitivity analysis", - ), - - SensitivityAnalysisSettings = BLOC ( condition = " SensitivityAnalysis in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivity = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Indice de fiabilite de Hasofer", - ang = "Hasofer reliability index", - ), - - HasoferReliabilityIndexSensitivitySettings = BLOC ( condition = " HasoferReliabilityIndexSensitivity in ( 'yes', ) ", - - HasoferReliabilityIndexSensitivityDrawingFilename = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom du fichier graphique des sensibilites", - ang = "Sensitivity Drawing Filename", - ), - - - ), # Fin BLOC FHasoferReliabilityIndexSensitivitySettings - - ), # Fin BLOC SensitivityAnalysisSettings - - FunctionCallsNumber = SIMP ( statut = "o", - typ = 'TXM', - into = ( 'yes', 'no' ), - defaut = 'yes', - max = 1, - fr = "Nombre d'appels a la fonction", - ang = "Function calls number", - ), - - - ), # Fin BLOC SecondOrder - - - - ), # Fin BLOC FORM_SORMSettings - - - - ), # Fin BLOC ThresholdExceedence - - - -) # Fin PROC CRITERIA -# Ordre Catalogue CRITERIA - - - - - - - diff --git a/OldCodes/Openturns_Study/configuration_OPENTURNS_STUDY.py b/OldCodes/Openturns_Study/configuration_OPENTURNS_STUDY.py deleted file mode 100644 index 64d0b05e..00000000 --- a/OldCodes/Openturns_Study/configuration_OPENTURNS_STUDY.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# 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. -# -# 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 -# -""" - Ce module sert pour charger les paramètres de configuration d'EFICAS -""" -# Modules Python -import configuration -import os - - -class CONFIG(configuration.CONFIG_BASE): - - #----------------------------------- - def __init__(self,appli,repIni): - #----------------------------------- - - - self.labels_user=['exec_acrobat', 'catalogues','savedir','path_doc'] - self.labels_eficas=["OpenTURNS_path","path_doc","exec_acrobat"] - self.labels_eficas=self.labels_eficas+["rep_cata","lang","catalogues"] - configuration.CONFIG_BASE.__init__(self,appli,repIni) - - #--------------------------------------- - def lecture_fichier_ini_standard(self): - #--------------------------------------- - configuration.CONFIG_BASE.lecture_fichier_ini_standard(self) - if hasattr(self,'OpenTURNS_path') : self.oldOTPath=self.OpenTURNS_path - - #--------------------------------------- - def lecture_fichier_ini_integrateur(self): - #--------------------------------------- - configuration.CONFIG_BASE.lecture_fichier_ini_utilisateur(self) - if hasattr(self,'OpenTURNS_path') : - if hasattr(self,'oldOTPath') and (self.OpenTURNS_path != self.oldOTPath): - import sys - sys.path.remove(self.oldOTPath) - sys.path[:0]=[self.OpenTURNS_path] - self.oldOTPath=self.OpenTURNS_path - -def make_config(appli,rep): - return CONFIG(appli,rep) - diff --git a/OldCodes/Openturns_Study/prefs_OPENTURNS_STUDY.py b/OldCodes/Openturns_Study/prefs_OPENTURNS_STUDY.py deleted file mode 100644 index f686f516..00000000 --- a/OldCodes/Openturns_Study/prefs_OPENTURNS_STUDY.py +++ /dev/null @@ -1,56 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2015 EDF R&D -# -# 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. -# -# 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 -# - -import os, sys -# Les variables pouvant positionnees sont : -print "import des prefs de OPENTURNS" - -# repIni sert a localiser le fichier -# initialdir sert comme directory initial des QFileDialog -# positionnee a repin au debut mise a jour dans configuration -repIni=os.path.dirname(os.path.abspath(__file__)) -INSTALLDIR=os.path.join(repIni,'..') -sys.path[:0]=[INSTALLDIR] - - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -# lang indique la langue utilisée pour les chaines d'aide : fr ou ang -lang='fr' -encoding='iso-8859-1' - -# Acces a la documentation -path_doc = os.path.join(INSTALLDIR,'Doc') -exec_acrobat = "/usr/bin/xpdf" -savedir = os.environ['HOME'] - - -# OpenTURNS Python module -OpenTURNS_path="" -if len(OpenTURNS_path) > 0: sys.path[:0]=[OpenTURNS_path] - -# Choix des catalogues -from Editeur.catadesc import CatalogDescription - -catalogues = ( - CatalogDescription(identifier = "OPENTURNS_STUDY_V8", - cata_file_path = os.path.join(os.path.abspath(repIni), 'OpenTURNS_Cata_Study_V8.py'), - file_format = "openturns_study"), -) - diff --git a/OldCodes/Openturns_Study/properties.py b/OldCodes/Openturns_Study/properties.py deleted file mode 100644 index 8ba0ed7e..00000000 --- a/OldCodes/Openturns_Study/properties.py +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -#@ MODIF properties Accas DATE 10/10/2002 AUTEUR gcbhhhh M.ADMINISTRATEUR -# CONFIGURATION MANAGEMENT OF EDF VERSION -# RESPONSABLE D6BHHHH J-P.LEFEBVRE -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR -# DE LA VERSION DU CODE_ASTER ASSOCIE -#---------------------------------------------------------------------- -version = "7.1.0" -date = "23/04/2003" diff --git a/OldCodes/Openturns_Study/qtEficas_openturns_study.py b/OldCodes/Openturns_Study/qtEficas_openturns_study.py deleted file mode 100755 index abf2d5ab..00000000 --- a/OldCodes/Openturns_Study/qtEficas_openturns_study.py +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# 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. -# -# 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 -# -""" - Ce module sert à lancer EFICAS configuré pour Openturns -""" -# Modules Python - -# Modules Eficas -import prefs -name='prefs_'+prefs.code -__import__(name) - -import sys -from InterfaceQT4 import eficas_go -eficas_go.lance_eficas(code=prefs.code) diff --git a/OldCodes/Openturns_Study/sdistOTqt.py b/OldCodes/Openturns_Study/sdistOTqt.py deleted file mode 100644 index acf75c26..00000000 --- a/OldCodes/Openturns_Study/sdistOTqt.py +++ /dev/null @@ -1,103 +0,0 @@ -# -*- coding: utf-8 -*- -""" - Ce module sert à construire les distributions d'EFICAS pour Openturns - en fonction du tag CVS courant - Les distributions sont : - - un tar.gz pour UNIX ne contenant pas mxTextTools - L'utilisation de ce module est la suivante : - 1- Se mettre dans un répertoire de travail - 2- Configurer son environnement pour utiliser le référentiel CVS EFICAS - 3- Exporter les sources d'EficasV1 par la commande : - cvs export -r TAG -d Eficas_export EficasV1 - ou TAG est le tag CVS de la version que l'on veut distribuer (par exemple V1_1p1) - 5- Aller dans le répertoire Eficas_export - 6- Executer le script sdist.py - python sdist.py - Ce qui a pour effet de creer un repertoire dist contenant la distribution - et de la copier dans le répertoire indiqué par dir_download s'il est accessible - -""" -import os,shutil,glob,sys -import types - -nom_distrib="QTEficasOpenturns_V1_0" -path_distrib=os.path.join("dist",nom_distrib) -path_TextTools="/home/eficas/pkg/mxTools/egenix2.0.2pourWindows/mx/TextTools" -dir_download= "/home/eficas/WWW/telechargement/eficas" - -def main(): - if os.path.isdir('dist'):shutil.rmtree('dist') - - copyfiles('.',path_distrib,['LICENSE.TERMS','INSTALL','NEWS']) - - copyfiles('../Editeur',os.path.join(path_distrib,'Editeur'),['*.py','faqs.txt']) - copyfiles('../InterfaceTK',os.path.join(path_distrib,'InterfaceTK'),['*.py','faqs.txt']) - copyfiles('../InterfaceQT',os.path.join(path_distrib,'InterfaceQT'),['*.py','faqs.txt']) - copyfiles('../Ui',os.path.join(path_distrib,'Ui'),['*.ui','makefile']) - copyfiles('../Openturns',os.path.join(path_distrib,'Openturns'),['*.py','*.ini']) - copyfiles('../Ihm',os.path.join(path_distrib,'Ihm'),['*.py']) - copyfiles('../Extensions',os.path.join(path_distrib,'Extensions'),['*.py']) - copyfiles('../Misc',os.path.join(path_distrib,'Misc'),['*.py']) - copyfiles('../Accas',os.path.join(path_distrib,'Accas'),['*.py']) - copyfiles('../Accas',os.path.join(path_distrib,'Noyau'),['*.py']) - copyfiles('../Accas',os.path.join(path_distrib,'Validation'),['*.py']) - # AIDE - copyfiles('../AIDE',os.path.join(path_distrib,'AIDE'),['*.py']) - copyfiles('../AIDE/fichiers',os.path.join(path_distrib,'AIDE','fichiers'),['*']) - copyfiles('.',os.path.join(path_distrib,'AIDE','fichiers'),['INSTALL','NEWS']) - copyfiles('../Editeur',os.path.join(path_distrib,'AIDE','fichiers'),['faqs.txt']) - # ______________________ - - copyfiles('../convert',os.path.join(path_distrib,'convert'),['*.py']) - copyfiles('../convert/Parserv5',os.path.join(path_distrib,'convert','Parserv5'),['*.py']) - copyfiles('../generator',os.path.join(path_distrib,'generator'),['*.py']) - copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.gif']) - copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.png']) - copyfiles('../Editeur/Patrons/',os.path.join(path_distrib,'Editeur','Patrons'),['*.com*']) - copyfiles('../Editeur/Patrons/OPENTURNS',os.path.join(path_distrib,'Editeur','Patrons','OPENTURNS'),['*.com*']) - - copyfiles('../Noyau',os.path.join(path_distrib,'Noyau'),['*.py']) - copyfiles('../Validation',os.path.join(path_distrib,'Validation'),['*.py']) - - - tarball= maketarball('dist',nom_distrib,nom_distrib) - try: - shutil.copy(tarball,dir_download) - except: - print "Repertoire de download inconnu : ",dir_download - - - -def make_dir(dir_cible): - if type(dir_cible) is not types.StringType: - raise "make_dir : dir_cible doit etre une string (%s)" % `dir_cible` - head,tail=os.path.split(dir_cible) - tails=[tail] - while head and tail and not os.path.isdir(head): - head,tail=os.path.split(head) - tails.insert(0, tail) - - for d in tails: - head = os.path.join(head, d) - if not os.path.isdir(head):os.mkdir(head) - - -def copyfiles(dir_origin,dir_cible,listfiles): - if not os.path.isdir(dir_cible):make_dir(dir_cible) - for glob_files in listfiles: - for file in glob.glob(os.path.join(dir_origin,glob_files)): - shutil.copy(file,dir_cible) - - -def maketarball(dir_trav,dir_cible,nom_tar): - prev=os.getcwd() - print prev - os.chdir(dir_trav) - os.system("tar -cf "+nom_tar+".tar "+dir_cible) - os.system("gzip -f9 "+nom_tar+".tar ") - os.chdir(prev) - return os.path.join(dir_trav,nom_tar+".tar.gz") - - -main() - diff --git a/OldCodes/Openturns_Study/style.py b/OldCodes/Openturns_Study/style.py deleted file mode 100644 index 7da9d534..00000000 --- a/OldCodes/Openturns_Study/style.py +++ /dev/null @@ -1 +0,0 @@ -# Necessaire pour compatibilite avec Aster diff --git a/OldCodes/Openturns_Study/test/MinMax_ExpPlane.py b/OldCodes/Openturns_Study/test/MinMax_ExpPlane.py deleted file mode 100644 index 098c853e..00000000 --- a/OldCodes/Openturns_Study/test/MinMax_ExpPlane.py +++ /dev/null @@ -1,68 +0,0 @@ -#! /usr/bin/env python - -# Chargement du module systeme -import sys -sys.path.append( '/local00/home/dutka/OpenTURNS/trunk/build/install/lib/python2.4/site-packages/openturns' ) - -# Chargement du module Open TURNS -from openturns import * - -# Definit le niveau d'affichage de la log -flags = Log.NONE -flags = flags + Log.WARN -flags = flags + Log.ERROR -flags = flags - Log.WRAPPER -flags = flags + Log.INFO -flags = flags - Log.USER -flags = flags - Log.DBG -Log.Show( flags ) - -# Etude 'Min/Max' -# Charge le modele physique -model = NumericalMathFunction( 'poutre' ) -n = model.getInputNumericalPointDimension() - -# Etude par plan d'experience -# Definit les niveaux de la structure de grille -levels = NumericalPoint( 3 ) -levels[0] = 1 -levels[1] = 2 -levels[2] = 5 - -# Cree le plan d'experience centre reduit -myCenteredReductedGrid = Axial(n, levels) -myExperimentPlane = myCenteredReductedGrid.generate() - -# Definit les facteurs d'echelle dans chaque direction -scaledVector = NumericalPoint( n ) -scaledVector[0] = 100 -scaledVector[1] = 5 -scaledVector[2] = 0.5 -scaledVector[3] = 1e-07 -myExperimentPlane.scale( scaledVector ) - -# Definit le vecteur de translation -translationVector = NumericalPoint( n ) -translationVector[0] = 3e+09 -translationVector[1] = 300 -translationVector[2] = 2.5 -translationVector[3] = 4e-06 -myExperimentPlane.translate( translationVector ) - - -inputSample = myExperimentPlane - -# Calcul -outputSample = model( inputSample ) - -# Resultats -minValue = outputSample.getMin() -maxValue = outputSample.getMax() - -print 'minValue = ', minValue -print 'maxValue = ', maxValue - - - -# Terminaison du fichier -sys.exit( 0 ) diff --git a/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V1.py b/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V1.py deleted file mode 100644 index 7bad7c17..00000000 --- a/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V1.py +++ /dev/null @@ -1,216 +0,0 @@ -# -*- coding: utf-8 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -import Accas -from Accas import * - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_WRAPPER', - execmodul = None, - regles = ( AU_MOINS_UN ( 'WRAPPER' ), ), - ) # Fin JDC_CATA - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - - -#================================ -# 2. Definition des variables -#================================ - -VARIABLEPOOL = PROC ( nom = "VARIABLEPOOL", - op = None, - docu = "", - fr = "L'ensemble des variables probabilistes", - ang = "The pool of probabilistic variables", - - - Variables = FACT ( statut = "o", - min = 1, - max = "**", - - - - Name = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom de la variable, identique au nom dans le solver.", - ang = "Name of the variable, identical to the name in solver." - ), - - Type = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "in", "out", ), - defaut = "in", - fr = "variable d'entree ou de sortie du solver", - ang = "Input or Output variable", - ), - - Unit = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Unite", - ang = "Unit", - ), - - Comment = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Commentaire", - ang = "Comment", - ), - - Regexp = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Expression reguliere", - ang = "Regular expression", - ), - - Format = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Format d'ecriture", - ang = "Format", - ), - - - ), # Fin FACT Variables - -) # Fin PROC VARIABLEPOOL - - -#================================ -# Definition des parametres du wrapper -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -WRAPPER = PROC ( nom = "WRAPPER", - op = None, - docu = "", - fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", - ang = "Writes the configuration file for OPENTURNS.", - - - WrapperPath = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Chemin d acces au wrapper", - ang = "Wrapper library path", - ), - - FunctionName = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom de la fonction dans le wrapper", - ang = "Function's name in wrapper", - ), - - GradientName = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du gradient dans le wrapper", - ang = "Gradient's name in wrapper", - ), - - HessianName = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du hessian dans le wrapper", - ang = "Hessian's name in wrapper", - ), - - WrapCouplingMode = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "static-link", "dynamic-link", "fork", ), - fr = "Mode de couplage du solver", - ang = "Solver coupling mode", - ), - - Fork = BLOC ( condition = " WrapCouplingMode in ( 'fork', ) ", - - Command = SIMP ( statut = "o", - max = 1, - typ = "TXM", - fr = "Chemin du solver", - ang = "solver path", - ), - ), # Fin BLOC Fork - - State = SIMP ( statut = "f", - typ = "TXM", - max = 1, - into = ( "shared", "specific" ), - fr = "Partage de l'etat interne entre les fonctions", - ang = "Internal state sharing", - ), - - InDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", ), - fr = "Mode de transfert des donnees d'entree", - ang = "Input transfering mode", - ), - - OutDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", ), - fr = "Mode de transfert des donnees de sortie", - ang = "Output transfering mode", - ), - - - - - Files = FACT ( statut = "f", - min = 1, - max = "**", - - Id = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Identificateur du fichier", - ang = "File id", - ), - - Type = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "in", "out", ), - fr = "Fichier d entree ou de sortie du solveur ?", - ang = "Input or Output file ?", - ), - - Name = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du fichier", - ang = "File name", - ), - - Path = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Chemin du fichier", - ang = "Path file ", - ), - - Subst = SIMP ( statut = "f", - typ = "TXM", - max = "**", - fr = "Liste de variables", - ang = "List", - ), - - ), # Fin FACT Files - -) # Fin PROC WRAPPER diff --git a/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V2.py b/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V2.py deleted file mode 100644 index a3895d3f..00000000 --- a/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V2.py +++ /dev/null @@ -1,206 +0,0 @@ -# -*- coding: utf-8 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -import Accas -from Accas import * - -class variable(ASSD ) : pass - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_WRAPPER', - execmodul = None, - regles = ( AU_MOINS_UN ( 'WRAPPER' ), ), - ) # Fin JDC_CATA - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - - -#================================ -# 2. Definition des variables -#================================ - - - -VARIABLE = OPER ( nom = "VARIABLE", - sd_prod = variable, - op = None, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - - Type = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "in", "out", ), - defaut = "in", - fr = "variable d'entree ou de sortie du solver", - ang = "Input or Output variable", - ), - - Unit = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Unite", - ang = "Unit", - ), - - Comment = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Commentaire", - ang = "Comment", - ), - - Regexp = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Expression reguliere", - ang = "Regular expression", - ), - - Format = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Format d'ecriture", - ang = "Format", - ), - - - ) # Fin FACT Variables -# - - -#================================ -# Definition des parametres du wrapper -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -WRAPPER = PROC ( nom = "WRAPPER", - op = None, - docu = "", - fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", - ang = "Writes the configuration file for OPENTURNS.", - - - WrapperPath = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Chemin d acces au wrapper", - ang = "Wrapper library path", - ), - - FunctionName = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom de la fonction dans le wrapper", - ang = "Function's name in wrapper", - ), - - GradientName = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du gradient dans le wrapper", - ang = "Gradient's name in wrapper", - ), - - HessianName = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du hessian dans le wrapper", - ang = "Hessian's name in wrapper", - ), - - WrapCouplingMode = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "static-link", "dynamic-link", "fork", ), - defaut = "fork", - fr = "Mode de couplage du solver", - ang = "Solver coupling mode", - ), - - Fork = BLOC ( condition = " WrapCouplingMode in ( 'fork', ) ", - - Command = SIMP ( statut = "o", - max = 1, - typ = "TXM", - fr = "Chemin du solver", - ang = "solver path", - ), - ), # Fin BLOC Fork - - State = SIMP ( statut = "f", - typ = "TXM", - max = 1, - into = ( "shared", "specific" ), - fr = "Partage de l'etat interne entre les fonctions", - ang = "Internal state sharing", - ), - - InDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", ), - fr = "Mode de transfert des donnees d'entree", - ang = "Input transfering mode", - ), - - OutDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", ), - fr = "Mode de transfert des donnees de sortie", - ang = "Output transfering mode", - ), - - - - - Files = FACT ( statut = "f", - min = 1, - max = "**", - - Id = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Identificateur du fichier", - ang = "File id", - ), - - Type = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "in", "out", ), - fr = "Fichier d entree ou de sortie du solveur ?", - ang = "Input or Output file ?", - ), - - Name = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du fichier", - ang = "File name", - ), - - Path = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Chemin du fichier", - ang = "Path file ", - ), - - Subst = SIMP ( statut = "f", - typ = "TXM", - max = "**", - fr = "Liste de variables", - ang = "List", - ), - - ), # Fin FACT Files - -) # Fin PROC WRAPPER diff --git a/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V3.py b/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V3.py deleted file mode 100644 index f99f40b3..00000000 --- a/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V3.py +++ /dev/null @@ -1,301 +0,0 @@ -# -*- coding: utf-8 -*- - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -import Accas -from Accas import * - -class variable(ASSD ) : pass - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_WRAPPER', - execmodul = None, - regles = ( AU_MOINS_UN ( 'WRAPPER' ), ), - ) # Fin JDC_CATA - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - - -#================================ -# 2. Definition des variables -#================================ - - - -VARIABLE = OPER ( nom = "VARIABLE", - sd_prod = variable, - op = None, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - - Type = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "in", "out", ), - defaut = "in", - fr = "variable d'entree ou de sortie du solver", - ang = "Input or Output variable", - ), - - Unit = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Unite", - ang = "Unit", - ), - - Comment = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Commentaire", - ang = "Comment", - ), - - Regexp = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Expression reguliere", - ang = "Regular expression", - ), - - Format = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Format d'ecriture", - ang = "Format", - ), - - - ) # Fin FACT Variables -# - - -#================================ -# Definition des parametres du wrapper -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -WRAPPER = PROC ( nom = "WRAPPER", - op = None, - docu = "", - fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", - ang = "Writes the configuration file for OPENTURNS.", - - Framework = SIMP ( statut = "o", - typ = "TXM", - into = ( "Salome", "Stand-alone", ), - max = 1, - fr = "Dans quel environnement le wrapper doit-il etre utilise ?", - ang = "Which framework is this wrapper designed for ?", - ), - - StandAlone = BLOC ( condition = " Framework in ( 'Stand-alone', ) ", - - - WrapperPath = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Chemin d acces au wrapper", - ang = "Wrapper library path", - ), - - FunctionName = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom de la fonction dans le wrapper", - ang = "Function's name in wrapper", - ), - - GradientName = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du gradient dans le wrapper", - ang = "Gradient's name in wrapper", - ), - - HessianName = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du hessian dans le wrapper", - ang = "Hessian's name in wrapper", - ), - - WrapCouplingMode = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "static-link", "dynamic-link", "fork", ), - defaut = "fork", - fr = "Mode de couplage du solver", - ang = "Solver coupling mode", - ), - - Fork = BLOC ( condition = " WrapCouplingMode in ( 'fork', ) ", - - Command = SIMP ( statut = "o", - max = 1, - typ = "TXM", - fr = "Chemin du solver", - ang = "solver path", - ), - ), # Fin BLOC Fork - - State = SIMP ( statut = "f", - typ = "TXM", - max = 1, - into = ( "shared", "specific" ), - fr = "Partage de l'etat interne entre les fonctions", - ang = "Internal state sharing", - ), - - InDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", "corba" ), - fr = "Mode de transfert des donnees d'entree", - ang = "Input transfering mode", - ), - - OutDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", "corba" ), - fr = "Mode de transfert des donnees de sortie", - ang = "Output transfering mode", - ), - - ), # Fin BLOC StandAlone - - - Salome = BLOC ( condition = " Framework in ( 'Salome', ) ", - - SolverComponentName = SIMP ( statut = "f", - typ = "TXM", - max = 1, - defaut = "UNDEFINED", - fr = "Nom du composant solver", - ang = "Solver component name", - ), - - - WrapperPath = SIMP ( statut = "o", - typ = "TXM", - into = ( "GenericWrapper4Salome.so", ), - defaut = "GenericWrapper4Salome.so", - max = 1, - fr = "Chemin d acces au wrapper", - ang = "Wrapper library path", - ), - - FunctionName = SIMP ( statut = "o", - typ = "TXM", - into = ( "GENERICSOLVER", ), - defaut = "GENERICSOLVER", - max = 1, - fr = "Nom de la fonction dans le wrapper", - ang = "Function's name in wrapper", - ), - - GradientName = SIMP ( statut = "f", - typ = "TXM", - into = ( "GENERICSOLVER", ), - defaut = "GENERICSOLVER", - max = 1, - fr = "Nom du gradient dans le wrapper", - ang = "Gradient's name in wrapper", - ), - - HessianName = SIMP ( statut = "f", - typ = "TXM", - into = ( "GENERICSOLVER", ), - defaut = "GENERICSOLVER", - max = 1, - fr = "Nom du hessian dans le wrapper", - ang = "Hessian's name in wrapper", - ), - - WrapCouplingMode = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "static-link", ), - defaut = "static-link", - fr = "Mode de couplage du solver", - ang = "Solver coupling mode", - ), - - State = SIMP ( statut = "f", - typ = "TXM", - max = 1, - into = ( "shared", "specific" ), - fr = "Partage de l'etat interne entre les fonctions", - ang = "Internal state sharing", - ), - - InDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", "corba", ), - defaut = "corba", - fr = "Mode de transfert des donnees d'entree", - ang = "Input transfering mode", - ), - - OutDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", "corba", ), - defaut = "corba", - fr = "Mode de transfert des donnees de sortie", - ang = "Output transfering mode", - ), - - ), # Fin BLOC Salome - - - Files = FACT ( statut = "f", - min = 1, - max = "**", - - Id = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Identificateur du fichier", - ang = "File id", - ), - - Type = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "in", "out", ), - fr = "Fichier d entree ou de sortie du solveur ?", - ang = "Input or Output file ?", - ), - - Name = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du fichier", - ang = "File name", - ), - - Path = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Chemin du fichier", - ang = "Path file ", - ), - - Subst = SIMP ( statut = "f", - typ = "TXM", - max = "**", - fr = "Liste de variables", - ang = "List", - ), - - ), # Fin FACT Files - -) # Fin PROC WRAPPER diff --git a/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V4.py b/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V4.py deleted file mode 100644 index 651d5b82..00000000 --- a/OldCodes/Openturns_Wrapper/OpenTURNS_Cata_Wrapper_V4.py +++ /dev/null @@ -1,326 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# 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. -# -# 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 -# - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -import Accas -from Accas import * - -class variable(ASSD ) : pass - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'OPENTURNS_WRAPPER', - execmodul = None, - regles = ( AU_MOINS_UN ( 'WRAPPER' ), ), - ) # Fin JDC_CATA - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- - - -#================================ -# 2. Definition des variables -#================================ - - - -VARIABLE = OPER ( nom = "VARIABLE", - sd_prod = variable, - op = None, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - - - Type = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "in", "out", ), - defaut = "in", - fr = "variable d'entree ou de sortie du solver", - ang = "Input or Output variable", - ), - - Unit = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Unite", - ang = "Unit", - ), - - Comment = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Commentaire", - ang = "Comment", - ), - - Regexp = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Expression reguliere", - ang = "Regular expression", - ), - - Format = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Format d'ecriture", - ang = "Format", - ), - - - ) # Fin FACT Variables -# - - -#================================ -# Definition des parametres du wrapper -#================================ - -# Nota : les variables de type PROC doivent etre en majuscules ! -WRAPPER = PROC ( nom = "WRAPPER", - op = None, - docu = "", - fr = "Mise en donnee pour le fichier de configuration de OPENTURNS.", - ang = "Writes the configuration file for OPENTURNS.", - - Framework = SIMP ( statut = "o", - typ = "TXM", - into = ( "Salome", "Stand-alone", ), - max = 1, - fr = "Dans quel environnement le wrapper doit-il etre utilise ?", - ang = "Which framework is this wrapper designed for ?", - ), - - StandAlone = BLOC ( condition = " Framework in ( 'Stand-alone', ) ", - - - WrapperPath = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Chemin d acces au wrapper", - ang = "Wrapper library path", - ), - - FunctionName = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Nom de la fonction dans le wrapper", - ang = "Function's name in wrapper", - ), - - GradientName = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du gradient dans le wrapper", - ang = "Gradient's name in wrapper", - ), - - HessianName = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du hessian dans le wrapper", - ang = "Hessian's name in wrapper", - ), - - WrapCouplingMode = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "static-link", "dynamic-link", "fork", ), - defaut = "fork", - fr = "Mode de couplage du solver", - ang = "Solver coupling mode", - ), - - Fork = BLOC ( condition = " WrapCouplingMode in ( 'fork', ) ", - - Command = SIMP ( statut = "o", - max = 1, - typ = "TXM", - fr = "Chemin du solver", - ang = "Solver path", - ), - - UserPrefix = SIMP ( statut = "f", - max = 1, - typ = "TXM", - fr = "Prefixe pour retrouver les repertories temporaires de calcul", - ang = "Prefix to help finding compute directories", - ), - ), # Fin BLOC Fork - - State = SIMP ( statut = "f", - typ = "TXM", - max = 1, - into = ( "shared", "specific" ), - fr = "Partage de l'etat interne entre les fonctions", - ang = "Internal state sharing", - ), - - InDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", "corba" ), - fr = "Mode de transfert des donnees d'entree", - ang = "Input transfering mode", - ), - - OutDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", "corba" ), - fr = "Mode de transfert des donnees de sortie", - ang = "Output transfering mode", - ), - - ), # Fin BLOC StandAlone - - - Salome = BLOC ( condition = " Framework in ( 'Salome', ) ", - - SolverComponentName = SIMP ( statut = "f", - typ = "TXM", - max = 1, - defaut = "UNDEFINED", - fr = "Nom du composant solver", - ang = "Solver component name", - ), - - - WrapperPath = SIMP ( statut = "o", - typ = "TXM", - into = ( "GenericWrapper4Salome.so", ), - defaut = "GenericWrapper4Salome.so", - max = 1, - fr = "Chemin d acces au wrapper", - ang = "Wrapper library path", - ), - - FunctionName = SIMP ( statut = "o", - typ = "TXM", - into = ( "GENERICSOLVER", ), - defaut = "GENERICSOLVER", - max = 1, - fr = "Nom de la fonction dans le wrapper", - ang = "Function's name in wrapper", - ), - - GradientName = SIMP ( statut = "f", - typ = "TXM", - into = ( "GENERICSOLVER", ), - defaut = "GENERICSOLVER", - max = 1, - fr = "Nom du gradient dans le wrapper", - ang = "Gradient's name in wrapper", - ), - - HessianName = SIMP ( statut = "f", - typ = "TXM", - into = ( "GENERICSOLVER", ), - defaut = "GENERICSOLVER", - max = 1, - fr = "Nom du hessian dans le wrapper", - ang = "Hessian's name in wrapper", - ), - - WrapCouplingMode = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "static-link", ), - defaut = "static-link", - fr = "Mode de couplage du solver", - ang = "Solver coupling mode", - ), - - State = SIMP ( statut = "f", - typ = "TXM", - max = 1, - into = ( "shared", "specific" ), - fr = "Partage de l'etat interne entre les fonctions", - ang = "Internal state sharing", - ), - - InDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", "corba", ), - defaut = "corba", - fr = "Mode de transfert des donnees d'entree", - ang = "Input transfering mode", - ), - - OutDataTransfer = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "files", "arguments", "corba", ), - defaut = "corba", - fr = "Mode de transfert des donnees de sortie", - ang = "Output transfering mode", - ), - - ), # Fin BLOC Salome - - - Files = FACT ( statut = "f", - min = 1, - max = "**", - - Id = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Identificateur du fichier", - ang = "File id", - ), - - Type = SIMP ( statut = "o", - typ = "TXM", - max = 1, - into = ( "in", "out", ), - fr = "Fichier d entree ou de sortie du solveur ?", - ang = "Input or Output file ?", - ), - - Name = SIMP ( statut = "f", - typ = "TXM", - max = 1, - fr = "Nom du fichier", - ang = "File name", - ), - - Path = SIMP ( statut = "o", - typ = "TXM", - max = 1, - fr = "Chemin du fichier", - ang = "Path file ", - ), - - Subst = SIMP ( statut = "f", - typ = "TXM", - max = "**", - fr = "Liste de variables", - ang = "List", - ), - - ), # Fin FACT Files - -) # Fin PROC WRAPPER diff --git a/OldCodes/Openturns_Wrapper/configuration_OPENTURNS_WRAPPER.py b/OldCodes/Openturns_Wrapper/configuration_OPENTURNS_WRAPPER.py deleted file mode 100644 index 64d0b05e..00000000 --- a/OldCodes/Openturns_Wrapper/configuration_OPENTURNS_WRAPPER.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# 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. -# -# 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 -# -""" - Ce module sert pour charger les paramètres de configuration d'EFICAS -""" -# Modules Python -import configuration -import os - - -class CONFIG(configuration.CONFIG_BASE): - - #----------------------------------- - def __init__(self,appli,repIni): - #----------------------------------- - - - self.labels_user=['exec_acrobat', 'catalogues','savedir','path_doc'] - self.labels_eficas=["OpenTURNS_path","path_doc","exec_acrobat"] - self.labels_eficas=self.labels_eficas+["rep_cata","lang","catalogues"] - configuration.CONFIG_BASE.__init__(self,appli,repIni) - - #--------------------------------------- - def lecture_fichier_ini_standard(self): - #--------------------------------------- - configuration.CONFIG_BASE.lecture_fichier_ini_standard(self) - if hasattr(self,'OpenTURNS_path') : self.oldOTPath=self.OpenTURNS_path - - #--------------------------------------- - def lecture_fichier_ini_integrateur(self): - #--------------------------------------- - configuration.CONFIG_BASE.lecture_fichier_ini_utilisateur(self) - if hasattr(self,'OpenTURNS_path') : - if hasattr(self,'oldOTPath') and (self.OpenTURNS_path != self.oldOTPath): - import sys - sys.path.remove(self.oldOTPath) - sys.path[:0]=[self.OpenTURNS_path] - self.oldOTPath=self.OpenTURNS_path - -def make_config(appli,rep): - return CONFIG(appli,rep) - diff --git a/OldCodes/Openturns_Wrapper/prefs_OPENTURNS_WRAPPER.py b/OldCodes/Openturns_Wrapper/prefs_OPENTURNS_WRAPPER.py deleted file mode 100644 index b60be596..00000000 --- a/OldCodes/Openturns_Wrapper/prefs_OPENTURNS_WRAPPER.py +++ /dev/null @@ -1,55 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2015 EDF R&D -# -# 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. -# -# 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 -# -import os, sys -# Les variables pouvant positionnees sont : -print "import des prefs de OPENTURNS" - -# repIni sert a localiser le fichier -# initialdir sert comme directory initial des QFileDialog -# positionnee a repin au debut mise a jour dans configuration -repIni=os.path.dirname(os.path.abspath(__file__)) -INSTALLDIR=os.path.join(repIni,'..') -sys.path[:0]=[INSTALLDIR] - - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -# lang indique la langue utilisée pour les chaines d'aide : fr ou ang -lang='fr' -encoding='iso-8859-1' - -# Acces a la documentation -path_doc = os.path.join(INSTALLDIR,'Doc') -exec_acrobat = "/usr/bin/xpdf" -savedir = os.environ['HOME'] - - -# OpenTURNS Python module -OpenTURNS_path="" -if len(OpenTURNS_path) > 0: sys.path[:0]=[OpenTURNS_path] - -# Choix des catalogues -from Editeur.catadesc import CatalogDescription - -catalogues = ( - CatalogDescription(identifier = "OPENTURNS_WRAPPER_V4", - cata_file_path = os.path.join(os.path.abspath(repIni), 'OpenTURNS_Cata_Wrapper_V4.py'), - file_format = "openturns_wrapper"), -) - diff --git a/OldCodes/Openturns_Wrapper/properties.py b/OldCodes/Openturns_Wrapper/properties.py deleted file mode 100644 index 8ba0ed7e..00000000 --- a/OldCodes/Openturns_Wrapper/properties.py +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -#@ MODIF properties Accas DATE 10/10/2002 AUTEUR gcbhhhh M.ADMINISTRATEUR -# CONFIGURATION MANAGEMENT OF EDF VERSION -# RESPONSABLE D6BHHHH J-P.LEFEBVRE -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR -# DE LA VERSION DU CODE_ASTER ASSOCIE -#---------------------------------------------------------------------- -version = "7.1.0" -date = "23/04/2003" diff --git a/OldCodes/Openturns_Wrapper/qtEficas_openturns_wrapper.py b/OldCodes/Openturns_Wrapper/qtEficas_openturns_wrapper.py deleted file mode 100755 index 705dc165..00000000 --- a/OldCodes/Openturns_Wrapper/qtEficas_openturns_wrapper.py +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -""" - Ce module sert à lancer EFICAS configuré pour Openturns -""" -# Modules Python - -# Modules Eficas -import prefs -name='prefs_'+prefs.code -__import__(name) - -import sys -from InterfaceQT4 import eficas_go - -eficas_go.lance_eficas(code=prefs.code) diff --git a/OldCodes/Openturns_Wrapper/sdistOTqt.py b/OldCodes/Openturns_Wrapper/sdistOTqt.py deleted file mode 100644 index acf75c26..00000000 --- a/OldCodes/Openturns_Wrapper/sdistOTqt.py +++ /dev/null @@ -1,103 +0,0 @@ -# -*- coding: utf-8 -*- -""" - Ce module sert à construire les distributions d'EFICAS pour Openturns - en fonction du tag CVS courant - Les distributions sont : - - un tar.gz pour UNIX ne contenant pas mxTextTools - L'utilisation de ce module est la suivante : - 1- Se mettre dans un répertoire de travail - 2- Configurer son environnement pour utiliser le référentiel CVS EFICAS - 3- Exporter les sources d'EficasV1 par la commande : - cvs export -r TAG -d Eficas_export EficasV1 - ou TAG est le tag CVS de la version que l'on veut distribuer (par exemple V1_1p1) - 5- Aller dans le répertoire Eficas_export - 6- Executer le script sdist.py - python sdist.py - Ce qui a pour effet de creer un repertoire dist contenant la distribution - et de la copier dans le répertoire indiqué par dir_download s'il est accessible - -""" -import os,shutil,glob,sys -import types - -nom_distrib="QTEficasOpenturns_V1_0" -path_distrib=os.path.join("dist",nom_distrib) -path_TextTools="/home/eficas/pkg/mxTools/egenix2.0.2pourWindows/mx/TextTools" -dir_download= "/home/eficas/WWW/telechargement/eficas" - -def main(): - if os.path.isdir('dist'):shutil.rmtree('dist') - - copyfiles('.',path_distrib,['LICENSE.TERMS','INSTALL','NEWS']) - - copyfiles('../Editeur',os.path.join(path_distrib,'Editeur'),['*.py','faqs.txt']) - copyfiles('../InterfaceTK',os.path.join(path_distrib,'InterfaceTK'),['*.py','faqs.txt']) - copyfiles('../InterfaceQT',os.path.join(path_distrib,'InterfaceQT'),['*.py','faqs.txt']) - copyfiles('../Ui',os.path.join(path_distrib,'Ui'),['*.ui','makefile']) - copyfiles('../Openturns',os.path.join(path_distrib,'Openturns'),['*.py','*.ini']) - copyfiles('../Ihm',os.path.join(path_distrib,'Ihm'),['*.py']) - copyfiles('../Extensions',os.path.join(path_distrib,'Extensions'),['*.py']) - copyfiles('../Misc',os.path.join(path_distrib,'Misc'),['*.py']) - copyfiles('../Accas',os.path.join(path_distrib,'Accas'),['*.py']) - copyfiles('../Accas',os.path.join(path_distrib,'Noyau'),['*.py']) - copyfiles('../Accas',os.path.join(path_distrib,'Validation'),['*.py']) - # AIDE - copyfiles('../AIDE',os.path.join(path_distrib,'AIDE'),['*.py']) - copyfiles('../AIDE/fichiers',os.path.join(path_distrib,'AIDE','fichiers'),['*']) - copyfiles('.',os.path.join(path_distrib,'AIDE','fichiers'),['INSTALL','NEWS']) - copyfiles('../Editeur',os.path.join(path_distrib,'AIDE','fichiers'),['faqs.txt']) - # ______________________ - - copyfiles('../convert',os.path.join(path_distrib,'convert'),['*.py']) - copyfiles('../convert/Parserv5',os.path.join(path_distrib,'convert','Parserv5'),['*.py']) - copyfiles('../generator',os.path.join(path_distrib,'generator'),['*.py']) - copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.gif']) - copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.png']) - copyfiles('../Editeur/Patrons/',os.path.join(path_distrib,'Editeur','Patrons'),['*.com*']) - copyfiles('../Editeur/Patrons/OPENTURNS',os.path.join(path_distrib,'Editeur','Patrons','OPENTURNS'),['*.com*']) - - copyfiles('../Noyau',os.path.join(path_distrib,'Noyau'),['*.py']) - copyfiles('../Validation',os.path.join(path_distrib,'Validation'),['*.py']) - - - tarball= maketarball('dist',nom_distrib,nom_distrib) - try: - shutil.copy(tarball,dir_download) - except: - print "Repertoire de download inconnu : ",dir_download - - - -def make_dir(dir_cible): - if type(dir_cible) is not types.StringType: - raise "make_dir : dir_cible doit etre une string (%s)" % `dir_cible` - head,tail=os.path.split(dir_cible) - tails=[tail] - while head and tail and not os.path.isdir(head): - head,tail=os.path.split(head) - tails.insert(0, tail) - - for d in tails: - head = os.path.join(head, d) - if not os.path.isdir(head):os.mkdir(head) - - -def copyfiles(dir_origin,dir_cible,listfiles): - if not os.path.isdir(dir_cible):make_dir(dir_cible) - for glob_files in listfiles: - for file in glob.glob(os.path.join(dir_origin,glob_files)): - shutil.copy(file,dir_cible) - - -def maketarball(dir_trav,dir_cible,nom_tar): - prev=os.getcwd() - print prev - os.chdir(dir_trav) - os.system("tar -cf "+nom_tar+".tar "+dir_cible) - os.system("gzip -f9 "+nom_tar+".tar ") - os.chdir(prev) - return os.path.join(dir_trav,nom_tar+".tar.gz") - - -main() - diff --git a/OldCodes/Openturns_Wrapper/style.py b/OldCodes/Openturns_Wrapper/style.py deleted file mode 100644 index 7da9d534..00000000 --- a/OldCodes/Openturns_Wrapper/style.py +++ /dev/null @@ -1 +0,0 @@ -# Necessaire pour compatibilite avec Aster diff --git a/OldCodes/PSEN_N1/PSEN_Cata_N1.py b/OldCodes/PSEN_N1/PSEN_Cata_N1.py deleted file mode 100644 index 6d926367..00000000 --- a/OldCodes/PSEN_N1/PSEN_Cata_N1.py +++ /dev/null @@ -1,199 +0,0 @@ -# -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# 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. -# -# 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 -# - -# -------------------------------------------------- -# debut entete -# -------------------------------------------------- - -#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR -from Accas import * -import opsPSEN_N1 -# -#class loi ( ASSD ) : pass -#class variable ( ASSD ) : pass -class sd_charge ( ASSD ) : pass -class sd_generateur ( ASSD ) : pass -class sd_ligne ( ASSD ) : pass -class sd_transfo ( ASSD ) : pass -class sd_moteur ( ASSD ) : pass -# - -# import types -class Tuple: - def __init__(self,ntuple): - self.ntuple=ntuple - - def __convert__(self,valeur): - if type(valeur) == types.StringType: - return None - if len(valeur) != self.ntuple: - return None - return valeur - - def info(self): - return "Tuple de %s elements" % self.ntuple - - __repr__=info - __str__=info - -# class Matrice: -# def __init__(self,nbLigs=None,nbCols=None,methodeCalculTaille=None,formatSortie="ligne",valSup=None,valMin=None,structure=None): -# self.nbLigs=nbLigs -# self.nbCols=nbCols -# self.methodeCalculTaille=methodeCalculTaille -# self.formatSortie=formatSortie -# self.valSup=valSup -# self.valMin=valMin -# self.structure=structure -# -# def __convert__(self,valeur): -# # Attention ne verifie pas grand chose -# if type(valeur) != types.ListType : -# return None -# return valeur -# -# def info(self): -# return "Matrice %s x %s" % (self.nbLigs, self.nbCols) -# -# __repr__=info -# __str__=info - - -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'PSEN', - execmodul = None, - regles = ( AU_MOINS_UN ( 'CASE_SELECTION' ), - # AU_MOINS_UN ( 'DIRECTORY' ), - # AU_MOINS_UN ( 'DISTRIBUTION' ), - # AU_MOINS_UN ( 'SIMULATION' ), - # AU_PLUS_UN ( 'PSSE_PARAMETERS' ), - # AU_PLUS_UN ( 'DIRECTORY' ), - # AU_PLUS_UN ( 'SIMULATION' ), - # AU_PLUS_UN ( 'CORRELATION' ), - # AU_PLUS_UN ( 'N_1_GENERATORS' ), - # AU_PLUS_UN ( 'N_1_LINES' ), - # AU_PLUS_UN ( 'N_1_LOADS' ), - # AU_PLUS_UN ( 'N_1_TRANSFORMERS' ), - - ), - ) # Fin JDC_CATA - - -# -------------------------------------------------- -# fin entete -# -------------------------------------------------- -## TODO : RUN -CASE_SELECTION = MACRO ( nom = "CASE_SELECTION", - sd_prod = opsPSEN_N1.INCLUDE, - op_init = opsPSEN_N1.INCLUDE_context, - regles = (UN_PARMI('FromFile', 'AllCases', 'WorstCases'),), - fichier_ini = 1, - op = None, - fr = "Sélectionnez les cas à analyser", - ang = 'Select the cases to analyze', - PSSE_path = SIMP(statut="o",typ='Repertoire',defaut='C:\Program Files (x86)\PTI\PSSE33\PSSBIN'), - output_folder = SIMP(statut="o", typ="Repertoire"), - - FromFile = FACT( - statut = 'f', - input_path = SIMP(statut="f",typ='Repertoire'), - branch_cases = SIMP(statut='o', typ='TXM'), - transfo_cases = SIMP(statut='o', typ='TXM'), - high_cases = SIMP(statut='o', typ='TXM'), - low_cases = SIMP(statut='o', typ='TXM'), - ), - - AllCases = FACT( - statut='f', - all_cases = SIMP(statut='o', typ=bool, defaut = True), - ), - - WorstCases = FACT( - regles = (UN_PARMI('AvgBranchLoad', 'AvgBranchLoadPercent'), UN_PARMI('AvgTransfoLoad', 'AvgTransfoLoadPercent'), UN_PARMI('AvgHighVoltage', 'AvgHighVoltagePercent'), UN_PARMI('AvgLowVoltage', 'AvgLowVoltagePercent'),), - statut = 'f', - AvgBranchLoad = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0), - AvgBranchLoadPercent = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0, val_max = 100), - AvgTransfoLoad = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0), - AvgTransfoLoadPercent = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0, val_max = 100), - AvgHighVoltage = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0), - AvgHighVoltagePercent = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0, val_max = 100), - AvgLowVoltage = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0), - AvgLowVoltagePercent = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0, val_max = 100), - ), - - MaxDepth = SIMP(statut = 'o', typ = 'I', defaut = 5), - Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", defaut = "complete CASE SELECTION"), - - BusesList = SIMP(statut = 'f', typ = 'R', min = 0, max = '**', defaut = (), homo = 'SansOrdreNiDoublon'), - - optionsLF = FACT ( - statut = 'o', - AdjTaps = SIMP(statut = 'o', typ = 'TXM', into = ['0 - Lock', '1 - Stepping', '2 - Direct'], defaut = '1 - Stepping'), - AdjDCtaps = SIMP(statut = 'o', typ = 'TXM', into = ['0 - Disable', '1 - Enable'], defaut = '1 - Enable'), - SolutionMethod = SIMP(statut = 'o', typ = 'TXM', into = ['0 - FDNS', '1 - FNSL', '2 - Optimized FDNS'], defaut = '1 - FNSL'), - AdjSwitchedShunts = SIMP(statut = 'o', typ = 'TXM', into = ['0 - Disable', '1 - Enable', '2 - Enable continuous mode'], defaut = '1 - Enable'), - DispatchMode = SIMP(statut = 'o', typ = 'TXM', into = ['0 - Disable', '1 - Reserve', '2 - Pmax', '3 - Inertia', '4 - Droop'], defaut = '1 - Reserve'), - FlatStart = SIMP(statut = 'o', typ = bool, defaut = False), - VarLimits = SIMP(statut = 'o', typ = 'I', defaut = 99), - ), - ) - -CONTINGENCY_OPTIONS = PROC ( nom = 'CONTINGENCY_OPTIONS', - op = None, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - ang = 'Nyu', - Vmin = SIMP(statut = 'o', typ = 'R', defaut = 0.9, val_min = 0), - Vmax = SIMP(statut = 'o', typ = 'R', defaut = 1.1, val_min = 0), - ContRate = SIMP(statut = 'o', typ = 'TXM', defaut = 'a', into=['a', 'b']), - FlowLimitLines = SIMP(statut = 'o', typ = 'I', defaut = 110, val_min = 0), - FloLimitTransfos = SIMP(statut = 'o', typ = 'I', defaut = 100, val_min = 0), - Tolance = SIMP(statut = 'o', typ = 'I', defaut = 10, val_min = 0), - RadialLinesOnly = SIMP(statut = 'o', typ = bool, defaut = False), - TripTransfos = SIMP(statut = 'o', typ = bool, defaut = True), - TripGenerators = SIMP(statut = 'o', typ = bool, defaut = True), - TripN_2 = SIMP(statut = 'o', typ = bool, defaut = False), - IsolatedGen = SIMP(statut = 'o', typ = bool, defaut = True), - ) - -OUTPUT_OPTIONS = PROC ( nom = 'OUTPUT_OPTIONS', - op = None, - fr = "Definitions des lois marginales utilisees par les variables d'entree", - ang = 'Nyu', - TrNoGSUorGNDOutput = SIMP(statut = 'o', typ = bool, defaut = True), - TestBusName = SIMP(statut = 'o', typ = bool, defaut = True), - ReportSpaces = SIMP(statut = 'o', typ = bool, defaut = True), - RepeatComponentAllLines = SIMP(statut = 'o', typ = bool, defaut = True), - MultipleContingencyReport = SIMP(statut = 'o', typ = bool, defaut = True), - WriteIndivExcels = SIMP(statut = 'o', typ = bool, defaut = True), - WriteFlowDifs = SIMP(statut = 'o', typ = bool, defaut = True), - ) - -DATA_PROCESSING = MACRO ( nom = 'DATA_PROCESSING', - sd_prod = opsPSEN_N1.PROCESS, - op_init = opsPSEN_N1.PROCESS_context, - fichier_ini = 1, - op = None, - fr = "Sélectionnez les cas à analyser", - ang = 'Select the cases to analyze', - XLS_file = SIMP(statut="o", typ = ('Fichier', 'XLS file (*.xls);;All Files (*)',),), - Onglets = SIMP(statut = 'f', typ = 'TXM', min = 0, max = '**', homo = 'SansOrdreNiDoublon',into=(),), - BusList = SIMP(statut = 'f', typ = 'TXM', min = 0, max = '**', homo = 'SansOrdreNiDoublon',into=(),), - ContList = SIMP(statut = 'f', typ = 'TXM', min = 0, max = '**', homo = 'SansOrdreNiDoublon',into=(),), - ) diff --git a/OldCodes/PSEN_N1/configuration_PSEN_N1.py b/OldCodes/PSEN_N1/configuration_PSEN_N1.py deleted file mode 100644 index 4ab64b85..00000000 --- a/OldCodes/PSEN_N1/configuration_PSEN_N1.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== -""" - Ce module sert pour charger les paramètres de configuration d'EFICAS -""" -# Modules Python -from InterfaceQT4 import configuration -import os - - -class CONFIG(configuration.CONFIG_BASE): - - #----------------------------------- - def __init__(self,appli,repIni): - #----------------------------------- - - self.labels_user=['catalogues','lang'] - self.labels_eficas=['lang','rep_cata','catalogues'] - - configuration.CONFIG_BASE.__init__(self,appli,'.Eficas_monCode') - - -def make_config(appli,rep): - return CONFIG(appli,rep) - diff --git a/OldCodes/PSEN_N1/mesScripts_PSEN_N1.py b/OldCodes/PSEN_N1/mesScripts_PSEN_N1.py deleted file mode 100644 index 7ffd8d0a..00000000 --- a/OldCodes/PSEN_N1/mesScripts_PSEN_N1.py +++ /dev/null @@ -1,56 +0,0 @@ -def processXLS(listeparam) : - print "dans processXLS" - item=listeparam[0] - fileNameObj=item.object.get_child('XLS_file') - if fileNameObj : fileName=fileNameObj.get_valeur() - else : fileName = "" - if fileName == "" : return 0, 'Nom de fichier invalide' - - ongletListObj=item.object.get_child('Onglets') - if ongletListObj : ongletList= ongletListObj.get_valeur() - else : ongletList = [] - if ongletList == [] : return 0, 'ongletList invalide' - - busListObj=item.object.get_child('BusList') - if busListObj : busList= busListObj.get_valeur() - else : busList = [] - if busList == [] : return 0, 'BusList invalide' - - contListObj=item.object.get_child('ContList') - if contListObj : contList=contListObj.get_valeur() - else : contList = [] - if contList == [] : return 0, 'ContList invalide' - - dicoBus={} - dicoCont={} - for onglet in ongletList: - recherche=str(" ("+ str(onglet) +" )") - listeBusPourOnglet=[] - listeContPourOnglet=[] - for bus in busList : - nomBusSplit=str(bus).split(recherche) - if len(nomBusSplit) == 2 : listeBusPourOnglet.append(nomBusSplit[0]) - for cont in contList : - nomContSplit=str(cont).split(recherche) - if len(nomContSplit) == 2 : listeContPourOnglet.append(nomContSplit[0]) - if listeBusPourOnglet != [] : dicoBus[onglet]=listeBusPourOnglet - if listeContPourOnglet != [] : dicoCont[onglet]=listeContPourOnglet - - from Processor import processXLS - processXLS(fileName,dicoBus,dicoCont) - #if nouvelleVal != [] : prob.set_valeur(nouvelleVal) - -# le dictionnaire des commandes a la structure suivante : -# la clef est la commande qui va proposer l action -# puis un tuple qui contient -# - la fonction a appeler -# - le label dans le menu du clic droit -# - un tuple contenant les parametres attendus par la fonction -# - appelable depuis Salome uniquement -) -# - appelable depuis un item valide uniquement -# - toolTip -dict_commandes={ - 'DATA_PROCESSING': ( - (processXLS,"process",('item',),False,True,"process values "), - ), - } diff --git a/OldCodes/PSEN_N1/opsPSEN_N1.py b/OldCodes/PSEN_N1/opsPSEN_N1.py deleted file mode 100644 index 9ea600a6..00000000 --- a/OldCodes/PSEN_N1/opsPSEN_N1.py +++ /dev/null @@ -1,112 +0,0 @@ -# -*- coding: iso-8859-1 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# 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. -# -# 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 -# - -#from ExtractGeneratorLoadLineandTransfoDico import * -#from ExtractGeneratorLoadLineandTransfoDico import ExtractGeneratorLoadLineandTransfoDico2 - -def INCLUDE(self,PSSE_path,**args): - """ - Fonction sd_prod pour la macro INCLUDE - """ - #print('in INCLUDE') - #print args - CaseFolder = args['output_folder'] - if CaseFolder==None: return - reevalue=0 - if hasattr(self,'fichier_ini'): - reevalue=1 - if self.fichier_ini == CaseFolder : return - if hasattr(self,'old_context_fichier_init' ): - for concept in self.old_context_fichier_init.values(): - self.jdc.delete_concept(concept) - self.jdc_aux=None - self.contexte_fichier_init={} - self.reevalue_sd_jdc() - self.jdc.reset_context() - - self.fichier_ini=CaseFolder - self.contexte_fichier_init = {} - self.fichier_unite = 999 - self.fichier_err = None - self.fichier_text="" - - unite = 999 - - BusList = [138, 77, 69] - self.jdc.appli.changeIntoMC(self,'BusesList',BusList) - - - -def INCLUDE_context(self,d): - """ - Fonction op_init pour macro INCLUDE - """ - for k,v in self.g_context.items(): - d[k]=v - - -def PROCESS_context(self,d): - print "dans le init du Process" - -def PROCESS(self,XLS_file,**args): - if XLS_file == "" or XLS_file == None: return - if not (hasattr(self,'dico')) : - from Processor import getXLS - self.dico=getXLS(XLS_file) - self.jdc.appli.changeIntoMC(self,'Onglets',self.dico.keys()) - self.OngletsValeurs=[] - else : - # On teste si on a modifie la liste des onglets - OngletsValeurs= self.get_child('Onglets').getval() - - - if not (hasattr(self,'OngletsValeurs')) : self.OngletsValeurs=OngletsValeurs - elif self.OngletsValeurs == OngletsValeurs : print 'return' ;return - else : self.OngletsValeurs=OngletsValeurs - - if OngletsValeurs==() or OngletsValeurs == []: - self.jdc.appli.deleteMC(self,'BusList') - self.jdc.appli.deleteMC(self,'ContList') - self.OngletsValeurs=[] - return - - OldBusValeurs= self.get_child('BusList').getval() - OldContValeurs= self.get_child('ContList').getval() - if OldBusValeurs == None : OldBusValeurs=[] - if OldContValeurs == None : OldContValeurs=[] - - listeBus=[] - listeCont=[] - listeBusCoches=[] - listeContCoches=[] - for o in OngletsValeurs : - for b in self.dico[o][0]: - texte=b+" ("+ str(o) +" )" - listeBus.append(str(texte)) - if texte in OldBusValeurs : listeBusCoches.append(str(texte)) - for c in self.dico[o][1]: - texte=c+" ("+ str(o) +" )" - listeCont.append(str(texte)) - if texte in OldContValeurs : listeContCoches.append(str(texte)) - - self.jdc.appli.changeIntoMCandSet(self,'BusList',listeBus,listeBusCoches) - self.jdc.appli.changeIntoMCandSet(self,'ContList',listeCont,listeContCoches) - - diff --git a/OldCodes/PSEN_N1/prefs.py b/OldCodes/PSEN_N1/prefs.py deleted file mode 100644 index 647d0ae9..00000000 --- a/OldCodes/PSEN_N1/prefs.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -code="PSEN_N1" -import sys, os -if os.path.dirname(os.path.abspath(__file__)) not in sys.path : - sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/OldCodes/PSEN_N1/prefs_PSEN_N1.py b/OldCodes/PSEN_N1/prefs_PSEN_N1.py deleted file mode 100644 index 00992868..00000000 --- a/OldCodes/PSEN_N1/prefs_PSEN_N1.py +++ /dev/null @@ -1,41 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -import os,sys -# repIni sert a localiser le fichier editeur.ini -# Obligatoire -repIni=os.path.dirname(os.path.abspath(__file__)) -INSTALLDIR=os.path.join(repIni,'..') -sys.path[:0]=[INSTALLDIR] - - -# lang indique la langue utilisee pour les chaines d'aide : fr ou ang -lang='en' #'fr' - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -encoding='iso-8859-1' -docPath=repIni - - -# -catalogues=( - ('PSEN_N1','default',os.path.join(repIni,'PSEN_Cata_N1.py'),'python','python'), -) diff --git a/OldCodes/PSEN_N1/properties.py b/OldCodes/PSEN_N1/properties.py deleted file mode 100644 index 1d328a46..00000000 --- a/OldCodes/PSEN_N1/properties.py +++ /dev/null @@ -1,24 +0,0 @@ -#@ MODIF properties Accas DATE 11/06/2008 AUTEUR aster M.ADMINISTRATEUR -# RESPONSABLE D6BHHHH J-P.LEFEBVRE -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR -# DE LA VERSION DU CODE_ASTER ASSOCIE -#---------------------------------------------------------------------- -version = "1.2" -date = "25/05/2010" -exploit = False diff --git a/OldCodes/PSEN_N1/qtEficas_PSEN_N1.py b/OldCodes/PSEN_N1/qtEficas_PSEN_N1.py deleted file mode 100755 index 6863fe03..00000000 --- a/OldCodes/PSEN_N1/qtEficas_PSEN_N1.py +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -""" - Ce module sert a lancer EFICAS configure pour Code_Aster -""" -# Modules Python -# Modules Eficas - -import sys,os -#sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) -import prefs -name='prefs_'+prefs.code -__import__(name) - -from InterfaceQT4 import eficas_go -eficas_go.lance_eficas(code=prefs.code) diff --git a/OldCodes/PSEN_N1/run.py b/OldCodes/PSEN_N1/run.py deleted file mode 100644 index 4a660891..00000000 --- a/OldCodes/PSEN_N1/run.py +++ /dev/null @@ -1,15 +0,0 @@ -import sys - -def runPSEN_N1(dico) : - try : - for k in dico.keys() : - print k - except : - pass - print dico - return 1,'hhhh' - -if __name__ == "__main__": - if dico == None : dico={} - runPSEN_N1(dico) - diff --git a/OldCodes/Sep/SEP_Cata_V0.py b/OldCodes/Sep/SEP_Cata_V0.py deleted file mode 100644 index 0e0957b3..00000000 --- a/OldCodes/Sep/SEP_Cata_V0.py +++ /dev/null @@ -1,114 +0,0 @@ -## -*- coding: utf-8 -*- -# -## -------------------------------------------------- -## debut entete -## -------------------------------------------------- -# -from Accas import * - -# -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'SEP', - execmodul = None, - # regles=(AU_MOINS_UN('STRUCTURE_SIMPLE','STRUCTURE_COMPOSEE',),), - regles=(AU_PLUS_UN('STRUCTURE_SIMPLE',),), - )# Fin JDC_CATA -# - - -STRUCTURE_SIMPLE= MACRO (nom = 'STRUCTURE_SIMPLE', - op = None, - sd_prod = None, - reentrant = 'n', - UIinfo = {"groupes":("Outils métier",)}, - fr = "sous epaisseur ", - dir_name = SIMP(statut='o', typ='TXM',), - - - TYPE_SEP = SIMP(statut='o', typ='TXM',into=('TUBE_SOUS_EP_INTERNE','COUDE_SOUS_EP_INTERNE')), - - CHARGE_LIMITE = SIMP(statut='o', typ='TXM',into=('OUI', 'NON')), - - - b_tube_sous_epaisseur =BLOC(condition="(TYPE_SEP=='TUBE_SOUS_EP_INTERNE') ", - - MAIL_TUBE = FACT( statut='o', - fr = "Parametres maillage du tube ", - POINTS_DE_MESURE = FACT( statut='o', - FICHIER1 =SIMP(statut='f',typ='Fichier', - fr="Format du fichier : CSV.",), - FICHIER2 =SIMP(statut='f',typ='Fichier', - fr="Format du fichier : CSV.",), - ), - R_EXT =SIMP(statut='o', typ='R', fr="rayon exterieur du tube"), - EP_NOMINALE =SIMP(statut='o', typ='R', fr="epaisseur nominale du tube sans sous epaisseur"), - NB_SEG_AMORTISSEMENT =SIMP(statut='o', typ='I', defaut=11 , val_min=1, fr="nombre de segments dans la longueur d'amortissement"), - NB_SEG_TRANSITION =SIMP(statut='o', typ='I', defaut=4 , val_min=1, fr="nombre de segments dans longueur de transition"), - NB_SEG_GENERATRICES =SIMP(statut='o', typ='I', defaut=5 , val_min=1, fr="nombre de segments dans la longueur des generatrices dans la zone de sous épaisseur"), - PETITE_DISTANCE =SIMP(statut='o', typ='R', defaut=100.0 , fr="distance entre deux abscisses de points de mesure au dessous de laquelle on discrétise avec nb_seg_petites_distances au lieu de nb_seg_generatrices"), - NB_SEG_PETITES_DISTANCES =SIMP(statut='o', typ='I', defaut=3 , val_min=3 , fr="nombre de segments dans les aretes dont la longueur est inferieur a petite distance"), - NB_SEG_ARC =SIMP(statut='o', typ='I', defaut=5 , val_min=2 , fr="nombre de segments dans l'arc du tube entre deux generatrices"), - NB_SEG_EP =SIMP(statut='o', typ='I', defaut=3 , val_min=1 , fr="nombre de segments dans l'epaisseur du tube"), - ), - - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), - ), - - - b_coude_sous_epaisseur =BLOC(condition="(TYPE_SEP=='COUDE_SOUS_EP_INTERNE') ", - - MAIL_COUDE = FACT( statut='o', - fr = "Parametres maillage du coude ", - POINTS_DE_MESURE = FACT( statut='o', - FICHIER1 =SIMP(statut='f',typ='Fichier', - fr="Format du fichier : CSV.",), - ), - R_COUDE =SIMP(statut='o', typ='R', fr="rayon du coude"), - R_EXT =SIMP(statut='o', typ='R', fr="rayon exterieur"), - EP_NOMINALE =SIMP(statut='o', typ='R', fr="epaisseur nominale sans sous epaisseur"), - ANGLE_COUDE =SIMP(statut='o', typ='R', defaut=90 , val_min=90. , val_max=90. ,fr="angle du coude"), - ORIENTATION_COUDE =SIMP(statut='o', typ='TXM',defaut='D',into=('D','G'),fr="orientation du coude"), - LONGUEUR_PROLONGEMENT_AMONT=SIMP(statut='o', typ='R', fr="longueur du prolongement amont"), - LONGUEUR_PROLONGEMENT_AVAL =SIMP(statut='o', typ='R', fr="longueur du prologenment aval"), - PAS_MESURE =SIMP(statut='o', typ='I', fr="pas de la mesure"), - DEBUT_MESURE =SIMP(statut='o', typ='R', fr="distance de la premiere mesure"), - ANGLE_MESURE =SIMP(statut='o', typ='R', defaut=45. ,fr="angle entre deux generatrices"), - NB_SEG_PROLONGEMENT_AMONT =SIMP(statut='o', typ='I', defaut=6 , val_min=1 ,fr="nombre de segments dans la longueur de prolongement amont"), - NB_SEG_PROLONGEMENT_AVAL =SIMP(statut='o', typ='I', defaut=6 , val_min=1 ,fr="nombre de segments dans la longueur de prolongement aval"), - NB_SEG_AMORTISSEMENT =SIMP(statut='o', typ='I', defaut=10 , val_min=1 ,fr="nombre de segments dans la longueur d'amortissement"), - NB_SEG_TRANSITION =SIMP(statut='o', typ='I', defaut=5 , val_min=1 ,fr="nombre de segments dans longueur de transition"), - NB_SEG_GENERATRICES =SIMP(statut='o', typ='I', defaut=25 , val_min=25 ,fr="nombre de segments dans la longueur des generatrices dans la zone de sous épaisseur"), - NB_SEG_ARC =SIMP(statut='o', typ='I', defaut=7 , val_min=2 ,fr="nombre de segments dans l'arc du coude entre deux generatrices"), - NB_SEG_EP =SIMP(statut='o', typ='I', defaut=3 , val_min=1 ,fr="nombre de segments dans l'epaissuer"), - ), - - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), - ), - - - b_charge_limite_non=BLOC(condition = "CHARGE_LIMITE == 'NON' ", - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), - ), - - b_charge_limite_oui=BLOC(condition = "((CHARGE_LIMITE == 'OUI') )", - - TYPE_CHARGE_LIMITE= SIMP(statut='o', typ='TXM', into=('CHARGE_LIMITE_INF','CHARGE_LIMITE_SUP',),), - - PARAMETRES_CALCUL = FACT( statut='o', - fr = "Parametres pour calcul de charge limite ", - - MEMOIRE=SIMP(statut='o', typ='I', ), - TEMPS =SIMP(statut='o', typ='I', ), - MACHINE=SIMP(statut='o', typ='TXM', defaut='LOCAL',into=('LOCAL','DISTANT'),), - - ), - PARAMETRES_CHARGE_LIMITE = FACT( statut='o', - fr = "Parametres materiau pour calcul de charge limite ", - - E =SIMP(statut='o', typ='R', fr="Module d'Young"), - NU=SIMP(statut='o', typ='R', fr="coefficient de poisson"), - SY=SIMP(statut='o', typ='R', fr="limite d'elasticite"), - ), - - ), -) diff --git a/OldCodes/Sep/SEP_Cata_V1.py b/OldCodes/Sep/SEP_Cata_V1.py deleted file mode 100644 index 65bab217..00000000 --- a/OldCodes/Sep/SEP_Cata_V1.py +++ /dev/null @@ -1,127 +0,0 @@ -## -*- coding: utf-8 -*- -# -## -------------------------------------------------- -## debut entete -## -------------------------------------------------- -# -from Accas import * - -# -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'SEP', - execmodul = None, - # regles=(AU_MOINS_UN('SOUS_EPAISSEUR_INTERNE','SOUS_EPAISSEUR_EXTERNE',),), - regles=( UN_PARMI('S_EP_INTERNE','MACRO_OUTIL1','MACRO_OUTIL2'),), - )# Fin JDC_CATA -# - - -S_EP_INTERNE= MACRO (nom = 'S_EP_INTERNE', - op = None, - sd_prod = None, - reentrant = 'n', - UIinfo = {"groupes":("Outils métier",)}, - fr = "sous epaisseur ", - dir_name = SIMP(statut='o', typ='TXM',), - TYPE_SEP = SIMP(statut='o', typ='TXM',into=('TUBE_SOUS_EPAISSEUR','COUDE_SOUS_EPAISSEUR',)), - b_tube_sous_epaisseur =BLOC(condition = "TYPE_SEP == 'TUBE_SOUS_EPAISSEUR' ", - regles = (AU_MOINS_UN('MAIL_TUBE','CHARGE_LIMITE')), - MAIL_TUBE = FACT( statut='f',max='**', - fr = "Parametres maillage du tube ", - unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), - r_ext=SIMP(statut='o', typ='R', defaut=228.6,val_min=100,val_max=300, fr="rayon exterieur du tube"), - ep_nominale=SIMP(statut='o', typ='R', defaut=22.0, fr="epaisseur nominale du tube sans sous epaisseur"), - nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), - nb_seg_transition=SIMP(statut='o', typ='I', defaut=4, fr="nombre de segments dans longueur de transition"), - nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans la longueur des génératrices dans la zone de sous épaisseur"), - petite_distance=SIMP(statut='o', typ='R', defaut=100.0, fr="distance entre deux abscisses de points de mesure au dessous de laquelle on discrétise avec nb_seg_petites_distances au lieu de nb_seg_generatrices"), - nb_seg_petites_distances=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans les aretes dont la longueur est inferieur a petite distance"), - nb_seg_arc=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans l'arc du tube entre deux generatrices"), - nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaisseur du tube"), - critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="Critère de rafinement de maillage"), - ), - CHARGE_LIMITE = FACT( statut='f',max='**', - fr = "Parametres pour calcul de charge limite ", - unite_mem=SIMP(statut='o', typ='TXM', defaut='Mo',into=('Mo',),), - memoire=SIMP(statut='o', typ='R', defaut=4096.,val_min=4096.,val_max=8000.), - unite_temps=SIMP(statut='o', typ='TXM', defaut='h',into=('h',),), - temps=SIMP(statut='o', typ='R', defaut=50.), - version_aster=SIMP(statut='o', typ='TXM', defaut='STA8',into=('STA8','STA9','STA9_mpi'),), - unite_sig=SIMP(statut='o', typ='TXM', defaut='MPa',into=('PA','MPa'),), - E=SIMP(statut='o', typ='R', defaut=200000., fr="Module d'Young"), - NU=SIMP(statut='o', typ='R', defaut=0.3, fr="coefficient de poisson"), - SY=SIMP(statut='o', typ='R', defaut=98.7, fr="limite d'elasticite"), - D_SIGM_EPSI=SIMP(statut='o', typ='R', defaut=100.0, fr="pente de la courbe d'ecrouissage"), - ), - ), - b_coude_sous_epaisseur =BLOC(condition = "TYPE_SEP == 'COUDE_SOUS_EPAISSEUR' ", - regles = (AU_MOINS_UN('MAIL_COUDE','CHARGE_LIMITE')), - MAIL_COUDE = FACT( statut='f',max='**', - fr = "Parametres maillage du coude ", - unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), - r_coude=SIMP(statut='o', typ='R', defaut=381.,val_min=100,val_max=500,fr="rayon du coude"), - r_ext=SIMP(statut='o', typ='R', defaut=136.5,val_min=100,val_max=200,fr="rayon exterieur"), - ep_nominale=SIMP(statut='o', typ='R', defaut=15.1,fr="epaisseur nominale sans sous epaisseur"), - angle_coude=SIMP(statut='o', typ='R', defaut=90,fr="angle du coude"), - orientation_coude=SIMP(statut='o', typ='TXM', defaut='D',into=('D','G'),fr="orientation du coude"), - longueur_prolongement_amont=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prolongement amont"), - longueur_prolongement_aval=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prologenment aval"), - pas_mesure=SIMP(statut='o', typ='I', defaut=80,fr="pas de la mesure"), - debut_mesure=SIMP(statut='o', typ='R', defaut=40.,fr="distance de la premiere mesure"), - angle_mesure=SIMP(statut='o', typ='R', defaut=45.,fr="angle entre deux generatrices"), - nb_seg_prolongement_amont = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement amont"), - nb_seg_prolongement_aval = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement aval"), - nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), - nb_seg_transition=SIMP(statut='o', typ='I', defaut=4, fr="nombre de segments dans longueur de transition"), - nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans la longueur des génératrices dans la zone de sous épaisseur"), - nb_seg_arc=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans l'arc du coude entre deux generatrices"), - nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaissuer"), - critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="Critère de rafinement de maillage"), - ), - CHARGE_LIMITE = FACT( statut='f',max='**', - fr = "Parametres pour calcul de charge limite ", - unite_mem=SIMP(statut='o', typ='TXM', defaut='Mo',into=('Mo',),), - memoire=SIMP(statut='o', typ='R', defaut=4096,val_min=4096,val_max=8000), - unite_temps=SIMP(statut='o', typ='TXM', defaut='h',into=('h',),), - temps=SIMP(statut='o', typ='R', defaut=50.), - version_aster=SIMP(statut='o', typ='TXM', defaut='STA8',into=('STA8','STA9','STA9_mpi'),), - unite_sig=SIMP(statut='o', typ='TXM', defaut='MPa',into=('PA','MPa'),), - E=SIMP(statut='o', typ='R', defaut=200000, fr="Module d'Young"), - NU=SIMP(statut='o', typ='R', defaut=0.3, fr="coefficient de poisson"), - SY=SIMP(statut='o', typ='R', defaut=98.7, fr="limite d'elasticite"), - D_SIGM_EPSI=SIMP(statut='o', typ='R', defaut=100.0, fr="pente de la courbe d'ecrouissage"), - ), - ), -) - - -MACRO_OUTIL1= MACRO (nom = 'MACRO_OUTIL1', - op = None, - sd_prod = None, - reentrant = 'n', - UIinfo = {"groupes":("Outils métier",)}, - fr = "Outil 1", - dir_name = SIMP(statut='o', typ='TXM',), - PARA_GEOM = FACT( statut='o', - max=1, - r_ext=SIMP(statut='o', typ='R', defaut=228.6,val_min=100,val_max=300), - unite=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), - ep_nominale=SIMP(statut='o', typ='R', defaut=22.000), - ), -) - -MACRO_OUTIL2= MACRO (nom = 'MACRO_OUTIL2', - op = None, - sd_prod = None, - reentrant = 'n', - UIinfo = {"groupes":("Outils métier",)}, - fr = "Outil 2", - dir_name = SIMP(statut='o', typ='TXM',), - PARA_GEOM = FACT( statut='o', - max=1, - r_ext=SIMP(statut='o', typ='R', defaut=228.6,val_min=100,val_max=300), - unite=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), - ep_nominale=SIMP(statut='o', typ='R', defaut=22.000), - ), -) - diff --git a/OldCodes/Sep/SEP_Cata_V1_2.py b/OldCodes/Sep/SEP_Cata_V1_2.py deleted file mode 100644 index 3f1c7713..00000000 --- a/OldCodes/Sep/SEP_Cata_V1_2.py +++ /dev/null @@ -1,127 +0,0 @@ -## -*- coding: utf-8 -*- -# -## -------------------------------------------------- -## debut entete -## -------------------------------------------------- -# -from Accas import * - -# -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'SEP', - execmodul = None, - # regles=(AU_MOINS_UN('SOUS_EPAISSEUR_INTERNE','SOUS_EPAISSEUR_EXTERNE',),), - regles=( UN_PARMI('S_EP_INTERNE'),), - )# Fin JDC_CATA -# - - -S_EP_INTERNE= MACRO (nom = 'S_EP_INTERNE', - op = None, - sd_prod = None, - reentrant = 'n', - UIinfo = {"groupes":("Outils métier",)}, - fr = "sous epaisseur ", - dir_name = SIMP(statut='o', typ='TXM',), - TYPE_EXEC = SIMP(statut='o', typ='TXM',into=('MAILLAGE','CALCUL',)), - TYPE_SEP = SIMP(statut='o', typ='TXM',into=('TUBE_SOUS_EPAISSEUR','COUDE_SOUS_EPAISSEUR','TEST_SOUS_EPAISSEUR')), - b_tube_sous_epaisseur =BLOC(condition = "TYPE_SEP == 'TUBE_SOUS_EPAISSEUR' ", - regles = (AU_MOINS_UN('MAIL_TUBE','CHARGE_LIMITE')), - MAIL_TUBE = FACT( statut='f',max='**', - fr = "Parametres maillage du tube ", - unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), - r_ext=SIMP(statut='o', typ='R', defaut=228.6,val_min=100,val_max=300, fr="rayon exterieur du tube"), - ep_nominale=SIMP(statut='o', typ='R', defaut=22.0, fr="epaisseur nominale du tube sans sous epaisseur"), - nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), - nb_seg_transition=SIMP(statut='o', typ='I', defaut=4, fr="nombre de segments dans longueur de transition"), - nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans la longueur des génératrices dans la zone de sous épaisseur"), - petite_distance=SIMP(statut='o', typ='R', defaut=100.0, fr="distance entre deux abscisses de points de mesure au dessous de laquelle on discrétise avec nb_seg_petites_distances au lieu de nb_seg_generatrices"), - nb_seg_petites_distances=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans les aretes dont la longueur est inferieur a petite distance"), - nb_seg_arc=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans l'arc du tube entre deux generatrices"), - nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaisseur du tube"), - critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="Critère de rafinement de maillage"), - ), - CHARGE_LIMITE = FACT( statut='f',max='**', - fr = "Parametres pour calcul de charge limite ", - unite_mem=SIMP(statut='o', typ='TXM', defaut='Mo',into=('Mo',),), - memoire=SIMP(statut='o', typ='I', defaut=2000,val_min=128,val_max=8000), - unite_temps=SIMP(statut='o', typ='TXM', defaut='h',into=('h',),), - temps=SIMP(statut='o', typ='R', defaut=50.), - version_aster=SIMP(statut='o', typ='TXM', defaut='STA8',into=('STA8','STA9','STA9_mpi'),), - unite_sig=SIMP(statut='o', typ='TXM', defaut='MPa',into=('PA','MPa'),), - E=SIMP(statut='o', typ='R', defaut=200000., fr="Module d'Young"), - NU=SIMP(statut='o', typ='R', defaut=0.3, fr="coefficient de poisson"), - SY=SIMP(statut='o', typ='R', defaut=98.7, fr="limite d'elasticite"), - D_SIGM_EPSI=SIMP(statut='o', typ='R', defaut=100.0, fr="pente de la courbe d'ecrouissage"), - ), - ), - b_coude_sous_epaisseur =BLOC(condition = "TYPE_SEP == 'COUDE_SOUS_EPAISSEUR' ", - regles = (AU_MOINS_UN('MAIL_COUDE','CHARGE_LIMITE')), - MAIL_COUDE = FACT( statut='f',max='**', - fr = "Parametres maillage du coude ", - unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), - r_coude=SIMP(statut='o', typ='R', defaut=381.,val_min=100,val_max=500,fr="rayon du coude"), - r_ext=SIMP(statut='o', typ='R', defaut=136.5,val_min=100,val_max=200,fr="rayon exterieur"), - ep_nominale=SIMP(statut='o', typ='R', defaut=15.1,fr="epaisseur nominale sans sous epaisseur"), - angle_coude=SIMP(statut='o', typ='R', defaut=90,fr="angle du coude"), - orientation_coude=SIMP(statut='o', typ='TXM', defaut='D',into=('D','G'),fr="orientation du coude"), - longueur_prolongement_amont=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prolongement amont"), - longueur_prolongement_aval=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prologenment aval"), - pas_mesure=SIMP(statut='o', typ='I', defaut=80,fr="pas de la mesure"), - debut_mesure=SIMP(statut='o', typ='R', defaut=40.,fr="distance de la premiere mesure"), - angle_mesure=SIMP(statut='o', typ='R', defaut=45.,fr="angle entre deux generatrices"), - nb_seg_prolongement_amont = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement amont"), - nb_seg_prolongement_aval = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement aval"), - nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), - nb_seg_transition=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans longueur de transition"), - nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=25, fr="nombre de segments dans la longueur des génératrices dans la zone de sous épaisseur"), - nb_seg_arc=SIMP(statut='o', typ='I', defaut=7, fr="nombre de segments dans l'arc du coude entre deux generatrices"), - nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaissuer"), - critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="Critère de rafinement de maillage"), - ), - CHARGE_LIMITE = FACT( statut='f',max='**', - fr = "Parametres pour calcul de charge limite ", - unite_mem=SIMP(statut='o', typ='TXM', defaut='Mo',into=('Mo',),), - memoire=SIMP(statut='o', typ='I', defaut=2000,val_min=128,val_max=8000), - unite_temps=SIMP(statut='o', typ='TXM', defaut='h',into=('h',),), - temps=SIMP(statut='o', typ='R', defaut=50.), - version_aster=SIMP(statut='o', typ='TXM', defaut='STA8',into=('STA8','STA9','STA9_mpi'),), - unite_sig=SIMP(statut='o', typ='TXM', defaut='MPa',into=('PA','MPa'),), - E=SIMP(statut='o', typ='R', defaut=200000, fr="Module d'Young"), - NU=SIMP(statut='o', typ='R', defaut=0.3, fr="coefficient de poisson"), - SY=SIMP(statut='o', typ='R', defaut=98.7, fr="limite d'elasticite"), - D_SIGM_EPSI=SIMP(statut='o', typ='R', defaut=100.0, fr="pente de la courbe d'ecrouissage"), - ), - ), - b_test_sous_epaisseur =BLOC(condition = "TYPE_SEP == 'TEST_SOUS_EPAISSEUR' ", - regles = (AU_MOINS_UN('MAIL_TUBE','CHARGE_LIMITE')), - MAIL_TUBE = FACT( statut='f',max='**', - fr = "Parametres maillage du tube ", - unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), - r_ext=SIMP(statut='o', typ='R', defaut=228.6,val_min=100,val_max=300, fr="rayon exterieur du tube"), - ep_nominale=SIMP(statut='o', typ='R', defaut=22.0, fr="epaisseur nominale du tube sans sous epaisseur"), - nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), - nb_seg_transition=SIMP(statut='o', typ='I', defaut=4, fr="nombre de segments dans longueur de transition"), - nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans la longueur des génératrices dans la zone de sous épaisseur"), - petite_distance=SIMP(statut='o', typ='R', defaut=100.0, fr="distance entre deux abscisses de points de mesure au dessous de laquelle on discrétise avec nb_seg_petites_distances au lieu de nb_seg_generatrices"), - nb_seg_petites_distances=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans les aretes dont la longueur est inferieur a petite distance"), - nb_seg_arc=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans l'arc du tube entre deux generatrices"), - nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaisseur du tube"), - critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="Critère de rafinement de maillage"), - ), - CHARGE_LIMITE = FACT( statut='f',max='**', - fr = "Parametres pour calcul de charge limite ", - unite_mem=SIMP(statut='o', typ='TXM', defaut='Mo',into=('Mo',),), - memoire=SIMP(statut='o', typ='I', defaut=128,val_min=128,val_max=8000), - unite_temps=SIMP(statut='o', typ='TXM', defaut='h',into=('h',),), - temps=SIMP(statut='o', typ='R', defaut=50.), - version_aster=SIMP(statut='o', typ='TXM', defaut='STA8',into=('STA8','STA9','STA9_mpi'),), - unite_sig=SIMP(statut='o', typ='TXM', defaut='MPa',into=('PA','MPa'),), - E=SIMP(statut='o', typ='R', defaut=200000., fr="Module d'Young"), - NU=SIMP(statut='o', typ='R', defaut=0.3, fr="coefficient de poisson"), - SY=SIMP(statut='o', typ='R', defaut=98.7, fr="limite d'elasticite"), - D_SIGM_EPSI=SIMP(statut='o', typ='R', defaut=100.0, fr="pente de la courbe d'ecrouissage"), - ), - ) -) - diff --git a/OldCodes/Sep/SEP_Cata_V1_3.py b/OldCodes/Sep/SEP_Cata_V1_3.py deleted file mode 100644 index 2895dbb7..00000000 --- a/OldCodes/Sep/SEP_Cata_V1_3.py +++ /dev/null @@ -1,126 +0,0 @@ -## -*- coding: utf-8 -*- -# -## -------------------------------------------------- -## debut entete -## -------------------------------------------------- -# -from Accas import * - -# -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'SEP', - execmodul = None, - # regles=(AU_MOINS_UN('STRUCTURE_SIMPLE','STRUCTURE_COMPOSEE',),), - regles=(AU_MOINS_UN('STRUCTURE_SIMPLE',),), - )# Fin JDC_CATA -# - - -STRUCTURE_SIMPLE= MACRO (nom = 'STRUCTURE_SIMPLE', - op = None, - sd_prod = None, - reentrant = 'n', - UIinfo = {"groupes":("Outils métier",)}, - fr = "sous epaisseur ", - dir_name = SIMP(statut='o', typ='TXM',), - - MAILLAGE = SIMP(statut='o', typ='TXM',into=('OUI', 'NON')), - CHARGE_LIMITE = SIMP(statut='o', typ='TXM',into=('OUI', 'NON')), - - lecture_maillage = BLOC(condition = "(MAILLAGE == 'NON') and (CHARGE_LIMITE=='OUI') ", - LECTURE_MAILLAGE = FACT( statut='o',max='**', - FICHIER =SIMP(statut='o',typ='Fichier',), - FORMAT =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","MED"), - fr="Format du fichier : ASTER ou MED.",), - NOM = SIMP(statut='f',typ='TXM', - fr="Nom du maillage dans le fichier MED.",),), - ), - - execution_maillage = BLOC(condition = "MAILLAGE == 'OUI' ", - - TYPE_SEP = SIMP(statut='o', typ='TXM',into=('TUBE_SOUS_EP_INTERNE','TUBE_SOUS_EP_EXTERNE','COUDE_SOUS_EP_INTERNE','COUDE_SOUS_EP_EXTERNE')), - - b_tube_sous_epaisseur =BLOC(condition="(TYPE_SEP=='TUBE_SOUS_EP_INTERNE') or (TYPE_SEP=='TUBE_SOUS_EP_EXTERNE') ", - regles=(UN_PARMI('TUBE_SOUS_EP_INTERNE','TUBE_SOUS_EP_EXTERNE'),), - MAIL_TUBE = FACT( statut='f',max='**', - fr = "Parametres maillage du tube ", - points_de_mesure = FACT( statut='o',max='**', - FICHIER =SIMP(statut='o',typ='Fichier', - fr="Format du fichier : CSV.",), - FORMAT =SIMP(statut='f',typ='TXM',defaut="CSV",into=("CSV"), - fr="Format du fichier : CSV",), - ), - unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), - r_ext=SIMP(statut='o', typ='R', defaut=228.6,val_min=100,val_max=300, fr="rayon exterieur du tube"), - ep_nominale=SIMP(statut='o', typ='R', defaut=22.0, fr="epaisseur nominale du tube sans sous epaisseur"), - nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), - nb_seg_transition=SIMP(statut='o', typ='I', defaut=4, fr="nombre de segments dans longueur de transition"), - nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans la longueur des generatrices dans la zone de sous épaisseur"), - petite_distance=SIMP(statut='o', typ='R', defaut=100.0, fr="distance entre deux abscisses de points de mesure au dessous de laquelle on discrétise avec nb_seg_petites_distances au lieu de nb_seg_generatrices"), - nb_seg_petites_distances=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans les aretes dont la longueur est inferieur a petite distance"), - nb_seg_arc=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans l'arc du tube entre deux generatrices"), - nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaisseur du tube"), - critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="Critère de raffinement de maillage"), - ), - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), - ), - - - b_coude_sous_epaisseur =BLOC(condition="(TYPE_SEP=='COUDE_SOUS_EP_INTERNE') or (TYPE_SEP=='COUDE_SOUS_EP_EXTERNE') ", - regles=(UN_PARMI('COUDE_SOUS_EP_INTERNE','COUDE_SOUS_EP_EXTERNE'),), - MAIL_COUDE = FACT( statut='f',max='**', - fr = "Parametres maillage du coude ", - points_de_mesure = FACT( statut='o',max='**', - FICHIER =SIMP(statut='o',typ='Fichier', - fr="Format du fichier : CSV.",), - FORMAT =SIMP(statut='f',typ='TXM',defaut="CSV",into=("CSV"), - fr="Format du fichier : CSV",), - ), - unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), - r_coude=SIMP(statut='o', typ='R', defaut=381.,val_min=100,val_max=500,fr="rayon du coude"), - r_ext=SIMP(statut='o', typ='R', defaut=136.5,val_min=100,val_max=200,fr="rayon exterieur"), - ep_nominale=SIMP(statut='o', typ='R', defaut=15.1,fr="epaisseur nominale sans sous epaisseur"), - angle_coude=SIMP(statut='o', typ='R', defaut=90,fr="angle du coude"), - orientation_coude=SIMP(statut='o', typ='TXM', defaut='D',into=('D','G'),fr="orientation du coude"), - longueur_prolongement_amont=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prolongement amont"), - longueur_prolongement_aval=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prologenment aval"), - pas_mesure=SIMP(statut='o', typ='I', defaut=80,fr="pas de la mesure"), - debut_mesure=SIMP(statut='o', typ='R', defaut=40.,fr="distance de la premiere mesure"), - angle_mesure=SIMP(statut='o', typ='R', defaut=45.,fr="angle entre deux generatrices"), - nb_seg_prolongement_amont = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement amont"), - nb_seg_prolongement_aval = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement aval"), - nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), - nb_seg_transition=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans longueur de transition"), - nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=25, fr="nombre de segments dans la longueur des generatrices dans la zone de sous épaisseur"), - nb_seg_arc=SIMP(statut='o', typ='I', defaut=7, fr="nombre de segments dans l'arc du coude entre deux generatrices"), - nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaissuer"), - critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="critère de rafinement de maillage"), - - ), - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), - ), - ), - - b_charge_limite_non=BLOC(condition = "CHARGE_LIMITE == 'NON' ", - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), - ), - b_charge_limite_oui=BLOC(condition = "CHARGE_LIMITE == 'OUI' ", - CHARGE_LIMITE = FACT( statut='f',max='**', - fr = "Parametres pour calcul de charge limite ", - unite_mem=SIMP(statut='o', typ='TXM', defaut='Mo',into=('Mo',),), - memoire=SIMP(statut='o', typ='I', defaut=2000,val_min=128,val_max=8000), - unite_temps=SIMP(statut='o', typ='TXM', defaut='h',into=('h',),), - temps=SIMP(statut='o', typ='R', defaut=50.), - version_aster=SIMP(statut='o', typ='TXM', defaut='STA10',into=('STA9','STA10'),), - unite_sig=SIMP(statut='o', typ='TXM', defaut='MPa',into=('PA','MPa'),), - E=SIMP(statut='o', typ='R', defaut=200000., fr="Module d'Young"), - NU=SIMP(statut='o', typ='R', defaut=0.3, fr="coefficient de poisson"), - SY=SIMP(statut='o', typ='R', defaut=98.7, fr="limite d'elasticite"), - D_SIGM_EPSI=SIMP(statut='o', typ='R', defaut=100.0, fr="pente de la courbe d'ecrouissage"), - ), - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), - ), - - -) - diff --git a/OldCodes/Sep/SEP_Cata_V1_4.py b/OldCodes/Sep/SEP_Cata_V1_4.py deleted file mode 100644 index 462b8c6d..00000000 --- a/OldCodes/Sep/SEP_Cata_V1_4.py +++ /dev/null @@ -1,150 +0,0 @@ -## -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -# -## -------------------------------------------------- -## debut entete -## -------------------------------------------------- -# -from Accas import * - -# -#CONTEXT.debug = 1 -JdC = JDC_CATA ( code = 'SEP', - execmodul = None, - # regles=(AU_MOINS_UN('STRUCTURE_SIMPLE','STRUCTURE_COMPOSEE',),), - regles=(AU_MOINS_UN('STRUCTURE_SIMPLE',),), - )# Fin JDC_CATA -# - - -STRUCTURE_SIMPLE= MACRO (nom = 'STRUCTURE_SIMPLE', - op = None, - sd_prod = None, - reentrant = 'n', - UIinfo = {"groupes":("Outils métier",)}, - fr = "sous epaisseur ", - dir_name = SIMP(statut='o', typ='TXM',), - - CHARGE_LIMITE = SIMP(statut='o', typ='TXM',into=('OUI', 'NON')), - - TYPE_SEP = SIMP(statut='o', typ='TXM',into=('TUBE_SOUS_EP_INTERNE','COUDE_SOUS_EP_INTERNE')), - - - b_tube_sous_epaisseur =BLOC(condition="(TYPE_SEP=='TUBE_SOUS_EP_INTERNE') ", - - points_de_mesure = FACT( statut='o',max='**', - FICHIER =SIMP(statut='o',typ='Fichier', - fr="Format du fichier : CSV.",), - ), - - - MAIL_TUBE = FACT( statut='f',max='**', - fr = "Parametres maillage du tube ", - - unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), - r_ext=SIMP(statut='o', typ='R', defaut=228.6,val_min=100,val_max=300, fr="rayon exterieur du tube"), - ep_nominale=SIMP(statut='o', typ='R', defaut=22.0, fr="epaisseur nominale du tube sans sous epaisseur"), - nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), - nb_seg_transition=SIMP(statut='o', typ='I', defaut=4, fr="nombre de segments dans longueur de transition"), - nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans la longueur des generatrices dans la zone de sous épaisseur"), - petite_distance=SIMP(statut='o', typ='R', defaut=100.0, fr="distance entre deux abscisses de points de mesure au dessous de laquelle on discrétise avec nb_seg_petites_distances au lieu de nb_seg_generatrices"), - nb_seg_petites_distances=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans les aretes dont la longueur est inferieur a petite distance"), - nb_seg_arc=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans l'arc du tube entre deux generatrices"), - nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaisseur du tube"), - critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="Critère de raffinement de maillage"), - ), - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), - ), - - - b_coude_sous_epaisseur =BLOC(condition="(TYPE_SEP=='COUDE_SOUS_EP_INTERNE') ", - - points_de_mesure = FACT( statut='o',max='**', - FICHIER =SIMP(statut='o',typ='Fichier', - fr="Format du fichier : CSV.",), - FORMAT =SIMP(statut='f',typ='TXM',defaut="CSV",into=("CSV"), - fr="Format du fichier : CSV",), - ), - MAIL_COUDE = FACT( statut='f',max='**', - fr = "Parametres maillage du coude ", - - unite_longueur=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),), - r_coude=SIMP(statut='o', typ='R', defaut=381.,val_min=100,val_max=500,fr="rayon du coude"), - r_ext=SIMP(statut='o', typ='R', defaut=136.5,val_min=100,val_max=200,fr="rayon exterieur"), - ep_nominale=SIMP(statut='o', typ='R', defaut=15.1,fr="epaisseur nominale sans sous epaisseur"), - angle_coude=SIMP(statut='o', typ='R', defaut=90,fr="angle du coude"), - orientation_coude=SIMP(statut='o', typ='TXM', defaut='D',into=('D','G'),fr="orientation du coude"), - longueur_prolongement_amont=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prolongement amont"), - longueur_prolongement_aval=SIMP(statut='o', typ='R', defaut=150.,fr="longueur du prologenment aval"), - pas_mesure=SIMP(statut='o', typ='I', defaut=80,fr="pas de la mesure"), - debut_mesure=SIMP(statut='o', typ='R', defaut=40.,fr="distance de la premiere mesure"), - angle_mesure=SIMP(statut='o', typ='R', defaut=45.,fr="angle entre deux generatrices"), - nb_seg_prolongement_amont = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement amont"), - nb_seg_prolongement_aval = SIMP(statut='o', typ='I', defaut=6, fr="nombre de segments dans la longueur de prolongement aval"), - nb_seg_amortissement=SIMP(statut='o', typ='I', defaut=11, fr="nombre de segments dans la longueur d'amortissement"), - nb_seg_transition=SIMP(statut='o', typ='I', defaut=5, fr="nombre de segments dans longueur de transition"), - nb_seg_generatrices=SIMP(statut='o', typ='I', defaut=25, fr="nombre de segments dans la longueur des generatrices dans la zone de sous épaisseur"), - nb_seg_arc=SIMP(statut='o', typ='I', defaut=7, fr="nombre de segments dans l'arc du coude entre deux generatrices"), - nb_seg_ep=SIMP(statut='o', typ='I', defaut=3, fr="nombre de segments dans l'epaissuer"), - critere_dist_radial=SIMP(statut='o', typ='R', defaut=0.5, fr="critère de rafinement de maillage"), - - ), - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), - ), - - - b_charge_limite_non=BLOC(condition = "CHARGE_LIMITE == 'NON' ", - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), - ), - b_charge_limite_oui=BLOC(condition = "CHARGE_LIMITE == 'OUI' ", - - TYPE_CHARGE_LIMITE= SIMP(statut='o', typ='TXM',into=('CHARGE_LIMITE_INF','CHARGE_LIMITE_SUP')), - - PARAMETRES = FACT( statut='o',max='**', - fr = "Parametres pour calcul de charge limite ", - - unite_mem=SIMP(statut='o', typ='TXM', defaut='Mo',into=('Mo',),), - memoire=SIMP(statut='o', typ='I', defaut=2000,val_min=128,val_max=8000), - unite_temps=SIMP(statut='o', typ='TXM', defaut='h',into=('h',),), - temps=SIMP(statut='o', typ='R', defaut=50.), - machine=SIMP(statut='o', typ='TXM', defaut='locale',into=('locale','distante'),), - unite_sig=SIMP(statut='o', typ='TXM', defaut='MPa',into=('Pa','MPa'),), - - E =SIMP(statut='o', typ='R', defaut=200000., fr="Module d'Young"), - NU=SIMP(statut='o', typ='R', defaut=0.3 , fr="coefficient de poisson"), - SY=SIMP(statut='o', typ='R', defaut=98.7 , fr="limite d'elasticite"), - ), - - CHARGE_LIMITE_INF = BLOC(condition="(TYPE_CHARGE_LIMITE =='CHARGE_LIMITE_INF') ", - FICHIER =SIMP(statut='o',typ='Fichier', - fr="Format du fichier : .COMM",), - ), - - CHARGE_LIMITE_SUP = BLOC(condition="(TYPE_CHARGE_LIMITE =='CHARGE_LIMITE_SUP') ", - FICHIER =SIMP(statut='o',typ='Fichier', - fr="Format du fichier : .COMM",), - ), - - INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)), - ), - - -) - diff --git a/OldCodes/Sep/__init__.py b/OldCodes/Sep/__init__.py deleted file mode 100644 index 8ed65e16..00000000 --- a/OldCodes/Sep/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# diff --git a/OldCodes/Sep/configuration_SEP.py b/OldCodes/Sep/configuration_SEP.py deleted file mode 100644 index 4c7fcae7..00000000 --- a/OldCodes/Sep/configuration_SEP.py +++ /dev/null @@ -1,50 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -""" - Ce module sert pour charger les paramètres de configuration d'EFICAS -""" -# Modules Python -import os, sys, string, types, re -import traceback -from PyQt4.QtGui import * - -# Modules Eficas -import configuration -import os - - -class CONFIG(configuration.CONFIG_BASE): - - #----------------------------------- - def __init__(self,appli,repIni): - #----------------------------------- - - self.labels_user=['exec_acrobat', 'catalogues','savedir'] - self.labels_eficas=['path_doc','exec_acrobat','lang','rep_cata','catalogues'] - - self.INSTALLDIR =os.path.dirname(__file__) - configuration.CONFIG_BASE.__init__(self,appli,repIni) - - - -def make_config(appli,rep): - return CONFIG(appli,rep) - - diff --git a/OldCodes/Sep/prefs.py b/OldCodes/Sep/prefs.py deleted file mode 100644 index f91e53af..00000000 --- a/OldCodes/Sep/prefs.py +++ /dev/null @@ -1,62 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -import os,sys - -# repIni sert à localiser le fichier editeur.ini -# Obligatoire -repIni=os.path.dirname(os.path.abspath(__file__)) - -# INSTALLDIR sert à localiser l'installation d'Eficas -# Obligatoire -INSTALLDIR=os.path.join(repIni,'..') - -# CODE_PATH sert à localiser Noyau et Validation éventuellement -# non contenus dans la distribution EFICAS -# Par défaut on utilise les modules de INSTALLDIR -# Peut valoir None (defaut) -CODE_PATH = None - -# la variable code donne le nom du code a selectionner -code="SEP" - -# lang indique la langue utilisée pour les chaines d'aide : fr ou ang -lang='fr' - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -encoding='iso-8859-1' - - -EditeurDir=INSTALLDIR+"/Editeur" -sys.path.insert(0,INSTALLDIR) - -ICONDIR=os.path.join(INSTALLDIR,'Editeur','icons') - -# Preference -if os.name == 'nt': - userprefs = os.sep.join( [ os.environ['HOMEDRIVE'], os.environ['HOMEPATH'], 'Eficas_install', 'prefs.py' ]) -else : - userprefs=os.path.expanduser("~/.Eficas_SEP/prefs.py") - -if os.path.isfile(userprefs): - try: - execfile(userprefs) - except: - pass - diff --git a/OldCodes/Sep/prefs_SEP.py b/OldCodes/Sep/prefs_SEP.py deleted file mode 100644 index 66a112fb..00000000 --- a/OldCodes/Sep/prefs_SEP.py +++ /dev/null @@ -1,35 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -import os,sys - -# repIni sert à localiser le fichier editeur.ini -# Obligatoire -repIni=os.path.dirname(os.path.abspath(__file__)) - -# lang indique la langue utilisée pour les chaines d'aide : fr ou ang -lang='fr' - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -encoding='iso-8859-1' - -catalogues = ( - ('Sous_epaisseur','v1.0',os.path.join(repIni,'SEP_Cata_V1_4.py'),'python'), -) - diff --git a/OldCodes/Sep/properties.py b/OldCodes/Sep/properties.py deleted file mode 100644 index bd8236ca..00000000 --- a/OldCodes/Sep/properties.py +++ /dev/null @@ -1,24 +0,0 @@ -#@ MODIF properties Accas DATE 11/06/2008 AUTEUR aster M.ADMINISTRATEUR -# RESPONSABLE D6BHHHH J-P.LEFEBVRE -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR -# DE LA VERSION DU CODE_ASTER ASSOCIE -#---------------------------------------------------------------------- -version = "0.1" -date = "20/05/2009" -exploit = False diff --git a/OldCodes/Sep/qtEficas_SEP.py b/OldCodes/Sep/qtEficas_SEP.py deleted file mode 100755 index 741a2e49..00000000 --- a/OldCodes/Sep/qtEficas_SEP.py +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env python -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -""" - Ce module sert a lancer EFICAS configure pour Code_Aster Outils Metier Sous-Epaisseur -""" -# Modules Python - -# Modules Eficas -import prefs -from InterfaceQT4 import eficas_go -#from InterfaceQT import eficas_go - -eficas_go.lance_eficas(code=prefs.code) diff --git a/OldCodes/Sep/sdistSEP.py b/OldCodes/Sep/sdistSEP.py deleted file mode 100644 index e94077f3..00000000 --- a/OldCodes/Sep/sdistSEP.py +++ /dev/null @@ -1,99 +0,0 @@ -# -*- coding: utf-8 -*- -""" - Ce module sert à construire les distributions d'EFICAS pour SEP - en fonction du tag CVS courant - Les distributions sont : - - un tar.gz pour UNIX ne contenant pas mxTextTools - L'utilisation de ce module est la suivante : - 1- Se mettre dans un répertoire de travail - 2- Configurer son environnement pour utiliser le référentiel CVS EFICAS - 3- Exporter les sources d'EficasV1 par la commande : - cvs export -r TAG -d Eficas_export EficasV1 - ou TAG est le tag CVS de la version que l'on veut distribuer (par exemple V1_1p1) - 5- Aller dans le répertoire Eficas_export - 6- Executer le script sdist.py - python sdist.py - Ce qui a pour effet de creer un repertoire dist contenant la distribution - et de la copier dans le répertoire indiqué par dir_download s'il est accessible - -""" -import os,shutil,glob,sys -import types - -nom_distrib="QTEficasSEP_V1_0" -path_distrib=os.path.join("dist",nom_distrib) -dir_download= "/home/eficas/WWW/telechargement/eficas" - -def main(): - if os.path.isdir('dist'):shutil.rmtree('dist') - - copyfiles('.',path_distrib,['LICENSE.TERMS','INSTALL','NEWS']) - - copyfiles('../Editeur',os.path.join(path_distrib,'Editeur'),['*.py','faqs.txt']) - copyfiles('../InterfaceQT4',os.path.join(path_distrib,'InterfaceQT4'),['*.py','faqs.txt']) - copyfiles('../UiQT4',os.path.join(path_distrib,'UiQT4'),['*.ui','makefile']) - copyfiles('../Sous_epaisseur',os.path.join(path_distrib,'Sous_epaisseur'),['*.py','*.ini']) - copyfiles('../Ihm',os.path.join(path_distrib,'Ihm'),['*.py']) - copyfiles('../Extensions',os.path.join(path_distrib,'Extensions'),['*.py']) - copyfiles('../Misc',os.path.join(path_distrib,'Misc'),['*.py']) - copyfiles('../Accas',os.path.join(path_distrib,'Accas'),['*.py']) - # AIDE - copyfiles('../AIDE',os.path.join(path_distrib,'AIDE'),['*.py']) - copyfiles('../AIDE/fichiers',os.path.join(path_distrib,'AIDE','fichiers'),['*']) - copyfiles('.',os.path.join(path_distrib,'AIDE','fichiers'),['INSTALL','NEWS']) - copyfiles('../Editeur',os.path.join(path_distrib,'AIDE','fichiers'),['faqs.txt']) - # ______________________ - - copyfiles('../convert',os.path.join(path_distrib,'convert'),['*.py']) - os.system("rm -rf .././convert/Parserv5 ") - os.system("rm -rf .././convert/convert_asterv5.py ") - copyfiles('../generator',os.path.join(path_distrib,'generator'),['*.py']) - copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.gif']) - copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.png']) - copyfiles('../Editeur/Patrons/',os.path.join(path_distrib,'Editeur','Patrons'),['*.com*']) - - copyfiles('../Noyau',os.path.join(path_distrib,'Noyau'),['*.py']) - copyfiles('../Validation',os.path.join(path_distrib,'Validation'),['*.py']) - - - tarball= maketarball('dist',nom_distrib,nom_distrib) - try: - shutil.copy(tarball,dir_download) - except: - print "Repertoire de download inconnu : ",dir_download - - - -def make_dir(dir_cible): - if type(dir_cible) is not types.StringType: - raise "make_dir : dir_cible doit etre une string (%s)" % `dir_cible` - head,tail=os.path.split(dir_cible) - tails=[tail] - while head and tail and not os.path.isdir(head): - head,tail=os.path.split(head) - tails.insert(0, tail) - - for d in tails: - head = os.path.join(head, d) - if not os.path.isdir(head):os.mkdir(head) - - -def copyfiles(dir_origin,dir_cible,listfiles): - if not os.path.isdir(dir_cible):make_dir(dir_cible) - for glob_files in listfiles: - for file in glob.glob(os.path.join(dir_origin,glob_files)): - shutil.copy(file,dir_cible) - - -def maketarball(dir_trav,dir_cible,nom_tar): - prev=os.getcwd() - print prev - os.chdir(dir_trav) - os.system("tar -cf "+nom_tar+".tar "+dir_cible) - os.system("gzip -f9 "+nom_tar+".tar ") - os.chdir(prev) - return os.path.join(dir_trav,nom_tar+".tar.gz") - - -main() - diff --git a/OldCodes/Sep/style.py b/OldCodes/Sep/style.py deleted file mode 100644 index d4855725..00000000 --- a/OldCodes/Sep/style.py +++ /dev/null @@ -1,66 +0,0 @@ -# -*- coding: utf-8 -*- -""" -Pour modifier le style d'EFICAS il faut ajouter un fichier style.py qui contiendra les -informations sur le style voulu dans son repertoire Eficas_install. - -La methode la plus simple consiste à modifier directement les attributs de l'objet style dans le -fichier style.py d'Eficas_install. Exemple:: - - style.background='yellow' - -pour modifier la couleur du background. - -Il existe une autre méthode qui peut être utilisée quand on veut modifier plusieurs propriétés à la fois. - -Le fichier style.py doit définir une nouvelle classe qui dérive de la classe de base STYLE avec des attributs -de classe qui définiront le nouveau style (par exemple, si on veut modifier le background):: - - class STYLE(STYLE): - background='yellow' - -Il faut ensuite instancier cette classe, dans ce meme fichier, en donnant le nom style à l'objet cree:: - - style=STYLE() - -Tous les attributs de classe possibles sont visibles dans le module Editeur/basestyle.py:: - - background='gray90' - foreground='black' - entry_background='white' - list_background='white' - list_select_background='#00008b' - list_select_foreground='grey' - tooltip_background="yellow" - - standard = ("Helvetica",12) - standard_italique = ("Helvetica",12,'italic') - standard_gras = ("Helvetica",12,'bold') - standard_gras_souligne = ("Helvetica",12,'bold','underline') - - canvas = ('Helvetica',10) - canvas_italique = ('Helvetica',10,'italic') - canvas_gras = ("Helvetica",10,'bold') - canvas_gras_italique = ("Helvetica",12,'bold','italic') - - standard12 = ("Helvetica",14) - standard12_gras = ("Helvetica",14,'bold') - standard12_gras_italique = ( "Helvetica",14,'bold','italic') - - -Le fichier style.py contenu dans le répertoire Aster permet de spécifier des propriétés globales pour une installation. -Les modifications de style contenues dans ce fichier et dans le fichier style.py d'Eficas_install -sont prises en compte dans cet ordre. -""" - -p1=10 -p2=14 -f1="Helvetica" - -style.background='gray90' -style.foreground='black' -style.standard = (f1,p1) -style.standard_italique = (f1,p1,'italic') -style.standard_gras = (f1,p1,'bold') -style.canvas_italique = (f1,p1,'italic') -style.canvas_gras = (f1,p1,'bold') -style.statusfont = (f1,p2) diff --git a/OldCodes/ZCracks/configuration_ZCRACKS.py b/OldCodes/ZCracks/configuration_ZCRACKS.py deleted file mode 100644 index 4ab64b85..00000000 --- a/OldCodes/ZCracks/configuration_ZCRACKS.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== -""" - Ce module sert pour charger les paramètres de configuration d'EFICAS -""" -# Modules Python -from InterfaceQT4 import configuration -import os - - -class CONFIG(configuration.CONFIG_BASE): - - #----------------------------------- - def __init__(self,appli,repIni): - #----------------------------------- - - self.labels_user=['catalogues','lang'] - self.labels_eficas=['lang','rep_cata','catalogues'] - - configuration.CONFIG_BASE.__init__(self,appli,'.Eficas_monCode') - - -def make_config(appli,rep): - return CONFIG(appli,rep) - diff --git a/OldCodes/ZCracks/mesScripts_ZCRACKS.py b/OldCodes/ZCracks/mesScripts_ZCRACKS.py deleted file mode 100644 index 9756cd67..00000000 --- a/OldCodes/ZCracks/mesScripts_ZCRACKS.py +++ /dev/null @@ -1,28 +0,0 @@ - -def view_med(params,appli) : - mcSimp=params[0].object.get_child('cracked_name') - fileName=mcSimp.valeur - import os - if not os.path.isfile(fileName) : - from PyQt4.QtGui import QMessageBox - QMessageBox.warning( None, "Erreur","Le fichier n'existe pas") - return - result,message=appli.importMedFile(fileName) - if result==1 : return - from PyQt4.QtGui import QMessageBox - QMessageBox.warning( None, "Erreur a l import",message) - return - - -# le dictionnaire des commandes a la structure suivante : -# la clef est la commande qui va proposer l action -# puis un tuple qui contient -# - la fonction a appeler -# - le label dans le menu du clic droit -# - un tuple contenant les parametres attendus par la fonction -# - appelable depuis Salome uniquement -) -# - appelable depuis un item valide uniquement -# - toolTip -dict_commandes={ - 'MAILLAGE_RESULTAT':((view_med,"View Result",('item','editor'),False,False,"affiche dans Smesh le fichier med resultat"),), - } diff --git a/OldCodes/ZCracks/monCode_Cata.py b/OldCodes/ZCracks/monCode_Cata.py deleted file mode 100644 index dc9bbe2e..00000000 --- a/OldCodes/ZCracks/monCode_Cata.py +++ /dev/null @@ -1,66 +0,0 @@ -from Accas import * - -JdC = JDC_CATA (code = 'ZCrack', - execmodul = None, - ) - -class grma(GEOM): - pass - -class grno(GEOM): - pass - -ONGLET="oui" - -MAILLAGES = PROC(nom='MAILLAGES',op=None, - MAILLAGE_SAIN=FACT(statut='o', - sane_name=SIMP(typ=('Fichier', 'Med Files(*.med);;All Files (*)'),fr= "",ang= "Name of the initial uncracked mesh",statut= "o"), - if_quad=SIMP(typ="I",fr="",ang="1 for quadratic mesh",defaut=0,statut='o',into=[0,1]), - scale=SIMP(typ="R",fr="",ang="",statut='o',defaut=1), - ), - FISSURE=FACT(statut='o', - crack_name=SIMP(typ=('Fichier', 'Med Files(*.med);;All Files (*)',),fr= "",ang= "Name of the crack surface mesh",statut= "o"), - GENERE_FISSURE=FACT( - regles=(AU_MOINS_UN('ELLIPSE','DISQUE'),), - ELLIPSE=FACT( - center=SIMP(typ="R",fr="",ang="",statut='o',min=3,max=3), - normal=SIMP(typ="R",fr="",ang="",statut='o',min=3,max=3), - ra=SIMP(typ="R",fr="",ang="",statut='o'), - rb=SIMP(typ="R",fr="",ang="",statut='o'), - dir=SIMP(typ="R",fr="",ang="",statut='o',min=3,max=3), - ), - DISQUE=FACT( - center=SIMP(typ="R",fr="",ang="",statut='o',min=3,max=3), - normal=SIMP(typ="R",fr="",ang="",statut='o',min=3,max=3), - rayon=SIMP(typ="R",fr="",ang="",statut='o'), - ), - ), - ), - MAILLAGE_RESULTAT=FACT(statut='o', - cracked_name=SIMP(typ=('Fichier', 'Med Files(med);;All Files (*)','Sauvegarde'),fr= "",ang= "Name of the final mesh",statut= "o"), - crack_id=SIMP(typ="I",fr="",val_min=0, defaut=1), - repertoire=SIMP(typ='Repertoire',fr= "Repertoire ",ang= " Directory",statut= "f",), - ), - GROUPES=FACT(statut='f', - regles=(AU_MOINS_UN('elset_names','faset_names','liset_names','nset_names'),), - elset_names=SIMP(typ=grma,fr="",ang="names of volume element groups to be kept",min=1,max="**",statut="f"), - faset_names=SIMP(typ=grma,fr="",ang="names of surface element groups to be kept",min=1,max="**",statut="f"), - liset_names=SIMP(typ=grma,fr="",ang="names of line element groups to be kept",min=1,max="**",statut="f"), - nset_names=SIMP(typ=grno,fr="" ,ang="names of node element groups to be kept",min=1,max="**",statut="f"), -) -) - -REMESHING=PROC(nom='REMESHING',op=None, - yams_options=SIMP(typ='TXM',fr="",ang="parameters for yams command line",statut="f"), - gradation=SIMP(typ="R",fr="",ang="gradation remeshing parameter",val_max=2.3,defaut=1.3,statut='o'), - min_size=SIMP(typ="R",fr="",ang="minimal element edges length",statut='o'), - max_size=SIMP(typ="R",fr="",ang="maximal element edges length",statut='o'), - nb_iter=SIMP(typ="I",fr="",ang="number of iterations for remeshing process",defaut=2,statut='o'), - ridge_names=SIMP(typ=grma,fr="",ang="",min=1,max="**",statut="f"), - topo_names=SIMP(typ=grma,fr="",ang="",min=1,max="**",statut="f"), - geom_names=SIMP(typ=grma,fr="",ang="",min=1,max="**",statut="f"), - REMAILLAGE_LOCAL=FACT(statut='f', - elset_radius=SIMP(typ="R",fr="",ang="",statut='o'), - ), - filter_tol=SIMP(typ="R",fr="",ang="filtering tolerance for meshing operations",defaut=1.e-6,statut="f"), -) diff --git a/OldCodes/ZCracks/prefs.py b/OldCodes/ZCracks/prefs.py deleted file mode 100644 index d7a65711..00000000 --- a/OldCodes/ZCracks/prefs.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -code="ZCRACKS" -import sys, os -if os.path.dirname(os.path.abspath(__file__)) not in sys.path : - sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) diff --git a/OldCodes/ZCracks/prefs_ZCRACKS.py b/OldCodes/ZCracks/prefs_ZCRACKS.py deleted file mode 100644 index 44c905cd..00000000 --- a/OldCodes/ZCracks/prefs_ZCRACKS.py +++ /dev/null @@ -1,42 +0,0 @@ -# -*- coding: utf-8 -*- -# CONFIGURATION MANAGEMENT OF EDF VERSION -# ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# -# -# ====================================================================== - -import os,sys -# repIni sert a localiser le fichier editeur.ini -# Obligatoire -repIni=os.path.dirname(os.path.abspath(__file__)) -INSTALLDIR=os.path.join(repIni,'..') -sys.path[:0]=[INSTALLDIR] - - -# lang indique la langue utilisee pour les chaines d'aide : fr ou ang -lang='fr' - -# Codage des strings qui accepte les accents (en remplacement de 'ascii') -encoding='iso-8859-1' -docPath=repIni -fileName="docMonCode.png" -image=1 - -# -catalogues=( - ('monCode','default',os.path.join(repIni,'monCode_Cata.py'),'ZCRACKS','python'), -) diff --git a/OldCodes/ZCracks/properties.py b/OldCodes/ZCracks/properties.py deleted file mode 100644 index 1d328a46..00000000 --- a/OldCodes/ZCracks/properties.py +++ /dev/null @@ -1,24 +0,0 @@ -#@ MODIF properties Accas DATE 11/06/2008 AUTEUR aster M.ADMINISTRATEUR -# RESPONSABLE D6BHHHH J-P.LEFEBVRE -# ====================================================================== -# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG -# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY -# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY -# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR -# (AT YOUR OPTION) ANY LATER VERSION. -# -# THIS PROGRAM 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 -# GENERAL PUBLIC LICENSE FOR MORE DETAILS. -# -# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE -# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER, -# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE. -# ====================================================================== -# IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR -# DE LA VERSION DU CODE_ASTER ASSOCIE -#---------------------------------------------------------------------- -version = "1.2" -date = "25/05/2010" -exploit = False diff --git a/OldCodes/ZCracks/qtEficas_ZCracks.py b/OldCodes/ZCracks/qtEficas_ZCracks.py deleted file mode 100755 index b1254f2c..00000000 --- a/OldCodes/ZCracks/qtEficas_ZCracks.py +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -""" - Ce module sert a lancer EFICAS configure pour Code_Aster -""" -# Modules Python -# Modules Eficas - -import sys,os -sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) - -from PyQt4.QtCore import * -import prefs -from InterfaceQT4 import eficas_go -eficas_go.lance_eficas(code=prefs.code) diff --git a/OldCodes/ts/Telemac_Cata.py b/OldCodes/ts/Telemac_Cata.py deleted file mode 100644 index b3f63f6f..00000000 --- a/OldCodes/ts/Telemac_Cata.py +++ /dev/null @@ -1,2666 +0,0 @@ -# coding: utf-8 - -from Accas import * -class DateJJMMAAAA: - def __init__(self): - self.ntuple=3 - - def __convert__(self,valeur): - if type(valeur) == types.StringType: return None - if len(valeur) != self.ntuple: return None - return valeur - - def info(self): - return "Date : jj/mm/aaaa " - - __repr__=info - __str__=info - -import types -class Tuple: - def __init__(self,ntuple): - self.ntuple=ntuple - - def __convert__(self,valeur): - if type(valeur) == types.StringType: - return None - if len(valeur) != self.ntuple: - return None - return valeur - - def info(self): - return "Tuple de %s elements" % self.ntuple - - - -JdC = JDC_CATA (code = 'TELEMAC', - execmodul = None, - ) -# ====================================================================== -# Catalog entry for the MAP function : c_pre_interfaceBody_mesh -# ====================================================================== - -# ----------------------------------------------------------------------- -INITIALIZATION = PROC(nom = "INITIALIZATION",op = None, -# ----------------------------------------------------------------------- - - fr = "Initialisation des fichiers d'entrée et de sortie", - ang = "Input and Output files initialization", - UIinfo = { "groupes" : ( "CACHE", )}, - #UIinfo = { "groupes" : ( "iiii", )}, - -# ------------------------------------ - Title = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - fr = 'Titre du cas etudie. Ce titre figurera sur les dessins.', - ang = 'Title of the case being considered. This title shall be marked on the drawings.'), - #Working_Directory = SIMP( statut='o',typ='Repertoire',defaut='/tmp'), - -# ------------------------------------ - Input_Files = FACT(statut='o', -# ------------------------------------ - - # Dictionary = SIMP( statut='o', typ = ('Fichier', 'Dico (*.dico);;All Files (*)',), - # defaut='telemac2d.dico', - # fr='Dictionnaire des mots cles.', ang='Key word dictionary.',), -# PN : le mot cle doit etre dans le dictionnaire et repris du catalogue mais n -# est pas modifiable - -# ------------------------------------ - Geometry_File_Format = SIMP( statut = 'o', typ = 'TXM', -# ------------------------------------ - into = ['Serafin', 'MED', 'SerafinD'], - defaut = 'Serafin', - fr = 'Format du fichier de geometrie. Les valeurs possibles sont : \n \ - - SERAFIN : format standard simple precision pour Telemac; \n \ - - SERAFIND: format standard double precision pour Telemac; \n \ - - MED : format MED base sur HDF5', - ang = 'Results file format. Possible values are: \n\ - - SERAFIN : classical single precision format in Telemac;\n\ - - SERAFIND: classical double precision format in Telemac;\n\ - - MED : MED format based on HDF5',) , - - b_geofile_med = BLOC (condition = "Geometry_File_Format == 'MED'", -# ------------------------------------ - Geometry_File = SIMP( statut = 'o', -# ------------------------------------ -# PNPNPN Question Soizic --> pourqoi Geo Files -# idem pour Bottom_Topography_File - typ = ('Fichier',' Med Files (*.med);;All Files (*)',), - fr = 'Nom du fichier contenant le maillage du calcul a realiser.', - ang = 'Name of the file containing the mesh. \n\ -This file may also contain the topography and the friction coefficients.'), - - ), - b_geofile_serafin = BLOC (condition = "Geometry_File_Format in ( 'Serafin','SerafinD')", -# ------------------------------------ - Geometry_File = SIMP( statut = 'o', -# ------------------------------------ -# PNPNPN Question Soizic --> pourqoi Geo Files -# idem pour Bottom_Topography_File - typ = ('Fichier', 'Geo Files (*.geo);;All Files (*)',), - fr = 'Nom du fichier contenant le maillage du calcul a realiser.', - ang = 'Name of the file containing the mesh. \n\ -This file may also contain the topography and the friction coefficients.'), - - ), - #Steering_File = SIMP( statut = 'o', typ = ('Fichier', 'Steering Files (*.cas);;All Files (*)',),), - - -# ------------------------------------ - Fortran_File = SIMP(statut = 'f', -# ------------------------------------ - typ = ('Fichier', 'Fortran files (*.f);;All Files (*)'), - fr = 'Nom du fichier a soumettre', - ang = 'Name of FORTRAN file to be submitted',), - -# ------------------------------------ - Bottom_Topography_File = SIMP( statut = 'f', -# ------------------------------------ - typ = ('Fichier', 'Geo Files (*.geo);;All Files (*)',), - fr = "Nom du fichier eventuel contenant la bathymetrie associee au maillage. \ -Si ce mot-cle est utilise; c'est cette bathymetrie qui sera utilisee pour le calcul.", - ang = 'Name of the possible file containing the bathymetric data.\ -Where this keyword is used, these bathymetric data shall be used in the computation.', - ), - -# ------------------------------------ - Bottom_Smoothings = SIMP( statut = 'o',typ = 'I', defaut = 0 , -# ------------------------------------ - fr = 'Nombre de lissages effectues sur la topographie. chaque lissage, effectue a l aide dune matrice de masse, est conservatif.\n\ -Utilise lorsque les donnees de bathymetrie donnent des resultats trop irreguliers apres interpolation.', - ang = 'Number of smoothings on bottom topography. each smoothing is mass conservative. \n\ -to be used when interpolation of bathymetry on the mesh gives very rough results.',), - -# ------------------------------------ - Boundary_Conditions_File = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', 'Boundary Condition (*.cli);;All Files (*)',), - fr = 'Nom du fichier contenant les types de conditions aux limites. Ce fichier est rempli de facon automatique\n\ -par le mailleur au moyen de couleurs affectees aux noeuds des frontieres du domaine de calcul.', - ang = 'Name of the file containing the types of boundary conditions. This file is filled automatically\n\ -by the mesh generator through through colours that are assigned to the boundary nodes.',), - - -# ------------------------------------ - Validation = FACT( statut = 'f', -# ------------------------------------ -#PNPN--> creer le Mot_clef simple Validation si ce fact existe - -# ------------------------------------ - Reference_File_Format = SIMP( statut = 'o', -# ------------------------------------ - typ = 'TXM', - into = ['Serafin','MED','SerafinD'], - defaut = 'Serafin', - fr = 'Format du fichier de resultats. Les valeurs possibles sont : \n\ - - SERAFIN : format standard simple precision pour Telemac; \n\ - - SERAFIND: format standard double precision pour Telemac; \n\ - - MED : format MED base sur HDF5' , - ang = 'Results file format. Possible values are:\n \ - - SERAFIN : classical single precision format in Telemac;\n\ - - SERAFIND: classical double precision format in Telemac; \n\ - - MED : MED format based on HDF5' ,), - -# ------------------------------------ - Reference_File = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', 'Reference File (*.ref);;All Files (*)',), - fr = 'Fichier de resultats de reference pour la validation. Les resultats a placer dans ce fichier seront a ecrire sur le canal 22.', - ang = 'Binary-coded result file for validation. The results to be entered into this file shall be written on channel 22.',), - - ), # Fin de Validation - -# ------------------------------------ - Formatted_And_Binary_Files = FACT( statut = 'f', -# ------------------------------------ - -# ------------------------------------ - Formatted_Data_File_1 = SIMP( statut = 'f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',), -# ------------------------------------ - fr = "Fichier de donnees formate mis a la disposition de l''utilisateur. \n\ -Les donnees de ce fichier seront a lire sur le canal 26.", - ang = 'Formatted data file made available to the user.\n\ -The data in this file shall be read on channel 26.',), - -# ------------------------------------ - Formatted_Data_File_2 = SIMP( statut = 'f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',), -# ------------------------------------ - fr = "Fichier de donnees formate mis a la disposition de l'utilisateur. \n\ -Les donnees de ce fichier seront a lire sur le canal 27.", - ang = "Formatted data file made available to the user.\n\ -The data in this file shall be read on channel 27.",), - -# ------------------------------------ - Binary_Data_File_1 = SIMP( statut = 'f', typ = ('Fichier', 'All Files (*)',), -# ------------------------------------ - fr = 'Fichier de donnees code en binaire mis a la disposition de l utilisateur. \n\ -Les donnees de ce fichier seront a lire sur le canal 24.', - ang = 'Binary-coded data file made available to the user.\n\ -The data in this file shall be read on channel 24.',), - -# ------------------------------------ - Binary_Data_File_2 = SIMP( statut = 'f', typ = ('Fichier', 'All Files (*)',), -# ------------------------------------ - fr = 'Fichier de donnees code en binaire mis a la disposition de l utilisateur.\n\ -Les donnees de ce fichier seront a lire sur le canal 25.', - ang = 'Binary-coded data file made available to the user. \n\ -The data in this file shall be read on channel 25.',), - - ), # fin Formatted_And_Binary_Files - - ), # Fin de InputFile - - # ----------------------------------------------------------------------- - Initial_State = FACT(statut='o', - # ----------------------------------------------------------------------- - -# ------------------------------------ - Initial_Conditions = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ['Zero elevation','Constant elevation','Zero depth','Constant depth','Special','TPXO satellite altimetry'], - defaut = 'Zero elevation', - fr = "Permet de definir les conditions initiales sur les hauteurs d'eau. Les valeurs possibles sont :\n\ - - COTE NULLE. Initialise la cote de surface libre a 0. \nLes hauteurs d'eau initiales sont alors retrouvees en faisant la difference entre les cotes de surface libre et du fond. \n\ - - COTE CONSTANTE . Initialise la cote de surface libre a la valeur donnee par le mot-cle COTE INITIALE. Les hauteurs d'eau initiales sont calculees comme precedemment.\n\ - - HAUTEUR NULLE .Initialise les hauteurs d'eau a 0. \n\ - - HAUTEUR CONSTANTE. Initialise les hauteurs d'eau a la valeur donnee par le mot-cle HAUTEUR INITIALE. \n\ - - PARTICULIERES. Les conditions initiales sur la hauteur d'eau doivent etre precisees dans le sous-programme CONDIN. \n\ - - ALTIMETRIE SATELLITE TPXO. Les conditions initiales sur la hauteur d'eau et les vitesses sont etablies sur \n\ - la base des donnees satellite TPXO dont les 8 premiers constistuents ont ete extraits et sauves dans le fichier\n\ - BASE DE DONNEES DE MAREE." , - ang = 'Makes it possible to define the initial conditions with the water depth. The possible values are : \n\ - - ZERO ELEVATION. Initializes the free surface elevation to 0. \n The initial water depths are then found by computing the difference between the free surface and the bottom. \n\ - - CONSTANT ELEVATION. Initializes the water elevation to the value given by the keyword \n\ - - INITIAL ELEVATION. The initial water depths are computed as in the previous case. \n\ - - ZERO DEPTH. Initializes the water depths to 0. \n\ - - CONSTANT DEPTH. Initializes the water depths to the value givenby the key-word INITIAL DEPTH. \n\ - - SPECIAL. The initial conditions with the water depth should be stated in the CONDIN subroutine. \n\ - - TPXO SATELITE ALTIMETRY. The initial conditions on the free surface and velocities are established from the TPXO satellite program data,\n the harmonic constituents of which are stored in the TIDE DATA BASE file.', ), - -# ------------------------------------ - b_initial_elevation = BLOC (condition = "Initial_Conditions == 'Constant elevation'", -# ------------------------------------ -# ------------------------------------ - Initial_Elevation = SIMP(statut = 'o',typ = 'R', -# ------------------------------------ - fr = 'Valeur utilisee avec l''option : CONDITIONS INITIALES - COTE CONSTANTE', - ang = 'Value to be used with the option : INITIAL CONDITIONS -CONSTANT ELEVATION' ), - ) , # fin b_initial_elevation - -# ------------------------------------ - b_initial_depth = BLOC (condition = "Initial_Conditions == 'Constant depth'", -# ------------------------------------ -# ------------------------------------ - Initial_Depth = SIMP(statut = 'o',typ = 'R', -# ------------------------------------ - fr = 'Valeur utilisee avec l''option : CONDITIONS INITIALES :-HAUTEUR CONSTANTE-', - ang = 'Value to be used along with the option: INITIAL CONDITIONS -CONSTANT DEPTH-' ), - ),# fin b_initial_depth - -# ------------------------------------ - b_special = BLOC (condition = "Initial_Conditions == 'Special'", -# ------------------------------------ -# ------------------------------------ - Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", -# ------------------------------------ - defaut = "The initial conditions with the water depth should be stated in the CONDIN subroutine"), - ), # fin b_special - -#PNPN il faut changer la condition pour que cela soit dans maree. il faut une position = global_jdc et remonter # cela -# ------------------------------------ - b_initial_TPXO = BLOC (condition = "Initial_Conditions == 'TPXO satellite altimetry'", -# ------------------------------------ -# ------------------------------------ - Ascii_Database_For_Tide = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', 'All Files (*)',), - fr = 'Base de donnees de constantes harmoniques tirees du fichier du modele de maree', - ang = 'Tide data base of harmonic constituents extracted from the tidal model file',), - ), # fin b_initial_TPXO - - ), # fin Initial_State - - -# ------------------------------------ - Computation_Continued = SIMP( statut = 'o',typ = bool,defaut = False,position = "global_jdc"), -# ------------------------------------ - -# ------------------------------------ - b_comput_con = BLOC(condition = 'Computation_Continued == True', - Computation_Continued_Settings = FACT(statut = 'o', - -# ------------------------------------ - Previous_Computation_File_Format = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ['Serafin','MED','SerafinD'], - defaut = 'Serafin', - fr = 'Format du fichier de resultats du calcul precedent. Les valeurs possibles sont : \n\ - - SERAFIN : format standard simple precision pour Telemac; \n\ - - SERAFIND: format standard double precision pour Telemac; \n\ - - MED : format MED base sur HDF5', - ang = 'Previous computation results file format. Possible values are: \n\ - - SERAFIN : classical single precision format in Telemac; \n\ - - SERAFIND: classical double precision format in Telemac; \n\ - - MED : MED format based on HDF5',), - -# ------------------------------------ - Previous_Computation_File = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', 'Computation File (*.res);;All Files (*)',), - fr = "Nom d'un fichier contenant les resultats d'un calcul precedent realise sur le meme maillage \n\ - et dont le dernier pas de temps enregistre va fournir les conditions initiales pour une suite de de calcul.", - ang = 'Name of a file containing the results of an earlier computation which was made on the same mesh.\n\ - The last recorded time step will provid the initial conditions for the new computation.', - ), -# ------------------------------------ - Initial_Time_Set_To_Zero = SIMP(typ = bool, statut = 'o', -# ------------------------------------ - fr = 'Remet le temps a zero en cas de suite de calcul', - ang = 'Initial time set to zero in case of restart', - defaut = "False"), - -# ------------------------------------ - Record_Number_For_Restart = SIMP(typ = 'I', statut = 'o', defaut = 0, -# ------------------------------------ - fr = "numero de l'enregistrement de depart dans le fichier du calcul precedent. 0 signifie qu'on prend le dernier enregistrement", - ang = "record number to start from in the previous computation file, 0 for last record" ), - - ), - ),# fin BLOC b_comput_con - -# ------------------------------------ - Coupling = FACT( statut = 'o', -# ------------------------------------ -# PNPNPN Attention 1 seul choix possible - fr = 'Liste des codes avec lesquels on couple Telemac-2D', - ang = 'List of codes to be coupled with Telemac-2D', - -# ------------------------------------ - Sisyphe = SIMP(statut = 'o',typ = bool,defaut = False , -# ------------------------------------ - fr = 'couplage interne avec Sisyphe', - ang = 'internal coupling with Sisyphe'), - -# ------------------------------------ - Tomawac = SIMP(statut = 'o',typ = bool,defaut = False, -# ------------------------------------ - fr = 'couplage interne avec Tomawac', - ang = 'internal coupling with Tomawac'), - -# ------------------------------------ - Delwacq = SIMP(statut = 'o',typ = bool,defaut = False, -# ------------------------------------ - fr = 'couplage interne avec Delwacq', - ang = 'internal coupling with Delwacq'), -# PNPNPN Attention : il faut des mots cles si Delwacq. a voir avec Soizic -# On verra apres - - ), # fin Coupling - -# ------------------------------------ - Parallel_Computation = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ -# Ce mot clef n existe pas dans le dico - into = ['Sequentiel','Parallel'], - defaut = 'Sequentiel',), - -# ------------------------------------ - b_para = BLOC(condition = 'Parallel_Computation == "Parallel"', -# ------------------------------------ -# ------------------------------------ - Parallel_Processors = SIMP(statut = 'o',typ = 'I', -# ------------------------------------ - val_min = 0,defaut = 1, - fr = 'NOMBRE DE PROCESSEURS EN CALCUL PARALLELE \n\ -0 : 1 machine, compilation sans bibliotheque de parallelisme \n\ -1 : 1 machine, compilation avec bibliotheque de parallelisme \n\ -2 : 2 processeurs ou machines en parallele etc... ', - ang = 'NUMBER OF PROCESSORS FOR PARALLEL PROCESSING \n\ -0 : 1 machine, compiling without parallel library \n\ -1 : 1 machine, compiling with a parallel library \n\ -2 : 2 processors or machines in parallel'), - ), # fin b_para - -)# INITIALISATION - -# ----------------------------------------------------------------------- -TIDE_PARAMETERS = PROC(nom = "TIDE_PARAMETERS",op = None, -# ----------------------------------------------------------------------- -# ------------------------------------ - Inputs_Outputs_For_Tide = FACT( statut = 'o', -# ------------------------------------ - -# ------------------------------------ - Harmonic_Constants_File = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', 'All Files (*)',), - fr = 'Constantes harmoniques extraites du fichier du modele de maree', - ang = 'Harmonic constants extracted from the tidalmodel file',), - -# ------------------------------------ - Tidal_Model_File = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', 'All Files (*)',), - fr = 'Fichier de geometrie du modele dont sont extraites les constantes harmoniques', - ang = 'Geometry file of the model from which harmonic constituents are extracted',), - - ), # Fin Inputs_Outputs_For_Tide - -# ------------------------------------ - Location = FACT( statut = 'o', -# ------------------------------------ -# ------------------------------------ - Geographic_System = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ["Defined by user", "WGS84 longitude/latitude in real degrees", "WGS84 nothern UTM",\ - "WGS84 southern UTM","Lambert", "Mercator",], - defaut = "Defined by user", - fr = 'Systeme de coordonnees geographiques dans lequel est construit le modele numerique.', - ang = 'Geographic coordinates system in which the numerical model is built.',), - -# ------------------------------------ - b_geo_plan = BLOC(condition = "Geographic_System in ['WGS84 nothern UTM','WGS84 southern UTM','Lambert']", -# ------------------------------------ - -# ------------------------------------ - Zone_Number_In_Geographic_System = SIMP(statut = 'f',typ = 'TXM', -# ------------------------------------ - into = [ 'Lambert 1 north', 'Lambert 2 center', 'Lambert 3 south', \ - 'Lambert 4 corsica', 'Lambert 2 extended', 'UTM zone,E.G.'], - fr = "Numero de zone (fuseau ou type de projection) lors de l'utilisation d'une projection plane.\n \ -Indiquer le systeme geographique dans lequel est construit le modele numerique avec le mot-cle SYSTEME GEOGRAPHIQUE", - ang = 'Number of zone when using a plane projection. \n\ -Indicate the geographic system in which the numerical model is built with the keyword GEOGRAPHIC SYSTEM'), - ), # Fin b_geo_plan - ), # Fin Location - -# ------------------------------------ - Physical_Parameters = FACT(statut = 'o', -# ------------------------------------ - -# ------------------------------------ - Tide_Generating_Force = SIMP(statut = 'o', -# ------------------------------------ - typ = bool, defaut = False), - -# ------------------------------------ - b_Tide = BLOC(condition = "Tide_Generating_Force == True", -# ------------------------------------ -# ------------------------------------ - Longitude_Of_Origin_Point = SIMP(typ = 'R', -# ------------------------------------ - statut = 'o', defaut = 48., - fr = 'Fixe la valeur de la longitude du point origine du modele, lors de l utilisation de la force generatrice de la maree.', - ang = 'Give the value of the longitude of the origin point of the model, when taking into account of the tide generator force.',), - -# ------------------------------------ - Tidal_Data_Base = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ -# Soizic . Il faudrait une consigne ? avec des blocs ? -# en suspens pour JMJ - into = [ "JMJ", "TPXO", "Miscellaneous (LEGOS-NEA, FES20XX, PREVIMER...)",], - fr = 'Pour JMJ, renseigner la localisation du fichier bdd_jmj et geofin dans les mots-cles BASE DE DONNEES DE MAREE \n\ -et FICHIER DU MODELE DE MAREE. Pour TPXO, LEGOS-NEA, FES20XX et PREVIMER, l utilisateur doit telecharger les fichiers \n\ -de constantes harmoniques sur internet', - ang = 'For JMJ, indicate the location of the files bdd_jmj and geofin with keywords TIDE DATA BASE and TIDAL MODEL FILE.\n\ -For TPXO, LEGOS-NEA, FES20XX and PREVIMER, the user has to download files of harmonic constituents on the internet',), - -# ------------------------------------ - b_tpxo = BLOC(condition = "Tidal_Data_Base == 'TPXO'", -# ------------------------------------ - -# ------------------------------------ - Minor_Constituents_Inference = SIMP( statut = 'o',typ = bool, -# ------------------------------------ - defaut = False , - fr = 'Interpolation de composantes harmoniques mineures a partir de celles lues dans les \n\ -fichiers d entrees lies aux mots-cles BASE BINAIRE 1 DE DONNEES DE MAREE et BASE BINAIRE 2 DE DONNEES DE MAREE', - ang = 'Inference of minor constituents from the one read in input files linked to \n\ -keywords BINARY DATABASE 1 FOR TIDE and BINARY DATABASE 2 FOR TIDE',), - - - -# ------------------------------------ - Binary_Database_1_For_Tide = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', '(All Files (*),)',), - fr = 'Base de donnees binaire 1 tiree du fichier du modele de maree.\n\ -Dans le cas des donnees satellitaires de TPXO, ce fichier correspond aux donnees de niveau d''eau, par exemple h_tpxo7.2', - ang = 'Binary database 1 extracted from the tidal model file.\n\ -In the case of the TPXO satellite altimetry model, this file should be for free surface level, for instance h_tpxo7.2',), - -# ------------------------------------ - Binary_Database_2_For_Tide = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', '(All Files (*),)',), - fr= 'Base de donnees binaire 2 tiree du fichier du modele de maree.\n\ -Dans le cas des donnees satellitaires de TPXO, ce fichier correspond aux donnees de vitesse de marrees, par exemple u_tpxo7.2', - ang = 'Binary database 2 extracted from the tidal model file.\n\ -In the case of the TPXO satellite altimetry model, this file should be for tidal velocities, for instance u_tpxo7.2' ), - - ),#fin du bloc b_tpxo - ), # Fin du Bloc b_Tide - -# ------------------------------------ - Option_For_Tidal_Boundary_Conditions = SIMP( statut = 'o', -# ------------------------------------ - typ = 'TXM', defaut = 'No tide', - into = ['No tide', 'Real tide (recommended methodology)', 'Astronomical tide', \ - 'Mean spring tide', 'Mean tide', 'Mean neap tide', \ - 'Astronomical neap tide', 'Real tide (methodology before 2010)'],), - -# ------------------------------------ - b_Option_B = BLOC(condition = 'Option_For_Tidal_Boundary_Conditions!= "No tide"', -# ------------------------------------ -# ------------------------------------ - Coefficient_To_Calibrate_Tidal_Range = SIMP(statut = 'o', -# ------------------------------------ - typ = 'R', defaut = 1., - fr = 'Coefficient pour ajuster le marnage de l''onde de maree aux frontieres maritimes', - ang = 'Coefficient to calibrate the tidal range of tidal wave at tidal open boundary conditions'), - -# ------------------------------------ - Coefficient_To_Calibrate_Tidal_Velocities = SIMP(statut = 'o', -# ------------------------------------ - typ = 'R', defaut = 999999, - fr = 'Coefficient pour ajuster les composantes de vitesse de l''onde de maree aux frontieres maritimes.\n\ -La valeur par defaut 999999. signifie que c''est la racine carree du Coefficient_De_Calage_Du_Marnage qui est prise', - ang = 'Coefficient to calibrate the tidal velocities of tidal wave at tidal open boundary conditions.\n\ - Default value 999999. means that the square root of Coefficient_To_Calibrate_Tidal_Range is taken'), - -# ------------------------------------ - Coefficient_To_Calibrate_Sea_Level = SIMP(statut = 'o',typ = 'R', -# ------------------------------------ - defaut = 0., - fr = 'Coefficient pour ajuster le niveau de mer', - ang = 'Coefficient to calibrate the sea level'), - ), # fin b_Option_B - - ), #fin Physical_Parameters -) # Fin TIDE_PARAMETERS - -# ----------------------------------------------------------------------- -BOUNDARY_CONDITIONS = PROC(nom = "BOUNDARY_CONDITIONS",op = None, -# ----------------------------------------------------------------------- - fr = 'On donne un ensemble de conditions par frontiere liquide', - ang = 'One condition set per liquid boundary is given', - UIinfo = { "groupes" : ( "CACHE", )}, - #UIinfo = { "groupes" : ( "iiii", )}, - # Dans l ideal il faut aller regarder selon les groupes dans le fichier med - # en sortie il faut aller chercher le .cli qui va bien - #Liquid_Boundaries = FACT(statut = 'f',max = '**', - # Options = SIMP(statut = 'f',typ = 'I',into = ['classical boundary conditions','Thompson method based on characteristics']) - # Prescribed_Flowrates = SIMP(statut = 'f',typ = 'R'), - # Prescribed_Elevations = SIMP(statut = 'f',typ = 'R'), - # Prescribed_Velocity = SIMP(statut = 'f',typ = 'R'), - # ), - -# Il va falloir une "traduction dans le langage du dico" -# Il faut seulement l un des 3 - -# ------------------------------------ - Liquid_Boundaries = FACT(statut = 'o',max = '**', -# ------------------------------------ - -# ------------------------------------ - Options = SIMP(statut = 'f',typ = 'I', -# ------------------------------------ - into = ['Classical boundary conditions','Thompson method based on characteristics'], - fr = 'On donne 1 entier par frontiere liquide', - ang = 'One integer per liquid boundary is given',), - -# ------------------------------------ - Type_Condition = SIMP(statut = 'o',typ = 'TXM', -# On ajoute le type pour rendre l 'ihm plus lisible -# mais ce mot-cle n existe pas dans le dico -# ------------------------------------ - into = ['Prescribed Flowrates', 'Prescribed Elevations', 'Prescribed Velocity'],), - -# ------------------------------------ - b_Flowrates = BLOC (condition = "Type_Condition == 'Prescribed Flowrates'", -# ------------------------------------ -# ------------------------------------ - Prescribed_Flowrates = SIMP(statut = 'o', -# ------------------------------------ - typ = 'R', - fr = ' Valeurs des debits imposes aux frontieres liquides entrantes.\n\ -Lire la partie du mode d''emploi consacree aux conditions aux limites', - ang = 'Values of prescribed flowrates at the inflow boundaries.\n\ -The section about boundary conditions is to be read in the manual'), - ), # fin b_Flowrates - -# ------------------------------------ - b_Elevations = BLOC (condition = "Type_Condition == 'Prescribed Elevations'", -# ------------------------------------ -# ------------------------------------ - Prescribed_Elevations = SIMP(statut = 'o',typ = 'R', -# ------------------------------------ - fr = 'Valeurs des cotes imposees aux frontieres liquides entrantes.\n\ -Lire la partie du mode d''emploi consacree aux conditions aux limites', - ang = 'Values of prescribed elevations at the inflow boundaries.\n\ -The section about boundary conditions is to be read in the manual'), - ), # fin b_Elevations - -# ------------------------------------ - b_Velocity = BLOC (condition = "Type_Condition == 'Prescribed Velocity'", -# ------------------------------------ -# ------------------------------------ - Prescribed_Velocities = SIMP(statut = 'o',typ = 'R', -# ------------------------------------ - fr = 'Valeurs des vitesses imposees aux frontieres liquides entrantes.\n\ -Lire la partie du mode d''emploi consacree aux conditions aux limites', - ang = 'Values of prescribed velocities at the liquid inflow boundaries.\n\ -Refer to the section dealing with the boundary conditions'), - ), # fin b_Velocity - - ), # fin des Liquid_Boundaries - -# ------------------------------------ - Liquid_Boundaries_File = SIMP( statut = 'f', -# ------------------------------------ - typ = ('Fichier', 'All Files (*)',), - fr = 'Fichier de variations en temps des conditions aux limites.\n\ -Les donnees de ce fichier seront a lire sur le canal 12.', - ang = 'Variations in time of boundary conditions. Data of this file are read on channel 12.', - ), - - -#PNPN Attention dans le Dico STAGE-DISCHARGE CURVES -#PNPN regarder le document de reference pour changer non programme -# ------------------------------------ - Stage_Discharge_Curves = SIMP(statut = 'f',typ = 'TXM', -# ------------------------------------ - into = ["No one","Z(Q)","Q(Z)"], - fr = 'Indique si une courbe de tarage doit etre utilisee pour une frontiere', - ang = 'Says if a discharge-elevation curve must be used for a given boundary',), - -# ------------------------------------ - b_discharge_curve = BLOC (condition = "Stage_Discharge_Curves != 'no'", -# ------------------------------------ -# ------------------------------------ - Stage_Discharge_Curves_File = SIMP( statut = 'f', -# ------------------------------------ - typ = ('Fichier', 'All Files (*)',), - fr = 'Nom du fichier contenant les courbes de tarage', - ang = 'Name of the file containing stage-discharge curves',), - ), # fin b_discharge_curve - -# ------------------------------------ - Elements_Masked_By_User = SIMP(statut = 'o',typ = bool, -# ------------------------------------ - defaut = False, - fr = 'Si oui remplir le sous-programme maskob', - ang = 'if yes rewrite subroutine maskob',), - -# ------------------------------------ - maskob = BLOC (condition = 'Elements_Masked_By_User == True', -# ------------------------------------ -# ------------------------------------ - Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", -# ------------------------------------ - defaut = "Remplir le sous-programme maskob"), - ) # fin maskob - -) # fin Boundary_Conditions - -# ----------------------------------------------------------------------- -NUMERICAL_PARAMETERS = PROC(nom = "NUMERICAL_PARAMETERS",op = None, -# ----------------------------------------------------------------------- - - UIinfo = { "groupes" : ( "CACHE", )}, - #UIinfo = { "groupes" : ( "iiii", )}, - -# ------------------------------------ - Equations = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ['Saint-Venant EF','Saint-Venant VF','Boussinesq'], - defaut = 'Saint-Venant EF', - fr = 'Choix des equations a resoudre', - ang = 'Choice of equations to solve',), - -# ------------------------------------ - Treatment_Of_The_Linear_System = SIMP(statut = 'o', typ = 'TXM', -# ------------------------------------ - into = ["Coupled", "Wave equation"], - defaut = "Coupled",), - -# ------------------------------------ - Finite_Volume_Scheme = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - into = [ "Roe scheme", "Kinetic order 1", "Kinetic order 2", "Zokagoa scheme order 1",\ - "Tchamen scheme order 1", "HLLC scheme order 1", "WAF scheme order 2"], - defaut = "Kinetic order 1",), - -# ------------------------------------ - Solver_Definition = FACT(statut = 'o', -# ------------------------------------ - -# ------------------------------------ - Solver = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ["Conjugate gradient", "Conjugate residual","Conjugate gradient on a normal equation",\ - "Minimum error", "CGSTAB", "GMRES", "Direct",], - fr = 'Permet de choisir le solveur utilise pour la resolution de l''etape de propagation. \n\ -Toutes les methodes proposees actuellement s''apparentent au Gradient Conjugue. Ce sont :\n\ - 1 : gradient conjugue 2 : residu conjugue 3 : gradient conjugue sur equation normale \n\ - 4 : erreur minimale 5 : gradient conjugue carre (non programme) 6 : gradient conjugue carre stabilise (cgstab)\n\ - 7 : gmres (voir aussi option du solveur) 8 : direct', - ang = 'Makes it possible to select the solver used for solving the propagation step.\n\ -All the currently available methods are variations of the Conjugate Gradient method. They are as follows: \n\ -1: conjugate gradient 2: conjugate residual 3: conjugate gradient on a normal equation\n\ -4: minimum error 5: conjugate gradient squared (not implemented) 6: conjugate gradient squared stabilised (cgstab) \n\ -7: gmres (see option for solver) 8: direct',), - -# ------------------------------------ - b_gmres = BLOC (condition = "Solver == 'GMRES'", -# ------------------------------------ -# ------------------------------------ - Solver_Option = SIMP(statut = 'o',typ = 'I', defaut = 2, val_min = 2,val_max = 15, -# ------------------------------------ - fr = 'la dimension de l''espace de KRILOV', - ang = 'dimension of the KRYLOV space',), - ), # fin b_gmres - -# ------------------------------------ - Solver_Accuracy = SIMP(statut = 'o',typ = 'R', defaut = 1e-4, -# ------------------------------------ - fr = 'Precision demandee pour la resolution de l''etape de propagation (cf. Note de principe).', - ang = 'Required accuracy for solving the propagation step (refer to Principle note).',), - -# ------------------------------------ - Maximum_Number_Of_Iterations_For_Solver = SIMP(statut = 'o',typ = 'I', defaut = 100, -# ------------------------------------ - fr = 'Les algorithmes utilises pour la resolution de l''etape de propagation etant iteratifs, \n\ -il est necessaire de limiter le nombre d''iterations autorisees.\n\ -Remarque : un maximum de 40 iterations par pas de temps semble raisonnable.', - ang = 'Since the algorithms used for solving the propagation step are iterative, \ -the allowed number of iterations should be limited.\n\ -Note: a maximum number of 40 iterations per time step seems to be reasonable.',), - - ), # fin Solver - -# ------------------------------------ - Linearity = FACT(statut = 'f', -# ------------------------------------ -# ------------------------------------ - Continuity_Correction = SIMP(typ = bool, statut = 'o', -# ------------------------------------ - defaut = False, - fr = 'Corrige les vitesses sur les points avec hauteur imposee ou l equation de continuite n a pas ete resolue', - ang = 'Correction of the velocities on points with a prescribed elevation, where the continuity equation has not been solved',), - - ), # Fin Linearity - -# ------------------------------------ - Precondionning_setting = FACT(statut = 'f', -# ------------------------------------ - -# ------------------------------------ - Preconditioning = SIMP(statut = 'o',typ = 'TXM',max="**", -# ------------------------------------ -# PNPN Soizic ? Est ce que c'est une liste -# Comment fait-on le into est faux : voir l aide -# PN Je propose qu 'on puisse faire +sieurs choix et qu on recalcule en sortie -# ou on propose des choix croisés parce que toutes les combinaisons ne sont pas possibles ? -# - into = [ "Diagonal", "No preconditioning", "Diagonal condensee", "Crout", "Gauss-Seidel", ], - defaut=("Diagonal",), homo="SansOrdreNiDoublon", - fr='Permet de preconditionner le systeme de l etape de propagation afin d accelerer la convergence \n\ -lors de sa resolution. Certains preconditionnements sont cumulables : (les diagonaux 2 ou 3 avec les autres)\n\ -Pour cette raison on ne retient que les nombres premiers pour designer les preconditionnements. Si l on souhaite en cumuler\n\ -plusieurs on formera le produit des options correspondantes.', - ang='Choice of the preconditioning in the propagation step linear system that the convergence is speeded up\n\ -when it is being solved.Some operations (either 2 or 3 diagonal preconditioning) can be performed concurrently with the others.\n\ -Only prime numbers are therefore kept to denote the preconditioning operations. When several of them are to be performed concurrently,\n\ -the product of relevant options shall be made.', - ), -# ------------------------------------ - C_U_Preconditioning = SIMP(typ = bool, statut = 'o', defaut=False, -# ------------------------------------ - fr = 'Changement de variable de H en C dans le systeme lineaire final', - ang = 'Change of variable from H to C in the final linear system' - ), - - ),# fin Preconditionnement - -# ------------------------------------ - Matrix_Informations = FACT(statut = 'f', -# ------------------------------------ -# ------------------------------------ - Matrix_Vector_Product = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ["Classic", "Frontal"], - defaut='Classic', - fr = 'attention, si frontal, il faut une numerotation speciale des points', - ang = 'beware, with option 2, a special numbering of points is required', - ), -# ------------------------------------ - Matrix_Storage = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ["Classical EBE","Edge-based storage",], - defaut='Edge-based storage', - ), - ),# fin Matrix_Informations - - -# ------------------------------------ - Advection = FACT(statut = 'o', -# ------------------------------------ - -# ------------------------------------ - Type_Of_Advection = FACT(statut = 'o', -# ------------------------------------ - -# PNPNPN recalcul -# Tres differents du dico liste de 4 -# PNPN eclaircir les choix SVP -# soizic. choix 3 et 4 et 13 et 14 -# Attention recalcul de Type_Of_Advection -# ------------------------------------ - Advection_Of_U_And_V = SIMP(statut = 'o',typ = bool, defaut = True, -# ------------------------------------ - fr = 'Prise en compte ou non de la convection de U et V.', - ang = 'The advection of U and V is taken into account or ignored.'), - -# ------------------------------------ - b_u_v = BLOC( condition = "Advection_Of_U_And_V == True", -# ------------------------------------ -# ------------------------------------ - Type_Of_Advection_U_And_V = SIMP(statut = 'o',typ = 'TXM',position = "global", -# ------------------------------------ - into = ["Characteristics", "SUPG", "Conservative N-scheme", 'Conservative N-scheme',\ - 'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\ - 'Edge-based N-scheme'], - defaut = "Characteristics", ), - -# ------------------------------------ - b_upwind = BLOC(condition = "Type_Of_Advection_U_And_V == 'SUPG'", -# ------------------------------------ -# ------------------------------------ - Supg_Option_U_And_V = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', -# ------------------------------------ - into = ['No upwinding', 'Classical SUPG','Modified SUPG']), - -# ------------------------------------ - Upwind_Coefficients_Of_U_And_V = SIMP(statut = 'o',typ = 'R', defaut = 1.) -# ------------------------------------ - ), # fin b_upwind - ),# fin b_u_v - -# ------------------------------------ - Advection_Of_H = SIMP(statut = 'o',typ = bool, defaut = True, -# ------------------------------------ - fr = 'Prise en compte ou non de la convection de H.', - ang = 'The advection of H is taken into account or ignored.'), - -# ------------------------------------ - b_h = BLOC( condition = "Advection_Of_H == True", -# ------------------------------------ -# ------------------------------------ - Type_Of_Advection_H = SIMP(statut = 'o',typ = 'TXM',position = "global", -# ------------------------------------ - into = ["characteristics", "SUPG", "conservative N-scheme", 'conservative N-scheme',\ - 'conservative PSI-scheme', 'non conservative PSI scheme', 'implicit non conservative N scheme',\ - 'edge-based N-scheme'], - defaut = "conservative PSI-scheme",), -# ------------------------------------ - b_upwind_H = BLOC(condition = "Type_Of_Advection_H == 'SUPG'", -# ------------------------------------ -# ------------------------------------ - Supg_Option_H = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', -# ------------------------------------ - into = ['No upwinding', 'Classical SUPG','Modified SUPG']), - -# ------------------------------------ - Upwind_Coefficients_Of_H = SIMP(statut = 'o',typ = 'R', defaut = 1.) -# ------------------------------------ - ), # fin b_upwind_H - ),# fin b_h - -# ------------------------------------ - Advection_Of_K_And_Epsilon = SIMP(statut = 'o',typ = bool, defaut = True, -# ------------------------------------ - fr = 'Prise en compte ou non de la convection de Tracer.', - ang = 'The advection of Tracer is taken into account or ignored.'), - -# ------------------------------------ - b_k = BLOC( condition = "Advection_Of_K_And_Epsilon == True", -# ------------------------------------ -# ------------------------------------ - Type_Of_Advection_K_And_Epsilon = SIMP(statut = 'o',typ = 'TXM',position = "global", -# ------------------------------------ - into = ["Characteristics", "SUPG", "Conservative N-scheme", 'Conservative N-scheme',\ - 'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\ - 'Edge-based N-scheme'], - defaut = "Characteristics",), -# ------------------------------------ - b_upwind_k = BLOC(condition = "Type_Of_Advection_K_And_Epsilon == 'SUPG'", -# ------------------------------------ -# ------------------------------------ - Supg_Option_Tracers = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', -# ------------------------------------ - into = ['No upwinding', 'Classical SUPG','Modified SUPG']), - -# ------------------------------------ - Upwind_Coefficients_Of_K_And_Epsilon = SIMP(statut = 'o',typ = 'R', defaut = 1.) -# ------------------------------------ - ),# fin b_upwind_k - ),# fin b_k - -# ------------------------------------ - Advection_Of_Tracers = SIMP(statut = 'o',typ = bool, defaut = True, -# ------------------------------------ - fr = 'Prise en compte ou non de la convection de Tracer.', - ang = 'The advection of Tracer is taken into account or ignored.'), - -# ------------------------------------ - b_tracers = BLOC( condition = "Advection_Of_Tracers == True", -# ------------------------------------ -# ------------------------------------ - Type_Of_Advection_Tracers = SIMP(statut = 'o',typ = 'TXM',position = "global", -# ------------------------------------ - into = ["Characteristics", "SUPG", "Conservative N-scheme", 'Conservative N-scheme',\ - 'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\ - 'Edge-based N-scheme'],), -# ------------------------------------ - b_upwind_Tracers = BLOC(condition = "Type_Of_Advection_Tracers == 'SUPG'", -# ------------------------------------ -# ------------------------------------ - Supg_Option_K_And_Epsilon = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', -# ------------------------------------ - into = ['No upwinding', 'Classical SUPG','Modified SUPG']), - -# ------------------------------------ - Upwind_Coefficients_Of_Tracers = SIMP(statut = 'o',typ = 'R', defaut = 1.) -# ------------------------------------ - ), # fin b_upwind_Tracers - ), # fin b_Tracers - -# ------------------------------------ - b_max = BLOC( condition = "(Advection_Of_Tracers == True and Type_Of_Advection_Tracers == 'Edge-based N-scheme') or (Advection_Of_K_And_Epsilon == True and Type_Of_Advection_K_And_Epsilon == 'Edge-based N-scheme') or (Advection_Of_U_And_V == True and Type_Of_Advection_U_And_V == 'Edge-based N-scheme') or ( Advection_Of_H == True and Type_Of_Advection_H == 'Edge-based N-scheme')", -# ------------------------------------ -# ------------------------------------ - Maximum_Number_Of_Iterations_For_Advection_Schemes = SIMP( statut = 'o',typ = 'I', defaut = 10 , -# ------------------------------------ - fr = 'Seulement pour schemes Edge-based N-scheme', - ang = 'Only for Edge-based N-scheme',), - ), # fin b_max - -# ------------------------------------ - b_traitement = BLOC( condition = "(Advection_Of_Tracers == True and Type_Of_Advection_Tracers in ['Edge-based N-scheme','SUPG','Conservative N-scheme','Conservative PSI-scheme']) or (Advection_Of_K_And_Epsilon == True and Type_Of_Advection_K_And_Epsilon in ['Edge-based N-scheme','SUPG','Conservative N-scheme','Conservative PSI-scheme']) or (Advection_Of_U_And_V == True and Type_Of_Advection_U_And_V in ['Edge-based N-scheme','SUPG','Conservative N-scheme','Conservative PSI-scheme']) or ( Advection_Of_H == True and Type_Of_Advection_H in ['Edge-based N-scheme','SUPG','Conservative N-scheme','Conservative PSI-scheme'])", -# ------------------------------------ - -# ------------------------------------ - Treatment_Of_Fluxes_At_The_Boundaries = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ["Priority to prescribed values","Priority to fluxes"], - fr = 'Utilise pour les schemas SUPG, PSI et N, \n\ -si Priorité aux flux, on ne retrouve pas exactement les valeurs imposees des traceurs,mais le flux est correct', - ang = 'Used so far only with the SUPG, PSI and N schemes.\n\ -if Priority to fluxes, Dirichlet prescribed values are not obeyed,but the fluxes are correct',), - - ), # fin b_traitement - ), # Fin Type_Of_Advection - - -#PNPNPN -# recalculer la liste de 4 -# Attention bloc selon le type de convection -# ------------------------------------ -# SUPG = FACT(statut = 'o', -# ------------------------------------ -# ------------------------------------ -# Supg_Option_U_And_V = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', -# ------------------------------------ -# into = ['No upwinding', 'Classical SUPG','Modified SUPG']), -# ------------------------------------ -# Supg_Option_H = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', -# ------------------------------------ -# into = ['No upwinding', 'Classical SUPG','Modified SUPG']), -# ------------------------------------ -# Supg_Option_Tracers = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', -# ------------------------------------ -# into = ['No upwinding', 'Classical SUPG','Modified SUPG']), -# ------------------------------------ -# Supg_Option_K_And_Epsilon = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM', -# ------------------------------------ -# into = ['No upwinding', 'Classical SUPG','Modified SUPG']), -# ), # Fin de SUPG - -# ------------------------------------ - Mass_Lumping_On_H = SIMP(statut = 'o',typ = 'R', defaut = 0, -# ------------------------------------ - fr = 'TELEMAC offre la possibilite d''effectuer du mass-lumping sur H ou U.\n\ -Ceci revient a ramener tout ou partie (suivant la valeur de ce coefficient) des matrices AM1 (h) ou AM2 (U) \n\ -et AM3 (V) sur leur diagonale. Cette technique permet d''accelerer le code dans des proportions tres\n\ -importantes et de le rendre egalement beaucoup plus stable. Cependant les solutions obtenues se trouvent lissees.\n\ -Ce parametre fixe le taux de mass-lumping effectue sur h.', - ang = 'TELEMAC provides an opportunity to carry out mass-lumping either on C,H or on the velocity. \n\ -This is equivalent to bringing the matrices AM1(h) or AM2(U) and AM3(V) wholly or partly, back onto their diagonal.\n\ -Thanks to that technique, the code can be speeded up to a quite significant extent and it can also be made much \n\ -more stable. The resulting solutions, however, become artificially smoothed. \n\ -This parameter sets the extent of mass-lumping that is performed on h.'), - -# ------------------------------------ - Mass_Lumping_On_Velocity = SIMP(statut = 'o', typ = 'R', defaut = 0, -# ------------------------------------ - fr = 'Fixe le taux de mass-lumping effectue sur la vitesse.', - ang = 'Sets the amount of mass-lumping that is performed on the velocity.'), - -# ------------------------------------ - Mass_Lumping_For_Weak_Characteristics = SIMP(statut = 'o',typ = 'R',defaut = 0, -# ------------------------------------ - fr = 'Applique a la matrice de masse', - ang = 'To be applied to the mass matrix',), -# ------------------------------------ - Free_Surface_Gradient_Compatibility = SIMP(statut = 'o',typ = 'R',defaut = 1., -# ------------------------------------ - fr = 'Des valeurs inferieures a 1 suppriment les oscillations parasites', - ang = 'Values less than 1 suppress spurious oscillations'), - -# ------------------------------------ - Number_Of_Sub_Iterations_For_Non_Linearities = SIMP(statut = 'o',typ = 'I', -# ------------------------------------ - defaut = 1, - fr = 'Permet de reactualiser, pour un meme pas de temps, les champs convecteur et propagateur \n\ -au cours de plusieurs sous-iterations.\n\ -A la premiere sous-iteration, ces champs sont donnes par C et le champ de vitesses au pas de temps precedent.\n\ -Aux iterations suivantes, ils sont pris egaux au champ de vitesse obtenu a la fin de la sous-iteration precedente. \n\ -Cette technique permet d''ameliorer la prise en compte des non linearites.', - ang = 'Used for updating, within one time step, the advection and propagation field.\n\ -upon the first sub-iteration, \n\ -these fields are given by C and the velocity field in the previous time step. At subsequent iterations, \n\ -the results of the previous sub-iteration is used to update the advection and propagation field.\n\ -The non-linearities can be taken into account through this technique.',), - - - ), # fin Advection - -#PNPNPN Il faut recalculer le MCSIMP Propagation -# ------------------------------------ - Propagation = FACT(statut = 'o', -# ------------------------------------ -# ------------------------------------ - Initial_Guess_For_H = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ['Zero', 'Previous', 'Extrapolation'], - defaut = 'Previous', - fr = 'Tir initial du solveur de l etape de propagation. Offre la possibilite de modifier la valeur initiale de DH,\n\ -accroissement de H, a chaque iteration, dans l etape de propagation en utilisant les valeurs finales de cette variable \n\ -aux pas de temps precedents. Ceci peut permettre daccelerer la vitesse de convergence lors de la resolution du systeme.', - ang = 'Initial guess for the solver in the propagation step. Makes it possible to modify the initial value of H, \n\ -upon each iteration in the propagation step, by using the ultimate values this variable had in the earlier time steps.\n\ -Thus, the convergence can be speeded up when the system is being solved.',), - - -# ------------------------------------ - Linearized_Propagation = SIMP(statut = 'o',typ = bool,defaut = False, -# ------------------------------------ - fr = 'Permet de lineariser l''etape de propagation; \n\ -par exemple lors de la realisation de cas tests pour lesquels on dispose d une solution analytique dans le cas linearise.', - ang = 'Provided for linearizing the propagation step; \n\ -e.g. when performing test-cases for which an analytical solution in the linearized case is available.' ), - -# ------------------------------------ - b_linear = BLOC(condition = "Linearized_Propagation == True ", -# ------------------------------------ -# ------------------------------------ - Mean_Depth_For_Linearization = SIMP(statut = 'o',typ = 'R', defaut = 0.0, val_min = 0, -# ------------------------------------ - fr = 'Fixe la hauteur d eau autour de laquelle s effectue la linearisation lorsque l option PROPAGATION LINEARISEE est choisie.', - ang = 'Sets the water depth about which the linearization is made when the LINEARIZED PROPAGATION OPTION is selected.'), - -# ------------------------------------ - Initial_Guess_For_U = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ['Zero', 'Previous', 'Extrapolation'], - defaut = 'Previous', - fr = 'Tir initial du solveur de l etape de propagation. Offre la possibilite de modifier la valeur initiale de DH,\n\ -accroissement de U, a chaque iteration, dans l etape de propagation en utilisant les valeurs finales de cette variable \n\ -aux pas de temps precedents. Ceci peut permettre daccelerer la vitesse de convergence lors de la resolution du systeme.', - ang = 'Initial guess for the solver in the propagation step. Makes it possible to modify the initial value of U, \n\ -upon each iteration in the propagation step, by using the ultimate values this variable had in the earlier time steps.\n\ -Thus, the convergence can be speeded up when the system is being solved.',), - - ), # fin b_linear - - ), # fin Propagation - - -# ------------------------------------ - Diffusion = FACT(statut = 'o', -# ------------------------------------ - -# ------------------------------------ - Diffusion_Of_Velocity = SIMP( statut='o',typ=bool, -# ------------------------------------ - defaut=False , - fr = 'Permet de decider si lon prend ou non en compte la diffusion des vitesses.', - ang= 'Makes it possible to decide whether the diffusion of velocity (i.e. viscosity) is taken into account or not.', - ), -# ------------------------------------ - b_Diffu = BLOC(condition = 'Diffusion_Of_Velocity == True', -# ------------------------------------ -# ------------------------------------ - Implicitation_For_Diffusion_Of_Velocity = SIMP(statut = 'o',typ = 'R',defaut = 0, -# ------------------------------------ - fr = 'Fixe la valeur du coefficient d''implicitation sur les termes de diffusion des vitesses', - ang = 'Sets the value of the implicitation coefficient for the diffusion of velocity',), - -# ------------------------------------ - Option_For_The_Diffusion_Of_Velocities = SIMP( statut='o',typ='TXM', -# ------------------------------------ - defaut=1 , - into=['Diffusion in the form div( nu grad(U))','Diffusion in the form 1/h div ( h nu grad(U) )'], - fr = '1: Diffusion de la forme div( nu grad(U) ) 2: Diffusion de la forme 1/h div ( h nu grad(U) )', - ang= '1: Diffusion in the form div( nu grad(U) ) 2: Diffusion in the form 1/h div ( h nu grad(U) )',), - - ), # fin b_Diffu - ), # fin Diffusion -# ------------------------------------ - Discretization_Implicitation = FACT(statut = 'f', -# ------------------------------------ - -# ------------------------------------ - Discretizations_In_Space = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ["Linear", "Quasi-bubble", "Quadratic"], - defaut = "Linear",), - -# ------------------------------------ - Implicitation_For_Depth = SIMP(statut = 'o',typ = 'R',defaut = 0.55, -# ------------------------------------ - fr = 'Fixe la valeur du coefficient d''implicitation sur C dans l''etape de propagation (cf. Note de principe).\n\ -Les valeurs inferieures a 0.5 donnent un schema instable.', - ang = 'Sets the value of the implicitation coefficient for C (the celerity of waves) in the propagation step (refer to principle note).\n\ -Values below 0.5 result in an unstable scheme.'), - -# ------------------------------------ - Implicitation_For_Velocity = SIMP(statut = 'o',typ = 'R',defaut = 0.55, -# ------------------------------------ - fr = 'Fixe la valeur du coefficient d''implicitation sur la vitesse dans l''etape de propagation (cf. Note de principe).\n\ -Les valeurs inferieures a 0.5 donnent un schema instable.', - ang = 'Sets the value of the implicitation coefficient for velocity in the propagation step (refer to principle note).\n\ -Values below 0.5 result in an unstable condition.'), - - ), # fin Discretization_Implicitation - - -# ------------------------------------ - Tidal=FACT(statut='f', -# ------------------------------------ - Tidal_Flats = SIMP(statut = 'o',typ = bool,defaut = True, -# ------------------------------------ - fr = 'permet de supprimer les tests sur les bancs decouvrants si on est certain qu''il n''y en aura pas, En cas de doute : oui', - ang = 'When no,the specific treatments for tidal flats are by-passed. This spares time, but of course you must be sure that you have no tidal flats'), - -# ------------------------------------ - b_tidal_flats = BLOC(condition = 'Tidal_Flats == True', -# ------------------------------------ -# ------------------------------------ - Option_For_The_Treatment_Of_Tidal_Flats = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ["Equations solved everywhere with correction on tidal flats", "Dry elements frozen", "1 but with porosity (defina method)",], - defaut="Equations solved everywhere with correction on tidal flats",), - -# ------------------------------------ - b_option_tidal_flats = BLOC(condition = 'Option_For_The_Treatment_Of_Tidal_Flats == "Equations solved everywhere with correction on tidal flats"', -# ------------------------------------ -# ------------------------------------ - Treatment_Of_Negative_Depths = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - into = [ 'No treatment', 'Smoothing', 'Flux control'], - defaut = 'Smoothing' ,), - ), # fin bloc b_option_tidal_flats - -# ------------------------------------ - Threshold_For_Negative_Depths = SIMP( statut = 'o',typ = 'R', defaut = 0.0 , -# ------------------------------------ - fr = 'En dessous du seuil, les hauteurs negatives sont lissees', - ang = 'Below the threshold the negative depths are smoothed',), - -# ------------------------------------ - Threshold_Depth_For_Receding_Procedure = SIMP(statut = 'o',typ = 'R',defaut = 0 , -# ------------------------------------ - fr = 'Si > 0., declenche la procedure de ressuyage qui evite le franchissement parasite des digues mal discretisees', - ang = 'If > 0., will trigger the receding procedure that avoids overwhelming of dykes which are too loosely discretised ',), - - -# ------------------------------------ - H_Clipping = SIMP(statut = 'o',typ = bool,defaut = False, -# ------------------------------------ - fr = 'Determine si on desire ou non limiter par valeur inferieure la hauteur d eau H (dans le cas des bancs decouvrants par exemple).', - ang = 'Determines whether limiting the water depth H by a lower value desirable or not. (for instance in the case of tidal flats)\n\ -This key-word may have an influence on mass conservation since the truncation of depth is equivalent to adding mass.',), - -# ------------------------------------ - b_clipping = BLOC(condition = 'H_Clipping == True', -# ------------------------------------ -# ------------------------------------ - Minimum_Value_Of_Depth = SIMP( statut = 'o',typ = 'R', defaut = 0.0 , -# ------------------------------------ - fr = 'Fixe la valeur minimale de a lorsque loption CLIPPING DE H est activee.', - ang = 'Sets the minimum H value when option H CLIPPING is implemented. Not fully implemented.',), - ), # fin b_clipping - ), # fin bloc b_tidal_flats - ), # fin bloc tidal - -# ------------------------------------ - Various = FACT( -# ------------------------------------ - -# ------------------------------------ - Newmark_Time_Integration_Coefficient = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - defaut = "Euler explicite", - into = ["Euler explicite","Order 2 in time"],), - -# ------------------------------------ - Option_For_Characteristics = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - defaut = "Strong" , - into = ['Strong','Weak',],), - - ),# fin Various - - -)# fin NUMERICAL_PARAMETERS - -# ----------------------------------------------------------------------- -PHYSICAL_PARAMETERS = PROC(nom = "PHYSICAL_PARAMETERS",op = None, -# ----------------------------------------------------------------------- - UIinfo = { "groupes" : ( "CACHE", )}, -# ------------------------------------ - Friction_Setting = FACT(statut = 'o', -# ------------------------------------ -# ------------------------------------ - Friction_Data_File = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', ';;All Files (*)'), - fr = 'fichier de donnees pour le frottement', - ang = 'friction data file',), - -# ------------------------------------ - Depth_In_Friction_Terms = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - defaut = "Nodal" , - into = ("Nodal", "Average"),), - -# ------------------------------------ - Law_Of_Bottom_Friction = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - defaut = 'No friction' , - into = ('No friction', 'Haaland', 'Chezy', 'Strickler', 'Manning', 'Nikuradse','Log law','Colebrooke_white'), - fr = 'selectionne le type de formulation utilisee pour le calcul du frottement sur le fond.', - ang = 'Selects the type of formulation used for the bottom friction.',), - -# ------------------------------------ - b_Law_Friction = BLOC(condition = "Law_Of_Bottom_Friction!= 'No friction'", -# ------------------------------------ -# ------------------------------------ - Friction_Coefficient = SIMP( statut = 'o',typ = 'R', -# ------------------------------------ - defaut = 50.0 , - fr = 'Fixe la valeur du coefficient de frottement pour la formulation choisie. \ -Attention, la signification de ce chiffre varie suivant la formule choisie : \ -1 : coefficient lineaire 2 : coefficient de Chezy 3 : coefficient de Strickler \ -4 : coefficient de Manning 5 : hauteur de rugosite de Nikuradse', - ang = 'Sets the value of the friction coefficient for the selected formulation. \ -It is noteworthy that the meaning of this figure changes according to the selected formula (Chezy, Strickler, etc.) : \ -1 : linear coefficient 2 : Chezy coefficient 3 : Strickler coefficient 4 : Manning coefficient 5 : Nikuradse grain size',), - ), # Fin b_Law_Friction - -# ------------------------------------ - b_Colebrooke_White = BLOC(condition = "Law_Of_Bottom_Friction == 'Colebrooke_white'", -# ------------------------------------ -# ------------------------------------ - Manning_Default_Value_For_Colebrook_White_Law = SIMP( statut = 'o',typ = 'R', -# ------------------------------------ - defaut = 0.02 , - fr = 'valeur par defaut du manning pour la loi de frottement de Colebrook-White ', - ang = 'Manning default value for the friction law of Colebrook-White ',), - ), # Fin b_Colebrooke_White - -# ------------------------------------ - Non_Submerged_Vegetation_Friction = SIMP( statut = 'o',typ = bool, -# ------------------------------------ - defaut = False , - fr = 'calcul du frottement du a la vegetation non submergee', - ang = 'friction calculation of the non-submerged vegetation',), - -# ------------------------------------ - b_Non_Sub = BLOC(condition = ' Non_submerged_Vegetation_Friction == True', -# ------------------------------------ -# ------------------------------------ - Diameter_Of_Roughness_Elements = SIMP( statut = 'o',typ = 'R', -# ------------------------------------ - defaut = 0.006 , - fr = 'diametre des elements de frottements', - ang = 'diameter of roughness element',), - -# ------------------------------------ - Spacing_Of_Roughness_Elements = SIMP( statut = 'o',typ = 'R', -# ------------------------------------ - defaut = 0.14 , - fr = 'espacement des elements de frottement', - ang = 'spacing of rouhness element',), - ), # Fin b_Non_Sub - -# ------------------------------------ - Law_Of_Friction_On_Lateral_Boundaries = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - defaut = "No friction" , - into = ("No friction", "Haaland", "Chezy", "Strickler", "Manning", "Nikuradse", "Log law", "Colebrook-white"), - fr = 'selectionne le type de formulation utilisee pour le calcul du frottement sur les parois laterales.', - ang = 'Selects the type of formulation used for the friction on lateral boundaries.',), - - -# ------------------------------------ - b_Fric = BLOC(condition = 'Law_Of_Friction_On_Lateral_Boundaries != "No friction"', -# ------------------------------------ - -# PNPNPN soizic ?Ne faut-il pas un bloc sur Law_Of_Friction_On_Lateral_Boundaries -# ------------------------------------ - Roughness_Coefficient_Of_Boundaries = SIMP( statut = 'o',typ = 'R', -# ------------------------------------ - defaut = 100.0 , - fr = 'Fixe la valeur du coefficient de frottement sur les frontieres solides avec un regime turbulent rugueux\n\ - sur les bords du domaine. meme convention que pour le coefficient de frottement', - ang = 'Sets the value of the friction coefficient of the solid boundary with the bed roughness option. Same meaning than friction coefficient',), - -# ------------------------------------ - Maximum_Number_Of_Friction_Domains = SIMP( statut = 'o',typ = 'I', -# ------------------------------------ - defaut = 10 , - fr = 'nombre maximal de zones pouvant etre definies pour le frottement. Peut etre augmente si necessaire', - ang = 'maximal number of zones defined for the friction. Could be increased if needed',), - ), - -# ------------------------------------ - Definition_Of_Zones = SIMP(typ = bool, statut = 'o', defaut = False, -# ------------------------------------ - fr = 'Declenche l''appel a def_zones, pour donner un numero de zone a chaque point', - ang = 'Triggers the call to def_zones to give a zone number to every point',), - -# ------------------------------------ - b_def_zone = BLOC (condition = 'Definition_Of_Zones == True', -# ------------------------------------ -# ------------------------------------ - Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", defaut = "complete DEF_ZONES subroutine"), -# ------------------------------------ - ), # fin b_def_zone - - ), # Fin du bloc Friction -# ------------------------------------ - Meteorology = FACT(statut = 'f', -# ------------------------------------ - -# ------------------------------------ - Wind = SIMP(statut = 'o',typ = bool,defaut = False, -# ------------------------------------ - fr = 'Prise en compte ou non des effets du vent.', - ang = 'Determines whether the wind effects are to be taken into account or not.'), - -# ------------------------------------ - b_Wind = BLOC(condition = "Wind == True", -# ------------------------------------ -# ------------------------------------ - Wind_Velocity_Along_X = SIMP(statut = 'o',typ = 'R', defaut = 0., -# ------------------------------------ - fr = 'Composante de la vitesse du vent suivant l''axe des x (m/s).', - ang = 'Wind velocity, component along x axis (m/s).',), - -# ------------------------------------ - Wind_Velocity_Along_Y = SIMP(statut = 'o',typ = 'R',defaut = 0., -# ------------------------------------ - fr = 'Composante de la vitesse du vent suivant l''axe des y (m/s).', - ang = 'Wind velocity, component along y axis (m/s).',), - -# ------------------------------------ - Threshold_Depth_For_Wind = SIMP(statut = 'o',typ = 'R',defaut = 0., -# ------------------------------------ - fr = 'Retire la force due au vent dans les petites profondeurs', - ang = 'Wind is not taken into account for small depths' ), - -# ------------------------------------ - Coefficient_Of_Wind_Influence = SIMP( statut = 'o',typ = 'R', defaut = 0.0 , -# ------------------------------------ - fr = 'Fixe la valeur du coefficient d entrainement du vent (cf. Note de principe).', - ang = 'Sets the value of the wind driving coefficient. Refer to principle note.',), - -# ------------------------------------ - Option_For_Wind = SIMP( statut = 'o',typ = 'TXM', defaut = 0 , -# ------------------------------------ - into = ["No wind","Constant in time and space","Variable in time","Variable in time and space"], - fr = 'donne les options pour introduire le vent', - ang = 'gives option for managing the wind'), - -# ------------------------------------ - file_For_wind = BLOC (condition = 'Option_For_Wind == "Variable in time" or Option_For_Wind == "Variable in time and space"', -# ------------------------------------ -# ------------------------------------ - Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", -# ------------------------------------ - defaut = "give formated file 3"), - ), # fin bloc file_For_wind - -# ------------------------------------ - speed_For_wind = BLOC (condition = 'Option_For_Wind == "Constant in time and space"', -# ------------------------------------ -# ------------------------------------ - Speed_And_Direction_Of_Wind = SIMP( statut = 'o', defaut = (0.0, 0.0) , -# ------------------------------------ - typ = Tuple(2),validators = VerifTypeTuple(('R','R')), - fr = 'Donne la vitesse et la direction (en degres de 0 a 360, 0 etant y = 0 et x = +inf) du vent', - ang = 'gives the speed and direction (degre (from 0 to 360), 0 given y = 0 anx x = +infinity)',), - ), # speed_For_wind - - ), # fin b_Wind - -# ------------------------------------ - Air_Pressure = SIMP(statut = 'o',typ = bool, defaut = False, -# ------------------------------------ - fr = 'Permet de decider si l''on prend ou non en compte l''influence d''un champ de pression.', - ang = 'Provided to decide whether the influence of an atmosphere field is taken into account or not.'), - -# ------------------------------------ - b_air = BLOC(condition = "Air_Pressure == True", -# ------------------------------------ -# ------------------------------------ - Value_Of_Atmospheric_Pressure = SIMP( statut = 'o',typ = 'R', -# ------------------------------------ - defaut = 100000.0 , - fr = 'donne la valeur de la pression atmospherique lorsquelle est constante en temps et en espace', - ang = 'gives the value of atmospheric pressure when it is contant in time and space',), - ), # fin b_air - -# ------------------------------------ - Rain_Or_Evaporation = SIMP(statut = 'o',typ = bool, -# ------------------------------------ - defaut = False, - fr = 'Pour ajouter un apport ou une perte d''eau en surface.', - ang = 'to add or remove water at the free surface. ',), - -# ----------------------------------- - b_Rain = BLOC(condition = "Rain_Or_Evaporation == True", -# ------------------------------------ -# ------------------------------------ - Rain_Or_Evaporation_In_Mm_Per_Day = SIMP(statut = 'o',typ = 'I',defaut = 0.), -# ------------------------------------ - ), # fin b_Rain - - ), # fin Meteorology - -# ------------------------------------ - Wave = FACT(statut = 'f', -# ------------------------------------ - -# ------------------------------------ - Wave_Driven_Currents = SIMP(statut = 'o', -# ------------------------------------ - typ = bool, defaut = False, - fr = 'Active la prise en compte des courants de houle', - ang = 'Wave driven currents are taken into account.'), - -# ------------------------------------ - b_Wave = BLOC(condition = "Wave_Driven_Currents == True", -# ------------------------------------ -# ------------------------------------ - Record_Number_In_Wave_File = SIMP(statut = 'o',typ = 'I', defaut = 1, -# ------------------------------------ - fr = 'Numero d enregistrement dans le fichier des courants de houle', - ang = 'Record number to read in the wave driven currents file'), - ), # fin b_Wave - ), # fin Wave - - - -# ------------------------------------ - Parameters_Estimation = FACT(statut = 'f', -# ------------------------------------ -# ------------------------------------ - Parameter_Estimation = SIMP( statut = 'o',typ = 'TXM', into = ["Friction","Frottement","Steady"], -# ------------------------------------ - fr = 'Liste des parametres a estimer', - ang = 'List of parameter to be estimated',), - -# ------------------------------------ - Identification_Method = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ["List of tests", "Gradient simple", "Conj gradient", "Lagrange interp."], - defaut = 'GRadient simple',), - -# ------------------------------------ - Maximum_Number_Of_Iterations_For_Identification = SIMP(statut = 'o',typ = 'I',defaut = 20, -# ------------------------------------ - fr = 'chaque iteration comprend au moins un calcul direct et un calcul adjoint', - ang = 'every iteration implies at least a direct and an adjoint computation', ), - -# ------------------------------------ - Cost_Function = SIMP(statut = "f",typ = 'TXM', -# ------------------------------------ - defaut = 'Computed with h, u , v', - into = ['Computed with h, u , v', 'Computed with c, u , v'],), - -# ------------------------------------ - Tolerances_For_Identification = FACT( statut = 'o', -# ------------------------------------ -# PNPNPN recalculer en liste de 4 reels -# ------------------------------------ - Tolerance_For_H = SIMP( statut = 'o',typ = 'R', defaut=1.E-3, -# ------------------------------------ - fr = "precision absolue sur H", - ang = "absolute precision on H",), -# ------------------------------------ - Tolerance_For_U = SIMP( statut = 'o',typ = 'R', defaut=1.E-3, -# ------------------------------------ - fr = "precision absolue sur U", - ang = "absolute precision on U",), -# ------------------------------------ - Tolerance_For_V = SIMP( statut = 'o',typ = 'R', defaut=1.E-3, -# ------------------------------------ - fr = "precision absolue sur V", - ang = "absolute precision on V",), -# ------------------------------------ - Tolerance_For_cout = SIMP( statut = 'o',typ = 'R', defaut=1.E-4, -# ------------------------------------ - fr = "precision relative sur la fonction cout", - ang = "relative precision on the cost function",), - ),# fin Tolerances_For_Identification - - ), # fin fact Parameters_Estimation - -# ------------------------------------ - Sources = FACT( statut = 'f', -# ------------------------------------ -# ------------------------------------ - Number_Of_Sources = SIMP( statut = 'o',typ = 'I', defaut = 0 ,), -# ------------------------------------ -# Attention a la sortie a reformatter. voir page 68 du user manuel V7 - -# ------------------------------------ - sources_exists = BLOC(condition = "Number_Of_Sources!= 0", -# ------------------------------------ - -# ------------------------------------ - Sources_File = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', 'All Files (*)',), - fr = 'Nom du fichier contenant les informations variables en temps des sources', - ang = 'Name of the file containing time-dependent information on sources',), - -#PNPNPNPN saisir autant de source que le nombre -# ------------------------------------ - Source = FACT(statut = 'o', -# ------------------------------------ - max = "**", -# ------------------------------------ - Abscissae_Of_Sources = SIMP( statut = 'o', -# ------------------------------------ - typ = Tuple(2),validators = VerifTypeTuple(('R','R')), - fr = 'Valeurs des abscisses des sources de debit et de traceur.', - ang = 'abscissae of sources of flowrate and/or tracer',), - -# ------------------------------------ - Ordinates_Of_Sources = SIMP( statut = 'o', -# ------------------------------------ - typ = Tuple(2),validators = VerifTypeTuple(('R','R')), - fr = 'Valeurs des ordonnees des sources de debit et de traceur.', - ang = 'ordinates of sources of flowrate and/or tracer',), - -# ------------------------------------ - Water_Discharge_Of_Sources = SIMP( statut = 'o', -# ------------------------------------ - typ = Tuple(2),validators = VerifTypeTuple(('R','R')), - fr = 'Valeurs des debits des sources.', - ang = 'values of water discharge of sources',), - -# ------------------------------------ - Velocities_Of_The_Sources_Along_X = SIMP( statut = 'f', -# ------------------------------------ - typ = Tuple(2),validators = VerifTypeTuple(('R','R')), - fr = 'Vitesses du courant a chacune des sources. Si elles ne sont pas donnees, on considere que la vitesse est celle du courant', - ang = 'Velocities at the sources. If they are not given, the velocity of the flow at this location is taken',), - -# ------------------------------------ - Velocities_Of_The_Sources_Along_Y = SIMP( statut = 'f', -# ------------------------------------ - typ = Tuple(2),validators = VerifTypeTuple(('R','R')), - fr = 'Vitesses du courant a chacune des sources', - ang = 'Velocities at the sources',), - - ), # Fin du Fact Source - -# ------------------------------------ - Type_Of_Sources = SIMP(statut = 'o',typ = 'TXM',into = ["Normal","Dirac"], -# ------------------------------------ - fr = 'Source portee par une base elements finis Source portee par une fonction de Dirac', - ang = 'Source term multiplied by a finite element basis, Source term multiplied by a Dirac function',), - - ),#fin bloc source - exits - ),#fin MC source - exits - - -# ------------------------------------ - Coriolis_Settings = FACT(statut = 'f', -# ------------------------------------ -# ------------------------------------ - Coriolis = SIMP( statut='o',typ=bool, -# ------------------------------------ - defaut=False , - fr = 'Prise en compte ou non de la force de Coriolis.', - ang= 'The Coriolis force is taken into account or ignored.',), - -# ------------------------------------------------------- - Coriolis_Coefficient = SIMP( statut='o',typ='R', -# ------------------------------------------------------- - defaut=0.0 , - fr = 'Fixe la valeur du coefficient de la force de Coriolis. Celui-ci doit etre calcule en fonction de la latitude l \n\ -par la formule FCOR = 2w sin(l) , w etant la vitesse de rotation de la terre. w = 7.27 10-5 rad/s \n\ -Les composantes de la force de Coriolis sont alors : FU = FCOR x V FV = - FCOR x U', - ang= 'Sets the value of the Coriolis force coefficient, in cartesian coordinates. This coefficient,\n\ -denoted FCOR in the code, should be equal to 2 w sin(l)d where w denotes the earth angular speed of rotation and l the latitude. \n\ -w = 7.27 10-5 rad/sec The Coriolis force components are then: FU = FCOR x V, FV = -FCOR x U In spherical coordinates, the latitudes are known',), - ), #fin Coriolis_Settings - - - -# ------------------------------------ - Various = FACT( statut = 'f', -# ------------------------------------ -# ------------------------------------ - Water_Density = SIMP(statut = 'o',typ = 'R',defaut = 1000., -# ------------------------------------ - fr = 'Fixe la valeur de la masse volumique de l eau.', - ang = 'set the value of water density', - ), - -# ------------------------------------ - Gravity_Acceleration = SIMP(statut = 'o',typ = 'R',defaut = 9.81, -# ------------------------------------ - fr = 'Fixe la valeur de l acceleration de la pesanteur.', - ang = 'Set the value of the acceleration due to gravity.', - ), - -# ------------------------------------ - Vertical_Structures = SIMP(statut = 'o',typ = bool,defaut = False, -# ------------------------------------ - fr = 'Prise en compte de la force de trainee de structures verticales', - ang = 'drag forces from vertical structures are taken into account',), - -# ------------------------------------ - maskob = BLOC (condition = 'Vertical_Structures == True', -# ------------------------------------ -# ------------------------------------ - Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", -# ------------------------------------ - defaut = "subroutine DRAGFO must then be implemented"), - ), # fin maskob - ), - -# ----------------------------------------------------------------------- - Secondary_Currents_Settings = FACT( statut='f', -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Secondary_Currents = SIMP( statut='o',typ=bool, -# ----------------------------------------------------------------------- - defaut=False , - fr = 'Pour prendre en compte les courants secondaires', - ang= 'Using the parametrisation for secondary currents', - ), - -# ----------------------------------------------------------------------- - b_currents_exists = BLOC(condition = "Secondary_Currents == True", -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Production_Coefficient_For_Secondary_Currents = SIMP( statut='o',typ='R', -# ----------------------------------------------------------------------- - defaut=7.071 , - fr = 'Une constante dans les termes de creation de Omega', - ang= 'A constant in the production terms of Omega',), - -# ----------------------------------------------------------------------- - Dissipation_Coefficient_For_Secondary_Currents = SIMP( statut='o',typ='R', -# ----------------------------------------------------------------------- - defaut=0.5 , - fr = 'Coefficient de dissipation de Omega', - ang= 'Coefficient of dissipation term of Omega',), - - ), # fin b_currents_exists - ), # fin Secondary_Currents_Settings - -# ------------------------------------ - Tsunami = FACT(statut = 'f', -# ------------------------------------ -# ------------------------------------------------------- - Option_For_Tsunami_Generation = SIMP( statut='o',typ='I', defaut=0 , -# ------------------------------------------------------- - fr = '', - ang= '',), - -# ------------------------------------------------------- - Physical_Characteristics_Of_The_Tsunami = SIMP( statut='o',typ='R', -# ------------------------------------------------------- - min=10,max=10, - defaut=(100.0, 210000.0, 75000.0, 13.6, 81.0, 41.0, 110.0, 0.0, 0.0, 3.0) , - fr = '', - ang= '',), - ), #fin Tsunami - -)# fin PHYSICAL_PARAMETERS - -# ----------------------------------------------------------------------- -OUTPUT_FILES = PROC(nom = "OUTPUT_FILES",op = None, -# ----------------------------------------------------------------------- - -# ------------------------------------ - Graphic_And_Listing_Printouts = FACT(statut = 'f', -# ------------------------------------ -# ------------------------------------ - Variables_For_Graphic_Printouts = SIMP(statut = 'o',max = "**", typ = 'TXM', -# ------------------------------------ - into=[ "Velocity along X axis (m/s)", "Velocity along Y axis (m/s)", "Wave celerity (m/s)", "Water depth (m)", - "Free surface elevation (m)", "Bottom elevation (m)", "Froude number ", "Scalar flowrate of fluid (m2/s)", - "Tracer 1 etc. ", "Turbulent kinetic energy in K-Epsilon model (J/kg)", "Dissipation of turbulent energy (W/kg)", - "Turbulent viscosity of K-Epsilon model (m2/s)", "Flowrate along X axis (m2/s)", "Flowrate along Y axis (m2/s)", - "Scalar velocity (m/s)", "Wind along X axis (m/s)", "Wind along Y axis (m/s)", "Air pressure (Pa)", - "Friction coefficient", "Drift along X (m)", "Drift along Y (m)", "Courant number ", "Supplementary variable N ", - "Supplementary variable O ", "Supplementary variable R ", "Supplementary variable Z ", "Maximum elevation", - "Time of maximum elevation ", "Maximum velocity", "Time of maximum velocity", "Friction velocity "], - ), - #homo="SansOrdreNiDoublon"), - -# ------------------------------------ - Graphic_Printout_Period = SIMP(statut = 'o', typ = 'I',defaut = 1, -# ------------------------------------ - fr = 'Determine la periode en nombre de pas de temps d''impression des VARIABLES POUR LES SORTIES GRAPHIQUES \n\ - dans le FICHIER DES RESULTATS.', - ang = 'Determines, in number of time steps, the printout period for the VARIABLES FOR GRAPHIC PRINTOUTS in the RESULTS FILE.' ,), - -# ------------------------------------ - Number_Of_First_Time_Step_For_Graphic_Printouts = SIMP(statut = 'o', typ = 'I',defaut = 1, -# ------------------------------------ - fr = 'Determine le nombre de pas de temps a partir duquel debute l''ecriture des resultats dans le listing.', - ang = 'Determines the number of time steps after which the results are first written into the listing.'), - - -# ------------------------------------ - Results_File = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', 'All Files (*)',), - fr = 'Nom du fichier dans lequel sont ecrits les resultats du calcul avec la periodicite donnee PERIODE POUR LES SORTIES GRAPHIQUES.', - ang = 'Name of the file into which the computation results shall be written, the periodicity being given by GRAPHIC PRINTOUT PERIOD.',), - -# ------------------------------------ - Results_File_Format = SIMP( statut = 'o',typ = 'TXM',into = ['Serafin','MED','SerafinD'], defaut = 'Serafin', -# ------------------------------------ - fr = 'Format du fichier de resultats. Les valeurs possibles sont : \n\ - - SERAFIN : format standard simple precision pour Telemac; \n\ - - SERAFIND: format standard double precision pour Telemac; \n\ - - MED : format MED base sur HDF5' , - ang = 'Results file format. Possible values are:\n \ - - SERAFIN : classical single precision format in Telemac;\n\ - - SERAFIND: classical double precision format in Telemac; \n\ - - MED : MED format based on HDF5' , - ), - -# ------------------------------------ - Listing_Printout_Period = SIMP(statut = 'o', typ = 'I',defaut = 1, -# ------------------------------------ - fr = 'Determine la periode en nombre de pas de temps d''impression des variables', - ang = 'Determines, in number of time steps, the printout period for the variables',), - -# ------------------------------------ - Listing_Printout = SIMP( statut='o',typ=bool, defaut=True , -# ------------------------------------ - fr = 'Sortie des resultats sur support papier. Si on met False, le listing ne contient que lentete et la mention FIN NORMALE DU PROGRAMME : La Valeur False est a eviter', - ang= 'Result printout on hard copy. When NO is selected, the listing only includes the heading and the phrase "NORMAL END OF PROGRAM" In addition, the options MASS BALANCE and VALIDATION are inhibited. Value False Not recommended for use.', - ), - -# ------------------------------------ - Variables_To_Be_Printed = SIMP(statut = 'o',max = "**", typ = 'TXM', -# ------------------------------------ - into = [ "Velocity along X axis (m/s)", "Velocity along Y axis (m/s)", "Wave celerity (m/s)", "Water depth (m)", - "Free surface elevation (m)", "Bottom elevation (m)", "Froude number", "Scalar flowrate of fluid (m2/s)", - "Tracer", "Turbulent kinetic energy in K-Epsilon model (J/kg)", "Dissipation of turbulent energy (W/kg)", - "Turbulent viscosity of K-Epsilon model (m2/s)", "Flowrate along x axis (m2/s)", "Flowrate along y axis (m2/s)", - "Scalar velocity (m/s)", "Wind along x axis (m/s)", "Wind along y axis (m/s)", "Air pressure (Pa)", - "Friction coefficient", "Drift along x (m)", "Drift along y (m)", "Courant number", - "Supplementary variable N", "Supplementary variable O", "Supplementary variable R", "Supplementary variable Z"] -,homo="SansOrdreNiDoublon"), - - ),# fin Listing_Graphic_Printouts - -# ------------------------------------ - Formatted_Results_File = SIMP( statut = 'f', -# ------------------------------------ - typ = ('Fichier','All Files (*)',), - fr = 'Fichier de resultats formate mis a la disposition de l utilisateur. \ -Les resultats a placer dans ce fichier seront a ecrire sur le canal 29.', - ang = 'Formatted file of results made available to the user. \ -The results to be entered into this file shall be written on channel 29.',), - - -# ------------------------------------ - Binary_Results_File = SIMP( statut = 'f', -# ------------------------------------ - typ = ('Fichier', ';;All Files (*)',), - fr = "Fichier de resultats code en binaire mis a la disposition de l'utilisateur.\n\ -Les resultats a placer dans ce fichier seront a ecrire sur le canal 28.", - ang = "Additional binary-coded result file made available to the user. \n\ -The results to be entered into this file shall be written on channel 28.",), - - -# ------------------------------------ - Output_Of_Initial_Conditions = SIMP(typ = bool, statut = 'o', -# ------------------------------------ - defaut = True, - fr = 'Si Vrai, impression des conditions initiales dans les resultats', - ang = 'If True, output of initial conditions in the results'), - -# ------------------------------------ - Number_Of_Private_Arrays = SIMP( statut='o',typ='I', -# ------------------------------------ - defaut=0 , - fr = 'Nombre de tableaux mis a disposition de l utilisateur', - ang= 'Number of arrays for own user programming', - ), - - -# ------------------------------------ - Information_About_Solver = SIMP(typ = bool, statut = 'f', -# ------------------------------------ - defaut = False, - fr = "Si vrai, Donne a chaque pas de temps le nombre d'iterations necessaires a la convergence du solveur de l'etape de propagation.", - ang = "if True, prints the number of iterations that have been necessary to get the solution of the linear system.",), - -# ------------------------------------ - Mass_Balance = SIMP( statut='o',typ=bool, -# ------------------------------------ - defaut=False , - fr = 'Determine si l on effectue ou non le bilan de masse sur le domaine. Cette procedure calcule a chaque pas de temps : \n\ -- les flux aux entrees et sorties du domaine, - le flux global a travers lensemble des parois du domaine (liquides ou solides) \n\ -- l erreur relative sur la masse pour ce pas de temps.\n\ -En fin de listing, on trouve l erreur relative sur la masse pour l ensemble du calcul.\n\ -Il ne sagit que dun calcul indicatif car il nexiste pas dexpression compatible du debit en formulation c,u,v.', - - ang= 'Determines whether a check of the mass-balance over the domain is mader or not.\n\ -This procedures computes the following at each time step: the domain inflows and outflows, the overall flow across all the boundaries,\n\ -the relative error in the mass for that time step. The relative error in the mass over the whole computation can be found at the end of the listing.', - ), - -# ------------------------------------ - Controls = FACT( statut='f', -# ------------------------------------ -# ------------------------------------ - Control_Sections = SIMP(statut = 'f',typ = Tuple(2),validators = VerifTypeTuple(('I','I')), -# ------------------------------------ - fr = 'Couples de points (numeros globaux dans le maillage) entre lesquels les debits instantanes et cumules seront donnes.', - ang = 'Couples of points (global numbers in the mesh) defining sections where the instantaneous and cumulated discharges will be given',), - -# ------------------------------------ - Printing_Cumulated_Flowrates = SIMP( statut = 'o',typ = bool, defaut = False , -# ------------------------------------ - fr = 'impression du flux cumule a travers les sections de controle', - ang = 'printing the cumulated flowrates through control sections',), - -# ------------------------------------ - Compatible_Computation_Of_Fluxes = SIMP( statut = 'o',typ = bool, defaut = False , -# ------------------------------------ - fr = 'flux a travers les sections de controle, calcul compatible avec l impermeabilite sous forme faible', - ang = 'flowrates through control sections, computation compatible with the weak formulation of no-flux boundary condition',), - -# ------------------------------------ - Sections_Input_File = SIMP( statut = 'f', typ = ('Fichier', 'All Files (*)'), -# ------------------------------------ - fr = 'sections input file, partitioned', - ang = 'sections input file, partitioned',), - -# ------------------------------------ - Sections_Output_File = SIMP( statut = 'f', typ = ('Fichier', 'All Files (*)'), -# ------------------------------------ - fr = 'sections output file, written by the master', - ang = 'sections output file, written by the master',), - - ),# fin controls -# ------------------------------------ - Fourier = FACT(statut = 'f', -# ------------------------------------ -# ------------------------------------ - Fourier_Analysis_Periods = SIMP( statut='o', -# ------------------------------------ - max='**', typ = 'R', - fr = 'Liste des periodes que lon veut analyser', - ang= 'List of periods to be analysed',), - -# ------------------------------------ - Time_Range_For_Fourier_Analysis = SIMP( statut='o', -# ------------------------------------ - typ = Tuple(2), validators = VerifTypeTuple(('R','R')), - defaut=(0.0, 0.0) , - fr = 'Pour le calcul du marnage et de la phase de la maree', - ang= 'For computing tidal range and phase of tide', - ), - -# ------------------------------------ - List_Of_Points = SIMP( statut='o', -# ------------------------------------ - typ = Tuple(2), validators = VerifTypeTuple(('I','I')), - fr = 'Liste de points remarquables pour les impressions', - ang= 'List of remarkable points for printouts',), - -# ------------------------------------ - Names_Of_Points = SIMP( statut='o',typ='TXM', -# ------------------------------------ - min=2,max=2 , - fr = 'Noms des points remarquables pour les impressions', - ang= 'Names of remarkable points for printouts', - ), - - ),# fin fourier -) # FIN OUTPUT_FILES - - -# ----------------------------------------------------------------------- -CONSTRUCTION_WORKS_MODELLING = PROC(nom = "CONSTRUCTION_WORKS_MODELLING",op = None, -# ----------------------------------------------------------------------- - -# Attention calculer le logique BREACH - -# ------------------------------------ - Number_Of_Culverts = SIMP( statut = 'o',typ = 'I', -# ------------------------------------ - defaut = 0 , - fr = 'Nombre de siphons traites comme des termes sources ou puits. Ces siphons doivent etre decrits comme des sources \ -dans le fichier cas. Leurs caracteristiques sont donnees dans le fichier de donnees des siphons (voir la documentation ecrite)', - ang = 'Number of culverts treated as source terms. They must be described as sources in the domain\ - and their features are given in the culvert data file (see written documentation)',), -# ------------------------------------ - culvert_exists = BLOC(condition = "Number_Of_Culverts!= 0", -# ------------------------------------ -# ------------------------------------ - Culvert_Data_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',), -# ------------------------------------ - fr = 'Fichier de description des siphons presents dans le modele', - ang = 'Description of culvert existing in the model',), - ), # fin bloc culvert_exists - -# ------------------------------------ - Number_Of_Tubes = SIMP( statut = 'o',typ = 'I', -# ------------------------------------ - defaut = 0 , - fr = 'Nombre de buses ou ponts traites comme des termes sources ou puits. Ces buses doivent etre decrits comme des sources\n\ -dans le fichier cas. Leurs caracteristiques sont donnees dans le fichier de donnees des buses (voir la documentation ecrite)', - ang = 'Number of tubes or bridges treated as source terms. They must be described as sources in the domain \n\ -and their features are given in the tubes data file (see written documentation)',), -# ------------------------------------ - b_Tubes = BLOC(condition = "Number_Of_Tubes!= 0", -# ------------------------------------ -# ------------------------------------ - Tubes_Data_File = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', 'All Files (*)',), - fr = 'Fichier de description des buses/ponts presents dans le modele', - ang = 'Description of tubes/bridges existing in the model',), - ), # in bloc b_Tubes - -# ------------------------------------ - Number_Of_Weirs = SIMP(statut = 'o',typ = 'I',defaut = 0, -# ------------------------------------ - fr = 'Nombre de seuils qui seront traites par des conditions aux limites. \n\ -Ces seuils doivent etre decrits comme des frontieres du domaine de calcul', - ang = 'Number of weirs that will be treated by boundary conditions.', - ), -# ------------------------------------ - b_Weirs = BLOC(condition = "Number_Of_Weirs!= 0", -# ------------------------------------ -# ------------------------------------ - Weirs_Data_File = SIMP( statut = 'o', -# ------------------------------------ - typ = ('Fichier', 'All Files (*)',), - fr = 'Fichier de description des seuils presents dans le modele', - ang = 'Description of weirs existing in the model',), - -# ------------------------------------ - Type_Of_Weirs = SIMP( statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ["Horizontal with same number of nodes upstream/downstream (Historical solution with bord)", - "General (New solution with sources points)"], - defaut = "Horizontal with same number of nodes upstream/downstream (Historical solution with bord)", - fr = 'Méthode de traitement des seuils ', - ang = 'Method for treatment of weirs',), - ),# fin b_Weirs - -# ------------------------------------ - Breach = SIMP(statut = 'o',typ = bool,defaut = False, -# ------------------------------------ - fr = 'Prise en compte de breches dans le calcul par modification altimetrique dans le maillage.', - ang = 'Take in account some breaches during the computation by modifying the bottom level of the mesh.',), - -# ------------------------------------ - b_Breaches = BLOC (condition = 'Breach == True', -# ------------------------------------ -# ------------------------------------ - Breaches_Data_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',), -# ------------------------------------ - fr = 'Fichier de description des breches', - ang = 'Description of breaches',), - ), # fin b_Breaches - - -) # Fin CONSTRUCTION_WORKS_MODELLING - - -# ----------------------------------------------------------------------- -GENERAL_PARAMETERS = PROC(nom = "GENERAL_PARAMETERS",op = None, -# ----------------------------------------------------------------------- - UIinfo = { "groupes" : ( "CACHE", )}, -# ------------------------------------ - Location = FACT(statut = 'o', -# ------------------------------------ -# ------------------------------------ - Origin_Coordinates = SIMP( statut='o', -# ------------------------------------ - typ = Tuple(2),validators = VerifTypeTuple(('I','I')),defaut = (0,0), - fr = 'Valeur en metres, utilise pour eviter les trop grands nombres, transmis dans le format Selafin mais pas d autre traitement pour l instant', - ang= 'Value in metres, used to avoid large real numbers, added in Selafin format, but so far no other treatment',), - - -# ------------------------------------ - Spherical_Coordinates = SIMP(typ = bool,statut = 'o',defaut = False, -# ------------------------------------ - fr = 'Choix des coordonnees spheriques pour la realisation du calcul ( pour les grands domaines de calcul).', - ang = 'Selection of spherical coordinates to perform the computation (for large computation domains).'), - -# ------------------------------------ - b_Spher = BLOC(condition = 'Spherical_Coordinates == True', -# ------------------------------------ -# ------------------------------------ - Latitude_Of_Origin_Point = SIMP(typ = 'R',statut = 'o',defaut = 48., -# ------------------------------------ - fr = 'Determine l origine utilisee pour le calcul de latitudes lorsque l on effectue un calcul en coordonnees spheriques.', - ang = 'Determines the origin used for computing latitudes when a computation is made in spherical coordinates.this latitude\n\ -is in particular used to compute the Coriolis force. In cartesian coordinates, Coriolis coefficient is considered constant.'), - -# ------------------------------------ - Spatial_Projection_Type = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ["Mercator","Latitude longitude"]), - ), # fin b_Spher - -# ------------------------------------ - b_Spher_faux = BLOC(condition = 'Spherical_Coordinates == False', -# ------------------------------------ -# ------------------------------------ - Spatial_Projection_Type = SIMP(statut = 'o',typ = 'TXM', -# ------------------------------------ - into = ["Cartesian, not georeferenced","Mercator","Latitude longitude"], - defaut = "Cartesian, not georeferenced",), - ), # fin b_Spher_faux - - ), # Fin de Location -# ------------------------------------ - Time = FACT(statut = 'o', -# ------------------------------------ - regles = (AU_MOINS_UN('Number_Of_Time_Steps','Duration'), - EXCLUS('Number_Of_Time_Steps','Duration'), - ), - -# ----------------------------------------------------------------------- - Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", -# ----------------------------------------------------------------------- - defaut = "Choose between Keywords 'Number_Of_Time_Steps' or 'Duration'"), - -# ------------------------------------ - Time_Step = SIMP(statut = 'o', -# ------------------------------------ - typ = 'R', defaut = 1, - fr = 'Definit le nombre de pas de temps effectues lors de l''execution du code.', - ang = 'Specifies the number of time steps performed when running the code.'), - -# ------------------------------------ - Number_Of_Time_Steps = SIMP(statut = 'f',typ = 'I', -# ------------------------------------ - fr = 'Definit le nombre de pas de temps effectues lors de l''execution du code.', - ang = 'Specifies the number of time steps performed when running the code.'), - -# ------------------------------------ - Duration = SIMP(statut = 'f',typ = 'R', -# ------------------------------------ - fr = 'duree de la simulation. alternative au parametre nombre de pas de temps. \n\ -On en deduit le nombre de pas de temps en prenant l''entier le plus proche de (duree du calcul/pas de temps).\n\ -Si le nombre de pas de temps est aussi donne, on prend la plus grande valeur', - ang = 'duration of simulation. May be used instead of the parameter NUMBER OF TIME STEPS. \n\ -The nearest integer to (duration/time step) is taken. If NUMBER OF TIME STEPS is also given, the greater value is taken',), - -# PNPN -# Attention, on laisse la règle mais il est possible d avoir les 2 en entrées --> attention au convert -# ------------------------------------ - Variable_Time_Step = SIMP(statut = 'o',typ = bool, defaut=False, -# ------------------------------------ - fr = 'Pas de temps variable pour avoir un nombre de courant souhaite', - ang = 'Variable time-step to get a given Courant number'), - -# ------------------------------------ - b_var_time = BLOC(condition = "Variable_Time_Step == True" , -# ------------------------------------ -# ------------------------------------ - Desired_Courant_Number = SIMP(statut = 'o',typ = 'R', -# ------------------------------------ - fr = 'Nombre de Courant souhaite ', - ang = 'Desired Courant number',), - ), - -# ------------------------------------ - Original_Date_Of_Time = FACT( statut = 'o', -# ------------------------------------ - fr = "Permet de fixer la date d'origine des temps du modele lors de la prise en compte de la force generatrice de la maree.", - ang = 'Give the date of the time origin of the model when taking into account the tide generating force.', - Year = SIMP(statut = 'o',typ = 'I',val_min = 1900, defaut = 1900), - Month = SIMP(statut = 'o',typ = 'I',val_min = 1,val_max = 12, defaut = 1), - Day = SIMP(statut = 'o',typ = 'I',val_min = 1,val_max = 31,defaut = 1),), - -# ------------------------------------ - Original_Hour_Of_Time = FACT( statut = 'o', -# ------------------------------------ - fr = "Permet de fixer l'heure d'origine des temps du modele lors de la prise en compte de la force generatrice de la maree.", - ang = 'Give the time of the time origin of the model when taking into account the tide generating force.', - Hour = SIMP(statut = 'o',typ = 'I',val_min = 0,val_max = 24, defaut = 0), - Minute = SIMP(statut = 'o',typ = 'I',val_min = 0,val_max = 60, defaut = 0), - Second = SIMP(statut = 'o',typ = 'I',val_min = 0,val_max = 60, defaut = 0), - ), - -# ------------------------------------ - Stop_If_A_Steady_State_Is_Reached = SIMP(statut = 'o', -# ------------------------------------ - typ = bool,defaut = False), - -# ------------------------------------ - b_stop = BLOC(condition = "Stop_If_A_Steady_State_Is_Reached == True" , -# ------------------------------------ -# ------------------------------------ - Stop_Criteria = SIMP(statut = 'o',typ = Tuple(3),validators = VerifTypeTuple(('R','R','R')), -# ------------------------------------ - fr = "Criteres d'arret pour un ecoulement permanent. ces coefficients sont respectivement appliques a\n\ - 1- U et V 2- H 3- T ", - ang = 'Stop criteria for a steady state These coefficients are applied respectively to\n\ - 1- U and V 2- H 3- T ',), - ), # fin b_stop - -# ------------------------------------ - Control_Of_Limits = SIMP(statut = 'o', -# ------------------------------------ - typ = bool, defaut = False, - fr = 'Le programme s''arrete si les limites sur u,v,h ou t sont depassees', - ang = 'The program is stopped if the limits on u,v,h, or t are trespassed',), - -# ------------------------------------ - b_limit = BLOC(condition = "Control_Of_Limit == True" , - Limit_Values = FACT(statut = 'o', -# Attention : 1 seul MC ds Telemac -# ------------------------------------ - fr = 'valeurs mini et maxi acceptables min puis max', - ang = 'min and max acceptable values ', - -# ------------------------------------ - Limit_Values_H = SIMP(statut = 'o',typ = Tuple(2), -# ------------------------------------ - validators = VerifTypeTuple(('R','R')), defaut = (-1000,9000)), -# ------------------------------------ - Limit_Values_U = SIMP(statut = 'o',typ = Tuple(2), -# ------------------------------------ - validators = VerifTypeTuple(('R','R')), defaut = (-1000,1000)), -# ------------------------------------ - Limit_Values_V = SIMP(statut = 'o',typ = Tuple(2), -# ------------------------------------ - validators = VerifTypeTuple(('R','R')), defaut = (-1000,1000)), -# ------------------------------------ - Limit_Values_T = SIMP(statut = 'o',typ = Tuple(2), -# ------------------------------------ - validators = VerifTypeTuple(('R','R')), defaut = (-1000,1000)), - ),), # fin Fact et b_limit - ), # Fin de Time - -# Attention il faut recalculer en sortie : il faut 0 ou 1 et non un boolean -# ------------------------------------ - Debugger = SIMP(typ = bool , statut = 'o', -# ------------------------------------ - defaut = False, - fr= 'Pour imprimer la sequence des appels, mettre 1', - ang = 'If 1, calls of subroutines will be printed in the listing',), - -) # Fin GENERAL_PARAMETERS - - -# ----------------------------------------------------------------------- -TURBULENCE = PROC(nom = "TURBULENCE",op = None, -# ----------------------------------------------------------------------- - -# ----------------------------------------------------------------------- - Turbulence_Model = SIMP( statut = 'o',typ = 'TXM', defaut = "Constant Viscosity", -# ----------------------------------------------------------------------- - into = ("Constant Viscosity", "Elder", "K-Epsilon Model", "Smagorinski"), - fr = 'Pour Elder, il faut pas oublier d ajuster les deux valeurs du mot-cle : COEFFICIENTS ADIMENSIONNELS DE DISPERSION\n\ -Pour K-Epsilon Model, ce meme parametre doit retrouver sa vraie valeur physique car elle est utilisee comme telle dans le modele de turbulence', - ang = 'When Elder, the two values of key-word : NON-DIMENSIONAL DISPERSION COEFFICIENTS are used \n\ -When K-Epsilon Model, this parameter should recover its true physical value, since it is used as such in the turbulence model.',), - -# ------------------------------------ - b_turbu_const = BLOC(condition = 'Turbulence_Model == "Constant Viscosity"', -# ------------------------------------ -# ------------------------------------ - Velocity_Diffusivity = SIMP( statut = 'o',typ = 'R', -# ------------------------------------ - defaut = 1.E-6, - fr = 'Fixe de facon uniforme pour l ensemble du domaine la valeur du coefficient de diffusion de viscosite globale (dynamique + turbulente).\n\ -Cette valeur peut avoir une influence non negligeable sur la forme et la taille des recirculations.', - ang = 'Sets, in an even way for the whole domain, the value of the coefficient of global (dynamic+turbulent) viscosity. \n\ -this value may have a significant effect both on the shapes and sizes of recirculation zones.',), - ), # fin b_turbu_const - -# ------------------------------------ - b_turbu_elder = BLOC(condition = 'Turbulence_Model == "Elder"', -# ------------------------------------ -# ------------------------------------ - Non_Dimensional_Dispersion_Coefficients = SIMP (statut = 'o', -# ------------------------------------ - typ = Tuple(2),validators = VerifTypeTuple(('R','R')),defaut = (6.,0.6), - fr = 'coefficients longitudinal et transversal dans la formule de Elder.', - ang = 'Longitudinal and transversal coefficients in elder s formula. Used only with turbulence model number 2',), - ), # fin bloc b_turbu_elder - -# ----------------------------------------------------------------------- - Accuracy_Of_K = SIMP( statut = 'o',typ = 'R', defaut = 1e-09 , -# ----------------------------------------------------------------------- - fr = 'Fixe la precision demandee sur k pour le test d arret dans letape de diffusion et termes sources du modele k-epsilon.', - ang = 'Sets the required accuracy for computing k in the diffusion and source terms step of the k-epsilon model.',), - -# ----------------------------------------------------------------------- - Accuracy_Of_Epsilon = SIMP( statut = 'o',typ = 'R', defaut = 1e-09 , -# ----------------------------------------------------------------------- - fr = 'Fixe la precision demandee sur epsilon pour le test darret dans letape de diffusion et termes sources de k et epsilon.', - ang = 'Sets the required accuracy for computing epsilon in the diffusion and source-terms step of the k-epsilon model.',), - -# ----------------------------------------------------------------------- - Time_Step_Reduction_For_K_Epsilon_Model = SIMP( statut = 'f',typ = 'R', defaut = 1.0 , -# ----------------------------------------------------------------------- - fr = 'Coefficient reducteur du pas de temps pour le modele k-epsilon (qui est normalement identique a celui du systeme hydrodynamique).\n\ -Utilisation deconseillee', - ang = 'Time step reduction coefficient for k-epsilon model (which is normally same the same as that of the hydrodynamic system).\n\ -Not recommended for use.',), - -# ----------------------------------------------------------------------- - Maximum_Number_Of_Iterations_For_K_And_Epsilon = SIMP( statut = 'o',typ = 'I', -# ----------------------------------------------------------------------- - defaut = 50 , - fr = 'Fixe le nombre maximum diterations accepte lors de la resolution du systeme diffusion-termes sources du modele k-epsilon.', - ang = 'Sets the maximum number of iterations that are acceptable when solving the diffusion source-terms step of the k-epsilon model.',), - -# ----------------------------------------------------------------------- - Turbulence_Model_For_Solid_Boundaries = SIMP( statut = 'o',typ = 'TXM', -# ----------------------------------------------------------------------- - defaut = 'Rough' , - into = ('Smooth', 'Rough'), - fr = 'Permet de choisir le regime de turbulence aux parois ', - ang = 'Provided for selecting the type of friction on the walls',), - -# ----------------------------------------------------------------------- - Solver_For_K_Epsilon_Model = SIMP( statut = 'o',typ = 'TXM', -# ----------------------------------------------------------------------- - defaut = "Conjugate gradient" , - into = ("Conjugate gradient", "Conjugate residuals", "Conjugate gradient on normal equation", - "Minimum error", "Conjugate gradient squared", "Conjugate gradient squared stabilised (CGSTAB)", - "GMRES", "Direct"), - fr = 'Permet de choisir le solveur utilise pour la resolution du systeme du modele k-epsilon', - ang = 'Makes it possible to select the solver used for solving the system of the k-epsilon model.',), - -# ----------------------------------------------------------------------- - b_gmres = BLOC(condition = 'Solver_For_K_Epsilon_Model == "GMRES"', -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Option_For_The_Solver_For_K_Epsilon_Model = SIMP( statut = 'o',typ = 'I', -# ----------------------------------------------------------------------- - defaut = 2 ,val_min = 2,val_max = 15, - fr = 'le mot cle est la dimension de lespace de KRILOV (valeurs conseillees entre 2 et 7)', - ang = 'dimension of the krylov space try values between 2 and 7',), - ), # fin bloc b_gmres - -# ----------------------------------------------------------------------- - Preconditioning_For_K_Epsilon_Model = SIMP( statut = 'o',typ = 'TXM', -# ----------------------------------------------------------------------- - defaut = 'Diagonal' , - into = ("Diagonal", "No preconditioning", "Diagonal condensed", "Crout", "Diagonal and crout", "Diagonal condensed and crout"), - fr = 'Permet de preconditionner le systeme relatif au modele k-epsilon', - ang = 'Preconditioning of the linear system in the diffusion step of the k-epsilon model.', - ), -# ----------------------------------------------------------------------- - Information_About_K_Epsilon_Model = SIMP(statut = 'o',typ = bool,defaut = True, -# ----------------------------------------------------------------------- - fr = 'Donne le nombre d iterations du solveur de l etape de diffusion et termes sources du modele k-epsilon.', - ang = 'Gives the number of iterations of the solver in the diffusion and source terms step of the k-epsilon model.', - ), -)# fin TURBULENCE - - - - -# ----------------------------------------------------------------------- -PARTICLE_TRANSPORT = PROC(nom = "PARTICLE_TRANSPORT",op = None, -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Number_Of_Drogues = SIMP(statut = 'o',typ = 'I',defaut = 0, -# ----------------------------------------------------------------------- - fr = 'Permet d''effectuer un suivi de flotteurs', - ang = 'Number of drogues in the computation.',), - -# ----------------------------------------------------------------------- - Algae_Transport_Model = SIMP( statut = 'o',typ = bool, defaut = False , -# ----------------------------------------------------------------------- - fr = 'Si oui, les flotteurs seront des algues', - ang = 'If yes, the floats or particles will be algae',), - -# ----------------------------------------------------------------------- - algae_exists = BLOC(condition = "Algae_Transport_Model == True", -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Algae_Type = SIMP( statut = 'o',typ = 'TXM', -# ----------------------------------------------------------------------- - into = ["Sphere", "Iridaea flaccida (close to ulva)", "Pelvetiopsis limitata", "Gigartina leptorhynchos"], - defaut = "Sphere", - fr = 'Type des algues. Pour sphere les algues seront modelisees comme des spheres, pour les autres choix voir Gaylord et al.(1994)', - ang = 'Algae type. For sphere, the algae particles will be modeled as spheres, for the other choices see Gaylord et al.(1994)',), - -# ----------------------------------------------------------------------- - Diameter_Of_Algae = SIMP( statut = 'o',typ = 'R', defaut = 0.1 , -# ----------------------------------------------------------------------- - fr = 'Diametre des algues en m', - ang = 'Diametre of algae in m',), - -# ----------------------------------------------------------------------- - Density_Of_Algae = SIMP( statut = 'o',typ = 'R', defaut = 1050.0 , -# ----------------------------------------------------------------------- - fr = 'Masse volumique des algues en kg/m3', - ang = 'Density of algae in kg/m3',), - -# ----------------------------------------------------------------------- - Thickness_Of_Algae = SIMP( statut = 'o',typ = 'R', defaut = 0.01 , -# ----------------------------------------------------------------------- - fr = 'Epaisseur des algues en m', - ang = 'Thickness of algae in m',), - ), # fin algae - - -# ----------------------------------------------------------------------- - Oil_Spill_Model = SIMP( statut = 'o',typ = bool, defaut = False , -# ----------------------------------------------------------------------- - fr = 'pour declencher le modele de derive de nappes, dans ce cas le fichier de commandes migrhycar est necessaire', - ang = 'will trigger the oil spill model, in this case the migrhycar steering file is needed',), - -# ----------------------------------------------------------------------- - oil_exists = BLOC(condition = "Oil_Spill_Model == True", -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Oil_Spill_Steering_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',), -# ----------------------------------------------------------------------- - fr = 'Contient les donnees pour le modele de derive de nappes', - ang = 'Contains data for the oil spill model',), - ), # fin oil_exists - -# ----------------------------------------------------------------------- - drogues_exists = BLOC(condition = "Number_Of_Drogues!= 0 or Algae_Transport_Model == True or Oil_Spill_Model == True", -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Drogues_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',), -# ----------------------------------------------------------------------- - fr = 'Fichier de resultat avec les positions des flotteurs', - ang = 'Results file with positions of drogues',), - -# ----------------------------------------------------------------------- - Printout_Period_For_Drogues = SIMP(statut = 'o',typ = 'I',defaut = 1, -# ----------------------------------------------------------------------- - fr = 'Nombre de pas de temps entre 2 sorties de positions de flotteurs dans le fichier des resultats binaire supplementaire\n\ -N affecte pas la qualite du calcul de la trajectoire', - ang = 'Number of time steps between 2 outputs of drogues positions in the binary file',), - ),#fin drogues ou algae - - -# ----------------------------------------------------------------------- - Stochastic_Diffusion_Model = SIMP( statut = 'o',typ = 'I', defaut = 0 , -# ----------------------------------------------------------------------- - fr = 'Pour les particules : flotteurs, algues, hydrocarbures', - ang = 'Meant for particles: drogues, algae, oil spills',), - -# ----------------------------------------------------------------------- - Number_Of_Lagrangian_Drifts = SIMP( statut = 'o',typ = 'I', defaut = 0 , -# ----------------------------------------------------------------------- - fr = 'Permet deffectuer simultanement plusieurs calculs de derives lagrangiennes initiees a des pas differents', - ang = 'Provided for performing several computations of lagrangian drifts starting at different times.',), - -# ----------------------------------------------------------------------- - b_cons = BLOC(condition = "Number_Of_Lagrangian_Drifts != 0", -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", -# ----------------------------------------------------------------------- - defaut = "Add A and G in the VARIABLES FOR GRAPHIC PRINTOUTS key-word in POST_PROCESSING SECTION"), - ), # fin b_cons - -)# fin PARTICULE -# ----------------------------------------------------------------------- -TRACERS = PROC(nom = "TRACERS",op = None, -# ----------------------------------------------------------------------- - -# ----------------------------------------------------------------------- - Tracers_Setting = FACT(statut = 'o', -# ----------------------------------------------------------------------- - -# ----------------------------------------------------------------------- - Number_Of_Tracers = SIMP( statut='o',typ='I', -# ----------------------------------------------------------------------- - defaut=0 , - fr = 'Definit le nombre de traceurs.', - ang= 'Defines the number of tracers',), -#PNPNPN Recalculer Names_Of_Tracers et Initial_Values_Of_Tracers comme des listes -# pour Names_Of_Tracers = Names_Of_Tracers+Names_Of_Unit -# il faut faire un validateur (la chaine doit faire 16 caracteres evtuellement complete par des blancs) - -# ------------------------------------ - Tracer = FACT(statut = 'o', max="**", -# ------------------------------------ -# ----------------------------------------------------------------------- - Name_Of_Tracer = SIMP( statut='o',typ='TXM', -# ----------------------------------------------------------------------- - fr = 'Noms des traceurs en 16 caracteres', - ang= 'Name of tracers in 32 characters',), - -# ----------------------------------------------------------------------- - Name_Of_Unit = SIMP( statut='o',typ='TXM', -# ----------------------------------------------------------------------- - fr = 'Noms de l unité en 16 caracteres', - ang= 'Name of unit in 16 characters',), - - b_Computation_Continued = BLOC(condition = 'Computation_Continued == True', -#PNPNPN Attention: global_jdc ne fonctionne pas bien : pas de propagation si chgt de valeur de Computation_Continued -# ----------------------------------------------------------------------- - Initial_Values_Of_Tracers = SIMP( statut='o', -# ----------------------------------------------------------------------- - typ = Tuple(2),validators = VerifTypeTuple(('R','R')), - defaut=(0.0, 0.0) , - fr = 'Fixe la valeur initiale du traceur.', - ang= 'Sets the initial value of the tracer.',), - - ), # fin b_Computation_Continued -# ------------------------------------ - Boundary_Conditions = FACT( statut = 'f', -# ------------------------------------ -# ----------------------------------------------------------------------- - Prescribed_Tracers_Values = SIMP( statut='o', -# ----------------------------------------------------------------------- - typ = Tuple(2),validators = VerifTypeTuple(('R','R')), - fr = 'Valeurs du traceur imposees aux frontieres liquides entrantes. Lire la partie du manuel consacree aux conditions aux limites', - ang= 'Tracer values prescribed at the inflow boundaries. Read the manual section dealing with the boundary conditions',), - ), # fin Boundary_Conditions - ), # fin tracer - -# ----------------------------------------------------------------------- - Density_Effects = SIMP( statut='o',typ=bool, -# ----------------------------------------------------------------------- - defaut=False , - fr = 'prise en compte du gradient horizontal de densite le traceur est alors la salinite', - ang= 'the horizontal gradient of density is taken into account the tracer is then the salinity',), - -# ----------------------------------------------------------------------- - b_Density_Effects = BLOC(condition = 'Density_Effects == True', -# ----------------------------------------------------------------------- -# ------------------------------------ - Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", -# ------------------------------------ - defaut='the first Tracer must be the salinity expressed in kg/m3'), - -# ----------------------------------------------------------------------- - Mean_Temperature = SIMP( statut='o',typ='R', -# ----------------------------------------------------------------------- - defaut=20.0 , - fr = 'temperature de reference pour le calcul des effets de densite ', - ang= 'reference temperature for density effects',), - - ), # fin b_Density_Effects - - ), # fin b_Tracers_Settings -# ----------------------------------------------------------------------- - Solving = FACT( statut='o', -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Solver_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='TXM', -# ----------------------------------------------------------------------- - defaut='1="conjugate gradient"' , - into =('1="conjugate gradient"', '2="conjugate residual"', '3="conjugate gradient on a normal equation"', - '4="minimum error"', '5="squared conjugate gradient"', '6="cgstab"', '7="gmres "', '8="direct"'),), - -# ----------------------------------------------------------------------- - Solver_Option_For_Tracers_Diffusion = SIMP( statut='o',typ='I', -# ----------------------------------------------------------------------- - defaut=2 , - fr = 'si le solveur est GMRES (7) le mot cle est la dimension de lespace de KRILOV (valeurs conseillees entre 2 et 15)', - ang= 'WHEN GMRES (7) IS CHOSEN, DIMENSION OF THE KRYLOV SPACE TRY VALUES BETWEEN 2 AND 15',), - -# ----------------------------------------------------------------------- - Preconditioning_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='TXM', -# ----------------------------------------------------------------------- - defaut='2="diagonal"' , - into =('2="diagonal"', '0="no preconditioning "', '3="diagonal condensed"', '7="crout"', '14="diagonal and crout"', '21="diagonal condensed and crout"'), - fr = 'Permet de preconditionner le systeme relatif au traceur. Memes definition et possibilites que pour le mot-cle PRECONDITIONNEMENT.', - ang= 'Preconditioning of the linear system in the tracer diffusion step. Same definition and possibilities as for the keyword PRECONDITIONING', - ), - ), # fin_Solving - -# ----------------------------------------------------------------------- - Accuracy = FACT( statut='o', -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Accuracy_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='R', defaut=1e-06 , -# ----------------------------------------------------------------------- - fr = 'Fixe la precision demandee pour le calcul de la diffusion du traceur.', - ang= 'Sets the required accuracy for computing the tracer diffusion.',), - -# ----------------------------------------------------------------------- - Maximum_Number_Of_Iterations_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='I', defaut=60 , -# ----------------------------------------------------------------------- - fr = 'Limite le nombre diterations du solveur a chaque pas de temps pour le calcul de la diffusion du traceur.', - ang= 'Limits the number of solver iterations at each time step for the diffusion of tracer.',), - - ), # fin Accuracy -# ----------------------------------------------------------------------- - Sources = FACT( statut='o', -# ----------------------------------------------------------------------- -# ------------------------------------ - Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", -# ------------------------------------ - defaut = "La longueur de la liste doit etre nb de source * nb de tracers"), -# ----------------------------------------------------------------------- - Values_Of_The_Tracers_At_The_Sources = SIMP( statut='o',typ='R', max='**' , -# ----------------------------------------------------------------------- - fr = 'Valeurs des traceurs a chacune des sources', - ang= 'Values of the tracers at the sources',), - ), # fin Sources -# ----------------------------------------------------------------------- - Metereology = FACT( statut='o', -# ----------------------------------------------------------------------- -# en fait, c'est une liste de Tuple de 2. Il faudrait caluler la taille en fonction du Nombre de sources -# ----------------------------------------------------------------------- - Values_Of_Tracers_In_The_Rain = SIMP( -# ----------------------------------------------------------------------- - statut='o',typ='R',defaut=0, max=2 , fr = '', ang= '',), - ), # fin Metereology - -# ----------------------------------------------------------------------- - Numerical = FACT( statut='o', -# ----------------------------------------------------------------------- - -# ----------------------------------------------------------------------- - Implicitation_Coefficient_Of_Tracers = SIMP( statut='o',typ='R', -# ----------------------------------------------------------------------- - defaut=0.6 , - fr = 'Fixe la valeur du coefficient dimplicitation du traceur', - ang= 'Sets the value of the implicitation coefficient for the tracer',), - -# ----------------------------------------------------------------------- - Diffusion_Of_Tracers = SIMP( statut='o',typ=bool, -# ----------------------------------------------------------------------- - defaut=True , - fr = 'Prise en compte ou non de la diffusion du traceur passif.', - ang= 'The diffusion of the passive tracer is taken into account or ignored.',), - -# ------------------------------------ - b_Diffusion_Of_Tracers = BLOC(condition = 'Diffusion_Of_Tracers == True', -# ------------------------------------ -# ------------------------------------ - Coefficient_For_Diffusion_Of_Tracers = SIMP( statut='o',typ='R', -# ------------------------------------ - defaut=1e-06 , - fr = 'Fixe la valeur du coefficient de diffusion du traceur. Linfluence de ce parametre sur levolution du traceur dans le temps est importante.', - ang= 'Sets the value of the tracer diffusivity.',), - -# ------------------------------------ - Option_For_The_Diffusion_Of_Tracers = SIMP( statut='o',typ='TXM', -# ------------------------------------ - defaut='Diffusion in the form div( nu grad(T))' , - into=[ 'Diffusion in the form div( nu grad(T))', 'Diffusion in the form 1/h div ( h nu grad(T))',],), - ), # fin b_Diffusion_Of_Tracers - -# ------------------------------------ - Scheme_For_Advection_Of_Tracers = SIMP( statut='o',typ='TXM', -# ------------------------------------ - defaut="CHARACTERISTICS" , - into =("NO ADVECTION", "CHARACTERISTICS", "EXPLICIT + SUPG", "EXPLICIT LEO POSTMA", "EXPLICIT + MURD SCHEME N", - "EXPLICIT + MURD SCHEME PSI", "LEO POSTMA FOR TIDAL FLATS", "N-SCHEME FOR TIDAL FLATS"), - fr = 'Choix du schema de convection pour les traceurs, remplace FORME DE LA CONVECTION', - ang= 'Choice of the advection scheme for the tracers, replaces TYPE OF ADVECTION',), - -# ------------------------------------ - Scheme_Option_For_Advection_Of_Tracers = SIMP( statut='o',typ='TXM', -# ------------------------------------ - defaut='explicit' , - into=['explicit','predictor-corrector for tracers'], - fr = 'Si present remplace et a priorite sur : OPTION POUR LES CARACTERISTIQUES OPTION DE SUPG Si schema PSI : 1=explicite 2=predicteur-correcteur pour les traceurs', - ang= 'If present replaces and has priority over: OPTION FOR CHARACTERISTICS SUPG OPTION IF PSI SCHEME: 1=explicit 2=predictor-corrector for tracers',), - -# ------------------------------------ - Mass_Lumping_On_Tracers = SIMP ( statut='o',typ='R', -# ------------------------------------ - defaut=0, - fr = 'Fixe le taux de mass-lumping effectue sur le traceur.', - ang = 'Sets the amount of mass-lumping that is performed on the tracer.',), - - ), # fin Numerical -# ----------------------------------------------------------------------- - Degradation = FACT( statut='o', -# ----------------------------------------------------------------------- - -# PN Attention, il faut recalculer Law_Of_Tracers_Degradation -# et les coefficients. -# Question : pourquoi 2 et pas selon le nb de tracer -# Est ce que ce $ va sous tracer ? -# ----------------------------------------------------------------------- - Law1_Of_Tracers_Degradation = SIMP( statut='o',typ='TXM', -# ----------------------------------------------------------------------- - into=["NO DEGRADATION","F(T90) LAW"], - defaut="NO DEGRADATION", - fr = 'Prise en compte dune loi de decroissance des traceurs', - ang= 'Take in account a law for tracers decrease',), - -# ----------------------------------------------------------------------- - b_Law1 = BLOC(condition = 'Law1_Of_Tracers_Degradation == "F(T90) LAW"', -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Coefficient_1_For_Law_Of_Tracers_Degradation = SIMP( statut='o',typ='R', -# ----------------------------------------------------------------------- - fr = 'Coefficient 1 de la loi de decroissance des traceurs', - ang= 'Coefficient 1 of law for tracers decrease',), - ),# fin b_Law1 - -# ----------------------------------------------------------------------- - Law2_Of_Tracers_Degradation = SIMP( statut='o',typ='TXM', -# ----------------------------------------------------------------------- - into=["NO DEGRADATION","F(T90) LAW"], - defaut="NO DEGRADATION", - fr = 'Prise en compte dune loi de decroissance des traceurs', - ang= 'Take in account a law for tracers decrease',), - -# ----------------------------------------------------------------------- - b_Law2 = BLOC(condition = 'Law2_Of_Tracers_Degradation == "F(T90) LAW"', -# ----------------------------------------------------------------------- -# ----------------------------------------------------------------------- - Coefficient_2_For_Law_Of_Tracers_Degradation = SIMP( statut='o',typ='R', -# ----------------------------------------------------------------------- - fr = 'Coefficient 2 de la loi de decroissance des traceurs', - ang= 'Coefficient 2 of law for tracers decrease',), - ),# fin b_Law2 - ), # fin Degradation - -)# fin TRACERS - - -Ordre_Des_Commandes = ( 'INITIALIZATION', 'BOUNDARY_CONDITIONS','GENERAL_PARAMETERS', 'PHYSICAL_PARAMETERS', 'NUMERICAL_PARAMETERS', -'TURBULENCE', 'TRACERS', 'PARTICLE_TRANSPORT', 'CONSTRUCTION_WORKS_MODELLING', 'TIDE_PARAMETERS', 'OUTPUT_FILES') diff --git a/OldCodes/ts/a.py b/OldCodes/ts/a.py deleted file mode 100644 index 3e93a25c..00000000 --- a/OldCodes/ts/a.py +++ /dev/null @@ -1,8 +0,0 @@ -liste=l.split() -if len(liste) > 1 : - txt="" - for e in liste: - txt+='_'+e - txt=txt[1:] -else : - txt=l diff --git a/OldCodes/ts/dicoparser.py b/OldCodes/ts/dicoparser.py deleted file mode 100644 index 751673ed..00000000 --- a/OldCodes/ts/dicoparser.py +++ /dev/null @@ -1,160 +0,0 @@ - -import shlex - -DICO_EXT = '.dico' - -class DicoParser: - def __init__( self, theFileName, theStartAttr, theIndexAttr ): - if theFileName=='': - return - if not theFileName.endswith( DICO_EXT ): - theFileName += DICO_EXT - aFile = open( theFileName ) - self.data = self.parse( aFile.read(), theStartAttr, theIndexAttr ) - aFile.close() - - def parse( self, theText, theStartAttr, theIndexAttr ): - aTokenList = self.parse_tokens( theText ) - self.expand_values( aTokenList ) - aList = self.convert_to_tuples( aTokenList ) - return self.convert_to_blocks( aList, theStartAttr, theIndexAttr ) - - def parse_tokens( self, theText ): - theText = theText.replace( "''", "`" ) - aLexer = shlex.shlex( theText ) - aLexer.commenters = '/' - aLexer.quotes = '\'"' - aLexer.wordchars = aLexer.wordchars + '-.' - aTokenList = [] - for aToken in aLexer: - #print aToken - if aToken[0]=="'" and aToken[-1]=="'": - aToken = aToken[1:-1] - elif aToken[0]=='"' and aToken[-1]=='"': - aToken = aToken[1:-1] - if aToken=='`': - aToken = '' - aToken = aToken.replace( "`", "'" ) - aToken = aToken.replace( "\n", "" ) - aToken = self.simplify_spaces( aToken ) - #print aToken - aTokenList.append( aToken ) - return aTokenList - - def simplify_spaces( self, theToken ): - return ' '.join( theToken.split() ) - - def expand_values( self, theList ): - for i in xrange( 0, len( theList ) ): - if '=' in theList[i] and theList[i]!='=': - aTokenList = self.parse_tokens( theList[i] ) - aSubItemsList = self.convert_to_tuples( aTokenList ) - if( len( aSubItemsList ) == 0 ): - print theList[i] - theList[i] = aSubItemsList[0] # we assume that only one '=' in the subitem - - def convert_to_tuples( self, theList ): - aPairsList = [] - aKey = '' - i = 0 - n = len( theList ) - while i 0 and i0: - aData[aBlockKey] = aBlock - aBlockKey = '' - aBlock = {} - elif aKey==theIndexAttr: - #print "__index__" - aBlockKey = aValue - #print aBlockKey - aBlock[aKey] = aValue - #print aData - if len(aBlock)>0: - aData[aBlockKey] = aBlock - return aData - - def are_equal( self, theStrDico, theStrCata ): - return theStrDico == self.to_dico_str( theStrCata ) - - def to_dico_str( self, theStrCata ): - aCata = theStrCata.replace( '_', ' ' ) - aCata = aCata.upper() - return aCata - - def to_cata_str( self, theStrDico ): - aWordsList = theStrDico.split() - aCata = [] - for aWord in aWordsList: - aWord = aWord.lower() - aWord = aWord[0].upper() + aWord[1:] - aCata.append( aWord ) - return ' '.join( aCata ) - - def search_in_block( self, theBlock, theAttrTr ): - #print 'search_in_block:', theAttrTr - return theBlock[theAttrTr] - - def search( self, theIndexText, theAttrTr, theChoiceText, theAttrCh, theAttrChTr ): - anIndexText = self.to_dico_str( theIndexText ) - if not anIndexText in self.data: - return '' - - if theAttrCh=='': - return self.search_in_block( self.data[anIndexText], theAttrTr ) - - aDataCh = self.search_in_block( self.data[anIndexText], theAttrCh ) - aDataChTr = self.search_in_block( self.data[anIndexText], theAttrChTr ) - if isinstance( theChoiceText, basestring ): - aChoiceText = self.to_dico_str( theChoiceText ) - else: - aChoiceText = theChoiceText - #print 'Choice text:', aChoiceText - #print 'Choice data:', aDataCh - #print 'Choice tr data:', aDataChTr - if isinstance( aDataCh, basestring ) and aDataCh==aChoiceText: - return aDataChTr - - for i in xrange( 0, len(aDataCh) ): - if isinstance( aDataCh[i], tuple ): - aKey, aValue = aDataCh[i] - elif isinstance( aDataCh[i], basestring ): - aKey = '' - aValue = aDataCh[i] - #print aKey, aValue - if aValue==aChoiceText: - if isinstance( aDataChTr[i], tuple ): - aKeyTr, aValueTr = aDataChTr[i] - elif isinstance( aDataChTr[i], basestring ): - aKeyTr = '' - aValueTr = aDataChTr[i] - return aValueTr - return '' - - def translate( self, theIndexText, theAttrTr, theChoiceText='', theAttrCh='', theAttrChTr='' ): - aTrText = self.search( theIndexText, theAttrTr, theChoiceText, theAttrCh, theAttrChTr ) - #print aTrText - return self.to_cata_str( aTrText ) diff --git a/OldCodes/ts/prefs.py b/OldCodes/ts/prefs.py deleted file mode 100644 index 87710926..00000000 --- a/OldCodes/ts/prefs.py +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright (C) 2007-2012 EDF R&D -# -# 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. -# -# 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 -# -code="TELEMAC" -import sys, os -if os.path.dirname(os.path.abspath(__file__)) not in sys.path : - sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))) -if os.path.join(os.path.dirname(os.path.abspath(__file__)),'..') not in sys.path: - sys.path.insert(0,os.path.join(os.path.dirname(os.path.abspath(__file__)),'..')) diff --git a/OldCodes/ts/test_cata.py b/OldCodes/ts/test_cata.py deleted file mode 100644 index 748fd68d..00000000 --- a/OldCodes/ts/test_cata.py +++ /dev/null @@ -1,22 +0,0 @@ -from Accas import * -import types - -JdC = JDC_CATA (code = 'MAP', - execmodul = None, - ) -# ====================================================================== -# Catalog entry for the MAP function : c_pre_interfaceBody_mesh -# ====================================================================== -INITIALIZATION=PROC(nom="INITIALIZATION",op=None, -Control_Of_Limits = SIMP( statut='o',typ='bool', - defaut=False , - fr = 'UTILISER AVEC LE MOT-CLE : VALEURS LIMITES, LE PROGRAMME SARRETE SI LES LIMITES SUR U,V,H OU T SONT DEPASSEES', - ang= 'USE WITH THE KEY-WORD : LIMIT VALUES, THE PROGRAM IS STOPPED IF THE LIMITS ON U,V,H, OR T ARE TRESPASSED', - ), - -Limit_Values = SIMP( statut='o',typ='R', - defaut=(-1000.0, 9000.0, -1000.0, 1000.0, -1000.0, 1000.0, -1000.0, 1000.0) , - max=8 , - fr = 'Utilise avec le mot-cle CONTROLE DES LIMITES valeurs mini et maxi acceptables pour H,U,V et T dans lordre suivant : min(H) max(H) min(U) max(U) min(V) max(V) min(T) max(T)', - ang= 'To be used with the key-word CONTROL OF LIMITS min and max acceptable values for H,U,V et T in the following order : min(H) max(H) min(U) max(U) min(V) max(V) min(T) max(T)', - ) ) diff --git a/OldCodes/ts/test_dicoparser.py b/OldCodes/ts/test_dicoparser.py deleted file mode 100644 index c3ac9dfb..00000000 --- a/OldCodes/ts/test_dicoparser.py +++ /dev/null @@ -1,140 +0,0 @@ - -import dicoparser -import unittest - -class Test1( unittest.TestCase ): - def runTest(self): - d = dicoparser.DicoParser( '', '', '' ) - t = d.parse_tokens( """ - / comment - TYPE = LOGIQUE - INDEX = 23 - MNEMO = 'VERLIM' - MNEMO1 = '' - NOM = 'CONTROLE DES LIMITES' - RUBRIQUE1 = 'ENTREES-SORTIES, GENERALITES';'CONTROLE' - CHOIX1 = '0="list of tests"'; - '1="gradient simple"'; - '2="conj gradient"'; - '3="Lagrange interp."' - AIDE = 'UTILISER AVEC LE MOT-CLE : VALEURS LIMITES, LE PROGRAMME - S''ARRETE SI LES LIMITES SUR U,V,H OU T SONT DEPASSEES' - DEFAUT = -1000.;9000.;-1000. -""" ) - self.assertEqual( len(t), 39 ) - self.assertEqual( t[0], 'TYPE' ) - self.assertEqual( t[1], '=' ) - self.assertEqual( t[2], 'LOGIQUE' ) - self.assertEqual( t[3], 'INDEX' ) - self.assertEqual( t[4], '=' ) - self.assertEqual( t[5], '23' ) - self.assertEqual( t[6], 'MNEMO' ) - self.assertEqual( t[7], '=' ) - self.assertEqual( t[8], 'VERLIM' ) - self.assertEqual( t[9], 'MNEMO1' ) - self.assertEqual( t[10], '=' ) - self.assertEqual( t[11], '' ) - self.assertEqual( t[12], 'NOM' ) - self.assertEqual( t[13], '=' ) - self.assertEqual( t[14], 'CONTROLE DES LIMITES' ) - self.assertEqual( t[15], 'RUBRIQUE1' ) - self.assertEqual( t[16], '=' ) - self.assertEqual( t[17], 'ENTREES-SORTIES, GENERALITES' ) - self.assertEqual( t[18], ';' ) - self.assertEqual( t[19], 'CONTROLE' ) - self.assertEqual( t[20], 'CHOIX1' ) - self.assertEqual( t[21], '=' ) - self.assertEqual( t[22], '0="list of tests"' ) - self.assertEqual( t[23], ';' ) - self.assertEqual( t[24], '1="gradient simple"' ) - self.assertEqual( t[25], ';' ) - self.assertEqual( t[26], '2="conj gradient"' ) - self.assertEqual( t[27], ';' ) - self.assertEqual( t[28], '3="Lagrange interp."' ) - self.assertEqual( t[29], 'AIDE' ) - self.assertEqual( t[30], '=' ) - self.assertEqual( t[31], 'UTILISER AVEC LE MOT-CLE : VALEURS LIMITES, LE PROGRAMME S\'ARRETE SI LES LIMITES SUR U,V,H OU T SONT DEPASSEES' ) - self.assertEqual( t[32], 'DEFAUT' ) - self.assertEqual( t[33], '=' ) - self.assertEqual( t[34], '-1000.' ) - self.assertEqual( t[35], ';' ) - self.assertEqual( t[36], '9000.' ) - self.assertEqual( t[37], ';' ) - self.assertEqual( t[38], '-1000.' ) - - d.expand_values( t ) - self.assertEqual( t[24], ( '1', 'gradient simple' ) ) - self.assertEqual( t[26], ( '2', 'conj gradient' ) ) - self.assertEqual( t[28], ( '3', 'Lagrange interp.' ) ) - - lst = d.convert_to_tuples( t ) - self.assertEqual( len(lst), 9 ) - self.assertEqual( lst[0], ( 'TYPE', 'LOGIQUE' ) ) - self.assertEqual( lst[1], ( 'INDEX', '23' ) ) - self.assertEqual( lst[2], ( 'MNEMO', 'VERLIM' ) ) - self.assertEqual( lst[3], ( 'MNEMO1', '' ) ) - self.assertEqual( lst[4], ( 'NOM', 'CONTROLE DES LIMITES' ) ) - self.assertEqual( lst[5], ( 'RUBRIQUE1', ['ENTREES-SORTIES, GENERALITES', 'CONTROLE'] ) ) - self.assertEqual( lst[6], ( 'CHOIX1', [('0','list of tests'), ('1','gradient simple'), ('2','conj gradient'), ('3','Lagrange interp.') ] ) ) - self.assertEqual( lst[7], ( 'AIDE', 'UTILISER AVEC LE MOT-CLE : VALEURS LIMITES, LE PROGRAMME S\'ARRETE SI LES LIMITES SUR U,V,H OU T SONT DEPASSEES' ) ) - self.assertEqual( lst[8], ( 'DEFAUT', ['-1000.', '9000.', '-1000.' ] ) ) - -class Test2( unittest.TestCase ): - def runTest(self): - d = dicoparser.DicoParser( '', '', '' ) - self.assertEqual( d.are_equal( 'WIND IN SUMMER', 'Wind_In_Summer' ), True ) - self.assertEqual( d.are_equal( 'HELLO', 'Bonjour' ), False ) - self.assertEqual( d.are_equal( 'MAXIMUM NUMBER OF ITERATIONS FOR SOLVER', 'Maximum_Number_Of_Iterations_For_Solver' ), True ) - #self.assertEqual( d.are_equal( 'WIND IN SUMMER', 'Wind' ), True ) #TODO: check the specification about this issue - -class Test3( unittest.TestCase ): - def runTest(self): - d = dicoparser.DicoParser( 'test', 'NOM', 'NOM1' ) - #print d.data.keys() - #for aKey, aValue in d.data['TYPE OF ADVECTION'].iteritems(): - # print aKey, aValue - - self.assertEqual( d.data['TYPE OF ADVECTION'].keys(), ['AIDE', 'NOM', 'DEFAUT1', 'INDEX', 'NIVEAU', 'TAILLE', 'CHOIX1', 'RUBRIQUE1', 'MNEMO', 'NOM1', 'AIDE1', 'COMPORT', 'DEFAUT', 'CHOIX', 'RUBRIQUE', 'TYPE' ] ) - self.assertEqual( d.translate( 'Control_Of_Limits', 'NOM' ), 'Controle Des Limites' ) - self.assertEqual( d.translate( 'Type_Of_Advection', 'NOM' ), 'Forme De La Convection' ) - self.assertEqual( d.translate( 'Type_Of_Advection', '', 'Characteristics', 'CHOIX1', 'CHOIX' ), 'Caracteristiques' ) - -class Test4( unittest.TestCase ): - def runTest(self): - d = dicoparser.DicoParser( 'telemac2dv6p3.dico', 'NOM', 'NOM1' ) - self.assertEqual( d.translate( 'Reference_File_Format', 'NOM' ), 'Format Du Fichier De Reference' ) - self.assertEqual( d.translate( 'Reference_File_Format', '', 'Serafin', 'CHOIX1', 'CHOIX' ), 'Serafin' ) - self.assertEqual( d.translate( 'Reference_File_Format', '', 'Serafin', 'DEFAUT1', 'DEFAUT' ), 'Serafin' ) - self.assertEqual( d.translate( 'Destination', '', 'CHE43A', 'DEFAUT1', 'DEFAUT' ), 'Che43a' ) - self.assertEqual( d.translate( 'Destination', '', 0.0, 'DEFAUT1', 'DEFAUT' ), '' ) - self.assertEqual( d.translate( 'Destination', '', (1,2,3), 'DEFAUT1', 'DEFAUT' ), '' ) - -class Test5( unittest.TestCase ): - def runTest(self): - d = dicoparser.DicoParser( '', '', '' ) - t = d.parse_tokens( """ -CHOIX = '" "="pas de biliotheque"'; -'"$PVM_ROOT/lib/$PVM_ARCH/libpvm3.a"="bibliotheque PVM1"' -""" ) - self.assertEqual( len(t), 5 ) - self.assertEqual( t[0], 'CHOIX' ) - self.assertEqual( t[1], '=' ) - self.assertEqual( t[2], '" "="pas de biliotheque"' ) - self.assertEqual( t[3], ';' ) - self.assertEqual( t[4], '"$PVM_ROOT/lib/$PVM_ARCH/libpvm3.a"="bibliotheque PVM1"' ) - - -t1 = Test1() -t1.runTest() - -t2 = Test2() -t2.runTest() - -t3 = Test3() -t3.runTest() - -t4 = Test4() -t4.runTest() - -t5 = Test5() -t5.runTest() diff --git a/OldCodes/ts/test_translator.py b/OldCodes/ts/test_translator.py deleted file mode 100644 index 186d89b2..00000000 --- a/OldCodes/ts/test_translator.py +++ /dev/null @@ -1,19 +0,0 @@ -#! /usr/bin/env python -import prefs - -from translator import * -import unittest - -class Test1( unittest.TestCase ): - def runTest(self): - self.assertEqual( normalize( 'a_b' ), 'a__b' ) - self.assertEqual( normalize( 'a b' ), 'a_b' ) - self.assertEqual( normalize( 'a b' ), 'a__b' ) - self.assertEqual( normalize( 'a__b' ), 'a____b' ) - -t1 = Test1() -t1.runTest() - -#translate( 'telemac2dv6p3', 'test_cata', 'test' ) -#translate( 'telemac2dv6p3', 'Telemac_Cata_nouveau', 'test' ) -translate( 'telemac2dv6p3', 'Telemac_Cata', 'main', 'not_translated.txt' ) diff --git a/OldCodes/ts/translator.py b/OldCodes/ts/translator.py deleted file mode 100755 index 77793423..00000000 --- a/OldCodes/ts/translator.py +++ /dev/null @@ -1,89 +0,0 @@ - -import copy -from tsparser import * -from Accas import * -from Noyau import * -from dicoparser import * - -def normalize( theTranslation ): - aTranslation = theTranslation - if '_' in aTranslation: - aTranslation = '__'.join( aTranslation.split( '_' ) ) - - aTranslation = aTranslation.replace( ' ', '_' ) - return aTranslation - -def translate( theDicoFile, theCataFile, theTSFile, theNotTranslatedFile = '' ): - - SPECIAL = ['into', 'defaut'] - DICO = DicoParser( theDicoFile, 'NOM', 'NOM1' ) - PARSER = TSParser() - - def is_ok( theName, theObject ): - ok = isinstance( theObject, N_ENTITE.ENTITE ) or theName in SPECIAL - return ok - - def name_to_attr( theName ): - if theName=='into': - return 'CHOIX' - else: - return theName.upper() - - def dico_tr( theObject, theName, theParentObj, theParentName ): - #print "dicotr:", theObject, theName, theParentObj, theParentName - aTrans = '' - if theName in SPECIAL: - if theObject!=None: - #print theName, theObject - anAttrTr = name_to_attr( theName ) - anAttr = anAttrTr + '1' - if isinstance( theObject, basestring ): - #print theParentName, theName, theObject, '=>', - aTrans = DICO.translate( theParentName, '', theObject, anAttr, anAttrTr ) - #print aTrans - elif isinstance( theObject, tuple ): - #print theParentName, theName - for anItem in theObject: - #print anItem - if isinstance( anItem, basestring ) and '=' in anItem: - aList = DICO.convert_to_tuples( DICO.parse_tokens( anItem ) ) - #print " ", aList - for aListItem in aList: - if isinstance( aListItem, tuple ): - aKey, aValue = aListItem - #print " ", aValue, '=>', - aTrans = DICO.translate( theParentName, '', aValue, anAttr, anAttrTr ) - #print aTrans - #print - pass - - else: - #print theName, '=>', - aTrans = DICO.translate( theName, 'NOM' ) - #print aTrans - - aTrans = normalize( aTrans ) - return '', aTrans - - def sub( theObject ): - aDict = {} - if hasattr( theObject, 'entites' ): - aDict = copy.copy( theObject.entites ); - for s in SPECIAL: - if hasattr( theObject, s ): - aDict[s] = getattr( theObject, s ) - return aDict - - PARSER.check_object = is_ok - PARSER.translation = dico_tr - PARSER.sub_objects = sub - PARSER.parse( theCataFile, theTSFile ) - - if len( theNotTranslatedFile ) > 0: - PARSER.saveNotTranslated( theNotTranslatedFile ) - - #print - #print "Translations:" - #for key, value in p.data[''].iteritems(): - # print key, "=>", value - diff --git a/OldCodes/ts/tsparser.py b/OldCodes/ts/tsparser.py deleted file mode 100644 index afdeeae8..00000000 --- a/OldCodes/ts/tsparser.py +++ /dev/null @@ -1,127 +0,0 @@ - -import os.path -from xml.etree import ElementTree as ET -from xml.etree.ElementTree import * -from xml.dom import minidom -import re - -def get_file_name( theScript, theFileName, theExtension ): - anExt = '.'+theExtension - if theFileName=='': - return theScript+anExt - if theFileName.lower().endswith( anExt ): - return theFileName - else: - return theFileName + anExt - -class TSParser: - def __init__( self ): - self.data = {} - self.check_object = None # the function to check if the object is suitable for translation - self.translation = None # the function to translate the object's name - self.sub_objects = None # the function to get sub-objects of the given object - self.not_translated = {} - - def add( self, theContext, theSource, theTranslation ): - if len(theSource)==0 or len(theTranslation)==0: - return - if not theContext in self.data: - self.data[theContext] = {} - self.data[theContext][theSource] = theTranslation - - def saveXML( self, theFileName, theEncoding, theDocType, theRootElem ): - aRoughRepr = ET.tostring( theRootElem, theEncoding ) - aDoc = minidom.parseString( aRoughRepr ) - aDocType = minidom.getDOMImplementation( '' ).createDocumentType( theDocType, '', '' ) - aDoc.insertBefore( aDocType, aDoc.documentElement ) - anXmlRepr = aDoc.toprettyxml( indent=' ' ) - anXmlLines = anXmlRepr.split( '\n' )[1:] - anXmlRepr = '\n'.join( anXmlLines ) - anExpr = re.compile( '>\n\s+([^<>\s].*?)\n\s+\g<1> 0: - self.add( aContext, aName, aTranslation ) - elif self.isOK( '', anObject ) and len( aName ) > 0: - #print anObject, aName - self.not_translated[aName] = '' - - aSubObjects = {} - if self.sub_objects: - aSubObjects = self.sub_objects( anObject ) - self.parseObjects( aSubObjects, anObject, aName ) - - def saveNotTranslated( self, theFileName ): - aFile = open( theFileName, 'w' ) - aNotTranslated = self.not_translated.keys() - aNotTranslated.sort() - for aKey in aNotTranslated: - aFile.write( aKey + '\n' ) - aFile.close() diff --git a/PSEN_Eficas/ExtractGeneratorLoadLineandTransfoDico.py b/PSEN_Eficas/ExtractGeneratorLoadLineandTransfoDico.py index 9427e18c..73ff2a0f 100755 --- a/PSEN_Eficas/ExtractGeneratorLoadLineandTransfoDico.py +++ b/PSEN_Eficas/ExtractGeneratorLoadLineandTransfoDico.py @@ -1,14 +1,20 @@ -#NetworkFile = r"C:\Users\J15773\Documents\GTDosier\PSENdocs\Victoria ALL - EFICAS PSEN\Data\2030Conv_HFP2.sav" -#PSSE_PATH = "C:/Program Files/PTI/PSSE33/PSSBIN" #emplacement de PSSE -def ExtractGeneratorLoadLineandTransfoDico(NetworkFile,PSSE_PATH): +############################################################ +# ojectif de ce module: extraire des donnes pour afficher dans l'interface Eficas +############################################################ +NoBreakersandSwitches = True + + +def ExtractGeneratorLoadLineandTransfoDico(NetworkFile,PSSE_PATH, PSSPY_PATH): import os import sys + import numpy as np - print NetworkFile - print PSSE_PATH - sys.path.append(PSSE_PATH) + #print NetworkFile + #print PSSE_PATH + #psspy_path34 = os.path.join("../", PSSE_PATH, "PSSPY27") + sys.path.append(PSSPY_PATH) os.environ['PATH'] += ';' + PSSE_PATH + ';' import psspy @@ -39,41 +45,71 @@ def ExtractGeneratorLoadLineandTransfoDico(NetworkFile,PSSE_PATH): string = ['NAME','ID','EXNAME'] ierr,carray = psspy.aloadchar(sid,flag,string) + string = ['mvaact'] + ierr, xdata = psspy.aloadcplx(sid, flag, string) + LoadDico = {} # [Bus name, load ID, extended bus name, bus number] for i in range(len(iarray[0])): - idname = "Lo" + str(int(carray[1][i])) + idname = "Lo" + carray[1][i].strip() +# try: #id is an integer +# idname = "Lo" + str(int(carray[1][i])) +# except: #id is not an integer +# idname = "Lo" + carray[1][i] loadname = carray[0][i].strip()+ "__" + idname loadname = loadname.replace(" ","_") + loadname = loadname.replace("-","_") loadname = loadname.replace(".","_") loadname = loadname.replace("&","and") + loadname = loadname.replace("%","pct") + loadname = loadname.replace("=","eq") + loadname = loadname.replace("#","_") + loadname = loadname.replace("$","_") + loadname = loadname.replace("/","_") + loadname = loadname.replace("\\","_") try: int(loadname[0]) loadname="_" + loadname except: pass LoadDico[loadname]= {} - LoadDico[loadname]['BusName'] = carray[0][i].strip() + LoadDico[loadname]['NAME'] = carray[0][i].strip() LoadDico[loadname]['ID'] = carray[1][i] - LoadDico[loadname]['BusExName'] =carray[2][i] - LoadDico[loadname]['BusNum']=iarray[0][i] + LoadDico[loadname]['EXNAME'] =carray[2][i] + LoadDico[loadname]['NUMBER']=iarray[0][i] + LoadDico[loadname]['P']=np.real(xdata)[0][i] + LoadDico[loadname]['Q']=np.imag(xdata)[0][i] #Extract Generators sid = -1 #all buses flag = 1 #all in service loads/generators (4 all loads/generators) - + string = ['NUMBER'] ierr,iarray = psspy.amachint(sid,flag,string) string = ['NAME','ID','EXNAME'] ierr,carray = psspy.amachchar(sid,flag,string) + rstrings = ['pgen','qgen','mbase','pmax','qmax','pmin','qmin'] + ierr, rarray = psspy.amachreal(sid, flag, rstrings) + MachineDico = {} # [Bus name, machine ID, extended bus name, bus number] for i in range(len(iarray[0])): - idname = "Gr" + str(int(carray[1][i])) + idname = "Gr" + carray[1][i].strip() +## try: +## idname = "Gr" + str(int(carray[1][i])) +## except: +## idname = "Gr" + carray[1][i] machinename = carray[0][i].strip()+ "__" + idname machinename = machinename.replace(" ","_") + machinename = machinename.replace("-","_") machinename = machinename.replace(".","_") machinename = machinename.replace("&","and") + machinename = machinename.replace("%","pct") + machinename = machinename.replace("=","eq") + machinename = machinename.replace("#","_") + machinename = machinename.replace("$","_") + machinename = machinename.replace("/","_") + machinename = machinename.replace("\\","_") try: int(machinename[0]) machinename="_" + machinename @@ -84,6 +120,63 @@ def ExtractGeneratorLoadLineandTransfoDico(NetworkFile,PSSE_PATH): MachineDico[machinename]['ID'] = carray[1][i] MachineDico[machinename]['EXNAME'] =carray[2][i] MachineDico[machinename]['NUMBER']=iarray[0][i] + MachineDico[machinename]['P']=rarray[0][i] + MachineDico[machinename]['Q']=rarray[1][i] + MachineDico[machinename]['PMAX']=rarray[3][i] + MachineDico[machinename]['QMAX']=rarray[4][i] + MachineDico[machinename]['PMIN']=rarray[5][i] + MachineDico[machinename]['QMIN']=rarray[6][i] + + #Extract Motors + sid = -1 #all buses + flag = 1 #all in service loads/generators (4 all loads/generators) + + string = ['NUMBER','PSETCODE','BASECODE'] + ierr,iarray = psspy.aindmacint(sid,flag,string) + + string = ['NAME','ID','EXNAME'] + ierr,carray = psspy.aindmacchar(sid,flag,string) + + rstrings = ['psetpoint','mbase','p','q'] + ierr, rarray = psspy.aindmacreal(sid, flag, rstrings) + + + MotorDico = {} # [Bus name, machine ID, extended bus name, bus number] + for i in range(len(iarray[0])): + idname = "Mo" + carray[1][i].strip() +## try: +## idname = "Gr" + str(int(carray[1][i])) +## except: +## idname = "Gr" + carray[1][i] + motorname = carray[0][i].strip()+ "__" + idname + motorname = motorname.replace(" ","_") + motorname = motorname.replace("-","_") + motorname = motorname.replace(".","_") + motorname = motorname.replace("&","and") + motorname = motorname.replace("%","pct") + motorname = motorname.replace("=","eq") + motorname = motorname.replace("#","_") + motorname = motorname.replace("$","_") + motorname = motorname.replace("/","_") + motorname = motorname.replace("\\","_") + + try: + int(motorname[0]) + motorname="_" + motorname + except: + pass + MotorDico[motorname]={} + MotorDico[motorname]['NAME'] = carray[0][i].strip() + MotorDico[motorname]['ID'] = carray[1][i] + MotorDico[motorname]['EXNAME'] =carray[2][i] + MotorDico[motorname]['NUMBER']=iarray[0][i] + MotorDico[motorname]['PSETCODE']=iarray[1][i] + MotorDico[motorname]['BASECODE']=iarray[2][i] + MotorDico[motorname]['PSETPOINT']=rarray[0][i] + MotorDico[motorname]['MBASE']=rarray[1][i] + MotorDico[motorname]['P']=rarray[2][i] + MotorDico[motorname]['Q']=rarray[3][i] + #Extract Lignes sid = -1 @@ -98,29 +191,47 @@ def ExtractGeneratorLoadLineandTransfoDico(NetworkFile,PSSE_PATH): LineDico = {} #[linename, Bus name 1, Bus name 2, ID, extended bus name 1, extended bus name 2, bus number 1, bus number 2] for i in range(len(iarray[0])): - idname = carray[4][i] + idname = carray[4][i].strip() + #idname = carray[4][i] if '@' in idname: idname = idname.replace('@','Br') + elif '*' in idname: + idname = idname.replace('*','Sw') else: - idname = 'Li' + str(int(idname)) + try: + idname = 'Li' + str(int(idname)) + except: + idname = 'Li' + idname linename =carray[0][i].strip() + "__" + carray[1][i].strip() + "__" + idname linename = linename.replace(" ","_") + linename = linename.replace("-","_") linename = linename.replace(".","_") linename = linename.replace("&","and") + linename = linename.replace("%","pct") + linename = linename.replace("=","eq") + linename = linename.replace("#","_") + linename = linename.replace("$","_") + linename = linename.replace("/","_") + linename = linename.replace("\\","_") try: int(linename[0]) linename="_" + linename except: pass - LineDico[linename]={} - LineDico[linename]['FROMNAME']=carray[0][i].strip() - LineDico[linename]['TONAME']=carray[1][i].strip() - LineDico[linename]['ID']=carray[4][i] - LineDico[linename]['FROMEXNAME']=carray[2][i] - LineDico[linename]['TOEXNAME']=carray[3][i] - LineDico[linename]['FROMNUMBER']=iarray[0][i] - LineDico[linename]['TONUMBER']=iarray[1][i] + if NoBreakersandSwitches: + if 'Br' not in idname and 'Sw' not in idname: + LineDico[linename]={} + LineDico[linename]['FROMNAME']=carray[0][i].strip() + LineDico[linename]['TONAME']=carray[1][i].strip() + LineDico[linename]['ID']=carray[4][i] + LineDico[linename]['FROMEXNAME']=carray[2][i] + LineDico[linename]['TOEXNAME']=carray[3][i] + LineDico[linename]['FROMNUMBER']=iarray[0][i] + LineDico[linename]['TONUMBER']=iarray[1][i] + + print "Read lines" + #Extract Transfos sid = -1 owner = 1 @@ -134,11 +245,22 @@ def ExtractGeneratorLoadLineandTransfoDico(NetworkFile,PSSE_PATH): TfoDico = {} #[linename, Bus name 1, Bus name 2, machine ID, extended bus name 1, extended bus name 2, bus number 1, bus number 2] for i in range(len(iarray[0])): - idname = 'Tr' + str(int(carray[4][i])) + idname = 'Tr' + carray[4][i].strip() +## try: +## idname = 'Tr' + str(int(carray[4][i])) +## except: +## idname = 'Tr' + carray[4][i] tfoname = carray[0][i].strip() + "__" + carray[1][i].strip() + "__" + idname tfoname = tfoname.replace(" ","_") + tfoname = tfoname.replace("-","_") tfoname = tfoname.replace(".","_") tfoname = tfoname.replace("&","and") + tfoname = tfoname.replace("%","pct") + tfoname = tfoname.replace("=","eq") + tfoname = tfoname.replace("#","_") + tfoname = tfoname.replace("$","_") + tfoname = tfoname.replace("/","_") + tfoname = tfoname.replace("\\","_") try: int(tfoname[0]) tfoname="_" + tfoname @@ -152,22 +274,118 @@ def ExtractGeneratorLoadLineandTransfoDico(NetworkFile,PSSE_PATH): TfoDico[tfoname]['TOEXNAME']=carray[3][i] TfoDico[tfoname]['FROMNUMBER']=iarray[0][i] TfoDico[tfoname]['TONUMBER']=iarray[1][i] + TfoDico[tfoname]['#WIND']=2 + print "Read Transfos" + + #Extract 3 winding Transfos + sid = -1 #assume a subsystem containing all buses in working case + owner_3flow = 1 #1 = use bus ownership 2 = use tfo ownership + ties_3flow = 3 #ignored bc sid is negative. 3 = interior subsystem and subsystem tie 3 winding transformers + flag=3 #all 3 winding transfo windings + string = ['wind1number','wind2number','wind3number'] + ierr,iarray = psspy.awndint(sid,owner,ties,flag,entry,string) + string = ['wind1name','wind2name','wind3name','wind1exname','wind2exname','wind3exname','id'] + ierr,carray = psspy.awndchar(sid,owner,ties,flag,entry,string) + + #[Bus name 1, Bus name 2, Bus name 3, machine ID, extended bus name 1, extended bus name 2, extended bus name 3, bus number 1, bus number 2, bus number 3] + for i in range(len(iarray[0])): + idname = 'Tr' + carray[6][i].strip() +## try: +## idname = 'Tr' + str(int(carray[4][i])) +## except: +## idname = 'Tr' + carray[4][i] + tfoname = carray[0][i].strip() + "__" + carray[1][i].strip() + "__" + carray[2][i].strip() + "__" + idname + tfoname = tfoname.replace(" ","_") + tfoname = tfoname.replace("-","_") + tfoname = tfoname.replace(".","_") + tfoname = tfoname.replace("&","and") + tfoname = tfoname.replace("%","pct") + tfoname = tfoname.replace("=","eq") + tfoname = tfoname.replace("#","_") + tfoname = tfoname.replace("$","_") + tfoname = tfoname.replace("/","_") + tfoname = tfoname.replace("\\","_") + try: + int(tfoname[0]) + tfoname="_" + tfoname + except: + pass + TfoDico[tfoname]={} + TfoDico[tfoname]['FROMNAME']=carray[0][i].strip() + TfoDico[tfoname]['TONAME']=carray[1][i].strip() + TfoDico[tfoname]['3NAME']=carray[2][i].strip() + TfoDico[tfoname]['ID']=carray[6][i] + TfoDico[tfoname]['FROMEXNAME']=carray[3][i] + TfoDico[tfoname]['TOEXNAME']=carray[4][i] + TfoDico[tfoname]['3EXNAME']=carray[5][i] + TfoDico[tfoname]['FROMNUMBER']=iarray[0][i] + TfoDico[tfoname]['TONUMBER']=iarray[1][i] + TfoDico[tfoname]['3NUMBER']=iarray[2][i] + TfoDico[tfoname]['#WIND']=3 + print "Read 3-Winding Transfos" + # path1 = os.getcwd() + # import json + # path_temp=os.path.dirname(NetworkFile) + # # filew = open(path_temp+'/temp.txt', 'w') + # json.dump(MachineDico, open("toto.txt", 'w')) + # # filew.write(MachineDico) + # # filew.close() + filew = open('temp.txt', 'w') + filew.write(NetworkFile + '\n') + filew.write(PSSE_PATH + '\n') + filew.close() + + return MachineDico, LoadDico, LineDico, TfoDico, MotorDico + + +def PFExtractGeneratorLoadLineandTransfoDico(NetworkFile, PF_PATH,Python3_path): + # PSEN sous PowerFactory Lecture les donnees de Generateur,Load,Line,Transfo + import os,pickle + import sys, subprocess + import numpy as np + path1=os.getcwd() + # path_temp=os.path.dirname(NetworkFile) + filew=open('temp.txt','w') + filew.write(NetworkFile+'\n') + filew.write(PF_PATH + '\n') + filew.write(Python3_path + '\n') + filew.close() + print('changer le chemin de Python3 executable') + lancer = [Python3_path+'/python.exe', path1+'/com.py']# changer le chemin de Python3 executable + proc = subprocess.Popen(lancer) + proc.wait() + with open('Data_for_interface', 'rb') as fichier: + mon_depickler = pickle.Unpickler(fichier) + data_file = mon_depickler.load() + + import collections + def convert(data): + if isinstance(data, basestring): + return str(data) + elif isinstance(data, collections.Mapping): + return dict(map(convert, data.iteritems())) + elif isinstance(data, collections.Iterable): + return type(data)(map(convert, data)) + else: + return data + data=convert(data_file) + MachineDico=data['MachineDico'] + LoadDico = data['LoadDico'] + LineDico = data['LineDico'] + TfoDico = data['TransfoDico'] + MotorDico = data['MotorDico'] + os.remove('Data_for_interface') - return MachineDico, LoadDico, LineDico, TfoDico + + return MachineDico, LoadDico, LineDico, TfoDico, MotorDico -#MachineDico, LoadDico, LineDico, TfoDico = ExtractGeneratorLoadLineandTransfoDico(NetworkFile,PSSE_PATH) +#NetworkFile=r"C:\Users\j15773\Documents\Projects\DEWA\Task 4\FEWA_GCCIA_SUMMAX2018_OPF_EQ2.sav" - -def ExtractGeneratorLoadLineandTransfoDico2(NetworkFile,PSSE_PATH): - MachineDico={'M1':'M1','M2':'M2','M3':'M3','M4':'M4','B6_BUS13__1':'AZ','CSPRING__1':'DD','GT12B__1':'ER','BSTMB__1':'JJ'} - LoadDico={'C1':'C1','C2':'C2','C3':'C3','C4':'C4'} - LineDico={'L1':'L1','L2':'L2','L3':'L3','L4':'L4'} - TfoDico={'T1':'T1','T2':'T2','T3':'T3','T4':'T4'} - MDico={'MZ1':'MZ1','MZ2':'MZ2','MZ3':'MZ3','MZ4':'MZ4'} - if NetworkFile == '/home/A96028/PSEN/PSEN_V8/Code/PSEN_Eficas/faux2.sav': - print "sans T1" - TfoDico={'T2':'T2','T3':'T3','T4':'T4'} +#PSSE_PATH=r"C:\Program Files (x86)\PTI\PSSE34\PSSBIN" +#PSSPY_PATH=r"C:\Program Files (x86)\PTI\PSSE34\PSSPY27" +#PSSE_PATH=r"C:\Program Files (x86)\PTI\PSSE33\PSSBIN" +#PSSPY_PATH=r"C:\Program Files (x86)\PTI\PSSE33\PSSBIN" - return MachineDico, LoadDico, LineDico, TfoDico, MDico +#MachineDico, LoadDico, LineDico, TfoDico, MotorDico = ExtractGeneratorLoadLineandTransfoDico(NetworkFile,PSSE_PATH,PSSPY_PATH) diff --git a/PSEN_Eficas/ExtractGeneratorandLoadList.py b/PSEN_Eficas/ExtractGeneratorandLoadList.py deleted file mode 100755 index 08f45480..00000000 --- a/PSEN_Eficas/ExtractGeneratorandLoadList.py +++ /dev/null @@ -1,70 +0,0 @@ -NetworkFile = r"C:\Users\J15773\Documents\GTDosier\PSENdocs\Victoria ALL - EFICAS PSEN\Data\2030Conv_HFP2.sav" -PSSE_PATH = "C:/Program Files/PTI/PSSE33/PSSBIN" #emplacement de PSSE - -def ExtractGeneratorandLoadList(NetworkFile,PSSE_PATH): - - import os - import sys - - print NetworkFile - print PSSE_PATH - sys.path.append(PSSE_PATH) - os.environ['PATH'] += ';' + PSSE_PATH + ';' - - import psspy - import redirect - - ###initialization PSSE - psspy.psseinit(10000) - _i=psspy.getdefaultint() - _f=psspy.getdefaultreal() - _s=psspy.getdefaultchar() - redirect.psse2py() - - # Silent execution of PSSe - islct=6 # 6=no output; 1=standard - psspy.progress_output(islct) - - #open Network File - psspy.case(NetworkFile) - - #Extract Loads - sid = -1 #all buses - flag = 1 #all in service loads/generators (4 all loads/generators) - - - string = ['NUMBER'] - ierr,iarray = psspy.aloadint(sid,flag,string) - - string = ['NAME','ID','EXNAME'] - ierr,carray = psspy.aloadchar(sid,flag,string) - - LoadList = [] # [Bus name, load ID, extended bus name, bus number] - for i in range(len(iarray[0])): - LoadList.append([carray[0][i].strip(),carray[1][i],carray[2][i],iarray[0][i]]) - - #Extract Generators - sid = -1 #all buses - flag = 1 #all in service loads/generators (4 all loads/generators) - - string = ['NUMBER'] - ierr,iarray = psspy.amachint(sid,flag,string) - - string = ['NAME','ID','EXNAME'] - ierr,carray = psspy.amachchar(sid,flag,string) - - MachineList = [] # [Bus name, machine ID, extended bus name, bus number] - for i in range(len(iarray[0])): - MachineList.append([carray[0][i].strip(),carray[1][i],carray[2][i],iarray[0][i]]) - - return MachineList, LoadList - -def ExtractGeneratorandLoadList2(NetworkFile,PSSE_PATH): - MachineList = [['GT 6', '1 ', 'GT 6 11.500', 10], ['GT 7', '1 ', 'GT 7 11.500', 11], ['GT10', '1 ', 'GT10 11.500', 12], ['GT 5', '1 ', 'GT 5 11.500', 13], ['NEWHUNT', '1 ', 'NEWHUNT 11.500', 15], ['BSTMB', '1 ', 'BSTMB 11.500', 23], ['HYD_MAG', '1 ', 'HYD_MAG 6.9000', 25], ['RF1', '1 ', 'RF1 13.800', 37], ['OH2', '1 ', 'OH2 13.800', 41], ['RF2', '1 ', 'RF2 13.800', 42], ['GT3', '1 ', 'GT3 11.500', 43], ['OH3', '1 ', 'OH3 13.800', 47], ['OH4', '1 ', 'OH4 13.800', 50], ['OH6', '1 ', 'OH6 13.800', 52], ['GT 11', '1 ', 'GT 11 11.500', 56], ['B6_BUS13', '1 ', 'B6_BUS13 13.800', 57], ['GT8', '1 ', 'GT8 11.500', 58], ['HYDRR', '1 ', 'HYDRR 6.9000', 59], ['GT9', '1 ', 'GT9 11.500', 63], ['HYD_UWR', '1 ', 'HYD_UWR 6.9000', 64], ['HYD_RIOB', '1 ', 'HYD_RIOB 6.9000', 65], ['HRYD_LW', '1 ', 'HRYD_LW 6.9000', 68], ['GT13B', '1 ', 'GT13B 11.500', 76], ['GT12B', '1 ', 'GT12B 11.500', 77], ['CSPRING', '1 ', 'CSPRING 69.000', 91], ['OLDHARB1', '1 ', 'OLDHARB1 138.00', 114], ['WIGTON', '1 ', 'WIGTON 0.6900', 202], ['JEPWK1', '1 ', 'JEPWK1 11.500', 300], ['JEPWK1', '2 ', 'JEPWK1 11.500', 300], ['JEPWK1', '3 ', 'JEPWK1 11.500', 300], ['JEPWK2', '1 ', 'JEPWK2 11.500', 301], ['JEPWK2', '2 ', 'JEPWK2 11.500', 301], ['JEPWK2', '3 ', 'JEPWK2 11.500', 301], ['W_MUN1', '1 ', 'W_MUN1 69.000', 503], ['HYD_RHORN', '1 ', 'HYD_RHORN 69.000', 711]] - - LoadList= [['TREDEGAR', '1 ', 'TREDEGAR 69.000', 5], ['HOPE', '1 ', 'HOPE 69.000', 16], ['MILCHELT', '1 ', 'MILCHELT 69.000', 17], ['PARADISE', '1 ', 'PARADISE 69.000', 24], ['BLEDGE', '1 ', 'BLEDGE 69.000', 26], ['CANE RIV', '1 ', 'CANE RIV 69.000', 27], ['HIGHGATE', '1 ', 'HIGHGATE 69.000', 29], ['QUEENS D', '1 ', 'QUEENS D 69.000', 30], ['OCHO', '1 ', 'OCHO 69.000', 32], ['BOGUE_69', '1 ', 'BOGUE_69 69.000', 33], ['ROSE HAL', '1 ', 'ROSE HAL 69.000', 35], ['OH1', '1 ', 'OH1 13.800', 36], ['RF1', '1 ', 'RF1 13.800', 37], ['CEMENT C', '1 ', 'CEMENT C 69.000', 38], ['OBAY69', '1 ', 'OBAY69 69.000', 39], ['DUNCANS6', '1 ', 'DUNCANS6 69.000', 40], ['OH2', '1 ', 'OH2 13.800', 41], ['RF2', '1 ', 'RF2 13.800', 42], ['3MLS69', '1 ', '3MLS69 69.000', 45], ['WBLVD69', '1 ', 'WBLVD69 69.000', 46], ['OH3', '1 ', 'OH3 13.800', 47], ['PORT ANT', '1 ', 'PORT ANT 69.000', 48], ['OH4', '1 ', 'OH4 13.800', 50], ['B6_BUS13', '1 ', 'B6_BUS13 13.800', 57], ['GREENWOO', '1 ', 'GREENWOO 69.000', 60], ['LYSSONS', '1 ', 'LYSSONS 69.000', 61], ['PORUS', '1 ', 'PORUS 69.000', 62], ['R RIVER', '1 ', 'R RIVER 69.000', 66], ['MARTHA B', '1 ', 'MARTHA B 69.000', 67], ['WKH69', '1 ', 'WKH69 69.000', 69], ['PNASUS69', '1 ', 'PNASUS69 69.000', 70], ['ANNOTTO', '1 ', 'ANNOTTO 69.000', 71], ['UW RIVER', '1 ', 'UW RIVER 69.000', 74], ['KNDAL 69', '1 ', 'KNDAL 69 69.000', 75], ['MONYMUSK', '1 ', 'MONYMUSK 69.000', 78], ['OROCABES', '1 ', 'OROCABES 69.000', 79], ['MAGGOTTY', '1 ', 'MAGGOTTY 69.000', 80], ['UP PARK', '1 ', 'UP PARK 69.000', 82], ['TWICKENH', '1 ', 'TWICKENH 69.000', 85], ['MAY PEN', '1 ', 'MAY PEN 69.000', 88], ['PAJ', '1 ', 'PAJ 69.000', 89], ['GROAD_69', '1 ', 'GROAD_69 69.000', 90], ['CSPRING', '1 ', 'CSPRING 69.000', 91], ['S_ TREE6', '1 ', 'S_ TREE6 69.000', 92], ['NAGGOS H', '1 ', 'NAGGOS H 69.000', 94], ['GOODYEAR', '1 ', 'GOODYEAR 69.000', 99], ['HBAY_69', '1 ', 'HBAY_69 69.000', 101], ['RFORT69', '1 ', 'RFORT69 69.000', 102], ['RHODEN P', '1 ', 'RHODEN P 69.000', 105], ['DUHANEY6', '1 ', 'DUHANEY6 69.000', 107], ['CARDIFF', '1 ', 'CARDIFF 69.000', 109], ['JAB13.8', '1 ', 'JAB13.8 13.800', 112], ['JAM13.8', '1 ', 'JAM13.8 13.800', 113]] - return MachineList, LoadList - -if __name__ == "__main__": - MachineList,LoadList= ExtractGeneratorandLoadList2(NetworkFile,PSSE_PATH) - print MachineList, LoadList diff --git a/PSEN_Eficas/PSEN/OutLog.py b/PSEN_Eficas/PSEN/OutLog.py new file mode 100644 index 00000000..2044564f --- /dev/null +++ b/PSEN_Eficas/PSEN/OutLog.py @@ -0,0 +1,2 @@ +ierr = psspy.add_details_to_opf_log(1) +ierr = psspy.produce_opf_log_file(1,r'C:\Users\j15773\Documents\GTDosier\PSEN\Versions\PSEN_V14 - ec dispatch\Example\Results\LOG.log') \ No newline at end of file diff --git a/PSEN_Eficas/PSEN/PFWrapper.py b/PSEN_Eficas/PSEN/PFWrapper.py new file mode 100644 index 00000000..78cf4153 --- /dev/null +++ b/PSEN_Eficas/PSEN/PFWrapper.py @@ -0,0 +1,950 @@ +# -*- coding: cp1252 -*- +#=============================================================================== +# PSEN SCRIPT FOR PROBABILISTIC STUDIES OF ELECTICAL NETWORKS +#=============================================================================== +from pylab import * +from math import* +import os, random, sys,copy,multiprocessing +import numpy as np +import time #import gmtime, strftime, sleep +from array import * +import PSENconfig #file with Eficas output dictionaries +from support_functionsPF import * +import shutil +import pdb +import csv + +from openturns import * #decommenter apres +InitializeDispatchGentoP0 = False +# Debug = False +Debug = True +if __name__ == '__main__': + start_total = time.clock(); + start = time.clock(); #++++++++++++++++++ + + + if Debug: + cmd_Path=os.getcwd()+r'\usrCmdPF.py' #lancement depuis pssewrapper.py + #cmd_Path=os.getcwd()+'\PSEN\usrCmd.py' #lancement depuis qteficas_psen.py + else: + cmd_Path=os.path.join(os.path.dirname(os.path.abspath(__file__)),"usrCmdPF.py") + ##cmd_Path=os.getcwd()+'\EficasV1\PSEN_Eficas\PSEN\usrCmd.py' #lancement avec le .bat +#=============================================================================== +# Recuperation donnees utilisateurs - User data +#=============================================================================== + #extract laws from Eficas Output + Paths = PSENconfig.Dico['DIRECTORY'] + SimuParams = PSENconfig.Dico['SIMULATION'] + PFParams = PSENconfig.Dico['PF_PARAMETERS'] + + if 'CORRELATION' in PSENconfig.Dico:#sortir list de lawnames + LawNames = RemoveListfromString(PSENconfig.Dico['CORRELATION']['CorrelationMatrix'][0]) + Laws = {} + NonActiveIndices = [] + TSindices = [] + for key in PSENconfig.Dico.keys(): + if key[0:12] == 'DISTRIBUTION': + shortkey = key[12:] + if PSENconfig.Dico[key]['Activated']==True: #only take into account laws which are "activated" + Laws[shortkey]= PSENconfig.Dico[key] + if Laws[shortkey]['Law']=='PDF_from_file': #read contents of .csv file + g=open(Laws[shortkey]['FileName'],"r") + lines=g.readlines() + g.close() + Laws[shortkey]['FileContents']=lines + elif Laws[shortkey]['Law']=='TimeSeries_from_file': #read contents of .csv file + g=open(Laws[shortkey]['FileName'],"r") + lines=g.readlines() + g.close() + Laws[shortkey]['FileContents']=lines + if 'CORRELATION' in PSENconfig.Dico: + TSindices.append(LawNames.index(shortkey)) + if isinstance(Laws[shortkey][Laws[shortkey]['ComponentType']],str): + Laws[shortkey][Laws[shortkey]['ComponentType']]=[Laws[shortkey][Laws[shortkey]['ComponentType']]] #if only one entry, create list + if 'TF_Input' in Laws[shortkey]: #If user inputted transfer function + Laws[shortkey]['TransferFunction']=True + else: + Laws[shortkey]['TransferFunction']=False + else: + if 'CORRELATION' in PSENconfig.Dico: + NonActiveIndices.append(LawNames.index(shortkey)) + + if 'CORRELATION' in PSENconfig.Dico: + #Treat Correlation Matrix - eliminate non-activated laws + CorrMatrix0 = {} + LawNames2 = [] + + for i, lawname in enumerate(LawNames): + if i not in NonActiveIndices: + LawNames2.append(lawname) + Cmax = PSENconfig.Dico['CORRELATION']['CorrelationMatrix'][1:] + CMax = [] + for i,c in enumerate(Cmax): + if i not in NonActiveIndices: + c = RemoveListfromString(c) + c = map(float,c) + c2 = [] + for ind, c_el in enumerate(c): + if ind not in NonActiveIndices: + ## c2.append(c_el) + + #if time series, don't correlate other laws with the value "1". + if (ind not in TSindices) and (i not in TSindices): + c2.append(c_el) + elif i==ind: + c2.append(1.) + else: + c2.append(0.) + CMax.append(c2) + + CorrMatrix0['matrix'] = np.array(CMax) + CorrMatrix0['laws'] = LawNames2 + + else: #acceptable only if all active distributions are time series or if only 1 active distribution + + if len(Laws)==1: #create correlation matrix of 1 x 1 + CorrMatrix0 = {} + CorrMatrix0['matrix'] = np.array([[1]]) + CorrMatrix0['laws'] = Laws.keys() + else: #>1 law, test if all TS + allTS=True + for key in Laws.keys(): + if Laws[key]['Law']!='TimeSeries_from_file': + allTS=False + if allTS: + CorrMatrix0 = {} + CorrMatrix0['matrix']=np.eye(len(Laws)) + CorrMatrix0['laws']=Laws.keys() + else: + print ('Error: Correlation matrix must be defined. Enter 0''s for correlations between laws and time series.') + sys.exit(1) + + #Duplicate Laws for cases where 1 law defined for multiple components and different sampling should be performed per component: + isDuplicateLaws = False + for law in list(Laws.keys()): + if 'One sample per ' in Laws[law]['Sampling']: + isDuplicateLaws = True + ComponentType = Laws[law]['ComponentType'] + ComponentList = Laws[law][ComponentType] + for component in ComponentList: + lawname = law + "_" + component + Laws[lawname]=Laws[law].copy() #make a copy of the law + Laws[lawname][ComponentType]=[component] #apply law to only one component, not whole list + del Laws[law] + else: #one sample for all components defined by law + i = CorrMatrix0['laws'].index(law) + if CorrMatrix0['matrix'][i][i] != 1: + print( 'Error: Correlation must be 1 between law and itself for law with same sample for all components. (' + law + ')') + sys.exit(1) + #CorrMaxtrix0['matrix'][i][i] = 1 + + #retreat CorrelationMatrix + if isDuplicateLaws: + CorrMatrix = {} + CorrMatrix['laws']=Laws.keys() + CorrMatrix['matrix']=np.eye(len(Laws.keys())) + for x,lawname1 in enumerate(Laws.keys()): + for i,lawname1_0 in enumerate(CorrMatrix0['laws']): + if lawname1_0 in lawname1: + break + for y, lawname2 in enumerate(Laws.keys()): + for j,lawname2_0 in enumerate(CorrMatrix0['laws']): + if lawname2_0 in lawname2: + break + if x!=y: + CorrMatrix['matrix'][x][y] = CorrMatrix0['matrix'][i][j] + CorrMatrix['matrix'][y][x] = CorrMatrix0['matrix'][j][i] + + else: + CorrMatrix = CorrMatrix0 + #retest for positive definiteness + if not np.all(np.linalg.eigvals(CorrMatrix['matrix'])>0): + print ('Error: Correlation matrix is not positive definite.') + sys.exit(1) + #execution file name + exec_file="report.txt" + + # Treat Contingency Files enteres as CSVs + LinesList = [] + GeneratorsList = [] + LoadsList = [] + TransformersList = [] + MotorsList = [] + + if 'N_1_LINES' in PSENconfig.Dico: + if PSENconfig.Dico['N_1_LINES']['Activated']==True: + LinesList = PSENconfig.Dico['N_1_LINES']['Probability'] + if 'N_1_GENERATORS' in PSENconfig.Dico: + if PSENconfig.Dico['N_1_GENERATORS']['Activated']==True: + GeneratorsList = PSENconfig.Dico['N_1_GENERATORS']['Probability'] + if 'N_1_LOADS' in PSENconfig.Dico: + if PSENconfig.Dico['N_1_LOADS']['Activated']==True: + LoadsList = PSENconfig.Dico['N_1_LOADS']['Probability'] + if 'N_1_TRANSFORMERS' in PSENconfig.Dico: + if PSENconfig.Dico['N_1_TRANSFORMERS']['Activated']==True: + TransformersList = PSENconfig.Dico['N_1_TRANSFORMERS']['Probability'] + if 'N_1_MOTORS' in PSENconfig.Dico: + if PSENconfig.Dico['N_1_MOTORS']['Activated']==True: + MotorsList = PSENconfig.Dico['N_1_MOTORS']['Probability'] + + try : + continLines, continGroups, continTransfos, continLoads, continMotors, continVal, continProb = config_contingency(LinesList,GeneratorsList,TransformersList,LoadsList,MotorsList) + except IOError : # Si le fichier n'est pas dans un bon format on traite l'exception + nb_lines=1 + print ('Error with contingency input file') + else : + continLines, continGroups, continTransfos, continLoads, continMotors, continVal, continProb = config_contingency(LinesList,GeneratorsList,TransformersList,LoadsList,MotorsList) + + if len(continVal)>0: + N_1_fromFile = True + else: + N_1_fromFile = False + + # Creation variable nom dossier N-1 + if N_1_fromFile == True : + folderN_1 = '1_' + else : + folderN_1 = '_' + + + # Definition des variables pour les series temporelles + + time_serie_flag=[] + time_serie_mat=[] + time_serie_time=[] + timeVect = [] + for i,key in enumerate(CorrMatrix['laws']) : + if Laws[key]['Law']=='TimeSeries_from_file': + linesTS = Laws[key]['FileContents'] + time_serie = 1 #raise the flag time_serie + tsm=[] + tVect=[] + for j in range (len(linesTS)) : + try: + tsm.append(float(commaToPoint(linesTS[j].split(';')[1]))) + tVect.append(linesTS[j].split(';')[0]) + except : + pass + time_serie_time.append(tVect) + time_serie_flag.append(1) + time_serie_mat.append(tsm) + else: + time_serie_flag.append(-1) + if N_1_fromFile==True: + time_serie_flag.append(-1) + + #find shortest time series column + try: + time_serie + timeVect = time_serie_time[0] + for index, tV in enumerate(time_serie_time): + if len(tV) < len(timeVect): + timeVect = tV + except NameError: + pass + + #change time Vector into iteration numbers (otherwise difficult for post processing) + N = len(timeVect) + timeVect = range(1, N+1) + + time_serie_mat=list(zip(*time_serie_mat)) + + # Probabilistic Study: central dispersion => Monte Carlo or LHS iterations + if 'NUMBER_PACKAGE' in SimuParams: + nb_fix = int(SimuParams['NUMBER_PACKAGE']) + elif 'CONVERGENCE' in SimuParams: + if SimuParams['CONVERGENCE']==1: + nb_fix=0 + else: + nb_fix=100 + print ('\nALERT:\nConvergence not selected, and no number of packages chosen: default number= 100') + time.sleep(2) + #Extension name for the folders and files + day=time.strftime("%Y%m%d", time.gmtime()) + hour=time.strftime("%Hh%Mm%S", time.gmtime()) + # Enregistrement de l'heure de debut de simulation + f=open(exec_file, 'a') + start_time=time.clock() + f.write("Starting time: %f; Monte Carlo Size : %f; " % (start_time, SimuParams["SIZE_PACKAGE"])) + f.close() + + try: + time_serie + except NameError: + num_cores=multiprocessing.cpu_count()-1 + num_cores=1#Valentin + else: + num_cores=multiprocessing.cpu_count() + num_cores=1#Valentin + + # Initialize the big folder + pathBigFolder = Paths['results_folder']+"/N"+folderN_1+day+"_"+hour + if not os.path.exists(pathBigFolder): os.makedirs(pathBigFolder) + + #folder=Paths['results_folder']+"/N"+folderN_1+day #big folder + for j in range(num_cores): + # Initialize a folder per core + pathSmallFolder = pathBigFolder+'\package'+str(j)+"_N"+folderN_1+day+"_"+hour + if not os.path.exists(pathSmallFolder): os.makedirs(pathSmallFolder) + + + path_save = os.path.join(pathBigFolder, 'package0' + "_N" + folderN_1 + day + "_" + hour) + filew = open('temp1.txt', 'w') + filew.write(path_save + '\n')# sauvegarder le path de travail + filew.close() + stop = time.clock(); print(' Traitement PSENConfig ' + str(round(stop - start, 3)) + ' seconds'); start = stop; + Python3_path=PSENconfig.Dico['DIRECTORY']['Python3_path'] + lancer = [Python3_path + '/python.exe',os.path.dirname(os.path.realpath(__file__))+ '/read_pfd_wrapper.py'] # changer le chemin de Python3 executable + proc = subprocess.Popen(lancer) + proc.wait() + stop = time.clock(); print('run read_pfd_wrapper.py in ' + str(round(stop - start, 3)) + ' seconds'); start = stop; + + + with open('param_base', 'rb') as fichier: + mon_depickler = pickle.Unpickler(fichier) + all_inputs_init= mon_depickler.load() + os.remove('param_base') + buses_base=all_inputs_init[0] + lines_base=all_inputs_init[1] + trans_base=all_inputs_init[2] + plants_base=all_inputs_init[3] + loads_base=all_inputs_init[4] + shunt_base=all_inputs_init[5] + motors_base=all_inputs_init[6] + trans3_base=all_inputs_init[7] + swshunt_base=all_inputs_init[8] + + +########///////////////////////////////////////////////////////////########## + # Initialize size output + sizeY0=len(plants_base) #np.matrix(plants_base).shape[0] + sizeY1=len(buses_base) #np.matrix(buses_base).shape[0] + sizeY2=len(lines_base) #np.matrix(lines_base).shape[0] + sizeY3=len(loads_base) #np.matrix(loads_base).shape[0] + sizeY4=len(shunt_base) #np.matrix(shunt_base).shape[0] + sizeY5=len(trans_base) #np.matrix(trans_base).shape[0] + sizeY6=len(motors_base) #np.matrix(motors_base).shape[0] + sizeY7=len(trans3_base) + sizeY8=len(swshunt_base) #np.matrix(shunt_base).shape[0] + sizeY=[sizeY0,sizeY1,sizeY2,sizeY5,sizeY7,sizeY3,sizeY6,sizeY4,sizeY8] + sizeOutput=sizeY2 + + # Initialize the logger : write the headers + entete = "" + unit = "" + for key in CorrMatrix['laws']: + if Laws[key]['ComponentType']=='Generator': + if Laws[key]['Type']=='Generator Unavailability': + entete+="X:genStatus" + key + ";" + unit += ";" + else: + entete+="X:Gen" + key + "(%Pnom);" + unit += "%Pnom;" + elif Laws[key]['ComponentType']=='Load': + if Laws[key]['Type']=='Load Unavailability': + entete+="X:loadStatus" + key + ";" + unit += ";" + else: + entete+="X:Load" + key + "(p.u.);" + unit += "p.u.;" + elif Laws[key]['ComponentType']=='Line': + entete+="X:lineStatus" + key + ";" + unit += ";" + elif Laws[key]['ComponentType']=='Transformer': + entete+="X:transfoStatus" + key + ";" + unit += ";" + elif Laws[key]['ComponentType']=='Motor': + entete+="X:motorStatus" + key + ";" + unit += ";" + if N_1_fromFile==True: + entete += "X:N-1;" + unit += "component disconnected;" + entete2=entete + ";Y:NumTransitLine;Y:NumTransitTr;Y:NumVoltage;Y:GenTot;Y:LoadTot;Y:%Losses;Y:Max%ALine;Y:Max%ATr;Y:NumTransit_0.9-1Line;Y:NumTransit_0.9-1Tr;Y:AddedMVAR;Y:LoadShedding;Y:GensDisconnected;;" + if PFParams['ALGORITHM']=='Optimum Power Flow': + entete += ";Y:NumTransitLine;Y:NumTransitTr;Y:NumVoltage;Y:GenTot;Y:LoadTot;Y:%Losses;Y:Max%ALine;Y:Max%ATr;Y:NumTransit_0.9-1Line;Y:NumTransit_0.9-1Tr;Y:AddedMVAR;Y:LoadShedding;;" + + unit2= unit + ';Num;Num;Num;MW;MW;%;%;%;Num;Num;MVAR;MW;[(bus, id),...];;' + if PFParams['ALGORITHM']=='Optimum Power Flow': + unit += ';Num;Num;Num;MW;MW;%;%;%;Num;Num;MVAR;MW;;' + + string = "Iteration;;" + entete + unitstring = "Num;;" + unit + string2 = "Iteration;;" + entete2 + unitstring2 = "Num;;" + unit2 + + logCSVfilename=[] + logCSVfilename_UC=[] + for i in range(num_cores): + logCSVfilename.append(pathBigFolder+'/package'+str(i)+"_N"+folderN_1+day+ "_" + hour + "/simulationDClog_"+hour+".csv") # Name of the file : global variable + logCSVfilename_UC.append(pathBigFolder+'/package'+str(i)+"_N"+folderN_1+day+ "_" + hour + "/simulationDClog_beforeUC_"+hour+".csv") # Name of the file : global variable + f = open(logCSVfilename[i], "a") + f2 = open(logCSVfilename_UC[i], "a") + + f.write(string) + f2.write(string2) + + # Names of the Output variables with the bus number + for name in range (sizeY0): + f.write("Y:PMachine"+str(plants_base[name][0])+"id"+ str(plants_base[name][2])+ ";") + f2.write("Y:PMachine"+str(plants_base[name][0])+"id"+ str(plants_base[name][2])+ ";") + for name in range (sizeY0): + f.write("Y:QMachine"+str(plants_base[name][0])+"id"+ str(plants_base[name][2])+";") + f2.write("Y:QMachine"+str(plants_base[name][0])+"id"+ str(plants_base[name][2])+";") + for name in range (sizeY1): + f.write("Y:VBus"+str(buses_base[name][0])+";") + f2.write("Y:VBus"+str(buses_base[name][0])+";") + for name in range (sizeY2): + f.write("Y"+str(name+1)+":%Rate "+str(lines_base[name][0])+"-"+str(lines_base[name][1])+" id"+ str(lines_base[name][10])+";") + f2.write("Y"+str(name+1)+":%Rate "+str(lines_base[name][0])+"-"+str(lines_base[name][1])+" id"+ str(lines_base[name][10])+";") + for name in range (sizeY2): + f.write("Y"+str(name+1)+":P "+str(lines_base[name][0])+"-"+str(lines_base[name][1])+" id"+ str(lines_base[name][10])+";") + f2.write("Y"+str(name+1)+":P "+str(lines_base[name][0])+"-"+str(lines_base[name][1])+" id"+ str(lines_base[name][10])+";") + for name in range (sizeY2): + f.write("Y"+str(name+1)+":Q "+str(lines_base[name][0])+"-"+str(lines_base[name][1])+" id"+ str(lines_base[name][10])+";") + f2.write("Y"+str(name+1)+":Q "+str(lines_base[name][0])+"-"+str(lines_base[name][1])+" id"+ str(lines_base[name][10])+";") + for name in range (sizeY5): + f.write("Y"+str(name+1)+":Tr%Rate "+str(trans_base[name][0])+"-"+str(trans_base[name][1])+" id"+ str(trans_base[name][10]).strip()+";") + f2.write("Y"+str(name+1)+":Tr%Rate "+str(trans_base[name][0])+"-"+str(trans_base[name][1])+" id"+ str(trans_base[name][10]).strip()+";") + for name in range (sizeY5): + f.write("Y"+str(name+1)+":TrP "+str(trans_base[name][0])+"-"+str(trans_base[name][1])+" id"+ str(trans_base[name][10]).strip()+";") + f2.write("Y"+str(name+1)+":TrP "+str(trans_base[name][0])+"-"+str(trans_base[name][1])+" id"+ str(trans_base[name][10]).strip()+";") + for name in range (sizeY5): + f.write("Y"+str(name+1)+":TrQ "+str(trans_base[name][0])+"-"+str(trans_base[name][1])+" id"+ str(trans_base[name][10]).strip()+";") + f2.write("Y"+str(name+1)+":TrQ "+str(trans_base[name][0])+"-"+str(trans_base[name][1])+" id"+ str(trans_base[name][10]).strip()+";") + + for name in range (sizeY7): + f.write("Y"+str(name+1)+":Tr3%Rate "+str(trans3_base[name][0])+"-"+str(trans3_base[name][1])+"-"+str(trans3_base[name][2])+" id"+ str(trans3_base[name][13]).strip()+ " wnd"+str(trans3_base[name][3])+";") + f2.write("Y"+str(name+1)+":Tr3%Rate "+str(trans3_base[name][0])+"-"+str(trans3_base[name][1])+"-"+str(trans3_base[name][2])+" id"+ str(trans3_base[name][13]).strip()+ " wnd"+str(trans3_base[name][3])+";") + for name in range (sizeY7): + f.write("Y"+str(name+1)+":Tr3P "+str(trans3_base[name][0])+"-"+str(trans3_base[name][1])+"-"+str(trans3_base[name][2])+" id"+ str(trans3_base[name][13]).strip()+ " wnd"+str(trans3_base[name][3])+";") + f2.write("Y"+str(name+1)+":Tr3P "+str(trans3_base[name][0])+"-"+str(trans3_base[name][1])+"-"+str(trans3_base[name][2])+" id"+ str(trans3_base[name][13]).strip()+ " wnd"+str(trans3_base[name][3])+";") + for name in range (sizeY7): + f.write("Y"+str(name+1)+":Tr3Q "+str(trans3_base[name][0])+"-"+str(trans3_base[name][1])+"-"+str(trans3_base[name][2])+" id"+ str(trans3_base[name][13]).strip()+ " wnd"+str(trans3_base[name][3])+";") + f2.write("Y"+str(name+1)+":Tr3Q "+str(trans3_base[name][0])+"-"+str(trans3_base[name][1])+"-"+str(trans3_base[name][2])+" id"+ str(trans3_base[name][13]).strip()+ " wnd"+str(trans3_base[name][3])+";") + for name in range (sizeY3): + f.write("Y:Load "+str(loads_base[name][0])+" id"+ str(loads_base[name][5])+";") + f2.write("Y:Load "+str(loads_base[name][0])+" id"+ str(loads_base[name][5])+";") + for name in range (sizeY6): + f.write("Y:MotorP "+str(motors_base[name][0])+" id"+ str(motors_base[name][5])+";") + f2.write("Y:MotorP "+str(motors_base[name][0])+" id"+ str(motors_base[name][5])+";") + for name in range (sizeY6): + f.write("Y:MotorQ "+str(motors_base[name][0])+" id"+ str(motors_base[name][5])+";") + f2.write("Y:MotorQ "+str(motors_base[name][0])+" id"+ str(motors_base[name][5])+";") + for name in range (sizeY4): + f.write("Y:Shunt bus "+str(shunt_base[name][0])+" id"+ str(shunt_base[name][5])+";") + f2.write("Y:Shunt bus "+str(shunt_base[name][0])+" id"+ str(shunt_base[name][5])+";") + for name in range (sizeY8): + f.write("Y:Sw shunt bus "+str(swshunt_base[name][0])+";") + f2.write("Y:Sw shunt bus "+str(swshunt_base[name][0])+";") + f.write("\n") + f2.write("\n") + # Names of the Output variables with the bus names + f.write(unitstring) + f2.write(unitstring2) + for name in range (sizeY0): + f.write(str(plants_base[name][8]).replace('\n','')+";") + f2.write(str(plants_base[name][8]).replace('\n','')+";") + for name in range (sizeY0): + f.write(str(plants_base[name][8]).replace('\n','')+";") + f2.write(str(plants_base[name][8]).replace('\n','')+";") + for name in range (sizeY1): + f.write(str(buses_base[name][3]).replace("\n",'')+";") + f2.write(str(buses_base[name][3]).replace("\n",'')+";") + for name in range (sizeY2): + f.write(str(lines_base[name][8]).replace("\n",'').replace("-","_")+ " - " +str(lines_base[name][9]).replace("\n",'').replace(" - "," _ ")+";") + f2.write(str(lines_base[name][8]).replace("\n",'').replace(" - "," _ ")+" - "+str(lines_base[name][9]).replace("\n",'').replace(" - "," _ ")+";") + for name in range (sizeY2): + f.write(str(lines_base[name][8]).replace("\n",'').replace(" - "," _ ")+" - "+str(lines_base[name][9]).replace("\n",'').replace(" - "," _ ")+";") + f2.write(str(lines_base[name][8]).replace("\n",'').replace(" - "," _ ")+" - "+str(lines_base[name][9]).replace("\n",'').replace(" - "," _ ")+";") + for name in range (sizeY2): + f.write(str(lines_base[name][8]).replace("\n",'').replace(" - "," _ ")+" - "+str(lines_base[name][9]).replace("\n",'').replace(" - "," _ ")+";") + f2.write(str(lines_base[name][8]).replace("\n",'').replace(" - "," _ ")+" - "+str(lines_base[name][9]).replace("\n",'').replace(" - "," _ ")+";") + for name in range (sizeY5): + f.write(str(trans_base[name][8]).replace("\n",'').replace(" - "," _ ")+" - "+str(trans_base[name][9]).replace("\n",'').replace(" - "," _ ")+";") + f2.write(str(trans_base[name][8]).replace("\n",'').replace(" - "," _ ")+" - "+str(trans_base[name][9]).replace("\n",'').replace(" - "," _ ")+";") + for name in range (sizeY5): + f.write(str(trans_base[name][8]).replace("\n",'').replace(" - "," _ ")+" - "+str(trans_base[name][9]).replace("\n",'').replace(" - "," _ ")+";") + f2.write(str(trans_base[name][8]).replace("\n",'').replace(" - "," _ ")+" - "+str(trans_base[name][9]).replace("\n",'').replace(" - "," _ ")+";") + for name in range (sizeY5): + f.write(str(trans_base[name][8]).replace("\n",'').replace(" - "," _ ")+" - "+str(trans_base[name][9]).replace("\n",'').replace(" - "," _ ")+";") + f2.write(str(trans_base[name][8]).replace("\n",'').replace(" - "," _ ")+" - "+str(trans_base[name][9]).replace("\n",'').replace(" - "," _ ")+";") + for name in range (sizeY7): + f.write(str(trans3_base[name][10]).replace("\n",'').replace(" - "," _ ")+" - "+str(trans3_base[name][11]).replace("\n",'').replace(" - "," _ ")+" - "+str(trans3_base[name][12]).replace("\n",'').replace(" - "," _ ")+";") + f2.write(str(trans3_base[name][10]).replace("\n",'').replace(" - "," _ ")+" - "+str(trans3_base[name][11]).replace("\n",'').replace(" - "," _ ")+" - "+str(trans3_base[name][12]).replace("\n",'').replace(" - "," _ ")+";") + for name in range (sizeY7): + f.write(str(trans3_base[name][10]).replace("\n",'').replace(" - "," _ ")+" - "+str(trans3_base[name][11]).replace("\n",'').replace(" - "," _ ")+" - "+str(trans3_base[name][12]).replace("\n",'').replace(" - "," _ ")+";") + f2.write(str(trans3_base[name][10]).replace("\n",'').replace(" - "," _ ")+" - "+str(trans3_base[name][11]).replace("\n",'').replace(" - "," _ ")+" - "+str(trans3_base[name][12]).replace("\n",'').replace(" - "," _ ")+";") + for name in range (sizeY7): + f.write(str(trans3_base[name][10]).replace("\n",'').replace(" - "," _ ")+" - "+str(trans3_base[name][11]).replace("\n",'').replace(" - "," _ ")+" - "+str(trans3_base[name][12]).replace("\n",'').replace(" - "," _ ")+";") + f2.write(str(trans3_base[name][10]).replace("\n",'').replace(" - "," _ ")+" - "+str(trans3_base[name][11]).replace("\n",'').replace(" - "," _ ")+" - "+str(trans3_base[name][12]).replace("\n",'').replace(" - "," _ ")+";") + for name in range (sizeY3): + f.write(str(loads_base[name][4]).replace("\n",'')+";") + f2.write(str(loads_base[name][4]).replace("\n",'')+";") + for name in range (sizeY6): + f.write(str(motors_base[name][4]).replace("\n",'')+";") + f2.write(str(motors_base[name][4]).replace("\n",'')+";") + for name in range (sizeY6): + f.write(str(motors_base[name][4]).replace("\n",'')+";") + f2.write(str(motors_base[name][4]).replace("\n",'')+";") + for name in range (sizeY4): + f.write(str(shunt_base[name][3]).replace("\n",'')+";") + f2.write(str(shunt_base[name][3]).replace("\n",'')+";") + for name in range (sizeY8): + f.write(str(swshunt_base[name][3]).replace("\n",'')+";") + f2.write(str(swshunt_base[name][3]).replace("\n",'')+";") + f.write("\n") + f2.write("\n") + f.close() + f2.close() + + if not PFParams['UNIT_COMMITMENT']: + for filename in logCSVfilename_UC: + os.remove(filename) + + # Definition of size input/output + inputDim = len(Laws.keys())+ int(N_1_fromFile) + outputDim = 12 + + N_1_LINES = [] + if ('N_1_LINES' in PSENconfig.Dico): + if PSENconfig.Dico['N_1_LINES']['Activated'] == True: + for N1 in PSENconfig.Dico['N_1_LINES']['Probability']: + if N1[1] != 0: + N_1_LINES.append(N1[0]) + N_1_TRANSFORMERS = [] + if ('N_1_TRANSFORMERS' in PSENconfig.Dico): + if PSENconfig.Dico['N_1_TRANSFORMERS']['Activated'] == True: + for N1 in PSENconfig.Dico['N_1_TRANSFORMERS']['Probability']: + if N1[1] != 0: + N_1_TRANSFORMERS.append(N1[0]) + N_1_MOTORS = [] + if ('N_1_MOTORS' in PSENconfig.Dico): + if PSENconfig.Dico['N_1_MOTORS']['Activated'] == True: + for N1 in PSENconfig.Dico['N_1_MOTORS']['Probability']: + if N1[1] != 0: + N_1_MOTORS.append(N1[0]) + N_1_LOADS = [] + if ('N_1_LOADS' in PSENconfig.Dico): + if PSENconfig.Dico['N_1_LOADS']['Activated'] == True: + for N1 in PSENconfig.Dico['N_1_LOADS']['Probability']: + if N1[1] != 0: + N_1_LOADS.append(N1[0]) + N_1_GENERATORS = [] + if ('N_1_GENERATORS' in PSENconfig.Dico): + if PSENconfig.Dico['N_1_GENERATORS']['Activated'] == True: + for N1 in PSENconfig.Dico['N_1_GENERATORS']['Probability']: + if N1[1] != 0: + N_1_GENERATORS.append(N1[0]) + + + #Create dictionnary for different useful values to use psse function + dico={'TStest':0,'Xt':[],'sizeY0':sizeY0,'sizeY1':sizeY1,'sizeY2':sizeY2,\ + 'sizeY3':sizeY3,'sizeY4':sizeY4,'sizeY5':sizeY5,'sizeY6':sizeY6,'sizeY7':sizeY7,'sizeY8':sizeY8, 'sizeY':sizeY,\ + 'folder':pathBigFolder,'folderN_1':folderN_1,\ + 'day':day,'hour':hour, 'position':0,'PFParams': PFParams,\ + 'lenpac':SimuParams['SIZE_PACKAGE'],\ + 'num_pac':0,'logCSVfilename':logCSVfilename,'logCSVfilename_UC':logCSVfilename_UC,'Laws':Laws,'CorrMatrix': CorrMatrix,\ + 'Generators':PSENconfig.MachineDico, 'Loads':PSENconfig.LoadDico, 'Motors':PSENconfig.MotorDico,\ + 'Lines':PSENconfig.LineDico, 'Transformers':PSENconfig.TransfoDico,\ + 'doc_base':'','continLines':continLines,'continTransfos':continTransfos,'timeVect':[],\ + 'continGroups':continGroups,'continLoads':continLoads,'continMotors':continMotors,'continVal':continVal,'continProb':continProb,\ + 'N_1_fromFile': N_1_fromFile,'all_inputs_init':all_inputs_init,'N_1_LINES':N_1_LINES, 'N_1_TRANSFORMERS':N_1_TRANSFORMERS,'N_1_MOTORS':N_1_MOTORS,'N_1_LOADS':N_1_LOADS,'N_1_GENERATORS':N_1_GENERATORS,'Paths':Paths} + + if PFParams["ALGORITHM"]=="Optimum Power Flow": + dico['flag2']=int(PFParams['LS_Q_CONVERGENCE_CRITERIA']) + dico['UnitCommitment']= PFParams['UNIT_COMMITMENT'] + else: + dico['flag2']=False + dico['UnitCommitment']=False +#=============================================================================== +# EXECUTION +#=============================================================================== + print ("\n\n\n Starting PSEN ") + + # inputSamp=[] + outputSampleAll=NumericalSample(0,12)#initialization + ymachine=NumericalSample(0,sizeY0) + + try : + time_serie + print('Time series') + dico['TStest']=1 + Xt=[] + for i in range (len(time_serie_mat)) : #as many as there are points in the time serie + + Xt0=[] + n=0 + for j in range (len(time_serie_flag)) : #for each variable + + if time_serie_flag[j] == -1 : #if not a time series + Xt0.append(-1) + n+=1 + else : + Xt0.append(time_serie_mat[i][j-n]) #append the element + + Xt.append(Xt0) + dico['Xt']=Xt + dico['timeVect']=timeVect[0:len(Xt)] + dico['lenpac']=len(Xt) + nb_fix = 1 + + + except NameError : + print ('Probabilistic') + + + dico['doc_base'] = os.path.join(pathBigFolder, 'package0' + "_N" + folderN_1 + day + "_" + hour) + + liste_dico = [] + liste_dico.append(dico.copy()) + os.environ['PATH'] += ';' + dico['doc_base'] # add the path of each directory + Ind1, Ind2, output, inputSamp, Pmachine=Calculation(liste_dico[0].copy(),nb_fix,cmd_Path)# lancer les calculs OPF + + +# try : +# time_serie +# except NameError : +# print ('Probabilistic') +# dico['doc_base'] = os.path.join(pathBigFolder, 'package0' + "_N" + folderN_1 + day + "_" + hour) +# +# liste_dico = [] +# liste_dico.append(dico.copy()) +# os.environ['PATH'] += ';' + dico['doc_base'] # add the path of each directory +# Ind1, Ind2, output, inputSamp, Pmachine=Calculation(liste_dico[0].copy(),nb_fix,cmd_Path)# lancer les calculs OPF +# +# +# else: +# print('Time series') +# dico['TStest']=1 +# Xt=[] +# for i in range (len(time_serie_mat)) : #as many as there are points in the time serie +# +# Xt0=[] +# n=0 +# for j in range (len(time_serie_flag)) : #for each variable +# +# if time_serie_flag[j] == -1 : #if not a time series +# Xt0.append(-1) +# n+=1 +# else : +# Xt0.append(time_serie_mat[i][j-n]) #append the element +# +# Xt.append(Xt0) +# +# liste_dico=[] +# ipos=0 +# +# RandomGenerator.SetSeed(os.getpid()) +# inputDistribution=create_dist(dico) +# samples=[] +# +# dico['doc_base'] = os.path.join(pathBigFolder, 'package0' + "_N" + folderN_1 + day + "_" + hour) +# +# dico['Xt']=Xt +# dico['timeVect']=timeVect[0:len(Xt)] +## dico['Xt']=Xt[ipos:int(((i+1)*round(float(len(Xt))/float(num_cores))))] +## dico['timeVect']=timeVect[ipos:int(((i+1)*round(float(len(Xt))/float(num_cores))))] +## ipos=int(((i+1)*round(float(len(Xt))/float(num_cores)))) +# +# myMCE = MonteCarloExperiment(inputDistribution,len(dico['Xt'])) +# Samp = myMCE.generate() +# samples.append(Samp) +# +# liste_dico.append(dico.copy()) #append a new dico to the list +# os.environ['PATH'] += ';' + dico['doc_base'] #add the path of each directory +# +# inputSamp, output, Pmachine, LS, FS, LStable, FStable, Output_beforeUC, Pmachine_beforeUC, LS_beforeUC, FS_beforeUC, LStable_beforeUC, FStable_beforeUC = PFFunct(liste_dico[0].copy(),np.array(samples[0])) +# +## for l in range(num_cores): +## print "launching PACKAGE "+str(l) +## p= po.apply_async(PSSEFunct,args=(liste_dico[l].copy(),np.array(samples[l]),),\ +## callback=function_callback_psse) #callback function + + + +#=============================================================================== +# RECUPERATION DONNEES DE SORTIES ET ECRITURE CSV - OUTPUT RETRIEVAL +#=============================================================================== + + print( "Finished multiprocessing") + + for i in Pmachine: + ymachine.add(NumericalPoint(i)) + ymachineMean=ymachine.computeMean() + + for i in output: + outputSampleAll.add(NumericalPoint(i)) + outputDim=outputSampleAll.getDimension() + outputSize=outputSampleAll.getSize() + + inputSample=NumericalSample(0,inputDim) + for i in inputSamp: + inputSample.add(NumericalPoint(i)) + + outputSample=NumericalSample(0,outputDim) + outputSampleMissed=NumericalSample(0,outputDim) + + for i in range (outputSize): + #if outputSampleAll[i,inputDim]==0 : + if outputSampleAll[i,3]==0 : + outputSampleMissed.add(outputSampleAll[i]) + else : + outputSample.add(outputSampleAll[i]) + + outputDescription=[] + for i in range (outputDim): + outputDescription.append("Y"+str(i)) + outputSample.setDescription( outputDescription ) + + # Get the empirical mean and standard deviations + empMeanX = inputSample.computeMean() + empSdX = inputSample.computeStandardDeviationPerComponent() + + if int(outputSample.getSize())>0: + empiricalMean = outputSample.computeMean() + empiricalSd = outputSample.computeStandardDeviationPerComponent() + else: + print ("ALERT: Not a single scenario converged") + empiricalMean = ["-"]*outputDim + empiricalSd = ["-"]*outputDim + + # Writing + CSVfilename=pathBigFolder+"\simulation_interestValues"+hour+".csv" # Name of the file : global variable + f = open(CSVfilename, "a") + f.write('CASES SIMULATED: '+str(outputSize)+'\n\n') + + f.write(';;Mean;Standard deviation\n') + + entete=entete.split(';') + unit=unit.split(';') + + for name in range (inputDim+outputDim+sizeY0): + + if (name