1 : * @LISSE PROCEDUR CHAT 96/01/03 21:22:42 1971 2 : ************************************************************************ 3 : ************************************************************************ 4 : *----------------------------------------------------------------------- 5 : * 6 : * PROCEDURE LISSE MLN/CERN JANVIER 91 7 : * 8 : * 9 : * LISSAGE D'UNE EVOLUTION PAR LA METHODE D'ENERGIE MINIMUM DE 10 : * DEFORMATION 11 : * 12 : *----------------------------------------------------------------------- 13 : * 14 : * ENTREE 15 : * 16 : * 17 : * EVO_1 Evolution a lisser 18 : * 19 : * FLO_1 Angle a l'origine en degre (flottant) 20 : * ( -45 < FLO1 < 45 ) 21 : * FLO-2 Angle a l'extremite en degre (flottant) 22 : * ( -45 < FLO2 < 45 ) 23 : * 24 : * ENT_1 Nombre de points sur la courbe 25 : * 26 : * ENT_2 1 : la latte est sur l'abcisse 27 : * 2 : la latte est sur l'ordonnee 28 : * 29 : *----------------------------------------------------------------------- 30 : * 31 : * SORTIE 32 : * 33 : * EVO_2 Evolution lissee 34 : * 35 : * 36 : *----------------------------------------------------------------------- 37 : 'DEBP' @LISSE EVO_1*'EVOLUTION' FLO_1*'FLOTTANT' FLO_2*'FLOTTANT' 38 : ENT_1*'ENTIER' ENT_2*'ENTIER' ; 39 : 'TITRE' ' LISSAGE EVOLUTION' ; 40 : 'OPTI' 'DIME' 3 'ELEM' 'SEG2' 'MODE' 'TRIDIM' ; 41 : EVO_1Y = 'EXTR' EVO_1 'ABSC' ; 42 : EVO_1Z = 'EXTR' EVO_1 'ORDO' ; 43 : NBP = 'DIME' EVO_1Y ; 44 : I = 0 ; 45 : PY = 'TABLE' ; 46 : PZ = 'TABLE' ; 47 : PP = 'TABLE' ; 48 : BLO = 'TABLE' ; 49 : DIP = 'TABLE' ; 50 : * 51 : * la latte est sur l'abcisse 52 : * 53 : 'SI' ('EGA' ENT_2 1) ; 54 : * 55 : 'REPE' BOU_1 NBP ; 56 : I = I + 1 ; 57 : PY.I = ('EXTR' EVO_1Y I) ; 58 : PZ.I = ('EXTR' EVO_1Z I) ; 59 : PPF = 'EXTR' EVO_1Y NBP ; 60 : PPI = 'EXTR' EVO_1Y 1 ; 61 : PPP = PPF - PPI ; 62 : NELT = ENT_1 - 1 ; 63 : DEN1 = PPP / NELT ; 64 : 'DENS' DEN1 ; 65 : PP.I = (0. PY.I 0.) ; 66 : 'SI' ('EGA' 2 I) ; 67 : MAI_1 = PP.(I - 1) 'DROI' PP.I ; 68 : 'FINSI' ; 69 : 'SI' (I > 2) ; 70 : 'SI' ('EGA' PY.I PPF) ; 71 : NEL1 = 'NBEL' MAI_1 ; 72 : NEL2 = NELT - NEL1 ; 73 : MAI_1 = MAI_1 'DROI' NEL2 PP.I ; 74 : 'SINON' ; 75 : MAI_1 = MAI_1 'DROI' PP.I ; 76 : 'FINSI' ; 77 : 'FINSI' ; 78 : BLO.I = 'BLOQ' 'UZ' PP.I ; 79 : DIP.I = 'DEPI' BLO.I PZ.I ; 80 : 'FIN' BOU_1 ; 81 : BLOX = 'BLOQ' 'UX' 'UY' PP.1 ; 82 : BLOY = @STBL BLO ; 83 : BLOYZ = 'BLOQ' 'RY' 'RZ' PP.1 ; 84 : DIPY = @STBL DIP ; 85 : 'SI' ((FLO_1 <EG 45.) 'ET' (FLO_2 <EG 45.)) ; 86 : ANG1 = FLO_1 * (3.14159 / 180.) ; 87 : BLOR1 = 'BLOQ' 'RX' (MAI_1 'POIN' 1) ; 88 : DIPR1 = 'DEPI' BLOR1 ANG1 ; 89 : ANG2 = FLO_2 * (3.14159 / 180.) ; 90 : BLOR2 = 'BLOQ' 'RX' (MAI_1 'POIN' 'FINA') ; 91 : DIPR2 = 'DEPI' BLOR2 ANG2 ; 92 : BLOT = BLOX 'ET' BLOY 'ET' BLOR1 'ET' BLOR2 'ET' BLOYZ ; 93 : DIPT = DIPY 'ET' DIPR1 'ET' DIPR2 ; 94 : 'FINSI' ; 95 : 'SI' ((FLO_1 > 45.) 'ET' (FLO_2 > 45.)) ; 96 : BLOT = BLOX 'ET' BLOY 'ET' BLOYZ ; 97 : DIPT = DIPY ; 98 : 'FINSI' ; 99 : 'SI' ((FLO_1 <EG 45.) 'ET' (FLO_2 > 45.)) ; 100 : ANG1 = FLO_1 * (3.14159 / 180.) ; 101 : BLOR1 = 'BLOQ' 'RX' (MAI_1 'POIN' 1) ; 102 : DIPR1 = 'DEPI' BLOR1 ANG1 ; 103 : BLOT = BLOX 'ET' BLOY 'ET' BLOR1 'ET' BLOYZ ; 104 : DIPT = DIPY 'ET' DIPR1 ; 105 : 'FINSI' ; 106 : 'SI' ((FLO_1 > 45.) 'ET' (FLO_2 <EG 45.)) ; 107 : ANG2 = FLO_2 * (3.14159 / 180.) ; 108 : BLOR2 = 'BLOQ' 'RX' (MAI_1 'POIN' 'FINA') ; 109 : DIPR2 = 'DEPI' BLOR2 ANG2 ; 110 : BLOT = BLOX 'ET' BLOY 'ET' BLOR2 'ET' BLOYZ ; 111 : DIPT = DIPY 'ET' DIPR2 ; 112 : 'FINSI' ; 113 : * 114 : 'FINSI' ; 115 : * 116 : * la latte est sur l'ordonnee 117 : * 118 : 'SI' ('EGA' ENT_2 2) ; 119 : * 120 : 'REPE' BOU_1 NBP ; 121 : I = I + 1 ; 122 : PY.I = ('EXTR' EVO_1Y I) ; 123 : PZ.I = ('EXTR' EVO_1Z I) ; 124 : PPF = 'EXTR' EVO_1Z NBP ; 125 : PPI = 'EXTR' EVO_1Z 1 ; 126 : PPP = PPF - PPI ; 127 : NELT = ENT_1 - 1 ; 128 : DEN1 = PPP / NELT ; 129 : 'DENS' DEN1 ; 130 : PP.I = (0. 0. PZ.I) ; 131 : 'SI' ('EGA' 2 I) ; 132 : MAI_1 = PP.(I - 1) 'DROI' PP.I ; 133 : 'FINSI' ; 134 : 'SI' (I > 2) ; 135 : 'SI' ('EGA' PZ.I PPF) ; 136 : NEL1 = 'NBEL' MAI_1 ; 137 : NEL2 = NELT - NEL1 ; 138 : MAI_1 = MAI_1 'DROI' NEL2 PP.I ; 139 : 'SINON' ; 140 : MAI_1 = MAI_1 'DROI' PP.I ; 141 : 'FINSI' ; 142 : 'FINSI' ; 143 : BLO.I = 'BLOQ' 'UY' PP.I ; 144 : DIP.I = 'DEPI' BLO.I PY.I ; 145 : 'FIN' BOU_1 ; 146 : 'TASS' MAI_1 ; 147 : BLOX = 'BLOQ' 'UX' 'UZ' PP.1 ; 148 : BLOY = @STBL BLO ; 149 : BLOYZ = 'BLOQ' 'RY' 'RZ' PP.1 ; 150 : DIPY = @STBL DIP ; 151 : 'SI' ((FLO_1 <EG 45.) 'ET' (FLO_2 <EG 45.)) ; 152 : ANG1 = FLO_1 * (3.14159 / 180.) ; 153 : BLOR1 = 'BLOQ' 'RX' (MAI_1 'POIN' 1) ; 154 : DIPR1 = 'DEPI' BLOR1 ANG1 ; 155 : ANG2 = FLO_2 * (3.14159 / 180.) ; 156 : BLOR2 = 'BLOQ' 'RX' (MAI_1 'POIN' 'FINA') ; 157 : DIPR2 = 'DEPI' BLOR2 ANG2 ; 158 : BLOT = BLOX 'ET' BLOY 'ET' BLOR1 'ET' BLOR2 'ET' BLOYZ ; 159 : DIPT = DIPY 'ET' DIPR1 'ET' DIPR2 ; 160 : 'FINSI' ; 161 : 'SI' ((FLO_1 > 45.) 'ET' (FLO_2 > 45.)) ; 162 : BLOT = BLOX 'ET' BLOY 'ET' BLOYZ ; 163 : DIPT = DIPY ; 164 : 'FINSI' ; 165 : 'SI' ((FLO_1 <EG 45.) 'ET' (FLO_2 > 45.)) ; 166 : ANG1 = FLO_1 * (3.14159 / 180.) ; 167 : BLOR1 = 'BLOQ' 'RX' (MAI_1 'POIN' 1) ; 168 : DIPR1 = 'DEPI' BLOR1 ANG1 ; 169 : BLOT = BLOX 'ET' BLOY 'ET' BLOR1 'ET' BLOYZ ; 170 : DIPT = DIPY 'ET' DIPR1 ; 171 : 'FINSI' ; 172 : 'SI' ((FLO_1 > 45.) 'ET' (FLO_2 <EG 45.)) ; 173 : ANG2 = FLO_2 * (3.14159 / 180.) ; 174 : BLOR2 = 'BLOQ' 'RX' (MAI_1 'POIN' 'FINA') ; 175 : DIPR2 = 'DEPI' BLOR2 ANG2 ; 176 : BLOT = BLOX 'ET' BLOY 'ET' BLOR2 'ET' BLOYZ ; 177 : DIPT = DIPY 'ET' DIPR2 ; 178 : 'FINSI' ; 179 : * 180 : 'FINSI' ; 181 : * 182 : NNN = NBNO MAI_1 ; 183 : 'MESS' NNN ; 184 : ME = 'TEXT' 'MECANIQUE ELASTIQUE' ; 185 : AFF1 = 'MODL' MAI_1 ME 'POUTRE' ; 186 : MAT1 = 'MATE' AFF1 'YOUN' 1. 'NU' .25 ; 187 : CAR1 = 'CARA' AFF1 'SECT' 1. 'INRY' 1. 'INRZ' 1. 'TORS' 2. ; 188 : RIG1 = 'RIGI' AFF1 (MAT1 ET CAR1) ; 189 : RIGT = RIG1 ET BLOT ; 190 : DEP1 = 'RESO' RIGT DIPT ; 191 : DEF0 = MAI_1 'PLUS' DEP1 ; 192 : I = 0 ; 193 : NBP1 = 'NBNO' DEF0 ; 194 : 'REPE' BOU_2 NBP1 ; 195 : I = I + 1 ; 196 : 'SI' ('EGA' I 1) ; 197 : LIY = 'PROG' ('COOR' 2 (DEF0 'POIN' I)) ; 198 : LIZ = 'PROG' ('COOR' 3 (DEF0 'POIN' I)) ; 199 : 'SINON' ; 200 : LIY = LIY 'ET' ('PROG' ('COOR' 2 (DEF0 'POIN' I))) ; 201 : LIZ = LIZ 'ET' ('PROG' ('COOR' 3 (DEF0 'POIN' I))) ; 202 : 'FINSI' ; 203 : 'FIN' BOU_2 ; 204 : EVO_2 = 'EVOL' 'ROUGE' 'MANU' LIY LIZ ; 205 : DESSIN (EVO_1 ET EVO_2) ; 206 : * 207 : 'FINPROC' EVO_2 ; 208 :
© Cast3M 2003 - All rights reserved.
Disclaimer