Numérotation des lignes :

C SIMPSN    SOURCE    CHAT      05/01/13    03:18:58     5004      SUBROUTINE SIMPSN(NNAPPE,NBG,IOP,POIGAU)**************************************************************************   CALCUL DES POIDS (DES POINTS A TRAVERS L'EPAISSEUR) PAR LA METHODE **   D'INTEGRATION DE SIMPSON                                           **   MULTIPLICATION PAR LES POIDS DES POINTS DANS LE PLAN               **************************************************************************                                                                      **  ENTREE  :                                                           **                                                                      **  NNAPPE = NOMBRE DE NAPPES DANS L'EPAISSEUR                          **  NBG    = NOMBRE DE POINTS DANS LE PLAN                              **  IOP    = 1 CALCULE LES POIDS TOTAUX (W(QSI,ETA,ZETA))A PARTIR DES   **            POIDS DE SURFACE(W(QSI,ETA)                               **         = 2 CALCULE LES POIDS DE SURFACE (W(QSI,ETA)A PARTIR DES     **             POIDS TOTAUX(W(QSI,ETA,ZETA))                            **  POIGAU = TABLEAU CONTENANT LES POIDS CORRESPONDANT A L'INTEGRATION  **           DANS LE PLAN                                               **  SORTIE :                                                            **                                                                      **  POIGAU = POIDS TENANT COMPTE DE L'INTEGRATION DANS L'EPAISSEUR      **                                                                      **************************************************************************      IMPLICIT INTEGER(I-N)      IMPLICIT REAL*8 (A-H,O-Z)*      DIMENSION POIGAU(*),W(100)**      PAS = 2.D0/(3.D0*(DBLE(NNAPPE)-1.D0))*      DO 1 IZ = 1,NNAPPE           ITS = MOD(IZ,2)           IF (IZ.EQ.1.OR.IZ.EQ.NNAPPE) THEN              COEF = 1.D0           ELSE IF (ITS.NE.0.) THEN              COEF = 2.D0           ELSE              COEF = 4.D0           ENDIF           W(IZ) = COEF * PAS  1   CONTINUE*      IF(IOP.EQ.1) THEN         DO 10 IA=1,NNAPPE            NP=(IA-1)*NBG            DO 20 IG=1,NBG               POIGAU(NP+IG)=POIGAU(NP+IG)*W(IA)  20        CONTINUE  10     CONTINUE      ELSE         DO 30 IG=1,NBG               POIGAU(IG) = POIGAU(IG)/W(1)  30     CONTINUE      ENDIF**       WRITE(*,*) ' matrice  B  elem =',IB*       WRITE(*,1191) (POIGAU(IA),IA=1,3)*1191   FORMAT(12(1X,E8.2))C      RETURN      END

© Cast3M 2003 - Tous droits réservés.
Mentions légales