Download kpress.eso

Back to the list

   1 : C KPRESS    SOURCE    MAGN      10/05/18    21:15:57     6675           
   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)//'    '
  53 :       CALL KALPBG(NOM0,'FONFORM ',IZFFM)
  54 :       SEGACT IZFFM*MOD
  55 :       IZHR=KZHR(1)
  56 :       SEGACT IZHR*MOD
  57 :       NES=GR(/1)
  58 :       NPG=GR(/3)
  59 : C
  60 :       IF(IMPR.NE.0)THEN
  61 :       WRITE(6,*)' ZONE PRESSION CALCUL MATRICE AM '
  62 :       WRITE(6,*)' NP=',NP,' NES=',NES,' NPG=',NPG,' NEL=',NEL
  63 :       ENDIF
  64 : C
  65 :       DO 10 K=1,NEL
  66 :       DO 12 I=1,NP
  67 : C     J=IPADL(NUM(I,K))
  68 :       J=NUM(I,K)
  69 :       DO 12 N=1,IDIM
  70 : C     XYZ(N,I)=T(N,J)
  71 :       XYZ(N,I)=XCOOR((J-1)*(IDIM+1)    +N)
  72 :  12   CONTINUE
  73 : 
  74 : C     IF(IMPR.NE.0)THEN
  75 : C     WRITE(6,*)' XYZ : KS=',KS,' K=',K
  76 : C     WRITE(6,1002)((XYZ(N,I),N=1,IDIM),I=1,NP)
  77 : C     ENDIF
  78 : 
  78 :       CALL CALJBC(FN,GR,PG,XYZ,HR,PGSQ,RPG,NES,IDIM,NP,NPG,IAXI,AIRE)
  79 : 
  79 :       CALL KAAM(FN,HR,PG,PGSQ,AM,K,NEL,NP,NPG,IDIM,IAXI,RPG)
  80 : 
  81 :  10   CONTINUE
  82 :       IF(IMPR.NE.0)THEN
  83 :       DO 11 K=1,NEL
  84 :       WRITE(6,1040)K,((AM(K,M,N),M=1,NP),N=1,IDIM)
  85 :  11   CONTINUE
  86 :       ENDIF
  87 : 
  88 :       SEGDES MELEME,IZAFM
  89 :       SEGSUP IZHR,IZFFM
  90 : 
  91 :       RETURN
  92 :  1002 FORMAT(10(1X,1PE11.4))
  93 :  1040 FORMAT(1X,'CALCUL MATRICE AM ',I4/10(1X,1PE11.4))
  94 :       END
  95 :  
  96 :  
  97 :  
  98 :  
  99 :  
 100 :  
 101 :  
 102 :  
 103 :  
 104 :  
 105 :  
 106 :  

© Cast3M 2003 - All rights reserved.
Disclaimer