Download trjtri.eso

Back to the list

   1 : C TRJTRI    SOURCE    CHAT      05/01/13    03:51:33     5004           
   2 :       SUBROUTINE TRJTRI(IZNOEU,IZTRAV,IZAPAR,NPAPAR,J,IEL,INOELO,TLI)
   3 : C                                                                               
   4 : C**********************************************************************         
   5 : C                                                                               
   6 : C   OBJET  : CE SOUS-PROGRAMME CALCULE L'APPARTENANCE DE POINTS A UN            
   7 : C   -----    ELEMENT TRIANGULAIRE D'UN MAILLAGE M1.                             
   8 : C       issu de TRIOEF utilise dans le calcul des trajectoires
   9 : C                                                                               
  10 : C   ARGUMENTS:                                                                  
  11 : C   ---------                                                                   
  12 : C                                                                               
  13 : C   ENTREE  :  IZNOEU = POINTEUR DU SEGMENT CONTENANT LES COORDONNES            
  14 : C                       DES NOEUDS ET LES NUMEROS DE NOEUDS DE L ELEMENT        
  15 : C              IZTRAV = POINTEUR DU SEGMENT CONTENANT LES COORDONNEES
  16 : C                       DES POINTS DONT ON CHERCHE L'APPARTENANCE               
  17 : C              IZAPAR = POINTEUR DU SEGMENT QUI CONTIENDRA LES                  
  18 : C                       APPARTENANCES                                           
  19 : C              NPAPAR = NOMBRE DE POINTS APPARTENANT A UN ELEMENT               
  20 : C              IEL    = NUMERO GLOBAL DE L'ELEMENT DANS LE MAILLAGE             
  21 : C              J      = NUMERO DU POINT TRAITE                                  
  22 : C                                                                               
  23 : C              INOELO = NUMERO LOCAL SI LE POINT CHERCHE EST UN NOEUD
  24 : C                       DU TRIANGLE CONSIDERE
  25 : C              TLI    COORDONNEES BARYCENTRIQUES DU POINT CONSIDERE
  26 : C                                                                               
  27 : C***********************************************************************        
  28 : C                                                                               
  29 :       IMPLICIT INTEGER(I-N)
  30 :       IMPLICIT REAL*8 (A-H,O-Z)                                                 
  31 :       DIMENSION X(2),TLI(*)
  32 : C                                                                               
  33 :       SEGMENT IZAPAR 
  34 :            INTEGER IAPAR(4,NPT2)
  35 :       ENDSEGMENT
  36 : C                                                                               
  37 :       SEGMENT IZTRAV
  38 :            REAL*8  COOR(NDIM,NPART)
  39 :       ENDSEGMENT
  40 :       SEGMENT  IZNOEU 
  41 :             REAL*8 XELE(IDIM,NOEL)  
  42 :             INTEGER NOEGLO(NOEL)
  43 :       ENDSEGMENT
  44 : C                                                                               
  45 :       IDIM=XELE(/1)                                                              
  46 :       NOEL=XELE(/2)                                                              
  47 :       INOELO=0
  48 :       IF(NOEL.GT.3) GO TO 20                                                    
  49 : C                                                                               
  50 : C---  CAS TRI3                                                                  
  51 : C                                                                               
  52 :       IF(IAPAR(1,J).NE.0) GO TO 9999                                            
  53 :       X(1)=COOR(1,J)
  54 :       X(2)=COOR(2,J)
  54 :       CALL APAT3(X,XELE,IELEM,IARTRI,INOTRI,TLI)
  55 :       IF(IELEM.EQ.0) GO TO 9999                                                 
  56 : C                                                                               
  57 : C---  LE POINT APPARTIENT A L'ELEMENT                                           
  58 : C                                                                               
  59 :       NPAPAR=NPAPAR+1                                                           
  60 :       IAPAR(1,J)=IEL                                                            
  61 : C                                                                               
  62 : C---  APPARTENANCE A UNE ARETE DU TRI3                                          
  63 : C                                                                               
  64 :       IF(IARTRI.EQ.0) GO TO 9999                                                
  65 :       IAPAR(3,J)=IARTRI                                                         
  66 : C                                                                               
  67 : C---  APPARTENANCE A UN NOEUD DU TRI3                                           
  68 : C                                                                               
  69 :       IF(INOTRI.EQ.0) GO TO 9999                                                
  70 :       INOELO=INOTRI                                                             
  71 :       IAPAR(4,J)=NOEGLO(INOTRI)                                                 
  72 :       GO TO 9999                                                                
  73 : C                                                                               
  74 : C---  CAS TRI6-TRI7                                                             
  75 : C                                                                               
  76 :    20 CONTINUE                                                                  
  77 :       IF(IAPAR(1,J).NE.0) GO TO 9999                                            
  78 :       X(1)=COOR(1,J)
  79 :       X(2)=COOR(2,J)
  79 :       CALL APAT67(NOEL,X,XELE,IELEM,IARTRI,INOTRI,TLI)
  80 :       IF(IELEM.EQ.0) GO TO 9999                                                 
  81 : C                                                                               
  82 : C---  LE POINT APPARTIENT A L'ELEMENT                                           
  83 : C                                                                               
  84 :       NPAPAR=NPAPAR+1                                                           
  85 :       IAPAR(1,J)=IEL                                                            
  86 : C                                                                               
  87 : C---  APPARTENANCE A UNE ARETE DU TRI6 OU TRI7                                  
  88 : C                                                                               
  89 :       IF(IARTRI.EQ.0) GO TO 9999                                                
  90 :       IAPAR(3,J)=IARTRI                                                         
  91 : C                                                                               
  92 : C---  APPARTENANCE A UN NOEUD DU TRI6 OU TRI7                                   
  93 : C                                                                               
  94 :       IF(INOTRI.EQ.0) GO TO 9999                                                
  95 :       INOELO=INOTRI                                                             
  96 :       IAPAR(4,J)=NOEGLO(INOTRI)                                                 
  97 : C                                                                               
  98 : C                                                                               
  99 :  9999 RETURN                                                                    
 100 :       END                                                                       
 101 :  

© Cast3M 2003 - All rights reserved.
Disclaimer