Télécharger phasage.procedur

Retour à la liste

Numérotation des lignes :

  1. * PHASAGE PROCEDUR CHAT 12/08/07 21:15:09 7481
  2. ************************************************************************
  3. * Procedure de calcul du phasage de mise en tension des cables
  4. ************************************************************************
  5. DEBPROC PHASAGE TABPHAS ;
  6. MESS 'ENTREE dans phasage' ;
  7. *------------------------------------------------------------------
  8. *
  9. LDEPOU=FAUX;
  10. 'SI' ( 'EXISTE' TABPHAS 'DEPOU') ;
  11. LDEPOU=TABPHAS . 'DEPOU' ;
  12. 'FINSI' ;
  13. 'SI' LDEPOU;TABPHAS . 'COURBES' = TABLE ; 'FINSI' ;
  14. LPRECO=VRAI ;
  15. SI (NON ( EXISTE TABPHAS 'PRECONTRAINTE' )) ;
  16. MESS 'TABLE DES ETAPES DE MISE EN PRECONTRAINTE ABSENTE' ;
  17. LPRECO=FAUX ;
  18. SINON ;
  19. SI (NEG (TYPE (TABPHAS . 'PRECONTRAINTE')) 'TABLE ') ;
  20. MESS 'INDICE ETAPE DOIT ETRE UNE TABLE' ;
  21. QUITTER PHASAGE ;
  22. FINSI ;
  23. FINSI ;
  24. SI (NON ( EXISTE TABPHAS 'LEVEES' )) ;
  25. MESS 'TABLE DES LEVEES ABSENTE' ;
  26. QUITTER PHASAGE ;
  27. FINSI ;
  28. SI (NEG (TYPE (TABPHAS . 'LEVEES')) 'TABLE ') ;
  29. MESS 'INDICE LEVEES DOIT ETRE UNE TABLE' ;
  30. QUITTER PHASAGE ;
  31. FINSI ;
  32. SI (NON ( EXISTE TABPHAS 'BLOCAGES' ) ) ;
  33. MESS 'BLOCAGES MECANIQUES ABSENTS' ;
  34. QUITTER PHASAGE ;
  35. SINON ;
  36. CLTOT=TABPHAS . 'BLOCAGES' ;
  37. FINSI ;
  38. NSOUSL=1 ;
  39. SI (EXISTE TABPHAS 'SOUS_LEVEES') ;
  40. NSOUSL= TABPHAS.'SOUS_LEVEES' ;
  41. FINSI ;
  42. NSOUSL = MAXI ( LECT 1 NSOUSL) ;
  43. NSOUSP=1 ;
  44. SI (EXISTE TABPHAS 'SOUS_PRECONTRAINTES') ;
  45. NSOUSP= TABPHAS.'SOUS_PRECONTRAINTES' ;
  46. FINSI ;
  47. NSOUSP = MAXI ( LECT 1 NSOUSP) ;
  48. LFLUAGE=FAUX ;
  49. SI ( EXISTE TABPHAS 'FLUAGE') ;LFLUAGE=VRAI ; FINSI ;
  50. LRETRAIT=FAUX ;
  51. SI ( EXISTE TABPHAS 'RETRAIT'); LRETRAIT=VRAI ; FINSI ;
  52. LRESTE=FAUX ;
  53. SI ( EXISTE TABPHAS 'MOD_RESTE'); LRESTE=VRAI ;
  54. SI (NON ( EXISTE TABPHAS 'MAT_RESTE' )) ;
  55. MESS 'MATERIAU DU RESTE NON INDIQUE' ;
  56. QUITTER PHASAGE ;
  57. FINSI ;
  58. FINSI ;
  59. TLEVEE = TABPHAS . 'LEVEES' ;
  60. NPRECO=0 ;
  61. SI LPRECO;TETAP=TABPHAS.'PRECONTRAINTE';NPRECO=DIME TETAP;FINSI ;
  62. NBLEVE= DIME TLEVEE ;
  63. 'SI'('EXIS' TABPHAS 'TEMPS_FINAL') ;
  64. TEMPSFI = TABPHAS.'TEMPS_FINAL' ;
  65. TEMPSGRA= TEMPSFI*100. ;
  66. 'SINON' ;
  67. 'MESS' 'IL MANQUE LE TEMPS FINAL'; QUITTER PHASAGE ;
  68. 'FINSI' ;
  69. 'SI'('EXIS' TABPHAS 'TEMPS_MAX');TEMPSGRA=TABPHAS.'TEMPS_MAX' ;
  70. 'FINSI' ;
  71. * preparation du stockage de résultats de fluage et retrait
  72. SI LFLUAGE ;
  73. EPFLUAGE=TABLE ;
  74. TABPHAS . 'DFLUAGE' = EPFLUAGE ;
  75. NOMREGF= TABPHAS . 'FLUAGE' ;
  76. TFLUTE=TABLE; TFLUEP=TABLE ; COMTFLU=0 ;
  77. TABPHAS . 'TFLUTE' = TFLUTE;
  78. TABPHAS . 'TFLUEP' = TFLUEP;
  79. FINSI ;
  80. SI LRETRAIT ;
  81. EPRETRAI=TABLE ;
  82. TABPHAS . 'DRETRAIT' = EPRETRAI ;
  83. NOMREGR = TABPHAS . 'RETRAIT' ;
  84. TRETTE=TABLE; TRETEP=TABLE ;
  85. TABPHAS . 'TRETTE' = TRETTE;
  86. TABPHAS . 'TRETEP' = TRETEP;
  87. FINSI ;
  88. *
  89. * calcul des differents chargement correspondant à chacune
  90. * des levées. on les stocke dans la table poilevee
  91. * MOTOUT sera le modele total sans les cables id MATOUT
  92. * GEOBET sera le maillage du beton
  93. POILEVEE=TABLE ;
  94. 'REPETER' FOR NBLEVE ;
  95. MO= TLEVEE . &FOR . 'MODELE' ;
  96. MA= TLEVEE . &FOR . 'MATERIAU' ;
  97. GEO= 'EXTR' MO 'MAILLAGE' ;
  98. 'SI' (( 'EGA' &FOR NBLEVE) 'ET' LRESTE) ;
  99. MO = MO 'ET' TABPHAS. 'MOD_RESTE' ;
  100. MA = MA 'ET' TABPHAS. 'MAT_RESTE' ;
  101. 'FINSI' ;
  102. MAS= 'MASSE' MO MA ;
  103. 'SI' ('EGA' &FOR 1) ;
  104. GEOBET=GEO ;
  105. MOTOUT = MO ;
  106. MATOUT = MA ;
  107. 'SINON' ;
  108. GEOBET = GEOBET 'ET' GEO ;
  109. MOTOUT = MOTOUT 'ET' MO ;
  110. MATOUT = MATOUT 'ET' MA ;
  111. 'FINSI' ;
  112. GG = 'MANU' 'CHPO' GEO 1 'UZ' -9.81 ;
  113. FPO= MAS * GG ;
  114. POILEVEE . &FOR = FPO ;
  115. FIN FOR ;
  116. *
  117. * calcul de la premiere levée
  118. * On introduit le poids propre de la levee 1 et c'est tout.
  119. * seule la premiere levée a une resistance, les autres sont divisées
  120. * par 1000
  121. * pendant les levees on ne prend pas en compte le poids du reste
  122. MATCAL= TLEVEE . 1 . 'MATERIAU' ;
  123. CLCAL = CLTOT ;
  124. 'SI' ( NBLEVE > 1) ;
  125. * on fabrique un materiau bidon
  126. 'REPETER' ADDIMO ( NBLEVE - 1 ) ;
  127. MA = TLEVEE . ( &ADDIMO + 1 ) . 'MATERIAU' ;
  128. YOU = (EXCO MA 'YOUNG') * -0.9999 ;
  129. MOMA= MA + YOU ;
  130. MATCAL= MATCAL et MOMA ;
  131. 'FIN' ADDIMO ;
  132. 'FINSI' ;
  133. 'SI' LRESTE;MATCAL= MATCAL 'ET' TABPHAS . 'MAT_RESTE'; 'FINSI' ;
  134. * on accroche aussi les cables en leur donnant un module nul
  135. SI ( NPRECO > 0) ;IDETAP=0 ;
  136. REPETER BOETAP NPRECO ;
  137. IDETAP = IDETAP + 1 ;
  138. NDZONE = (DIME (TETAP . IDETAP) - 1) ;
  139. IDZON = 0 ;
  140. REPETER BOZONE NDZONE ;
  141. IDZON = IDZON + 1 ;
  142. MOBID = TETAP . IDETAP . IDZON . 'MODELE' ;
  143. mabid = TETAP . IDETAP . IDZON . 'MATERIAU' ;
  144. listcomp= 'EXTR' mabid 'COMP' ;
  145. COEFBID = 1.e-3 ;
  146. sectbid='EXCO' 'SECT' TETAP . IDETAP . IDZON . 'MATERIAU' ;
  147. sectbid= sectbid*COEFBID ;
  148. YOUNBID='EXCO' 'YOUN' TETAP . IDETAP . IDZON . 'MATERIAU' ;
  149. YOUNBID = COEFBID * YOUNBID ;
  150. 'SI' ( 'EXIS' listcomp 'TRACTION ') ;
  151. TRACBIO = COEFBID *
  152. (EXTR (TETAP . IDETAP . IDZON . 'TRACTION') 'ORDO') ;
  153. TRACBID = EVOL MANU 'EPS'
  154. (EXTR (TETAP . IDETAP . IDZON . 'TRACTION') 'ABSC')
  155. 'SIG (PA)' TRACBIO ;
  156. MATBID = MATE MOBID 'YOUN' YOUNBID 'NU' 0.3
  157. 'SECT' sectbid RHO 0.0000001 'TRAC' TRACBID ;
  158. 'SINON' ;
  159. MATBID = MATE MOBID 'YOUN' YOUNBID 'NU' 0.3
  160. 'SECT' sectbid RHO 0.0000001 ;
  161. 'FINSI' ;
  162. 'SI' (( IDZON + IDETAP) EGA 2) ;
  163. MODCABL=MOBID ;
  164. MATCABL=MATBID ;
  165. CLCABL= RELA 'ACCRO' (EXTR MOBID 'MAILLAGE') GEOBET ;
  166. 'SINON' ;
  167. MODCABL = MODCABL ET MOBID ;
  168. MATCABL = MATCABL ET MATBID ;
  169. CLTOT1 = RELA 'ACCRO' (EXTR MOBID 'MAILLAGE') GEOBET ;
  170. CLCABL = CLCABL ET CLTOT1 ;
  171. 'FINSI' ;
  172. FIN BOZONE ;
  173. FIN BOETAP ;
  174. MODCAL = MOTOUT ET MODCABL ;
  175. MATCAL = MATCAL ET MATCABL ;
  176. CLCAL= CLCABL ET CLTOT ;
  177. SINON ;
  178. MODCAL= MOTOUT ;
  179. CLCAL=CLTOT ;
  180. FINSI ;
  181. * determination d'un temps de calcul
  182. DTEMPS=0. ;
  183. SI ( nbleve > 1) ; dtemps = tlevee . 2 . 'INSTANT' * 0.001 ;
  184. SINON; SI (NPRECO > 0);DTEMPS= (TETAP . 1 . 'TPS') * 0.001; FINSI;
  185. FINSI ;
  186. 'SI' ('EGA' DTEMPS 0.) ; 'MESS' ' PROBLEME DE PAS DE TEMPS' ;
  187. 'QUITTER' PHASAGE ;
  188. 'FINSI' ;
  189. LTE = prog 0. DTEMPS TEMPSGRA ;
  190. LCOE= PROG 0. 1. 1. ;
  191. EVCH= EVOL MANU 'TEMPS' LTE 'COEF' LCOE ;
  192. FPO= poilevee.1 ;
  193. CHAPOI = CHARGE 'MECA' FPO EVCH ;
  194.  
  195. * appel a pasapas pour calculer la premiere levee ;
  196.  
  197. TABRES= TABLE ;
  198. TABPHAS.'TABRES' = TABRES ;
  199. TABRES . 'MODELE' = MODCAL ;
  200. TABRES . 'CARACTERISTIQUES' = MATCAL ;
  201. LISTTEMP = prog 0. dtemps ;
  202. TABRES . 'TEMPS_CALCULES'=LISTTEMP ;
  203. TABRES . 'BLOCAGES_MECANIQUES' = CLCAL ;
  204. TABRES . 'CHARGEMENT' = CHAPOI ;
  205. 'SI' ('EXIS' TABPHAS 'RIGIDITE_ADDITIONELLE' ) ;
  206. 'MESS' 'PRISE EN COMPTE DE RIGIDITE_ADDITIONELLE' ;
  207. TABRES . 'RIGIDITE_CONSTANTE' =
  208. TABPHAS . 'RIGIDITE_ADDITIONELLE' ;
  209. 'FINSI' ;
  210. PASAPAS TABRES ;
  211. TDER= DTEMPS ;
  212.  
  213. NUMLEV = 1 ;
  214. *messs ' fin premier appel a pasaspas';
  215. *
  216. * calcul du retrait pour tous les temps des levees
  217. *
  218. 'SI' LRETRAIT ;
  219. DEFONUL= 'ZERO' MODCAL 'DEFORMAT' ;
  220. TRETTE . 0 = 0.; TRETEP . 0 = DEFONUL ; COMRETR=0 ;
  221. 'SI' (NBLEVE > 1) ;
  222. REPETER BOURET ( NBLEVE - 1) ;
  223. NUMLEV=&BOURET + 1 ;
  224. TEMPCOUR= TLEVEE . NUMLEV . 'INSTANT' ;
  225. REPETER SOUSLEV ( NUMLEV - 1) ;
  226. MODBET=TLEVEE . &SOUSLEV . 'MODELE' ;
  227. RAYSECH=TLEVEE . &SOUSLEV . 'SECHAGE' ;
  228. TCOFFR= TLEVEE . &SOUSLEV . 'INSTANT' ;
  229. COEF1 = TLEVEE . &SOUSLEV . 'COEF1' ;
  230. COEF2 = TLEVEE . &SOUSLEV . 'COEF2' ;
  231. RET=RETRAIT NOMREGR MODBET RAYSECH
  232. TCOFFR TEMPCOUR COEF1 COEF2 ;
  233. 'SI' ( 'EGA' 1 &SOUSLEV) ;
  234. EPRETRAI. (&BOURET + 1)= RET +DEFONUL ;
  235. 'SINON' ;
  236. EPRETRAI. (&BOURET + 1)= EPRETRAI. (&BOURET + 1)+RET ;
  237. 'FINSI' ;
  238. 'FIN' SOUSLEV ;
  239. 'FIN' BOURET ;
  240. 'FINSI' ;
  241. 'FINSI' ;
  242. *messs ' fin travail sur le retrait ' ;
  243. *
  244. * calcul mecanique des autres levees
  245. * on calcule le temps précedent la levée à dtemps prés puis le
  246. * temps de la levée
  247. * Pour le premier des deux temps seul le fluage retrait est à
  248. * introduire si besoin est . Le materiau de la levee est remis
  249. * normalement pour le second temps et il faut aussi ajouter le poids
  250. * de la levée.
  251. TCONT= TABRES. 'CONTRAINTES' ;
  252. TTEMP= TABRES . 'TEMPS' ;
  253.  
  254. FLUAG1=ZERO MODCAL 'DEFORMAT' ;
  255. 'SI' LFLUAGE;
  256. TFLUTE . 0 = 0. ;
  257. TFLUEP . 0 = FLUAG1 ;
  258. COMTFLU = 0 ;
  259. 'FINSI';
  260.  
  261. 'SI' ( NBLEVE > 1) ;
  262. 'REPETER' COULEE ( NBLEVE - 1) ;
  263.  
  264. NUMLEV=&COULEE + 1 ;
  265.  
  266. * temps des calcul
  267. TCAL= TLEVEE . NUMLEV . 'INSTANT' - dtemps ;
  268. * mess ' travail sur la coulée numero ' numlev 'tcal ' tcal;
  269. CHACAL= CHAPOI ;
  270. * definition du chargement
  271. * recuperation du retrait
  272. 'SI' LRETRAIT ;
  273. COMRETR=COMRETR + 1 ;
  274. TRETTE . COMRETR = TCAL * 1. ;
  275. TRETEP . COMRETR = EPRETRAI . NUMLEV ;
  276. COMRETR=COMRETR + 1 ;
  277. TRETTE . COMRETR = TLEVEE . NUMLEV . 'INSTANT' * 1. ;
  278. TRETEP . COMRETR = EPRETRAI . NUMLEV ;
  279. CHARRET = CHAR 'DEFI' TRETTE TRETEP ;
  280. CHACAL = CHACAL ET CHARRET ;
  281. 'FINSI' ;
  282. * calcul du fluage
  283. 'SI' LFLUAGE ;
  284.  
  285. FLUAG1=ZERO MODCAL 'DEFORMAT' ;
  286. COMTFLU = COMTFLU + 1 ;
  287. TFLUTE . COMTFLU = TCAL * 1. ;
  288. 'REPETER' BOUFLU (NUMLEV - 1) ;
  289.  
  290. MOLE= TLEVEE . &BOUFLU . 'MODELE' ;
  291. TCOUL=TLEVEE . &BOUFLU . 'INSTANT' ;
  292. MALE= TLEVEE . &BOUFLU . 'MATERIAU' ;
  293. RAYSECH= TLEVEE . &BOUFLU . 'SECHAGE' ;
  294. COEF1 = TLEVEE . &BOUFLU . 'COEF1' ;
  295. COEF2 = TLEVEE . &BOUFLU . 'COEF2' ;
  296. NF= NUMLEV - &BOUFLU; NDE=(&BOUFLU - 1)*(1+NSOUSL) + 1 ;
  297. * mess ' on travaille sur levee ' &BOUFLU ' nf ' nf ' nde ' nde;
  298. 'REPETER' BOPAS NF ;
  299. NSI = ( &BOPAS - 1 ) * (1+NSOUSL) + NDE ;
  300. SIG1 =TCONT . NSI ;
  301. SIG0 =TCONT . (NSI - 1) ;
  302. DSIG= REDU ( SIG1 - SIG0) MOLE ;
  303. TCOUR = TTEMP . NSI ;
  304. *aa=maxi (abs dsig); mess ' maxi des cont ' aa ' nsi ' nsi ;
  305. FLUAG1 = FLUAG1 + ( PFLUAGE NOMREGF MOLE MALE DSIG
  306. RAYSECH TCOUR TCAL COEF2 TCOUL COEF1 ) ;
  307. 'FIN' BOPAS ;
  308. 'FIN' BOUFLU ;
  309. TFLUEP . COMTFLU = FLUAG1 ;
  310. COMTFLU = COMTFLU + 1 ;
  311. TFLUTE . COMTFLU = TLEVEE . NUMLEV . 'INSTANT' * 1.0 ;
  312. TFLUEP . COMTFLU = FLUAG1 ;
  313. CHARFLU = CHAR 'DEFINI' TFLUTE TFLUEP ;
  314. EPFLUAGE.NUMLEV=FLUAG1 ;
  315. CHACAL = CHACAL ET CHARFLU ;
  316. 'FINSI' ;
  317. 'SI' ( 'EGA' NSOUSL 1) ;
  318. LC= 'PROG' TCAL ;
  319. 'SINON' ;
  320. TPAS= (TCAL - TDER) / NSOUSL ;
  321. 'SI' ( 'EGA' NSOUSL 2) ;
  322. LC= 'PROG' (TDER+TPAS) TCAL ;
  323. 'SINON' ;
  324. LC= 'PROG' (TDER+TPAS) 'PAS' TPAS TCAL ;
  325. 'FINSI' ;
  326. 'FINSI' ;
  327. LISTTEMP=LISTTEMP 'ET' LC ;
  328. TABRES.'TEMPS_CALCULES'= LC ;
  329. TABRES.'CHARGEMENT' = CHACAL ;
  330. PASAPAS TABRES ;
  331. * redefinition des materiaux et du poids pour le temps exact
  332. * correspondant à la levée
  333. 'REPETER' ADDIMO NBLEVE ;
  334. MA = TLEVEE . &ADDIMO . 'MATERIAU' ;
  335. 'SI' ( &ADDIMO <EG NUMLEV ) ;
  336. 'SI' ( 'EGA' 1 &ADDIMO) ; MATCAL=MA; 'SINON' ;
  337. MATCAL=MATCAL ET MA ;
  338. 'FINSI' ;
  339. 'SINON' ;
  340. YOU = (EXCO MA 'YOUNG') * -0.99999 ;
  341. MOMA= MA + YOU ;
  342. MATCAL= MATCAL ET MOMA ;
  343. 'FINSI' ;
  344. 'FIN' ADDIMO ;
  345. 'SI' LRESTE ; MATCAL=MATCAL 'ET' TABPHAS.'MAT_RESTE'; 'FINSI';
  346. 'SI' LPRECO; MATCAL=MATCAL 'ET' MATCABL ;'FINSI' ;
  347. * calcul du poids
  348. FPO = FPO + POILEVEE.NUMLEV ;
  349. * determination d'un temps de calcul
  350. TNOUCAL = TLEVEE . NUMLEV . 'INSTANT' ;
  351. LTE = prog 0. TCAL TNOUCAL TEMPSGRA ;
  352. LCOE= PROG 0. 0. 1. 1. ;
  353. EVCH= EVOL MANU 'TEMPS' LTE 'COEF' LCOE ;
  354. CHAPOI = CHARGE 'MECA' FPO EVCH ;
  355. CHACAL = CHAPOI ;
  356. 'SI' LRETRAIT ; CHACAL= CHACAL ET CHARRET; 'FINSI' ;
  357. 'SI' LFLUAGE ; CHACAL= CHACAL ET CHARFLU; 'FINSI' ;
  358. * mise a jour de la table
  359. tabres .'CARACTERISTIQUES' = MATCAL ;
  360. LISTTEMP=LISTTEMP 'ET' ( 'PROG' TNOUCAL) ;
  361. tabres.'TEMPS_CALCULES' = 'PROG' TNOUCAL ;
  362. tabres.'CHARGEMENT' = CHACAL ;
  363. pasapas tabres ;
  364. TDER = TNOUCAL ;
  365. 'FIN' COULEE ;
  366. 'FINSI' ;
  367. *
  368. * fin du traitement des coulées on passe à la précontrainte
  369. * On calcule le temps juste avant la mise en précontrainte
  370. * puis la mise en précontrainte. Pour la i eme precontrainte
  371. * on prend en compte la raideur des (i-1) premiers groupes de
  372. * cables
  373. 'SI' LPRECO;
  374. * on calcule d'abord le retrait pour tous les temps de
  375. * precontraintes
  376. *mess ' debut des precontraintes traitement du retrait';
  377. 'SI' LRETRAIT; NRET = EPRETRAI 'DIME' ;
  378. 'REPETER' BOURET NPRECO ;
  379. TEMPCOUR= TETAP . &BOURET . 'TPS' ;
  380. 'REPETER' SOUSLEV NUMLEV ;
  381. MODBET=TLEVEE . &SOUSLEV . 'MODELE' ;
  382. RAYSECH=TLEVEE . &SOUSLEV . 'SECHAGE' ;
  383. TCOFFR= TLEVEE . &SOUSLEV . 'INSTANT' ;
  384. COEF1 = TLEVEE . &SOUSLEV . 'COEF1' ;
  385. COEF2 = TLEVEE . &SOUSLEV . 'COEF2' ;
  386. RET = RETRAIT NOMREGR MODBET RAYSECH TCOFFR TEMPCOUR
  387. COEF1 COEF2 ;
  388. 'SI' ( 'EGA' 1 &SOUSLEV) ;
  389. EPRETRAI. (&BOURET + NRET)=RET + DEFONUL ;
  390. 'SINON' ;
  391. EPRETRAI.(&BOURET+NRET)=EPRETRAI.(&BOURET+NRET)+RET ;
  392. 'FINSI' ;
  393. 'FIN' SOUSLEV ;
  394. 'FIN' BOURET ;
  395. 'FINSI' ;
  396. * on calcule maintenant les chargements dues à la precontrainte,
  397. * on les mets dans les tables chpreco et sipreco
  398. CHPRECO=TABLE ;SIPRECO=TABLE ;
  399. 'REPETER' CAFO NPRECO ;
  400. NDZONE = ('DIME' TETAP . &CAFO ) - 1 ;
  401. IDZON = 0 ;
  402. 'REPETER' BOZONE NDZONE ;
  403. IDZON = IDZON + 1 ;
  404. 'SI' (EGA IDZON 1) ;
  405. FOPREC = (-1.) * ('BSIG'
  406. TETAP . &CAFO . IDZON . 'PREC'
  407. TETAP . &CAFO . IDZON . 'MODELE'
  408. TETAP . &CAFO . IDZON . 'MATERIAU') ;
  409. SIPREC = TETAP . &CAFO . IDZON . PREC ;
  410. 'SINON' ;
  411. FOPREC = FOPREC ET ((-1.) * (BSIG
  412. TETAP . &CAFO . IDZON . 'PREC'
  413. TETAP . &CAFO . IDZON . 'MODELE'
  414. TETAP . &CAFO . IDZON . 'MATERIAU')) ;
  415. SIPREC = SIPREC ET (TETAP .&CAFO. IDZON . PREC) ;
  416. 'FINSI' ;
  417. 'FIN' BOZONE ;
  418. EVPTOT = EVOL 'MANU' 'TPS' (PROG 0 TETAP.&CAFO.'TPS' TEMPSGRA)
  419. 'COEF' (PROG 0 1 1) ;
  420. CHPRECO . &CAFO = CHARG 'MECA' FOPREC EVPTOT ;
  421. SIPRECO . &CAFO= SIPREC ;
  422. 'FIN' CAFO ;
  423. * boucle sur la mise en precontrainte
  424. *mess ' debut de boucle sur precontrainte ' npreco;
  425. nfinlev= numlev * 2 + 1 ;
  426. 'REPETER' BOUPREC NPRECO ;
  427. *mess ' traitement de la precontrainte ' &bouprec;
  428. TCAL= TETAP . &BOUPREC . 'TPS' * 1. ;
  429. * calcul du chargement
  430. CHCAL= CHAPOI ;
  431. * on commence par le fluage jusqu'a (temps -dtemps)
  432. 'SI' LFLUAGE ;
  433. COMTFLU = COMTFLU + 1 ;
  434. FLUAG1=ZERO MODCAL 'DEFORMAT' ;
  435. TFLUTE . COMTFLU = TCAL - DTEMPS * 1. ;
  436. REPETER BOUFLU NUMLEV ;
  437. MOLE= TLEVEE . &BOUFLU . 'MODELE' ;
  438. MALE= TLEVEE . &BOUFLU . 'MATERIAU' ;
  439. TCOUL=TLEVEE . &BOUFLU . 'INSTANT' ;
  440. RAYSECH= TLEVEE . &BOUFLU . 'SECHAGE' ;
  441. COEF1 = TLEVEE . &BOUFLU . 'COEF1' ;
  442. COEF2 = TLEVEE . &BOUFLU . 'COEF2' ;
  443. NF= NUMLEV - &BOUFLU + &BOUPREC ;
  444. NDE=(&BOUFLU - 1) * (1+NSOUSL) + 1 ;
  445. NSI=NDE - (1+NSOUSL) ;
  446. NTES=NUMLEV - &BOUFLU + 2 ;
  447. *mess ' numero de levées ' &bouflu ' nf ' nf ' nde ' nde ' nsi ' nsi;
  448. REPETER BOPAS NF ;
  449. 'SI' ( < &BOPAS nfinlev ) ;
  450. NSI = NSI + 1 + NSOUSL ;
  451. 'SINON' ;
  452. NSI = NSI + 1 + NSOUSP ;
  453. 'FINSI' ;
  454. SIG1 =TCONT . NSI ;
  455. SIG0= TCONT . (NSI - 1) ;
  456. DSIG= REDU ( SIG1 - SIG0) MOLE ;
  457. TCOUR = TTEMP . NSI ;
  458. *aa= maxi ( abs dsig); mess 'maxi des cont ' aa ' nsi ' nsi;
  459. FLUAG1 = FLUAG1 + ( PFLUAGE NOMREGF MOLE MALE DSIG
  460. RAYSECH TCOUR TCAL COEF2 TCOUL COEF1 ) ;
  461. FIN BOPAS ;
  462. FIN BOUFLU ;
  463. TFLUEP . COMTFLU = FLUAG1 ;
  464. COMTFLU = COMTFLU + 1 ;
  465. TFLUTE . COMTFLU = TCAL ;
  466. TFLUEP . COMTFLU = FLUAG1 ;
  467. CHARFLU = CHAR 'DEFINI' TFLUTE TFLUEP ;
  468. CHCAL=CHCAL 'ET' CHARFLU ;
  469. 'FINSI' ;
  470. *mess ' fin calcul fluage prise en compte du retrait sans calcul' ;
  471. 'SI' LRETRAIT ;
  472. COMRETR = COMRETR + 1 ;
  473. TRETTE . COMRETR = TCAL - DTEMPS * 1. ;
  474. TRETEP . COMRETR = EPRETRAI .(NRET + &BOUPREC) ;
  475. COMRETR = COMRETR + 1 ;
  476. TRETTE . COMRETR = TCAL * 1. ;
  477. TRETEP . COMRETR = EPRETRAI .(NRET + &BOUPREC) ;
  478. CHRE= 'CHAR' 'DEFI' TRETTE TRETEP ;
  479. CHCAL = CHCAL 'ET' CHRE ;
  480. 'FINSI' ;
  481. MATCAL=MATOUT ;
  482. IDETAP=0 ;
  483. idecab=0;
  484. * on tue les groupes de cable non deja tendus
  485. *mess ' precontrainte du gropue &bouprec' &bouprec;
  486. 'REPETER' BOETAP NPRECO ;
  487. IDETAP = IDETAP + 1 ;
  488. NDZONE = (DIME TETAP . IDETAP) - 1 ;
  489. IDZON = 0 ;
  490. 'REPETER' BOZONE NDZONE ;
  491. IDZON = IDZON + 1 ;
  492. MOBID = (TETAP . IDETAP . IDZON . 'MODELE') ;
  493. 'SI' (< IDETAP (&BOUPREC - 0.01) ) ;
  494. MATBID = TETAP . IDETAP . IDZON . 'MATERIAU' ;
  495. 'SINON ' ;
  496. COEFBID = 1E-3 ;
  497. sectbid= EXCO 'SECT' TETAP.IDETAP.IDZON . 'MATERIAU' ;
  498. sectbid=sectbid * coefbid ;
  499. mabid= TETAP . IDETAP . IDZON . 'MATERIAU' ;
  500. LISTCOMP= 'EXTR' MABID 'COMP' ;
  501.  
  502. YOUNBID = EXCO 'YOUN'
  503. (TETAP . IDETAP . IDZON . 'MATERIAU');
  504. YOUNBID = COEFBID * YOUNBID ;
  505. 'SI' ('EXIS' LISTCOMP 'TRACTION' ) ;
  506. TRACBIO = COEFBID *
  507. (EXTR (TETAP . IDETAP . IDZON . 'TRACTION') 'ORDO') ;
  508. TRACBID = EVOL MANU 'EPS'
  509. (EXTR (TETAP . IDETAP . IDZON . 'TRACTION') 'ABSC')
  510. 'SIG (PA)' TRACBIO ;
  511. MATBID = MATE MOBID 'YOUN' YOUNBID 'NU' 0.3
  512. 'SECT' sectbid 'TRAC' TRACBID RHO 1. ;
  513. 'SINON' ;
  514. MATBID = MATE MOBID 'YOUN' YOUNBID 'NU' 0.3
  515. 'SECT' sectbid RHO 1. ;
  516. 'FINSI' ;
  517. 'FINSI' ;
  518. si (idecab ega 0); mmcabl=matbid;mmocab= mobid;idecab=1;sinon;
  519. mmcabl=mmcabl et matbid ;mmocab=mmocab et mobid;finsi;
  520. MATCAL = MATCAL ET MATBID ;
  521. 'FIN' BOZONE ;
  522. 'FIN' BOETAP ;
  523. * on ajoute la contrainte du dernier groupe tendu
  524. 'SI' ( 'NEG' &BOUPREC 1) ;
  525. NA = ('DIME' TCONT ) - 1 ;
  526. TCONT.NA= TCONT . NA + SIPRECO.(&BOUPREC - 1) ;
  527. TABRES.'CONTINUATION'.'CONTRAINTES'=
  528. TABRES.'CONTINUATION'.'CONTRAINTES' + SIPRECO.(&BOUPREC - 1);
  529. 'FINSI' ;
  530. * appel a Pasapas pour le temps (tcal - dtemps)
  531. TCALA=TCAL - DTEMPS ;
  532. 'SI' ( 'EGA' NSOUSP 1) ;
  533. LC= 'PROG' TCALA ;
  534. 'SINON' ;
  535. TPAS = (TCALA - TDER ) / NSOUSP ;
  536. 'SI' ( 'EGA' NSOUSP 2) ;
  537. LC = 'PROG' (TDER + TPAS) TCALA ;
  538. 'SINON' ;
  539. LC = 'PROG' (TDER + TPAS) 'PAS' TPAS TCALA ;
  540. 'FINSI' ;
  541. 'FINSI' ;
  542. tabres.'macable'=mmcabl; tabres.'mmocable'=mmocab;
  543. LISTTEMP=LISTTEMP 'ET' LC ;
  544. TABRES.'TEMPS_CALCULES' = LC ;
  545. TABRES.'CARACTERISTIQUES' = MATCAL ;
  546. TABRES.'CHARGEMENT' = CHCAL ;
  547. PASAPAS TABRES ;
  548. * on va calculer le temps TCAL
  549. * on ajoute le chargement du a la precontrainte
  550. CHCAL = CHCAL 'ET' CHPRECO.&BOUPREC ;
  551.  
  552. LISTTEMP = LISTTEMP 'ET' ( 'PROG' TCAL) ;
  553. TABRES.'TEMPS_CALCULES' = 'PROG' TCAL ;
  554. TABRES.'CHARGEMENT' = CHCAL ;
  555. PASAPAS TABRES ;
  556. TDER=TCAL ;
  557. 'FIN' BOUPREC ;
  558. * Il ne rest plus qu'a ajouter la raideur du dernier groupe
  559. * et la contrainte
  560. MATCAL=MATOUT ;
  561. IDETAP = 0 ;
  562. 'REPETER' BOETAP NPRECO ;
  563. IDETAP = IDETAP + 1 ;
  564. NDZONE = DIME TETAP . IDETAP - 1 ;
  565. IDZON = 0 ;
  566. 'REPETER' BOZONE NDZONE ;
  567. IDZON = IDZON + 1 ;
  568. MATCAL = MATCAL 'ET' TETAP . IDETAP . IDZON . 'MATERIAU' ;
  569. 'FIN' BOZONE ;
  570. 'FIN' BOETAP ;
  571. NA = ('DIME' TCONT ) - 1 ;
  572. TCONT.NA=TCONT . NA + SIPRECO. NPRECO ;
  573. TABRES.'CONTINUATION'.'CONTRAINTES'=
  574. TABRES.'CONTINUATION'.'CONTRAINTES' + SIPRECO. NPRECO ;
  575. * le finsi suivant est celui correspondant a 'SI' LPRECO
  576. 'FINSI' ;
  577. *
  578. * calcul du dernier temps tempsfi
  579. * chargement
  580. CHCAL=CHAPOI ;
  581. 'SI' LRETRAIT;NRET = (EPRETRAI 'DIME' ) + 1 ;
  582. TEMPCOUR= TEMPSFI ;
  583. 'REPETER' SOUSLEV NBLEVE ;
  584. MODBET=TLEVEE . &SOUSLEV . 'MODELE' ;
  585. RAYSECH=TLEVEE . &SOUSLEV . 'SECHAGE' ;
  586. TCOFFR= TLEVEE . &SOUSLEV . 'INSTANT' ;
  587. COEF1 = TLEVEE . &SOUSLEV . 'COEF1' ;
  588. COEF2 = TLEVEE . &SOUSLEV . 'COEF2' ;
  589. RET=RETRAIT NOMREGR MODBET RAYSECH
  590. TCOFFR TEMPCOUR COEF1 COEF2 ;
  591. 'SI' ('EGA' 1 &SOUSLEV) ;
  592. EPRETRAI. NRET= RET + DEFONUL ;
  593. 'SINON' ;
  594. EPRETRAI. NRET = EPRETRAI. NRET + RET ;
  595. 'FINSI' ;
  596. 'FIN' SOUSLEV ;
  597. COMRETR = COMRETR + 1 ;
  598. TRETTE . COMRETR = TEMPSFI * 1. ;
  599. TRETEP . COMRETR = EPRETRAI . NRET ;
  600. COMRETR = COMRETR + 1 ;
  601. TRETTE . COMRETR = TEMPSGRA * 1. ;
  602. TRETEP . COMRETR = EPRETRAI . NRET ;
  603. CHRE= 'CHAR' 'DEFINI' TRETTE TRETEP ;
  604. CHCAL = CHCAL 'ET' CHRE ;
  605. 'FINSI' ;
  606. 'SI' LFLUAGE ;
  607. COMTFLU = COMTFLU + 1 ;
  608. FLUAG1=ZERO MODCAL 'DEFORMAT' ;
  609. TFLUTE . COMTFLU = TEMPSFI * 1. ;
  610. 'REPETER' BOUFLU NBLEVE ;
  611. MOLE= TLEVEE . &BOUFLU . 'MODELE' ;
  612. MALE= TLEVEE . &BOUFLU . 'MATERIAU' ;
  613. TCOUL=TLEVEE . &BOUFLU . 'INSTANT' ;
  614. RAYSECH= TLEVEE . &BOUFLU . 'SECHAGE' ;
  615. COEF1 = TLEVEE . &BOUFLU . 'COEF1' ;
  616. COEF2 = TLEVEE . &BOUFLU . 'COEF2' ;
  617. NF= NUMLEV - &BOUFLU + NPRECO + 1 ;
  618. NDE=(&BOUFLU - 1) * (1+NSOUSL) + 1 ;
  619. NSI=NDE - (1+NSOUSL) ;
  620. NTES=NUMLEV - &BOUFLU + 2 ;
  621. REPETER BOPAS NF ;
  622. 'SI' ( < &BOPAS NTES ) ;
  623. NSI = NSI + 1 + NSOUSL ;
  624. 'SINON' ;
  625. NSI = NSI + 1 + NSOUSP ;
  626. 'FINSI' ;
  627. SIG1 =TCONT . NSI ;
  628. SIG0 =TCONT . (NSI - 1) ;
  629. DSIG= REDU ( SIG1 - SIG0) MOLE ;
  630. TCOUR = TTEMP . NSI ;
  631. *aa = maxi ( abs dsig) ;mess ' maxi cont ' aa ' nsi ' nsi;
  632. FLUAG1 = FLUAG1 + ( PFLUAGE NOMREGF MOLE MALE DSIG
  633. RAYSECH TCOUR TEMPSFI COEF2 TCOUL COEF1 ) ;
  634. 'FIN' BOPAS ;
  635. 'FIN' BOUFLU ;
  636. TFLUEP . COMTFLU = FLUAG1 ;
  637. COMTFLU = COMTFLU + 1 ;
  638. TFLUTE . COMTFLU = TEMPSGRA * 1. ;
  639. TFLUEP . COMTFLU = FLUAG1 ;
  640. CHARFLU = 'CHAR' 'DEFI' TFLUTE TFLUEP ;
  641. CHCAL=CHCAL 'ET' CHARFLU ;
  642. 'FINSI' ;
  643. 'SI' ( 'EGA' NSOUSP 1) ;
  644. LC= 'PROG' TEMPSFI ;
  645. 'SINON' ;
  646. TPAS= (TEMPSFI - TDER) / NSOUSP ;
  647. 'SI' ( 'EGA' NSOUSP 2) ;
  648. LC= 'PROG' (TDER+TPAS) TEMPSFI ;
  649. 'SINON' ;
  650. LC= 'PROG' (TDER+TPAS) 'PAS' TPAS TEMPSFI ;
  651. 'FINSI' ;
  652. 'FINSI' ;
  653. LISTTEMP=LISTTEMP 'ET' LC ;
  654. TABRES.'TEMPS_CALCULES' = LC ;
  655. TABRES.'CARACTERISTIQUES' = MATCAL ;
  656. TABRES.'CHARGEMENT' = CHCAL ;
  657. PASAPAS TABRES ;
  658.  
  659. TABPHAS.'TABLE_SUITE' = TABRES ;
  660.  
  661. FINPROC TABPHAS ;
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales