Download rlocal.eso

Back to the list

   1 : C RLOCAL    SOURCE    CHAT      06/03/29    21:32:23     5360           
   2 :       SUBROUTINE RLOCAL (XEL,SHPTOT,NBSH,NBNN,TXR)
   3 :       IMPLICIT INTEGER(I-N)
   4 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
   5 : *                                                                               
   6 : *                                                                               
   7 : * Attention en cas d'erreur, erreur n'est pas appelé, c'est au
   8 : * sp appelant à le faire (prob erreur utilise esope)
   9 : *                                                                               
  10 : ************************************************************************        
  11 : *                                                                               
  12 : *                             R L O C A L                                       
  13 : *                             -------------                                     
  14 : *                                                                               
  15 : * FONCTION:                                                                     
  16 : * ---------                                                                     
  17 : *                                                                               
  18 : *     CALCUL DES COS-DIR. DES AXES LOCAUX DE L'ELEMENT MASSIF                   
  19 : *                                                                               
  20 : *                                                                               
  21 : *                                                                               
  22 : * MODULES UTILISES:                                                             
  23 : * -----------------                                                             
  24 : *                                                                               
  25 : -INC CCOPTIO                                                                    
  26 : -INC CCREEL                                                                     
  27 : *                                                                               
  28 : * PARAMETRES:   (E)=ENTREE   (S)=SORTIE   (+ = CONTENU DANS UN COMMUN)          
  29 : * -----------                                                                   
  30 : *                                                                               
  31 : *     XEL     (E)  TABLEAU CONTENANT LES COORDONNEES DES NOEUDS                 
  32 : *     SHPTOT (E)  TABLEAU CONTENANT LES FONCTIONS DE FORME ET                   
  33 : *                 LEURS DERIVEES AU  CENTRE DE L'ELEMENT                        
  34 : *     NBSH   (E)  NOMBRE DE FONCTIONS D'INTERPOLATION
  35 : *     NBNN   (E)  NOMBRE DE NOEUDS PAR ELEMENT                                  
  36 : *     TXR    (S)  COS.DIRECTEUR DES AXES LOCAUX/REPERE GLOBAL                   
  37 : *                                                                               
  38 : *                                                                               
  39 : * REMARQUE :                                                                    
  40 : *                                                                               
  41 : *                                                                               
  42 : * LA TANGANTE A L'AXE KSI  AU CENTRE DE L'ELEMENT FORME L'AXE 1 ,L'AXE 3        
  43 : * EST OBTENU PAR LE PRODUIT VECTORIEL DE L'AXE 1 ET LA TANGANTE A               
  44 : * L'AXE ETA AU CENTRE DE L'ELEMENT,L'AXE 2 EST OBTENU PAR LE PRODUIT            
  45 : * VECTORIEL  DES AXES 3 ET 1                                                    
  46 : *                                                                               
  47 : *                                                                               
  48 : * AUTEUR, DATE DE CREATION:                                                     
  49 : * -------------------------                                                     
  50 : *                                                                               
  51 : *     P. DOWLATYARI OCT. 1990                                                   
  52 : *                                                                               
  53 : * LANGAGE:                                                                      
  54 : * --------                                                                      
  55 : *       FORTRAN 77 + ESOPE                                                      
  56 : *                                                                               
  57 : *                                                                               
  58 : ************************************************************************        
  59 : *                                                                               
  60 : *                                                                               
  61 :        DIMENSION  TXR(IDIM,IDIM),XEL(3,NBNN),SHPTOT(6,NBSH,1)
  62 : *                                                                               
  63 : *                                                                               
  64 : *                                                                               
  65 :       DO 10 K=1,IDIM                                                            
  66 :       DO 10 L=1,IDIM                                                            
  67 :        TXR(K,L)=XZERO                                                           
  68 :  10    CONTINUE                                                                 
  69 : *                                                                               
  70 : *          CAS BIDIMENSIONNEL                                                   
  71 : *                                                                               
  72 :       IF(IDIM.EQ.2)THEN                                                         
  73 :        DO 20 INO=1,NBNN                                                         
  74 :         TXR(1,1)=SHPTOT(2,INO,1)*XEL(1,INO)+TXR(1,1)                            
  75 :         TXR(2,1)=SHPTOT(2,INO,1)*XEL(2,INO)+TXR(2,1)                            
  76 :  20    CONTINUE                                                                 
  77 : *                                                                               
  78 : *     NORMALISATION                                                             
  79 : *                                                                               
  80 :        XNORM=DSQRT(TXR(1,1)*TXR(1,1)+TXR(2,1)*TXR(2,1))                         
  81 :        IF(XNORM.LE. XPETIT)THEN                                                 
  82 : *      ELEMENT MASSIF DEGENERE ,REPERE LOCAL IMPOSSIBLE A DEFINIR               
  82 : **     CALL ERREUR (525)
  83 :         nbsh=-1
  84 :         RETURN                                                                  
  85 :        ENDIF                                                                    
  86 :        TXR(1,1)=TXR(1,1)/XNORM                                                  
  87 :        TXR(2,1)=TXR(2,1)/XNORM                                                  
  88 :        TXR(1,2)=-TXR(2,1)                                                       
  89 :        TXR(2,2)=TXR(1,1)                                                        
  90 : *                                                                               
  91 :        ELSEIF(IDIM.EQ.3)THEN                                                    
  92 : *                                                                               
  93 :        DO 30 IC=1,2                                                             
  94 :        DO 30 IL=1,3                                                             
  95 :        DO 30 INO=1,NBNN                                                         
  96 :          TXR(IL,IC)=TXR(IL,IC)+SHPTOT((IC+1),INO,1)*XEL(IL,INO)                 
  97 :  30    CONTINUE                                                                 
  98 : *                                                                               
  99 : *                                                                               
 100 : *     NORMALISATION DE L'AXE 1                                                  
 101 : *                                                                               
 102 :        XNORM=DSQRT(TXR(1,1)*TXR(1,1)+TXR(2,1)*TXR(2,1)+                         
 103 :      .            TXR(3,1)*TXR(3,1))                                            
 104 :        IF(XNORM.LE. XPETIT)THEN                                                 
 105 : *      ELEMENT MASSIF DEGENERE ,REPERE LOCAL IMPOSSIBLE A DEFINIR               
 105 : **     CALL ERREUR (525)
 106 :         nbsh=-1
 107 :         RETURN                                                                  
 108 :        ENDIF                                                                    
 109 :        TXR(1,1)=TXR(1,1)/XNORM                                                  
 110 :        TXR(2,1)=TXR(2,1)/XNORM                                                  
 111 :        TXR(3,1)=TXR(3,1)/XNORM                                                  
 112 : *                                                                               
 113 : *      CALCUL DES AXES 3 ET 2                                                   
 114 : *                                                                               
 114 :        CALL CROSS2 (TXR(1,1),TXR(1,2),TXR(1,3),IRR)                             
 115 :        IF(IRR.EQ.0)THEN                                                         
 116 : *      ELEMENT MASSIF DEGENERE ,REPERE LOCAL IMPOSSIBLE A DEFINIR               
 116 : **     CALL ERREUR (525)
 117 :         nbsh=-1
 118 :         RETURN                                                                  
 119 :        ENDIF                                                                    
 119 :        CALL CROSS2 (TXR(1,3),TXR(1,1),TXR(1,2),IRR)                             
 120 :        ENDIF                                                                    
 121 : *                                                                               
 122 :       RETURN                                                                    
 123 :       END                                                                       
 124 :                                                                                 
 125 :  
 126 :  
 127 :  
 128 :  
 129 :  

© Cast3M 2003 - All rights reserved.
Disclaimer