Download lic4ma.eso

Back to the list

   1 : C LIC4MA    SOURCE    CHAT      05/01/13    01:16:57     5004           
   2 :       SUBROUTINE LIC4MA(NBPGAU,IDIM,NBNN,NDDL,XE,CFPI,WORK,POIGAU,              
   3 :      1         QSIGAU,ETAGAU,SHPTOT,REL,LRE,IER246)                             
   4 : C=======================================================================        
   5 : C                                                                               
   6 : C      CALCULE LA MATRICE MASSE DE L ELEMENT DE RACCORD                         
   7 : C       LIQUIDE-COQUE 4 NOEUDS     CAS TRIDIMENSIONNEL                           
   8 : C      (INTEGRE LE PRODUIT PI*U AVEC U DEPLACEMENT NORMAL A LA PAROI            
   9 : C         DU SOLIDE)                                                            
  10 : C                                                                               
  11 : C      ROUTINE FORTRAN PUR                                                      
  12 : C                                                                               
  13 : C     BERTRAND BEAUFILS AOUT 92  ( D'APRES ROUTINE LICOMA)                                            
  14 : C=======================================================================        
  15 : C      ENTREES                                                                  
  16 : C         NBPGAU = NB DE PTS DE GAUSS                                           
  17 : C         NBNN   = NB DE NOEUDS DE L ELEMENT DE RACCORD                         
  18 : C         XE(3,NBNN) = COORDONNEES LOCALES DE L ELEMENT                         
  19 : C         CFPI   = COEFFICIENT DE NORMALISATION SUR PI                          
  20 : C         WORK(IDIM) = COMPOSANTES DE LA NORMALE SORTANTE AU FLUIDE             
  21 : C         POIGAU(NBPGAU) = POIDS DE GAUSS                                       
  22 : C         QSIGAU(NBPGAU),ETAGAU(NBPGAU) = COORDONNEES DES PTS DE GAUSS          
  23 : C         SHPTOT(6,NBNN,NBPGAU) = FONCTIONS DE FORME ET DERIVEES DE             
  24 : C            L ELEMENT DE RACCORD                                               
  25 : C      SORTIES                                                                  
  26 : C         REL(LRE,LRE) = MATRICE DE MASSE                                       
  27 : C=======================================================================        
  28 :       IMPLICIT INTEGER(I-N)
  29 :       IMPLICIT REAL*8 (A-H,O-Z)                                                 
  30 :       DIMENSION XE(3,1),WORK(IDIM),POIGAU(NBPGAU),QSIGAU(NBPGAU)                
  31 :       DIMENSION ETAGAU(NBPGAU),SHPTOT(6,NBNN,1),SHP(6,4)                                
  32 :       DIMENSION XEL(3,4),BPSS(3,3),VME(32,32)                             
  33 :       DIMENSION REL(LRE,1)                                                      
  34 :       DATA EPSI/1.D-12/                                                         
  35 :       DATA XZER/0.D0/                                                           
  36 :       IER246=0                                                                  
  37 : C                                                                               
  38 : C     MATRICE DE PASSAGE ET COORDONNEES LOCALES                                                        
  39 : C                                                                               
  39 :       CALL CQ4LOC(XE,XEL,BPSS,NOQUAL,0)
  40 : C                                                                               
  41 : C     MISE A 0 DE LA MATRICE DE MASSE                                           
  42 : C                                                                               
  42 :       CALL ZERO(VME,LRE,LRE)                                                                                                                                                                                                              
  43 : C
  44 : C     ON COMPARE L ORIENTATION DE LA NORMALE SORTANTE AU FLUIDE                 
  45 : C       A CELLE DE LA PAROI                                                     
  46 : C                                                                               
  47 :       NBNNL=NBNN/2                                                              
  48 :       ID=NBNNL+1                                                                
  49 :       VNQSI1=XZER                                                               
  50 :       VNQSI2=XZER                                                               
  51 :       VNQSI3=XZER                                                               
  52 :       VNETA1=XZER                                                               
  53 :       VNETA2=XZER                                                               
  54 :       VNETA3=XZER                                                               
  55 :       ALFA=XZER                                                                 
  56 :       BETA=XZER                                                                 
  57 :       GAMMA=XZER                                                                
  58 :       DO 20 J=ID,NBNN                                                           
  59 :       VNQSI1=VNQSI1+SHPTOT(2,J,1)*XE(1,J)                                       
  60 :       VNQSI2=VNQSI2+SHPTOT(2,J,1)*XE(2,J)                                       
  61 :       VNQSI3=VNQSI3+SHPTOT(2,J,1)*XE(3,J)                                       
  62 :       VNETA1=VNETA1+SHPTOT(3,J,1)*XE(1,J)                                       
  63 :       VNETA2=VNETA2+SHPTOT(3,J,1)*XE(2,J)                                       
  64 :       VNETA3=VNETA3+SHPTOT(3,J,1)*XE(3,J)                                       
  65 :  20   CONTINUE                                                                  
  66 :       ALFA=VNQSI2*VNETA3-VNQSI3*VNETA2                                          
  67 :       BETA=VNQSI3*VNETA1-VNQSI1*VNETA3                                          
  68 :       GAMMA=VNQSI1*VNETA2-VNQSI2*VNETA1                                         
  69 :       PSCAL=ALFA*WORK(1)+BETA*WORK(2)+GAMMA*WORK(3)                             
  70 :       IF (ABS(PSCAL).LT.EPSI) GOTO 777                                          
  71 :       SENS=PSCAL/ABS(PSCAL)                                                     
  72 : C                                                                               
  73 : C     CALCUL DES TERMES DE LA MATRICE : INTEGRATION NUMERIQUE                   
  74 : C       NL : NUMERO D UN NOEUD LIQUIDE                                          
  75 : C       IGAU : NUMERO DU POINT DE GAUSS                                         
  76 : C       J : NUMERO D UN NOEUD DE COQUE                                          
  77 : C       K INDICE SUR LA COMPOSANTE W , RX , OU RY                               
  78 : C
  79 :         COEF2=SENS*CFPI                                                                               
  80 :       DO 100 NL=1,NBNNL
  81 :         IL=2*NL                                                                   
  82 :         DO 80 IGAU=1,NBPGAU
  83 : C
  84 : C      CALCUL DU JACOBIEN
  85 : C
  86 :          DO 250 NP=1,NBNNL
  87 :            SHP(1,NP)=SHPTOT(1,NP,IGAU)
  88 :            SHP(2,NP)=SHPTOT(2,NP,IGAU)
  89 :            SHP(3,NP)=SHPTOT(3,NP,IGAU)
  90 :  250     CONTINUE
  90 :          CALL JACOBI(XEL,SHP,2,NBNNL,DJAC)
  91 : C
  92 : C
  93 :           COEF1=COEF2*DJAC
  94 :            DO 200 NS=ID,NBNN
  95 :               IC1=(2*NBNNL)+((NS-ID)*NDDL)+3                                                  
  96 :               VME(IL,IC1)=VME(IL,IC1)-(COEF1*SHPTOT(1,NL,IGAU)
  97 :      1                        *POIGAU(IGAU)*SHPTOT(1,NS,IGAU))
  98 :                                                                 
  99 :  200       CONTINUE                                                                  
 100 :  80     CONTINUE                                                                  
 101 : C                                                                               
 102 : C     CHANGEMENT DE REPERE ET SYMETRISATION                                     
 103 : C                                                                               
 104 :         DO 50 J=ID,NBNN                                                           
 105 :           INDM=2*NBNNL+(J-ID)*NDDL                                                  
 106 :           INDF=INDM+3                                                               
 107 :           DO 55 I=1,3                                                               
 108 :             DO 56 IP=1,3                                                              
 109 :               REL(IL,INDM+I)=REL(IL,INDM+I)+BPSS(IP,I)*VME(IL,INDM+IP)                  
 110 :               REL(IL,INDF+I)=REL(IL,INDF+I)+BPSS(IP,I)*VME(IL,INDF+IP)                  
 111 :   56        CONTINUE                                                                  
 112 :   55      CONTINUE                                                                  
 113 :           DO 40 K=1,6                                                               
 114 :             IC=INDM+K                                                                 
 115 :             REL(IC,IL)=REL(IL,IC)                                                     
 116 :  40       CONTINUE                                                                  
 117 :  50     CONTINUE                                                                  
 118 : 100   CONTINUE                                                                  
 119 :       GOTO 666                                                                  
 120 : C                                                                               
 121 : C     ERREUR  LE VECTEUR PERMETTANT D ORIENTER L ELEMENT DE RACCORD             
 122 : C     EST NUL OU PARALLELE A LA FRONTIERE DU FLUIDE                             
 123 : C                                                                               
 124 : 777   IER246=246                                                                
 125 : 666   CONTINUE                                                                  
 126 :       RETURN                                                                    
 127 :       END                                                                       
 128 :  

© Cast3M 2003 - All rights reserved.
Disclaimer