Download lsigm1.eso

Back to the list

   1 : C LSIGM1    SOURCE    CHAT      11/03/16    21:27:05     6902           
   2 :       SUBROUTINE LSIGM1(IPMAIL,LRE,NSTRS,NBPGAC,MELE,MELEM,IPCHE1,
   3 :      &IPMITC,NFOR,IVAFOR,ISOUS,ISOU1,IMMD,NNUMS)
   4 : C======================================================================C
   5 : C                                                                      C
   6 : C         CALCUL DES FORCES AUX NOEUDS DUE AUX PRECONTRAINTES          C
   7 : C                                                                      C
   8 : C                                                                      C
   9 : C     INPUT:                                                           C
  10 : C                                                                      C
  11 : C         IPMAIL   Pointeur sur un segment  MELEME   tube beton
  12 : C         LRE      Nombre de ddl dans la matrice de rigidite           C
  13 : C         NSTRS    Nombre de composante de contraintes/deformations    C
  14 : C         NBPGAC   Nombre de points d'integration pour les contraintes C
  15 : C         MELE     Numero de l'element fini                            C
  16 : C         MELEM identificateur cable normal on circonferentiel         C
  17 : C         IVASTR   pointeur sur un segment MPTVAL contenant les        C
  18 : C                  les melvals de contraintes  (cables)                C
  19 : C         IPMITC   Pointeur sur un segment MINTE (CABLE)               C
  20 : C         NFOR     Nombre de composantes de forces                     C
  21 : C                                                                      C
  22 : C     OUTPUT:                                                          C
  23 : C                                                                      C
  24 : C         IVAFOR   pointeur sur un segment MPTVAL contenant les        C
  25 : C                  les melvals de forces                               C
  26 : C                                                                      C
  27 : C     G. L. JIANG    / remanié JM BAZE  09/97                                                  C
  28 : C======================================================================C
  29 : C
  30 :       IMPLICIT INTEGER(I-N)
  31 :       IMPLICIT REAL*8(A-H,O-Z)
  32 : C
  33 : -INC CCOPTIO
  34 : -INC CCHAMP
  35 : -INC SMCHAML
  36 : -INC SMCHPOI
  37 : -INC SMELEME
  38 : -INC SMCOORD
  39 : -INC SMMODEL
  40 : -INC SMINTE
  41 : -INC CCREEL
  42 : *- 
  43 : C
  44 :       SEGMENT WRK1
  45 :        REAL*8 XFORC(LRE), XSTRS(NSTRS), XE(3,NBBB)
  46 :        REAL*8 XEC(3,2),QSIG(6),XX(3,2),SHPC(6,20,5),SGA(3,5,5)
  47 :        REAL*8 XTR(5),shpk(6,20,5),qqq(3)
  48 :       ENDSEGMENT
  49 :       segment wrk2
  50 :       integer iv(10)
  51 :       endsegment
  52 : C
  53 :       SEGMENT MPTVAL
  54 :         INTEGER IPOS(NS)    ,NSOF(NS)
  55 :         INTEGER      IVAL(NCOSOU)
  56 :         CHARACTER*16 TYVAL(NCOSOU)
  57 :       ENDSEGMENT
  58 : C
  59 :       SEGMENT NNUM
  60 :         INTEGER NNM(NBN,NBELE),NBEM(2,NBELE)
  61 :       ENDSEGMENT
  62 : C
  63 : C      DIMENSION XEC(3,2),QSIG(6),XX(3,2),SHPC(6,20,5),SGA(3,5,5),
  64 : C     &          IV(10),XTR(5),shpk(6,20,5),qqq(3)
  65 : C
  66 : C
  67 :       NSTRS=0
  68 :       MELEME=IPMAIL
  69 :       NBNN=NUM(/1)
  70 :       NBELEM=NUM(/2)
  71 :       NNUM=NNUMS
  72 :       SEGACT NNUM
  73 :       NBN=NNM(/1)
  74 :       NBELE=NNM(/2)
  75 :       MINTE=IPMITC
  76 :       SEGACT MINTE
  77 :       NBPGAC=POIGAU(/1)
  78 :       NBBB=NBNN
  79 :       MCHELM=IPCHE1
  80 :       SEGACT MCHELM
  81 :       MCHAML=ICHAML(ISOU1)
  82 :       SEGACT MCHAML
  83 :       NSTRS=IELVAL(/1)
  84 :       SEGINI WRK1
  85 :       DO 5001 I=1,NBPGAC
  86 :  5001 QSIG(I)=QSIGAU(I)
  87 : C
  88 :       NHRM=NIFOUR
  89 :       segini wrk2
  90 : C
  91 :       NJS=IELVAL(/1)
  92 :       DO 2014 IS=1,NJS
  93 : 2014  IV(IS)=IELVAL(IS)
  94 : C
  95 : C --- SECTEUR DE CALCUL POUR LES ELEMENTS MASSIFS
  96 : C
  97 :       NBNO=NBNN
  98 :       NBBB=NBNN
  99 : 
 100 :       mptval=ivafor
 101 : 
 102 : 
 103 : 
 104 :       DO 3005 IC=1,NBELE
 105 :       IF(NBEM(2,IC).NE.ISOUS) GOTO 3005
 106 : C --- IB: LE NUMERO D'ELEMENT BETON CONTENANT LE SEGMENT DU CABLE IC
 107 :       IB=NBEM(1,IC)
 108 : C --- MISE A 0 DES FORCES
 109 : 
 110 :       do 5 i=1,lre
 111 :       XFORC(i) = 0.D0
 112 :  5    continue
 113 : C
 114 : C --- CABLES NON-CIRCONFERENTIELS
 115 : C
 116 :       IF(MELEM.NE.95) THEN
 117 : 
 118 : C
 119 : C --- ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IB
 120 : 
 121 : 
 122 : C
 123 : C      write(6,*) 'cable ', ic ,nnm(1,ic),nnm(2,ic)
 124 : C      write(6,*) 'beton ', ib , 'noeuds' ,(NUM(j,IB),j=1,NUM(/1))
 124 :       CALL DOXE(XCOOR,IDIM,NBNN,NUM,IB,XE)
 124 :       CALL DOXE(XCOOR,IDIM,nbn   ,NNM,IC,XEC)
 124 :       CALL SHPCAB(NBPGAC,XE,XEC,MELE,NBNN,IDIM,QSIG,SHPC,XX,SGA,1)
 125 : 
 126 : 
 127 : 
 128 : 
 129 : 
 130 : C --- BOUCLE SUR LES POINTS DE GAUSS
 131 :       DO 5004 IGAU=1,NBPGAC
 132 : C
 133 : C --- ON CHERCHE LES CONTRAINTES
 134 : C
 135 :       DO 6004 ICOMP=1,NSTRS
 136 :         MELVAL=IV(ICOMP)
 137 :         SEGACT MELVAL
 138 :         IGMN=MIN(IGAU,VELCHE(/1))
 139 :         IBMN=MIN(IC  ,VELCHE(/2))
 140 :         XSTRS(ICOMP)=VELCHE(IGMN,IBMN)
 141 :  6004 CONTINUE
 142 : C      write(6,*)  ' les contraintes generalisees'
 143 : C      write(6,6789) (XSTRS(ICOMP),icomp=1,NSTRS )
 144 : 6789  format (2E12.5)
 145 : C
 146 : C
 147 : 
 148 : *      ID0=3
 149 : *      IF(IDIM.EQ.3) ID0=4
 150 : *      DJ=SGA(1,5,IGAU)
 151 : 
 152 :       do 100 ii=1,nbnn
 153 :       mw=(ii-1)*idim
 154 : c --- block ii
 155 :       ff=0.d0
 156 :       do 20 ilin=1,idim
 157 :       ff=ff + shpc(ilin+1,ii,igau)*sga(ilin,3,igau)*xstrs(1)
 158 :   20  continue
 159 :       do 21 ilin =1,idim
 160 :   21  xforc(mw+ilin) = xforc(mw+ilin) + ff*sga(ilin,4,igau)
 161 :  100  continue
 162 : 
 163 :  5004 CONTINUE
 164 : 
 165 :  3333 FORMAT(6E12.5)
 166 : 
 167 : C      DO 6032 MQ=1,LRE
 168 : C      XFOR(MQ,IB)=XFOR(MQ,IB)+XFORC(MQ)
 169 : C 6032 continue
 170 : C      write(6,*) ' element beton ' ,ib ,' cable ', ic
 171 : C       write(6,6799) (xforc(i),i=1,lre)
 172 : * 3005 CONTINUE
 173 : 6799  format(3E12.5,4X,3E12.5)
 174 :       END IF
 175 : C
 176 : C --- CABLES CIRCONFERENTIELS
 177 : C
 178 :       IF(MELEM.EQ.95) THEN
 179 :       DO 213 JWQ=1,5
 180 :   213 XTR(JWQ)=0.D0
 181 : C
 182 : C --- ON CHERCHE LES COORDONNEES DES NOEUDS DE L ELEMENT IC
 183 : C      write(6,*) 'cable ', ic , 'noeuds' , nnm(1,IC)
 184 : C      write(6,*) 'beton ', ib , 'noeuds' ,(NUM(j,IB),j=1,NUM(/1))
 185 : 
 185 :       CALL DOXE(XCOOR,IDIM,nbn ,NNM,IC,XEC)
 185 :       CALL DOXE(XCOOR,IDIM,NBNN,NUM,IB,XE )
 186 : C      write(6,*) 'cable' , (xec(i,1),i=1,idim)
 187 : C      write(6,4444) ((xe(i,j),i=1,idim),j=1,nbnn)
 188 : 4444  format( 3E12.5)
 188 : C      CALL SHPCAB(1,XE,XEC,MELE,NBNN,IDIM,QSIG,SHPC,XX,SGA,1)
 188 :       call qsijs(XE,MELE,NBNN,2,XEC,SHPK,QQQ,irout)
 189 : C --- PRECONTRAINTE DU CABLE: PROG(MV*3)
 190 : 
 191 :       DO 7044 ICOMP=1,NSTRS
 192 :         MELVAL=IV(ICOMP)
 193 :         SEGACT MELVAL
 194 :         IGMN=MIN(1 ,VELCHE(/1))
 195 :         IBMN=MIN(IC,VELCHE(/2))
 196 :         XSTRS(ICOMP)=VELCHE(IGMN,IBMN)
 197 :  7044 CONTINUE
 198 : 
 199 :       ff= xstrs(1)*2.D0*XPI
 200 : 
 201 : C      write (6,*) ' force generalisee' , ff , xec(1,1)
 202 :       do 110 ii=1,nbnn
 203 : *      write(6,*) ' shpc et ff ' ,shpc(1,ii,1)
 204 : *      write(6,*) ' shpk ' ,shpk(1,ii,1)
 205 :       mw=(ii-1)*idim+1
 206 : *      do 121 ilin =1,idim
 207 :        xforc(mw) = xforc(mw) + ff*shpk(1,ii,1)
 208 : *  121  continue
 209 :  110  continue
 210 : 
 211 : C      write(6,*) (xforc(i),i=1,lre)
 212 :       END IF
 213 : 
 214 : 
 215 : C
 216 : C --- ON RANGE XFORC DANS MELVAL
 217 : C
 218 : 
 219 :       do 7004 inoe=1,nbnn
 220 :       mwi = (inoe-1) * nfor
 221 :       do 7004 icomp=1,nfor
 222 :       mwi = mwi+1
 223 :       MELVAL=IVAL(ICOMP)
 224 :       velche(inoe,ib)=velche(inoe,ib)+xforc(mwi)
 225 :  7004 CONTINUE
 226 : 
 227 :  3005 continue
 228 :       do 7005 i =1,nfor
 229 :       melval=ival(i)
 230 :       segdes melval
 231 : 7005  continue
 232 :       segdes NNUM,MCHAML,MCHELM
 233 :       SEGSUP WRK1,wrk2
 234 : 
 235 :       END
 236 : 
 237 : 
 238 : 
 239 : 
 240 : 
 241 :  
 242 :  
 243 :  
 244 :  
 245 :  
 246 :  
 247 :  
 248 :  
 249 :  
 250 :  
 251 :  
 252 :  

© Cast3M 2003 - All rights reserved.
Disclaimer