1 : C KRA002 SOURCE CHAT 05/01/13 01:05:44 5004 2 : C*********************************************************************C 3 : C C 4 : C --- KRA002 REPRESENTE LA PARTIE NUMERIQUEMENT INTENSE DU CALCUL C 5 : C EFFECTUE DANS CAMDF (2D). ON UTILISE UN PROGRAMME C 6 : C FORTRAN PLUTOT QU'ESOPE POUR UNE PLUS GRANDE EFFICACITE. C 7 : C C 8 : C LA BOUCLE SUR LE NOMBRE D'ELEMENTS EST VECTORISABLE C 9 : C ET PARALLELISABLE DIRECTEMENT. C 10 : C C 11 : C POUR OPTIMISER LES ACCES MEMOIRE, ON BOUCLE SUR C 12 : C LE NOMBRE D'ELEMENTS A L'INTERIEUR DE LA BOUCLE SUR LES C 13 : C SOMMETS. C 14 : C C 15 : C*********************************************************************C 16 : SUBROUTINE KRA002(AM,GX,D,B,NUM,IPADL,NP,NEL,NPT) 17 : IMPLICIT INTEGER(I-N) 18 : IMPLICIT REAL*8 (A-H,O-Z) 19 : DIMENSION AM(NEL,NP,2), 20 : ; GX(NPT,2), 21 : ; D (NPT,2), 22 : ; NUM(NP,1), 23 : ; IPADL(1), 24 : ; B (NEL) 25 : C 26 : C --- L'AFFECTATION Z=0. N'EST LA QUE POUR EVITER QU'ESOPE N'INTERCALE 27 : C LA CARTE INTEGEROOA,... ENTRE LA DIRECTIVE DE VECTORISATION ET 28 : C LA BOUCLE DO 11. ||| 29 : Z=0. 30 : DO 12 I=1,NP 31 : DO 11 K=1,NEL 32 : IU=IPADL(NUM(I,K)) 33 : B(K)=B(K)+AM(K,I,1)*GX(IU,1)/D(IU,1) 34 : & +AM(K,I,2)*GX(IU,2)/D(IU,2) 35 : 11 CONTINUE 36 : 12 CONTINUE 37 : 38 : 1002 FORMAT(10(1X,1PE11.4)) 39 : 1001 FORMAT(20(1X,I5)) 40 : RETURN 41 : END 42 : 43 :
© Cast3M 2003 - All rights reserved.
Disclaimer