]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
il :version initiale
authorilct <>
Tue, 22 Nov 2011 12:48:40 +0000 (12:48 +0000)
committerilct <>
Tue, 22 Nov 2011 12:48:40 +0000 (12:48 +0000)
Carmel3D/Carmel3D_cata_etendu.py [new file with mode: 0644]
Carmel3D/Carmel3D_cata_fact.py [new file with mode: 0644]
Carmel3D/__init__.py [new file with mode: 0644]
Carmel3D/configuration_CARMEL3D.py [new file with mode: 0644]
Carmel3D/editeur.ini [new file with mode: 0644]
Carmel3D/prefs.py [new file with mode: 0644]
Carmel3D/prefs_CARMEL3D.py [new file with mode: 0644]
Carmel3D/properties.py [new file with mode: 0644]
Carmel3D/qtEficas_Carmel3D.py [new file with mode: 0755]
Carmel3D/style.py [new file with mode: 0644]

diff --git a/Carmel3D/Carmel3D_cata_etendu.py b/Carmel3D/Carmel3D_cata_etendu.py
new file mode 100644 (file)
index 0000000..717d86f
--- /dev/null
@@ -0,0 +1,644 @@
+# -*- coding: utf-8 -*-
+
+# --------------------------------------------------
+# debut entete
+# --------------------------------------------------
+
+import os
+import sys
+from Accas import *
+
+# --------------------------------------------------
+# definition d une classe pour les materiaux
+# definition d une classe pour les groupes de mailles
+# definition d une classe pour les lois non lineaires
+# --------------------------------------------------
+class materiau ( ASSD ) : pass
+class grmaille ( ASSD ) : pass
+class loiNL    ( 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 ('MATERIALS'),
+                            AU_MOINS_UN ('SOURCES'),
+#                          A_CLASSER ('VERSION','SOURCES'),
+#                          A_CLASSER ('MATERIALS','SOURCES'),
+                           ),
+                 ) # Fin JDC_CATA
+
+# --------------------------------------------------
+# --------------------------------------------------
+# definition de groupe de mailles
+# et association du nom du materiau au groupe de mailles
+#---------------------------------------------------
+
+MESH_GR     = OPER (nom = "MESH_GR",
+                    op = None,
+                   repetable = 'n',
+                    UIinfo= {"groupes":("Definition",)},
+                   fr= "definition du groupe de mailles", 
+                   ang = " mesh group definition", 
+                    sd_prod= grmaille,
+
+              Material    =  SIMP (statut="o",
+                                  typ=(materiau,),
+                                   ang="name of the linked material",
+                                  fr ="nom du materiau associe",
+                                  ), 
+             )
+
+# 
+# --------------------------------------------------
+# 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 3 types de matériaux isotropiques et homogenes 
+#-----------------------------------------
+# sous bloc niveau 1 : materiau CONDUCTOR
+#-----------------------------------------
+#
+CONDUCTOR = OPER (nom = "CONDUCTOR",
+                    op = None,
+                   repetable = 'n',
+                    UIinfo= {"groupes":("Isotropic Homogeneous Materials",)},
+                   ang= "CONDUCTOR block definition", 
+                   fr= "definition du bloc CONDUCTOR", 
+                    sd_prod= materiau,
+
+#------------------------------------------------
+# sous bloc niveau 2 : CONDUCTIVITY
+#------------------------------------------------
+  CONDUCTIVITY = FACT ( statut="o", 
+                        ang ="Conductivity properties",
+                        fr  ="proprietes du bloc CONDUCTIVITY",
+                        regles = ( UN_PARMI ('VALUE_REAL','VALUE_COMPLEX'),
+                                ),                     
+                
+                LAW             = SIMP (statut="o",
+                                        typ="TXM",
+                                        defaut="LINEAR",
+                                        into = ("LINEAR","NONLINEAR"),
+                                         ang = "type of law",
+                                         fr = "type de loi",
+                                       ),
+                HOMOGENEOUS     = SIMP (statut="f",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is homogeneous",
+                                         fr  = "le materiau est homogene",
+                                       ),
+                ISOTROPIC       = SIMP (statut="f",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is isotropic",
+                                         fr  = "le materiau est isotrope",
+                                       ),
+                VALUE_REAL     = SIMP (statut="f",
+                                       typ="R", 
+                                        ang = "enter a real value",
+                                        fr  = "entrer un reel",
+                                      ),
+                VALUE_COMPLEX  = SIMP (statut="f",
+                                       typ="C", 
+                                        ang = "enter a complex value",
+                                        fr  = "entrer un complexe",
+                                      ),
+
+                ), # fin FACT CONDUCTIVITY
+
+#------------------------------------------------
+# sous bloc niveau 2 : PERMEABILITY
+#------------------------------------------------
+  PERMEABILITY = FACT ( statut="o", 
+                        ang ="Permeability properties",
+                        fr  ="proprietes du bloc PERMEABILITY",
+                
+                LAW             = SIMP (statut="o",
+                                        typ="TXM",
+                                        defaut="LINEAR",
+                                        into = ("LINEAR","NONLINEAR"),
+                                         ang = "type of law",
+                                       ),
+                HOMOGENEOUS     = SIMP (statut="o",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is homogeneous",
+                                       ),
+                ISOTROPIC       = SIMP (statut="o",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is isotropic",
+                                       ),
+                VALUE_COMPLEX  = SIMP (statut="o",
+                                       typ="C", 
+                                       defaut=1,
+                                        ang = "enter a complex value",
+                                      ),
+
+                ), # fin FACT PERMEABILITY
+
+
+             ) # fin OPER conductor
+#------------------------------------------
+# sous bloc niveau 1 : materiau DIELECTRIC
+#------------------------------------------
+DIELECTRIC = OPER (nom = "DIELECTRIC",
+                    op = None,
+                   repetable = 'n',
+                    UIinfo= {"groupes":("Isotropic Homogeneous Materials",)},
+                   ang= "DIELECTRIC block definition", 
+                   fr= "definition du bloc DIELECTRIC", 
+                    sd_prod= materiau,
+
+
+  NAME          = SIMP (statut="o",
+                       typ="TXM",
+                        ang = "name of the linked mesh group",
+                        fr = "nom du groupe de mailles associe",
+                       ),
+#------------------------------------------------
+# sous bloc niveau 2 : PERMITTTIVITY
+#------------------------------------------------
+  PERMITTIVITY = FACT ( statut="o", 
+                        ang ="Permittivity properties",
+                        fr  ="proprietes du bloc PERMITTIVITY",
+                
+                LAW             = SIMP (statut="o",
+                                        typ="TXM",
+                                        defaut="LINEAR",
+                                        into = ("LINEAR","NONLINEAR"),
+                                         ang = "type of law",
+                                       ),
+                HOMOGENEOUS     = SIMP (statut="o",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is homogeneous",
+                                       ),
+                ISOTROPIC       = SIMP (statut="o",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is isotropic",
+                                       ),
+                VALUE_COMPLEX  = SIMP (statut="o",
+                                       typ="C", 
+                                       defaut=1,
+                                        ang = "enter a complex value",
+                                      ),
+
+                ), # fin FACT PERMITTIVITY
+
+#------------------------------------------------
+# sous bloc niveau 2 : PERMEABILITY
+#------------------------------------------------
+  PERMEABILITY = FACT ( statut="o", 
+                        ang ="Permeability properties",
+                        fr  ="proprietes du bloc PERMEABILITY",
+                
+                LAW             = SIMP (statut="o",
+                                        typ="TXM",
+                                        defaut="LINEAR",
+                                        into = ("LINEAR","NONLINEAR"),
+                                         ang = "type of law",
+                                       ),
+                HOMOGENEOUS     = SIMP (statut="o",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is homogeneous",
+                                       ),
+                ISOTROPIC       = SIMP (statut="o",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is isotropic",
+                                       ),
+                VALUE_COMPLEX  = SIMP (statut="o",
+                                       typ="C", 
+                                       defaut=1,
+                                        ang = "enter a complex value",
+                                      ),
+
+#------------------------------------------------
+# sous bloc niveau 3 : NONLINEAR
+#------------------------------------------------
+                 NonLinearLaw   = BLOC (condition="LAW=='NONLINEAR'",
+
+                                  NATURE       =  SIMP (statut="o",
+                                                        typ="TXM",
+                                                        defaut="SPLINE",
+                                                        into=("SPLINE","MARROCCO","MARROCCO+SATURATION"),
+                                                        ang="nature of the law",
+                                                        fr ="nature de la loi",
+                                                        ), 
+
+                                   SplineParam  =  BLOC (condition="NATURE=='SPLINE'",
+
+                                                  FILENAME = SIMP (statut="o", 
+                                                                   typ=("Fichier",'All Files (*)',),
+                                                                   ang="data file name",
+                                                                   fr ="nom du fichier",
+                                                                  ),
+                                                  APPLIEDTO = SIMP (statut="o",        
+                                                                    typ="TXM",   
+                                                                    into=("B(H)&H(B)","B(H)","H(B)"),
+                                                                    defaut="B(H)&H(B)",
+                                                                    ang="spline applied to",
+                                                                    fr ="spline appliquee a ",
+                                                                   ),
+                                                       ), # fin BLOC SplineParam
+
+                                   MarroccoParam= BLOC (condition="NATURE=='MARROCCO'",
+
+                                                  ALPHA    = SIMP (statut="o", 
+                                                                   typ="R",
+                                                                   defaut=0,
+                                                                   val_min=0,
+                                                                   ang="alpha parameter",
+                                                                   fr ="parametre alpha" ,
+                                                                  ),
+                                                  TAU      = SIMP (statut="o", 
+                                                                   typ="R",
+                                                                   defaut=0,
+                                                                   val_min=0,
+                                                                   ang="tau parameter",
+                                                                   fr ="parametre tau" ,
+                                                                   ),
+                                                  C        = SIMP (statut="o", 
+                                                                   typ="R",
+                                                                   defaut=0,
+                                                                   val_min=0,
+                                                                   ang="c parameter",
+                                                                   fr ="parametre c" ,
+                                                                   ),
+                                                  EPSILON  = SIMP (statut="o", 
+                                                                   typ="R",
+                                                                   defaut=0,
+                                                                   val_min=0,
+                                                                   ang="epsilon parameter",
+                                                                   fr ="parametre epsilon" ,
+                                                                   ),
+                                                       ), # fin BLOC MarroccoParam
+                                   
+                                  MarroSatuParam= BLOC (condition="NATURE=='MARROCCO+SATURATION'",
+
+                                                  ALPHA    = SIMP (statut="o", 
+                                                                   typ="R",
+                                                                   defaut=0,
+                                                                   val_min=0,
+                                                                   ang="alpha parameter",
+                                                                   fr ="parametre alpha" ,
+                                                                  ),
+                                                  TAU      = SIMP (statut="o", 
+                                                                   typ="R",
+                                                                   defaut=0,
+                                                                   val_min=0,
+                                                                   ang="tau parameter",
+                                                                   fr ="parametre tau" ,
+                                                                   ),
+                                                  C        = SIMP (statut="o", 
+                                                                   typ="R",
+                                                                   defaut=0,
+                                                                   val_min=0,
+                                                                   ang="c parameter",
+                                                                   fr ="parametre c" ,
+                                                                   ),
+                                                  EPSILON  = SIMP (statut="o", 
+                                                                   typ="R",
+                                                                   defaut=0,
+                                                                   val_min=0,
+                                                                   ang="epsilon parameter",
+                                                                   fr ="parametre epsilon" ,
+                                                                   ),
+                                                  BMAX     = SIMP (statut="o", 
+                                                                   typ="R",
+                                                                   defaut=0,
+                                                                   val_min=0,
+                                                                   ang="intersection B",
+                                                                   fr ="intersection B" ,
+                                                                   ),
+                                                  HSAT     = SIMP (statut="o", 
+                                                                   typ="R",
+                                                                   defaut=0,
+                                                                   val_min=0,
+                                                                   ang="H value",
+                                                                   fr ="valeur H" ,
+                                                                   ),
+                                                  BSAT     = SIMP (statut="o", 
+                                                                   typ="R",
+                                                                   defaut=0,
+                                                                   val_min=0,
+                                                                   ang="B value",
+                                                                   fr ="valeur B" ,
+                                                                   ),
+                                                  JOIN     = SIMP (statut="o", 
+                                                                   typ="TXM",
+                                                                   defaut="SPLINE",
+                                                                   into= ("SPLINE","PARABOLIC","LINEAR"),
+                                                                   ang="type of join between laws",
+                                                                   fr ="type de jointure entre les 2 lois" ,
+                                                                   ),
+                                                  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 ="jointure appliquee a ",
+                                                                   ),
+                                                       ), # fin BLOC MarroSatuParam
+
+                              ), # fin BLOC NonLinearLaw
+                ), # fin FACT PERMEABILITY
+
+            ) # fin OPER DIELECTRIC
+
+#------------------------------------
+# sous bloc niveau 1 : ZSURFACIC
+#------------------------------------
+ZSURFACIC  = OPER (nom = "ZSURFACIC",
+                    op = None,
+                   repetable = 'n',
+                    UIinfo= {"groupes":("Isotropic Homogeneous Materials",)},
+                   ang= "ZSURFACIC block definition", 
+                   fr= "definition du bloc ZSURFACIC", 
+                    sd_prod= materiau,
+             
+  NAME          = SIMP (statut="o",
+                       typ="TXM",
+                        ang = "name of the linked mesh group",
+                        fr = "nom du groupe de mailles associe",
+                       ),
+#------------------------------------------------
+# sous bloc niveau 2 : CONDUCTIVITY
+#------------------------------------------------
+  CONDUCTIVITY = FACT ( statut="o", 
+                        ang ="Conductivity properties",
+                        fr  ="proprietes du bloc CONDUCTIVITY",
+                
+                LAW             = SIMP (statut="o",
+                                        typ="TXM",
+                                        defaut="LINEAR",
+                                        into = ("LINEAR","NONLINEAR"),
+                                         ang = "type of law",
+                                         fr = "type de loi",
+                                       ),
+                HOMOGENEOUS     = SIMP (statut="o",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is homogeneous",
+                                         fr  = "le materiau est homogene",
+                                       ),
+                ISOTROPIC       = SIMP (statut="o",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is isotropic",
+                                         fr  = "le materiau est isotrope",
+                                       ),
+                VALUE_COMPLEX  = SIMP (statut="o",
+                                       typ="C", 
+                                       defaut=1,
+                                        ang = "enter a complex value",
+                                        fr  = "entrer un complexe",
+                                      ),
+                
+
+                ), # fin FACT CONDUCTIVITY
+
+#------------------------------------------------
+# sous bloc niveau 2 : PERMEABILITY
+#------------------------------------------------
+  PERMEABILITY = FACT ( statut="o", 
+                        ang ="Permeability properties",
+                        fr  ="proprietes du bloc PERMEABILITY",
+                
+                LAW             = SIMP (statut="o",
+                                        typ="TXM",
+                                        defaut="LINEAR",
+                                        into = ("LINEAR","NONLINEAR"),
+                                         ang = "type of law",
+                                       ),
+                HOMOGENEOUS     = SIMP (statut="o",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is homogeneous",
+                                       ),
+                ISOTROPIC       = SIMP (statut="o",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is isotropic",
+                                       ),
+                VALUE_COMPLEX  = SIMP (statut="o",
+                                       typ="C", 
+                                       defaut=1,
+                                        ang = "enter a complex value",
+                                      ),
+
+                ), # fin FACT PERMEABILITY
+
+            ) # fin OPER ZSURFACIC
+
+
+#===================================
+# 1 type de matériau fictif 
+#---------------------------------------
+# sous bloc niveau 1 : materiau NILMAT   
+#---------------------------------------
+NILMAT     = OPER (nom = "NILMAT",
+                    op = None,
+                   repetable = 'n',
+                    UIinfo= {"groupes":("Fictitious Materials",)},
+                   ang= "NILMAT block definition", 
+                   fr= "definition du bloc NILMAT", 
+                    sd_prod= materiau,
+             
+  NAME          = SIMP (statut="o",
+                       typ="TXM",
+                        ang = "name of the linked mesh group",
+                        fr = "nom du groupe de mailles associe",
+                       ),
+            ) # fin OPER NILMAT
+
+
+#============================================
+# 1 type de matériau isotropique non homogene 
+#----------------------------------------
+# sous bloc niveau 1 : EM_ISOTROPIC_FILES   
+#----------------------------------------
+EM_ISOTROPIC = PROC (nom = "EM_ISOTROPIC",
+                    op = None,
+                   repetable = 'n',
+                    UIinfo= {"groupes":("Isotropic Inhomogeneous Materials",)},
+                   ang= "EM_ISOTROPIC block definition", 
+                   fr= "definition du bloc EM_ISOTROPIC", 
+             
+              CONDUCTIVITY_File = SIMP (statut="o", 
+                                        typ=("Fichier",'MED Files (*.med)',),
+                                        ang="CONDUCTIVITY MED data file name",
+                                        fr ="nom du fichier MED CONDUCTIVITY",
+                                       ),
+              PERMEABILITY_File = SIMP (statut="o", 
+                                        typ=("Fichier",'MED Files (*.med)',),
+                                        ang="PERMEABILITY MED data file name",
+                                        fr ="nom du fichier MED PERMEABILITY",
+                                       ),
+             ) # fin PROC EM_ISOTROPIC
+
+#============================================
+# 1 type de matériau  non isotropique 
+#----------------------------------------
+# sous bloc niveau 1 : EM_ANISOTROPIC_FILES   
+#----------------------------------------
+EM_ANISOTROPIC = PROC (nom = "EM_ANISOTROPIC",
+                    op = None,
+                   repetable = 'n',
+                    UIinfo= {"groupes":("Anisotropic Materials",)},
+                   ang= "EM_ANISOTROPIC block definition", 
+                   fr= "definition du bloc EM_ANISOTROPIC", 
+             
+              CONDUCTIVITY_File = SIMP (statut="o", 
+                                        typ=("Fichier",'.mater Files (*.mater)',),
+                                        ang="CONDUCTIVITY .mater data file name",
+                                        fr ="nom du fichier .mater CONDUCTIVITY",
+                                       ),
+              PERMEABILITY_File = SIMP (statut="o", 
+                                        typ=("Fichier",'.mater Files (*.mater)',),
+                                        ang="PERMEABILITY .mater data file name",
+                                        fr ="nom du fichier .mater PERMEABILITY",
+                                       ),
+             ) # fin PROC EM_ANISOTROPIC
+
+#================================
+# 3eme bloc : bloc SOURCES
+#================================
+
+SOURCES = PROC ( nom = "SOURCES",
+                 op = None,
+                repetable = 'n',
+                 ang = "sources block definition", 
+
+ STRANDED_INDUCTOR  = FACT (statut="f",
+                            fr="stranded inductor source",
+               
+                      NAME     = SIMP (statut="o",
+                                      typ="TXM",
+                                       fr="name of the source",
+                                      ),
+                      NTURNS   = SIMP (statut="o",
+                                      typ="I",
+                                      defaut=1,
+                                       fr="number of tuns in the inductor",
+                                      ),
+                      CURJ     = SIMP (statut="o",
+                                      typ="R",
+                                      defaut=0,
+                                       fr="intensity",
+                                      ),
+                     POLAR    = SIMP (statut="o",
+                                      typ="R",
+                                      defaut=0,
+                                       fr="polarization",
+                                      ),
+
+                      ), # fin FACT 
+                           
+ EPORT = FACT (statut="f",
+               fr="eport source",
+               
+         NAME     = SIMP (statut="o",
+                         typ="TXM",
+                          fr="name of the source",
+                         ),
+         TYPE     = SIMP (statut="o",
+                         typ="TXM",
+                         into=("VOLTAGE","CURRENT"),
+                          fr="type of eport source",
+                         ),
+         AMP      = SIMP (statut="o",
+                         typ="R",
+                         defaut=0,
+                          fr="amplitude",
+                         ),
+         POLAR    = SIMP (statut="o",
+                         typ="R",
+                         defaut=0,
+                          fr="polarization",
+                         ),
+
+               ), # fin FACT eport
+
+ HPORT = FACT (statut="f",
+               fr="hport source",
+         
+        NAME     = SIMP (statut="o",
+                         typ="TXM",
+                          fr="name of the source",
+                         ),
+         TYPE     = SIMP (statut="o",
+                         typ="TXM",
+                         into=("VOLTAGE","CURRENT"),
+                          fr="type of hport source",
+                         ),
+         AMP      = SIMP (statut="o",
+                         typ="R",
+                         defaut=0,
+                          fr="amplitude",
+                         ),
+         POLAR    = SIMP (statut="o",
+                         typ="R",
+                         defaut=0,
+                          fr="polarization",
+                         ),
+
+               ), # fin FACT hport
+               
+
+) # Fin PROC sources
+
diff --git a/Carmel3D/Carmel3D_cata_fact.py b/Carmel3D/Carmel3D_cata_fact.py
new file mode 100644 (file)
index 0000000..cdcb1dc
--- /dev/null
@@ -0,0 +1,692 @@
+# -*- coding: utf-8 -*-
+
+# --------------------------------------------------
+# --------------------------------------------------
+
+import os
+import sys
+from Accas import *
+import types
+
+# --------------------------------------------------
+# definition d une classe pour les materiaux
+# definition d une classe pour les groupes de mailles
+# definition d une classe pour les lois non lineaires
+# --------------------------------------------------
+class materiau ( ASSD ) : pass
+class grmaille ( ASSD ) : pass
+class loiNL    ( ASSD ) : pass
+
+#CONTEXT.debug = 1
+# --------------------------------------------------
+# déclaration du jeu de commandes : 1ere instruction du catalogue obligatoire 
+#---------------------------------------------------
+
+JdC = JDC_CATA ( code = 'CARMEL3D',
+#                execmodul = None,
+                  regles =(
+#                 regles = ( AU_MOINS_UN ('VERSION'),
+#                           AU_MOINS_UN ('MATERIALS'),
+                            AU_MOINS_UN ('SOURCES'),
+#                          A_CLASSER ('MATERIALS','SOURCES'),
+                           ),
+                 ) # Fin JDC_CATA
+
+# --------------------------------------------------
+# definition de groupe de mailles
+# et association du nom du materiau au groupe de mailles
+#---------------------------------------------------
+
+MESH_GR     = OPER (nom = "MESH_GR",
+                    op = None,
+                   repetable = 'n',
+                    UIinfo= {"groupes":("Definition",)},
+                   fr= "definition du groupe de mailles", 
+                   ang = " mesh group definition", 
+                    sd_prod= grmaille,
+
+              Material    =  SIMP (statut="o",
+                                  typ=(materiau,),
+                                   ang="name of the linked material",
+                                  fr ="nom du materiau associe",
+                                  ), 
+             )
+
+
+#=========================================================
+# 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 3 types de matériaux isotropiques et homogenes 
+#------------------------------------
+# sous bloc niveau 1 : CONDUCTOR
+#------------------------------------
+#
+CONDUCTOR = OPER (nom = "CONDUCTOR",
+                    op = None,
+                   repetable = 'n',
+                    UIinfo= {"groupes":("Isotropic Homogeneous Materials",)},
+                   ang= "CONDUCTOR block definition", 
+                   fr= "definition du bloc CONDUCTOR", 
+                    sd_prod= materiau,
+
+#------------------------------------------------
+# sous bloc niveau 2 : CONDUCTIVITY
+#------------------------------------------------
+  CONDUCTIVITY = FACT ( statut="o", 
+                        ang ="Conductivity properties",
+                        fr  ="proprietes du bloc CONDUCTIVITY",
+                        regles = ( UN_PARMI ('VALUE_REAL','VALUE_COMPLEX'),
+                                 ),
+
+                LAW             = SIMP (statut="o",
+                                        typ="TXM",
+                                        defaut="LINEAR",
+                                        into = ("LINEAR","NONLINEAR"),
+                                          ang = "type of law",
+                                          fr = "type de loi",
+                                       ),
+                
+                 HOMOGENEOUS     = SIMP (statut="f",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is homogeneous",
+                                         fr  = "le materiau est homogene",
+                                       ),
+                ISOTROPIC       = SIMP (statut="f",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is isotropic",
+                                         fr  = "le materiau est isotrope",
+                                       ),
+        
+                VALUE_REAL     = SIMP (statut="f",
+                                       typ="R", 
+                                        ang = "enter a real value",
+                                        fr  = "entrer un reel",
+                                      ),
+                VALUE_COMPLEX  = SIMP (statut="f",
+                                       typ="C", 
+                                        ang = "enter a complex value",
+                                        fr  = "entrer un complexe",
+                                      ),
+
+                ), # fin FACT CONDUCTIVITY
+
+#------------------------------------------------
+# sous bloc niveau 2 : PERMEABILITY
+#------------------------------------------------
+  PERMEABILITY = FACT ( statut="o", 
+                        ang ="Permeability properties",
+                        fr  ="proprietes du bloc PERMEABILITY",
+                        regles = ( UN_PARMI ('VALUE_REAL','VALUE_COMPLEX'),
+                                 ),
+                
+                LAW             = SIMP (statut="o",
+                                        typ="TXM",
+                                        defaut="LINEAR",
+                                        into = ("LINEAR","NONLINEAR"),
+                                         ang = "type of law",
+                                       ),
+                 HOMOGENEOUS     = SIMP (statut="f",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is homogeneous",
+                                         fr  = "le materiau est homogene",
+                                       ),
+                ISOTROPIC       = SIMP (statut="f",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is isotropic",
+                                         fr  = "le materiau est isotrope",
+                                       ),
+                VALUE_REAL     = SIMP (statut="f",
+                                       typ="R", 
+                                        ang = "enter a real value",
+                                        fr  = "entrer un reel",
+                                      ),
+                VALUE_COMPLEX  = SIMP (statut="o",
+                                       typ="C", 
+                                        ang = "enter a complex value",
+                                        fr  = "entrer un complexe",
+                                      ),
+
+                ), # fin FACT PERMEABILITY
+
+
+             ) # fin OPER conductor
+#------------------------------------
+# sous bloc niveau 1 : DIELECTRIC
+#------------------------------------
+DIELECTRIC = OPER (nom = "DIELECTRIC",
+                    op = None,
+                   repetable = 'n',
+                    UIinfo= {"groupes":("Isotropic Homogeneous Materials",)},
+                   ang= "DIELECTRIC block definition", 
+                   fr= "definition du bloc DIELECTRIC", 
+                    sd_prod= materiau,
+
+
+#------------------------------------------------
+# sous bloc niveau 2 : PERMITTTIVITY
+#------------------------------------------------
+  PERMITTIVITY = FACT ( statut="o", 
+                        ang ="Permittivity properties",
+                        fr  ="proprietes du bloc PERMITTIVITY",
+                        regles = ( UN_PARMI ('VALUE_REAL','VALUE_COMPLEX'),
+                                 ),
+                
+                LAW             = SIMP (statut="o",
+                                        typ="TXM",
+                                        defaut="LINEAR",
+                                        into = ("LINEAR","NONLINEAR"),
+                                         ang = "type of law",
+                                       ),
+                 HOMOGENEOUS     = SIMP (statut="f",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is homogeneous",
+                                         fr  = "le materiau est homogene",
+                                       ),
+                ISOTROPIC       = SIMP (statut="f",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is isotropic",
+                                         fr  = "le materiau est isotrope",
+                                       ),
+                VALUE_REAL     = SIMP (statut="f",
+                                       typ="R", 
+                                        ang = "enter a real value",
+                                        fr  = "entrer un reel",
+                                      ),
+                VALUE_COMPLEX  = SIMP (statut="o",
+                                       typ="C", 
+                                        ang = "enter a complex value",
+                                        fr  = "entrer un complexe",
+                                      ),
+
+                ), # fin FACT PERMITTIVITY
+
+#------------------------------------------------
+# sous bloc niveau 2 : PERMEABILITY
+#------------------------------------------------
+  PERMEABILITY = FACT ( statut="o", 
+                        ang ="Permeability properties",
+                        fr  ="proprietes du bloc PERMEABILITY",
+                        regles = ( UN_PARMI ('VALUE_REAL','VALUE_COMPLEX'),
+                                 ),
+                
+                LAW             = SIMP (statut="o",
+                                        typ="TXM",
+                                        defaut="LINEAR",
+                                        into = ("LINEAR","NONLINEAR"),
+                                         ang = "type of law",
+                                       ),
+                 HOMOGENEOUS     = SIMP (statut="f",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is homogeneous",
+                                         fr  = "le materiau est homogene",
+                                       ),
+                ISOTROPIC       = SIMP (statut="f",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is isotropic",
+                                         fr  = "le materiau est isotrope",
+                                       ),
+                VALUE_REAL     = SIMP (statut="f",
+                                       typ="R", 
+                                        ang = "enter a real value",
+                                        fr  = "entrer un reel",
+                                      ),
+                VALUE_COMPLEX  = SIMP (statut="o",
+                                       typ="C", 
+                                        ang = "enter a complex value",
+                                        fr  = "entrer un complexe",
+                                      ),
+
+                 NonLinearCond  = BLOC (condition="LAW=='NONLINEAR'",
+                                  NONLINEAR   = SIMP (statut="o",
+                                                     typ= (loiNL,),
+                                                      ang = "enter a complex value",
+                                                      fr  = "parametres de la loi non lineaire",
+                                                    ),
+                                       ), 
+
+                ), # fin FACT PERMEABILITY
+
+
+            ) # fin OPER DIELECTRIC
+
+
+#------------------------------------
+# sous bloc niveau 1 : ZSURFACIC
+#------------------------------------
+ZSURFACIC  = OPER (nom = "ZSURFACIC",
+                    op = None,
+                   repetable = 'n',
+                    UIinfo= {"groupes":("Isotropic Homogeneous Materials",)},
+                   ang= "ZSURFACIC block definition", 
+                   fr= "definition du bloc ZSURFACIC", 
+                    sd_prod= materiau,
+                   
+#------------------------------------------------
+# sous bloc niveau 2 : CONDUCTIVITY
+#------------------------------------------------
+  CONDUCTIVITY = FACT ( statut="o", 
+                        ang ="Conductivity properties",
+                        fr  ="proprietes du bloc CONDUCTIVITY",
+                        regles = ( UN_PARMI ('VALUE_REAL','VALUE_COMPLEX'),
+                                 ),
+                
+                LAW             = SIMP (statut="o",
+                                        typ="TXM",
+                                        defaut="LINEAR",
+                                        into = ("LINEAR","NONLINEAR"),
+                                         ang = "type of law",
+                                         fr = "type de loi",
+                                       ),
+                 HOMOGENEOUS     = SIMP (statut="f",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is homogeneous",
+                                         fr  = "le materiau est homogene",
+                                       ),
+                ISOTROPIC       = SIMP (statut="f",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is isotropic",
+                                         fr  = "le materiau est isotrope",
+                                       ),
+                VALUE_REAL     = SIMP (statut="f",
+                                       typ="R", 
+                                        ang = "enter a real value",
+                                        fr  = "entrer un reel",
+                                      ),
+                VALUE_COMPLEX  = SIMP (statut="o",
+                                       typ="C", 
+                                        ang = "enter a complex value",
+                                        fr  = "entrer un complexe",
+                                      ),
+                
+
+                ), # fin FACT CONDUCTIVITY
+
+#------------------------------------------------
+# sous bloc niveau 2 : PERMEABILITY
+#------------------------------------------------
+  PERMEABILITY = FACT ( statut="o", 
+                        ang ="Permeability properties",
+                        fr  ="proprietes du bloc PERMEABILITY",
+                        regles = ( UN_PARMI ('VALUE_REAL','VALUE_COMPLEX'),
+                                 ),
+                
+                LAW             = SIMP (statut="o",
+                                        typ="TXM",
+                                        defaut="LINEAR",
+                                        into = ("LINEAR","NONLINEAR"),
+                                         ang = "type of law",
+                                         fr = "type de loi",
+                                       ),
+                 HOMOGENEOUS     = SIMP (statut="f",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is homogeneous",
+                                         fr  = "le materiau est homogene",
+                                       ),
+                ISOTROPIC       = SIMP (statut="f",
+                                        typ="TXM",
+                                        defaut="TRUE",
+                                        into = ("TRUE","FALSE"),
+                                         ang = "the material is isotropic",
+                                         fr  = "le materiau est isotrope",
+                                       ),
+                VALUE_REAL     = SIMP (statut="f",
+                                       typ="R", 
+                                        ang = "enter a real value",
+                                        fr  = "entrer un reel",
+                                      ),
+                VALUE_COMPLEX  = SIMP (statut="o",
+                                       typ="C", 
+                                        ang = "enter a complex value",
+                                        fr  = "entrer un complexe",
+                                      ),
+
+                ), # fin FACT PERMEABILITY
+             
+            ) # fin OPER ZSURFACIC
+
+
+#===================================
+# definition d un type de matériau fictif 
+#------------------------------------
+# sous bloc niveau 1 : NILMAT   
+#------------------------------------
+NILMAT     = OPER (nom = "NILMAT",
+                    op = None,
+                   repetable = 'n',
+                    UIinfo= {"groupes":("Fictitious Materials",)},
+                   ang= "NILMAT block definition", 
+                   fr= "definition du bloc NILMAT", 
+                    sd_prod= materiau,
+             
+            ) # fin OPER NILMAT
+
+
+#============================================
+# 1 type de matériau isotropique non homogene 
+#----------------------------------------
+# sous bloc niveau 1 : EM_ISOTROPIC_FILES   
+#----------------------------------------
+EM_ISOTROPIC = PROC (nom = "EM_ISOTROPIC",
+                    op = None,
+                   repetable = 'n',
+                    UIinfo= {"groupes":("Isotropic Inhomogeneous Materials",)},
+                   ang= "EM_ISOTROPIC block definition", 
+                   fr= "definition du bloc EM_ISOTROPIC", 
+             
+              CONDUCTIVITY_File = SIMP (statut="o", 
+                                        typ=("Fichier",'MED Files (*.med)',),
+                                        ang="CONDUCTIVITY MED data file name",
+                                        fr ="nom du fichier MED CONDUCTIVITY",
+                                       ),
+              PERMEABILITY_File = SIMP (statut="o", 
+                                        typ=("Fichier",'MED Files (*.med)',),
+                                        ang="PERMEABILITY MED data file name",
+                                        fr ="nom du fichier MED PERMEABILITY",
+                                       ),
+                                       
+            ) # fin PROC EM_ISOTROPIC
+            
+#============================================
+# 1 type de matériau  non isotropique 
+#----------------------------------------
+# sous bloc niveau 1 : EM_ANISOTROPIC_FILES   
+#----------------------------------------
+EM_ANISOTROPIC = PROC (nom = "EM_ANISOTROPIC",
+                    op = None,
+                   repetable = 'n',
+                    UIinfo= {"groupes":("Anisotropic Materials",)},
+                   ang= "EM_ANISOTROPIC block definition", 
+                   fr= "definition du bloc EM_ANISOTROPIC", 
+             
+              CONDUCTIVITY_File = SIMP (statut="o", 
+                                        typ=("Fichier",'.mater Files (*.mater)',),
+                                        ang="CONDUCTIVITY .mater data file name",
+                                        fr ="nom du fichier .mater CONDUCTIVITY",
+                                       ),
+              PERMEABILITY_File = SIMP (statut="o", 
+                                        typ=("Fichier",'.mater Files (*.mater)',),
+                                        ang="PERMEABILITY .mater data file name",
+                                        fr ="nom du fichier .mater PERMEABILITY",
+                                       ),
+             ) # fin PROC EM_ANISOTROPIC
+
+#=========================================================
+# definition des parametres d une loi 
+#
+# Constitution de sous bloc NONLINEAR
+# produit un objet "bloc NONLINEAR" de type (classe) loiNL 
+#------------------------------------------------
+DEF_NONLINEAR_BL = OPER (nom = "DEF_NONLINEAR_BL",
+                    op = None,
+                   repetable = 'n',
+                    UIinfo= {"groupes":("Definition",)},
+                   ang= "NONLINEAR block definition", 
+                   fr= "definition de bloc NONLINEAR", 
+                    sd_prod= loiNL,
+
+                                  NATURE       =  SIMP (statut="o",
+                                                        typ="TXM",
+                                                        defaut="SPLINE",
+                                                        into=("SPLINE","MARROCCO","MARROCCO+SATURATION"),
+                                                        ang="nature of the law",
+                                                        fr ="nature de la loi",
+                                                        ), 
+
+                                   SplineParam  =  BLOC (condition="NATURE=='SPLINE'",
+
+                                                  FILENAME = SIMP (statut="o", 
+                                                                   typ=("Fichier",'All Files (*)',),
+                                                                   ang="data file name",
+                                                                   fr ="nom du fichier",
+                                                                  ),
+                                                  APPLIEDTO = SIMP (statut="o",        
+                                                                    typ="TXM",   
+                                                                    into=("B(H)&H(B)","B(H)","H(B)"),
+                                                                    defaut="B(H)&H(B)",
+                                                                    ang="spline applied to",
+                                                                    fr ="spline appliquee a ",
+                                                                   ),
+                                                       ), # fin BLOC SplineParam
+
+                                   MarroccoParam= BLOC (condition="NATURE=='MARROCCO'",
+
+                                                  ALPHA    = SIMP (statut="o", 
+                                                                   typ="R",
+                                                                   defaut=0,
+                                                                   val_min=0,
+                                                                   ang="alpha parameter",
+                                                                   fr ="parametre alpha" ,
+                                                                  ),
+                                                  TAU      = SIMP (statut="o", 
+                                                                   typ="R",
+                                                                   defaut=0,
+                                                                   val_min=0,
+                                                                   ang="tau parameter",
+                                                                   fr ="parametre tau" ,
+                                                                   ),
+                                                  C        = SIMP (statut="o", 
+                                                                   typ="R",
+                                                                   defaut=0,
+                                                                   val_min=0,
+                                                                   ang="c parameter",
+                                                                   fr ="parametre c" ,
+                                                                   ),
+                                                  EPSILON  = SIMP (statut="o", 
+                                                                   typ="R",
+                                                                   defaut=0,
+                                                                   val_min=0,
+                                                                   ang="epsilon parameter",
+                                                                   fr ="parametre epsilon" ,
+                                                                   ),
+                                                       ), # fin BLOC MarroccoParam
+                                   
+                                  MarroSatuParam= BLOC (condition="NATURE=='MARROCCO+SATURATION'",
+
+                                                  ALPHA    = SIMP (statut="o", 
+                                                                   typ="R",
+                                                                   defaut=0,
+                                                                   val_min=0,
+                                                                   ang="alpha parameter",
+                                                                   fr ="parametre alpha" ,
+                                                                  ),
+                                                  TAU      = SIMP (statut="o", 
+                                                                   typ="R",
+                                                                   defaut=0,
+                                                                   val_min=0,
+                                                                   ang="tau parameter",
+                                                                   fr ="parametre tau" ,
+                                                                   ),
+                                                  C        = SIMP (statut="o", 
+                                                                   typ="R",
+                                                                   defaut=0,
+                                                                   val_min=0,
+                                                                   ang="c parameter",
+                                                                   fr ="parametre c" ,
+                                                                   ),
+                                                  EPSILON  = SIMP (statut="o", 
+                                                                   typ="R",
+                                                                   defaut=0,
+                                                                   val_min=0,
+                                                                   ang="epsilon parameter",
+                                                                   fr ="parametre epsilon" ,
+                                                                   ),
+                                                  BMAX     = SIMP (statut="o", 
+                                                                   typ="R",
+                                                                   defaut=0,
+                                                                   val_min=0,
+                                                                   ang="intersection B",
+                                                                   fr ="intersection B" ,
+                                                                   ),
+                                                  HSAT     = SIMP (statut="o", 
+                                                                   typ="R",
+                                                                   defaut=0,
+                                                                   val_min=0,
+                                                                   ang="H value",
+                                                                   fr ="valeur H" ,
+                                                                   ),
+                                                  BSAT     = SIMP (statut="o", 
+                                                                   typ="R",
+                                                                   defaut=0,
+                                                                   val_min=0,
+                                                                   ang="B value",
+                                                                   fr ="valeur B" ,
+                                                                   ),
+                                                  JOIN     = SIMP (statut="o", 
+                                                                   typ="TXM",
+                                                                   defaut="SPLINE",
+                                                                   into= ("SPLINE","PARABOLIC","LINEAR"),
+                                                                   ang="type of join between laws",
+                                                                   fr ="type de jointure entre les 2 lois" ,
+                                                                   ),
+                                                  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 ="jointure appliquee a ",
+                                                                   ),
+                                                       ), # fin BLOC MarroSatuParam
+ ) # fin OPER 
+#================================
+# 3eme bloc : bloc SOURCES
+#================================
+
+SOURCES = PROC ( nom = "SOURCES",
+                 op = None,
+                repetable = 'n',
+                 ang = "sources block definition", 
+
+ STRANDED_INDUCTOR  = FACT (statut="f",
+                            fr="stranded inductor source",
+               
+                      NAME     = SIMP (statut="o",
+                                      typ="TXM",
+                                       fr="name of the source",
+                                      ),
+                      NTURNS   = SIMP (statut="o",
+                                      typ="I",
+                                      defaut=1,
+                                       fr="number of tuns in the inductor",
+                                      ),
+                      CURJ     = SIMP (statut="o",
+                                      typ="R",
+                                      defaut=0,
+                                       fr="intensity",
+                                      ),
+                     POLAR    = SIMP (statut="o",
+                                      typ="R",
+                                      defaut=0,
+                                       fr="polarization",
+                                      ),
+
+                      ), # fin FACT 
+                           
+ EPORT = FACT (statut="f",
+               fr="eport source",
+               
+         NAME     = SIMP (statut="o",
+                         typ="TXM",
+                          fr="name of the source",
+                         ),
+         TYPE     = SIMP (statut="o",
+                         typ="TXM",
+                         into=("VOLTAGE","CURRENT"),
+                          fr="type of eport source",
+                         ),
+         AMP      = SIMP (statut="o",
+                         typ="R",
+                         defaut=0,
+                          fr="amplitude",
+                         ),
+         POLAR    = SIMP (statut="o",
+                         typ="R",
+                         defaut=0,
+                          fr="polarization",
+                         ),
+
+               ), # fin FACT eport
+
+ HPORT = FACT (statut="f",
+               fr="hport source",
+         
+        NAME     = SIMP (statut="o",
+                         typ="TXM",
+                          fr="name of the source",
+                         ),
+         TYPE     = SIMP (statut="o",
+                         typ="TXM",
+                         into=("VOLTAGE","CURRENT"),
+                          fr="type of hport source",
+                         ),
+         AMP      = SIMP (statut="o",
+                         typ="R",
+                         defaut=0,
+                          fr="amplitude",
+                         ),
+         POLAR    = SIMP (statut="o",
+                         typ="R",
+                         defaut=0,
+                          fr="polarization",
+                         ),
+
+               ), # fin FACT hport
+               
+
+) # Fin PROC sources
+
diff --git a/Carmel3D/__init__.py b/Carmel3D/__init__.py
new file mode 100644 (file)
index 0000000..40a96af
--- /dev/null
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/Carmel3D/configuration_CARMEL3D.py b/Carmel3D/configuration_CARMEL3D.py
new file mode 100644 (file)
index 0000000..0b8498f
--- /dev/null
@@ -0,0 +1,59 @@
+# -*- coding: utf-8 -*-\r
+#            CONFIGURATION MANAGEMENT OF EDF VERSION\r
+# ======================================================================\r
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG\r
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY\r
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY\r
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR\r
+# (AT YOUR OPTION) ANY LATER VERSION.\r
+#\r
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT\r
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF\r
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU\r
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.\r
+#\r
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE\r
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,\r
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.\r
+#\r
+#\r
+# ======================================================================\r
+"""\r
+    Ce module sert pour charger les paramètres de configuration d'EFICAS\r
+"""\r
+# Modules Python\r
+import configuration\r
+import os\r
+\r
+\r
+class CONFIG(configuration.CONFIG_BASE):\r
+\r
+  #-----------------------------------\r
+  def __init__(self,appli,repIni):\r
+  #-----------------------------------\r
+\r
+      configuration.CONFIG_BASE.__init__(self,appli,repIni,'.Eficas_Openturns')\r
+      self.INSTALLDIR =os.path.dirname(__file__)\r
+      self.REPINI =os.path.dirname(__file__)\r
+\r
+      self.labels_user=['exec_acrobat', 'catalogues','savedir','path_doc','OpenTURNS_path']\r
+      self.labels_eficas=["rep_user","INSTALLDIR","path_doc","exec_acrobat"]\r
+      self.labels_eficas=self.labels_eficas+["rep_cata","initialdir","savedir","catalogues"]\r
+      self.cataFile="editeur.ini"\r
+      self.setValeurs()\r
+\r
+  #---------------------------------------\r
+  def lecture_fichier_ini_standard(self):\r
+  #---------------------------------------\r
+       configuration.CONFIG_BASE.lecture_fichier_ini_standard(self)\r
+       if hasattr(self,'OpenTURNS_path') :\r
+         self.oldOTPath=self.OpenTURNS_path\r
+\r
+  #---------------------------------------\r
+  def lecture_fichier_ini_utilisateur(self):\r
+  #---------------------------------------\r
+       configuration.CONFIG_BASE.lecture_fichier_ini_utilisateur(self)\r
+\r
+def make_config(appli,rep):\r
+    return CONFIG(appli,rep)\r
+\r
diff --git a/Carmel3D/editeur.ini b/Carmel3D/editeur.ini
new file mode 100644 (file)
index 0000000..b9fca08
--- /dev/null
@@ -0,0 +1,12 @@
+# Choix des catalogues
+import os
+rep_cata=os.getcwd()
+
+catalogues = (
+# (code,version,catalogue,formatIn,formatOut)
+# catalogue entier et etendu : tout est decrit avec les repetitions qui en decoulent 
+ ('CARMEL3D','ETENDU',os.path.join(rep_cata,'Carmel3D_cata_etendu.py'),'python','python'),
+# catalogue avec essai de mise en commun de certains blocs (loi) 
+ ('CARMEL3D','FACTORISATION LOIS',os.path.join(rep_cata,'Carmel3D_cata_fact.py'),'python','python'),
+)
+
diff --git a/Carmel3D/prefs.py b/Carmel3D/prefs.py
new file mode 100644 (file)
index 0000000..e1d52ad
--- /dev/null
@@ -0,0 +1,4 @@
+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
new file mode 100644 (file)
index 0000000..eca54ea
--- /dev/null
@@ -0,0 +1,105 @@
+# -*- 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
+
+# repIni sert à localiser le fichier editeur.ini
+# Obligatoire
+repIni=os.path.dirname(os.path.abspath(__file__))
+REPINI=os.path.dirname(os.path.abspath(__file__))
+INSTALLDIR=os.path.abspath(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
+
+
+# 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'
+
+
+# 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_install/prefs.py")
+
+if os.path.isfile(userprefs):
+   try:
+      execfile(userprefs)
+   except:
+      pass
+
+#-------------------------------------------------------------------
+# Partie pour TK
+#-------------------------------------------------------------------
+
+labels= ('Fichier','Edition','Jeu de commandes',
+                'Options',
+                'Aide',
+                 'Traduction',
+           )
+
+appli_composants=['readercata','bureau',
+                   'options',
+           ]
+
+menu_defs={ 'bureau': [
+              ('Fichier',[
+                           ('Nouveau','newJDC','<Control-n>','Ctrl+N'),
+                           ('Nouvel INCLUDE','newJDC_include'),
+                           ('Ouvrir','openJDC','<Control-o>','Ctrl+O'),
+                           ('Enregistrer','saveJDC','<Control-s>','Ctrl+S'),
+                           ('Enregistrer sous','saveasJDC','<Control-e>','Ctrl+E'),
+                           None,
+                           ('Fermer','closeJDC','<Control-w>','Ctrl+W'),
+                           ('Quitter','exitEFICAS','<Control-q>','Ctrl+Q'),
+                         ]
+              ),
+              ('Edition',[
+                           ('Copier','copy','<Control-c>','Ctrl+C'),
+                           ('Couper','cut','<Control-x>','Ctrl+X'),
+                           ('Coller','paste','<Control-v>','Ctrl+V'),
+                         ]
+              ),
+              ('Jeu de commandes',[
+               ('Rapport de validation','visuCRJDC','<Control-r>','Ctrl+R'),
+               ('Fichier source','visu_txt_brut_JDC','<Control-b>','Ctrl+B'),
+               #('Paramètres Eficas','affichage_fichier_ini'),
+                                  ]
+              ),
+              ('Traduction',[
+               ('Traduction v7 en v8','TraduitFichier7'),
+               ('Traduction v8 en v9','TraduitFichier8','<Control-t>','Ctrl+T'),
+                            ]
+              ),
+              ('Aide',[
+                        ('Aide EFICAS','aideEFICAS','<Control-a>','Ctrl+A'),
+                      ]
+              ),
+             ]
+           }
diff --git a/Carmel3D/properties.py b/Carmel3D/properties.py
new file mode 100644 (file)
index 0000000..3db8254
--- /dev/null
@@ -0,0 +1,25 @@
+#@ 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/qtEficas_Carmel3D.py b/Carmel3D/qtEficas_Carmel3D.py
new file mode 100755 (executable)
index 0000000..299b7f6
--- /dev/null
@@ -0,0 +1,34 @@
+#!/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 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/Carmel3D/style.py b/Carmel3D/style.py
new file mode 100644 (file)
index 0000000..d485572
--- /dev/null
@@ -0,0 +1,66 @@
+# -*- 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)