Download compou.eso

Back to the list

   1 : C COMPOU    SOURCE    FANDEUR   12/07/18    21:15:31     7435           
   2 : *
   3 :       SUBROUTINE COMPOU(IB,MWRKXE,ililuc,iwrk53)   
   4 : * 
   5 : ****************************************************
   6 : *  ENTREES  
   7 : ****************************************************  
   8 : *  
   9 : *  MFR   : formulation de l'élément  
  10 : *  MELE  : numéro élément fini  
  11 : *  NBNN  : nombre de noeuds par élément (WRK4)  
  12 : *  IB    : numéro de l'élément  
  13 : *  XEL   : coordonnées des points de l'élément (MWRK2)  
  14 : * 
  15 : **************************************************** 
  16 : *  SORTIES  
  17 : ****************************************************  
  18 : * 
  19 : ****************************************************   
  20 :       IMPLICIT INTEGER(I-N)
  21 :       IMPLICIT REAL*8(A-H,O-Z)
  22 : *
  23 : -INC CCOPTIO
  24 : *
  25 : -INC SMCHAML
  26 : * segment deroulant le mcheml
  27 : -INC DECHE
  28 : *
  29 :       SEGMENT MWRKXE
  30 :         REAL*8 XEL(3,NBNN)
  31 :       ENDSEGMENT
  32 : c
  33 :       liluc = ililuc
  34 :       wrk53 = iwrk53
  35 : C
  36 : C  XEL est rempli systematiquement dans le sous-programme appelant
  37 : c
  38 : c    special poutres et tuyaux  sauf timoschenko
  39 : c
  40 :       IF ((MFR.EQ.7.OR.MFR.EQ.13).AND.MELE.NE.84) THEN
  41 : C
  42 :         IF (IDIM.EQ.3) THEN
  43 : C
  44 :             XL=SQRT ( (XEL(1,2)-XEL(1,1))**2 +
  45 :      &                (XEL(2,2)-XEL(2,1))**2 +
  46 :      &                (XEL(3,2)-XEL(3,1))**2   )
  47 :             domdec = liluc(11)
  48 : *******            segact domdec*nomod
  49 :             pilnec = jilnec
  50 : *******            segact pilnec*nomod
  51 :             mran = pilobl(/2)
  52 :             deche = pilobl(6,mran)
  53 : *********            segact deche*nomod
  54 :             melval = ieldec
  55 :             DSIGP = VELCHE(1,IB) - VELCHE(2,IB)
  56 :             deche = pilobl(2,mran)
  57 : ********            segact deche*nomod
  58 :             melval = ieldec
  59 : *********            segact melval*mod
  60 :             VELCHE(1,IB)= DSIGP / XL
  61 :             VELCHE(2,IB)=VELCHE(1,IB)
  62 :             deche = pilobl(5,mran)
  63 : ***********            segact deche*nomod
  64 :             melval = ieldec
  65 :             DSIGP = VELCHE(2,IB) - VELCHE(1,IB)
  66 :             deche = pilobl(3,mran)
  67 : ***********            segact deche*nomod
  68 :             melval = ieldec
  69 : ************            segact melval*mod
  70 :             VELCHE(1,IB)= DSIGP / XL
  71 :             VELCHE(2,IB)=VELCHE(1,IB)
  72 : C
  73 :         ELSE
  74 : C  CAS 2D
  75 :             XL=SQRT ( (XEL(1,2)-XEL(1,1))**2 +
  76 :      &                (XEL(2,2)-XEL(2,1))**2 )
  77 :             domdec = liluc(11)
  78 : ********            segact domdec*nomod
  79 :             pilnec = jilnec
  80 : ***********            segact pilnec*nomod
  81 :             mran = pilobl(/2)
  82 :             deche = pilobl(3,mran)
  83 : *************            segact deche*nomod
  84 :             melval = ieldec
  85 :             DSIGP = VELCHE(1,IB) - VELCHE(2,IB)
  86 : *
  87 :             deche = pilobl(2,mran)
  88 : ************            segact deche*nomod
  89 :             melval = ieldec
  90 : ***************            segact melval*mod
  91 :             VELCHE(1,IB)= DSIGP / XL
  92 :             VELCHE(2,IB)=VELCHE(1,IB)
  93 : C
  94 :         ENDIF
  95 : C
  96 :       ENDIF
  97 : c 
  98 :       RETURN 
  99 :       END 
 100 : 
 101 :  

© Cast3M 2003 - All rights reserved.
Disclaimer