* fichier : inclusions.dgibi
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* Maillage d'un echantillon cubique *
* de particules spheriques en inclusion dans une matrice *
*----------------------------------------------------------------------*
* *
*-------------------- Parametres de la realisation --------------------*
* NBG1 : Nombre de particules. *
* DEXC1 : Distance d'exclusion entre points germes des polyedres. *
* Attention, si la distance est trop importante, le nombre *
* de polyedres demandes ne pourra pas etre atteint. *
* DENS1 : Densite (taille) moyenne des elements du maillage. *
* Par defaut, vaut 1/5 de la taille moyenne des polyedres. *
* IGER1 : Germe du generateur de nombres aleatoires. *
* Mot-cle 'AUTO' => processus de congruence initialise a 1 *
* ITRAC1 : VRAI => affichage resultats. *
NBG1 = 3 ** 3 ;
DEXC1 = 0.33 ;
DENS1 = 0.25 * (('FLOT' NBG1) ** (-1. / 3.)) ;
IGER1 = 1 ;
ITRAC1 = FAUX ;
*----------------------------------------------------------------------*
'OPTI' 'ECHO' 1 ;
VECH1 = 'VALE' 'ECHO' ;
VTRA1 = 'VALE' 'TRAC' ;
* *
*--------------------- Maillage d'un cube unite -----------------------*
* *
'OPTI' 'DIME' 3 'ELEM' 'TET4' ;
* *
O1 = 0. 0. 0. ;
X1 = 1. 0. 0. ;
Y1 = 0. 1. 0. ;
Z1 = 0. 0. 1. ;
* *
MCUB1 = ((O1 'DROI' 1 X1) 'TRAN' 1 Y1) 'VOLU' 'TRAN' 1 Z1 ;
ACUB1 = ('ARET' MCUB1) 'COUL' 'VERT' ;
* *
*--------------- Tirage des points germes des polyedres ---------------*
* *
'SAUT' 1 'LIGN' ;
'MESS' '***** Tirage des points germes des polyedres' ;
MPTS1 = @POINTIR REPU NBG1 SPHE DEXC1 'GERM' IGER1 ;
NBG1 = NBNO MPTS1 ;
* *
'SI' ITRAC1 ;
'TITR' ('CHAI' NBG1 ' germes tires ') ;
'TRAC' (ACUB1 'ET' MPTS1) ;
'FINS' ;
* *
*---------------- Partition de Voronoi du cube unite ------------------*
* *
'SAUT' 1 'LIGN' ;
'MESS' '***** Partition du cube unite en cellules de Voronoi ' ;
'TEMP' 'ZERO' ;
TPVORO1 = @P_BOIT2 (@P_VORO MPTS1) ;
'TEMP' ;
* *
'SI' ITRAC1 ;
'TITR' ' Partition du cube unite en cellules de Voronoi ' ;
'TRAC' (TPVORO1 . 'MAV' 'ET' (MPTS1 'COUL' 'ROUG')) ;
'FINS' ;
* *
*--------------------- Maillage des inclusions ------------------------*
* *
* On prend pour diametre des inclusions 0,97 fois la dist. d'exclusion *
TAB1 = @INCLUSI TPVORO1 (0.95 * DEXC1) DEXC1 (DENS1) (ITRAC1) ;
* *
*----------------------- Affichages / Donnees -------------------------*
* *
'SI' ITRAC1 ;
'TITR' ' Visualisation du maillage de la matrice ' ;
'TRAC' 'FACE' TAB1 . 'MATR' ;
'TITR' ' Visualisation du maillage des inclusions ' ;
'TRAC' 'FACE' TAB1 . 'PART' ;
'TITR' ' Visualisation du maillage "total"' ;
'TRAC' 'FACE' TAB1 . 'MAIL' ;
* *
* Structure de la table de resultat : *
PTS1 = MPTS1 'POIN' 1 ;
'TITR' ' Le maillage de chaque inclusion est indice par son centre ' ;
'TRAC' 'FACE' (TAB1 . PTS1 . 'PART' 'ET' ACUB1) ;
'TITR'
' Ainsi que la portion de matrice relative a la cellule de Voronoi' ;
'TRAC' 'FACE' (TAB1 . PTS1 . 'MATR' 'ET' ACUB1)
'COUP' PTS1 (PTS1 'PLUS' Y1) (PTS1 'PLUS' Z1) ;
* *
MAILG1 = TAB1 . PTS1 . 'MAIL' ;
PTS2 = TAB1 . PTS1 . 'MPT' 'POIN' 2 ;
'TITR'
'Les centres des inclusions voisines sont au sous-indice "MPT"' ;
'TRAC' 'FACE' (MAILG1 'ET' TAB1 . PTS1 . 'MPT' 'ET' ACUB1) ;
'TITR'
'Ce qui donne acces aux maillages relatifs a ces inclusions voisines' ;
'TRAC' 'FACE' (('ARET' MAILG1) 'ET' TAB1 . PTS2 . 'MAIL' 'ET' ACUB1) ;
MAILG2 = TAB1 . PTS2 . 'MAIL' ;
AG1G2 = 'ARET' (MAILG1 'ET' MAILG2) ;
'TITR'
'La face a 2 inclusions voisines sont sous-indicees par leurs centres' ;
'TRAC' 'FACE' (TAB1 . PTS1 . PTS2 . 'MATR' 'ET' ACUB1 'ET' AG1G2) ;
'FINS' ;
* *
'FIN' ;
'OPTI' 'ECHO' 1 ;
© Cast3M 2003 - All rights reserved.
Disclaimer