Download trjulo.eso

Back to the list

   1 : C TRJULO    SOURCE    CHAT      05/01/13    03:51:40     5004           
   2 :       SUBROUTINE TRJULO(XNOEU,UNOEU,UELEM,XY,ITYP,IDIM,NOEL1,NOUN,
   3 :      * IFORMU,SHP,SHY)
   4 : C*******************************************************************
   5 : C      ISSU DE TRIOEF  sp ULOTAR
   6 : C         calcul de la vitesse dans l'element de reference
   7 : C********************************************************************           
   8 : C   ENTREES
   9 : C     XNOEU COORDONNEES REELLES DES NOEUDS DE L ELEMENT                         
  10 : C     UNOEU VITESSES AUX NOEUDS DE L ELEMENT(OU FLUX AUX FACES)
  11 : C     XY COORDONNEES DE REFERENCES DU POINT DE CALCUL                           
  12 : C     ITYP TYPE DE L ELEMENT                                                    
  13 : C     NOEL1  NOMBRE DE NOEUDS DE L ELEMENT POSITION                             
  14 : C     NOUN NOMBRE DE VITESSES OU FLUX PAR ELEMENT. Pour les EFMH ce
  15 : C        ce nombre est different de NOEL1 pour le cube et le prisme
  16 : C   SORTIES
  17 : C     UELEM VITESSE DANS L ELEMENT DE REFERENCE EXPRIMEE AVEC LES               
  18 : C           COORDONNEES DE REFERENCE AU POINT DE CALCUL                         
  19 : C
  20 : C     SHP(1,I) FONCTIONS DE FORMES AU POINT DE CALCUL
  21 : C     SHP(2,I) DERIVEE DES FONCTIONS DE FORME / XSI AU POINT DE CALCUL
  22 : C     SHP(3,I)    "     "      "     "    "   / ETA "    "   "    "
  23 : C     SHP(4,I)    "     "      "      "   "   /DZETA "   "    "   "
  24 : C ********************************************************************          
  25 : C                                                                               
  26 : C                                                                               
  27 :       IMPLICIT INTEGER(I-N)
  28 :       IMPLICIT REAL*8 (A-H,O-Z)                                                 
  29 : C
  30 : C                                                                               
  31 : C                                                                               
  32 :       DIMENSION UNOEU(*),XY(*),UELEM(*),UE(3)
  33 :       DIMENSION XNOEU(3,*),SHP(6,*),SHY(12,*)
  34 : C                                                                               
  35 : C                                                                               
  36 : C***  CALCUL DES XI ET DES DXI                                                  
  37 : C                                                                               
  38 : C     write(6,*)' ulotar' ,noel1,((unoeu(i,j),i=1,idim),j=1,noel1)
  39 : C     write(6,*) xy(1),xy(2),((xnoeu(i,j),i=1,idim),j=1,noel1)
  39 :       CALL SHAPE(XY(1),XY(2),XY(3),ITYP,SHP,IRET)
  40 : C                                                                               
  41 : C***  VITESSE                                                                   
  42 : C                                                                               
  43 : C                                                                               
  44 : C                                                                               
  45 : C***  COEFFICIENTS DE DERIVATION                                                
  46 : C                                                                               
  47 :       IF(IDIM.EQ.2)THEN
  48 : C                                                                               
  49 : C***  BIDIM                                                                     
  50 : C                                                                               
  51 :             A=0.D0
  52 :             B=0.D0
  53 :             C=0.D0
  54 :             D=0.D0
  55 :             DO 63 I=1,NOEL1                                                           
  56 :                  A=A+SHP(2,I)*XNOEU(1,I)
  57 :                  B=B+SHP(3,I)*XNOEU(1,I)
  58 :                  C=C+SHP(2,I)*XNOEU(2,I)
  59 :                  D=D+SHP(3,I)*XNOEU(2,I)
  60 :   63        CONTINUE
  61 :             DEL=A*D-B*C                                                               
  62 :       IF(IFORMU.EQ.1)THEN
  63 : C                            FORMULATION ELEMENTS FINIS
  63 :       CALL TRJVPO(UNOEU,UE,XY,ITYP,IDIM,NOEL1,SHP)
  64 :             UELEM(1)=(D*UE(1)-B*UE(2))/DEL                                            
  65 :             UELEM(2)=(A*UE(2)-C*UE(1))/DEL                                            
  66 : C     write(6,*) 'vitesse',(ue(i),i=1,idim)
  67 : C                            FORMULATION HYBRIDE
  68 :       ELSEIF(IFORMU.EQ.2)THEN
  69 :       ITYH=NUMHYB(ITYP)
  69 :       CALL HYSHP(XY(1),XY(2),XY(3),ITYH,NOUN,12,SHY,IRET)
  70 :       DO 50 I=1,IDIM
  71 :       UE(I)=0.D0
  72 :       DO 40 K=1,NOUN
  73 :       UE(I)=UE(I)+SHY(I,K)*UNOEU(K)
  74 :    40 CONTINUE
  75 : C     write(6,*)'shy ',i,(shy(i,k),k=1,noel1)
  76 :       UELEM(I)=UE(I)/ABS(DEL)
  77 :    50 CONTINUE
  78 :       ENDIF
  79 : C           write(6,*)' uelem ',uelem(1),uelem(2)
  80 : C                                                                               
  81 : C                                                                               
  82 : C***  TRIDIM                                                                    
  83 : C                                                                               
  84 :       ELSE
  85 :             A1=0.D0
  86 :             A2=0.D0
  87 :             A3=0.D0
  88 :             B1=0.D0
  89 :             B2=0.D0
  90 :             B3=0.D0
  91 :             C1=0.D0
  92 :             C2=0.D0
  93 :             C3=0.D0
  94 :             DO 75 I=1,NOEL1                                                           
  95 :                  A1=A1+SHP(2,I)*XNOEU(1,I)
  96 :                  A2=A2+SHP(3,I)*XNOEU(1,I)
  97 :                  A3=A3+SHP(4,I)*XNOEU(1,I)
  98 :                  B1=B1+SHP(2,I)*XNOEU(2,I)
  99 :                  B2=B2+SHP(3,I)*XNOEU(2,I)
 100 :                  B3=B3+SHP(4,I)*XNOEU(2,I)
 101 :                  C1=C1+SHP(2,I)*XNOEU(3,I)
 102 :                  C2=C2+SHP(3,I)*XNOEU(3,I)
 103 :                  C3=C3+SHP(4,I)*XNOEU(3,I)
 104 :   75        CONTINUE
 105 :             DET=A1*(B2*C3-C2*B3)+A2*(C1*B3-B1*C3)+A3*(B1*C2-B2*C1)                    
 106 :       IF(IFORMU.EQ.1)THEN
 107 : C                            FORMULATION ELEMENTS FINIS
 107 :       CALL TRJVPO(UNOEU,UE,XY,ITYP,IDIM,NOEL1,SHP)
 108 :             UELEM(1)=((B2*C3-C2*B3)*UE(1)+(A3*C2-A2*C3)*UE(2)                         
 109 :      *               +(A2*B3-A3*B2)*UE(3))/DET
 110 :             UELEM(2)=((C1*B3-C3*B1)*UE(1)+(A1*C3-A3*C1)*UE(2)                         
 111 :      *               +(A3*B1-A1*B3)*UE(3))/DET
 112 :             UELEM(3)=((B1*C2-B2*C1)*UE(1)+(A2*C1-A1*C2)*UE(2)                         
 113 :      *               +(A1*B2-A2*B1)*UE(3))/DET
 114 : C     write(6,*) 'vitesse',(ue(i),i=1,idim)
 115 : C                            FORMULATION HYBRIDE
 116 :       ELSEIF(IFORMU.EQ.2)THEN
 117 :       ITYH=NUMHYB(ITYP)
 117 :       CALL HYSHP(XY(1),XY(2),XY(3),ITYH,NOUN,12,SHY,IRET)
 118 :       DO 70 I=1,IDIM
 119 :       UE(I)=0.D0
 120 :       DO 60 K=1,NOUN
 121 :       UE(I)=UE(I)+SHY(I,K)*UNOEU(K)
 122 :    60 CONTINUE
 123 :       UELEM(I)=UE(I)/ABS(DET)
 124 :    70 CONTINUE
 125 :       ENDIF
 126 : C                                                                               
 127 :       ENDIF
 128 :       RETURN                                                                    
 129 :       END                                                                       
 130 :  
 131 :  
 132 :  

© Cast3M 2003 - All rights reserved.
Disclaimer