Download chrep2.eso

Back to the list

   1 : C CHREP2    SOURCE    CHAT      05/01/12    22:01:50     5004           
   2 :       SUBROUTINE CHREP2(ENT,SOR,ANG,NSTRS,MFR,ICLE,KERRE)
   3 :       IMPLICIT INTEGER(I-N)
   4 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
   5 : -INC CCOPTIO
   6 :       DIMENSION ENT(*),SOR(*)
   7 : C                                                                               
   8 : C----------------------------------------------                                 
   9 : C     CETTE ROUTINE PERMET DE CHANGER DE REPERE
  10 : C     UN CHAMP DE CONTRAINTE   (ICLE=1)
  11 : C     OU UN CHAMP DE DEFORMATION  (ICLE=2)
  12 : C     d'apres CHREP
  13 : C
  14 : C
  15 : C   EN PRATIQUE, IL FAUDRAIT PLUTOT APPELER
  16 : C   LES SOUS PROGRAMMES UTILISES DANS RTENS
  17 : C----------------------------------------------                                 
  18 : C                                                                               
  19 :       KERRE=0
  20 :       S=SIN(ANG)                                                                
  21 :       C=COS(ANG)                                                                
  22 :       CC=C*C                                                                    
  23 :       SS=S*S                                                                    
  24 :       CS=S*C                                                                    
  25 :       IF(ICLE.EQ.1) THEN
  26 :         FAC1=1.D0
  27 :         FAC2=2.D0
  28 :       ELSE
  29 :         FAC1=2.D0
  30 :         FAC2=1.D0
  31 :       ENDIF
  32 : *
  33 : *     CAS COQUES MINCES
  34 : *
  35 :       IF(MFR.EQ.3) THEN
  36 :         NN=0
  37 :         DO 1 I=1,2
  38 :           IF(IFOUR.LE.0) THEN
  39 :             SOR(NN+1)=CC*ENT(NN+1)+SS*ENT(NN+2)
  40 :             SOR(NN+2)=CC*ENT(NN+2)+SS*ENT(NN+1)
  41 :           ELSE IF(IFOUR.EQ.1) THEN
  42 :             SOR(NN+1)=CC*ENT(NN+1)+SS*ENT(NN+2)+FAC2*CS*ENT(NN+3)
  43 :             SOR(NN+2)=CC*ENT(NN+2)+SS*ENT(NN+1)-FAC2*CS*ENT(NN+3)
  44 :             SOR(NN+3)=FAC1*CS*(ENT(NN+2)-ENT(NN+1))+(CC-SS)*ENT(NN+3)
  45 :           ENDIF
  46 :           NN=NN+NSTRS/2
  47 :  1      CONTINUE
  48 : *
  49 : *     CAS MASSIF 2D
  50 : *
  51 :       ELSE IF(MFR.EQ.1.AND.IFOUR.LE.0) THEN
  52 :           SOR(1)=CC*ENT(1)+SS*ENT(2)+FAC2*CS*ENT(4)
  53 :           SOR(2)=CC*ENT(2)+SS*ENT(1)-FAC2*CS*ENT(4)
  54 :           SOR(4)=FAC1*CS*(ENT(2)-ENT(1))+(CC-SS)*ENT(4)
  55 :           SOR(3)=ENT(3)
  56 :       ELSE
  57 :         KERRE=99
  58 :       ENDIF
  59 :       RETURN                                                                    
  60 :       END                                                                       
  61 :  
  62 :  

© Cast3M 2003 - All rights reserved.
Disclaimer