Télécharger kpress.eso

Retour à la liste

Numérotation des lignes :

  1. C KPRESS SOURCE PV 16/11/17 22:00:18 9180
  2. SUBROUTINE KPRESS(MELEME,IZAFM,IAXI,IMPR)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8 (A-H,O-Z)
  5. C*****************************************************************************
  6. C
  7. C Ce SP calcule les matrices elementaires de divergence alias C
  8. C
  9. C*****************************************************************************
  10. CHARACTER*8 NOM0
  11.  
  12. -INC CCOPTIO
  13. -INC CCGEOME
  14. -INC SMCOORD
  15. -INC SIZFFB
  16. C-INC SMMATRAKANC
  17. C*************************************************************************
  18. C
  19. C REPERAGE ET STOKAGE DES MATRICES ELEMENTAIRES puis assemblees
  20. C
  21.  
  22. * LGEOC SPG de la pression et/ou des multiplicateurs de Lagrange
  23. * (points CENTRE ) pour chaque operateur de contrainte
  24. * KGEOC SPG pour la totalite des points CENTRE.
  25. * KGEOS SPG pour la totalite des points SOMMET (Diagonale vitesse)
  26. * KLEMC Connectivites de l'ensemble des contraintes
  27. * LIZAFM(NBSOUS) contient les pointeurs IZAFM des sous-zones
  28.  
  29. SEGMENT MATRAK
  30. INTEGER LGEOC(NBOP),IDEBS(NBOP),IFINS(NBOP)
  31. INTEGER LIZAFM(NBSOUS)
  32. INTEGER IKAM0 (NBSOUS)
  33. INTEGER IMEM (NBELC)
  34. INTEGER KLEMC,KGEOS,KGEOC,KDIAG,KCAC,KIZCL,KIZGC
  35. ENDSEGMENT
  36.  
  37. SEGMENT IZAFM
  38. REAL*8 AM(NNELP,NP,IESP),RPGI(NELAX)
  39. ENDSEGMENT
  40.  
  41. POINTEUR IPMJ.IZAFM,IPMK.IZAFM
  42.  
  43. C*******************************************************************
  44. -INC SMELEME
  45.  
  46. C OPERATEUR PRESSION
  47. C
  48. SEGACT MELEME,IZAFM*MOD
  49.  
  50. NP=NUM(/1)
  51. NEL=NUM(/2)
  52. C write(6,*)' NP=',NP,' NEL=',NEL,' ITYPEL=',ITYPEL
  53. NOM0=NOMS(ITYPEL)//' '
  54. CALL KALPBG(NOM0,'FONFORM ',IZFFM)
  55. SEGACT IZFFM*MOD
  56. IZHR=KZHR(1)
  57. SEGACT IZHR*MOD
  58. NES=GR(/1)
  59. NPG=GR(/3)
  60. C
  61. IF(IMPR.NE.0)THEN
  62. WRITE(6,*)' ZONE PRESSION CALCUL MATRICE AM '
  63. WRITE(6,*)' NP=',NP,' NES=',NES,' NPG=',NPG,' NEL=',NEL
  64. ENDIF
  65. C
  66. DO 10 K=1,NEL
  67. DO 12 I=1,NP
  68. C J=IPADL(NUM(I,K))
  69. J=NUM(I,K)
  70. DO 12 N=1,IDIM
  71. C XYZ(N,I)=T(N,J)
  72. XYZ(N,I)=XCOOR((J-1)*(IDIM+1) +N)
  73. 12 CONTINUE
  74.  
  75. C IF(IMPR.NE.0)THEN
  76. C WRITE(6,*)' XYZ : KS=',KS,' K=',K
  77. C WRITE(6,1002)((XYZ(N,I),N=1,IDIM),I=1,NP)
  78. C ENDIF
  79.  
  80. CALL CALJBC(FN,GR,PG,XYZ,HR,PGSQ,RPG,NES,IDIM,NP,NPG,IAXI,AIRE)
  81.  
  82. CALL KAAM(FN,HR,PG,PGSQ,AM,K,NEL,NP,NPG,IDIM,IAXI,RPG)
  83.  
  84. 10 CONTINUE
  85. IF(IMPR.NE.0)THEN
  86. DO 11 K=1,NEL
  87. WRITE(6,1040)K,((AM(K,M,N),M=1,NP),N=1,IDIM)
  88. 11 CONTINUE
  89. ENDIF
  90.  
  91. SEGDES MELEME,IZAFM
  92. SEGSUP IZHR,IZFFM
  93.  
  94. RETURN
  95. 1002 FORMAT(10(1X,1PE11.4))
  96. 1040 FORMAT(1X,'CALCUL MATRICE AM ',I4/10(1X,1PE11.4))
  97. END
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  

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