Download simpsn.eso

Back to the list

   1 : C SIMPSN    SOURCE    CHAT      05/01/13    03:18:58     5004           
   2 :       SUBROUTINE SIMPSN(NNAPPE,NBG,IOP,POIGAU)
   3 : *
   4 : ************************************************************************
   5 : *   CALCUL DES POIDS (DES POINTS A TRAVERS L'EPAISSEUR) PAR LA METHODE *
   6 : *   D'INTEGRATION DE SIMPSON                                           *
   7 : *   MULTIPLICATION PAR LES POIDS DES POINTS DANS LE PLAN               *
   8 : ************************************************************************
   9 : *                                                                      *
  10 : *  ENTREE  :                                                           *
  11 : *                                                                      *
  12 : *  NNAPPE = NOMBRE DE NAPPES DANS L'EPAISSEUR                          *
  13 : *  NBG    = NOMBRE DE POINTS DANS LE PLAN                              *
  14 : *  IOP    = 1 CALCULE LES POIDS TOTAUX (W(QSI,ETA,ZETA))A PARTIR DES   *
  15 : *            POIDS DE SURFACE(W(QSI,ETA)                               *
  16 : *         = 2 CALCULE LES POIDS DE SURFACE (W(QSI,ETA)A PARTIR DES     *
  17 : *             POIDS TOTAUX(W(QSI,ETA,ZETA))                            *
  18 : *  POIGAU = TABLEAU CONTENANT LES POIDS CORRESPONDANT A L'INTEGRATION  *
  19 : *           DANS LE PLAN                                               *
  20 : *  SORTIE :                                                            *
  21 : *                                                                      *
  22 : *  POIGAU = POIDS TENANT COMPTE DE L'INTEGRATION DANS L'EPAISSEUR      *
  23 : *                                                                      *
  24 : ************************************************************************
  25 : *
  26 :       IMPLICIT INTEGER(I-N)
  27 :       IMPLICIT REAL*8 (A-H,O-Z)
  28 : *
  29 :       DIMENSION POIGAU(*),W(100)
  30 : *
  31 : *
  32 :       PAS = 2.D0/(3.D0*(DBLE(NNAPPE)-1.D0))
  33 : *
  34 :       DO 1 IZ = 1,NNAPPE
  35 :            ITS = MOD(IZ,2)
  36 :            IF (IZ.EQ.1.OR.IZ.EQ.NNAPPE) THEN
  37 :               COEF = 1.D0
  38 :            ELSE IF (ITS.NE.0.) THEN
  39 :               COEF = 2.D0
  40 :            ELSE
  41 :               COEF = 4.D0
  42 :            ENDIF
  43 :            W(IZ) = COEF * PAS
  44 :   1   CONTINUE
  45 : *
  46 :       IF(IOP.EQ.1) THEN
  47 :          DO 10 IA=1,NNAPPE
  48 :             NP=(IA-1)*NBG
  49 :             DO 20 IG=1,NBG
  50 :                POIGAU(NP+IG)=POIGAU(NP+IG)*W(IA)
  51 :   20        CONTINUE
  52 :   10     CONTINUE
  53 :       ELSE
  54 :          DO 30 IG=1,NBG
  55 :                POIGAU(IG) = POIGAU(IG)/W(1)
  56 :   30     CONTINUE
  57 :       ENDIF
  58 : *
  59 : *       WRITE(*,*) ' matrice  B  elem =',IB
  60 : *       WRITE(*,1191) (POIGAU(IA),IA=1,3)
  61 : *1191   FORMAT(12(1X,E8.2))
  62 : C
  63 :       RETURN
  64 :       END
  65 : 
  66 :  
  67 :  

© Cast3M 2003 - All rights reserved.
Disclaimer