Télécharger ni2.eso

Retour à la liste

Numérotation des lignes :

  1. C NI2 SOURCE GOUNAND 06/05/09 21:15:17 5435
  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. *
  39. * Executable statements
  40. *
  41. * Calcul des fonctions de forme et des dérivées premières
  42. * au point QSI,ETA,DZE
  43. * 1) fonctions de forme
  44. * Calcul de < P (p) > = < P1(p) ... Pnbfn(p) > où p est le point
  45. * (qsi, eta, dze)
  46. XCO1(1)=QSI
  47. XCO1(2)=ETA
  48. XCO1(3)=DZE
  49. DO INOD=1,NBNOD
  50. ORDDER(1)=0
  51. ORDDER(2)=0
  52. ORDDER(3)=0
  53. CALL VALPO2(NDIM,XCO1,NBMON(INOD),COEMON(1,INOD),
  54. $ EXPMON(1,1,INOD),ORDDER,
  55. $ VECTP(INOD))
  56. ENDDO
  57. * On calcule : < N (p) > = < P (p) > [Pn]^{-1}
  58. DO INOD=1,NBNOD
  59. SHP(1,INOD)=DDOT(NBNOD,VECTP,1,PNM(1,INOD),1)
  60. ENDDO
  61. * 2) dérivées des fonctions de forme
  62. DO IDIM=1,NDIM
  63. DO JDIM=1,NDIM
  64. IF (JDIM.EQ.IDIM) THEN
  65. ORDDER(JDIM)=1
  66. ELSE
  67. ORDDER(JDIM)=0
  68. ENDIF
  69. ENDDO
  70. DO INOD=1,NBNOD
  71. CALL VALPO2(NDIM,XCO1,NBMON(INOD),COEMON(1,INOD),
  72. $ EXPMON(1,1,INOD),ORDDER,
  73. $ VECTP(INOD))
  74. ENDDO
  75. DO INOD=1,NBNOD
  76. SHP(1+IDIM,INOD)=DDOT(NBNOD,VECTP,1,PNM(1,INOD),1)
  77. ENDDO
  78. ENDDO
  79. C WRITE(6,*) 'On a créé SHP(1,*) :'
  80. C WRITE(6,*) (SHP(1,J),J=1,NBNOD)
  81. C SOM=0.D0
  82. C DO J=1,NBNOD
  83. C SOM=SOM+SHP(1,J)
  84. C ENDDO
  85. C WRITE(6,*) 'SOMME : ',SOM
  86. C WRITE(6,*) 'On a créé SHP(2,*) :'
  87. C WRITE(6,*) (SHP(2,J),J=1,NBNOD)
  88. C SOM=0.D0
  89. C DO J=1,NBNOD
  90. C SOM=SOM+SHP(2,J)
  91. C ENDDO
  92. C WRITE(6,*) 'SOMME : ',SOM
  93. *
  94. * Normal termination
  95. *
  96. RETURN
  97. *
  98. * End of subroutine NI2
  99. *
  100. END
  101.  
  102.  
  103.  

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