Télécharger dcov3.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : dcov3.dgibi
  2. 'OPTI' 'DIME' 3 'ELEM' 'CUB8' ;
  3. *
  4. DX = 2.D0 ;
  5. NX = 1 ;
  6. NY = 1 ;
  7. NZ = 1 ;
  8. *
  9. PBG = 0.D0 0.D0 0.D0 ;
  10. PBD = DX 0.D0 0.D0 ;
  11. PHG = 0.D0 DX 0.D0 ;
  12. PHD = DX DX 0.D0 ;
  13. *
  14. LB = PBG 'DROI' NX PBD ;
  15. LH = PHG 'DROI' NX PHD ;
  16. *
  17. CARREB = LB 'REGLER' NY LH ;
  18. CARREH = CARREB 'PLUS' (0.D0 0.D0 DX) ;
  19. *
  20. PAVE = CARREB 'VOLU' NZ CARREH ;
  21. PAVEP = 'CHAN' PAVE POI1 ;
  22. *
  23. ZSIG = 0.5D0 ;
  24. ZL1 = 3.D0 ;
  25. ZL2 = 12.D0 ;
  26. ZL3 = 18.D0 ;
  27. ANGL1 = 30.D0 ;
  28. ANGL2 = 60.D0 ;
  29. XE1 = ('COS' ANGL1) * ('COS' ANGL2) ;
  30. YE1 = ('SIN' ANGL1) * ('COS' ANGL2) ;
  31. ZE1 = ('SIN' ANGL2) ;
  32. VE1 = XE1 YE1 ZE1 ;
  33. XE2 = ('SIN' (-1.D0 * ANGL1)) ;
  34. YE2 = ('COS' ANGL1) ;
  35. ZE2 = 0.D0 ;
  36. VE2 = XE2 YE2 ZE2 ;
  37. XE3 = (YE1 * ZE2) - (YE2 * ZE1) ;
  38. YE3 = (ZE1 * XE2) - (ZE2 * XE1) ;
  39. ZE3 = (XE1 * YE2) - (XE2 * YE1) ;
  40. *
  41. NN = 'NBNO' PAVE ;
  42. NN1 = ('NBNO' PAVE) - 1 ;
  43. NN2 = ('NBNO' PAVE) - 2 ;
  44. *
  45. PHI = TABLE ;
  46. PHI.1 = 'PROG' 1.D0 NN1*0.D0 ;
  47. I = 1 ;
  48. 'REPE' BLOC NN2 ;
  49. PHI.(I + 1) = 'PROG' I*0.D0 1.D0 (NN1 - I)*0.D0 ;
  50. I = I + 1 ;
  51. 'FIN' BLOC ;
  52. PHI.NN = 'PROG' NN1*0.D0 1.D0 ;
  53. *
  54. PSI = TABLE ;
  55. I = 1 ;
  56. 'REPE' BLOC NN ;
  57. PSI.I = 'MANU' 'CHPO' PAVEP 1 'SCAL' PHI.I ;
  58. I = I + 1 ;
  59. 'FIN' BLOC ;
  60. *
  61. *
  62. *
  63. MMEIC = 'DCOV' PAVE 'EXPO' 'SIGMA' ZSIG 'LAMBDA' ZL1 ;
  64. *
  65. YYEICT = TABLE ;
  66. I = 1 ;
  67. 'REPE' BLOC NN ;
  68. YYEICT.I = MMEIC * (PSI.I) ;
  69. I = I + 1 ;
  70. 'FIN' BLOC ;
  71. *
  72. YYEIC = TABLE ;
  73. I = 1 ;
  74. 'REPE' BLOCI NN ;
  75. YYEICI = 'MAXI' ('REDU' YYEICT.1 ('POIN' PAVEP I)) ;
  76. YYEIC.I = 'MANU' 'CHPO' ('POIN' PAVEP 1) 1 'SCAL' ('PROG' YYEICI)
  77. 'NATURE' 'DISCRET' ;
  78. J = 2 ;
  79. 'REPE' BLOCJ NN1 ;
  80. YYEICI = 'MAXI' ('REDU' YYEICT.J ('POIN' PAVEP I)) ;
  81. YYEICI = 'MANU' 'CHPO' ('POIN' PAVEP J) 1 'SCAL' ('PROG' YYEICI)
  82. 'NATURE' 'DISCRET' ;
  83. YYEIC.I = YYEIC.I 'ET' YYEICI ;
  84. J = J + 1 ;
  85. 'FIN' BLOCJ ;
  86. I = I + 1 ;
  87. 'FIN' BLOCI ;
  88. *
  89. CCEIC = TABLE ;
  90. I = 1 ;
  91. 'REPE' BLOCI NN ;
  92. CCEIC.I = TABLE ;
  93. J = 1 ;
  94. 'REPE' BLOCJ NN ;
  95. CCEIC.I.J = 'MAXI' ('RESU' (YYEIC.I * YYEIC.J)) ;
  96. J = J + 1 ;
  97. 'FIN' BLOCJ ;
  98. I = I + 1 ;
  99. 'FIN' BLOCI ;
  100. *
  101. CCEIT = TABLE ;
  102. I = 1 ;
  103. 'REPE' BLOCI NN ;
  104. CCEIT.I = TABLE ;
  105. XXI = 'COOR' 1 ('POIN' PAVEP I) ;
  106. YYI = 'COOR' 2 ('POIN' PAVEP I) ;
  107. ZZI = 'COOR' 3 ('POIN' PAVEP I) ;
  108. J = 1 ;
  109. 'REPE' BLOCJ NN ;
  110. XXJ = 'COOR' 1 ('POIN' PAVEP J) ;
  111. YYJ = 'COOR' 2 ('POIN' PAVEP J) ;
  112. ZZJ = 'COOR' 3 ('POIN' PAVEP J) ;
  113. DXIJ = XXI - XXJ ;
  114. DYIJ = YYI - YYJ ;
  115. DZIJ = ZZI - ZZJ ;
  116. RRIJ = ((DXIJ*DXIJ) + (DYIJ * DYIJ) + (DZIJ * DZIJ)) ** 0.5D0 ;
  117. CCEIT.I.J = ZSIG * ZSIG * ('EXP' (-1.D0 * RRIJ / ZL1)) ;
  118. J = J + 1 ;
  119. 'FIN' BLOCJ ;
  120. I = I + 1 ;
  121. 'FIN' BLOCI ;
  122. *
  123. I = 1 ;
  124. 'REPE' BLOCI NN ;
  125. J = 1 ;
  126. 'REPE' BLOCJ NN ;
  127. ECART = 'ABS' ((CCEIC.I.J - CCEIT.I.J) / CCEIT.I.J) ;
  128. 'SI' (ECART > 1.D-12) ;
  129. 'ERRE' 5 ;
  130. 'FINSI' ;
  131. J = J + 1 ;
  132. 'FIN' BLOCJ ;
  133. I = I + 1 ;
  134. 'FIN' BLOCI ;
  135. *
  136. MMEAC = 'DCOV' PAVE 'EXPO' 'SIGMA' ZSIG
  137. 'LAMBDA1' ZL1 'LAMBDA2' ZL2 'LAMBDA3' ZL3 ;
  138. *
  139. YYEACT = TABLE ;
  140. I = 1 ;
  141. 'REPE' BLOC NN ;
  142. YYEACT.I = MMEAC * (PSI.I) ;
  143. I = I + 1 ;
  144. 'FIN' BLOC ;
  145. *
  146. YYEAC = TABLE ;
  147. I = 1 ;
  148. 'REPE' BLOCI NN ;
  149. YYEACI = 'MAXI' ('REDU' YYEACT.1 ('POIN' PAVEP I)) ;
  150. YYEAC.I = 'MANU' 'CHPO' ('POIN' PAVEP 1) 1 'SCAL' ('PROG' YYEACI)
  151. 'NATURE' 'DISCRET' ;
  152. J = 2 ;
  153. 'REPE' BLOCJ NN1 ;
  154. YYEACI = 'MAXI' ('REDU' YYEACT.J ('POIN' PAVEP I)) ;
  155. YYEACI = 'MANU' 'CHPO' ('POIN' PAVEP J) 1 'SCAL' ('PROG' YYEACI)
  156. 'NATURE' 'DISCRET' ;
  157. YYEAC.I = YYEAC.I 'ET' YYEACI ;
  158. J = J + 1 ;
  159. 'FIN' BLOCJ ;
  160. I = I + 1 ;
  161. 'FIN' BLOCI ;
  162. *
  163. CCEAC = TABLE ;
  164. I = 1 ;
  165. 'REPE' BLOCI NN ;
  166. CCEAC.I = TABLE ;
  167. J = 1 ;
  168. 'REPE' BLOCJ NN ;
  169. CCEAC.I.J = 'MAXI' ('RESU' (YYEAC.I * YYEAC.J)) ;
  170. J = J + 1 ;
  171. 'FIN' BLOCJ ;
  172. I = I + 1 ;
  173. 'FIN' BLOCI ;
  174. *
  175. CCEAT = TABLE ;
  176. I = 1 ;
  177. 'REPE' BLOCI NN ;
  178. CCEAT.I = TABLE ;
  179. XXI = 'COOR' 1 ('POIN' PAVEP I) ;
  180. YYI = 'COOR' 2 ('POIN' PAVEP I) ;
  181. ZZI = 'COOR' 3 ('POIN' PAVEP I) ;
  182. J = 1 ;
  183. 'REPE' BLOCJ NN ;
  184. XXJ = 'COOR' 1 ('POIN' PAVEP J) ;
  185. YYJ = 'COOR' 2 ('POIN' PAVEP J) ;
  186. ZZJ = 'COOR' 3 ('POIN' PAVEP J) ;
  187. DXIJ2 = ((XXI - XXJ) / ZL1) ** 2 ;
  188. DYIJ2 = ((YYI - YYJ) / ZL2) ** 2 ;
  189. DZIJ2 = ((ZZI - ZZJ) / ZL3) ** 2 ;
  190. RRIJ = (DXIJ2 + DYIJ2 + DZIJ2) ** 0.5D0 ;
  191. CCEAT.I.J = ZSIG * ZSIG * ('EXP' (-1.D0 * RRIJ )) ;
  192. J = J + 1 ;
  193. 'FIN' BLOCJ ;
  194. I = I + 1 ;
  195. 'FIN' BLOCI ;
  196. *
  197. I = 1 ;
  198. 'REPE' BLOCI NN ;
  199. J = 1 ;
  200. 'REPE' BLOCJ NN ;
  201. ECART = 'ABS' ((CCEAC.I.J - CCEAT.I.J) / CCEAT.I.J) ;
  202. 'SI' (ECART > 1.D-12) ;
  203. 'ERRE' 5 ;
  204. 'FINSI' ;
  205. J = J + 1 ;
  206. 'FIN' BLOCJ ;
  207. I = I + 1 ;
  208. 'FIN' BLOCI ;
  209. *
  210. MMEDC = 'DCOV' PAVE 'EXPO' 'SIGMA' ZSIG
  211. 'LAMBDA1' ZL1 'LAMBDA2' ZL2 'LAMBDA3' ZL3 'DIRECTION' VE1 VE2 ;
  212. *
  213. YYEDCT = TABLE ;
  214. I = 1 ;
  215. 'REPE' BLOC NN ;
  216. YYEDCT.I = MMEDC * (PSI.I) ;
  217. I = I + 1 ;
  218. 'FIN' BLOC ;
  219. *
  220. YYEDC = TABLE ;
  221. I = 1 ;
  222. 'REPE' BLOCI NN ;
  223. YYEDCI = 'MAXI' ('REDU' YYEDCT.1 ('POIN' PAVEP I)) ;
  224. YYEDC.I = 'MANU' 'CHPO' ('POIN' PAVEP 1) 1 'SCAL' ('PROG' YYEDCI)
  225. 'NATURE' 'DISCRET' ;
  226. J = 2 ;
  227. 'REPE' BLOCJ NN1 ;
  228. YYEDCI = 'MAXI' ('REDU' YYEDCT.J ('POIN' PAVEP I)) ;
  229. YYEDCI = 'MANU' 'CHPO' ('POIN' PAVEP J) 1 'SCAL' ('PROG' YYEDCI)
  230. 'NATURE' 'DISCRET' ;
  231. YYEDC.I = YYEDC.I 'ET' YYEDCI ;
  232. J = J + 1 ;
  233. 'FIN' BLOCJ ;
  234. I = I + 1 ;
  235. 'FIN' BLOCI ;
  236. *
  237. CCEDC = TABLE ;
  238. I = 1 ;
  239. 'REPE' BLOCI NN ;
  240. CCEDC.I = TABLE ;
  241. J = 1 ;
  242. 'REPE' BLOCJ NN ;
  243. CCEDC.I.J = 'MAXI' ('RESU' (YYEDC.I * YYEDC.J)) ;
  244. J = J + 1 ;
  245. 'FIN' BLOCJ ;
  246. I = I + 1 ;
  247. 'FIN' BLOCI ;
  248. *
  249. CCEDT = TABLE ;
  250. I = 1 ;
  251. 'REPE' BLOCI NN ;
  252. CCEDT.I = TABLE ;
  253. XXI = 'COOR' 1 ('POIN' PAVEP I) ;
  254. YYI = 'COOR' 2 ('POIN' PAVEP I) ;
  255. ZZI = 'COOR' 3 ('POIN' PAVEP I) ;
  256. J = 1 ;
  257. 'REPE' BLOCJ NN ;
  258. XXJ = 'COOR' 1 ('POIN' PAVEP J) ;
  259. YYJ = 'COOR' 2 ('POIN' PAVEP J) ;
  260. ZZJ = 'COOR' 3 ('POIN' PAVEP J) ;
  261. DXIJ2 =
  262. (((XXI - XXJ) * XE1) + ((YYI - YYJ) * YE1) + ((ZZI - ZZJ) * ZE1)
  263. / ZL1) ** 2 ;
  264. DYIJ2 =
  265. (((XXI - XXJ) * XE2) + ((YYI - YYJ) * YE2) + ((ZZI - ZZJ) * ZE2)
  266. / ZL2) ** 2 ;
  267. DZIJ2 =
  268. (((XXI - XXJ) * XE3) + ((YYI - YYJ) * YE3) + ((ZZI - ZZJ) * ZE3)
  269. / ZL3) ** 2 ;
  270. RRIJ = (DXIJ2 + DYIJ2 + DZIJ2) ** 0.5D0 ;
  271. CCEDT.I.J = ZSIG * ZSIG * ('EXP' (-1.D0 * RRIJ )) ;
  272. J = J + 1 ;
  273. 'FIN' BLOCJ ;
  274. I = I + 1 ;
  275. 'FIN' BLOCI ;
  276. *
  277. I = 1 ;
  278. 'REPE' BLOCI NN ;
  279. J = 1 ;
  280. 'REPE' BLOCJ NN ;
  281. ECART = 'ABS' ((CCEDC.I.J - CCEDT.I.J) / CCEDT.I.J) ;
  282. 'SI' (ECART > 1.D-12) ;
  283. 'ERRE' 5 ;
  284. 'FINSI' ;
  285. J = J + 1 ;
  286. 'FIN' BLOCJ ;
  287. I = I + 1 ;
  288. 'FIN' BLOCI ;
  289. *
  290. *
  291. MMGIC = 'DCOV' PAVE 'GAUS' 'SIGMA' ZSIG 'LAMBDA' ZL1 ;
  292. *
  293. YYGICT = TABLE ;
  294. I = 1 ;
  295. 'REPE' BLOC NN ;
  296. YYGICT.I = MMGIC * (PSI.I) ;
  297. I = I + 1 ;
  298. 'FIN' BLOC ;
  299. *
  300. YYGIC = TABLE ;
  301. I = 1 ;
  302. 'REPE' BLOCI NN ;
  303. YYGICI = 'MAXI' ('REDU' YYGICT.1 ('POIN' PAVEP I)) ;
  304. YYGIC.I = 'MANU' 'CHPO' ('POIN' PAVEP 1) 1 'SCAL' ('PROG' YYGICI)
  305. 'NATURE' 'DISCRET' ;
  306. J = 2 ;
  307. 'REPE' BLOCJ NN1 ;
  308. YYGICI = 'MAXI' ('REDU' YYGICT.J ('POIN' PAVEP I)) ;
  309. YYGICI = 'MANU' 'CHPO' ('POIN' PAVEP J) 1 'SCAL' ('PROG' YYGICI)
  310. 'NATURE' 'DISCRET' ;
  311. YYGIC.I = YYGIC.I 'ET' YYGICI ;
  312. J = J + 1 ;
  313. 'FIN' BLOCJ ;
  314. I = I + 1 ;
  315. 'FIN' BLOCI ;
  316. *
  317. CCGIC = TABLE ;
  318. I = 1 ;
  319. 'REPE' BLOCI NN ;
  320. CCGIC.I = TABLE ;
  321. J = 1 ;
  322. 'REPE' BLOCJ NN ;
  323. CCGIC.I.J = 'MAXI' ('RESU' (YYGIC.I * YYGIC.J)) ;
  324. J = J + 1 ;
  325. 'FIN' BLOCJ ;
  326. I = I + 1 ;
  327. 'FIN' BLOCI ;
  328. *
  329. CCGIT = TABLE ;
  330. I = 1 ;
  331. 'REPE' BLOCI NN ;
  332. CCGIT.I = TABLE ;
  333. XXI = 'COOR' 1 ('POIN' PAVEP I) ;
  334. YYI = 'COOR' 2 ('POIN' PAVEP I) ;
  335. ZZI = 'COOR' 3 ('POIN' PAVEP I) ;
  336. J = 1 ;
  337. 'REPE' BLOCJ NN ;
  338. XXJ = 'COOR' 1 ('POIN' PAVEP J) ;
  339. YYJ = 'COOR' 2 ('POIN' PAVEP J) ;
  340. ZZJ = 'COOR' 3 ('POIN' PAVEP J) ;
  341. DXIJ = XXI - XXJ ;
  342. DYIJ = YYI - YYJ ;
  343. DZIJ = ZZI - ZZJ ;
  344. RRIJ = (DXIJ*DXIJ) + (DYIJ * DYIJ) + (DZIJ * DZIJ) ;
  345. CCGIT.I.J = ZSIG * ZSIG * ('EXP' (-1.D0 * RRIJ / ZL1)) ;
  346. J = J + 1 ;
  347. 'FIN' BLOCJ ;
  348. I = I + 1 ;
  349. 'FIN' BLOCI ;
  350. *
  351. I = 1 ;
  352. 'REPE' BLOCI NN ;
  353. J = 1 ;
  354. 'REPE' BLOCJ NN ;
  355. ECART = 'ABS' ((CCGIC.I.J - CCGIT.I.J) / CCGIT.I.J) ;
  356. 'SI' (ECART > 1.D-12) ;
  357. 'ERRE' 5 ;
  358. 'FINSI' ;
  359. J = J + 1 ;
  360. 'FIN' BLOCJ ;
  361. I = I + 1 ;
  362. 'FIN' BLOCI ;
  363. *
  364. MMGAC = 'DCOV' PAVE 'GAUS' 'SIGMA' ZSIG
  365. 'LAMBDA1' ZL1 'LAMBDA2' ZL2'LAMBDA3' ZL3 ;
  366. *
  367. YYGACT = TABLE ;
  368. I = 1 ;
  369. 'REPE' BLOC NN ;
  370. YYGACT.I = MMGAC * (PSI.I) ;
  371. I = I + 1 ;
  372. 'FIN' BLOC ;
  373. *
  374. YYGAC = TABLE ;
  375. I = 1 ;
  376. 'REPE' BLOCI NN ;
  377. YYGACI = 'MAXI' ('REDU' YYGACT.1 ('POIN' PAVEP I)) ;
  378. YYGAC.I = 'MANU' 'CHPO' ('POIN' PAVEP 1) 1 'SCAL' ('PROG' YYGACI)
  379. 'NATURE' 'DISCRET' ;
  380. J = 2 ;
  381. 'REPE' BLOCJ NN1 ;
  382. YYGACI = 'MAXI' ('REDU' YYGACT.J ('POIN' PAVEP I)) ;
  383. YYGACI = 'MANU' 'CHPO' ('POIN' PAVEP J) 1 'SCAL' ('PROG' YYGACI)
  384. 'NATURE' 'DISCRET' ;
  385. YYGAC.I = YYGAC.I 'ET' YYGACI ;
  386. J = J + 1 ;
  387. 'FIN' BLOCJ ;
  388. I = I + 1 ;
  389. 'FIN' BLOCI ;
  390. *
  391. CCGAC = TABLE ;
  392. I = 1 ;
  393. 'REPE' BLOCI NN ;
  394. CCGAC.I = TABLE ;
  395. J = 1 ;
  396. 'REPE' BLOCJ NN ;
  397. CCGAC.I.J = 'MAXI' ('RESU' (YYGAC.I * YYGAC.J)) ;
  398. J = J + 1 ;
  399. 'FIN' BLOCJ ;
  400. I = I + 1 ;
  401. 'FIN' BLOCI ;
  402. *
  403. CCGAT = TABLE ;
  404. I = 1 ;
  405. 'REPE' BLOCI NN ;
  406. CCGAT.I = TABLE ;
  407. XXI = 'COOR' 1 ('POIN' PAVEP I) ;
  408. YYI = 'COOR' 2 ('POIN' PAVEP I) ;
  409. ZZI = 'COOR' 3 ('POIN' PAVEP I) ;
  410. J = 1 ;
  411. 'REPE' BLOCJ NN ;
  412. XXJ = 'COOR' 1 ('POIN' PAVEP J) ;
  413. YYJ = 'COOR' 2 ('POIN' PAVEP J) ;
  414. ZZJ = 'COOR' 3 ('POIN' PAVEP J) ;
  415. DXIJ2 = ((XXI - XXJ) / ZL1) ** 2 ;
  416. DYIJ2 = ((YYI - YYJ) / ZL2) ** 2 ;
  417. DZIJ2 = ((ZZI - ZZJ) / ZL3) ** 2 ;
  418. RRIJ = DXIJ2 + DYIJ2 + DZIJ2 ;
  419. CCGAT.I.J = ZSIG * ZSIG * ('EXP' (-1.D0 * RRIJ )) ;
  420. J = J + 1 ;
  421. 'FIN' BLOCJ ;
  422. I = I + 1 ;
  423. 'FIN' BLOCI ;
  424. *
  425. I = 1 ;
  426. 'REPE' BLOCI NN ;
  427. J = 1 ;
  428. 'REPE' BLOCJ NN ;
  429. ECART = 'ABS' ((CCGAC.I.J - CCGAT.I.J) / CCGAT.I.J) ;
  430. 'SI' (ECART > 1.D-12) ;
  431. 'ERRE' 5 ;
  432. 'FINSI' ;
  433. J = J + 1 ;
  434. 'FIN' BLOCJ ;
  435. I = I + 1 ;
  436. 'FIN' BLOCI ;
  437. *
  438. MMGDC = 'DCOV' PAVE 'GAUS' 'SIGMA' ZSIG
  439. 'LAMBDA1' ZL1 'LAMBDA2' ZL2 'LAMBDA3' ZL3 'DIRECTION' VE1 VE2 ;
  440. *
  441. YYGDCT = TABLE ;
  442. I = 1 ;
  443. 'REPE' BLOC NN ;
  444. YYGDCT.I = MMGDC * (PSI.I) ;
  445. I = I + 1 ;
  446. 'FIN' BLOC ;
  447. *
  448. YYGDC = TABLE ;
  449. I = 1 ;
  450. 'REPE' BLOCI NN ;
  451. YYGDCI = 'MAXI' ('REDU' YYGDCT.1 ('POIN' PAVEP I)) ;
  452. YYGDC.I = 'MANU' 'CHPO' ('POIN' PAVEP 1) 1 'SCAL' ('PROG' YYGDCI)
  453. 'NATURE' 'DISCRET' ;
  454. J = 2 ;
  455. 'REPE' BLOCJ NN1 ;
  456. YYGDCI = 'MAXI' ('REDU' YYGDCT.J ('POIN' PAVEP I)) ;
  457. YYGDCI = 'MANU' 'CHPO' ('POIN' PAVEP J) 1 'SCAL' ('PROG' YYGDCI)
  458. 'NATURE' 'DISCRET' ;
  459. YYGDC.I = YYGDC.I 'ET' YYGDCI ;
  460. J = J + 1 ;
  461. 'FIN' BLOCJ ;
  462. I = I + 1 ;
  463. 'FIN' BLOCI ;
  464. *
  465. CCGDC = TABLE ;
  466. I = 1 ;
  467. 'REPE' BLOCI NN ;
  468. CCGDC.I = TABLE ;
  469. J = 1 ;
  470. 'REPE' BLOCJ NN ;
  471. CCGDC.I.J = 'MAXI' ('RESU' (YYGDC.I * YYGDC.J)) ;
  472. J = J + 1 ;
  473. 'FIN' BLOCJ ;
  474. I = I + 1 ;
  475. 'FIN' BLOCI ;
  476. *
  477. CCGDT = TABLE ;
  478. I = 1 ;
  479. 'REPE' BLOCI NN ;
  480. CCGDT.I = TABLE ;
  481. XXI = 'COOR' 1 ('POIN' PAVEP I) ;
  482. YYI = 'COOR' 2 ('POIN' PAVEP I) ;
  483. ZZI = 'COOR' 3 ('POIN' PAVEP I) ;
  484. J = 1 ;
  485. 'REPE' BLOCJ NN ;
  486. XXJ = 'COOR' 1 ('POIN' PAVEP J) ;
  487. YYJ = 'COOR' 2 ('POIN' PAVEP J) ;
  488. ZZJ = 'COOR' 3 ('POIN' PAVEP J) ;
  489. DXIJ2 =
  490. (((XXI - XXJ) * XE1) + ((YYI - YYJ) * YE1) + ((ZZI - ZZJ) * ZE1)
  491. / ZL1) ** 2 ;
  492. DYIJ2 =
  493. (((XXI - XXJ) * XE2) + ((YYI - YYJ) * YE2) + ((ZZI - ZZJ) * ZE2)
  494. / ZL2) ** 2 ;
  495. DZIJ2 =
  496. (((XXI - XXJ) * XE3) + ((YYI - YYJ) * YE3) + ((ZZI - ZZJ) * ZE3)
  497. / ZL3) ** 2 ;
  498. RRIJ = DXIJ2 + DYIJ2 + DZIJ2 ;
  499. CCGDT.I.J = ZSIG * ZSIG * ('EXP' (-1.D0 * RRIJ )) ;
  500. J = J + 1 ;
  501. 'FIN' BLOCJ ;
  502. I = I + 1 ;
  503. 'FIN' BLOCI ;
  504. *
  505. I = 1 ;
  506. 'REPE' BLOCI NN ;
  507. J = 1 ;
  508. 'REPE' BLOCJ NN ;
  509. ECART = 'ABS' ((CCGDC.I.J - CCGDT.I.J) / CCGDT.I.J) ;
  510. 'SI' (ECART > 1.D-12) ;
  511. 'ERRE' 5 ;
  512. 'FINSI' ;
  513. J = J + 1 ;
  514. 'FIN' BLOCJ ;
  515. I = I + 1 ;
  516. 'FIN' BLOCI ;
  517. *
  518. 'ERRE' 0 ;
  519. *
  520. 'FIN' ;
  521.  
  522.  
  523.  
  524.  
  525.  

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