Télécharger usinib.procedur

Retour à la liste

Numérotation des lignes :

  1. * USINIB PROCEDUR MB234859 25/05/05 21:15:10 12260
  2. ***********************************************************************
  3. * PROCEDURE USINIB
  4. *
  5. * Procedure appelee en debut de calcul et qui verifie certaines des
  6. * informations transmises.
  7. * La table INFOS est creee et renseignee. Elle contient les informations
  8. * communes aux zones d'usure.
  9. * La table POST contiendra les resultats de calcul a conserver.
  10. *
  11. * Entrees :
  12. * T1 : Table de PASAPAS
  13. *
  14. * Appelee par USURE
  15. *
  16. ***********************************************************************
  17. 'DEBP' USINIB T1*'TABLE' ;
  18. *
  19. * Indicateur a mettre a VRAI pour quitter PASAPAS
  20. T1.'ARRET' = FAUX ;
  21. BOITE_US = T1.'BOITES_USURE' ;
  22. *-----------------------------------------------------------------------
  23. * - VERIFICATIONS ET REMPLISSAGE DE 'INFOS'
  24. *-----------------------------------------------------------------------
  25. * Nombre de surface a user
  26. IBUSUR = 'INDE' BOITE_US ;
  27. NBBOX = 0 ;
  28. 'REPE' BI ('DIME' IBUSUR) ;
  29. INDZ = IBUSUR. &BI ;
  30. OBJZ = BOITE_US. INDZ ;
  31. 'SI' ('EGA' ('TYPE' INDZ) 'ENTIER') ;
  32. 'SI' ('EXIS' OBJZ 'SURFACE_APPLICATION') ;
  33. NBBOX = NBBOX '+' 1;
  34. 'FINSI' ;
  35. 'FINSI' ;
  36. 'FIN' BI ;
  37. 'SI' ('EGA' NBBOX 0) ;
  38. 'MESS' 'Aucune zone usee n est definie' ;
  39. 'ERRE' 21 ;
  40. 'FINSI' ;
  41. BOITE_US.'INFOS' = 'TABLE' ;
  42. BOITE_US.'INFOS'.'N_BOITES' = NBBOX ;
  43. * --------------------------------------------------------------------
  44. * Compteur cycle, increment par cycle
  45. NbIncCy = 'ENTI' BOITE_US.'DONNEES'.'INCREMENTS_CYCLE' ;
  46. Periode = BOITE_US.'DONNEES'.'PERIODE' ;
  47. NCyctot = BOITE_US.'DONNEES'.'NB_CYCLES' ;
  48. BOITE_US.'INFOS'.'INDICE_CYCLE_ACTUEL' = 1 ;
  49. BOITE_US.'INFOS'.'NB_INCREMENTS_PAR_CYCLE' = NbIncCy ;
  50. BOITE_US.'INFOS'.'NB_CYCLES_RESTANTS' = NCyctot ;
  51. * --------------------------------------------------------------------
  52. * Dimension, trace
  53. BOITE_US.'INFOS'.'ITRID' = 'EGA' ('VALE' 'DIME') 3 ;
  54. BOITE_US.'INFOS'.'UNSURT' = 1. '/' Periode ;
  55. BOITE_US.'INFOS'.'TRACE_DEBUG' = FAUX ;
  56. BOITE_US.'INFOS'.'DEFO_IMP' = FAUX ;
  57. * --------------------------------------------------------------------
  58. * Noms de composantes et listes de valeurs (pour USCALC)
  59. MODEME = 'EXTR' T1.'MODELE' 'FORM' 'MECANIQUE' ;
  60. LCOMPF = 'EXTR' MODEME 'FORC' ;
  61. BOITE_US.'INFOS'.'LFORCE' = LCOMPF ;
  62. BOITE_US.'INFOS'.'LDEPLA' = 'EXTR' MODEME 'DEPL' ;
  63. BOITE_US.'INFOS'.'LSCAL' = 'MOTS' ('DIME' LCOMPF) '*' 'SCAL' ;
  64. * --------------------------------------------------------------------
  65. * Informations sur le chargement en deplacement impose
  66. CGDEPI = 'EXTR' TAB1.'CHARGEMENT' 'DIMP' ;
  67. CHDEPI = 'EXTR' CGDEPI 'CHAM' ;
  68. EVDEPI = 'EXTR' CGDEPI 'EVOL' ;
  69. xEVDEP = 'EXTR' EVDEPI 'ABSC' ;
  70. yEVDEP = 'EXTR' EVDEPI 'ORDO' ;
  71. * --- Instant de debut du chargement
  72. * -> il s'agit du point precedent la premiere valeur non nulle
  73. MASQUZ = 'MASQ' yEVDEP 'DIFFERENT' 0. ;
  74. POSIT0 = ('POSI' 1. 'DANS' MASQUZ) '-' 1 ;
  75. TDEDEP = 'EXTR' xEVDEP POSIT0 ;
  76. BOITE_US.'INFOS'.'T_DEBUT_DEPI' = TDEDEP ;
  77. * --- Valeur du deplacement impose
  78. ORDMAX = 'MAXI' yEVDEP ;
  79. FLXVAL = 'EXTR' ('EXTR' CHDEPI 'VALE') 1 ;
  80. BOITE_US.'INFOS'.'DEPLA_IMPOSE' = ORDMAX '*' FLXVAL ;
  81. * --- Composante concernee
  82. MDEP = 'EXTR' CHDEPI 'MAIL' ;
  83. MBLO = 'EXTR' TAB1.'BLOCAGES_MECANIQUES' 'MAIL' ;
  84. ELTR = MBLO 'ELEM' 'CONTENANT' (MDEP 'POIN' 1) ;
  85. RIGD = 'REDU' TAB1.'BLOCAGES_MECANIQUES' ELTR ;
  86. BOITE_US.'INFOS'.'COMP_DEPI' = 'EXTR' ('EXTR' RIGD 'COMP') 2 ;
  87. BOITE_US.'INFOS'.'PTSZ_DEPI' = ('EXTR' RIGD 'MAIL' 'NOMU') 'POIN' 1 ;
  88. * --------------------------------------------------------------------
  89. * Le facteur de saut de cycle doit etre strictement positif
  90. xACCE = 1. ;
  91. 'SI' ('EXIS' BOITE_US.'DONNEES' 'ACCELERATION') ;
  92. 'SI' ('>EG' BOITE_US.'DONNEES'.'ACCELERATION' 0.) ;
  93. xACCE = BOITE_US.'DONNEES'.'ACCELERATION' ;
  94. 'FINSI' ;
  95. 'FINSI' ;
  96. BOITE_US.'INFOS'.'ACCELERATION' = xACCE ;
  97. * --------------------------------------------------------------------
  98. * Nb de cycles avant estimation du facteur de saut de cycle variable
  99. nCycini = 10 ;
  100. 'SI' ('EXIS' BOITE_US.'DONNEES' 'DN_CYCLES_INIT') ;
  101. nCyctmp = 'ENTI' BOITE_US.'DONNEES'.'DN_CYCLES_INIT' ;
  102. 'SI' ('>' nCyctmp 1) ;
  103. nCycini = nCyctmp ;
  104. 'FINSI' ;
  105. 'FINSI' ;
  106. BOITE_US.'INFOS'.'DN_CYCLES_INIT' = nCycini ;
  107. * --------------------------------------------------------------------
  108. * Faut-il construire la liste des pas de temps au cours du calcul
  109. Tdebus = BOITE_US.'DONNEES'.'T_DEBUT_USURE' ;
  110. Tfinal = (NCyctot '*' Periode '/' xACCE) '+' Tdebus ;
  111. iTfin = 'MASQ' T1.'TEMPS_CALCULES' 'EGSUPE' 'SOMM' Tfinal ;
  112. BOITE_US.'INFOS'.'CALCUL_PAS' = 'EGA' iTfin 0 ;
  113. *
  114. * Verifications et infos necessaires au recalcul des pas de temps
  115. 'SI' BOITE_US.'INFOS'.'CALCUL_PAS' ;
  116. *
  117. * Verification qu'il y a un nombre pair d'increments a calculer
  118. 'SI' ('NEG' (@MOD NbIncCy 2) 0) ;
  119. 'MESS' 'INCREMENTS_CYCLE doit etre un nombre pair' ;
  120. 'ERRE' 21 ;
  121. 'FINSI' ;
  122. *
  123. * Coherence entre T_DEBUT_USURE et T_DEBUT_DEPI
  124. Tdebdep = BOITE_US.'INFOS'.'T_DEBUT_DEPI' ;
  125. Woffset = Tdebus '-' Tdebdep ;
  126. 'SI' ('<' Woffset 0.) ;
  127. 'MESS' 'Incoherence entre T_DEBUT_USURE et T_DEBUT_DEPI' ;
  128. 'MESS' 'Il faut que T_DEBUT_USURE >= T_DEBUT_DEPI' ;
  129. 'ERRE' 21 ;
  130. 'FINSI' ;
  131. *
  132. * T_DEBUT_USURE multiple de PERIODE
  133. 'SI' ('NEG' (@MOD Woffset Periode) 0.) ;
  134. 'MESS' 'Incoherence entre T_DEBUT_USURE et PERIODE' ;
  135. 'MESS' 'Il faut que (T_DEBUT_USURE - T_DEBUT_DEPI) = n[PERIODE]' ;
  136. 'ERRE' 21 ;
  137. 'FINSI' ;
  138. BOITE_US.'INFOS'.'PRE_USURE' = 'ENTI' (Woffset '/' Periode) ;
  139. *
  140. * Informations pour construire le CHAR DIMP en cours de calcul
  141. * -> evol temporelle du deplacement entre 0 et T
  142. MASQUZ = 'MASQ' xEVDEP 'EGSUPE' (Tdedep '+' Periode) ;
  143. POSITF = 'POSI' 1. 'DANS' MASQUZ ;
  144. LEXTR = 'LECT' POSIT0 'PAS' 1 POSITF ;
  145. BOITE_US.'INFOS'.'TEMPS_DEPI' = ('EXTR' xEVDEP LEXTR) '-' Tdebdep ;
  146. BOITE_US.'INFOS'.'COEFF_DEPI' = 'EXTR' yEVDEP LEXTR ;
  147. BOITE_US.'INFOS'.'CHPT_DEPI' = CHDEPI ;
  148. BOITE_US.'INFOS'.'CHGMTS' = 'ENLE' TAB1.'CHARGEMENT' 'DIMP' ;
  149. 'FINSI' ;
  150. * --------------------------------------------------------------------
  151. * Effectuer des sauvegardes intermediaires
  152. BOITE_US.'INFOS'.'SAUV_CYCLE' = FAUX ;
  153. 'SI' ('EXIS' BOITE_US.'DONNEES' 'SAUV_AUTO') ;
  154. BOITE_US.'INFOS'.'SAUV_CYCLE' = BOITE_US.'DONNEES'.'SAUV_AUTO' ;
  155. *
  156. * Si sauvegarde, utiliser l'option ECONOMIQUE de PASAPAS
  157. 'SI' BOITE_US.'INFOS'.'SAUV_CYCLE' ;
  158. T1.'WTABLE'.'LECONOMI' = VRAI ;
  159. 'FINSI' ;
  160. 'FINSI' ;
  161. * --------------------------------------------------------------------
  162. * Indices et temps des cycles
  163. BOITE_US.'POST' = 'TABLE' ;
  164. BOITE_US.'POST'.'INDICES_CYCLE' = 'TABLE' ;
  165. BOITE_US.'POST'.'CYCLES_CALCULES' = 'PROG' ;
  166. BOITE_US.'POST'.'CYCLES_REELS' = 'PROG' ;
  167. BOITE_US.'POST'.'FACTEUR_ACCELERATION' = 'TABLE' 'ESCLAVE' ;
  168. * --------------------------------------------------------------------
  169. * Schema de resolution pour le profil d'usure
  170. BOITE_US.'INFOS'.'SCH_EXPL' = VRAI ;
  171. BOITE_US.'INFOS'.'SCH_CONV' = FAUX ;
  172. 'SI' ('EXIS' BOITE_US.'DONNEES' 'SCHEMA') ;
  173. LSCHEMA = 'MOTS' 'EXPLICITE' 'IMPLICITE' ;
  174. MSCHEMA = 'CHAN' 'MAJU' BOITE_US.'DONNEES'.'SCHEMA' ;
  175. ITYPSCH = 'POSI' MSCHEMA 'DANS' LSCHEMA ;
  176. 'SI' ('EGA' ITYPSCH 2) ;
  177. BOITE_US.'INFOS'.'SCH_EXPL' = FAUX ;
  178. BOITE_US.'INFOS'.'ITERATION_NEWTON' = 1;
  179. BOITE_US.'INFOS'.'CRITERE_CONV' = 0.;
  180. BOITE_US.'INFOS'.'RELAX_COMPTEUR' = 1;
  181. BOITE_US.'INFOS'.'RELAX_EXPOSANT' = 0;
  182. BOITE_US.'POST' .'NITER_CONV_NEWTON' = 'TABLE' 'ESCLAVE' ;
  183. 'SINON' ;
  184. 'SI' ('EGA' ITYPSCH 0) ;
  185. 'MESS' 'Indice SCHEMA : choix entre IMPLICITE et EXPLICITE';
  186. 'ERRE' 21 ;
  187. 'FINSI' ;
  188. 'FINSI' ;
  189. 'FINSI' ;
  190. *-----------------------------------------------------------------------
  191. * - LIEN ENTRE MULT. DE LAGRANGE DE CONTACT ET DE FROTTEMENT
  192. *-----------------------------------------------------------------------
  193. * Maillage de contact-frottement
  194. MODC = 'EXTR' T1.'MODELE' 'FORM' 'CONTACT' ;
  195. MFRO = 'EXTR' MODC 'MAIL' ;
  196. *
  197. NODEF = 'NBNO' (MFRO 'ELEM' 1) ;
  198. NBELT = 'NBEL' MFRO ;
  199. *
  200. MLIEN = 'VIDE' 'MAILLAGE'/'SEG2' ;
  201. MCONT = 'VIDE' 'MAILLAGE'/'POI1' ;
  202. MFROT = 'VIDE' 'MAILLAGE'/'POI1' ;
  203. 'SI' BOITE_US.'INFOS'.'ITRID' ;
  204. MFRO2 = 'VIDE' 'MAILLAGE'/'POI1' ;
  205. 'FINSI' ;
  206. *
  207. 'REPE' BCL NBELT ;
  208. ELZ = MFRO 'ELEM' &BCL ;
  209. *
  210. PCONT = ELZ 'POIN' 1 1 ;
  211. MCONT = MCONT 'ET' PCONT ;
  212. *
  213. PFROT = ELZ 'POIN' NODEF 1 ;
  214. MFROT = MFROT 'ET' PFROT ;
  215. *
  216. MAIZ = 'MANU' 'SEG2' PCONT PFROT ;
  217. *
  218. 'SI' (BOITE_US.'INFOS'.'ITRID') ;
  219. PFRO2 = ELZ 'POIN' (NODEF - 1) 1 ;
  220. MFRO2 = MFRO2 'ET' PFRO2 ;
  221. MAIZ = MAIZ 'ET' ('MANU' 'SEG2' PCONT PFRO2) ;
  222. 'FINSI' ;
  223. MLIEN = MLIEN 'ET' MAIZ ;
  224. 'FIN' BCL ;
  225. *
  226. MLIEN = 'UNIQ' MLIEN ;
  227. MCONT = 'UNIQ' MCONT ;
  228. *
  229. BOITE_US.'INFOS'.'MULT_CONT' = MCONT ;
  230. BOITE_US.'INFOS'.'MULT_FROT' = MFROT ;
  231. 'SI' BOITE_US.'INFOS'.'ITRID' ;
  232. BOITE_US.'INFOS'.'MULT_FRO2' = MFRO2 ;
  233. 'FINSI' ;
  234. BOITE_US.'INFOS'.'CONT_FROT' = MLIEN ;
  235. *******************************************************
  236. BOITE_US.'INFOS'.'DELTA_T' = 0 ;
  237. *******************************************************
  238. *-----------------------------------------------------------------------
  239. * - INFORMATIONS PROPRES A CHAQUE SURFACE D'USURE
  240. *-----------------------------------------------------------------------
  241. Ldl0 = 'PROG' ;
  242. 'REPE' BU BOITE_US.'INFOS'.'N_BOITES' ;
  243. *
  244. SUR_APPL = BOITE_US. &BU .'SURFACE_APPLICATION' ;
  245. Ldl0 = Ldl0 'ET' ('MINI' ('MESU' SUR_APPL 'DENS')) ;
  246. CZERO = 'MANU' 'CHPO' SUR_APPL 1 'SCAL' 0. 'NATURE' 'DISCRET' ;
  247. BOITE_US. &BU .'CZERO' = CZERO;
  248. * --------------------------------------------------------------------
  249. * Indices renseignes dans USCALC
  250. BOITE_US. &BU .'DENS_ENER_DISS_TOTALE' = CZERO ;
  251. BOITE_US. &BU .'DELTAS' = 'PROG' ;
  252. BOITE_US. &BU .'FORCES_TANGENTIELLES' = 'PROG' ;
  253. BOITE_US. &BU .'PRESSION_MAX_INC' = 'PROG' NbIncCy * 0. ;
  254. BOITE_US. &BU .'CISAILLEMENT_MAX_INC' = 'PROG' NbIncCy * 0. ;
  255. BOITE_US. &BU .'CYCLE_DE_FRETTING' = 'TABLE' ;
  256. * --------------------------------------------------------------------
  257. * Indices renseignes dans USPOST
  258. BOITE_US. &BU .'PRESSION_MAX_CYCLE' = 'PROG' ;
  259. BOITE_US. &BU .'CISAILLEMENT_MAX_CYCLE' = 'PROG' ;
  260. BOITE_US. &BU .'DELTA_G' = 'PROG' ;
  261. BOITE_US. &BU .'DELTA_T' = 'PROG' ;
  262. BOITE_US. &BU .'ENERGIE_DISSIPEE_CYCLE' = 'PROG' ;
  263. BOITE_US. &BU .'ENERGIE_DISSIPEE_TOTALE' = 'PROG' 0. ;
  264. BOITE_US. &BU .'VOLUME_USE_CYCLE' = 'PROG' ;
  265. BOITE_US. &BU .'VOLUME_USE_TOTAL' = 'PROG' 0. ;
  266. BOITE_US. &BU .'PROF_USEE_MAX_CYCLE' = 'PROG' ;
  267. BOITE_US. &BU .'PROF_USEE_MAX_TOTALE' = 'PROG' ;
  268. BOITE_US. &BU .'LARGEUR_CONTACT_CYCLE' = 'PROG' ;
  269. BOITE_US. &BU .'PRESSION_MOYENNE_CYCLE' = 'TABLE' ;
  270. BOITE_US. &BU .'CISAILLEMENT_MOYEN_CYCLE' = 'TABLE' ;
  271. *
  272. * Modele utilise pour les calculs avec INTG
  273. BOITE_US. &BU .'MODINTG' = 'MODE' SUR_APPL 'MECANIQUE' 'ELASTIQUE' ;
  274. * --------------------------------------------------------------------
  275. * Informations utilisees dans USDEPL
  276. 'SI' BOITE_US.'INFOS'.'ITRID' ;
  277. TATMP = 'PART' 'SEPA' ('CONT' SUR_APPL) 'ANGL' 10. ;
  278. MESHZ = TATMP. 1 ;
  279. 'SINON' ;
  280. MESHZ = SUR_APPL 'POIN' 'INIT' ;
  281. 'FINSI' ;
  282. BOITE_US. &BU .'MAIL_PSIP' = MESHZ ;
  283. *
  284. * Direction suivant laquelle appliquer l'usure
  285. MODREPA = 'REDU' T1.'MODELE' BOITE_US. &BU .'VOLUME_REPARTITION';
  286. CHVNINT = 'PRES' 'MASS' SUR_APPL MODREPA 1. ;
  287. LCOMPF = BOITE_US.'INFOS'.'LFORCE' ;
  288. NORVINT = 'PSCA' CHVNINT CHVNINT LCOMPF LCOMPF ;
  289. NORVINT = NORVINT '**' 0.5 ;
  290. CHVNINT = CHVNINT '/' NORVINT ;
  291. CHVNINT = 'CHAN' 'ATTRIBUT' CHVNINT 'NATURE' 'DISCRET' ;
  292. BOITE_US. &BU .'VNORM_INTE' = CHVNINT ;
  293. *
  294. * Direction(s) tangentielle(s) pour le cycle d'usure
  295. * VTANGENT n'est pas utilise mais on le conserve pour le moment
  296. 'SI' BOITE_US.'INFOS'.'ITRID' ;
  297. CHPTTMP = 'MANU' 'CHPO' SUR_APPL LCOMPF ('PROG' 0. 0. 1.) ;
  298. CHVTGT1 = 'PVEC' CHVNINT CHPTTMP LCOMPF LCOMPF LCOMPF ;
  299. NORVTG1 = 'PSCA' CHVTGT1 CHVTGT1 LCOMPF LCOMPF ;
  300. NORMAXI = ('MAXI' NORVTG1) '**' 0.5 ;
  301. NORMINI = ('MINI' NORVTG1) '**' 0.5 ;
  302. 'SI' (('&lt;EG' NORMAXI 1.E-6) 'OU' ('&lt;EG' NORMINI 1.E-6)) ;
  303. CHPTTMP = 'MANU' 'CHPO' SUR_APPL LCOMPF ('PROG' 0. 1. 0.) ;
  304. CHVTGT1 = 'PVEC' CHVNINT CHPTTMP LCOMPF LCOMPF LCOMPF ;
  305. NORVTG1 = 'PSCA' CHVTGT1 CHVTGT1 LCOMPF LCOMPF ;
  306. 'FINSI' ;
  307. NORVTG1 = NORVTG1 '**' 0.5 ;
  308. CHVTGT1 = CHVTGT1 '/' NORVTG1 ;
  309. CHVTGT1 = 'CHAN' 'ATTRIBUT' CHVTGT1 'NATURE' 'DISCRET' ;
  310. CHVTGT2 = 'PVEC' CHVNINT CHVTGT1 LCOMPF LCOMPF LCOMPF ;
  311. NORVTG2 = 'PSCA' CHVTGT2 CHVTGT2 LCOMPF LCOMPF ;
  312. NORVTG2 = NORVTG2 '**' 0.5 ;
  313. CHVTGT2 = CHVTGT2 '/' NORVTG2 ;
  314. CHVTGT2 = 'CHAN' 'ATTRIBUT' CHVTGT2 'NATURE' 'DISCRET' ;
  315. BOITE_US. &BU .'VTANGEN1' = CHVTGT1 ;
  316. BOITE_US. &BU .'VTANGEN2' = CHVTGT2 ;
  317. 'SINON' ;
  318. CHTANGT = 'PVEC' CHVNINT LCOMPF LCOMPF ;
  319. BOITE_US. &BU .'VTANGENT' = CHTANGT ;
  320. 'FINSI' ;
  321. *
  322. * Direction pour calculer la reaction tangentielle
  323. LCOMPU = BOITE_US.'INFOS'.'LDEPLA' ;
  324. POSIND = 'POSI' BOITE_US.'INFOS'.'COMP_DEPI' 'DANS' LCOMPU ;
  325. LVALEU = 'PROG' ('DIME' LCMPF) 0. ;
  326. 'REMP' LVALEU POSIND 1. ;
  327. CHREACT = 'MANU' 'CHPO' SUR_APPL LCOMPF LVALEU ;
  328. BOITE_US. &BU .'DIRE_REACTION' = CHREACT ;
  329. * --------------------------------------------------------------------
  330. * Indices renseignes dans USEXPL ou USIMPL
  331. BOITE_US. &BU .'EVO_USURE_TOT' = 'TABLE' ;
  332. BOITE_US. &BU .'USURE_TOT' = 'TABLE';
  333. BOITE_US. &BU .'USURE_TOT'. 0 = CZERO ;
  334. BOITE_US. &BU .'INC_USURE' = 'TABLE';
  335. BOITE_US. &BU .'INC_USURE'. 0 = CZERO ;
  336. 'SI' ('NON' BOITE_US.'INFOS'.'SCH_EXPL') ;
  337. BOITE_US. &BU .'VIT_USURE_K' = 'TABLE';
  338. BOITE_US. &BU .'INC_USURE_K' = 'TABLE';
  339. BOITE_US. &BU .'USURE_TOT_K' = 'TABLE';
  340. BOITE_US. &BU .'USURE_TOT_K'. 1 = CZERO ;
  341. 'FINSI' ;
  342. 'FIN' BU ;
  343. * --------------------------------------------------------------------
  344. * Informations pour construire, si necessaire, le CHAR DEFI
  345. 'SI' BOITE_US.'INFOS'.'DEFO_IMP' ;
  346. T1.'WTABLE'.'CHAR_DEFI' = VRAI ;
  347. LTPS = 'PROG' 0. (10.*Periode) ;
  348. LCOE = 'PROG' 1. 1. ;
  349. EVTP = 'EVOL' 'MANU' 'Temps' LTPS 'Fac' LCOE ;
  350. CHM0 = 'ZERO' (T1.'MODELE') 'DEFORMATIONS' ;
  351. CHDE = 'CHAR' 'DEFI' CHM0 EVTP ;
  352. T1.'WTABLE'.'CHARGEMENT' = TAB1.'CHARGEMENT' 'ET' CHDE ;
  353. T1.'CHAR_DEFI' = CHDE ;
  354. T1.'WTABLE'.'DEFOR1' = CHM0 ;
  355. 'REPE' BU BOITE_US.'INFOS'.'N_BOITES' ;
  356. BOITE_US. &BU .'CHMP_DEF' = 'VIDE' 'MCHAML' ;
  357. 'FIN' BU ;
  358. 'FINSI' ;
  359. *-----------------------------------------------------------------------
  360. * Elargissement de la zone usee souhaitee en saut de cycle variable
  361. dltal0 = 'MINI' Ldl0 ;
  362. 'SI' ('EXIS' BOITE_US.'DONNEES' 'DELTA_L0') ;
  363. 'SI' ('>EG' BOITE_US.'DONNEES'.'DELTA_L0' 0) ;
  364. dltal0 = BOITE_US.'DONNEES'.'DELTA_L0' ;
  365. 'FINSI' ;
  366. 'FINSI' ;
  367. BOITE_US.'INFOS'.'DELTA_L0' = dltal0 ;
  368. * --------------------------------------------------------------------
  369. 'FINP' ;
  370.  
  371.  

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