Télécharger mrctrace.procedur

Retour à la liste

Numérotation des lignes :

  1. * MRCTRACE PROCEDUR BP208322 17/10/03 21:16:22 9580
  2. DEBPROC MRCTRACE TAB1*'TABLE' TOL1*'FLOTTANT';
  3. *
  4. * --------------------------------------------------------
  5. * Procedure MRCTRACE
  6. * Procedure pour imprimer les surface limites et/ou les enveloppe
  7. * des efforts statiques + sismiques selon le modele à trois couche
  8. * de MARTI (voir EFFMARTI)
  9. *
  10. * Develeppers:
  11. * Alberto FRAU
  12. * DEN/DANS/DM2S/SEMT/EMSI
  13. * Nicolas ILE
  14. * DEN/DANS/DM2S/SEMT/EMSI
  15. *
  16. * INPUT:
  17. *
  18. * En entree on utilise une table TAB1. Un indice de la table TAB1
  19. * indique si la definition de la surface limite doit etre faite pour
  20. * la couche extrene, interne ou intermediaire:
  21. * TAB1.'TYPE_COUCHE' MOT pour indiquer le type de couche
  22. * 'COUCHE_EXT' couche externe
  23. * 'COUCHE_INT' couche interne
  24. * 'COUCHE_COR' couche intermediaire
  25. *
  26. * 1er option: TAB1.'TYPE_COUCHE' = 'COUCHE_EXT' (couche externe)
  27. * ou TAB1.'TYPE_COUCHE' = 'COUCHE_INT' (couche interne)
  28. *
  29.  
  30. * TAB1.'NX' nombre de decoupage
  31. * pour la surface limite en direction 1
  32. * TAB1.'NY' nombre de decoupage
  33. * pour la surface limite en direction 2
  34. * TAB1.'FCK' resistance caracteristique beton
  35. * TAB1.'FSK_1' resistance caracteristique acier
  36. * direction 1
  37. * TAB1.'FSK_2' resistance caracteristique acier
  38. * direction 2
  39. * TAB1.'RHO_1_EXT' taux acier direction 1 couche exter
  40. * TAB1.'RHO_2_EXT' taux acier direction 2 couche exter
  41. * TAB1.'RHO_1_INT' taux acier direction 1 couche inter
  42. * TAB1.'RHO_2_INT' taux acier direction 2 couche inter
  43. * TAB1.'GAMMA_C' coeficient gamma_c
  44. * TAB1.'ALPA_C' coeficient alpha
  45. * TAB1.'NU_C' coeficient nu
  46. * TAB1.'GAMMA_S' coeficient gamma_s
  47. * TAB1.'EFFORT_STATIQUE' effort statique (optionelle)
  48. * TAB1.'EFFORT_SEISME' matrice caracteristique
  49. * seisme (optionelle)
  50. * TAB1.'ENROBAGE_EXT' enrobage externe (optionelle)
  51. * TAB1.'ENROBAGE_INT' enrobage interne (optionelle)
  52. *
  53. * OUTPUT:
  54. *
  55. * 1er option: TAB1.'TYPE_COUCHE' = 'COUCHE_EXT' (couche externe)
  56. * ou TAB1.'TYPE_COUCHE' = 'COUCHE_INT' (couche interne)
  57. *
  58. * TT1: table d'output
  59. * TT1.'LIMITE_E' Surface limite externe
  60. * TT1.'LIMITE_I' Surface limite interne
  61. * TT1.'ELLIPSOIDE_E' Enveloppe ellipsoide couche
  62. * externe (si present dans la
  63. * TAB1 les MCHML des efforts)
  64. * TT1.'ELLIPSOIDE_I' Enveloppe ellipsoide couche
  65. * interne (si present dans la
  66. * TAB1 les MCHML des efforts)
  67. * TT1.'RECTANGLE_E' Enveloppe rectangulaire couche
  68. * externe (si present dans la
  69. * TAB1 les MCHML des efforts)
  70. * TT1.'RECTANGLE_I' Enveloppe ellipsoide couche
  71. * interne (si present dans la
  72. * TAB1 les MCHML des efforts)
  73. *
  74. *
  75. * 2eme option: TAB1.'TYPE_COUCHE' = 'COUCHE_EXT' (couche externe)
  76. * ou TAB1.'TYPE_COUCHE' = 'COUCHE_INT' (couche interne)
  77. *
  78. * TT1: table d'output
  79. * TT1.'LIMITE_SHEAR' Surface limite couche
  80. * intermediaire
  81. * TT1.'ELLIPSOIDE_SHEAR' Enveloppe rectangulaire
  82. * couche intermediaire (si present
  83. * dans la TAB1 les MCHML
  84. * des efforts)
  85. * TT1.'RECTANGLE_SHEAR' Enveloppe rectangulaire
  86. * couche intermediaire (si present
  87. * dans la TAB1 les MCHML
  88. * des efforts)
  89. *
  90. * --------------------------------------------------------
  91. *
  92. * Type of surface
  93. 'SI' ('EXIST' TAB1 'TYPE_COUCHE');
  94. TPY1 = TAB1.'TYPE_COUCHE';
  95. 'SI' ('NEG' ('TYPE' TPY1) 'MOT');
  96. 'MESS' 'Input Error ...';
  97. 'QUIT' MRCTRACE;
  98. 'FINSI';
  99. 'SINON';
  100. 'MESS' 'Input Error ...';
  101. 'QUIT' MRCTRACE;
  102. 'FINSI';
  103. *
  104. *
  105. 'SI' (('EGA' TPY1 'COUCHE_INT') 'OU' ('EGA' TPY1 'COUCHE_EXT'));
  106. *
  107. * -------------- Couche externe et interne ---------------------
  108. *
  109. * controle
  110. 'SI' ('EXIST' TAB1 'NX');
  111. NX1 = TAB1.'NX';
  112. 'SI' ('NEG' ('TYPE' NX1) 'ENTIER');
  113. 'MESS' 'Input Error ...';
  114. 'QUIT' MRCTRACE;
  115. 'FINSI';
  116. 'SINON';
  117. 'MESS' 'Input Error ...';
  118. 'QUIT' MRCTRACE;
  119. 'FINSI';
  120. 'SI' ('EXIST' TAB1 'NY');
  121. NY1 = TAB1.'NY';
  122. 'SI' ('NEG' ('TYPE' NY1) 'ENTIER');
  123. 'MESS' 'Input Error ...';
  124. 'QUIT' MRCTRACE;
  125. 'FINSI';
  126. 'SINON';
  127. 'MESS' 'Input Error ...';
  128. 'QUIT' MRCTRACE;
  129. 'FINSI';
  130. 'SI' ('EXIST' TAB1 'FCK');
  131. FC1 = TAB1.'FCK';
  132. 'SI' ('NEG' ('TYPE' FC1) 'FLOTTANT');
  133. 'MESS' 'Input Error ...';
  134. 'QUIT' MRCTRACE;
  135. 'FINSI';
  136. 'SINON';
  137. 'MESS' 'Input Error ...';
  138. 'QUIT' MRCTRACE;
  139. 'FINSI';
  140. 'SI' ('EXIST' TAB1 'FSK_1');
  141. FSX = TAB1.'FSK_1';
  142. 'SI' ('NEG' ('TYPE' FSX) 'FLOTTANT');
  143. 'MESS' 'Input Error ...';
  144. 'QUIT' MRCTRACE;
  145. 'FINSI';
  146. 'SINON';
  147. 'MESS' 'Input Error ...';
  148. 'QUIT' MRCTRACE;
  149. 'FINSI';
  150. 'SI' ('EXIST' TAB1 'FSK_2');
  151. FSY = TAB1.'FSK_2';
  152. 'SI' ('NEG' ('TYPE' FSY) 'FLOTTANT');
  153. 'MESS' 'Input Error ...';
  154. 'QUIT' MRCTRACE;
  155. 'FINSI';
  156. 'SINON';
  157. 'MESS' 'Input Error ...';
  158. 'QUIT' MRCTRACE;
  159. 'FINSI';
  160. 'SI' ('EXIST' TAB1 'RHO_1_EXT');
  161. RSXE = TAB1.'RHO_1_EXT';
  162. 'SI' ('NEG' ('TYPE' RSXE) 'FLOTTANT');
  163. 'MESS' 'Input Error ...';
  164. 'QUIT' MRCTRACE;
  165. 'FINSI';
  166. 'SINON';
  167. 'MESS' 'Input Error ...';
  168. 'QUIT' MRCTRACE;
  169. 'FINSI';
  170. 'SI' ('EXIST' TAB1 'RHO_2_EXT');
  171. RSYE = TAB1.'RHO_2_EXT';
  172. 'SI' ('NEG' ('TYPE' RSYE) 'FLOTTANT');
  173. 'MESS' 'Input Error ...';
  174. 'QUIT' MRCTRACE;
  175. 'FINSI';
  176. 'SINON';
  177. 'MESS' 'Input Error ...';
  178. 'QUIT' MRCTRACE;
  179. 'FINSI';
  180. 'SI' ('EXIST' TAB1 'RHO_1_INT');
  181. RSXI = TAB1.'RHO_1_INT';
  182. 'SI' ('NEG' ('TYPE' RSXI) 'FLOTTANT');
  183. 'MESS' 'Input Error ...';
  184. 'QUIT' MRCTRACE;
  185. 'FINSI';
  186. 'SINON';
  187. 'MESS' 'Input Error ...';
  188. 'QUIT' MRCTRACE;
  189. 'FINSI';
  190. 'SI' ('EXIST' TAB1 'RHO_2_INT');
  191. RSYI = TAB1.'RHO_2_INT';
  192. 'SI' ('NEG' ('TYPE' RSYI) 'FLOTTANT');
  193. 'MESS' 'Input Error ...';
  194. 'QUIT' MRCTRACE;
  195. 'FINSI';
  196. 'SINON';
  197. 'MESS' 'Input Error ...';
  198. 'QUIT' MRCTRACE;
  199. 'FINSI';
  200. 'SI' ('EXIST' TAB1 'GAMMA_C');
  201. GAMC = TAB1.'GAMMA_C';
  202. 'SI' ('NEG' ('TYPE' GAMC) 'FLOTTANT');
  203. 'MESS' 'Input Error ...';
  204. 'QUIT' MRCTRACE;
  205. 'FINSI';
  206. 'SINON';
  207. 'MESS' 'Input Error ...';
  208. 'QUIT' MRCTRACE;
  209. 'FINSI';
  210. 'SI' ('EXIST' TAB1 'ALPA_C');
  211. ALP1 = TAB1.'ALPA_C';
  212. 'SI' ('NEG' ('TYPE' ALP1) 'FLOTTANT');
  213. 'MESS' 'Input Error ...';
  214. 'QUIT' MRCTRACE;
  215. 'FINSI';
  216. 'SINON';
  217. 'MESS' 'Input Error ...';
  218. 'QUIT' MRCTRACE;
  219. 'FINSI';
  220. 'SI' ('EXIST' TAB1 'NU_C');
  221. NU1 = TAB1.'NU_C';
  222. 'SI' ('NEG' ('TYPE' NU1) 'FLOTTANT');
  223. 'MESS' 'Input Error ...';
  224. 'QUIT' MRCTRACE;
  225. 'FINSI';
  226. 'SINON';
  227. 'MESS' 'Input Error ...';
  228. 'QUIT' MRCTRACE;
  229. 'FINSI';
  230. 'SI' ('EXIST' TAB1 'GAMMA_S');
  231. GAMS = TAB1.'GAMMA_S';
  232. 'SI' ('NEG' ('TYPE' GAMS) 'FLOTTANT');
  233. 'MESS' 'Input Error ...';
  234. 'QUIT' MRCTRACE;
  235. 'FINSI';
  236. 'SINON';
  237. 'MESS' 'Input Error ...';
  238. 'QUIT' MRCTRACE;
  239. 'FINSI';
  240. *
  241. *
  242. * Normalisation
  243. CC1 = ENTI(FC1/100000);
  244. SI (CC1 > 1);
  245. FC1 = FC1/100000;
  246. FSX = FSX/100000;
  247. FSY = FSY/100000;
  248. FINSI;
  249. *
  250. * initialisation des tables pour la procedure g_ulti2D
  251. TBL1 = TABLE;
  252. TBL1.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_EXT';
  253. TBL1.'S11' = 0.0;
  254. TBL1.'S22' = 0.0;
  255. TBL1.'S12' = 0.0;
  256. TBL1.'FCK' = FC1;
  257. TBL1.'FSK_1' = FSX;
  258. TBL1.'FSK_2' = FSY;
  259. TBL1.'RHO_1' = RSXE;
  260. TBL1.'RHO_2' = RSYE;
  261. TBL1.'GAMMA_C' = GAMC;
  262. TBL1.'ALPA_C' = ALP1;
  263. TBL1.'NU_C' = NU1;
  264. TBL1.'GAMMA_S' = GAMS;
  265. *
  266. TBL2 = TABLE;
  267. TBL2.'TYPE_COUCHE' = 'CHAINE' 'COUCHE_INT';
  268. TBL2.'S11' = 0.0;
  269. TBL2.'S22' = 0.0;
  270. TBL2.'S12' = 0.0;
  271. TBL2.'FCK' = FC1;
  272. TBL2.'FSK_1' = FSX;
  273. TBL2.'FSK_2' = FSY;
  274. TBL2.'RHO_1' = RSXI;
  275. TBL2.'RHO_2' = RSYI;
  276. TBL2.'GAMMA_C' = GAMC;
  277. TBL2.'ALPA_C' = ALP1;
  278. TBL2.'NU_C' = NU1;
  279. TBL2.'GAMMA_S' = GAMS;
  280. * Determination of resistances (Steel and concrete)
  281. *
  282. FXSE = ((FSX)*(RSXE))/(GAMS);
  283. FYSE = ((FSY)*(RSYE))/(GAMS);
  284. FXSI = ((FSX)*(RSXI))/(GAMS);
  285. FYSI = ((FSY)*(RSYI))/(GAMS);
  286. FC = ((ALP1)*((FC1)/(GAMC)));
  287. FC = FC*NU1;
  288. *
  289. * Determination du domain Sig11 et Sig22
  290. XMIN1E = ((-1.0)*(FC + FXSE));
  291. XMAX1E = ((1.0)*(FXSE));
  292. DX1E = ((XMAX1E - XMIN1E)/(NX1));
  293. L_XE = 'PROG' XMIN1E 'PAS' DX1E XMAX1E;
  294. *
  295. YMIN1E = ((-1.0)*(FC + FYSE));
  296. YMAX1E = ((1.0)*(FYSE));
  297. DY1E = ((YMAX1E - YMIN1E)/(NY1));
  298. L_YE = 'PROG' YMIN1E 'PAS' DY1E YMAX1E;
  299. *
  300. XMIN1I = ((-1.0)*(FC + FXSI));
  301. XMAX1I = ((1.0)*(FXSI));
  302. DX1I = ((XMAX1I - XMIN1I)/(NX1));
  303. L_XI = 'PROG' XMIN1I 'PAS' DX1I XMAX1I;
  304. *
  305. YMIN1I = ((-1.0)*(FC + FYSI));
  306. YMAX1I = ((1.0)*(FYSI));
  307. DY1I = ((YMAX1I - YMIN1I)/(NY1));
  308. L_YI = 'PROG' YMIN1I 'PAS' DY1I YMAX1I;
  309. *
  310. *
  311. * Initialing void mesh element
  312. MAI1E = VIDE 'MAILLAGE';
  313. MAI1I = VIDE 'MAILLAGE';
  314. *
  315. * indicators ii and jj for the mesh creation
  316. II1 = 1;
  317. JJ1 = 2;
  318. I = 1;
  319. *
  320. * loop on all elements that composed the upper (or lower)
  321. * limit surface
  322. 'REPE' IND1 (NX1*NY1);
  323. *
  324. * Point 1
  325. X1E = 'EXTR' L_XE (II1);
  326. Y1E = 'EXTR' L_YE (JJ1 - 1);
  327. Z1E = 0.0;
  328. TBL1.'S11' = X1E;
  329. TBL1.'S22' = Y1E;
  330. TBL1.'S12' = Z1E;
  331. VAL1 = G_ULTI2D TBL1;
  332. 'SI' (('ABS'(VAL1)) '>' TOL1);
  333. Z1E = ((VAL1)**(0.5));
  334. 'FINSI';
  335. X1I = 'EXTR' L_XI (II1);
  336. Y1I = 'EXTR' L_YI (JJ1 - 1);
  337. Z1I = 0.0;
  338. TBL2.'S11' = X1I;
  339. TBL2.'S22' = Y1I;
  340. TBL2.'S12' = Z1I;
  341. VAL1 = G_ULTI2D TBL2;
  342. 'SI' (('ABS'(VAL1)) '>' TOL1);
  343. Z1I = ((VAL1)**(0.5));
  344. 'FINSI';
  345. *
  346. * Point 2
  347. X2E = 'EXTR' L_XE (II1 + 1);
  348. Y2E = 'EXTR' L_YE (JJ1 - 1);
  349. Z2E = 0.0;
  350. TBL1.'S11' = X2E;
  351. TBL1.'S22' = Y2E;
  352. TBL1.'S12' = Z2E;
  353. VAL2 = G_ULTI2D TBL1;
  354. 'SI' (('ABS'(VAL2)) '>' TOL1);
  355. Z2E = ((VAL2)**(0.5));
  356. 'FINSI';
  357. *
  358. X2I = 'EXTR' L_XI (II1 + 1);
  359. Y2I = 'EXTR' L_YI (JJ1 - 1);
  360. Z2I = 0.0;
  361. TBL2.'S11' = X2I;
  362. TBL2.'S22' = Y2I;
  363. TBL2.'S12' = Z2I;
  364. VAL2 = G_ULTI2D TBL2;
  365. 'SI' (('ABS'(VAL2)) '>' TOL1);
  366. Z2I = ((VAL2)**(0.5));
  367. 'FINSI';
  368. *
  369. * Point 3
  370. X3E = 'EXTR' L_XE (II1 + 1);
  371. Y3E = 'EXTR' L_YE (JJ1);
  372. Z3E = 0.0;
  373. TBL1.'S11' = X3E;
  374. TBL1.'S22' = Y3E;
  375. TBL1.'S12' = Z3E;
  376. VAL3 = G_ULTI2D TBL1;
  377. 'SI' (('ABS'(VAL3)) '>' TOL1);
  378. Z3E = ((VAL3)**(0.5));
  379. 'FINSI';
  380. X3I = 'EXTR' L_XI (II1 + 1);
  381. Y3I = 'EXTR' L_YI (JJ1);
  382. Z3I = 0.0;
  383. TBL2.'S11' = X3I;
  384. TBL2.'S22' = Y3I;
  385. TBL2.'S12' = Z3I;
  386. VAL3 = G_ULTI2D TBL2;
  387. 'SI' (('ABS'(VAL3)) '>' TOL1);
  388. Z3I = ((VAL3)**(0.5));
  389. 'FINSI';
  390. *
  391. * Point 4
  392. X4E = 'EXTR' L_XE (II1);
  393. Y4E = 'EXTR' L_YE (JJ1);
  394. Z4E = 0.0;
  395. TBL1.'S11' = X4E;
  396. TBL1.'S22' = Y4E;
  397. TBL1.'S12' = Z4E;
  398. VAL4 = G_ULTI2D TBL1;
  399. 'SI' (('ABS'(VAL4)) '>' TOL1);
  400. Z4E = ((VAL4)**(0.5));
  401. 'FINSI';
  402. X4I = 'EXTR' L_XI (II1);
  403. Y4I = 'EXTR' L_YI (JJ1);
  404. Z4I = 0.0;
  405. TBL2.'S11' = X4I;
  406. TBL2.'S22' = Y4I;
  407. TBL2.'S12' = Z4I;
  408. VAL4 = G_ULTI2D TBL2;
  409. 'SI' (('ABS'(VAL4)) '>' TOL1);
  410. Z4I = ((VAL4)**(0.5));
  411. 'FINSI';
  412. *
  413. * Creation of points for the upper surface element
  414. P1ES = X1E Y1E ((1.0)*(Z1E));
  415. P2ES = X2E Y2E ((1.0)*(Z2E));
  416. P3ES = X3E Y3E ((1.0)*(Z3E));
  417. P4ES = X4E Y4E ((1.0)*(Z4E));
  418. P1IS = X1I Y1I ((1.0)*(Z1I));
  419. P2IS = X2I Y2I ((1.0)*(Z2I));
  420. P3IS = X3I Y3I ((1.0)*(Z3I));
  421. P4IS = X4I Y4I ((1.0)*(Z4I));
  422. *
  423. * Creation of points for the lower surface element
  424. P1EI = X1E Y1E ((-1.0)*(Z1E));
  425. P2EI = X2E Y2E ((-1.0)*(Z2E));
  426. P3EI = X3E Y3E ((-1.0)*(Z3E));
  427. P4EI = X4E Y4E ((-1.0)*(Z4E));
  428. P1II = X1I Y1I ((-1.0)*(Z1I));
  429. P2II = X2I Y2I ((-1.0)*(Z2I));
  430. P3II = X3I Y3I ((-1.0)*(Z3I));
  431. P4II = X4I Y4I ((-1.0)*(Z4I));
  432. *
  433. * Creation of lines for the upper surface element
  434. OPTI ELEM SEG2;
  435. L1ES = 'DROIT' 1 P1ES P2ES;
  436. L2ES = 'DROIT' 1 P2ES P3ES;
  437. L3ES = 'DROIT' 1 P3ES P4ES;
  438. L4ES = 'DROIT' 1 P4ES P1ES;
  439. L1IS = 'DROIT' 1 P1IS P2IS;
  440. L2IS = 'DROIT' 1 P2IS P3IS;
  441. L3IS = 'DROIT' 1 P3IS P4IS;
  442. L4IS = 'DROIT' 1 P4IS P1IS;
  443. *
  444. * Creation of lines for the lower surface element
  445. L1EI = 'DROIT' 1 P1EI P2EI;
  446. L2EI = 'DROIT' 1 P2EI P3EI;
  447. L3EI = 'DROIT' 1 P3EI P4EI;
  448. L4EI = 'DROIT' 1 P4EI P1EI;
  449. L1II = 'DROIT' 1 P1II P2II;
  450. L2II = 'DROIT' 1 P2II P3II;
  451. L3II = 'DROIT' 1 P3II P4II;
  452. L4II = 'DROIT' 1 P4II P1II;
  453. *
  454. * Creation of the upper and lower surface element
  455. 'OPTI' 'ELEM' QUA4;
  456. ELEES = DALL L1ES L2ES L3ES L4ES;
  457. ELEEI = DALL L1EI L2EI L3EI L4EI;
  458. ELEIS = DALL L1IS L2IS L3IS L4IS;
  459. ELEII = DALL L1II L2II L3II L4II;
  460. *
  461. * Assembling the limit surfaces
  462. MAI1E = MAI1E ET ELEES ET ELEEI;
  463. MAI1I = MAI1I ET ELEIS ET ELEII;
  464. 'OUBL' ELES;
  465. 'OUBL' ELEI;
  466. 'OUBL' L1S;
  467. 'OUBL' L2S;
  468. 'OUBL' L3S;
  469. 'OUBL' L4S;
  470. 'OUBL' L1I;
  471. 'OUBL' L2I;
  472. 'OUBL' L3I;
  473. 'OUBL' L4I;
  474. 'OUBL' P1S;
  475. 'OUBL' P2S;
  476. 'OUBL' P3S;
  477. 'OUBL' P4S;
  478. 'OUBL' P1I;
  479. 'OUBL' P2I;
  480. 'OUBL' P3I;
  481. 'OUBL' P4I;
  482. *
  483. * Updating the index ii and jj
  484. 'SI' (II1 'EGA' NX1);
  485. II1 = 1;
  486. JJ1 = JJ1 + 1;
  487. 'SINON';
  488. II1 = II1 + 1;
  489. 'FINSI';
  490. I = I + 1;
  491. 'FIN' IND1;
  492. *
  493. * erasing the double points
  494. ELIM 0.001 MAI1E;
  495. ELIM 0.001 MAI1I;
  496. *
  497. TT1 = 'TABLE';
  498. TT1.'LIMITE_E' = MAI1E;
  499. TT1.'LIMITE_I' = MAI1I;
  500. *
  501. *
  502. * tracer l'enveloppe (optionelle)
  503. *
  504. * Control
  505. 'SI' ('EXIST' TAB1 'EFFORT_SEISME');
  506. CHL1 = TAB1.'EFFORT_SEISME';
  507. 'SI' ('NEG' ('TYPE' CHL1) 'MCHAML');
  508. 'MESS' 'Input Error ...';
  509. 'QUIT' MRCTRACE;
  510. 'FINSI';
  511. 'FINSI';
  512. 'SI' ('EXIST' TAB1 'EFFORT_STATIQUE');
  513. CHL2 = TAB1.'EFFORT_STATIQUE';
  514. 'SI' ('NEG' ('TYPE' CHL2) 'MCHAML');
  515. 'MESS' 'Input Error ...';
  516. 'QUIT' MRCTRACE;
  517. 'FINSI';
  518. 'FINSI';
  519. 'SI' ('EXIST' TAB1 'ENROBAGE_EXT');
  520. ENR1E = TAB1.'ENROBAGE_EXT';
  521. 'SI' ('NEG' ('TYPE' ENR1E) 'FLOTTANT');
  522. 'MESS' 'Input Error ...';
  523. 'QUIT' MRCTRACE;
  524. 'FINSI';
  525. 'FINSI';
  526. 'SI' ('EXIST' TAB1 'ENROBAGE_INT');
  527. ENR1I = TAB1.'ENROBAGE_INT';
  528. 'SI' ('NEG' ('TYPE' ENR1I) 'FLOTTANT');
  529. 'MESS' 'Input Error ...';
  530. 'QUIT' MRCTRACE;
  531. 'FINSI';
  532. 'FINSI';
  533. *
  534. 'SI' ('EGA' ('TYPE' (CHL1)) 'MCHAML');
  535. *
  536. * extraire les contraintes selon le modele de MARTI (statiques)
  537. N110E = 'EXTR' CHL2 'N11E' 1 1 1;
  538. N220E = 'EXTR' CHL2 'N22E' 1 1 1;
  539. N120E = 'EXTR' CHL2 'N12E' 1 1 1;
  540. N110I = 'EXTR' CHL2 'N11I' 1 1 1;
  541. N220I = 'EXTR' CHL2 'N22I' 1 1 1;
  542. N120I = 'EXTR' CHL2 'N12I' 1 1 1;
  543. *
  544. * extraire les contraintes selon le modele de MARTI (sismiques)
  545. * plus covariances
  546. N11N11E = 'EXTR' CHL1 'C11E' 1 1 1;
  547. N22N22E = 'EXTR' CHL1 'C22E' 1 1 1;
  548. N12N12E = 'EXTR' CHL1 'C33E' 1 1 1;
  549. N11N22E = 'EXTR' CHL1 'C12E' 1 1 1;
  550. N11N12E = 'EXTR' CHL1 'C13E' 1 1 1;
  551. N22N12E = 'EXTR' CHL1 'C23E' 1 1 1;
  552. N11N11I = 'EXTR' CHL1 'C11I' 1 1 1;
  553. N22N22I = 'EXTR' CHL1 'C22I' 1 1 1;
  554. N12N12I = 'EXTR' CHL1 'C33I' 1 1 1;
  555. N11N22I = 'EXTR' CHL1 'C12I' 1 1 1;
  556. N11N12I = 'EXTR' CHL1 'C13I' 1 1 1;
  557. N22N12I = 'EXTR' CHL1 'C23I' 1 1 1;
  558. *
  559. * calcul des contraintes (statiques)
  560. N110E = ((N110E)/((2.0)*(ENR1E)));
  561. N220E = ((N220E)/((2.0)*(ENR1E)));
  562. N120E = ((N120E)/((2.0)*(ENR1E)));
  563. N110I = ((N110I)/((2.0)*(ENR1I)));
  564. N220I = ((N220I)/((2.0)*(ENR1I)));
  565. N120I = ((N120I)/((2.0)*(ENR1I)));
  566. *
  567. * calcul des contraintes (sismique)
  568. N11N11E = ((N11N11E)/(((2.0)*(ENR1E))**(2)));
  569. N22N22E = ((N22N22E)/(((2.0)*(ENR1E))**(2)));
  570. N12N12E = ((N12N12E)/(((2.0)*(ENR1E))**(2)));
  571. N11N22E = ((N11N22E)/(((2.0)*(ENR1E))**(2)));
  572. N11N12E = ((N11N12E)/(((2.0)*(ENR1E))**(2)));
  573. N22N12E = ((N22N12E)/(((2.0)*(ENR1E))**(2)));
  574. N11N11I = ((N11N11I)/(((2.0)*(ENR1I))**(2)));
  575. N22N22I = ((N22N22I)/(((2.0)*(ENR1I))**(2)));
  576. N12N12I = ((N12N12I)/(((2.0)*(ENR1I))**(2)));
  577. N11N22I = ((N11N22I)/(((2.0)*(ENR1I))**(2)));
  578. N11N12I = ((N11N12I)/(((2.0)*(ENR1I))**(2)));
  579. N22N12I = ((N22N12I)/(((2.0)*(ENR1I))**(2)));
  580. *
  581. * scaling
  582. * CC1 = ENTI(FC1/100000);
  583. SI (CC1 > 1);
  584. N110E = N110E/100000;
  585. N220E = N220E/100000;
  586. N120E = N120E/100000;
  587. N110I = N110I/100000;
  588. N220I = N220I/100000;
  589. N120I = N120I/100000;
  590. *
  591. N11N11E = ((N11N11E)/((100000)**(2.0)));
  592. N22N22E = ((N22N22E)/((100000)**(2.0)));
  593. N12N12E = ((N12N12E)/((100000)**(2.0)));
  594. N11N22E = ((N11N22E)/((100000)**(2.0)));
  595. N11N12E = ((N11N12E)/((100000)**(2.0)));
  596. N22N12E = ((N22N12E)/((100000)**(2.0)));
  597. N11N11I = ((N11N11I)/((100000)**(2.0)));
  598. N22N22I = ((N22N22I)/((100000)**(2.0)));
  599. N12N12I = ((N12N12I)/((100000)**(2.0)));
  600. N11N22I = ((N11N22I)/((100000)**(2.0)));
  601. N11N12I = ((N11N12I)/((100000)**(2.0)));
  602. N22N12I = ((N22N12I)/((100000)**(2.0)));
  603. FINSI;
  604. * calcul des valeurs et vecteurs propres
  605. MAI1 = 0. 0. 0.;
  606. *
  607. MATXE = 'VIDE' 'RIGIDITE'/'RIGIDITE';
  608. MATXE = MATXE 'ET' ('MANU' 'RIGIDITE' MAI1 ('MOTS' 'UX' 'UY' 'UZ')
  609. ('PROG' N11N11E N11N22E N11N12E
  610. N11N22E N22N22E N22N12E
  611. N11N12E N22N12E N12N12E));
  612. MATXI = 'VIDE' 'RIGIDITE'/'RIGIDITE';
  613. MATXI = MATXI 'ET' ('MANU' 'RIGIDITE' MAI1 ('MOTS' 'UX' 'UY' 'UZ')
  614. ('PROG' N11N11I N11N22I N11N12I
  615. N11N22I N22N22I N22N12I
  616. N11N12I N22N12I N12N12I));
  617.  
  618. NORMATXE =
  619. (((N11N11E)**(2.0)) + ((N11N22E)**(2.0)) + ((N11N12E)**(2.0)) +
  620. ((N11N22E)**(2.0)) + ((N22N22E)**(2.0)) + ((N22N12E)**(2.0)) +
  621. ((N11N12E)**(2.0)) + ((N22N12E)**(2.0)) + ((N12N12E)**(2.0)))
  622. **(0.5);
  623. NORMATXI =
  624. (((N11N11I)**(2.0)) + ((N11N22I)**(2.0)) + ((N11N12I)**(2.0)) +
  625. ((N11N22I)**(2.0)) + ((N22N22I)**(2.0)) + ((N22N12I)**(2.0)) +
  626. ((N11N12I)**(2.0)) + ((N22N12I)**(2.0)) + ((N12N12I)**(2.0)))
  627. **(0.5);
  628. 'SI' (NORMATXE 'EGA' 0.0);
  629. NORMATXE = 1.0;
  630. 'FINSI';
  631. 'SI' (NORMATXI 'EGA' 0.0);
  632. NORMATXI = 1.0;
  633. 'FINSI';
  634. *
  635. XIDE1 = ('MASS' 'UX' MAI1 1.0) 'ET' (MASS 'UY' MAI1 1.0)
  636. 'ET' ('MASS' 'UZ' MAI1 1.0);
  637. *
  638. EIGE = 'VIBR' 'INTERVALLE' 0. 20000. 'BASSE' 3 (MATXE/NORMATXE)
  639. XIDE1 'IMPR' 'MULT';
  640. EIGI = 'VIBR' 'INTERVALLE' 0. 20000. 'BASSE' 3 (MATXI/NORMATXI)
  641. XIDE1 'IMPR' 'MULT';
  642. *
  643. 'SI' ('EXIST' (EIGE.MODES) 1);
  644. LAM1E = ((EIGE.MODES. 1 .FREQUENCE)*((2.0)*(PI)))**(2.0);
  645. NORVEC1E =
  646. ((('EXTR' (EIGE.MODES. 1 .DEFORMEE_MODALE) MAI1 'UX')**(2))
  647. + (('EXTR' (EIGE.MODES. 1 .DEFORMEE_MODALE) MAI1 'UY')**(2))
  648. + (('EXTR' (EIGE.MODES. 1 .DEFORMEE_MODALE) MAI1 'UZ')**(2)))
  649. **(0.5);
  650. VECT1E = (EIGE.MODES. 1 .DEFORMEE_MODALE)/(NORVEC1E);
  651. 'SINON';
  652. LAM1E = 0.0;
  653. NORVEC1E = 0.0;
  654. VECT1E = MANU CHPO MAI1 3 'UX' 0.0 'UY' 0.0 'UZ' 0.0;
  655. 'FINSI';
  656. 'SI' ('EXIST' (EIGE.MODES) 2);
  657. LAM2E = ((EIGE.MODES. 2 .FREQUENCE)*((2.0)*(PI)))**(2.0);
  658. NORVEC2E =
  659. ((('EXTR' (EIGE.MODES. 2 .DEFORMEE_MODALE) MAI1 'UX')**(2))
  660. + (('EXTR' (EIGE.MODES. 2 .DEFORMEE_MODALE) MAI1 'UY')**(2))
  661. + (('EXTR' (EIGE.MODES. 2 .DEFORMEE_MODALE) MAI1 'UZ')**(2)))
  662. **(0.5);
  663. VECT2E = (EIGE.MODES. 2 .DEFORMEE_MODALE)/(NORVEC2E);
  664. 'SINON';
  665. LAM2E = 0.0;
  666. NORVEC2E = 0.0;
  667. VECT2E = MANU CHPO MAI1 3 'UX' 0.0 'UY' 0.0 'UZ' 0.0;
  668. 'FINSI';
  669. 'SI' ('EXIST' (EIGE.MODES) 3);
  670. LAM3E = ((EIGE.MODES. 3 .FREQUENCE)*((2.0)*(PI)))**(2.0);
  671. NORVEC3E =
  672. ((('EXTR' (EIGE.MODES. 3 .DEFORMEE_MODALE) MAI1 'UX')**(2))
  673. + (('EXTR' (EIGE.MODES. 3 .DEFORMEE_MODALE) MAI1 'UY')**(2))
  674. + (('EXTR' (EIGE.MODES. 3 .DEFORMEE_MODALE) MAI1 'UZ')**(2)))
  675. **(0.5);
  676. VECT3E = (EIGE.MODES. 3 .DEFORMEE_MODALE)/(NORVEC3E);
  677. 'SINON';
  678. LAM3E = 0.0;
  679. NORVEC3E = 0.0;
  680. VECT3E = MANU CHPO MAI1 3 'UX' 0.0 'UY' 0.0 'UZ' 0.0;
  681. 'FINSI';
  682. 'SI' ('EXIST' (EIGI.MODES) 1);
  683. LAM1I = ((EIGI.MODES. 1 .FREQUENCE)*((2.0)*(PI)))**(2.0);
  684. NORVEC1I =
  685. ((('EXTR' (EIGI.MODES. 1 .DEFORMEE_MODALE) MAI1 'UX')**(2))
  686. + (('EXTR' (EIGI.MODES. 1 .DEFORMEE_MODALE) MAI1 'UY')**(2))
  687. + (('EXTR' (EIGI.MODES. 1 .DEFORMEE_MODALE) MAI1 'UZ')**(2)))
  688. **(0.5);
  689. VECT1I = (EIGI.MODES. 1 .DEFORMEE_MODALE)/(NORVEC1I);
  690. 'SINON';
  691. LAM1I = 0.0;
  692. NORVEC1I = 0.0;
  693. VECT1I = MANU CHPO MAI1 3 'UX' 0.0 'UY' 0.0 'UZ' 0.0;
  694. 'FINSI';
  695. 'SI' ('EXIST' (EIGI.MODES) 2);
  696. LAM2I = ((EIGI.MODES. 2 .FREQUENCE)*((2.0)*(PI)))**(2.0);
  697. NORVEC2I =
  698. ((('EXTR' (EIGI.MODES. 2 .DEFORMEE_MODALE) MAI1 'UX')**(2))
  699. + (('EXTR' (EIGI.MODES. 2 .DEFORMEE_MODALE) MAI1 'UY')**(2))
  700. + (('EXTR' (EIGI.MODES. 2 .DEFORMEE_MODALE) MAI1 'UZ')**(2)))
  701. **(0.5);
  702. VECT2I = (EIGI.MODES. 2 .DEFORMEE_MODALE)/(NORVEC2I);
  703. 'SINON';
  704. LAM2I = 0.0;
  705. NORVEC2I = 0.0;
  706. VECT2I = MANU CHPO MAI1 3 'UX' 0.0 'UY' 0.0 'UZ' 0.0;
  707. 'FINSI';
  708. 'SI' ('EXIST' (EIGI.MODES) 3);
  709. LAM3I = ((EIGI.MODES. 3 .FREQUENCE)*((2.0)*(PI)))**(2.0);
  710. NORVEC3I =
  711. ((('EXTR' (EIGI.MODES. 3 .DEFORMEE_MODALE) MAI1 'UX')**(2))
  712. + (('EXTR' (EIGI.MODES. 3 .DEFORMEE_MODALE) MAI1 'UY')**(2))
  713. + (('EXTR' (EIGI.MODES. 3 .DEFORMEE_MODALE) MAI1 'UZ')**(2)))
  714. **(0.5);
  715. VECT3I = (EIGI.MODES. 3 .DEFORMEE_MODALE)/(NORVEC3I);
  716. 'SINON';
  717. LAM3I = 0.0;
  718. NORVEC3I = 0.0;
  719. VECT3I = MANU CHPO MAI1 3 'UX' 0.0 'UY' 0.0 'UZ' 0.0;
  720. 'FINSI';
  721. *
  722. LAM1E = ((NORMATXE)*(LAM1E));
  723. LAM2E = ((NORMATXE)*(LAM2E));
  724. LAM3E = ((NORMATXE)*(LAM3E));
  725. LAM1I = ((NORMATXI)*(LAM1I));
  726. LAM2I = ((NORMATXI)*(LAM2I));
  727. LAM3I = ((NORMATXI)*(LAM3I));
  728. *
  729. * Autovaleurs (couche externe et interne)
  730. LL1E = (LAM1E)**(0.5);
  731. LL2E = (LAM2E)**(0.5);
  732. LL3E = (LAM3E)**(0.5);
  733. LL1I = (LAM1I)**(0.5);
  734. LL2I = (LAM2I)**(0.5);
  735. LL3I = (LAM3I)**(0.5);
  736. *
  737. * Autovecteur (couche externe et interne)
  738. VECT1EX = 'EXTR' VECT1E 'UX' MAI1;
  739. VECT1EY = 'EXTR' VECT1E 'UY' MAI1;
  740. VECT1EZ = 'EXTR' VECT1E 'UZ' MAI1;
  741. VECT2EX = 'EXTR' VECT2E 'UX' MAI1;
  742. VECT2EY = 'EXTR' VECT2E 'UY' MAI1;
  743. VECT2EZ = 'EXTR' VECT2E 'UZ' MAI1;
  744. VECT3EX = 'EXTR' VECT3E 'UX' MAI1;
  745. VECT3EY = 'EXTR' VECT3E 'UY' MAI1;
  746. VECT3EZ = 'EXTR' VECT3E 'UZ' MAI1;
  747. *
  748. VECT1IX = 'EXTR' VECT1I 'UX' MAI1;
  749. VECT1IY = 'EXTR' VECT1I 'UY' MAI1;
  750. VECT1IZ = 'EXTR' VECT1I 'UZ' MAI1;
  751. VECT2IX = 'EXTR' VECT2I 'UX' MAI1;
  752. VECT2IY = 'EXTR' VECT2I 'UY' MAI1;
  753. VECT2IZ = 'EXTR' VECT2I 'UZ' MAI1;
  754. VECT3IX = 'EXTR' VECT3I 'UX' MAI1;
  755. VECT3IY = 'EXTR' VECT3I 'UY' MAI1;
  756. VECT3IZ = 'EXTR' VECT3I 'UZ' MAI1;
  757. *
  758. * definition du maillage pour l'enveloppe
  759. MAI2E = 'VIDE' MAILLAGE;
  760. MAI2I = 'VIDE' MAILLAGE;
  761. ND1 = 8;
  762. ND2 = 8;
  763. LL_FHI1 = 'PROG' 0. 'PAS' (90./ND1) 90.;
  764. LL_FHI2 = 'PROG' 0. 'PAS' (89./ND2) 89.;
  765. II1 = 1;
  766. JJ1 = 2;
  767. *
  768. * boucle sur les points (on va definir la surface sur 8 quadrantes)
  769. * cordonée polaire fhi1 (plan xy) entre 0 pi/2
  770. * cordonée polaire fhi2 (azimuth) entre 0 pi/2
  771. 'REPE' IND1 (ND1*ND2);
  772. *
  773. * quadrant 1 fhi1 = [0 pi/2] fhi2 = [0 pi/2]
  774. VAL_FHI1 = ('EXTR' LL_FHI1 (II1));
  775. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1 - 1));
  776. X1_1EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  777. Y1_1EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  778. Z1_1EL = ((LL3E)*(SIN(VAL_FHI2)));
  779. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1));
  780. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1 - 1));
  781. X2_1EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  782. Y2_1EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  783. Z2_1EL = ((LL3E)*(SIN(VAL_FHI2)));
  784. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1));
  785. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1));
  786. X3_1EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  787. Y3_1EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  788. Z3_1EL = ((LL3E)*(SIN(VAL_FHI2)));
  789. VAL_FHI1 = ('EXTR' LL_FHI1 (II1));
  790. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1));
  791. X4_1EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  792. Y4_1EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  793. Z4_1EL = ((LL3E)*(SIN(VAL_FHI2)));
  794. X1_1E =
  795. ((X1_1EL)*(VECT1EX)) + ((Y1_1EL)*(VECT2EX)) + ((Z1_1EL)*(VECT3EX));
  796. Y1_1E =
  797. ((X1_1EL)*(VECT1EY)) + ((Y1_1EL)*(VECT2EY)) + ((Z1_1EL)*(VECT3EY));
  798. Z1_1E =
  799. ((X1_1EL)*(VECT1EZ)) + ((Y1_1EL)*(VECT2EZ)) + ((Z1_1EL)*(VECT3EZ));
  800. X2_1E =
  801. ((X2_1EL)*(VECT1EX)) + ((Y2_1EL)*(VECT2EX)) + ((Z2_1EL)*(VECT3EX));
  802. Y2_1E =
  803. ((X2_1EL)*(VECT1EY)) + ((Y2_1EL)*(VECT2EY)) + ((Z2_1EL)*(VECT3EY));
  804. Z2_1E =
  805. ((X2_1EL)*(VECT1EZ)) + ((Y2_1EL)*(VECT2EZ)) + ((Z2_1EL)*(VECT3EZ));
  806. X3_1E =
  807. ((X3_1EL)*(VECT1EX)) + ((Y3_1EL)*(VECT2EX)) + ((Z3_1EL)*(VECT3EX));
  808. Y3_1E =
  809. ((X3_1EL)*(VECT1EY)) + ((Y3_1EL)*(VECT2EY)) + ((Z3_1EL)*(VECT3EY));
  810. Z3_1E =
  811. ((X3_1EL)*(VECT1EZ)) + ((Y3_1EL)*(VECT2EZ)) + ((Z3_1EL)*(VECT3EZ));
  812. X4_1E =
  813. ((X4_1EL)*(VECT1EX)) + ((Y4_1EL)*(VECT2EX)) + ((Z4_1EL)*(VECT3EX));
  814. Y4_1E =
  815. ((X4_1EL)*(VECT1EY)) + ((Y4_1EL)*(VECT2EY)) + ((Z4_1EL)*(VECT3EY));
  816. Z4_1E =
  817. ((X4_1EL)*(VECT1EZ)) + ((Y4_1EL)*(VECT2EZ)) + ((Z4_1EL)*(VECT3EZ));
  818. *
  819. * quadrant 2 fhi1 = [pi/2 pi] fhi2 = [0 pi/2]
  820. VAL_FHI1 = ('EXTR' LL_FHI1 (II1)) + ((180.0)/(2.0));
  821. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1 - 1));
  822. X1_2EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  823. Y1_2EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  824. Z1_2EL = ((LL3E)*(SIN(VAL_FHI2)));
  825. VAL_FHI1 = (EXTR LL_FHI1 (II1 + 1)) + ((180.0)/(2.0));
  826. VAL_FHI2 = (EXTR LL_FHI2 (JJ1 - 1));
  827. X2_2EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  828. Y2_2EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  829. Z2_2EL = ((LL3E)*(SIN(VAL_FHI2)));
  830. VAL_FHI1 = (EXTR LL_FHI1 (II1 + 1)) + ((180.0)/(2.0));
  831. VAL_FHI2 = (EXTR LL_FHI2 (JJ1));
  832. X3_2EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  833. Y3_2EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  834. Z3_2EL = ((LL3E)*(SIN(VAL_FHI2)));
  835. VAL_FHI1 = (EXTR LL_FHI1 (II1)) + ((180.0)/(2.0));
  836. VAL_FHI2 = (EXTR LL_FHI2 (JJ1));
  837. X4_2EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  838. Y4_2EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  839. Z4_2EL = ((LL3E)*(SIN(VAL_FHI2)));
  840. X1_2E =
  841. ((X1_2EL)*(VECT1EX)) + ((Y1_2EL)*(VECT2EX)) + ((Z1_2EL)*(VECT3EX));
  842. Y1_2E =
  843. ((X1_2EL)*(VECT1EY)) + ((Y1_2EL)*(VECT2EY)) + ((Z1_2EL)*(VECT3EY));
  844. Z1_2E =
  845. ((X1_2EL)*(VECT1EZ)) + ((Y1_2EL)*(VECT2EZ)) + ((Z1_2EL)*(VECT3EZ));
  846. X2_2E =
  847. ((X2_2EL)*(VECT1EX)) + ((Y2_2EL)*(VECT2EX)) + ((Z2_2EL)*(VECT3EX));
  848. Y2_2E =
  849. ((X2_2EL)*(VECT1EY)) + ((Y2_2EL)*(VECT2EY)) + ((Z2_2EL)*(VECT3EY));
  850. Z2_2E =
  851. ((X2_2EL)*(VECT1EZ)) + ((Y2_2EL)*(VECT2EZ)) + ((Z2_2EL)*(VECT3EZ));
  852. X3_2E =
  853. ((X3_2EL)*(VECT1EX)) + ((Y3_2EL)*(VECT2EX)) + ((Z3_2EL)*(VECT3EX));
  854. Y3_2E =
  855. ((X3_2EL)*(VECT1EY)) + ((Y3_2EL)*(VECT2EY)) + ((Z3_2EL)*(VECT3EY));
  856. Z3_2E =
  857. ((X3_2EL)*(VECT1EZ)) + ((Y3_2EL)*(VECT2EZ)) + ((Z3_2EL)*(VECT3EZ));
  858. X4_2E =
  859. ((X4_2EL)*(VECT1EX)) + ((Y4_2EL)*(VECT2EX)) + ((Z4_2EL)*(VECT3EX));
  860. Y4_2E =
  861. ((X4_2EL)*(VECT1EY)) + ((Y4_2EL)*(VECT2EY)) + ((Z4_2EL)*(VECT3EY));
  862. Z4_2E =
  863. ((X4_2EL)*(VECT1EZ)) + ((Y4_2EL)*(VECT2EZ)) + ((Z4_2EL)*(VECT3EZ));
  864. *
  865. * quadrant 3 fhi1 = [pi 3pi/2] fhi2 = [0 pi/2]
  866. VAL_FHI1 = ('EXTR' LL_FHI1 (II1)) + ((180.0)/(1.0));
  867. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1 - 1));
  868. X1_3EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  869. Y1_3EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  870. Z1_3EL = ((LL3E)*(SIN(VAL_FHI2)));
  871. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1)) + ((180.0)/(1.0));
  872. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1 - 1));
  873. X2_3EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  874. Y2_3EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  875. Z2_3EL = ((LL3E)*(SIN(VAL_FHI2)));
  876. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1)) + ((180.0)/(1.0));
  877. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1));
  878. X3_3EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  879. Y3_3EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  880. Z3_3EL = ((LL3E)*(SIN(VAL_FHI2)));
  881. VAL_FHI1 = ('EXTR' LL_FHI1 (II1)) + ((180.0)/(1.0));
  882. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1));
  883. X4_3EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  884. Y4_3EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  885. Z4_3EL = ((LL3E)*(SIN(VAL_FHI2)));
  886. X1_3E =
  887. ((X1_3EL)*(VECT1EX)) + ((Y1_3EL)*(VECT2EX)) + ((Z1_3EL)*(VECT3EX));
  888. Y1_3E =
  889. ((X1_3EL)*(VECT1EY)) + ((Y1_3EL)*(VECT2EY)) + ((Z1_3EL)*(VECT3EY));
  890. Z1_3E =
  891. ((X1_3EL)*(VECT1EZ)) + ((Y1_3EL)*(VECT2EZ)) + ((Z1_3EL)*(VECT3EZ));
  892. X2_3E =
  893. ((X2_3EL)*(VECT1EX)) + ((Y2_3EL)*(VECT2EX)) + ((Z2_3EL)*(VECT3EX));
  894. Y2_3E =
  895. ((X2_3EL)*(VECT1EY)) + ((Y2_3EL)*(VECT2EY)) + ((Z2_3EL)*(VECT3EY));
  896. Z2_3E =
  897. ((X2_3EL)*(VECT1EZ)) + ((Y2_3EL)*(VECT2EZ)) + ((Z2_3EL)*(VECT3EZ));
  898. X3_3E =
  899. ((X3_3EL)*(VECT1EX)) + ((Y3_3EL)*(VECT2EX)) + ((Z3_3EL)*(VECT3EX));
  900. Y3_3E =
  901. ((X3_3EL)*(VECT1EY)) + ((Y3_3EL)*(VECT2EY)) + ((Z3_3EL)*(VECT3EY));
  902. Z3_3E =
  903. ((X3_3EL)*(VECT1EZ)) + ((Y3_3EL)*(VECT2EZ)) + ((Z3_3EL)*(VECT3EZ));
  904. X4_3E =
  905. ((X4_3EL)*(VECT1EX)) + ((Y4_3EL)*(VECT2EX)) + ((Z4_3EL)*(VECT3EX));
  906. Y4_3E =
  907. ((X4_3EL)*(VECT1EY)) + ((Y4_3EL)*(VECT2EY)) + ((Z4_3EL)*(VECT3EY));
  908. Z4_3E =
  909. ((X4_3EL)*(VECT1EZ)) + ((Y4_3EL)*(VECT2EZ)) + ((Z4_3EL)*(VECT3EZ));
  910. *
  911. * quadrant 4 fhi1 = [3pi/2 2pi] fhi2 = [0 pi/2]
  912. VAL_FHI1 = ('EXTR' LL_FHI1 (II1)) + (((3.0)*(180.0))/(2.0));
  913. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1 - 1));
  914. X1_4EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  915. Y1_4EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  916. Z1_4EL = ((LL3E)*(SIN(VAL_FHI2)));
  917. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1)) + (((3.0)*(180.0))/(2.0));
  918. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1 - 1));
  919. X2_4EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  920. Y2_4EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  921. Z2_4EL = ((LL3E)*(SIN(VAL_FHI2)));
  922. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1)) + (((3.0)*(180.0))/(2.0));
  923. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1));
  924. X3_4EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  925. Y3_4EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  926. Z3_4EL = ((LL3E)*(SIN(VAL_FHI2)));
  927. VAL_FHI1 = ('EXTR' LL_FHI1 (II1)) + (((3.0)*(180.0))/(2.0));
  928. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1));
  929. X4_4EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  930. Y4_4EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  931. Z4_4EL = ((LL3E)*(SIN(VAL_FHI2)));
  932. X1_4E =
  933. ((X1_4EL)*(VECT1EX)) + ((Y1_4EL)*(VECT2EX)) + ((Z1_4EL)*(VECT3EX));
  934. Y1_4E =
  935. ((X1_4EL)*(VECT1EY)) + ((Y1_4EL)*(VECT2EY)) + ((Z1_4EL)*(VECT3EY));
  936. Z1_4E =
  937. ((X1_4EL)*(VECT1EZ)) + ((Y1_4EL)*(VECT2EZ)) + ((Z1_4EL)*(VECT3EZ));
  938. X2_4E =
  939. ((X2_4EL)*(VECT1EX)) + ((Y2_4EL)*(VECT2EX)) + ((Z2_4EL)*(VECT3EX));
  940. Y2_4E =
  941. ((X2_4EL)*(VECT1EY)) + ((Y2_4EL)*(VECT2EY)) + ((Z2_4EL)*(VECT3EY));
  942. Z2_4E =
  943. ((X2_4EL)*(VECT1EZ)) + ((Y2_4EL)*(VECT2EZ)) + ((Z2_4EL)*(VECT3EZ));
  944. X3_4E =
  945. ((X3_4EL)*(VECT1EX)) + ((Y3_4EL)*(VECT2EX)) + ((Z3_4EL)*(VECT3EX));
  946. Y3_4E =
  947. ((X3_4EL)*(VECT1EY)) + ((Y3_4EL)*(VECT2EY)) + ((Z3_4EL)*(VECT3EY));
  948. Z3_4E =
  949. ((X3_4EL)*(VECT1EZ)) + ((Y3_4EL)*(VECT2EZ)) + ((Z3_4EL)*(VECT3EZ));
  950. X4_4E =
  951. ((X4_4EL)*(VECT1EX)) + ((Y4_4EL)*(VECT2EX)) + ((Z4_4EL)*(VECT3EX));
  952. Y4_4E =
  953. ((X4_4EL)*(VECT1EY)) + ((Y4_4EL)*(VECT2EY)) + ((Z4_4EL)*(VECT3EY));
  954. Z4_4E =
  955. ((X4_4EL)*(VECT1EZ)) + ((Y4_4EL)*(VECT2EZ)) + ((Z4_4EL)*(VECT3EZ));
  956. *
  957. * quadrant 5 fhi1 = [0 pi/2] fhi2 = [-pi/2 0]
  958. VAL_FHI1 = ('EXTR' LL_FHI1 (II1));
  959. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1 - 1));
  960. X1_5EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  961. Y1_5EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  962. Z1_5EL = ((LL3E)*(SIN(VAL_FHI2)));
  963. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1));
  964. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1 - 1));
  965. X2_5EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  966. Y2_5EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  967. Z2_5EL = ((LL3E)*(SIN(VAL_FHI2)));
  968. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1));
  969. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1));
  970. X3_5EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  971. Y3_5EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  972. Z3_5EL = ((LL3E)*(SIN(VAL_FHI2)));
  973. VAL_FHI1 = ('EXTR' LL_FHI1 (II1));
  974. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1));
  975. X4_5EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  976. Y4_5EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  977. Z4_5EL = ((LL3E)*(SIN(VAL_FHI2)));
  978. X1_5E =
  979. ((X1_5EL)*(VECT1EX)) + ((Y1_5EL)*(VECT2EX)) + ((Z1_5EL)*(VECT3EX));
  980. Y1_5E =
  981. ((X1_5EL)*(VECT1EY)) + ((Y1_5EL)*(VECT2EY)) + ((Z1_5EL)*(VECT3EY));
  982. Z1_5E =
  983. ((X1_5EL)*(VECT1EZ)) + ((Y1_5EL)*(VECT2EZ)) + ((Z1_5EL)*(VECT3EZ));
  984. X2_5E =
  985. ((X2_5EL)*(VECT1EX)) + ((Y2_5EL)*(VECT2EX)) + ((Z2_5EL)*(VECT3EX));
  986. Y2_5E =
  987. ((X2_5EL)*(VECT1EY)) + ((Y2_5EL)*(VECT2EY)) + ((Z2_5EL)*(VECT3EY));
  988. Z2_5E =
  989. ((X2_5EL)*(VECT1EZ)) + ((Y2_5EL)*(VECT2EZ)) + ((Z2_5EL)*(VECT3EZ));
  990. X3_5E =
  991. ((X3_5EL)*(VECT1EX)) + ((Y3_5EL)*(VECT2EX)) + ((Z3_5EL)*(VECT3EX));
  992. Y3_5E =
  993. ((X3_5EL)*(VECT1EY)) + ((Y3_5EL)*(VECT2EY)) + ((Z3_5EL)*(VECT3EY));
  994. Z3_5E =
  995. ((X3_5EL)*(VECT1EZ)) + ((Y3_5EL)*(VECT2EZ)) + ((Z3_5EL)*(VECT3EZ));
  996. X4_5E =
  997. ((X4_5EL)*(VECT1EX)) + ((Y4_5EL)*(VECT2EX)) + ((Z4_5EL)*(VECT3EX));
  998. Y4_5E =
  999. ((X4_5EL)*(VECT1EY)) + ((Y4_5EL)*(VECT2EY)) + ((Z4_5EL)*(VECT3EY));
  1000. Z4_5E =
  1001. ((X4_5EL)*(VECT1EZ)) + ((Y4_5EL)*(VECT2EZ)) + ((Z4_5EL)*(VECT3EZ));
  1002. *
  1003. * quadrant 6 fhi1 = [pi/2 pi] fhi2 = [-pi/2 0]
  1004. VAL_FHI1 = ('EXTR' LL_FHI1 (II1)) + ((180.0)/(2.0));
  1005. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1 - 1));
  1006. X1_6EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1007. Y1_6EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1008. Z1_6EL = ((LL3E)*(SIN(VAL_FHI2)));
  1009. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1)) + ((180.0)/(2.0));
  1010. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1 - 1));
  1011. X2_6EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1012. Y2_6EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1013. Z2_6EL = ((LL3E)*(SIN(VAL_FHI2)));
  1014. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1)) + ((180.0)/(2.0));
  1015. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1));
  1016. X3_6EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1017. Y3_6EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1018. Z3_6EL = ((LL3E)*(SIN(VAL_FHI2)));
  1019. VAL_FHI1 = ('EXTR' LL_FHI1 (II1)) + ((180.0)/(2.0));
  1020. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1));
  1021. X4_6EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1022. Y4_6EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1023. Z4_6EL = ((LL3E)*(SIN(VAL_FHI2)));
  1024. X1_6E =
  1025. ((X1_6EL)*(VECT1EX)) + ((Y1_6EL)*(VECT2EX)) + ((Z1_6EL)*(VECT3EX));
  1026. Y1_6E =
  1027. ((X1_6EL)*(VECT1EY)) + ((Y1_6EL)*(VECT2EY)) + ((Z1_6EL)*(VECT3EY));
  1028. Z1_6E =
  1029. ((X1_6EL)*(VECT1EZ)) + ((Y1_6EL)*(VECT2EZ)) + ((Z1_6EL)*(VECT3EZ));
  1030. X2_6E =
  1031. ((X2_6EL)*(VECT1EX)) + ((Y2_6EL)*(VECT2EX)) + ((Z2_6EL)*(VECT3EX));
  1032. Y2_6E =
  1033. ((X2_6EL)*(VECT1EY)) + ((Y2_6EL)*(VECT2EY)) + ((Z2_6EL)*(VECT3EY));
  1034. Z2_6E =
  1035. ((X2_6EL)*(VECT1EZ)) + ((Y2_6EL)*(VECT2EZ)) + ((Z2_6EL)*(VECT3EZ));
  1036. X3_6E =
  1037. ((X3_6EL)*(VECT1EX)) + ((Y3_6EL)*(VECT2EX)) + ((Z3_6EL)*(VECT3EX));
  1038. Y3_6E =
  1039. ((X3_6EL)*(VECT1EY)) + ((Y3_6EL)*(VECT2EY)) + ((Z3_6EL)*(VECT3EY));
  1040. Z3_6E =
  1041. ((X3_6EL)*(VECT1EZ)) + ((Y3_6EL)*(VECT2EZ)) + ((Z3_6EL)*(VECT3EZ));
  1042. X4_6E =
  1043. ((X4_6EL)*(VECT1EX)) + ((Y4_6EL)*(VECT2EX)) + ((Z4_6EL)*(VECT3EX));
  1044. Y4_6E =
  1045. ((X4_6EL)*(VECT1EY)) + ((Y4_6EL)*(VECT2EY)) + ((Z4_6EL)*(VECT3EY));
  1046. Z4_6E =
  1047. ((X4_6EL)*(VECT1EZ)) + ((Y4_6EL)*(VECT2EZ)) + ((Z4_6EL)*(VECT3EZ));
  1048. *
  1049. * quadrant 7 fhi1 = [pi 3pi/2] fhi2 = [-pi/2 0]
  1050. VAL_FHI1 = ('EXTR' LL_FHI1 (II1)) + ((180.0)/(1.0));
  1051. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1 - 1));
  1052. X1_7EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1053. Y1_7EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1054. Z1_7EL = ((LL3E)*(SIN(VAL_FHI2)));
  1055. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1)) + ((180.0)/(1.0));
  1056. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1 - 1));
  1057. X2_7EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1058. Y2_7EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1059. Z2_7EL = ((LL3E)*(SIN(VAL_FHI2)));
  1060. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1)) + ((180.0)/(1.0));
  1061. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1));
  1062. X3_7EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1063. Y3_7EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1064. Z3_7EL = ((LL3E)*(SIN(VAL_FHI2)));
  1065. VAL_FHI1 = ('EXTR' LL_FHI1 (II1)) + ((180.0)/(1.0));
  1066. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1));
  1067. X4_7EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1068. Y4_7EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1069. Z4_7EL = ((LL3E)*(SIN(VAL_FHI2)));
  1070. X1_7E =
  1071. ((X1_7EL)*(VECT1EX)) + ((Y1_7EL)*(VECT2EX)) + ((Z1_7EL)*(VECT3EX));
  1072. Y1_7E =
  1073. ((X1_7EL)*(VECT1EY)) + ((Y1_7EL)*(VECT2EY)) + ((Z1_7EL)*(VECT3EY));
  1074. Z1_7E =
  1075. ((X1_7EL)*(VECT1EZ)) + ((Y1_7EL)*(VECT2EZ)) + ((Z1_7EL)*(VECT3EZ));
  1076. X2_7E =
  1077. ((X2_7EL)*(VECT1EX)) + ((Y2_7EL)*(VECT2EX)) + ((Z2_7EL)*(VECT3EX));
  1078. Y2_7E =
  1079. ((X2_7EL)*(VECT1EY)) + ((Y2_7EL)*(VECT2EY)) + ((Z2_7EL)*(VECT3EY));
  1080. Z2_7E =
  1081. ((X2_7EL)*(VECT1EZ)) + ((Y2_7EL)*(VECT2EZ)) + ((Z2_7EL)*(VECT3EZ));
  1082. X3_7E =
  1083. ((X3_7EL)*(VECT1EX)) + ((Y3_7EL)*(VECT2EX)) + ((Z3_7EL)*(VECT3EX));
  1084. Y3_7E =
  1085. ((X3_7EL)*(VECT1EY)) + ((Y3_7EL)*(VECT2EY)) + ((Z3_7EL)*(VECT3EY));
  1086. Z3_7E =
  1087. ((X3_7EL)*(VECT1EZ)) + ((Y3_7EL)*(VECT2EZ)) + ((Z3_7EL)*(VECT3EZ));
  1088. X4_7E =
  1089. ((X4_7EL)*(VECT1EX)) + ((Y4_7EL)*(VECT2EX)) + ((Z4_7EL)*(VECT3EX));
  1090. Y4_7E =
  1091. ((X4_7EL)*(VECT1EY)) + ((Y4_7EL)*(VECT2EY)) + ((Z4_7EL)*(VECT3EY));
  1092. Z4_7E =
  1093. ((X4_7EL)*(VECT1EZ)) + ((Y4_7EL)*(VECT2EZ)) + ((Z4_7EL)*(VECT3EZ));
  1094. *
  1095. * quadrant 8 fhi1 = [3pi/2 2pi] fhi2 = [-pi/2 0]
  1096. VAL_FHI1 = ('EXTR' LL_FHI1 (II1)) + (((3.0)*(180.0))/(2.0));
  1097. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1 - 1));
  1098. X1_8EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1099. Y1_8EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1100. Z1_8EL = ((LL3E)*(SIN(VAL_FHI2)));
  1101. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1)) + (((3.0)*(180.0))/(2.0));
  1102. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1 - 1));
  1103. X2_8EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1104. Y2_8EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1105. Z2_8EL = ((LL3E)*(SIN(VAL_FHI2)));
  1106. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1)) + (((3.0)*(180.0))/(2.0));
  1107. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1));
  1108. X3_8EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1109. Y3_8EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1110. Z3_8EL = ((LL3E)*(SIN(VAL_FHI2)));
  1111. VAL_FHI1 = ('EXTR' LL_FHI1 (II1)) + (((3.0)*(180.0))/(2.0));
  1112. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1));
  1113. X4_8EL = (((LL1E)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1114. Y4_8EL = (((LL2E)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1115. Z4_8EL = ((LL3E)*(SIN(VAL_FHI2)));
  1116. X1_8E =
  1117. ((X1_8EL)*(VECT1EX)) + ((Y1_8EL)*(VECT2EX)) + ((Z1_8EL)*(VECT3EX));
  1118. Y1_8E =
  1119. ((X1_8EL)*(VECT1EY)) + ((Y1_8EL)*(VECT2EY)) + ((Z1_8EL)*(VECT3EY));
  1120. Z1_8E =
  1121. ((X1_8EL)*(VECT1EZ)) + ((Y1_8EL)*(VECT2EZ)) + ((Z1_8EL)*(VECT3EZ));
  1122. X2_8E =
  1123. ((X2_8EL)*(VECT1EX)) + ((Y2_8EL)*(VECT2EX)) + ((Z2_8EL)*(VECT3EX));
  1124. Y2_8E =
  1125. ((X2_8EL)*(VECT1EY)) + ((Y2_8EL)*(VECT2EY)) + ((Z2_8EL)*(VECT3EY));
  1126. Z2_8E =
  1127. ((X2_8EL)*(VECT1EZ)) + ((Y2_8EL)*(VECT2EZ)) + ((Z2_8EL)*(VECT3EZ));
  1128. X3_8E =
  1129. ((X3_8EL)*(VECT1EX)) + ((Y3_8EL)*(VECT2EX)) + ((Z3_8EL)*(VECT3EX));
  1130. Y3_8E =
  1131. ((X3_8EL)*(VECT1EY)) + ((Y3_8EL)*(VECT2EY)) + ((Z3_8EL)*(VECT3EY));
  1132. Z3_8E =
  1133. ((X3_8EL)*(VECT1EZ)) + ((Y3_8EL)*(VECT2EZ)) + ((Z3_8EL)*(VECT3EZ));
  1134. X4_8E =
  1135. ((X4_8EL)*(VECT1EX)) + ((Y4_8EL)*(VECT2EX)) + ((Z4_8EL)*(VECT3EX));
  1136. Y4_8E =
  1137. ((X4_8EL)*(VECT1EY)) + ((Y4_8EL)*(VECT2EY)) + ((Z4_8EL)*(VECT3EY));
  1138. Z4_8E =
  1139. ((X4_8EL)*(VECT1EZ)) + ((Y4_8EL)*(VECT2EZ)) + ((Z4_8EL)*(VECT3EZ));
  1140. *
  1141. *
  1142. * quadrant 1 fhi1 = [0 pi/2] fhi2 = [0 pi/2]
  1143. VAL_FHI1 = ('EXTR' LL_FHI1 (II1));
  1144. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1 - 1));
  1145. X1_1IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1146. Y1_1IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1147. Z1_1IL = ((LL3I)*(SIN(VAL_FHI2)));
  1148. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1));
  1149. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1 - 1));
  1150. X2_1IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1151. Y2_1IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1152. Z2_1IL = ((LL3I)*(SIN(VAL_FHI2)));
  1153. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1));
  1154. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1));
  1155. X3_1IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1156. Y3_1IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1157. Z3_1IL = ((LL3I)*(SIN(VAL_FHI2)));
  1158. VAL_FHI1 = ('EXTR' LL_FHI1 (II1));
  1159. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1));
  1160. X4_1IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1161. Y4_1IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1162. Z4_1IL = ((LL3I)*(SIN(VAL_FHI2)));
  1163. X1_1I =
  1164. ((X1_1IL)*(VECT1IX)) + ((Y1_1IL)*(VECT2IX)) + ((Z1_1IL)*(VECT3IX));
  1165. Y1_1I =
  1166. ((X1_1IL)*(VECT1IY)) + ((Y1_1IL)*(VECT2IY)) + ((Z1_1IL)*(VECT3IY));
  1167. Z1_1I =
  1168. ((X1_1IL)*(VECT1IZ)) + ((Y1_1IL)*(VECT2IZ)) + ((Z1_1IL)*(VECT3IZ));
  1169. X2_1I =
  1170. ((X2_1IL)*(VECT1IX)) + ((Y2_1IL)*(VECT2IX)) + ((Z2_1IL)*(VECT3IX));
  1171. Y2_1I =
  1172. ((X2_1IL)*(VECT1IY)) + ((Y2_1IL)*(VECT2IY)) + ((Z2_1IL)*(VECT3IY));
  1173. Z2_1I =
  1174. ((X2_1IL)*(VECT1IZ)) + ((Y2_1IL)*(VECT2IZ)) + ((Z2_1IL)*(VECT3IZ));
  1175. X3_1I =
  1176. ((X3_1IL)*(VECT1IX)) + ((Y3_1IL)*(VECT2IX)) + ((Z3_1IL)*(VECT3IX));
  1177. Y3_1I =
  1178. ((X3_1IL)*(VECT1IY)) + ((Y3_1IL)*(VECT2IY)) + ((Z3_1IL)*(VECT3IY));
  1179. Z3_1I =
  1180. ((X3_1IL)*(VECT1IZ)) + ((Y3_1IL)*(VECT2IZ)) + ((Z3_1IL)*(VECT3IZ));
  1181. X4_1I =
  1182. ((X4_1IL)*(VECT1IX)) + ((Y4_1IL)*(VECT2IX)) + ((Z4_1IL)*(VECT3IX));
  1183. Y4_1I =
  1184. ((X4_1IL)*(VECT1IY)) + ((Y4_1IL)*(VECT2IY)) + ((Z4_1IL)*(VECT3IY));
  1185. Z4_1I =
  1186. ((X4_1IL)*(VECT1IZ)) + ((Y4_1IL)*(VECT2IZ)) + ((Z4_1IL)*(VECT3IZ));
  1187. *
  1188. * quadrant 2 fhi1 = [pi/2 pi] fhi2 = [0 pi/2]
  1189. VAL_FHI1 = ('EXTR' LL_FHI1 (II1)) + ((180.0)/(2.0));
  1190. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1 - 1));
  1191. X1_2IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1192. Y1_2IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1193. Z1_2IL = ((LL3I)*(SIN(VAL_FHI2)));
  1194. VAL_FHI1 = (EXTR LL_FHI1 (II1 + 1)) + ((180.0)/(2.0));
  1195. VAL_FHI2 = (EXTR LL_FHI2 (JJ1 - 1));
  1196. X2_2IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1197. Y2_2IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1198. Z2_2IL = ((LL3I)*(SIN(VAL_FHI2)));
  1199. VAL_FHI1 = (EXTR LL_FHI1 (II1 + 1)) + ((180.0)/(2.0));
  1200. VAL_FHI2 = (EXTR LL_FHI2 (JJ1));
  1201. X3_2IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1202. Y3_2IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1203. Z3_2IL = ((LL3I)*(SIN(VAL_FHI2)));
  1204. VAL_FHI1 = (EXTR LL_FHI1 (II1)) + ((180.0)/(2.0));
  1205. VAL_FHI2 = (EXTR LL_FHI2 (JJ1));
  1206. X4_2IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1207. Y4_2IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1208. Z4_2IL = ((LL3I)*(SIN(VAL_FHI2)));
  1209. X1_2I =
  1210. ((X1_2IL)*(VECT1IX)) + ((Y1_2IL)*(VECT2IX)) + ((Z1_2IL)*(VECT3IX));
  1211. Y1_2I =
  1212. ((X1_2IL)*(VECT1IY)) + ((Y1_2IL)*(VECT2IY)) + ((Z1_2IL)*(VECT3IY));
  1213. Z1_2I =
  1214. ((X1_2IL)*(VECT1IZ)) + ((Y1_2IL)*(VECT2IZ)) + ((Z1_2IL)*(VECT3IZ));
  1215. X2_2I =
  1216. ((X2_2IL)*(VECT1IX)) + ((Y2_2IL)*(VECT2IX)) + ((Z2_2IL)*(VECT3IX));
  1217. Y2_2I =
  1218. ((X2_2IL)*(VECT1IY)) + ((Y2_2IL)*(VECT2IY)) + ((Z2_2IL)*(VECT3IY));
  1219. Z2_2I =
  1220. ((X2_2IL)*(VECT1IZ)) + ((Y2_2IL)*(VECT2IZ)) + ((Z2_2IL)*(VECT3IZ));
  1221. X3_2I =
  1222. ((X3_2IL)*(VECT1IX)) + ((Y3_2IL)*(VECT2IX)) + ((Z3_2IL)*(VECT3IX));
  1223. Y3_2I =
  1224. ((X3_2IL)*(VECT1IY)) + ((Y3_2IL)*(VECT2IY)) + ((Z3_2IL)*(VECT3IY));
  1225. Z3_2I =
  1226. ((X3_2IL)*(VECT1IZ)) + ((Y3_2IL)*(VECT2IZ)) + ((Z3_2IL)*(VECT3IZ));
  1227. X4_2I =
  1228. ((X4_2IL)*(VECT1IX)) + ((Y4_2IL)*(VECT2IX)) + ((Z4_2IL)*(VECT3IX));
  1229. Y4_2I =
  1230. ((X4_2IL)*(VECT1IY)) + ((Y4_2IL)*(VECT2IY)) + ((Z4_2IL)*(VECT3IY));
  1231. Z4_2I =
  1232. ((X4_2IL)*(VECT1IZ)) + ((Y4_2IL)*(VECT2IZ)) + ((Z4_2IL)*(VECT3IZ));
  1233. *
  1234. * quadrant 3 fhi1 = [pi 3pi/2] fhi2 = [0 pi/2]
  1235. VAL_FHI1 = ('EXTR' LL_FHI1 (II1)) + ((180.0)/(1.0));
  1236. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1 - 1));
  1237. X1_3IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1238. Y1_3IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1239. Z1_3IL = ((LL3I)*(SIN(VAL_FHI2)));
  1240. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1)) + ((180.0)/(1.0));
  1241. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1 - 1));
  1242. X2_3IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1243. Y2_3IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1244. Z2_3IL = ((LL3I)*(SIN(VAL_FHI2)));
  1245. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1)) + ((180.0)/(1.0));
  1246. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1));
  1247. X3_3IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1248. Y3_3IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1249. Z3_3IL = ((LL3I)*(SIN(VAL_FHI2)));
  1250. VAL_FHI1 = ('EXTR' LL_FHI1 (II1)) + ((180.0)/(1.0));
  1251. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1));
  1252. X4_3IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1253. Y4_3IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1254. Z4_3IL = ((LL3I)*(SIN(VAL_FHI2)));
  1255. X1_3I =
  1256. ((X1_3IL)*(VECT1IX)) + ((Y1_3IL)*(VECT2IX)) + ((Z1_3IL)*(VECT3IX));
  1257. Y1_3I =
  1258. ((X1_3IL)*(VECT1IY)) + ((Y1_3IL)*(VECT2IY)) + ((Z1_3IL)*(VECT3IY));
  1259. Z1_3I =
  1260. ((X1_3IL)*(VECT1IZ)) + ((Y1_3IL)*(VECT2IZ)) + ((Z1_3IL)*(VECT3IZ));
  1261. X2_3I =
  1262. ((X2_3IL)*(VECT1IX)) + ((Y2_3IL)*(VECT2IX)) + ((Z2_3IL)*(VECT3IX));
  1263. Y2_3I =
  1264. ((X2_3IL)*(VECT1IY)) + ((Y2_3IL)*(VECT2IY)) + ((Z2_3IL)*(VECT3IY));
  1265. Z2_3I =
  1266. ((X2_3IL)*(VECT1IZ)) + ((Y2_3IL)*(VECT2IZ)) + ((Z2_3IL)*(VECT3IZ));
  1267. X3_3I =
  1268. ((X3_3IL)*(VECT1IX)) + ((Y3_3IL)*(VECT2IX)) + ((Z3_3IL)*(VECT3IX));
  1269. Y3_3I =
  1270. ((X3_3IL)*(VECT1IY)) + ((Y3_3IL)*(VECT2IY)) + ((Z3_3IL)*(VECT3IY));
  1271. Z3_3I =
  1272. ((X3_3IL)*(VECT1IZ)) + ((Y3_3IL)*(VECT2IZ)) + ((Z3_3IL)*(VECT3IZ));
  1273. X4_3I =
  1274. ((X4_3IL)*(VECT1IX)) + ((Y4_3IL)*(VECT2IX)) + ((Z4_3IL)*(VECT3IX));
  1275. Y4_3I =
  1276. ((X4_3IL)*(VECT1IY)) + ((Y4_3IL)*(VECT2IY)) + ((Z4_3IL)*(VECT3IY));
  1277. Z4_3I =
  1278. ((X4_3IL)*(VECT1IZ)) + ((Y4_3IL)*(VECT2IZ)) + ((Z4_3IL)*(VECT3IZ));
  1279. *
  1280. * quadrant 4 fhi1 = [3pi/2 2pi] fhi2 = [0 pi/2]
  1281. VAL_FHI1 = ('EXTR' LL_FHI1 (II1)) + (((3.0)*(180.0))/(2.0));
  1282. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1 - 1));
  1283. X1_4IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1284. Y1_4IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1285. Z1_4IL = ((LL3I)*(SIN(VAL_FHI2)));
  1286. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1)) + (((3.0)*(180.0))/(2.0));
  1287. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1 - 1));
  1288. X2_4IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1289. Y2_4IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1290. Z2_4IL = ((LL3I)*(SIN(VAL_FHI2)));
  1291. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1)) + (((3.0)*(180.0))/(2.0));
  1292. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1));
  1293. X3_4IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1294. Y3_4IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1295. Z3_4IL = ((LL3I)*(SIN(VAL_FHI2)));
  1296. VAL_FHI1 = ('EXTR' LL_FHI1 (II1)) + (((3.0)*(180.0))/(2.0));
  1297. VAL_FHI2 = ('EXTR' LL_FHI2 (JJ1));
  1298. X4_4IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1299. Y4_4IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1300. Z4_4IL = ((LL3I)*(SIN(VAL_FHI2)));
  1301. X1_4I =
  1302. ((X1_4IL)*(VECT1IX)) + ((Y1_4IL)*(VECT2IX)) + ((Z1_4IL)*(VECT3IX));
  1303. Y1_4I =
  1304. ((X1_4IL)*(VECT1IY)) + ((Y1_4IL)*(VECT2IY)) + ((Z1_4IL)*(VECT3IY));
  1305. Z1_4I =
  1306. ((X1_4IL)*(VECT1IZ)) + ((Y1_4IL)*(VECT2IZ)) + ((Z1_4IL)*(VECT3IZ));
  1307. X2_4I =
  1308. ((X2_4IL)*(VECT1IX)) + ((Y2_4IL)*(VECT2IX)) + ((Z2_4IL)*(VECT3IX));
  1309. Y2_4I =
  1310. ((X2_4IL)*(VECT1IY)) + ((Y2_4IL)*(VECT2IY)) + ((Z2_4IL)*(VECT3IY));
  1311. Z2_4I =
  1312. ((X2_4IL)*(VECT1IZ)) + ((Y2_4IL)*(VECT2IZ)) + ((Z2_4IL)*(VECT3IZ));
  1313. X3_4I =
  1314. ((X3_4IL)*(VECT1IX)) + ((Y3_4IL)*(VECT2IX)) + ((Z3_4IL)*(VECT3IX));
  1315. Y3_4I =
  1316. ((X3_4IL)*(VECT1IY)) + ((Y3_4IL)*(VECT2IY)) + ((Z3_4IL)*(VECT3IY));
  1317. Z3_4I =
  1318. ((X3_4IL)*(VECT1IZ)) + ((Y3_4IL)*(VECT2IZ)) + ((Z3_4IL)*(VECT3IZ));
  1319. X4_4I =
  1320. ((X4_4IL)*(VECT1IX)) + ((Y4_4IL)*(VECT2IX)) + ((Z4_4IL)*(VECT3IX));
  1321. Y4_4I =
  1322. ((X4_4IL)*(VECT1IY)) + ((Y4_4IL)*(VECT2IY)) + ((Z4_4IL)*(VECT3IY));
  1323. Z4_4I =
  1324. ((X4_4IL)*(VECT1IZ)) + ((Y4_4IL)*(VECT2IZ)) + ((Z4_4IL)*(VECT3IZ));
  1325. *
  1326. * quadrant 5 fhi1 = [0 pi/2] fhi2 = [-pi/2 0]
  1327. VAL_FHI1 = ('EXTR' LL_FHI1 (II1));
  1328. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1 - 1));
  1329. X1_5IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1330. Y1_5IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1331. Z1_5IL = ((LL3I)*(SIN(VAL_FHI2)));
  1332. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1));
  1333. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1 - 1));
  1334. X2_5IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1335. Y2_5IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1336. Z2_5IL = ((LL3I)*(SIN(VAL_FHI2)));
  1337. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1));
  1338. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1));
  1339. X3_5IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1340. Y3_5IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1341. Z3_5IL = ((LL3I)*(SIN(VAL_FHI2)));
  1342. VAL_FHI1 = ('EXTR' LL_FHI1 (II1));
  1343. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1));
  1344. X4_5IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1345. Y4_5IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1346. Z4_5IL = ((LL3I)*(SIN(VAL_FHI2)));
  1347. X1_5I =
  1348. ((X1_5IL)*(VECT1IX)) + ((Y1_5IL)*(VECT2IX)) + ((Z1_5IL)*(VECT3IX));
  1349. Y1_5I =
  1350. ((X1_5IL)*(VECT1IY)) + ((Y1_5IL)*(VECT2IY)) + ((Z1_5IL)*(VECT3IY));
  1351. Z1_5I =
  1352. ((X1_5IL)*(VECT1IZ)) + ((Y1_5IL)*(VECT2IZ)) + ((Z1_5IL)*(VECT3IZ));
  1353. X2_5I =
  1354. ((X2_5IL)*(VECT1IX)) + ((Y2_5IL)*(VECT2IX)) + ((Z2_5IL)*(VECT3IX));
  1355. Y2_5I =
  1356. ((X2_5IL)*(VECT1IY)) + ((Y2_5IL)*(VECT2IY)) + ((Z2_5IL)*(VECT3IY));
  1357. Z2_5I =
  1358. ((X2_5IL)*(VECT1IZ)) + ((Y2_5IL)*(VECT2IZ)) + ((Z2_5IL)*(VECT3IZ));
  1359. X3_5I =
  1360. ((X3_5IL)*(VECT1IX)) + ((Y3_5IL)*(VECT2IX)) + ((Z3_5IL)*(VECT3IX));
  1361. Y3_5I =
  1362. ((X3_5IL)*(VECT1IY)) + ((Y3_5IL)*(VECT2IY)) + ((Z3_5IL)*(VECT3IY));
  1363. Z3_5I =
  1364. ((X3_5IL)*(VECT1IZ)) + ((Y3_5IL)*(VECT2IZ)) + ((Z3_5IL)*(VECT3IZ));
  1365. X4_5I =
  1366. ((X4_5IL)*(VECT1IX)) + ((Y4_5IL)*(VECT2IX)) + ((Z4_5IL)*(VECT3IX));
  1367. Y4_5I =
  1368. ((X4_5IL)*(VECT1IY)) + ((Y4_5IL)*(VECT2IY)) + ((Z4_5IL)*(VECT3IY));
  1369. Z4_5I =
  1370. ((X4_5IL)*(VECT1IZ)) + ((Y4_5IL)*(VECT2IZ)) + ((Z4_5IL)*(VECT3IZ));
  1371. *
  1372. * quadrant 6 fhi1 = [pi/2 pi] fhi2 = [-pi/2 0]
  1373. VAL_FHI1 = ('EXTR' LL_FHI1 (II1)) + ((180.0)/(2.0));
  1374. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1 - 1));
  1375. X1_6IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1376. Y1_6IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1377. Z1_6IL = ((LL3I)*(SIN(VAL_FHI2)));
  1378. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1)) + ((180.0)/(2.0));
  1379. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1 - 1));
  1380. X2_6IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1381. Y2_6IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1382. Z2_6IL = ((LL3I)*(SIN(VAL_FHI2)));
  1383. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1)) + ((180.0)/(2.0));
  1384. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1));
  1385. X3_6IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1386. Y3_6IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1387. Z3_6IL = ((LL3I)*(SIN(VAL_FHI2)));
  1388. VAL_FHI1 = ('EXTR' LL_FHI1 (II1)) + ((180.0)/(2.0));
  1389. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1));
  1390. X4_6IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1391. Y4_6IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1392. Z4_6IL = ((LL3I)*(SIN(VAL_FHI2)));
  1393. X1_6I =
  1394. ((X1_6IL)*(VECT1IX)) + ((Y1_6IL)*(VECT2IX)) + ((Z1_6IL)*(VECT3IX));
  1395. Y1_6I =
  1396. ((X1_6IL)*(VECT1IY)) + ((Y1_6IL)*(VECT2IY)) + ((Z1_6IL)*(VECT3IY));
  1397. Z1_6I =
  1398. ((X1_6IL)*(VECT1IZ)) + ((Y1_6IL)*(VECT2IZ)) + ((Z1_6IL)*(VECT3IZ));
  1399. X2_6I =
  1400. ((X2_6IL)*(VECT1IX)) + ((Y2_6IL)*(VECT2IX)) + ((Z2_6IL)*(VECT3IX));
  1401. Y2_6I =
  1402. ((X2_6IL)*(VECT1IY)) + ((Y2_6IL)*(VECT2IY)) + ((Z2_6IL)*(VECT3IY));
  1403. Z2_6I =
  1404. ((X2_6IL)*(VECT1IZ)) + ((Y2_6IL)*(VECT2IZ)) + ((Z2_6IL)*(VECT3IZ));
  1405. X3_6I =
  1406. ((X3_6IL)*(VECT1IX)) + ((Y3_6IL)*(VECT2IX)) + ((Z3_6IL)*(VECT3IX));
  1407. Y3_6I =
  1408. ((X3_6IL)*(VECT1IY)) + ((Y3_6IL)*(VECT2IY)) + ((Z3_6IL)*(VECT3IY));
  1409. Z3_6I =
  1410. ((X3_6IL)*(VECT1IZ)) + ((Y3_6IL)*(VECT2IZ)) + ((Z3_6IL)*(VECT3IZ));
  1411. X4_6I =
  1412. ((X4_6IL)*(VECT1IX)) + ((Y4_6IL)*(VECT2IX)) + ((Z4_6IL)*(VECT3IX));
  1413. Y4_6I =
  1414. ((X4_6IL)*(VECT1IY)) + ((Y4_6IL)*(VECT2IY)) + ((Z4_6IL)*(VECT3IY));
  1415. Z4_6I =
  1416. ((X4_6IL)*(VECT1IZ)) + ((Y4_6IL)*(VECT2IZ)) + ((Z4_6IL)*(VECT3IZ));
  1417. *
  1418. * quadrant 7 fhi1 = [pi 3pi/2] fhi2 = [-pi/2 0]
  1419. VAL_FHI1 = ('EXTR' LL_FHI1 (II1)) + ((180.0)/(1.0));
  1420. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1 - 1));
  1421. X1_7IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1422. Y1_7IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1423. Z1_7IL = ((LL3I)*(SIN(VAL_FHI2)));
  1424. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1)) + ((180.0)/(1.0));
  1425. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1 - 1));
  1426. X2_7IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1427. Y2_7IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1428. Z2_7IL = ((LL3I)*(SIN(VAL_FHI2)));
  1429. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1)) + ((180.0)/(1.0));
  1430. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1));
  1431. X3_7IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1432. Y3_7IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1433. Z3_7IL = ((LL3I)*(SIN(VAL_FHI2)));
  1434. VAL_FHI1 = ('EXTR' LL_FHI1 (II1)) + ((180.0)/(1.0));
  1435. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1));
  1436. X4_7IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1437. Y4_7IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1438. Z4_7IL = ((LL3I)*(SIN(VAL_FHI2)));
  1439. X1_7I =
  1440. ((X1_7IL)*(VECT1IX)) + ((Y1_7IL)*(VECT2IX)) + ((Z1_7IL)*(VECT3IX));
  1441. Y1_7I =
  1442. ((X1_7IL)*(VECT1IY)) + ((Y1_7IL)*(VECT2IY)) + ((Z1_7IL)*(VECT3IY));
  1443. Z1_7I =
  1444. ((X1_7IL)*(VECT1IZ)) + ((Y1_7IL)*(VECT2IZ)) + ((Z1_7IL)*(VECT3IZ));
  1445. X2_7I =
  1446. ((X2_7IL)*(VECT1IX)) + ((Y2_7IL)*(VECT2IX)) + ((Z2_7EL)*(VECT3IX));
  1447. Y2_7I =
  1448. ((X2_7IL)*(VECT1IY)) + ((Y2_7IL)*(VECT2IY)) + ((Z2_7IL)*(VECT3IY));
  1449. Z2_7I =
  1450. ((X2_7IL)*(VECT1IZ)) + ((Y2_7IL)*(VECT2IZ)) + ((Z2_7IL)*(VECT3IZ));
  1451. X3_7I =
  1452. ((X3_7IL)*(VECT1IX)) + ((Y3_7IL)*(VECT2IX)) + ((Z3_7IL)*(VECT3IX));
  1453. Y3_7I =
  1454. ((X3_7IL)*(VECT1IY)) + ((Y3_7IL)*(VECT2IY)) + ((Z3_7IL)*(VECT3IY));
  1455. Z3_7I =
  1456. ((X3_7IL)*(VECT1IZ)) + ((Y3_7IL)*(VECT2IZ)) + ((Z3_7IL)*(VECT3IZ));
  1457. X4_7I =
  1458. ((X4_7IL)*(VECT1IX)) + ((Y4_7IL)*(VECT2IX)) + ((Z4_7IL)*(VECT3IX));
  1459. Y4_7I =
  1460. ((X4_7IL)*(VECT1IY)) + ((Y4_7IL)*(VECT2IY)) + ((Z4_7IL)*(VECT3IY));
  1461. Z4_7I =
  1462. ((X4_7IL)*(VECT1IZ)) + ((Y4_7IL)*(VECT2IZ)) + ((Z4_7IL)*(VECT3IZ));
  1463. *
  1464. * quadrant 8 fhi1 = [3pi/2 2pi] fhi2 = [-pi/2 0]
  1465. VAL_FHI1 = ('EXTR' LL_FHI1 (II1)) + (((3.0)*(180.0))/(2.0));
  1466. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1 - 1));
  1467. X1_8IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1468. Y1_8IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1469. Z1_8IL = ((LL3I)*(SIN(VAL_FHI2)));
  1470. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1)) + (((3.0)*(180.0))/(2.0));
  1471. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1 - 1));
  1472. X2_8IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1473. Y2_8IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1474. Z2_8IL = ((LL3I)*(SIN(VAL_FHI2)));
  1475. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1)) + (((3.0)*(180.0))/(2.0));
  1476. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1));
  1477. X3_8IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1478. Y3_8IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1479. Z3_8IL = ((LL3I)*(SIN(VAL_FHI2)));
  1480. VAL_FHI1 = ('EXTR' LL_FHI1 (II1)) + (((3.0)*(180.0))/(2.0));
  1481. VAL_FHI2 = (-1.0)*('EXTR' LL_FHI2 (JJ1));
  1482. X4_8IL = (((LL1I)*(COS(VAL_FHI1)))*(COS(VAL_FHI2)));
  1483. Y4_8IL = (((LL2I)*(SIN(VAL_FHI1)))*(COS(VAL_FHI2)));
  1484. Z4_8IL = ((LL3I)*(SIN(VAL_FHI2)));
  1485. X1_8I =
  1486. ((X1_8IL)*(VECT1IX)) + ((Y1_8IL)*(VECT2IX)) + ((Z1_8IL)*(VECT3IX));
  1487. Y1_8I =
  1488. ((X1_8IL)*(VECT1IY)) + ((Y1_8IL)*(VECT2IY)) + ((Z1_8IL)*(VECT3IY));
  1489. Z1_8I =
  1490. ((X1_8IL)*(VECT1IZ)) + ((Y1_8IL)*(VECT2IZ)) + ((Z1_8IL)*(VECT3IZ));
  1491. X2_8I =
  1492. ((X2_8IL)*(VECT1IX)) + ((Y2_8IL)*(VECT2IX)) + ((Z2_8IL)*(VECT3IX));
  1493. Y2_8I =
  1494. ((X2_8IL)*(VECT1IY)) + ((Y2_8IL)*(VECT2IY)) + ((Z2_8IL)*(VECT3IY));
  1495. Z2_8I =
  1496. ((X2_8IL)*(VECT1IZ)) + ((Y2_8IL)*(VECT2IZ)) + ((Z2_8IL)*(VECT3IZ));
  1497. X3_8I =
  1498. ((X3_8IL)*(VECT1IX)) + ((Y3_8IL)*(VECT2IX)) + ((Z3_8IL)*(VECT3IX));
  1499. Y3_8I =
  1500. ((X3_8IL)*(VECT1IY)) + ((Y3_8IL)*(VECT2IY)) + ((Z3_8IL)*(VECT3IY));
  1501. Z3_8I =
  1502. ((X3_8IL)*(VECT1IZ)) + ((Y3_8IL)*(VECT2IZ)) + ((Z3_8IL)*(VECT3IZ));
  1503. X4_8I =
  1504. ((X4_8IL)*(VECT1IX)) + ((Y4_8IL)*(VECT2IX)) + ((Z4_8IL)*(VECT3IX));
  1505. Y4_8I =
  1506. ((X4_8IL)*(VECT1IY)) + ((Y4_8IL)*(VECT2IY)) + ((Z4_8IL)*(VECT3IY));
  1507. Z4_8I =
  1508. ((X4_8IL)*(VECT1IZ)) + ((Y4_8IL)*(VECT2IZ)) + ((Z4_8IL)*(VECT3IZ));
  1509. *
  1510. * definition points
  1511. P1_1E = (X1_1E + N110E) (Y1_1E + N220E) (Z1_1E + N120E);
  1512. P2_1E = (X2_1E + N110E) (Y2_1E + N220E) (Z2_1E + N120E);
  1513. P3_1E = (X3_1E + N110E) (Y3_1E + N220E) (Z3_1E + N120E);
  1514. P4_1E = (X4_1E + N110E) (Y4_1E + N220E) (Z4_1E + N120E);
  1515. *
  1516. P1_2E = (X1_2E + N110E) (Y1_2E + N220E) (Z1_2E + N120E);
  1517. P2_2E = (X2_2E + N110E) (Y2_2E + N220E) (Z2_2E + N120E);
  1518. P3_2E = (X3_2E + N110E) (Y3_2E + N220E) (Z3_2E + N120E);
  1519. P4_2E = (X4_2E + N110E) (Y4_2E + N220E) (Z4_2E + N120E);
  1520. *
  1521. P1_3E = (X1_3E + N110E) (Y1_3E + N220E) (Z1_3E + N120E);
  1522. P2_3E = (X2_3E + N110E) (Y2_3E + N220E) (Z2_3E + N120E);
  1523. P3_3E = (X3_3E + N110E) (Y3_3E + N220E) (Z3_3E + N120E);
  1524. P4_3E = (X4_3E + N110E) (Y4_3E + N220E) (Z4_3E + N120E);
  1525. *
  1526. P1_4E = (X1_4E + N110E) (Y1_4E + N220E) (Z1_4E + N120E);
  1527. P2_4E = (X2_4E + N110E) (Y2_4E + N220E) (Z2_4E + N120E);
  1528. P3_4E = (X3_4E + N110E) (Y3_4E + N220E) (Z3_4E + N120E);
  1529. P4_4E = (X4_4E + N110E) (Y4_4E + N220E) (Z4_4E + N120E);
  1530. *
  1531. P1_5E = (X1_5E + N110E) (Y1_5E + N220E) (Z1_5E + N120E);
  1532. P2_5E = (X2_5E + N110E) (Y2_5E + N220E) (Z2_5E + N120E);
  1533. P3_5E = (X3_5E + N110E) (Y3_5E + N220E) (Z3_5E + N120E);
  1534. P4_5E = (X4_5E + N110E) (Y4_5E + N220E) (Z4_5E + N120E);
  1535. *
  1536. P1_6E = (X1_6E + N110E) (Y1_6E + N220E) (Z1_6E + N120E);
  1537. P2_6E = (X2_6E + N110E) (Y2_6E + N220E) (Z2_6E + N120E);
  1538. P3_6E = (X3_6E + N110E) (Y3_6E + N220E) (Z3_6E + N120E);
  1539. P4_6E = (X4_6E + N110E) (Y4_6E + N220E) (Z4_6E + N120E);
  1540. *
  1541. P1_7E = (X1_7E + N110E) (Y1_7E + N220E) (Z1_7E + N120E);
  1542. P2_7E = (X2_7E + N110E) (Y2_7E + N220E) (Z2_7E + N120E);
  1543. P3_7E = (X3_7E + N110E) (Y3_7E + N220E) (Z3_7E + N120E);
  1544. P4_7E = (X4_7E + N110E) (Y4_7E + N220E) (Z4_7E + N120E);
  1545. *
  1546. P1_8E = (X1_8E + N110E) (Y1_8E + N220E) (Z1_8E + N120E);
  1547. P2_8E = (X2_8E + N110E) (Y2_8E + N220E) (Z2_8E + N120E);
  1548. P3_8E = (X3_8E + N110E) (Y3_8E + N220E) (Z3_8E + N120E);
  1549. P4_8E = (X4_8E + N110E) (Y4_8E + N220E) (Z4_8E + N120E);
  1550. *
  1551. P1_1I = (X1_1I + N110I) (Y1_1I + N220I) (Z1_1I + N120I);
  1552. P2_1I = (X2_1I + N110I) (Y2_1I + N220I) (Z2_1I + N120I);
  1553. P3_1I = (X3_1I + N110I) (Y3_1I + N220I) (Z3_1I + N120I);
  1554. P4_1I = (X4_1I + N110I) (Y4_1I + N220I) (Z4_1I + N120I);
  1555. *
  1556. P1_2I = (X1_2I + N110I) (Y1_2I + N220I) (Z1_2I + N120I);
  1557. P2_2I = (X2_2I + N110I) (Y2_2I + N220I) (Z2_2I + N120I);
  1558. P3_2I = (X3_2I + N110I) (Y3_2I + N220I) (Z3_2I + N120I);
  1559. P4_2I = (X4_2I + N110I) (Y4_2I + N220I) (Z4_2I + N120I);
  1560. *
  1561. P1_3I = (X1_3I + N110I) (Y1_3I + N220I) (Z1_3I + N120I);
  1562. P2_3I = (X2_3I + N110I) (Y2_3I + N220I) (Z2_3I + N120I);
  1563. P3_3I = (X3_3I + N110I) (Y3_3I + N220I) (Z3_3I + N120I);
  1564. P4_3I = (X4_3I + N110I) (Y4_3I + N220I) (Z4_3I + N120I);
  1565. *
  1566. P1_4I = (X1_4I + N110I) (Y1_4I + N220I) (Z1_4I + N120I);
  1567. P2_4I = (X2_4I + N110I) (Y2_4I + N220I) (Z2_4I + N120I);
  1568. P3_4I = (X3_4I + N110I) (Y3_4I + N220I) (Z3_4I + N120I);
  1569. P4_4I = (X4_4I + N110I) (Y4_4I + N220I) (Z4_4I + N120I);
  1570. *
  1571. P1_5I = (X1_5I + N110I) (Y1_5I + N220I) (Z1_5I + N120I);
  1572. P2_5I = (X2_5I + N110I) (Y2_5I + N220I) (Z2_5I + N120I);
  1573. P3_5I = (X3_5I + N110I) (Y3_5I + N220I) (Z3_5I + N120I);
  1574. P4_5I = (X4_5I + N110I) (Y4_5I + N220I) (Z4_5I + N120I);
  1575. *
  1576. P1_6I = (X1_6I + N110I) (Y1_6I + N220I) (Z1_6I + N120I);
  1577. P2_6I = (X2_6I + N110I) (Y2_6I + N220I) (Z2_6I + N120I);
  1578. P3_6I = (X3_6I + N110I) (Y3_6I + N220I) (Z3_6I + N120I);
  1579. P4_6I = (X4_6I + N110I) (Y4_6I + N220I) (Z4_6I + N120I);
  1580. *
  1581. P1_7I = (X1_7I + N110I) (Y1_7I + N220I) (Z1_7I + N120I);
  1582. P2_7I = (X2_7I + N110I) (Y2_7I + N220I) (Z2_7I + N120I);
  1583. P3_7I = (X3_7I + N110I) (Y3_7I + N220I) (Z3_7I + N120I);
  1584. P4_7I = (X4_7I + N110I) (Y4_7I + N220I) (Z4_7I + N120I);
  1585. *
  1586. P1_8I = (X1_8I + N110I) (Y1_8I + N220I) (Z1_8I + N120I);
  1587. P2_8I = (X2_8I + N110I) (Y2_8I + N220I) (Z2_8I + N120I);
  1588. P3_8I = (X3_8I + N110I) (Y3_8I + N220I) (Z3_8I + N120I);
  1589. P4_8I = (X4_8I + N110I) (Y4_8I + N220I) (Z4_8I + N120I);
  1590. *
  1591. * definitions des lignes
  1592. OPTI ELEM SEG2;
  1593. L1_1E = 'DROIT' 1 P1_1E P2_1E;
  1594. L2_1E = 'DROIT' 1 P2_1E P3_1E;
  1595. L3_1E = 'DROIT' 1 P3_1E P4_1E;
  1596. L4_1E = 'DROIT' 1 P4_1E P1_1E;
  1597. *
  1598. L1_2E = 'DROIT' 1 P1_2E P2_2E;
  1599. L2_2E = 'DROIT' 1 P2_2E P3_2E;
  1600. L3_2E = 'DROIT' 1 P3_2E P4_2E;
  1601. L4_2E = 'DROIT' 1 P4_2E P1_2E;
  1602. *
  1603. L1_3E = 'DROIT' 1 P1_3E P2_3E;
  1604. L2_3E = 'DROIT' 1 P2_3E P3_3E;
  1605. L3_3E = 'DROIT' 1 P3_3E P4_3E;
  1606. L4_3E = 'DROIT' 1 P4_3E P1_3E;
  1607. *
  1608. L1_4E = 'DROIT' 1 P1_4E P2_4E;
  1609. L2_4E = 'DROIT' 1 P2_4E P3_4E;
  1610. L3_4E = 'DROIT' 1 P3_4E P4_4E;
  1611. L4_4E = 'DROIT' 1 P4_4E P1_4E;
  1612. *
  1613. L1_5E = 'DROIT' 1 P1_5E P2_5E;
  1614. L2_5E = 'DROIT' 1 P2_5E P3_5E;
  1615. L3_5E = 'DROIT' 1 P3_5E P4_5E;
  1616. L4_5E = 'DROIT' 1 P4_5E P1_5E;
  1617. *
  1618. L1_6E = 'DROIT' 1 P1_6E P2_6E;
  1619. L2_6E = 'DROIT' 1 P2_6E P3_6E;
  1620. L3_6E = 'DROIT' 1 P3_6E P4_6E;
  1621. L4_6E = 'DROIT' 1 P4_6E P1_6E;
  1622. *
  1623. L1_7E = 'DROIT' 1 P1_7E P2_7E;
  1624. L2_7E = 'DROIT' 1 P2_7E P3_7E;
  1625. L3_7E = 'DROIT' 1 P3_7E P4_7E;
  1626. L4_7E = 'DROIT' 1 P4_7E P1_7E;
  1627. *
  1628. L1_8E = 'DROIT' 1 P1_8E P2_8E;
  1629. L2_8E = 'DROIT' 1 P2_8E P3_8E;
  1630. L3_8E = 'DROIT' 1 P3_8E P4_8E;
  1631. L4_8E = 'DROIT' 1 P4_8E P1_8E;
  1632. *
  1633. L1_1I = 'DROIT' 1 P1_1I P2_1I;
  1634. L2_1I = 'DROIT' 1 P2_1I P3_1I;
  1635. L3_1I = 'DROIT' 1 P3_1I P4_1I;
  1636. L4_1I = 'DROIT' 1 P4_1I P1_1I;
  1637. *
  1638. L1_2I = 'DROIT' 1 P1_2I P2_2I;
  1639. L2_2I = 'DROIT' 1 P2_2I P3_2I;
  1640. L3_2I = 'DROIT' 1 P3_2I P4_2I;
  1641. L4_2I = 'DROIT' 1 P4_2I P1_2I;
  1642. *
  1643. L1_3I = 'DROIT' 1 P1_3I P2_3I;
  1644. L2_3I = 'DROIT' 1 P2_3I P3_3I;
  1645. L3_3I = 'DROIT' 1 P3_3I P4_3I;
  1646. L4_3I = 'DROIT' 1 P4_3I P1_3I;
  1647. *
  1648. L1_4I = 'DROIT' 1 P1_4I P2_4I;
  1649. L2_4I = 'DROIT' 1 P2_4I P3_4I;
  1650. L3_4I = 'DROIT' 1 P3_4I P4_4I;
  1651. L4_4I = 'DROIT' 1 P4_4I P1_4I;
  1652. *
  1653. L1_5I = 'DROIT' 1 P1_5I P2_5I;
  1654. L2_5I = 'DROIT' 1 P2_5I P3_5I;
  1655. L3_5I = 'DROIT' 1 P3_5I P4_5I;
  1656. L4_5I = 'DROIT' 1 P4_5I P1_5I;
  1657. *
  1658. L1_6I = 'DROIT' 1 P1_6I P2_6I;
  1659. L2_6I = 'DROIT' 1 P2_6I P3_6I;
  1660. L3_6I = 'DROIT' 1 P3_6I P4_6I;
  1661. L4_6I = 'DROIT' 1 P4_6I P1_6I;
  1662. *
  1663. L1_7I = 'DROIT' 1 P1_7I P2_7I;
  1664. L2_7I = 'DROIT' 1 P2_7I P3_7I;
  1665. L3_7I = 'DROIT' 1 P3_7I P4_7I;
  1666. L4_7I = 'DROIT' 1 P4_7I P1_7I;
  1667. *
  1668. L1_8I = 'DROIT' 1 P1_8I P2_8I;
  1669. L2_8I = 'DROIT' 1 P2_8I P3_8I;
  1670. L3_8I = 'DROIT' 1 P3_8I P4_8I;
  1671. L4_8I = 'DROIT' 1 P4_8I P1_8I;
  1672. *
  1673. * definition des elements
  1674. OPTI ELEM QUA4;
  1675. ELE1_1E = 'DALL' L1_1E L2_1E L3_1E L4_1E;
  1676. ELE1_2E = 'DALL' L1_2E L2_2E L3_2E L4_2E;
  1677. ELE1_3E = 'DALL' L1_3E L2_3E L3_3E L4_3E;
  1678. ELE1_4E = 'DALL' L1_4E L2_4E L3_4E L4_4E;
  1679. ELE1_5E = 'DALL' L1_5E L2_5E L3_5E L4_5E;
  1680. ELE1_6E = 'DALL' L1_6E L2_6E L3_6E L4_6E;
  1681. ELE1_7E = 'DALL' L1_7E L2_7E L3_7E L4_7E;
  1682. ELE1_8E = 'DALL' L1_8E L2_8E L3_8E L4_8E;
  1683. *
  1684. ELE1_1I = 'DALL' L1_1I L2_1I L3_1I L4_1I;
  1685. ELE1_2I = 'DALL' L1_2I L2_2I L3_2I L4_2I;
  1686. ELE1_3I = 'DALL' L1_3I L2_3I L3_3I L4_3I;
  1687. ELE1_4I = 'DALL' L1_4I L2_4I L3_4I L4_4I;
  1688. ELE1_5I = 'DALL' L1_5I L2_5I L3_5I L4_5I;
  1689. ELE1_6I = 'DALL' L1_6I L2_6I L3_6I L4_6I;
  1690. ELE1_7I = 'DALL' L1_7I L2_7I L3_7I L4_7I;
  1691. ELE1_8I = 'DALL' L1_8I L2_8I L3_8I L4_8I;
  1692. *
  1693. * update maillage
  1694. MAI2E = MAI2E 'ET' ELE1_1E 'ET' ELE1_2E 'ET' ELE1_3E 'ET' ELE1_4E
  1695. 'ET' ELE1_5E 'ET' ELE1_6E 'ET' ELE1_7E 'ET' ELE1_8E;
  1696. *
  1697. MAI2I = MAI2I 'ET' ELE1_1I 'ET' ELE1_2I 'ET' ELE1_3I 'ET' ELE1_4I
  1698. 'ET' ELE1_5I 'ET' ELE1_6I 'ET' ELE1_7I 'ET' ELE1_8I;
  1699. 'SI' (II1 'EGA' ND1);
  1700. II1 = 1;
  1701. JJ1 = JJ1 + 1;
  1702. 'SINON';
  1703. II1 = II1 + 1;
  1704. 'FINSI';
  1705. 'FIN' IND1;
  1706. 'ELIM' 0.001 MAI2E;
  1707. 'ELIM' 0.001 MAI2I;
  1708. *
  1709. TT1.'ELLIPSOIDE_E' = MAI2E;
  1710. TT1.'ELLIPSOIDE_I' = MAI2I;
  1711. *
  1712. * definition maillage pour l'enveloppe rectangulaire
  1713. MAI3E = 'VIDE' 'MAILLAGE';
  1714. MAI3I = 'VIDE' 'MAILLAGE';
  1715. *
  1716. * definition des points
  1717. PPS1E = (((-1.0)*((N11N11E )**(0.5))) + N110E)
  1718. (((-1.0)*((N22N22E )**(0.5))) + N220E)
  1719. (((-1.0)*((N12N12E )**(0.5))) + N120E);
  1720. PPS2E = (((1.0)*((N11N11E )**(0.5))) + N110E)
  1721. (((-1.0)*((N22N22E )**(0.5))) + N220E)
  1722. (((-1.0)*((N12N12E )**(0.5))) + N120E);
  1723. PPS3E = (((1.0)*((N11N11E )**(0.5))) + N110E)
  1724. (((1.0)*((N22N22E )**(0.5))) + N220E)
  1725. (((-1.0)*((N12N12E )**(0.5))) + N120E);
  1726. PPS4E = (((-1.0)*((N11N11E )**(0.5))) + N110E)
  1727. (((1.0)*((N22N22E )**(0.5))) + N220E)
  1728. (((-1.0)*((N12N12E )**(0.5))) + N120E);
  1729. PPS5E = (((-1.0)*((N11N11E )**(0.5))) + N110E)
  1730. (((-1.0)*((N22N22E )**(0.5))) + N220E)
  1731. (((1.0)*((N12N12E )**(0.5))) + N120E);
  1732. PPS6E = (((1.0)*((N11N11E )**(0.5))) + N110E)
  1733. (((-1.0)*((N22N22E )**(0.5))) + N220E)
  1734. (((1.0)*((N12N12E )**(0.5))) + N120E);
  1735. PPS7E = (((1.0)*((N11N11E )**(0.5))) + N110E)
  1736. (((1.0)*((N22N22E )**(0.5))) + N220E)
  1737. (((1.0)*((N12N12E )**(0.5))) + N120E);
  1738. PPS8E = (((-1.0)*((N11N11E )**(0.5))) + N110E)
  1739. (((1.0)*((N22N22E )**(0.5))) + N220E)
  1740. (((1.0)*((N12N12E )**(0.5))) + N120E);
  1741. *
  1742. PPS1I = (((-1.0)*((N11N11I )**(0.5))) + N110I)
  1743. (((-1.0)*((N22N22I )**(0.5))) + N220I)
  1744. (((-1.0)*((N12N12I )**(0.5))) + N120I);
  1745. PPS2I = (((1.0)*((N11N11I )**(0.5))) + N110I)
  1746. (((-1.0)*((N22N22I )**(0.5))) + N220I)
  1747. (((-1.0)*((N12N12I )**(0.5))) + N120I);
  1748. PPS3I = (((1.0)*((N11N11I )**(0.5))) + N110I)
  1749. (((1.0)*((N22N22I )**(0.5))) + N220I)
  1750. (((-1.0)*((N12N12I )**(0.5))) + N120I);
  1751. PPS4I = (((-1.0)*((N11N11I )**(0.5))) + N110I)
  1752. (((1.0)*((N22N22I )**(0.5))) + N220I)
  1753. (((-1.0)*((N12N12I )**(0.5))) + N120I);
  1754. PPS5I = (((-1.0)*((N11N11I )**(0.5))) + N110I)
  1755. (((-1.0)*((N22N22I )**(0.5))) + N220I)
  1756. (((1.0)*((N12N12I )**(0.5))) + N120I);
  1757. PPS6I = (((1.0)*((N11N11I )**(0.5))) + N110I)
  1758. (((-1.0)*((N22N22I )**(0.5))) + N220I)
  1759. (((1.0)*((N12N12I )**(0.5))) + N120I);
  1760. PPS7I = (((1.0)*((N11N11I )**(0.5))) + N110I)
  1761. (((1.0)*((N22N22I )**(0.5))) + N220I)
  1762. (((1.0)*((N12N12I )**(0.5))) + N120I);
  1763. PPS8I = (((-1.0)*((N11N11I )**(0.5))) + N110I)
  1764. (((1.0)*((N22N22I )**(0.5))) + N220I)
  1765. (((1.0)*((N12N12I )**(0.5))) + N120I);
  1766. *
  1767. * definition des lignes
  1768. LLS1E = 'DROIT' 8 PPS1E PPS2E;
  1769. LLS2E = 'DROIT' 8 PPS2E PPS3E;
  1770. LLS3E = 'DROIT' 8 PPS3E PPS4E;
  1771. LLS4E = 'DROIT' 8 PPS4E PPS1E;
  1772. LLS5E = 'DROIT' 8 PPS5E PPS6E;
  1773. LLS6E = 'DROIT' 8 PPS6E PPS7E;
  1774. LLS7E = 'DROIT' 8 PPS7E PPS8E;
  1775. LLS8E = 'DROIT' 8 PPS8E PPS5E;
  1776. LLS9E = 'DROIT' 8 PPS1E PPS5E;
  1777. LLS10E = 'DROIT' 8 PPS2E PPS6E;
  1778. LLS11E = 'DROIT' 8 PPS3E PPS7E;
  1779. LLS12E = 'DROIT' 8 PPS4E PPS8E;
  1780. *
  1781. LLS1I = 'DROIT' 8 PPS1I PPS2I;
  1782. LLS2I = 'DROIT' 8 PPS2I PPS3I;
  1783. LLS3I = 'DROIT' 8 PPS3I PPS4I;
  1784. LLS4I = 'DROIT' 8 PPS4I PPS1I;
  1785. LLS5I = 'DROIT' 8 PPS5I PPS6I;
  1786. LLS6I = 'DROIT' 8 PPS6I PPS7I;
  1787. LLS7I = 'DROIT' 8 PPS7I PPS8I;
  1788. LLS8I = 'DROIT' 8 PPS8I PPS5I;
  1789. LLS9I = 'DROIT' 8 PPS1I PPS5I;
  1790. LLS10I = 'DROIT' 8 PPS2I PPS6I;
  1791. LLS11I = 'DROIT' 8 PPS3I PPS7I;
  1792. LLS12I = 'DROIT' 8 PPS4I PPS8I;
  1793. *
  1794. * definition des elements
  1795. SSU1E = 'DALL' LLS1E LLS2E LLS3E LLS4E;
  1796. SSU2E = 'DALL' LLS5E LLS6E LLS7E LLS8E;
  1797. SSU3E = 'DALL' LLS1E LLS10E ('INVE' LLS5E) ('INVE' LLS9E);
  1798. SSU4E = 'DALL' LLS2E LLS11E ('INVE' LLS6E) ('INVE' LLS10E);
  1799. SSU5E = 'DALL' LLS3E LLS12E ('INVE' LLS7E) ('INVE' LLS11E);
  1800. SSU6E = 'DALL' LLS4E LLS9E ('INVE' LLS8E) ('INVE' LLS12E);
  1801. SSU1I = 'DALL' LLS1I LLS2I LLS3I LLS4I;
  1802. SSU2I = 'DALL' LLS5I LLS6I LLS7I LLS8I;
  1803. SSU3I = 'DALL' LLS1I LLS10I ('INVE' LLS5I) ('INVE' LLS9I);
  1804. SSU4I = 'DALL' LLS2I LLS11I ('INVE' LLS6I) ('INVE' LLS10I);
  1805. SSU5I = 'DALL' LLS3I LLS12I ('INVE' LLS7I) ('INVE' LLS11I);
  1806. SSU6I = 'DALL' LLS4I LLS9I ('INVE' LLS8I) ('INVE' LLS12I);
  1807. *
  1808. * definition des elements
  1809. MAI3E = MAI3E ET (SSU1E 'ET' SSU2E 'ET' SSU3E 'ET' SSU4E 'ET'
  1810. SSU5E 'ET' SSU6E);
  1811. MAI3I = MAI3I ET (SSU1I 'ET' SSU2I 'ET' SSU3I 'ET' SSU4I 'ET'
  1812. SSU5I 'ET' SSU6I);
  1813. *
  1814. TT1.'RECTANGLE_E' = MAI3E;
  1815. TT1.'RECTANGLE_I' = MAI3I;
  1816. *
  1817. 'FINSI';
  1818. *
  1819. 'SINON';
  1820. 'SI' ('EGA' TPY1 'COUCHE_COR');
  1821. *
  1822. * -------------- Couche intermediaire ---------------------
  1823. 'SI' ('EXIST' TAB1 'FCK');
  1824. FC1 = TAB1.'FCK';
  1825. 'SI' ('NEG' ('TYPE' FC1) 'FLOTTANT');
  1826. 'MESS' 'Input Error ...';
  1827. 'QUIT' MRCTRACE;
  1828. 'FINSI';
  1829. 'SINON';
  1830. 'MESS' 'Input Error ...';
  1831. 'QUIT' MRCTRACE;
  1832. 'FINSI';
  1833. 'SI' ('EXIST' TAB1 'FSK_T');
  1834. FST = TAB1.'FSK_T';
  1835. 'SI' ('NEG' ('TYPE' FST) 'FLOTTANT');
  1836. 'MESS' 'Input Error ...';
  1837. 'QUIT' MRCTRACE;
  1838. 'FINSI';
  1839. 'SINON';
  1840. 'MESS' 'Input Error ...';
  1841. 'QUIT' MRCTRACE;
  1842. 'FINSI';
  1843. 'SI' ('EXIST' TAB1 'RHO_T');
  1844. RST = TAB1.'RHO_T';
  1845. 'SI' ('NEG' ('TYPE' RST) 'FLOTTANT');
  1846. 'MESS' 'Input Error ...';
  1847. 'QUIT' MRCTRACE;
  1848. 'FINSI';
  1849. 'SINON';
  1850. 'MESS' 'Input Error ...';
  1851. 'QUIT' MRCTRACE;
  1852. 'FINSI';
  1853. 'SI' ('EXIST' TAB1 'GAMMA_C');
  1854. GAMC = TAB1.'GAMMA_C';
  1855. 'SI' ('NEG' ('TYPE' GAMC) 'FLOTTANT');
  1856. 'MESS' 'Input Error ...';
  1857. 'QUIT' MRCTRACE;
  1858. 'FINSI';
  1859. 'SINON';
  1860. 'MESS' 'Input Error ...';
  1861. 'QUIT' MRCTRACE;
  1862. 'FINSI';
  1863. 'SI' ('EXIST' TAB1 'ALPA_C');
  1864. ALP1 = TAB1.'ALPA_C';
  1865. 'SI' ('NEG' ('TYPE' ALP1) 'FLOTTANT');
  1866. 'MESS' 'Input Error ...';
  1867. 'QUIT' MRCTRACE;
  1868. 'FINSI';
  1869. 'SINON';
  1870. 'MESS' 'Input Error ...';
  1871. 'QUIT' MRCTRACE;
  1872. 'FINSI';
  1873. 'SI' ('EXIST' TAB1 'NU_C');
  1874. NU1 = TAB1.'NU_C';
  1875. 'SI' ('NEG' ('TYPE' NU1) 'FLOTTANT');
  1876. 'MESS' 'Input Error ...';
  1877. 'QUIT' MRCTRACE;
  1878. 'FINSI';
  1879. 'SINON';
  1880. 'MESS' 'Input Error ...';
  1881. 'QUIT' MRCTRACE;
  1882. 'FINSI';
  1883. 'SI' ('EXIST' TAB1 'GAMMA_S');
  1884. GAMS = TAB1.'GAMMA_S';
  1885. 'SI' ('NEG' ('TYPE' GAMS) 'FLOTTANT');
  1886. 'MESS' 'Input Error ...';
  1887. 'QUIT' MRCTRACE;
  1888. 'FINSI';
  1889. 'SINON';
  1890. 'MESS' 'Input Error ...';
  1891. 'QUIT' MRCTRACE;
  1892. 'FINSI';
  1893. 'SI' ('EXIST' TAB1 'COT_THETA');
  1894. COTH1 = TAB1.'COT_THETA';
  1895. 'SI' ('NEG' ('TYPE' COTH1) 'FLOTTANT');
  1896. 'MESS' 'Input Error ...';
  1897. 'QUIT' MRCTRACE;
  1898. 'FINSI';
  1899. 'SINON';
  1900. 'MESS' 'Input Error ...';
  1901. 'QUIT' MRCTRACE;
  1902. 'FINSI';
  1903. *
  1904. *
  1905. * Normalissation
  1906. CC1 = 'ENTI' (FC1/100000);
  1907. 'SI' (CC1 > 1);
  1908. FC1 = FC1/100000;
  1909. FST = FST/100000;
  1910. 'FINSI';
  1911. * Determination of resistances (Steel and concrete)
  1912. *
  1913. 'SI' (RST > 0.0);
  1914. FC = ((ALP1)*((FC1)/(GAMC)));
  1915. FGA = ((((FST)*(RST))/(GAMS)))*(COTH1);
  1916. FGB = (((1.0)*(NU1))*(FC))/(COTH1 + ((1.0)/(COTH1)));
  1917. FG1 = 'MINI' ('PROG' FGA FGB);
  1918. 'SINON';
  1919. FG1 = ((0.35)/(GAMC))*((FC1)**(0.5));
  1920. 'FINSI';
  1921. *
  1922. * Determination du domain tau1 et tau2
  1923. *
  1924. NN1 = 120;
  1925. DTH1 = (360.)/(NN1);
  1926. I = 1;
  1927. 'REPE' IND1 (NN1);
  1928. TH1 = DTH1*(I - 1);
  1929. TH2 = DTH1*(I);
  1930. * Definition points
  1931. PP1 = ((COS(TH1))*(FG1)) ((SIN(TH1))*(FG1)) 0.;
  1932. PP2 = ((COS(TH2))*(FG1)) ((SIN(TH2))*(FG1)) 0.;
  1933. * contruction maillaige
  1934. 'SI' (I 'EGA' 1);
  1935. MAI1 = 'DROIT' 1 PP1 PP2;
  1936. 'SINON';
  1937. MAI1 = MAI1 ET ('DROIT' 1 PP1 PP2);
  1938. 'FINSI';
  1939. I = I + 1;
  1940. 'FIN' IND1;
  1941. 'ELIM' 0.0001 MAI1;
  1942. SUR_RES = MAI1;
  1943. *
  1944. * menage
  1945. 'OUBL' MAI1;
  1946. 'OUBL' TH1;
  1947. 'OUBL' TH2;
  1948. 'OUBL' PP1;
  1949. 'OUBL' PP2;
  1950. *
  1951. * Sauvegarde
  1952. TT1 = 'TABLE';
  1953. TT1.'LIMITE_SHEAR' = SUR_RES;
  1954. *
  1955. * Control
  1956. 'SI' ('EXIST' TAB1 'EFFORT_SEISME');
  1957. CHL1 = TAB1.'EFFORT_SEISME';
  1958. 'SI' ('NEG' ('TYPE' CHL1) 'MCHAML');
  1959. 'MESS' 'Input Error ...';
  1960. 'QUIT' MRCTRACE;
  1961. 'FINSI';
  1962. 'FINSI';
  1963. 'SI' ('EXIST ' TAB1 'EFFORT_STATIQUE');
  1964. CHL2 = TAB1.'EFFORT_STATIQUE';
  1965. 'SI' ('NEG' ('TYPE' CHL2) 'MCHAML');
  1966. 'MESS' 'Input Error ...';
  1967. 'QUIT' MRCTRACE;
  1968. 'FINSI';
  1969. 'FINSI';
  1970. 'SI' ('EXIST' TAB1 'ENROBAGE_EXT');
  1971. ENR1E = TAB1.'ENROBAGE_EXT';
  1972. 'SI' ('NEG' ('TYPE' ENR1E) 'FLOTTANT');
  1973. 'MESS' 'Input Error ...';
  1974. 'QUIT' MRCTRACE;
  1975. 'FINSI';
  1976. 'FINSI';
  1977. 'SI' ('EXIST' TAB1 'ENROBAGE_INT');
  1978. ENR1I = TAB1.'ENROBAGE_INT';
  1979. 'SI' ('NEG' ('TYPE' ENR1I) 'FLOTTANT');
  1980. 'MESS' 'Input Error ...';
  1981. 'QUIT' MRCTRACE;
  1982. 'FINSI';
  1983. 'FINSI';
  1984. 'SI' ('EXIST' TAB1 'EPAISSEUR');
  1985. HTOT = TAB1.'EPAISSEUR';
  1986. 'SI' ('NEG' ('TYPE' HTOT) 'FLOTTANT');
  1987. 'MESS' 'Input Error ...';
  1988. 'QUIT' MRCTRACE;
  1989. 'FINSI';
  1990. 'FINSI';
  1991. *
  1992. * Si on trace l'enveloppe des efforts
  1993. 'SI' ('EGA' ('TYPE' (CHL1)) 'MCHAML');
  1994. 'SI' (('NEG' ('TYPE' (ENR1E)) 'FLOTTANT')
  1995. ET ('NEG' ('TYPE' (ENR1E)) 'FLOTTANT'));
  1996. 'MESS' ;
  1997. 'MESS' 'Error...Enrobage manquant';
  1998. 'ERRE' 5;
  1999. 'FINSI';
  2000. *
  2001. * Efforts statiques V10 et V20
  2002. V1T0 = 'EXTR' CHL2 'V1T' 1 1 1;
  2003. V2T0 = 'EXTR' CHL2 'V2T' 1 1 1;
  2004. * Composantes de la matrice caracteristiques
  2005. V1V1 = 'EXTR' CHL1 'CV11' 1 1 1;
  2006. V2V2 = 'EXTR' CHL1 'CV22' 1 1 1;
  2007. V1V2 = 'EXTR' CHL1 'CV12' 1 1 1;
  2008. * bras de levier
  2009. D_1 = HTOT - ((2.0)*(ENR1E)) - ((2.0)*(ENR1E));
  2010. * Cacluls contraintes statiques t10 et t20
  2011. T1T0 = ((V1T0)/((D_1)));
  2012. T2T0 = ((V2T0)/((D_1)));
  2013. * CAlculs des contraintes dynamiques
  2014. T1T1 = ((V1V1)/(((D_1))**(2)));
  2015. T2T2 = ((V2V2)/(((D_1))**(2)));
  2016. T1T2 = ((V1V2)/(((D_1))**(2)));
  2017. *
  2018. * Scaling
  2019. * CC1 = 'ENTI' (FC1/100000);
  2020. 'SI' (CC1 > 1);
  2021. T1T0 = T1T0/100000;
  2022. T2T0 = T2T0/100000;
  2023. *
  2024. T1T1 = ((T1T1)/((100000)**(2.0)));
  2025. T2T2 = ((T2T2)/((100000)**(2.0)));
  2026. T1T2 = ((T1T2)/((100000)**(2.0)));
  2027. 'FINSI';
  2028. MAI1 = 0. 0. 0.;
  2029. * Resultion des problemes au valeurs propres
  2030. MATXE = 'VIDE' 'RIGIDITE'/'RIGIDITE';
  2031. MATXE = MATXE 'ET' ('MANU' 'RIGIDITE' MAI1 ('MOTS' 'UX' 'UY')
  2032. ('PROG' T1T1 T1T2
  2033. T1T2 T2T2));
  2034. NORMATXE =
  2035. (((T1T1)**(2.0)) + ((T1T2)**(2.0)) +
  2036. ((T1T2)**(2.0)) + ((T2T2)**(2.0)))**(0.5);
  2037. *
  2038. 'SI' (NORMATXE 'EGA' 0.0);
  2039. NORMATXE = 1.0;
  2040. 'FINSI';
  2041. XIDE1 = ('MASS' 'UX' MAI1 1.0) 'ET' (MASS 'UY' MAI1 1.0);
  2042. *
  2043. EIGE = 'VIBR' 'INTERVALLE' 0. 20000. 'BASSE' 2 (MATXE/NORMATXE)
  2044. XIDE1 'IMPR' 'MULT';
  2045. *
  2046. 'SI' ('EXIST' (EIGE.MODES) 1);
  2047. LAM1E = ((EIGE.MODES. 1 .FREQUENCE)*((2.0)*(PI)))**(2.0);
  2048. NORVEC1E =
  2049. ((('EXTR' (EIGE.MODES. 1 .DEFORMEE_MODALE) MAI1 'UX')**(2))
  2050. + (('EXTR' (EIGE.MODES. 1 .DEFORMEE_MODALE) MAI1 'UY')**(2)))
  2051. **(0.5);
  2052. VECT1E = (EIGE.MODES. 1 .DEFORMEE_MODALE)/(NORVEC1E);
  2053. 'SINON';
  2054. LAM1E = 0.0;
  2055. NORVEC1E = 0.0;
  2056. VECT1E = MANU CHPO MAI1 3 'UX' 0.0 'UY' 0.0;
  2057. 'FINSI';
  2058. 'SI' ('EXIST' (EIGE.MODES) 2);
  2059. LAM2E = ((EIGE.MODES. 2 .FREQUENCE)*((2.0)*(PI)))**(2.0);
  2060. NORVEC2E =
  2061. ((('EXTR' (EIGE.MODES. 2 .DEFORMEE_MODALE) MAI1 'UX')**(2))
  2062. + (('EXTR' (EIGE.MODES. 2 .DEFORMEE_MODALE) MAI1 'UY')**(2)))
  2063. **(0.5);
  2064. VECT2E = (EIGE.MODES. 2 .DEFORMEE_MODALE)/(NORVEC1E);
  2065. 'SINON';
  2066. LAM2E = 0.0;
  2067. NORVEC2E = 0.0;
  2068. VECT2E = MANU CHPO MAI1 3 'UX' 0.0 'UY' 0.0;
  2069. 'FINSI';
  2070. * determination des autovaleur
  2071. LAM1E = ((NORMATXE)*(LAM1E));
  2072. LAM2E = ((NORMATXE)*(LAM2E));
  2073. *
  2074. LL1E = (LAM1E)**(0.5);
  2075. LL2E = (LAM2E)**(0.5);
  2076. * determination des autovecteur
  2077. VECT1EX = 'EXTR' VECT1E 'UX' MAI1;
  2078. VECT1EY = 'EXTR' VECT1E 'UY' MAI1;
  2079. VECT2EX = 'EXTR' VECT2E 'UX' MAI1;
  2080. VECT2EY = 'EXTR' VECT2E 'UY' MAI1;
  2081. *
  2082. *
  2083. MAI2E = 'VIDE' MAILLAGE;
  2084. ND1 = 120;
  2085. LL_FHI1 = 'PROG' 0. 'PAS' (360./ND1) 360.;
  2086. II1 = 1;
  2087. * definition de la surface ultime
  2088. 'REPE' IND1 (ND1);
  2089. VAL_FHI1 = ('EXTR' LL_FHI1 (II1));
  2090. X1_1EL = (((LL1E)*(COS(VAL_FHI1))));
  2091. Y1_1EL = (((LL2E)*(SIN(VAL_FHI1))));
  2092. *
  2093. VAL_FHI1 = ('EXTR' LL_FHI1 (II1 + 1));
  2094. X2_1EL = (((LL1E)*(COS(VAL_FHI1))));
  2095. Y2_1EL = (((LL2E)*(SIN(VAL_FHI1))));
  2096. X1_1E = ((X1_1EL)*(VECT1EX)) + ((Y1_1EL)*(VECT2EX));
  2097. Y1_1E = ((X1_1EL)*(VECT1EY)) + ((Y1_1EL)*(VECT2EY));
  2098. X2_1E = ((X2_1EL)*(VECT1EX)) + ((Y2_1EL)*(VECT2EX));
  2099. Y2_1E = ((X2_1EL)*(VECT1EY)) + ((Y2_1EL)*(VECT2EY));
  2100. *
  2101. P1_1E = (X1_1E + T1T0) (Y1_1E + T2T0) (0.0);
  2102. P2_1E = (X2_1E + T1T0) (Y2_1E + T2T0) (0.0);
  2103. *
  2104. 'OPTI' 'ELEM' SEG2;
  2105. L1_1E = 'DROIT' 1 P1_1E P2_1E;
  2106. *
  2107. MAI2E = MAI2E ET L1_1E;
  2108. *
  2109. II1 = II1 + 1;
  2110. 'FIN' IND1;
  2111. 'ELIM' 0.001 MAI2E;
  2112. *
  2113. * sauvegarde ellipsoide
  2114. TT1.'ELLIPSOIDE_SHEAR' = MAI2E;
  2115. *
  2116. MAI3E = 'VIDE' 'MAILLAGE';
  2117. *
  2118. * definition points
  2119. PPS1E = (((-1.0)*((T1T1 )**(0.5))) + T1T0)
  2120. (((-1.0)*((T2T2 )**(0.5))) + T2T0) 0.0;
  2121. PPS2E = (((1.0)*((T1T1 )**(0.5))) + T1T0)
  2122. (((-1.0)*((T2T2 )**(0.5))) + T2T0) 0.0;
  2123. PPS3E = (((1.0)*((T1T1 )**(0.5))) + T1T0)
  2124. (((1.0)*((T2T2 )**(0.5))) + T2T0) 0.0;
  2125. PPS4E = (((-1.0)*((T1T1 )**(0.5))) + T1T0)
  2126. (((1.0)*((T2T2 )**(0.5))) + T2T0) 0.0;
  2127. *
  2128. * definition lignes
  2129. LLS1E = 'DROIT' 8 PPS1E PPS2E;
  2130. LLS2E = 'DROIT' 8 PPS2E PPS3E;
  2131. LLS3E = 'DROIT' 8 PPS3E PPS4E;
  2132. LLS4E = 'DROIT' 8 PPS4E PPS1E;
  2133. *
  2134. * siurface rectangle
  2135. MAI3E = MAI3E ET (LLS1E ET LLS2E ET LLS3E ET LLS4E);
  2136. *
  2137. * sauvegarde
  2138. TT1.'RECTANGLE_SHEAR' = MAI3E;
  2139. *
  2140. 'FINSI';
  2141. *
  2142. 'FINSI';
  2143. 'FINSI';
  2144. FINPROC TT1;
  2145.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales