[updated 8.Apr.2003]

Librairie efloca > Fichier elploc.f

Qui appelle elploc ?

line
      SUBROUTINE ELPLOC (ITYPTR,MCDGAM,MCDNU,MCDALF,MCDINT,MCPLOC
     &                  ,NBFDEV,NBTFON,THEMIN,THEMAX,TABCOF,NDEGRE
     &                  ,NBDLEL,RST,CST)
line
  Auteurs: M.Lenoir, B.Vigan, C.Politis, M.Rouquette (Octobre 1990)
  Derniere modification : D.Martin & C. Chambeyron (11 Mars 2003)
  Version 1.0.1
 
  Determination de la matrice locale Elements Finis Localises
 
 -- Arguments d'entree --
  ITYPTR type du resultat (reel ou complexe)
  MCDGAM adresse des coefficients des termes des fonctions propres e.f.l.
  MCDNU  adresse des exposants des termes des fonctions propres e.f.l.
  MCDALF adresse des exposants sec. des termes des fonctions propres e.f.l.
  MCDINT adresse des integrales exactes
  MCPLOC adresse du resultat dans le tableau du bon type
  NBFDEV nombre de fonctions propres e.f.l.
  NBTFON nombre de termes composant chaque fonction propre
  THEMIN,THEMAX: extremites du domaine d'integration
  TABCOF tableau des coefficients de chaque monomes des fonctions de base
  NDEGRE degre des fonctions de base
  NBDLEL nombre de degres de liberte par element
  RST,CST super-tableau reel ou complexe
 -- Remarque --
  Les fonctions spectrales sont representees par des combinaisons 
  d'exponentielles, les calculs les concernant, sont donc effectues 
  systematiquement en complexe.
  Le caractere eventuellement reel n'est considere que dans la matrice
  elementaire.
line
      IMPLICIT NONE
      INTEGER ITYPTR,MCDGAM,MCDNU,MCDALF,MCDINT,MCPLOC,NBFDEV,NBTFON
     &       ,NDEGRE,NBDLEL
      REAL    THEMIN,THEMAX,TABCOF (0:NDEGRE,*)
      REAL    RST(*)
      COMPLEX CST(*)
 
      INTEGER INTTYP
      INTEGER IADGAM,IADNU,IADALF,IAPLOC,IAPLO1,IK,IP,IDL,IQ
      REAL    ECART,ABSEC
      COMPLEX VNU,BETA,FAC,SOM
line
      ECART=THEMIN-THEMAX
      ABSEC=ABS(ECART)
 
      IADGAM=MCDGAM
      IADNU =MCDNU
      IADALF=MCDALF
      IAPLOC=MCPLOC
 
      IF (ITYPTR.EQ.INTTYP ('COMPLEXE')) THEN
         DO 49 IK=1,NBFDEV
            DO 47 IP=1,NBTFON
               VNU =CST(IADNU)*ECART
               BETA=CST(IADNU)*THEMAX+CST(IADALF)
               FAC =CST(IADGAM)*ABSEC
 
               CALL EFLINT (VNU,NDEGRE,BETA,CST(MCDINT))
               IAPLO1=IAPLOC
               DO 43 IDL=1,NBDLEL
                  SOM=0.
                  DO 42 IQ=0,NDEGRE
                     SOM=SOM+TABCOF(NDEGRE-IQ,IDL)*CST(MCDINT+IQ)
42                CONTINUE
                  CST(IAPLO1)=CST(IAPLO1)+SOM*FAC
                  IAPLO1=IAPLO1+1
43             CONTINUE
               IADNU =IADNU +1
               IADALF=IADALF+1
               IADGAM=IADGAM+1
47          CONTINUE
            IAPLOC=IAPLOC+NBDLEL
49       CONTINUE
      ELSE
         DO 29 IK=1,NBFDEV
            DO 27 IP=1,NBTFON
               VNU =CST(IADNU)*ECART
               BETA=CST(IADNU)*THEMAX+CST(IADALF)
               FAC =CST(IADGAM)*ABSEC
 
               CALL EFLINT (VNU,NDEGRE,BETA,CST(MCDINT))
               IAPLO1=IAPLOC
               DO 23 IDL=1,NBDLEL
                  SOM=0.
                  DO 22 IQ=0,NDEGRE
                    SOM=SOM+TABCOF(NDEGRE-IQ,IDL)*CST(MCDINT+IQ)
22                CONTINUE
                  RST(IAPLO1)=RST(IAPLO1)+REAL(SOM*FAC)
                  IAPLO1=IAPLO1+1
23             CONTINUE
               IADNU =IADNU +1
               IADALF=IADALF+1
               IADGAM=IADGAM+1
27          CONTINUE
            IAPLOC=IAPLOC+NBDLEL
29       CONTINUE
      ENDIF
                                                                    END !Elploc
line
top

elploc est appelé dans

top