Download kopdir.eso

Back to the list

   1 : C KOPDIR    SOURCE    GOUNAND   11/05/25    21:15:18     6980           
   2 :       SUBROUTINE KOPDIR(MCHPOI,MRIGID)
   3 :       IMPLICIT REAL*8 (A-H,O-Z)
   4 :       IMPLICIT INTEGER (I-N)
   5 : C***********************************************************************
   6 : C NOM         : KOPDIR
   7 : C DESCRIPTION : Transforme un CHPOINt MCHPOI en matrice 
   8 : C               diagonale MRIGID
   9 : C
  10 : C
  11 : C
  12 : C LANGAGE     : ESOPE
  13 : C AUTEUR      : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
  14 : C               mél : gounand@semt2.smts.cea.fr
  15 : C***********************************************************************
  16 : C ENTREES            : MCHPOI
  17 : C ENTREES/SORTIES    :
  18 : C SORTIES            : MRIGID
  19 : C***********************************************************************
  20 : C VERSION    : v1, 10/05/2011, version initiale
  21 : C HISTORIQUE : v1, 10/05/2011, création
  22 : C HISTORIQUE :
  23 : C HISTORIQUE :
  24 : C***********************************************************************
  25 : -INC CCOPTIO
  26 : -INC SMRIGID
  27 : -INC SMCHPOI
  28 : -INC SMELEME
  29 : -INC CCHAMP
  30 : *     
  31 : * Executable statements
  32 : *
  33 :       SEGACT MCHPOI
  34 :       NSOUPO = IPCHP(/1)
  35 : C On compte le nombre de matrices à générer
  36 :       NRIGEL=0
  37 :       DO ISOUPO = 1, NSOUPO
  38 :          MSOUPO = IPCHP(ISOUPO)
  39 :          SEGACT MSOUPO
  40 :          NC=NOCOMP(/2)
  41 :          NRIGEL=NRIGEL+NC
  42 :          SEGDES MSOUPO
  43 :       ENDDO
  44 :       SEGINI MRIGID
  45 :       MTYMAT='DIAGONAL'
  46 :       IRIG=0
  47 : C
  48 :       DO ISOUPO = 1, NSOUPO
  49 :          MSOUPO = IPCHP(ISOUPO)
  50 :          SEGACT MSOUPO
  51 :          NC=NOCOMP(/2)
  52 :          MELEME=IGEOC
  53 :          SEGACT MELEME
  54 :          NBEL=NUM(/2)
  55 :          SEGDES MELEME
  56 :          MPOVAL=IPOVAL
  57 :          SEGACT MPOVAL
  58 :          DO IC=1,NC
  59 :             IRIG=IRIG+1
  60 :             COERIG(IRIG)=1.D0
  61 :             IRIGEL(1,IRIG)=MELEME
  62 :             NLIGRP=1
  63 :             NLIGRD=1
  64 :             SEGINI DESCR
  65 :             LISINC(1)=NOCOMP(IC)
  65 :             CALL PLACE(NOMDD,LNOMDD,idx,NOCOMP(IC))
  66 :             IF (idx.NE.0) THEN
  67 :                LISDUA(1)=NOMDU(idx)
  68 :             ELSE
  69 :                LISDUA(1)=NOCOMP(IC)
  70 :             ENDIF
  71 :             NOELEP(1)=1
  72 :             NOELED(1)=1
  73 :             SEGDES DESCR
  74 :             IRIGEL(3,IRIG)=DESCR
  75 :             NELRIG=NBEL
  76 :             SEGINI XMATRI
  77 :             DO IBEL=1,NBEL
  78 :                RE(1,1,IBEL)=VPOCHA(IBEL,IC)
  79 :             ENDDO
  80 :             SEGDES XMATRI
  81 :             IRIGEL(4,IRIG)=XMATRI
  82 :          ENDDO
  83 :          SEGDES MPOVAL
  84 :          SEGDES MSOUPO
  85 :       ENDDO
  86 :       SEGDES MRIGID
  87 :       SEGDES MCHPOI
  88 : *
  89 : * Normal termination
  90 : *
  91 :       RETURN
  92 : *
  93 : * End of subroutine KOPDIR
  94 : *
  95 :       END
  96 : 
  97 :  
  98 :  

© Cast3M 2003 - All rights reserved.
Disclaimer