1 : * CINEMB PROCEDUR PYROS1 96/01/03 21:16:05 1968 2 : 'DEBPROC' CINEMB MESH0*'MAILLAGE' MESH1*'MAILLAGE' MESH2*'MAILLAGE' 3 : MESH3*'MAILLAGE'; 4 : ********************************************************************* 5 : * INPUT: 6 : * MESH0=MESH TO BE PLOTTED 7 : * MESH1=MESH OF POI1 INDICATING THE SUCESSIVE POSITION OF THE POINT 8 : * OF VIEW OF THE OBSERVER 9 : * MESH2=MESH OF POI1 INDICATING THE SUCCESSIVE DIRECTION POINTED BY 10 : * THE EYES OF THE OBSERVER 11 : * MESH3=MESH OF POI1 INDICATING THE SUCCESSIVE DIRECTION OF THE AXE 12 : * OF THE HEAD OF THE OBSERVER 13 : * OUTPUT: 14 : * DEFOT=SUCCESSIVE DEFORME OF THE MESH REFERENCED TO THE FIRST POSITION 15 : * OF THE OBSERVER 16 : ********************************************************************* 17 : * P.PEGON/JRC ISPRA/10.95 18 : ********************************************************************* 19 : * 20 : LOK=VRAI; 21 : * 22 : * verification des donnees 23 : * 24 : LMOT1=MESH1 'ELEM' 'TYPE' ; 25 : 'SI' ('NEG' ('DIME' LMOT1) 1); 26 : LOK=FAUX; 27 : 'MESS' 'CINEMA: MESH1 contient plusieurs types d"element'; 28 : 'SINON'; 29 : 'SI' ('NEG' ('EXTR' LMOT1 1) 'POI1'); 30 : LOK=FAUX; 31 : 'MESS' 'CINEMA: MESH1 n"est pas un maillage de POI1'; 32 : 'FINSI'; 33 : 'FINSI'; 34 : * 35 : LMOT2=MESH2 'ELEM' 'TYPE' ; 36 : 'SI' ('NEG' ('DIME' LMOT2) 1); 37 : LOK=FAUX; 38 : 'MESS' 'CINEMA: MESH2 contient plusieurs types d"element'; 39 : 'SINON'; 40 : 'SI' ('NEG' ('EXTR' LMOT2 1) 'POI1'); 41 : LOK=FAUX; 42 : 'MESS' 'CINEMA: MESH2 n"est pas un maillage de POI1'; 43 : 'FINSI'; 44 : 'FINSI'; 45 : * 46 : LMOT3=MESH3 'ELEM' 'TYPE' ; 47 : 'SI' ('NEG' ('DIME' LMOT3) 1); 48 : LOK=FAUX; 49 : 'MESS' 'CINEMA: MESH3 contient plusieurs types d"element'; 50 : 'SINON'; 51 : 'SI' ('NEG' ('EXTR' LMOT3 1) 'POI1'); 52 : LOK=FAUX; 53 : 'MESS' 'CINEMA: MESH3 n"est pas un maillage de POI1'; 54 : 'FINSI'; 55 : 'FINSI'; 56 : * 57 : NBEL1='NBEL' MESH1; 58 : NBEL2='NBEL' MESH2; 59 : NBEL3='NBEL' MESH3; 60 : 'SI' ('NEG' NBEL1 NBEL2); 61 : LOK=FAUX; 62 : 'MESS' 'CINEMA: MESH1 et MESH2 n"ont pas le meme nb d"elements'; 63 : 'FINSI'; 64 : 'SI' ('NEG' NBEL1 NBEL3); 65 : LOK=FAUX; 66 : 'MESS' 'CINEMA: MESH1 et MESH3 n"ont pas le meme nb d"elements'; 67 : 'FINSI'; 68 : 'SI' ('EGA' NBEL1 1); 69 : LOK=FAUX; 70 : 'MESS' 'CINEMA: MESH1 ne contient que un element'; 71 : 'FINSI'; 72 : * 73 : 'SI' LOK; 74 : 'MESS' 'CINEMA: traitement deformee numero' 1 'sur' NBEL1; 75 : O0=0. 0. 0.; 76 : * 77 : * traitement du premier point 78 : * 79 : OEIL1='POINT' ('ELEM' MESH1 1) 1; 80 : DIRE1='POINT' ('ELEM' MESH2 1) 1; 81 : VECT1='POINT' ('ELEM' MESH3 1) 1; 82 : VECT1=VECT1/('NORM' VECT1); 83 : DIRE1=DIRE1 'MOIN' ( (DIRE1 'PSCAL' VECT1) * VECT1 ); 84 : DIRE1=DIRE1/('NORM' DIRE1); 85 : UUUU1='MANU' 'CHPO' MESH0 3 'UX' 0 'UY' 0 'UZ' 0; 86 : DEFO1='DEFO' MESH0 UUUU1 1; 87 : DEFOT=DEFO1; 88 : XX1 YY1 ZZ1='COOR' MESH0; 89 : * 90 : * traitement des autres points 91 : * 92 : J=1; 'REPE' LAB1 (NBEL1-1); J=J+1; 93 : 'MESS' 'CINEMA: traitement deformee numero' J 'sur' NBEL1; 94 : * 95 : OEILJ='POINT' ('ELEM' MESH1 J) 1; 96 : DIREJ='POINT' ('ELEM' MESH2 J) 1; 97 : VECTJ='POINT' ('ELEM' MESH3 J) 1; 98 : * 99 : VECTJ=VECTJ/('NORM' VECTJ); 100 : OMEJ0=VECTJ 'PVEC' VECT1; 101 : SINJ0='NORM' OMEJ0; 102 : COSJ0=VECT1 'PSCA' VECTJ; 103 : 'SI' (SINJ0 '>' 1.E-4); 104 : 'SI' (('ABS' COSJ0) '>' 1.E-4); 105 : ANGJ0='ATG' SINJ0 COSJ0; 106 : 'SINON'; 107 : ANGJ0=90.; 108 : 'FINSI'; 109 : 'SINON'; 110 : OMEJ0=VECTJ 'PVECT' DIREJ; 111 : 'SI' (COSJ0 '>' 0.); 112 : ANGJ0=0.; 113 : 'SINON'; 114 : ANGJ0=180.; 115 : 'FINSI'; 116 : 'FINSI'; 117 : * 118 : DIREJ=DIREJ 'MOIN' ( (DIREJ 'PSCAL' VECTJ) * VECTJ ); 119 : DIREJ=DIREJ/('NORM' DIREJ); 120 : * 121 : 'SI' ('NEG' ANGJ0 0.); 122 : 'DEPL' DIREJ 'TOUR' ANGJ0 O0 OMEJ0; 123 : 'FINSI'; 124 : * 125 : TRAJ1=OEIL1 'MOINS' OEILJ; 126 : XTRAJ1 YTRAJ1 ZTRAJ1='COOR' TRAJ1; 127 : UUUJ1='MANU' 'CHPO' MESH0 3 'UX' XTRAJ1 'UY' YTRAJ1 'UZ' ZTRAJ1; 128 : * 129 : OMEJ1=DIREJ 'PVEC' DIRE1; 130 : SINJ1='NORM' OMEJ1; 131 : * 132 : COSJ1=DIREJ 'PSCA' DIRE1; 133 : 'SI' (SINJ1 '>' 1.E-4); 134 : 'SI' (('ABS' COSJ1) '>' 1.E-4); 135 : ANGJ1='ATG' SINJ1 COSJ1; 136 : 'SINON'; 137 : ANGJ1=90.; 138 : 'FINSI'; 139 : 'SINON'; 140 : OMEJ1=VECT1; 141 : 'SI' (COSJ1 '>' 0.); 142 : ANGJ1=0.; 143 : 'SINON'; 144 : ANGJ1=180.; 145 : 'FINSI'; 146 : 'FINSI'; 147 : * mess 'ANGJ0,ANGJ1' ANGJ0 ANGJ1; 148 : 'SI' ('NEG' ANGJ0 0.); 149 : 'DEPL' MESH0 'TOUR' ANGJ0 OEILJ (OEILJ 'PLUS' OMEJ0); 150 : 'FINSI'; 151 : 'SI' ('NEG' ANGJ1 0.); 152 : 'DEPL' MESH0 'TOUR' ANGJ1 OEILJ (OEILJ 'PLUS' OMEJ1); 153 : 'FINSI'; 154 : XXJ YYJ ZZJ='COOR' MESH0; 155 : 'SI' ('NEG' ANGJ1 0.); 156 : 'DEPL' MESH0 'TOUR' ((-1)*ANGJ1) OEILJ (OEILJ 'PLUS' OMEJ1); 157 : 'FINSI'; 158 : 'SI' ('NEG' ANGJ0 0.); 159 : 'DEPL' MESH0 'TOUR' ((-1)*ANGJ0) OEILJ (OEILJ 'PLUS' OMEJ0); 160 : 'FINSI'; 161 : 162 : UUUJ1=UUUJ1 + ('EXCO' (XXJ-XX1) 'SCAL' 'UX') 163 : + ('EXCO' (YYJ-YY1) 'SCAL' 'UY') 164 : + ('EXCO' (ZZJ-ZZ1) 'SCAL' 'UZ'); 165 : DEFJ1='DEFO' MESH0 UUUJ1 1; 166 : DEFOT=DEFOT 'ET' DEFJ1; 167 : * 168 : 'FIN' LAB1; 169 : * 170 : 'SINON'; 171 : DEFOT=LOK; 172 : 'FINSI'; 173 : * 174 : 'FINPROC' DEFOT; 175 :
© Cast3M 2003 - All rights reserved.
Disclaimer