Download liamas.eso

Back to the list

   1 : C LIAMAS    SOURCE    CHAT      05/01/13    01:16:42     5004           
   2 :       SUBROUTINE LIAMAS(NBPGAU,IDIM,NBNN,NDDL,XE,CFPI,WORK,POIGAU,              
   3 :      1         SHPTOT,REL,LRE,IER246)                                                  
   4 : C=======================================================================        
   5 : C                                                                               
   6 : C      CALCULE LA MATRICE MASSE DE L ELEMENT DE RACCORD                         
   7 : C       LIQUIDE MASSIF LINEAIRE   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     JACQUELINE BROCHARD OCTOBRE 85                                            
  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         SHPTOT(6,NBNN,NBPGAU) = FONCTIONS DE FORME ET DERIVEES DE             
  23 : C            L ELEMENT DE RACCORD                                               
  24 : C      SORTIES                                                                  
  25 : C         REL(LRE,LRE) = MATRICE DE MASSE                                       
  26 : C=======================================================================        
  27 :       IMPLICIT INTEGER(I-N)
  28 :       IMPLICIT REAL*8 (A-H,O-Z)                                                 
  29 :       DIMENSION XE(3,1),WORK(IDIM),POIGAU(NBPGAU),SHPTOT(6,NBNN,1)              
  30 :       DIMENSION REL(LRE,1)                                                      
  31 :       DATA EPSI/1.D-12/                                                         
  32 :       DATA XZER/0.D0/                                                           
  33 : C                                                                               
  34 : C     BOUCLE SUR LES NOEUDS LIQUIDE ET INTEGRATION NUMERIQUE                    
  35 : C                                                                               
  36 :       IER246=0                                                                  
  37 :       NBNNL=NBNN/2                                                              
  38 :       DO 100 NL=1,NBNNL                                                         
  39 :       DO 80 IGAU=1,NBPGAU                                                       
  40 : C                                                                               
  41 : C     CALCUL DU RAYON ET DES COMPOSANTES DU VECTEUR NORMAL A LA PAROI           
  42 : C                                                                               
  43 :       VNQSI1=XZER                                                               
  44 :       VNQSI2=XZER                                                               
  45 :       VNQSI3=XZER                                                               
  46 :       VNETA1=XZER                                                               
  47 :       VNETA2=XZER                                                               
  48 :       VNETA3=XZER                                                               
  49 :       ALFA=XZER                                                                 
  50 :       BETA=XZER                                                                 
  51 :       GAMMA=XZER                                                                
  52 :       ID=NBNNL+1                                                                
  53 :       DO 20 J=ID,NBNN                                                           
  54 :       VNQSI1=VNQSI1+SHPTOT(2,J,IGAU)*XE(1,J)                                    
  55 :       VNQSI2=VNQSI2+SHPTOT(2,J,IGAU)*XE(2,J)                                    
  56 :       VNQSI3=VNQSI3+SHPTOT(2,J,IGAU)*XE(3,J)                                    
  57 :       VNETA1=VNETA1+SHPTOT(3,J,IGAU)*XE(1,J)                                    
  58 :       VNETA2=VNETA2+SHPTOT(3,J,IGAU)*XE(2,J)                                    
  59 :       VNETA3=VNETA3+SHPTOT(3,J,IGAU)*XE(3,J)                                    
  60 :  20   CONTINUE                                                                  
  61 :       ALFA=VNQSI2*VNETA3-VNQSI3*VNETA2                                          
  62 :       BETA=VNQSI3*VNETA1-VNQSI1*VNETA3                                          
  63 :       GAMMA=VNQSI1*VNETA2-VNQSI2*VNETA1                                         
  64 : C                                                                               
  65 : C     ON COMPARE L ORIENTATION DE LA NORMALE SORTANTE AU FLUIDE                 
  66 : C       A CELLE DE LA PAROI                                                     
  67 : C                                                                               
  68 :       PSCAL=ALFA*WORK(1)+BETA*WORK(2)+GAMMA*WORK(3)                             
  69 :       IF (ABS(PSCAL).LT.EPSI) GOTO 777                                          
  70 :       SENS=PSCAL/ABS(PSCAL)                                                     
  71 : C                                                                               
  72 : C     ON REMPLIT LA MATRICE                                                     
  73 : C                                                                               
  74 :       DO 30 J=ID,NBNN                                                           
  75 :       IL=2*NL                                                                   
  76 :       IC1=2*NBNNL+(J-ID)*NDDL+1                                                 
  77 :       IC2=IC1+1                                                                 
  78 :       IC3=IC1+2                                                                 
  79 :       REL(IL,IC1)=REL(IL,IC1)-SENS*CFPI*SHPTOT(1,NL,IGAU)                       
  80 :      1                      *POIGAU(IGAU)*ALFA*SHPTOT(1,J,IGAU)                 
  81 :       REL(IL,IC2)=REL(IL,IC2)-SENS*CFPI*SHPTOT(1,NL,IGAU)                       
  82 :      1                      *POIGAU(IGAU)*BETA*SHPTOT(1,J,IGAU)                 
  83 :       REL(IL,IC3)=REL(IL,IC3)-SENS*CFPI*SHPTOT(1,NL,IGAU)                       
  84 :      1                     *POIGAU(IGAU)*GAMMA*SHPTOT(1,J,IGAU)                 
  85 :  30   CONTINUE                                                                  
  86 :  80   CONTINUE                                                                  
  87 : C                                                                               
  88 : C     SYMETRISATION                                                             
  89 : C                                                                               
  90 :       DO 40 J=ID,NBNN                                                           
  91 :       IL=2*NL                                                                   
  92 :       IC1=2*NBNNL+(J-ID)*NDDL+1                                                 
  93 :       IC2=IC1+1                                                                 
  94 :       IC3=IC1+2                                                                 
  95 :       REL(IC1,IL)=REL(IL,IC1)                                                   
  96 :       REL(IC2,IL)=REL(IL,IC2)                                                   
  97 :       REL(IC3,IL)=REL(IL,IC3)                                                   
  98 :  40   CONTINUE                                                                  
  99 : 100   CONTINUE                                                                  
 100 :       GOTO 666                                                                  
 101 : C                                                                               
 102 : C     ERREUR  LE VECTEUR PERMETTANT D ORIENTER L ELEMENT DE RACCORD             
 103 : C     EST NUL OU PARALLELE A LA FRONTIERE DU FLUIDE                             
 104 : C                                                                               
 105 : 777   IER246=246                                                                
 106 : 666   CONTINUE                                                                  
 107 :       RETURN                                                                    
 108 :       END                                                                       
 109 :  

© Cast3M 2003 - All rights reserved.
Disclaimer