C VNSIMP    SOURCE    CB215821  20/11/25    13:42:35     10792          
      SUBROUTINE VNSIMP(IPT1,IZAFM,IZCCH2,IZIPAD)
C************************************************************************
C   CALCUL DE LA MATRICE M ( P*DIV(U) )  --> AM(NP,IES,NEL)
C
C   IKAS=1  V NORMALE IMPOSEE
C   IKAS=-1 V TANGENTE IMPOSEE
C
C************************************************************************
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8 (A-H,O-Z)

C***
      CHARACTER*8 NOM0
      DIMENSION XYZ(3,9)
C***

-INC SMELEME
C-INC SMMATRAKANC
C*************************************************************************
C
C    REPERAGE ET STOKAGE DES MATRICES ELEMENTAIRES  puis assemblees
C

* LGEOC SPG de la pression et/ou des multiplicateurs de Lagrange
* (points CENTRE ) pour chaque operateur de contrainte
* KGEOC SPG pour la totalite des points CENTRE.
* KGEOS SPG pour la totalite des points SOMMET (Diagonale vitesse)
* KLEMC Connectivites de l'ensemble des contraintes
* LIZAFM(NBSOUS) contient les pointeurs IZAFM des sous-zones

      SEGMENT MATRAK
      INTEGER LGEOC(NBOP),IDEBS(NBOP),IFINS(NBOP)
      INTEGER LIZAFM(NBSOUS)
      INTEGER IKAM0 (NBSOUS)
      INTEGER IMEM  (NBELC)
      INTEGER KLEMC,KGEOS,KGEOC,KDIAG,KCAC,KIZCL,KIZGC
      ENDSEGMENT

      SEGMENT IZAFM
      REAL*8  AM(NNELP,NP,IESP),RPGI(NELAX)
      ENDSEGMENT

      POINTEUR IPMJ.IZAFM,IPMK.IZAFM

C*******************************************************************
-INC SMLENTI
      POINTEUR IZIPAD.MLENTI
-INC SIZFFB
-INC SMCOORD
-INC SMCHPOI
      POINTEUR IZCCH2.MPOVAL

-INC PPARAM
-INC CCOPTIO
-INC CCGEOME
C***
      IKAS=1
      SEGACT IPT1,IZAFM*MOD
      IIES=IDIM
      NBREF=IPT1.LISREF(/1)-1
C     write(6,*)' nbref=',nbref

      DO 1 KS=1,NBREF
      MELEME=IPT1.LISREF(KS)
C     write(6,*)' meleme=',meleme
      SEGACT MELEME
      NEL=NUM(/2)
      NP=NUM(/1)

      NOM0=NOMS(ITYPEL)//'    '
      CALL KALPBG(NOM0,'FONFORM ',IZFFM)
      SEGACT IZFFM*MOD
      IZHR=KZHR(1)
      SEGACT IZHR*MOD
      NES=GR(/1)
      NPG=GR(/3)

      NELAM=AM(/1)

      CALL KAM101(NELAM,NEL,NP,IIES,NUM,AM,XCOOR,
     &IZIPAD.LECT,IKAS,IAXI,NES,NPG,FN,GR,HR,PG,PGSQ,RPG)
      SEGDES MELEME
      SEGSUP IZFFM,IZHR
 1    CONTINUE
      IESAM=AM(/3)
      SEGACT IZCCH2*MOD
      CALL KANOR2(AM,IZCCH2.VPOCHA,NELAM,IESAM)
      SEGDES IZCCH2
      SEGDES IPT1,IZAFM
C
C
      RETURN
 1001 FORMAT(20(1X,I5))
 1002 FORMAT(10(1X,1PE11.4))
      END











 
 
 
 
