Télécharger phasage.procedur

Retour à la liste

Numérotation des lignes :

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

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