Télécharger ni2.eso

Retour à la liste

Numérotation des lignes :

ni2
  1. C NI2 SOURCE FANDEUR 22/05/02 21:15:26 11359
  2. SUBROUTINE NI2(NDIM,NBNOD,QSI,ETA,DZE,
  3. $ NBMMON,NBMON,COEMON,EXPMON,PNM,XCO1,ORDDER,VECTP
  4. $ ,SHP)
  5. IMPLICIT REAL*8 (A-H,O-Z)
  6. IMPLICIT INTEGER (I-N)
  7. C***********************************************************************
  8. C NOM : NI2
  9. C DESCRIPTION : Calcul fonctions de forme et dérivées premières
  10. C Particularisation de ni.eso
  11. C
  12. C
  13. C LANGAGE : ESOPE
  14. C AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
  15. C mél : gounand@semt2.smts.cea.fr
  16. C***********************************************************************
  17. C APPELES :
  18. C APPELE PAR : SHAPEQ
  19. C***********************************************************************
  20. C ENTREES : NDIM,NBNOD,QSI,ETA,DZE,EXPMON,PNM
  21. C TRAVAIL : XCO1,ORDDER,VECTP
  22. C ENTREES/SORTIES :
  23. C SORTIES : SHP
  24. C***********************************************************************
  25. C VERSION : v1, 04/05/2006, version initiale
  26. C HISTORIQUE : v1, 04/05/2006, création
  27. C HISTORIQUE :
  28. C HISTORIQUE :
  29. C***********************************************************************
  30. INTEGER NBMON(NBNOD)
  31. REAL*8 COEMON(NBMMON,NBNOD)
  32. INTEGER EXPMON(NDIM,NBMMON,NBNOD)
  33. REAL*8 PNM(NBNOD,NBNOD)
  34. REAL*8 XCO1(NDIM)
  35. INTEGER ORDDER(NDIM)
  36. REAL*8 VECTP(NBNOD)
  37. REAL*8 SHP(6,NBNOD)
  38. C Fonctions BLAS/LAPACK
  39. REAL*8 DDOT
  40. EXTERNAL DDOT
  41. *
  42. * Executable statements
  43. *
  44. * Calcul des fonctions de forme et des dérivées premières
  45. * au point QSI,ETA,DZE
  46. * 1) fonctions de forme
  47. * Calcul de < P (p) > = < P1(p) ... Pnbfn(p) > où p est le point
  48. * (qsi, eta, dze)
  49. XCO1(1)=QSI
  50. XCO1(2)=ETA
  51. XCO1(3)=DZE
  52. DO INOD=1,NBNOD
  53. ORDDER(1)=0
  54. ORDDER(2)=0
  55. ORDDER(3)=0
  56. CALL VALPO2(NDIM,XCO1,NBMON(INOD),COEMON(1,INOD),
  57. $ EXPMON(1,1,INOD),ORDDER,
  58. $ VECTP(INOD))
  59. ENDDO
  60. * On calcule : < N (p) > = < P (p) > [Pn]^{-1}
  61. DO INOD=1,NBNOD
  62. SHP(1,INOD)=DDOT(NBNOD,VECTP,1,PNM(1,INOD),1)
  63. ENDDO
  64. * 2) dérivées des fonctions de forme
  65. DO IDIM=1,NDIM
  66. DO JDIM=1,NDIM
  67. IF (JDIM.EQ.IDIM) THEN
  68. ORDDER(JDIM)=1
  69. ELSE
  70. ORDDER(JDIM)=0
  71. ENDIF
  72. ENDDO
  73. DO INOD=1,NBNOD
  74. CALL VALPO2(NDIM,XCO1,NBMON(INOD),COEMON(1,INOD),
  75. $ EXPMON(1,1,INOD),ORDDER,
  76. $ VECTP(INOD))
  77. ENDDO
  78. DO INOD=1,NBNOD
  79. SHP(1+IDIM,INOD)=DDOT(NBNOD,VECTP,1,PNM(1,INOD),1)
  80. ENDDO
  81. ENDDO
  82. C WRITE(6,*) 'On a créé SHP(1,*) :'
  83. C WRITE(6,*) (SHP(1,J),J=1,NBNOD)
  84. C SOM=0.D0
  85. C DO J=1,NBNOD
  86. C SOM=SOM+SHP(1,J)
  87. C ENDDO
  88. C WRITE(6,*) 'SOMME : ',SOM
  89. C WRITE(6,*) 'On a créé SHP(2,*) :'
  90. C WRITE(6,*) (SHP(2,J),J=1,NBNOD)
  91. C SOM=0.D0
  92. C DO J=1,NBNOD
  93. C SOM=SOM+SHP(2,J)
  94. C ENDDO
  95. C WRITE(6,*) 'SOMME : ',SOM
  96. *
  97. * Normal termination
  98. *
  99. RETURN
  100. *
  101. * End of subroutine NI2
  102. *
  103. END
  104.  
  105.  
  106.  

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