* fichier : dcov3.dgibi * DX = 2.D0 ; NX = 1 ; NY = 1 ; NZ = 1 ; * PBG = 0.D0 0.D0 0.D0 ; PBD = DX 0.D0 0.D0 ; PHG = 0.D0 DX 0.D0 ; PHD = DX DX 0.D0 ; * * CARREB = LB 'REGLER' NY LH ; * * ZSIG = 0.5D0 ; ZL1 = 3.D0 ; ZL2 = 12.D0 ; ZL3 = 18.D0 ; ANGL1 = 30.D0 ; ANGL2 = 60.D0 ; XE1 = ('COS' ANGL1) * ('COS' ANGL2) ; YE1 = ('SIN' ANGL1) * ('COS' ANGL2) ; ZE1 = ('SIN' ANGL2) ; VE1 = XE1 YE1 ZE1 ; XE2 = ('SIN' (-1.D0 * ANGL1)) ; YE2 = ('COS' ANGL1) ; ZE2 = 0.D0 ; VE2 = XE2 YE2 ZE2 ; XE3 = (YE1 * ZE2) - (YE2 * ZE1) ; YE3 = (ZE1 * XE2) - (ZE2 * XE1) ; ZE3 = (XE1 * YE2) - (XE2 * YE1) ; * * PHI = TABLE ; I = 1 ; 'REPE' BLOC NN2 ; I = I + 1 ; 'FIN' BLOC ; * PSI = TABLE ; I = 1 ; 'REPE' BLOC NN ; I = I + 1 ; 'FIN' BLOC ; * * * * YYEICT = TABLE ; I = 1 ; 'REPE' BLOC NN ; YYEICT.I = MMEIC * (PSI.I) ; I = I + 1 ; 'FIN' BLOC ; * YYEIC = TABLE ; I = 1 ; 'REPE' BLOCI NN ; 'NATURE' 'DISCRET' ; J = 2 ; 'REPE' BLOCJ NN1 ; 'NATURE' 'DISCRET' ; YYEIC.I = YYEIC.I 'ET' YYEICI ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * CCEIC = TABLE ; I = 1 ; 'REPE' BLOCI NN ; CCEIC.I = TABLE ; J = 1 ; 'REPE' BLOCJ NN ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * CCEIT = TABLE ; I = 1 ; 'REPE' BLOCI NN ; CCEIT.I = TABLE ; J = 1 ; 'REPE' BLOCJ NN ; DXIJ = XXI - XXJ ; DYIJ = YYI - YYJ ; DZIJ = ZZI - ZZJ ; RRIJ = ((DXIJ*DXIJ) + (DYIJ * DYIJ) + (DZIJ * DZIJ)) ** 0.5D0 ; CCEIT.I.J = ZSIG * ZSIG * ('EXP' (-1.D0 * RRIJ / ZL1)) ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * I = 1 ; 'REPE' BLOCI NN ; J = 1 ; 'REPE' BLOCJ NN ; ECART = 'ABS' ((CCEIC.I.J - CCEIT.I.J) / CCEIT.I.J) ; 'SI' (ECART > 1.D-12) ; 'FINSI' ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * 'LAMBDA1' ZL1 'LAMBDA2' ZL2 'LAMBDA3' ZL3 ; * YYEACT = TABLE ; I = 1 ; 'REPE' BLOC NN ; YYEACT.I = MMEAC * (PSI.I) ; I = I + 1 ; 'FIN' BLOC ; * YYEAC = TABLE ; I = 1 ; 'REPE' BLOCI NN ; 'NATURE' 'DISCRET' ; J = 2 ; 'REPE' BLOCJ NN1 ; 'NATURE' 'DISCRET' ; YYEAC.I = YYEAC.I 'ET' YYEACI ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * CCEAC = TABLE ; I = 1 ; 'REPE' BLOCI NN ; CCEAC.I = TABLE ; J = 1 ; 'REPE' BLOCJ NN ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * CCEAT = TABLE ; I = 1 ; 'REPE' BLOCI NN ; CCEAT.I = TABLE ; J = 1 ; 'REPE' BLOCJ NN ; DXIJ2 = ((XXI - XXJ) / ZL1) ** 2 ; DYIJ2 = ((YYI - YYJ) / ZL2) ** 2 ; DZIJ2 = ((ZZI - ZZJ) / ZL3) ** 2 ; RRIJ = (DXIJ2 + DYIJ2 + DZIJ2) ** 0.5D0 ; CCEAT.I.J = ZSIG * ZSIG * ('EXP' (-1.D0 * RRIJ )) ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * I = 1 ; 'REPE' BLOCI NN ; J = 1 ; 'REPE' BLOCJ NN ; ECART = 'ABS' ((CCEAC.I.J - CCEAT.I.J) / CCEAT.I.J) ; 'SI' (ECART > 1.D-12) ; 'FINSI' ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * 'LAMBDA1' ZL1 'LAMBDA2' ZL2 'LAMBDA3' ZL3 'DIRECTION' VE1 VE2 ; * YYEDCT = TABLE ; I = 1 ; 'REPE' BLOC NN ; YYEDCT.I = MMEDC * (PSI.I) ; I = I + 1 ; 'FIN' BLOC ; * YYEDC = TABLE ; I = 1 ; 'REPE' BLOCI NN ; 'NATURE' 'DISCRET' ; J = 2 ; 'REPE' BLOCJ NN1 ; 'NATURE' 'DISCRET' ; YYEDC.I = YYEDC.I 'ET' YYEDCI ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * CCEDC = TABLE ; I = 1 ; 'REPE' BLOCI NN ; CCEDC.I = TABLE ; J = 1 ; 'REPE' BLOCJ NN ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * CCEDT = TABLE ; I = 1 ; 'REPE' BLOCI NN ; CCEDT.I = TABLE ; J = 1 ; 'REPE' BLOCJ NN ; DXIJ2 = (((XXI - XXJ) * XE1) + ((YYI - YYJ) * YE1) + ((ZZI - ZZJ) * ZE1) / ZL1) ** 2 ; DYIJ2 = (((XXI - XXJ) * XE2) + ((YYI - YYJ) * YE2) + ((ZZI - ZZJ) * ZE2) / ZL2) ** 2 ; DZIJ2 = (((XXI - XXJ) * XE3) + ((YYI - YYJ) * YE3) + ((ZZI - ZZJ) * ZE3) / ZL3) ** 2 ; RRIJ = (DXIJ2 + DYIJ2 + DZIJ2) ** 0.5D0 ; CCEDT.I.J = ZSIG * ZSIG * ('EXP' (-1.D0 * RRIJ )) ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * I = 1 ; 'REPE' BLOCI NN ; J = 1 ; 'REPE' BLOCJ NN ; ECART = 'ABS' ((CCEDC.I.J - CCEDT.I.J) / CCEDT.I.J) ; 'SI' (ECART > 1.D-12) ; 'FINSI' ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * * * YYGICT = TABLE ; I = 1 ; 'REPE' BLOC NN ; YYGICT.I = MMGIC * (PSI.I) ; I = I + 1 ; 'FIN' BLOC ; * YYGIC = TABLE ; I = 1 ; 'REPE' BLOCI NN ; 'NATURE' 'DISCRET' ; J = 2 ; 'REPE' BLOCJ NN1 ; 'NATURE' 'DISCRET' ; YYGIC.I = YYGIC.I 'ET' YYGICI ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * CCGIC = TABLE ; I = 1 ; 'REPE' BLOCI NN ; CCGIC.I = TABLE ; J = 1 ; 'REPE' BLOCJ NN ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * CCGIT = TABLE ; I = 1 ; 'REPE' BLOCI NN ; CCGIT.I = TABLE ; J = 1 ; 'REPE' BLOCJ NN ; DXIJ = XXI - XXJ ; DYIJ = YYI - YYJ ; DZIJ = ZZI - ZZJ ; RRIJ = (DXIJ*DXIJ) + (DYIJ * DYIJ) + (DZIJ * DZIJ) ; CCGIT.I.J = ZSIG * ZSIG * ('EXP' (-1.D0 * RRIJ / ZL1)) ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * I = 1 ; 'REPE' BLOCI NN ; J = 1 ; 'REPE' BLOCJ NN ; ECART = 'ABS' ((CCGIC.I.J - CCGIT.I.J) / CCGIT.I.J) ; 'SI' (ECART > 1.D-12) ; 'FINSI' ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * 'LAMBDA1' ZL1 'LAMBDA2' ZL2'LAMBDA3' ZL3 ; * YYGACT = TABLE ; I = 1 ; 'REPE' BLOC NN ; YYGACT.I = MMGAC * (PSI.I) ; I = I + 1 ; 'FIN' BLOC ; * YYGAC = TABLE ; I = 1 ; 'REPE' BLOCI NN ; 'NATURE' 'DISCRET' ; J = 2 ; 'REPE' BLOCJ NN1 ; 'NATURE' 'DISCRET' ; YYGAC.I = YYGAC.I 'ET' YYGACI ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * CCGAC = TABLE ; I = 1 ; 'REPE' BLOCI NN ; CCGAC.I = TABLE ; J = 1 ; 'REPE' BLOCJ NN ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * CCGAT = TABLE ; I = 1 ; 'REPE' BLOCI NN ; CCGAT.I = TABLE ; J = 1 ; 'REPE' BLOCJ NN ; DXIJ2 = ((XXI - XXJ) / ZL1) ** 2 ; DYIJ2 = ((YYI - YYJ) / ZL2) ** 2 ; DZIJ2 = ((ZZI - ZZJ) / ZL3) ** 2 ; RRIJ = DXIJ2 + DYIJ2 + DZIJ2 ; CCGAT.I.J = ZSIG * ZSIG * ('EXP' (-1.D0 * RRIJ )) ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * I = 1 ; 'REPE' BLOCI NN ; J = 1 ; 'REPE' BLOCJ NN ; ECART = 'ABS' ((CCGAC.I.J - CCGAT.I.J) / CCGAT.I.J) ; 'SI' (ECART > 1.D-12) ; 'FINSI' ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * 'LAMBDA1' ZL1 'LAMBDA2' ZL2 'LAMBDA3' ZL3 'DIRECTION' VE1 VE2 ; * YYGDCT = TABLE ; I = 1 ; 'REPE' BLOC NN ; YYGDCT.I = MMGDC * (PSI.I) ; I = I + 1 ; 'FIN' BLOC ; * YYGDC = TABLE ; I = 1 ; 'REPE' BLOCI NN ; 'NATURE' 'DISCRET' ; J = 2 ; 'REPE' BLOCJ NN1 ; 'NATURE' 'DISCRET' ; YYGDC.I = YYGDC.I 'ET' YYGDCI ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * CCGDC = TABLE ; I = 1 ; 'REPE' BLOCI NN ; CCGDC.I = TABLE ; J = 1 ; 'REPE' BLOCJ NN ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * CCGDT = TABLE ; I = 1 ; 'REPE' BLOCI NN ; CCGDT.I = TABLE ; J = 1 ; 'REPE' BLOCJ NN ; DXIJ2 = (((XXI - XXJ) * XE1) + ((YYI - YYJ) * YE1) + ((ZZI - ZZJ) * ZE1) / ZL1) ** 2 ; DYIJ2 = (((XXI - XXJ) * XE2) + ((YYI - YYJ) * YE2) + ((ZZI - ZZJ) * ZE2) / ZL2) ** 2 ; DZIJ2 = (((XXI - XXJ) * XE3) + ((YYI - YYJ) * YE3) + ((ZZI - ZZJ) * ZE3) / ZL3) ** 2 ; RRIJ = DXIJ2 + DYIJ2 + DZIJ2 ; CCGDT.I.J = ZSIG * ZSIG * ('EXP' (-1.D0 * RRIJ )) ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * I = 1 ; 'REPE' BLOCI NN ; J = 1 ; 'REPE' BLOCJ NN ; ECART = 'ABS' ((CCGDC.I.J - CCGDT.I.J) / CCGDT.I.J) ; 'SI' (ECART > 1.D-12) ; 'FINSI' ; J = J + 1 ; 'FIN' BLOCJ ; I = I + 1 ; 'FIN' BLOCI ; * * 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales