* fichier : voro3dp.dgibi *----------------------------------------------------------------------* * voro3d.dgibi est un exemple d'utilisation dans un cas tridimensionel * * de la procedure MAILVORO de maillage d'agregats cubiques de polyedres* * de Voronoi ponderes. Cette procedure fait appel a l'operateur VORO. * *----------------------------------------------------------------------* * * * * * * *----------------------------------------------------------------------* * Maillage d'un agregat 3D de polyedres de Voronoi ponderes * *----------------------------------------------------------------------* * * * ITRAC1 : VRAI => affichage resultats. * * ITRAC1 = FAUX ; *----------------------------------------------------------------------* 'OPTI' 'ECHO' 1 ; * 'OPTI' 'DIME' 3 'ELEM' 'TET4' ; * * ************************************************************************ * Enveloppe de la partition : contour d'une demi eprouvette * ************************************************************************ L0 = 0.25; P0 = 0.25; H0 = 1.; * CF1 = 1.1; CF2 = 1.3; CF3 = 1.6; * O1 = (L0/2) (P0/2) 0. ; P1 = (L0*0.8) 0. 0. ; P2 = (L0*0.8) 0. (H0*CF1) ; P3 = (L0*1.4) 0. (H0*CF2 ) ; P4 = (L0*1.4) 0. (H0*CF3) ; L1 = P1 droi 5 P2 ; L2 = P2 cerc ((L0*1.4) 0. (H0*CF1)) 5 P3 ; L3 = P3 droi 1 P4 ; LT = L1 et L2 et L3 ; S0 = LT rota 12 360. O1 (0. 0. 100.) ; elim S0 1.E-3 ; CNTZ0 = (aret S0) elem appu stri (S0 poin plan O1 P1 (0 (P0/3.) 0) 1.E-3) ; CNTZ1 = (aret S0) elem appu stri (S0 poin plan (0 0 (H0*CF3)) P4 (0 (P0/3.) (H0*CF3)) 1.E-3) ; SZ0 = surf cntZ0 plan ; SZ1 = surf cntZ1 plan ; VOL1 = VOLU (S0 ET SZ0 ET SZ1) ; ENV1 = ENVE VOL1; ARE1 = ARET ENV1; * * *--------------- Tirage des points germes des polyedres ---------------* * * LX = 1.29229E-01 ET 2.43185E-01 ET 1.08087E-01 ET 1.40905E-01 ET 2.21992E-01 ET 4.28972E-02 ET 2.40722E-01 ET 2.03581E-01 ET 1.75484E-01 ET 3.00197E-03 ET 5.82634E-02 ET 1.46958E-01 ET 2.66329E-02 ET 1.69800E-01 ET 1.01338E-01 ET 1.07537E-01 ET 1.06081E-01 ET 1.18039E-01 ET 8.65682E-02 ET 1.50796E-01 ET 3.38401E-03 ET 1.18953E-01 ET 2.44429E-01 ET 2.19225E-01 ET 1.26259E-01 ET 5.08291E-02 ET 1.82052E-01 ET 9.89551E-02 ET 2.34844E-01 ET 2.47768E-01; LY= 1.06323E-01 ET 5.16488E-02 ET 1.19192E-01 ET 6.05779E-02 ET 1.94001E-01 ET 1.51163E-01 ET 8.01130E-02 ET 1.31412E-01 ET 1.53177E-01 ET 2.22862E-01 ET 3.24129E-02 ET 3.90001E-02 ET 4.97612E-02 ET 6.62040E-02 ET 6.93399E-02 ET 1.23212E-01 ET 2.46797E-01 ET 1.82201E-01 ET 1.39845E-01 ET 5.16273E-02 ET 2.90715E-03 ET 8.84773E-04 ET 5.92805E-02 ET 1.06027E-01 ET 1.24217E-02 ET 1.77183E-01 ET 2.03062E-01 ET 1.64567E-01 ET 1.83832E-01 ET 1.40190E-01; LZ= 7.25838E-02 ET 9.04691E-01 ET 1.53265E-01 ET 1.90351E-01 ET 4.45326E-01 ET 5.44165E-01 ET 6.00586E-01 ET 2.47951E-01 ET 7.62149E-01 ET 3.32146E-01 ET 9.85533E-01 ET 4.65077E-01 ET 4.79565E-01 ET 9.72372E-01 ET 5.75787E-01 ET 8.47267E-01 ET 8.14600E-01 ET 9.90397E-01 ET 2.61158E-01 ET 6.98808E-01 ET 2.06797E-01 ET 1.02887E-01 ET 8.00636E-01 ET 3.61932E-01 ET 3.13814E-01 ET 6.84341E-01 ET 5.83510E-01 ET 4.28116E-01 ET 8.98150E-01 ET 8.91639E-02; LR = 2.51883E-02 ET 2.93567E-02 ET 3.00674E-02 ET 4.17002E-02 ET 4.42619E-02 ET 4.44172E-02 ET 4.74397E-02 ET 4.74953E-02 ET 4.99674E-02 ET 5.05465E-02 ET 5.08768E-02 ET 5.60364E-02 ET 5.69667E-02 ET 5.99059E-02 ET 6.03926E-02 ET 6.08188E-02 ET 6.26956E-02 ET 6.33553E-02 ET 6.46135E-02 ET 6.53108E-02 ET 6.54857E-02 ET 6.56331E-02 ET 6.59384E-02 ET 6.66768E-02 ET 7.30662E-02 ET 7.61928E-02 ET 7.83173E-02 ET 7.96506E-02 ET 8.51113E-02 ET 9.63390E-02; * MAIL1 = 'VIDE' 'MAILLAGE'/'POI1'; * PT1 = 'MANU' 'POI1' ((EXTR LX 1) (EXTR LY 1) (EXTR LZ 1)) ; R1 = EXTR LR 1; CHR1 = MANU CHPO PT1 1 'RAYO' R1 NATURE DISCRET ; MAIL1 = MAIL1 'ET' PT1 ; * PX = 0.125 0.125 (H0*1.4); MAIL1 = MAIL1 ET PX; CHRX= MANU CHPO (MANU POI1 PX) 1 'RAYO' (MESU L3) NATURE DISCRET ; CHR1 = CHR1 ET CHRX; CHR1 = REDU CHR1 MAIL1; * REPE B0 ((DIME LX) - 1); N0 = (&B0 + 1); PT1 = 'MANU' 'POI1' ((EXTR LX N0) (EXTR LY N0) (EXTR LZ N0)) ; MAIL1 = MAIL1 'ET' PT1 ; R1 = EXTR LR N0; CHRI = MANU CHPO PT1 1 'RAYO' R1 NATURE DISCRET ; CHR1 = CHR1 'ET' CHRI; FIN B0; * CHR1 = 'REDU' CHR1 MAIL1 ; * * *---------------- Partition de Voronoi ponderee ------------------* * * 'SAUT' 1 'LIGN' ; 'MESS' '***** Partition du cube unite en cellules de Voronoi ' ; 'TEMP' 'ZERO' ; TPVORO1 = 'VORO' MAIL1 ENV1 ; 'TEMP' ; * * 'SI' ITRAC1 ; 'TITR' ' Partition du cube unite en cellules de Voronoi ' ; 'TRAC' (TPVORO1 . 'VISU' 'ET' (MAIL1 'COUL' 'ROUG')) ; 'FINS' ; * * *--------------------- Maillage de la partition -----------------------* * * 'SAUT' 1 'LIGN' ; 'MESS' '***** Maillage de la partition ' ; TMVORO1 = MAILVORO TPVORO1 ENV1 'COUL'; 'TEMP' ; * * *----------------------- Affichages / Donnees -------------------------* * * 'SI' ITRAC1 ; 'TITR' ' Visualisation du maillage ' ; 'TRAC' 'FACE' TMVORO1 . 'MAIL' ; * * * Structures de la table de resultat : * PTS1 = MAIL1 'POIN' 1 ; 'TITR' ' Le maillage de chaque polyedre est indice par son germe ' ; 'TRAC' 'FACE' (TMVORO1 . CELL. PTS1 . 'MAIL' 'ET' ARE1) ; * * MAILG1 = TMVORO1 . CELL . PTS1 . 'MAIL' ; PTS2 = TMVORO1 . CELL . PTS1 . 'VOIS' 'POIN' 1 ; 'TITR' ' Les germes des voisins sont au sous-indice "VOIS" ' ; 'TRAC' 'FACE' (MAILG1 'ET' TMVORO1 . CELL .PTS2 . 'MAIL' 'ET' ARE1) ; 'FINS' ; * * 'FIN' ; 'OPTI' 'ECHO' 1 ;
© Cast3M 2003 - All rights reserved.
Disclaimer