Télécharger phasage.procedur

Retour à la liste

Numérotation des lignes :

  1. * PHASAGE PROCEDUR PASCAL 22/04/13 21:15:04 11339
  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 'YOUN') * -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. OUBL TABRES 'WTABLE' ;
  331. PASAPAS TABRES ;
  332. * redefinition des materiaux et du poids pour le temps exact
  333. * correspondant à la levée
  334. 'REPETER' ADDIMO NBLEVE ;
  335. MA = TLEVEE . &ADDIMO . 'MATERIAU' ;
  336. 'SI' ( &ADDIMO <EG NUMLEV ) ;
  337. 'SI' ( 'EGA' 1 &ADDIMO) ; MATCAL=MA; 'SINON' ;
  338. MATCAL=MATCAL ET MA ;
  339. 'FINSI' ;
  340. 'SINON' ;
  341. YOU = (EXCO MA 'YOUN') * -0.99999 ;
  342. MOMA= MA + YOU ;
  343. MATCAL= MATCAL ET MOMA ;
  344. 'FINSI' ;
  345. 'FIN' ADDIMO ;
  346. 'SI' LRESTE ; MATCAL=MATCAL 'ET' TABPHAS.'MAT_RESTE'; 'FINSI';
  347. 'SI' LPRECO; MATCAL=MATCAL 'ET' MATCABL ;'FINSI' ;
  348. * calcul du poids
  349. FPO = FPO + POILEVEE.NUMLEV ;
  350. * determination d'un temps de calcul
  351. TNOUCAL = TLEVEE . NUMLEV . 'INSTANT' ;
  352. LTE = prog 0. TCAL TNOUCAL TEMPSGRA ;
  353. LCOE= PROG 0. 0. 1. 1. ;
  354. EVCH= EVOL MANU 'TEMPS' LTE 'COEF' LCOE ;
  355. CHAPOI = CHARGE 'MECA' FPO EVCH ;
  356. CHACAL = CHAPOI ;
  357. 'SI' LRETRAIT ; CHACAL= CHACAL ET CHARRET; 'FINSI' ;
  358. 'SI' LFLUAGE ; CHACAL= CHACAL ET CHARFLU; 'FINSI' ;
  359. * mise a jour de la table
  360. tabres .'CARACTERISTIQUES' = MATCAL ;
  361. OUBL TABRES 'WTABLE' ;
  362. LISTTEMP=LISTTEMP 'ET' ( 'PROG' TNOUCAL) ;
  363. tabres.'TEMPS_CALCULES' = 'PROG' TNOUCAL ;
  364. tabres.'CHARGEMENT' = CHACAL ;
  365. pasapas tabres ;
  366. TDER = TNOUCAL ;
  367. 'FIN' COULEE ;
  368. 'FINSI' ;
  369. *
  370. * fin du traitement des coulées on passe à la précontrainte
  371. * On calcule le temps juste avant la mise en précontrainte
  372. * puis la mise en précontrainte. Pour la i eme precontrainte
  373. * on prend en compte la raideur des (i-1) premiers groupes de
  374. * cables
  375. 'SI' LPRECO;
  376. * on calcule d'abord le retrait pour tous les temps de
  377. * precontraintes
  378. *mess ' debut des precontraintes traitement du retrait';
  379. 'SI' LRETRAIT; NRET = EPRETRAI 'DIME' ;
  380. 'REPETER' BOURET NPRECO ;
  381. TEMPCOUR= TETAP . &BOURET . 'TPS' ;
  382. 'REPETER' SOUSLEV NUMLEV ;
  383. MODBET=TLEVEE . &SOUSLEV . 'MODELE' ;
  384. RAYSECH=TLEVEE . &SOUSLEV . 'SECHAGE' ;
  385. TCOFFR= TLEVEE . &SOUSLEV . 'INSTANT' ;
  386. COEF1 = TLEVEE . &SOUSLEV . 'COEF1' ;
  387. COEF2 = TLEVEE . &SOUSLEV . 'COEF2' ;
  388. RET = RETRAIT NOMREGR MODBET RAYSECH TCOFFR TEMPCOUR
  389. COEF1 COEF2 ;
  390. 'SI' ( 'EGA' 1 &SOUSLEV) ;
  391. EPRETRAI. (&BOURET + NRET)=RET + DEFONUL ;
  392. 'SINON' ;
  393. EPRETRAI.(&BOURET+NRET)=EPRETRAI.(&BOURET+NRET)+RET ;
  394. 'FINSI' ;
  395. 'FIN' SOUSLEV ;
  396. 'FIN' BOURET ;
  397. 'FINSI' ;
  398. * on calcule maintenant les chargements dues à la precontrainte,
  399. * on les mets dans les tables chpreco et sipreco
  400. CHPRECO=TABLE ;SIPRECO=TABLE ;
  401. 'REPETER' CAFO NPRECO ;
  402. NDZONE = ('DIME' TETAP . &CAFO ) - 1 ;
  403. IDZON = 0 ;
  404. 'REPETER' BOZONE NDZONE ;
  405. IDZON = IDZON + 1 ;
  406. 'SI' (EGA IDZON 1) ;
  407. FOPREC = (-1.) * ('BSIG'
  408. TETAP . &CAFO . IDZON . 'PREC'
  409. TETAP . &CAFO . IDZON . 'MODELE'
  410. TETAP . &CAFO . IDZON . 'MATERIAU') ;
  411. SIPREC = TETAP . &CAFO . IDZON . PREC ;
  412. 'SINON' ;
  413. FOPREC = FOPREC ET ((-1.) * (BSIG
  414. TETAP . &CAFO . IDZON . 'PREC'
  415. TETAP . &CAFO . IDZON . 'MODELE'
  416. TETAP . &CAFO . IDZON . 'MATERIAU')) ;
  417. SIPREC = SIPREC ET (TETAP .&CAFO. IDZON . PREC) ;
  418. 'FINSI' ;
  419. 'FIN' BOZONE ;
  420. EVPTOT = EVOL 'MANU' 'TPS' (PROG 0 TETAP.&CAFO.'TPS' TEMPSGRA)
  421. 'COEF' (PROG 0 1 1) ;
  422. CHPRECO . &CAFO = CHARG 'MECA' FOPREC EVPTOT ;
  423. SIPRECO . &CAFO= SIPREC ;
  424. 'FIN' CAFO ;
  425. * boucle sur la mise en precontrainte
  426. *mess ' debut de boucle sur precontrainte ' npreco;
  427. nfinlev= numlev * 2 + 1 ;
  428. 'REPETER' BOUPREC NPRECO ;
  429. *mess ' traitement de la precontrainte ' &bouprec;
  430. TCAL= TETAP . &BOUPREC . 'TPS' * 1. ;
  431. * calcul du chargement
  432. CHCAL= CHAPOI ;
  433. * on commence par le fluage jusqu'a (temps -dtemps)
  434. 'SI' LFLUAGE ;
  435. COMTFLU = COMTFLU + 1 ;
  436. FLUAG1=ZERO MODCAL 'DEFORMAT' ;
  437. TFLUTE . COMTFLU = TCAL - DTEMPS * 1. ;
  438. REPETER BOUFLU NUMLEV ;
  439. MOLE= TLEVEE . &BOUFLU . 'MODELE' ;
  440. MALE= TLEVEE . &BOUFLU . 'MATERIAU' ;
  441. TCOUL=TLEVEE . &BOUFLU . 'INSTANT' ;
  442. RAYSECH= TLEVEE . &BOUFLU . 'SECHAGE' ;
  443. COEF1 = TLEVEE . &BOUFLU . 'COEF1' ;
  444. COEF2 = TLEVEE . &BOUFLU . 'COEF2' ;
  445. NF= NUMLEV - &BOUFLU + &BOUPREC ;
  446. NDE=(&BOUFLU - 1) * (1+NSOUSL) + 1 ;
  447. NSI=NDE - (1+NSOUSL) ;
  448. NTES=NUMLEV - &BOUFLU + 2 ;
  449. *mess ' numero de levées ' &bouflu ' nf ' nf ' nde ' nde ' nsi ' nsi;
  450. REPETER BOPAS NF ;
  451. 'SI' ( < &BOPAS nfinlev ) ;
  452. NSI = NSI + 1 + NSOUSL ;
  453. 'SINON' ;
  454. NSI = NSI + 1 + NSOUSP ;
  455. 'FINSI' ;
  456. SIG1 =TCONT . NSI ;
  457. SIG0= TCONT . (NSI - 1) ;
  458. DSIG= REDU ( SIG1 - SIG0) MOLE ;
  459. TCOUR = TTEMP . NSI ;
  460. *aa= maxi ( abs dsig); mess 'maxi des cont ' aa ' nsi ' nsi;
  461. FLUAG1 = FLUAG1 + ( PFLUAGE NOMREGF MOLE MALE DSIG
  462. RAYSECH TCOUR TCAL COEF2 TCOUL COEF1 ) ;
  463. FIN BOPAS ;
  464. FIN BOUFLU ;
  465. TFLUEP . COMTFLU = FLUAG1 ;
  466. COMTFLU = COMTFLU + 1 ;
  467. TFLUTE . COMTFLU = TCAL ;
  468. TFLUEP . COMTFLU = FLUAG1 ;
  469. CHARFLU = CHAR 'DEFINI' TFLUTE TFLUEP ;
  470. CHCAL=CHCAL 'ET' CHARFLU ;
  471. 'FINSI' ;
  472. *mess ' fin calcul fluage prise en compte du retrait sans calcul' ;
  473. 'SI' LRETRAIT ;
  474. COMRETR = COMRETR + 1 ;
  475. TRETTE . COMRETR = TCAL - DTEMPS * 1. ;
  476. TRETEP . COMRETR = EPRETRAI .(NRET + &BOUPREC) ;
  477. COMRETR = COMRETR + 1 ;
  478. TRETTE . COMRETR = TCAL * 1. ;
  479. TRETEP . COMRETR = EPRETRAI .(NRET + &BOUPREC) ;
  480. CHRE= 'CHAR' 'DEFI' TRETTE TRETEP ;
  481. CHCAL = CHCAL 'ET' CHRE ;
  482. 'FINSI' ;
  483. MATCAL=MATOUT ;
  484. IDETAP=0 ;
  485. idecab=0;
  486. * on tue les groupes de cable non deja tendus
  487. *mess ' precontrainte du gropue &bouprec' &bouprec;
  488. 'REPETER' BOETAP NPRECO ;
  489. IDETAP = IDETAP + 1 ;
  490. NDZONE = (DIME TETAP . IDETAP) - 1 ;
  491. IDZON = 0 ;
  492. 'REPETER' BOZONE NDZONE ;
  493. IDZON = IDZON + 1 ;
  494. MOBID = (TETAP . IDETAP . IDZON . 'MODELE') ;
  495. 'SI' (< IDETAP (&BOUPREC - 0.01) ) ;
  496. MATBID = TETAP . IDETAP . IDZON . 'MATERIAU' ;
  497. 'SINON ' ;
  498. COEFBID = 1E-3 ;
  499. sectbid= EXCO 'SECT' TETAP.IDETAP.IDZON . 'MATERIAU' ;
  500. sectbid=sectbid * coefbid ;
  501. mabid= TETAP . IDETAP . IDZON . 'MATERIAU' ;
  502. LISTCOMP= 'EXTR' MABID 'COMP' ;
  503.  
  504. YOUNBID = EXCO 'YOUN'
  505. (TETAP . IDETAP . IDZON . 'MATERIAU');
  506. YOUNBID = COEFBID * YOUNBID ;
  507. 'SI' ('EXIS' LISTCOMP 'TRACTION' ) ;
  508. TRACBIO = COEFBID *
  509. (EXTR (TETAP . IDETAP . IDZON . 'TRACTION') 'ORDO') ;
  510. TRACBID = EVOL MANU 'EPS'
  511. (EXTR (TETAP . IDETAP . IDZON . 'TRACTION') 'ABSC')
  512. 'SIG (PA)' TRACBIO ;
  513. MATBID = MATE MOBID 'YOUN' YOUNBID 'NU' 0.3
  514. 'SECT' sectbid 'TRAC' TRACBID RHO 1. ;
  515. 'SINON' ;
  516. MATBID = MATE MOBID 'YOUN' YOUNBID 'NU' 0.3
  517. 'SECT' sectbid RHO 1. ;
  518. 'FINSI' ;
  519. 'FINSI' ;
  520. si (idecab ega 0); mmcabl=matbid;mmocab= mobid;idecab=1;sinon;
  521. mmcabl=mmcabl et matbid ;mmocab=mmocab et mobid;finsi;
  522. MATCAL = MATCAL ET MATBID ;
  523. 'FIN' BOZONE ;
  524. 'FIN' BOETAP ;
  525. * on ajoute la contrainte du dernier groupe tendu
  526. 'SI' ( 'NEG' &BOUPREC 1) ;
  527. NA = ('DIME' TCONT ) - 1 ;
  528. TCONT.NA= TCONT . NA + SIPRECO.(&BOUPREC - 1) ;
  529. TABRES.'CONTINUATION'.'CONTRAINTES'=
  530. TABRES.'CONTINUATION'.'CONTRAINTES' + SIPRECO.(&BOUPREC - 1);
  531. 'FINSI' ;
  532. * appel a Pasapas pour le temps (tcal - dtemps)
  533. TCALA=TCAL - DTEMPS ;
  534. 'SI' ( 'EGA' NSOUSP 1) ;
  535. LC= 'PROG' TCALA ;
  536. 'SINON' ;
  537. TPAS = (TCALA - TDER ) / NSOUSP ;
  538. 'SI' ( 'EGA' NSOUSP 2) ;
  539. LC = 'PROG' (TDER + TPAS) TCALA ;
  540. 'SINON' ;
  541. LC = 'PROG' (TDER + TPAS) 'PAS' TPAS TCALA ;
  542. 'FINSI' ;
  543. 'FINSI' ;
  544. tabres.'macable'=mmcabl; tabres.'mmocable'=mmocab;
  545. LISTTEMP=LISTTEMP 'ET' LC ;
  546. TABRES.'TEMPS_CALCULES' = LC ;
  547. TABRES.'CARACTERISTIQUES' = MATCAL ;
  548. OUBL TABRES 'WTABLE' ;
  549. TABRES.'CHARGEMENT' = CHCAL ;
  550. PASAPAS TABRES ;
  551. * on va calculer le temps TCAL
  552. * on ajoute le chargement du a la precontrainte
  553. CHCAL = CHCAL 'ET' CHPRECO.&BOUPREC ;
  554.  
  555. LISTTEMP = LISTTEMP 'ET' ( 'PROG' TCAL) ;
  556. TABRES.'TEMPS_CALCULES' = 'PROG' TCAL ;
  557. TABRES.'CHARGEMENT' = CHCAL ;
  558. PASAPAS TABRES ;
  559. TDER=TCAL ;
  560. 'FIN' BOUPREC ;
  561. * Il ne rest plus qu'a ajouter la raideur du dernier groupe
  562. * et la contrainte
  563. MATCAL=MATOUT ;
  564. IDETAP = 0 ;
  565. 'REPETER' BOETAP NPRECO ;
  566. IDETAP = IDETAP + 1 ;
  567. NDZONE = DIME TETAP . IDETAP - 1 ;
  568. IDZON = 0 ;
  569. 'REPETER' BOZONE NDZONE ;
  570. IDZON = IDZON + 1 ;
  571. MATCAL = MATCAL 'ET' TETAP . IDETAP . IDZON . 'MATERIAU' ;
  572. 'FIN' BOZONE ;
  573. 'FIN' BOETAP ;
  574. NA = ('DIME' TCONT ) - 1 ;
  575. TCONT.NA=TCONT . NA + SIPRECO. NPRECO ;
  576. TABRES.'CONTINUATION'.'CONTRAINTES'=
  577. TABRES.'CONTINUATION'.'CONTRAINTES' + SIPRECO. NPRECO ;
  578. * le finsi suivant est celui correspondant a 'SI' LPRECO
  579. 'FINSI' ;
  580. *
  581. * calcul du dernier temps tempsfi
  582. * chargement
  583. CHCAL=CHAPOI ;
  584. 'SI' LRETRAIT;NRET = (EPRETRAI 'DIME' ) + 1 ;
  585. TEMPCOUR= TEMPSFI ;
  586. 'REPETER' SOUSLEV NBLEVE ;
  587. MODBET=TLEVEE . &SOUSLEV . 'MODELE' ;
  588. RAYSECH=TLEVEE . &SOUSLEV . 'SECHAGE' ;
  589. TCOFFR= TLEVEE . &SOUSLEV . 'INSTANT' ;
  590. COEF1 = TLEVEE . &SOUSLEV . 'COEF1' ;
  591. COEF2 = TLEVEE . &SOUSLEV . 'COEF2' ;
  592. RET=RETRAIT NOMREGR MODBET RAYSECH
  593. TCOFFR TEMPCOUR COEF1 COEF2 ;
  594. 'SI' ('EGA' 1 &SOUSLEV) ;
  595. EPRETRAI. NRET= RET + DEFONUL ;
  596. 'SINON' ;
  597. EPRETRAI. NRET = EPRETRAI. NRET + RET ;
  598. 'FINSI' ;
  599. 'FIN' SOUSLEV ;
  600. COMRETR = COMRETR + 1 ;
  601. TRETTE . COMRETR = TEMPSFI * 1. ;
  602. TRETEP . COMRETR = EPRETRAI . NRET ;
  603. COMRETR = COMRETR + 1 ;
  604. TRETTE . COMRETR = TEMPSGRA * 1. ;
  605. TRETEP . COMRETR = EPRETRAI . NRET ;
  606. CHRE= 'CHAR' 'DEFINI' TRETTE TRETEP ;
  607. CHCAL = CHCAL 'ET' CHRE ;
  608. 'FINSI' ;
  609. 'SI' LFLUAGE ;
  610. COMTFLU = COMTFLU + 1 ;
  611. FLUAG1=ZERO MODCAL 'DEFORMAT' ;
  612. TFLUTE . COMTFLU = TEMPSFI * 1. ;
  613. 'REPETER' BOUFLU NBLEVE ;
  614. MOLE= TLEVEE . &BOUFLU . 'MODELE' ;
  615. MALE= TLEVEE . &BOUFLU . 'MATERIAU' ;
  616. TCOUL=TLEVEE . &BOUFLU . 'INSTANT' ;
  617. RAYSECH= TLEVEE . &BOUFLU . 'SECHAGE' ;
  618. COEF1 = TLEVEE . &BOUFLU . 'COEF1' ;
  619. COEF2 = TLEVEE . &BOUFLU . 'COEF2' ;
  620. NF= NUMLEV - &BOUFLU + NPRECO + 1 ;
  621. NDE=(&BOUFLU - 1) * (1+NSOUSL) + 1 ;
  622. NSI=NDE - (1+NSOUSL) ;
  623. NTES=NUMLEV - &BOUFLU + 2 ;
  624. REPETER BOPAS NF ;
  625. 'SI' ( < &BOPAS NTES ) ;
  626. NSI = NSI + 1 + NSOUSL ;
  627. 'SINON' ;
  628. NSI = NSI + 1 + NSOUSP ;
  629. 'FINSI' ;
  630. SIG1 =TCONT . NSI ;
  631. SIG0 =TCONT . (NSI - 1) ;
  632. DSIG= REDU ( SIG1 - SIG0) MOLE ;
  633. TCOUR = TTEMP . NSI ;
  634. *aa = maxi ( abs dsig) ;mess ' maxi cont ' aa ' nsi ' nsi;
  635. FLUAG1 = FLUAG1 + ( PFLUAGE NOMREGF MOLE MALE DSIG
  636. RAYSECH TCOUR TEMPSFI COEF2 TCOUL COEF1 ) ;
  637. 'FIN' BOPAS ;
  638. 'FIN' BOUFLU ;
  639. TFLUEP . COMTFLU = FLUAG1 ;
  640. COMTFLU = COMTFLU + 1 ;
  641. TFLUTE . COMTFLU = TEMPSGRA * 1. ;
  642. TFLUEP . COMTFLU = FLUAG1 ;
  643. CHARFLU = 'CHAR' 'DEFI' TFLUTE TFLUEP ;
  644. CHCAL=CHCAL 'ET' CHARFLU ;
  645. 'FINSI' ;
  646. 'SI' ( 'EGA' NSOUSP 1) ;
  647. LC= 'PROG' TEMPSFI ;
  648. 'SINON' ;
  649. TPAS= (TEMPSFI - TDER) / NSOUSP ;
  650. 'SI' ( 'EGA' NSOUSP 2) ;
  651. LC= 'PROG' (TDER+TPAS) TEMPSFI ;
  652. 'SINON' ;
  653. LC= 'PROG' (TDER+TPAS) 'PAS' TPAS TEMPSFI ;
  654. 'FINSI' ;
  655. 'FINSI' ;
  656. LISTTEMP=LISTTEMP 'ET' LC ;
  657. TABRES.'TEMPS_CALCULES' = LC ;
  658. TABRES.'CARACTERISTIQUES' = MATCAL ;
  659. OUBL TABRES 'WTABLE' ;
  660. TABRES.'CHARGEMENT' = CHCAL ;
  661. PASAPAS TABRES ;
  662.  
  663. TABPHAS.'TABLE_SUITE' = TABRES ;
  664.  
  665. FINPROC TABPHAS ;
  666.  
  667.  

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