Download licoma.eso

Back to the list

   1 : C LICOMA    SOURCE    CHAT      05/01/13    01:17:24     5004           
   2 :       SUBROUTINE LICOMA(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             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 JUILLET 86                                            
  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)                                 
  32 :       DIMENSION XEL(3,3),BPSS(3,3),BB(9),VME(24,24)                             
  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                                                        
  39 : C                                                                               
  39 :       CALL VPAST(XE,BPSS)                                                       
  40 : C                                                                               
  41 : C     COORDONNEES LOCALES                                                       
  42 : C                                                                               
  42 :       CALL VCORLC(XE,XEL,BPSS)                                                  
  43 : C                                                                               
  44 : C     MISE A 0 DE LA MATRICE DE MASSE                                           
  45 : C                                                                               
  45 :       CALL ZERO(VME,LRE,LRE)                                                    
  46 : C                                                                               
  47 : C     CALCUL DE LA SURFACE                                                      
  48 : C                                                                               
  49 :       X21=XEL(1,2)-XEL(1,1)                                                     
  50 :       Y31=XEL(2,3)-XEL(2,1)                                                     
  51 :       SURF=X21*Y31                                                              
  52 : C                                                                               
  53 : C     ON COMPARE L ORIENTATION DE LA NORMALE SORTANTE AU FLUIDE                 
  54 : C       A CELLE DE LA PAROI                                                     
  55 : C                                                                               
  56 :       NBNNL=NBNN/2                                                              
  57 :       ID=NBNNL+1                                                                
  58 :       VNQSI1=XZER                                                               
  59 :       VNQSI2=XZER                                                               
  60 :       VNQSI3=XZER                                                               
  61 :       VNETA1=XZER                                                               
  62 :       VNETA2=XZER                                                               
  63 :       VNETA3=XZER                                                               
  64 :       ALFA=XZER                                                                 
  65 :       BETA=XZER                                                                 
  66 :       GAMMA=XZER                                                                
  67 :       DO 20 J=ID,NBNN                                                           
  68 :       VNQSI1=VNQSI1+SHPTOT(2,J,1)*XE(1,J)                                       
  69 :       VNQSI2=VNQSI2+SHPTOT(2,J,1)*XE(2,J)                                       
  70 :       VNQSI3=VNQSI3+SHPTOT(2,J,1)*XE(3,J)                                       
  71 :       VNETA1=VNETA1+SHPTOT(3,J,1)*XE(1,J)                                       
  72 :       VNETA2=VNETA2+SHPTOT(3,J,1)*XE(2,J)                                       
  73 :       VNETA3=VNETA3+SHPTOT(3,J,1)*XE(3,J)                                       
  74 :  20   CONTINUE                                                                  
  75 :       ALFA=VNQSI2*VNETA3-VNQSI3*VNETA2                                          
  76 :       BETA=VNQSI3*VNETA1-VNQSI1*VNETA3                                          
  77 :       GAMMA=VNQSI1*VNETA2-VNQSI2*VNETA1                                         
  78 :       PSCAL=ALFA*WORK(1)+BETA*WORK(2)+GAMMA*WORK(3)                             
  79 :       IF (ABS(PSCAL).LT.EPSI) GOTO 777                                          
  80 :       SENS=PSCAL/ABS(PSCAL)                                                     
  81 : C                                                                               
  82 : C     CALCUL DES TERMES DE LA MATRICE : INTEGRATION NUMERIQUE                   
  83 : C       NL : NUMERO D UN NOEUD LIQUIDE                                          
  84 : C       IGAU : NUMERO DU POINT DE GAUSS                                         
  85 : C       J : NUMERO D UN NOEUD DE COQUE                                          
  86 : C       K INDICE SUR LA COMPOSANTE W , RX , OU RY                               
  87 : C                                                                               
  88 :       DO 100 NL=1,NBNNL                                                         
  89 :       IL=2*NL                                                                   
  90 :       DO 80 IGAU=1,NBPGAU                                                       
  91 : C  VALEURS DES FONCTIONS DE FORME POUR L ELT DE COQUE                           
  91 :       CALL MFDKT(QSIGAU(IGAU),ETAGAU(IGAU),XEL,BB)                              
  92 :       DO 30 J=ID,NBNN                                                           
  93 :       INDM=2*NBNNL+(J-ID)*NDDL                                                  
  94 :       DO 35 K=1,3                                                               
  95 :       IC=INDM+2+K                                                               
  96 :       IP=(J-ID)*3+K                                                             
  97 :       VME(IL,IC)=VME(IL,IC)-SENS*CFPI*SURF*SHPTOT(1,NL,IGAU)                    
  98 :      1                      *POIGAU(IGAU)*BB(IP)                                
  99 :  35   CONTINUE                                                                  
 100 :  30   CONTINUE                                                                  
 101 :  80   CONTINUE                                                                  
 102 : C                                                                               
 103 : C     CHANGEMENT DE REPERE ET SYMETRISATION                                     
 104 : C                                                                               
 105 :       DO 50 J=ID,NBNN                                                           
 106 :       INDM=2*NBNNL+(J-ID)*NDDL                                                  
 107 :       INDF=INDM+3                                                               
 108 :       DO 55 I=1,3                                                               
 109 :       DO 56 IP=1,3                                                              
 110 :       REL(IL,INDM+I)=REL(IL,INDM+I)+BPSS(IP,I)*VME(IL,INDM+IP)                  
 111 :       REL(IL,INDF+I)=REL(IL,INDF+I)+BPSS(IP,I)*VME(IL,INDF+IP)                  
 112 :   56  CONTINUE                                                                  
 113 :   55  CONTINUE                                                                  
 114 :       DO 40 K=1,6                                                               
 115 :       IC=INDM+K                                                                 
 116 :       REL(IC,IL)=REL(IL,IC)                                                     
 117 :  40   CONTINUE                                                                  
 118 :  50   CONTINUE                                                                  
 119 : 100   CONTINUE                                                                  
 120 :       GOTO 666                                                                  
 121 : C                                                                               
 122 : C     ERREUR  LE VECTEUR PERMETTANT D ORIENTER L ELEMENT DE RACCORD             
 123 : C     EST NUL OU PARALLELE A LA FRONTIERE DU FLUIDE                             
 124 : C                                                                               
 125 : 777   IER246=246                                                                
 126 : 666   CONTINUE                                                                  
 127 :       RETURN                                                                    
 128 :       END                                                                       
 129 :  

© Cast3M 2003 - All rights reserved.
Disclaimer