Télécharger bdbsta.eso

Retour à la liste

Numérotation des lignes :

bdbsta
  1. C BDBSTA SOURCE CHAT 05/01/12 21:37:54 5004
  2. SUBROUTINE BDBSTA(BGENE,DJAC,DHOOK,LRE,NSTRS,REL)
  3. C=======================================================================
  4. C
  5. C INTEGRE LE PRODUIT BDB POUR UNE MATRICE ANTISYMETRIQUE
  6. C VERSION JANVIER 2004 - COMBESCURE
  7. C ROUTINE FORTRAN PUR
  8. C
  9. C=======================================================================
  10. C BGENE(NSTRS,LRE)=MATRICE B
  11. C DJAC =JACOBIEN
  12. C DHOOK(NSTRS,NSTRS)=MATRICE DE HOOKE
  13. C LRE=TAILLE DE LA MATRICE DE RIGIDITE
  14. C REL=MATRICE DE RIGIDITE
  15. C LES KIJ SONT AJOUTES SUR REL
  16. C=======================================================================
  17. IMPLICIT INTEGER(I-N)
  18. IMPLICIT REAL*8 (A-H,O-Z)
  19. DIMENSION DHOOK(NSTRS,1),REL(LRE,1)
  20. DIMENSION WORK1(10),WORK2(10),BGENE(NSTRS,1)
  21. DO 300 IX=1,LRE
  22. C
  23. C BOUCLE SUR LES DDL
  24. C
  25. DO 400 INA=1,NSTRS
  26. C
  27. C CALCUL DE JACOBIAN*POIDS*B POUR LE DDL IX
  28. C
  29. WORK1(INA)=DJAC*BGENE(INA,IX)
  30. 400 CONTINUE
  31. DO 500 INB=1,NSTRS
  32. CC=0.D0
  33. DO 600 INC=1,NSTRS
  34. CC=CC+WORK1(INC)*DHOOK(INB,INC)
  35. 600 CONTINUE
  36. WORK2(INB)=CC
  37. 500 CONTINUE
  38. DO 700 IY=1,IX
  39. C
  40. C CALCUL DE BDB POUR LES DDL IX ET IY
  41. C
  42. CC=0.D0
  43. DO 800 IND=1,NSTRS
  44. CC=CC+BGENE(IND,IY)*WORK2(IND)
  45. 800 CONTINUE
  46. REL(IY,IX)=REL(IY,IX)+CC
  47. REL(IX,IY)=(-1.D0)*REL(IY,IX)
  48. 700 CONTINUE
  49. 300 CONTINUE
  50. RETURN
  51. END
  52.  
  53.  
  54.  
  55.  

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