]> SALOME platform Git repositories - modules/eficas.git/commitdiff
Salome HOME
*** empty log message ***
authorPascale Noyret <pascale.noyret@edf.fr>
Tue, 6 Jul 2010 08:32:09 +0000 (08:32 +0000)
committerPascale Noyret <pascale.noyret@edf.fr>
Tue, 6 Jul 2010 08:32:09 +0000 (08:32 +0000)
MAP/Templates/s_poly_st_1_V1/benhur_pygmee_template.txt [new file with mode: 0644]
MAP/Templates/s_poly_st_1_V1/pygmee_input_template.txt [new file with mode: 0644]
MAP/Templates/s_poly_st_1_V1/s_poly_st_1_aster_template.comm [new file with mode: 0644]
MAP/Templates/s_poly_st_1_V1/s_poly_st_1_aster_template.export [new file with mode: 0644]

diff --git a/MAP/Templates/s_poly_st_1_V1/benhur_pygmee_template.txt b/MAP/Templates/s_poly_st_1_V1/benhur_pygmee_template.txt
new file mode 100644 (file)
index 0000000..899e8a0
--- /dev/null
@@ -0,0 +1,28 @@
+OPTIONS
+3D BENHUR SCALE
+I - Morphologie (MESSALA)
+1) dimension du VER cubique [m] (entree)
+%_PYGMEE_TAILLE%
+2) fraction volumique seuil écrétant le fuseau (entree)
+.11
+3) fichier decrivant le fuseau granulaire descendant (entree)
+-
+4) fichier decrivant la position et la taille des boules (sortie)
+%_PATH_PYGMEE%/benhur_input.txt
+5) fichier CAO de la morphologie (sortie)
+-
+6) facteur de correction de fraction volumique (entree)
+1.0
+II - Maillage (BENHUR)
+1) fichier entree décrivant le maillage support (entree)
+%_PATH_BENHUR%/regular_mesh_3D_%_BENHUR_FINESSE%.msh
+2) fichier sortie du maillage  (sortie)
+%_PATH_STUDY%/%_NAME_SCHEME%_benhur_%_BENHUR_FINESSE%.msh
+3) fichier commentaire sur les statistiques décrivant le maillage (sortie)
+%_PATH_STUDY%/%_NAME_SCHEME%_benhur_%_BENHUR_FINESSE%.log
+4) fichier BMP décrivant une coupe binarisée du VER (sortie)
+%_PATH_BENHUR%/%_NAME_SCHEME%_benhur_%_BENHUR_FINESSE%.bmp
+5) fichier TXT donnant la level set du contour aux noeuds (sortie)
+%_PATH_BENHUR%/%_NAME_SCHEME%_benhur_%_BENHUR_FINESSE%_levelset.txt
+
diff --git a/MAP/Templates/s_poly_st_1_V1/pygmee_input_template.txt b/MAP/Templates/s_poly_st_1_V1/pygmee_input_template.txt
new file mode 100644 (file)
index 0000000..16cf5eb
--- /dev/null
@@ -0,0 +1,11 @@
+# fichier de mise en donnee de la generation du VER MOX
+# nombre de phases
+1
+#fuseau 1 (entree de lecfus) format : diametre DCE croissant / fraction cumulee decroisant 
+%_PATH_MODULE%/s_poly_st_1/inclusion_size_distribution.txt
+#fuseau 2 (entree de lecfus) format : diametre DCE croissant / fraction cumulee decroisant
+toto.txt
+# taille du VER en microns 
+%_PYGMEE_TAILLE%
+# distance de repulsion :
+%_PYGMEE_DISTANCE%
diff --git a/MAP/Templates/s_poly_st_1_V1/s_poly_st_1_aster_template.comm b/MAP/Templates/s_poly_st_1_V1/s_poly_st_1_aster_template.comm
new file mode 100644 (file)
index 0000000..96ceb4e
--- /dev/null
@@ -0,0 +1,203 @@
+#===========================================
+# 20090416 jsn
+# cas test thermique : cube homogene isotrope
+# soumis a un -gradT homogene au contour qcq (donne par ses 3 composantes mg1,mg2,mg3)
+# les champs sont sortis au format gmsh
+# les moyennes des champs de gradient de temperature et de flux de chaleur sont calcules
+#
+# teste en STA9.4
+#============================================
+
+# nbre de classes (de 0% a 100% d'inclusions)
+nb_classes=11
+# specifier le repertoire dans lequel on trouve "entree_schema.dat", "entree_cl.dat" et dans lequel on ecrit "sortie_resultats.dat"
+racine="%_PATH_MODULE%/s_poly_st_1/"
+# nb_classes lignes de float : les lambda donnes par le schema pour la fraction d'incl de chaque classe (de 0% incl a 100% incl tous les N% selon nb_classes)
+fic_entree_schema   =racine+"s_poly_st_1_aster.mat"
+
+# cote cube
+L=%_PYGMEE_TAILLE%
+
+# conductivite isotrope
+lambd=1.
+# -gradT homogene au contour
+mg1=1.0
+mg2=0.0
+mg3=0.0
+# nbre de classes (de 0% a 100% d'inclusions)
+nb_classes=11
+# lecture schema = lambda pour chaque classe
+lambda_t = [0.0]*nb_classes
+print("'\n")
+for i in range(0,nb_classes):
+       alpha=float((i-1)/(nb_classes-1))
+       lambda_t[i]=(1-alpha)*%_ASTER_CONDUCTIVITE_M%+(alpha)*%_ASTER_CONDUCTIVITE_I%
+
+DEBUT(PAR_LOT='OUI',); # 'OUI' evite l'alarme
+
+# lecture maillage format gmsh
+PRE_GMSH();
+mail=LIRE_MAILLAGE();
+
+# definition des gpes de mailles (surfaces de type 'xp' (x=L) ,'xm' (x=0),... et volume 'vol' regroupant toutes les mailles)
+GMsur_gmsh_noms  = ['GM1001', 'GM1002', 'GM1003', 'GM1004', 'GM1005', 'GM1006',]
+GMsur_aster_noms = ['xm', 'xp', 'ym', 'yp', 'zm', 'zp',]
+GMsur_aster_list = [ _F(NOM=GMsur_aster_noms[i],GROUP_MA=GMsur_gmsh_noms[i],) for i in range(0,len(GMsur_gmsh_noms)) ]
+
+GMvol_gmsh_noms  = ['GM10000', 'GM10100', 'GM10200', 'GM10300', 'GM10400', 'GM10500', 'GM10600', 'GM10700', 'GM10800', 'GM10900', 'GM11000',]
+GMvol_aster_nom  = 'vol'
+GMvol_aster_list = [ _F(NOM=GMvol_aster_nom,UNION=GMvol_gmsh_noms) ]
+
+mail=DEFI_GROUP(reuse =mail,
+                MAILLAGE=mail,
+                CREA_GROUP_MA=GMsur_aster_list+GMvol_aster_list,);
+
+# definition d'1 groupe de noeuds contenant le nd en (0,0,0)->nd0 afin de fixer la temperature en un point (supprimer les "mvts de corps rigide") ds le cas de CL en flux homogene au contour
+# definition par intersection des faces du cube
+mail=DEFI_GROUP(reuse =mail,
+                MAILLAGE=mail,
+                CREA_GROUP_NO=(_F(GROUP_MA=('xm','xp','ym','yp','zm','zp',),
+                               CRIT_NOEUD='TOUS',),
+                               ),);
+mail=DEFI_GROUP(reuse =mail,
+                MAILLAGE=mail,
+                CREA_GROUP_NO=(_F(NOM='nd0',
+                               INTERSEC=('xm','ym','zm',),),
+                               ),);
+
+# on s'assure que sur la frontiere du cube la normale soit bien sortante
+mail = MODI_MAILLAGE(reuse =mail,
+                     MAILLAGE=mail,
+                     ORIE_PEAU_3D=_F(GROUP_MA=('xm','xp','ym','yp','zm','zp',),),
+                       );
+
+# modele : thermique 3D (affecte a toutes les mailles)
+modl=AFFE_MODELE(MAILLAGE=mail,
+               AFFE=_F(TOUT='OUI',
+                       PHENOMENE='THERMIQUE',
+                       MODELISATION='3D',),);
+
+# materiau unique (cube homogene)
+mat=DEFI_MATERIAU(THER=_F(LAMBDA=lambd,
+                              RHO_CP=1,),);
+
+# definition materiaux mat[0] (0% incl) a mat[nb_classes-1] (100% incl) 
+mat_t=[0.]*nb_classes
+for i in range(0,nb_classes):
+    mat_t[i]=DEFI_MATERIAU(THER=_F(LAMBDA=lambda_t[i],
+                              RHO_CP=1,),);
+
+# affectation de chaque materiau au groupe de mailles correspondant, si celui ci existe
+affe_mater_list = [ _F(GROUP_MA=GMvol_gmsh_noms[i], MATER=mat_t[i],) for i in range(0,nb_classes) ]
+
+chmat=AFFE_MATERIAU(MAILLAGE=mail,
+                    AFFE=affe_mater_list,);
+
+#chmat=AFFE_MATERIAU(MAILLAGE=mail,
+#                    AFFE=_F(GROUP_MA='vol', MATER=mat,),);
+
+# preparation CL en -gradT homogene au contour (composantes mg1,mg2,mg3)
+# T = - (mg1*x + mg2*y + mg3*z)
+# ne depend que de 2 variables d'espace sur chaque face du cube, et de plus lineairement => utilisation de nappes
+l_temp=[]
+nap=[None]*6
+mg=[mg1,mg2,mg3]
+var = ['X','Y','Z']
+l_gma=[['zm','zp'],['xm','xp'],['ym','yp']] # groupes de mailles identifiant les 6 faces du cube
+for i in range(0,3):
+    par1 = var[(1+i)%3] # 1er parametre nappe
+    par2 = var[(0+i)%3] # 2e  parametre nappe
+    val00 = 0                              # valeur prise lorsque par1=0, par2=0
+    val01 = -(mg[(0+i)%3]*L)               # valeur prise lorsque par1=0, par2=L
+    val10 = -(mg[(1+i)%3]*L)               # valeur prise lorsque par1=L, par2=0
+    val11 = -(mg[(0+i)%3]*L+mg[(1+i)%3]*L) # valeur prise lorsque par1=L, par2=L
+    for j in range(0,2):
+        nap[i*2+j] = DEFI_NAPPE ( NOM_PARA = par1, PROL_DROITE = 'LINEAIRE', PROL_GAUCHE = 'LINEAIRE',
+                  PARA = (0, L),
+                  NOM_PARA_FONC = par2,
+                  DEFI_FONCTION =     (
+                        _F( PROL_DROITE = 'LINEAIRE', PROL_GAUCHE = 'LINEAIRE',
+                            VALE =(0,val00  ,  L,val01),
+                            ),
+                        _F( PROL_DROITE = 'LINEAIRE', PROL_GAUCHE = 'LINEAIRE',
+                            VALE =(0,val10  ,  L,val11),
+                            ),
+                        )
+                  )
+        l_temp.append( _F(GROUP_MA=(l_gma[i][j],), TEMP=nap[i*2+j],) )
+        # passage de la face - a la face + :
+        val00 += -(mg[(2+i)%3]*L)
+        val01 += -(mg[(2+i)%3]*L)
+        val10 += -(mg[(2+i)%3]*L)
+        val11 += -(mg[(2+i)%3]*L)
+
+# affectation CL en -gradT homogene au contour
+climites=AFFE_CHAR_THER_F(MODELE=modl,
+                    TEMP_IMPO= l_temp )
+
+# resolution F=K.u
+resther = THER_LINEAIRE(MODELE=modl,
+                       CHAM_MATER=chmat, # caracteristiques materiau
+                       EXCIT=(_F(CHARGE=climites),), # chargement (ici seulement des cl)
+                       );
+
+# calcul flux chaleur aux points de gauss
+resther=CALC_ELEM(reuse =resther, 
+                    RESULTAT=resther,
+                    OPTION='FLUX_ELGA_TEMP',); 
+
+###############################
+# DEBUT calcul champ (- gradient de temperature) en passant par un materiau homogene fictif de conductivite 1 (suggestion de JM Proix, voir fiche rex aster 13175)
+matfict=DEFI_MATERIAU(THER=_F(LAMBDA=1,
+                              RHO_CP=1,),);
+cmatfict=AFFE_MATERIAU(MAILLAGE=mail,
+                    AFFE=_F(TOUT='OUI', MATER=matfict,),);
+resmgrad=CALC_ELEM(RESULTAT=resther,
+                   OPTION='FLUX_ELGA_TEMP',
+                   CHAM_MATER=cmatfict); 
+# FIN calcul champ (- gradient de temperature) en passant par un materiau homogene fictif de conductivite 1 (suggestion de JM Proix, voir fiche rex aster 13175)
+# dans m_gradm le champ de flux de chaleur est en fait egal au champ de (- grad T)
+###############################
+
+# impression resultats format gmsh : champs de temperature, flux, gradient de temperature
+IMPR_RESU( MODELE=modl,
+          FORMAT='GMSH',
+#         FORMAT='MED',
+          UNITE=37,
+          RESU=(_F(RESULTAT = resther,),
+                _F(RESULTAT = resmgrad,
+                   NOM_CHAM='FLUX_ELGA_TEMP',
+                   NOM_CMP=('FLUX','FLUY','FLUZ',),)
+                ));
+
+IMPR_RESU(
+          FORMAT='MED',
+          UNITE=38,
+          RESU=(_F(RESULTAT = resther,),
+                _F(RESULTAT = resmgrad,
+                   NOM_CHAM='FLUX_ELGA_TEMP',
+                   NOM_CMP=('FLUX','FLUY','FLUZ',),)
+                ));
+
+# calcul integrale et moyenne du flux de chaleur sur l'ensemble du cube
+fluxmtot = POST_ELEM(INTEGRALE=_F(GROUP_MA='vol',
+                            NOM_CHAM='FLUX_ELGA_TEMP',
+                            NOM_CMP=('FLUX','FLUY','FLUZ',),),
+               MODELE=modl,
+               RESULTAT=resther,);
+# idem moyenne du gradient de temperature
+m_gradm = POST_ELEM(INTEGRALE=_F(GROUP_MA='vol',
+                            NOM_CHAM='FLUX_ELGA_TEMP',
+                            NOM_CMP=('FLUX','FLUY','FLUZ',),),
+               MODELE=modl,
+               RESULTAT=resmgrad,);
+
+# impression des flux moy
+IMPR_TABLE(TABLE=fluxmtot,
+           NOM_PARA=('VOL','MOYE_FLUX','MOYE_FLUY','MOYE_FLUZ',),);
+# et moy du grad de temperature
+IMPR_TABLE(TABLE=m_gradm,
+           NOM_PARA=('VOL','MOYE_FLUX','MOYE_FLUY','MOYE_FLUZ',),);
+
+# fin de l'execution
+FIN();
diff --git a/MAP/Templates/s_poly_st_1_V1/s_poly_st_1_aster_template.export b/MAP/Templates/s_poly_st_1_V1/s_poly_st_1_aster_template.export
new file mode 100644 (file)
index 0000000..d6b8c63
--- /dev/null
@@ -0,0 +1,35 @@
+P serveur localhost
+P version STA10.1
+P lang fr
+P debug debug
+P mode interactif
+P ncpus 1
+P mpi_nbcpu 1
+P mpi_nbnoeud 1
+P classe 
+P depart 
+P distrib 
+P flashdir 
+P exectool 
+P nomjob cube_therm_grad
+P origine ASTK 1.8.0
+A args 
+A memjeveux 218.75
+P mem_aster 100.0
+A tpmax 3600
+P memjob 1792000
+P tpsjob 60
+P follow_output yes
+P nbmaxnook 5
+P cpresok RESNOOK
+P facmtps 1
+P corefilesize unlimited
+F comm %_PATH_MODULE%/%_NAME_SCHEME%/s_poly_st_1_aster.comm D 1
+F msh %_PATH_STUDY%/%_NAME_SCHEME%_benhur_%_BENHUR_FINESSE%.msh D 19
+F resu %_PATH_MODULE%/%_NAME_SCHEME%/s_poly_st_1_aster.resu R 8
+F mess %_PATH_MODULE%/%_NAME_SCHEME%/s_poly_st_1_aster.mess R 6
+F erre %_PATH_MODULE%/%_NAME_SCHEME%/s_poly_st_1_aster.erre R 9
+F msh %_PATH_MODULE%/%_NAME_SCHEME%/s_poly_st_1_aster.resu.msh R 37
+P consbtc oui
+P soumbtc oui
+P actions make_etude