Télécharger kra003.eso

Retour à la liste

Numérotation des lignes :

kra003
  1. C KRA003 SOURCE CHAT 05/01/13 01:05:48 5004
  2. C*********************************************************************C
  3. C C
  4. C --- KRA003 REPRESENTE LA PARTIE NUMERIQUEMENT INTENSE DU CALCUL C
  5. C EFFECTUE DANS CAMDF (3D). 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. ON NE GAGNE RIEN A TRAITER PAR PAQUETS C
  14. C D'ELEMENTS VU QUE L'ON ACCUMULE SUR LES ELEMENTS C
  15. C WET QU'IL Y A UNE DIVISION A FAIRE.
  16. C C
  17. C*********************************************************************C
  18. SUBROUTINE KRA003(AM,GX,D,B,NUM,IPADL,NP,NEL,NPT)
  19. IMPLICIT INTEGER(I-N)
  20. IMPLICIT REAL*8 (A-H,O-Z)
  21. DIMENSION AM(NEL,NP,3),
  22. ; GX(NPT,3),
  23. ; D (NPT,3),
  24. ; NUM(NP,1),
  25. ; IPADL(1),
  26. ; B (1)
  27. C
  28. C --- L'AFFECTATION Z=0. N'EST LA QUE POUR EVITER QU'ESOPE N'INTERCALE
  29. C LA CARTE INTEGEROOA,... ENTRE LA DIRECTIVE DE VECTORISATION ET
  30. C LA BOUCLE DO 11. |||
  31. Z=0.
  32. DO 22 I=1,NP
  33. DO 21 K=1,NEL
  34. IU=IPADL(NUM(I,K))
  35. B(K)=B(K)+AM(K,I,1)*GX(IU,1)/D(IU,1)
  36. & +AM(K,I,2)*GX(IU,2)/D(IU,2)
  37. & +AM(K,I,3)*GX(IU,3)/D(IU,3)
  38. 21 CONTINUE
  39. 22 CONTINUE
  40. RETURN
  41. END
  42.  
  43.  
  44.  

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