Télécharger kpress.eso

Retour à la liste

Numérotation des lignes :

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

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