Download ni2.eso

Back to the list

   1 : C NI2       SOURCE    GOUNAND   06/05/09    21:15:17     5435           
   2 :       SUBROUTINE NI2(NDIM,NBNOD,QSI,ETA,DZE,
   3 :      $     NBMMON,NBMON,COEMON,EXPMON,PNM,XCO1,ORDDER,VECTP
   4 :      $     ,SHP)
   5 :       IMPLICIT REAL*8 (A-H,O-Z)
   6 :       IMPLICIT INTEGER (I-N)
   7 : C***********************************************************************
   8 : C NOM         : NI2
   9 : C DESCRIPTION : Calcul fonctions de forme et dérivées premières
  10 : C               Particularisation de ni.eso
  11 : C
  12 : C
  13 : C LANGAGE     : ESOPE
  14 : C AUTEUR      : Stéphane GOUNAND (CEA/DEN/DM2S/SFME/LTMF)
  15 : C               mél : gounand@semt2.smts.cea.fr
  16 : C***********************************************************************
  17 : C APPELES          : 
  18 : C APPELE PAR       : SHAPEQ
  19 : C***********************************************************************
  20 : C ENTREES            : NDIM,NBNOD,QSI,ETA,DZE,EXPMON,PNM
  21 : C TRAVAIL            : XCO1,ORDDER,VECTP
  22 : C ENTREES/SORTIES    :
  23 : C SORTIES            : SHP
  24 : C***********************************************************************
  25 : C VERSION    : v1, 04/05/2006, version initiale
  26 : C HISTORIQUE : v1, 04/05/2006, création
  27 : C HISTORIQUE :
  28 : C HISTORIQUE :
  29 : C***********************************************************************
  30 :       INTEGER NBMON(NBNOD)
  31 :       REAL*8 COEMON(NBMMON,NBNOD)
  32 :       INTEGER EXPMON(NDIM,NBMMON,NBNOD)
  33 :       REAL*8 PNM(NBNOD,NBNOD)
  34 :       REAL*8 XCO1(NDIM)
  35 :       INTEGER ORDDER(NDIM)
  36 :       REAL*8 VECTP(NBNOD)
  37 :       REAL*8 SHP(6,NBNOD)
  38 : *     
  39 : * Executable statements
  40 : *
  41 : * Calcul des fonctions de forme et des dérivées premières
  42 : * au point QSI,ETA,DZE
  43 : * 1) fonctions de forme
  44 : * Calcul de < P (p) > = < P1(p) ... Pnbfn(p) > où p est le point
  45 : * (qsi, eta, dze)
  46 :       XCO1(1)=QSI
  47 :       XCO1(2)=ETA
  48 :       XCO1(3)=DZE
  49 :       DO INOD=1,NBNOD
  50 :          ORDDER(1)=0
  51 :          ORDDER(2)=0
  52 :          ORDDER(3)=0
  52 :          CALL VALPO2(NDIM,XCO1,NBMON(INOD),COEMON(1,INOD),
  53 :      $        EXPMON(1,1,INOD),ORDDER,
  54 :      $        VECTP(INOD))
  55 :       ENDDO
  56 : * On calcule : < N (p) > = < P (p) > [Pn]^{-1}
  57 :       DO INOD=1,NBNOD
  58 :          SHP(1,INOD)=DDOT(NBNOD,VECTP,1,PNM(1,INOD),1)
  59 :       ENDDO
  60 : * 2) dérivées des fonctions de forme
  61 :       DO IDIM=1,NDIM
  62 :          DO JDIM=1,NDIM
  63 :             IF (JDIM.EQ.IDIM) THEN
  64 :                ORDDER(JDIM)=1
  65 :             ELSE 
  66 :                ORDDER(JDIM)=0
  67 :             ENDIF
  68 :          ENDDO
  69 :          DO INOD=1,NBNOD
  69 :             CALL VALPO2(NDIM,XCO1,NBMON(INOD),COEMON(1,INOD),
  70 :      $           EXPMON(1,1,INOD),ORDDER,
  71 :      $           VECTP(INOD))
  72 :          ENDDO
  73 :          DO INOD=1,NBNOD
  74 :             SHP(1+IDIM,INOD)=DDOT(NBNOD,VECTP,1,PNM(1,INOD),1)
  75 :          ENDDO
  76 :       ENDDO
  77 : C      WRITE(6,*) 'On a créé SHP(1,*) :'
  78 : C      WRITE(6,*) (SHP(1,J),J=1,NBNOD)
  79 : C      SOM=0.D0 
  80 : C      DO J=1,NBNOD
  81 : C         SOM=SOM+SHP(1,J)
  82 : C      ENDDO
  83 : C      WRITE(6,*) 'SOMME : ',SOM
  84 : C      WRITE(6,*) 'On a créé SHP(2,*) :'
  85 : C      WRITE(6,*) (SHP(2,J),J=1,NBNOD)
  86 : C      SOM=0.D0 
  87 : C      DO J=1,NBNOD
  88 : C         SOM=SOM+SHP(2,J)
  89 : C      ENDDO
  90 : C      WRITE(6,*) 'SOMME : ',SOM
  91 : *
  92 : * Normal termination
  93 : *
  94 :       RETURN
  95 : *
  96 : * End of subroutine NI2
  97 : *
  98 :       END
  99 : 
 100 :  

© Cast3M 2003 - All rights reserved.
Disclaimer