Télécharger enermode.procedur

Retour à la liste

Numérotation des lignes :

  1. * ENERMODE PROCEDUR BP208322 13/06/27 21:15:07 7785
  2. 'DEBP' ENERMODE TBASS*'TABLE' TRESD*'TABLE' TINIT/'TABLE'
  3. LOG1/'LOGIQUE';
  4.  
  5. **********************************************
  6. *
  7. * CALCUL DU BILAN ENERGETIQUE
  8. *
  9. * TBASS : TABLE DE SOUTYPE 'BASE_MODALE' OU 'ENSEMBLE_DE_BASES';
  10. * TRESD : TABLE DE SOUSTYPE 'RESULTAT_DYNE' OU TABLE CONTENANT
  11. * DES TABLES DE SOUSTYPE 'RESULTAT_DYNE'
  12. * TINIT : TABLE DE CONDITIONS INITIALES
  13. *
  14. * LOG1 : RESULTAT POUR CHAQUE MODE SI LOG1
  15. *
  16. **********************************************
  17.  
  18. TTABD = 'TABL' ;
  19. TTABD.'TITRE'= 'TABL' ; TTAB = TTABD.'TITRE';
  20. TTAB.1 = 'MOT' 'TRAVAIL EXTERIEUR';
  21. TTAB.2 = 'MOT' 'TRAVAIL INTERIEUR';
  22. TTAB.3 = 'MOT' 'ENERGIE CINETIQUE';
  23. TTAB.4 = 'MOT' 'BILAN ENERGETIQUE';
  24.  
  25. 'SI' ('EXIS' TRESD 'SOUSTYPE') ;
  26. 'SI' ('EGA' TRESD.'SOUSTYPE' 'RESULTAT_DYNE');
  27. DIM_REP = 1 ; IREP = FAUX;
  28. 'SINON' ;
  29. DIM_REP = ('DIME' TRESD) - 1 ; IREP = VRAI;
  30. 'FINSI' ;
  31. 'SINON' ;
  32. DIM_REP = 'DIME' TRESD; IREP = VRAI;
  33. 'FINSI' ;
  34.  
  35.  
  36. 'SI' ('EXISTE' TBASS 'SOUSTYPE') ;
  37. 'SI' ('EGA' TBASS.'SOUSTYPE' 'ENSEMBLE_DE_BASES');
  38. IDIM = ('DIME' TBASS) - 1 ; IBAS = FAUX ;
  39. 'SINON' ;
  40. 'SI' ('EGA' TBASS.'SOUSTYPE' 'BASE_MODALE');
  41. IDIM = 1 ; IBAS = VRAI ;
  42. 'SINON' ;
  43. 'MESS' 'ON NE TROUVE PAS DE BASE MODALE';
  44. 'QUIT' ENERMODE ;
  45. 'FINSI' ;
  46. 'FINSI';
  47. 'SINON' ;
  48. 'MESS' 'ON NE TROUVE PAS DE BASE MODALE';
  49. 'QUIT' ENERMODE ;
  50. 'FINSI';
  51.  
  52. TEXT = 'TABLE' ; TINT = 'TABLE'; TCIN = 'TABLE' ;
  53. 'REPETER' BOU4 IDIM ;
  54.  
  55. 'SI' IBAS ; TBAS = TBASS ; 'SINON'; TBAS = TBASS.&BOU4 ; 'FINSI';
  56.  
  57. DIM1 = ('DIME' TBAS.MODES) - 2 ;
  58.  
  59. 'REPETER' BOU2 DIM1 ;
  60. P1 = TBAS.'MODES'.&BOU2 .'POINT_REPERE' ;
  61. 'SI' (&BOU2 'EGA' 1) ; MAIL1 = P1 ; 'SINON' ;
  62. MAIL1 = MAIL1 ET P1 ; 'FINSI' ;
  63. 'FIN' BOU2 ;
  64. CHVIT = 'MANU' 'CHPO' MAIL1 1 'ALFA' 0. ;
  65. 'SI' ('EXISTE' TINIT) ;
  66. 'SI' ('NEG' TINIT.'SOUSTYPE' 'INITIAL') ;
  67. 'MESS' 'ON NE TROUVE PAS DE TABLE DE CONDITIONS INITIALES';
  68. 'MESS' 'LA VITESSE INITIALE EST MISE A ZERO';
  69. 'FINSI' ;
  70. 'SI' ('EXISTE' TINIT 'VITESSE') ; CHVIT = CHVIT + TINIT.'VITESSE';
  71. 'FINSI' ;
  72. 'FINSI' ;
  73.  
  74. 'REPETER' BOU1 DIM1 ;
  75.  
  76. 'REPETER' BOU3 DIM_REP ;
  77. 'SI' IREP ;
  78. 'SI' ('EXISTE' TRESD &BOU3) ;
  79. TRES1 = TRESD.&BOU3 ;
  80. 'SINON' ; 'QUIT' BOU3 ;'FINSI' ;
  81. 'SINON'; TRES1 = TRESD ; 'FINSI' ;
  82.  
  83. 'SI' ('NEG' TRES1.'SOUSTYPE' 'RESULTAT_DYNE') ;
  84. MESS 'ON NE TROUVE PAS DE RESULTAT DE DYNE'; 'QUIT' ENERMODE;
  85. 'FINSI';
  86.  
  87. DIM1 = ('DIME' TBAS.'MODES') - 2 ;
  88. LIS_TEM0 = TRES1.'TEMPS_DE_SORTIE' ;
  89. DIMTEMPS = 'DIME' LIS_TEM0 ;
  90.  
  91. P1 = TBAS.'MODES'.&BOU1 .'POINT_REPERE' ;
  92. M1 = TBAS.'MODES'.&BOU1 .'MASSE_GENERALISEE';
  93. NUM_MODE = TBAS.'MODES'.&BOU1 .'NUMERO_MODE' ;
  94. V0 = 'EXTR' CHVIT 'ALFA' P1 ;
  95. WCIN0 = .5*M1*V0*V0 ; LISWCIN0 = 'PROG' DIMTEMPS*WCIN0 ;
  96. EVV = 'EVOL' 'SOLU' TRES1 'VITE' P1 'ALFA' ;
  97. LISWCIN = (('EXTR' EVV 'ORDO')**2)*.5*M1 ;
  98. LISWCIN = LISWCIN - LISWCIN0 ;
  99. 'SI' (&BOU3 'EGA' 1) ;
  100. EVCIN = 'EVOL' 'TURQ' 'MANU' 'TEMPS' LIS_TEM0 LISWCIN ;
  101. EVEXT = 'EVOL' 'SOLU' TRES1 'TRAVAIL_EXTERIEUR' P1 'ALFA' ;
  102. EVINT = 'EVOL' 'VERT' 'SOLU' TRES1 'TRAVAIL_INTERIEUR' P1 'ALFA' ;
  103. 'SINON' ;
  104. EVCIN = ('EVOL' 'TURQ' 'MANU' 'TEMPS' LIS_TEM0 LISWCIN) 'CONC' EVCIN;
  105. EVEXT = ('EVOL' 'SOLU' TRES1 'TRAVAIL_EXTERIEUR' P1 'ALFA')
  106. 'CONC' EVEXT;
  107. EVINT = ('EVOL' 'VERT' 'SOLU' TRES1 'TRAVAIL_INTERIEUR' P1 'ALFA')
  108. 'CONC' EVINT ;
  109. 'FINSI' ;
  110. 'SI' (&BOU3 'EGA' DIM_REP) ;
  111. 'TITRE' 'BASE MODALE' &BOU4 ' MODE NUMERO' NUM_MODE;
  112. EVBILAN = EVEXT - EVINT - EVCIN ;
  113. EVBILAN = 'COUL' 'ROUG' EVBILAN ;
  114. 'SI' ('EXISTE' LOG1) ;
  115. 'SI' LOG1 ;
  116. 'DESS' (EVEXT ET EVINT ET EVCIN ET EVBILAN) TTABD 'LEGE' ;
  117. 'FINSI';
  118. 'FINSI';
  119. 'FINSI' ;
  120. 'FIN' BOU3 ;
  121.  
  122.  
  123. *** BILAN TOTAL POUR UNE BASE ;
  124. 'SI' (&BOU1 'EGA' 1) ;
  125. EVEXTT = EVEXT ; EVINTT = EVINT ; EVCINT = EVCIN ;
  126. 'SINON' ;
  127. EVEXTT = EVEXTT + EVEXT ; EVINTT = EVINTT + EVINT ;
  128. EVCINT = EVCINT + EVCIN ;
  129. 'FINSI';
  130.  
  131. 'FIN' BOU1 ;
  132.  
  133. TEXT.&BOU4 = EVEXTT;TINT.&BOU4 = EVINTT;TCIN.&BOU4 = EVCINT;
  134. 'FIN' BOU4 ;
  135.  
  136. *** BILAN TOTAL POUR L'ENSEMBLE DE BASES ;
  137. 'REPETER' BOU4 IDIM ;
  138. 'SI' (&BOU4 'EGA' 1) ;
  139. EVEXTT = TEXT.&BOU4 ;EVINTT =TINT.&BOU4 ;EVCINT = TCIN.&BOU4 ;
  140. 'SINON' ;
  141. EVEXTT = EVEXTT + TEXT.&BOU4 ; EVINTT = EVINTT + TINT.&BOU4 ;
  142. EVCINT = EVCINT + TCIN.&BOU4 ;
  143. 'FINSI';
  144. 'FIN' BOU4 ;
  145.  
  146. 'TITRE' 'BILAN TOTAL';
  147. EVBILAN = EVEXTT - EVINTT - EVCINT ;
  148. EVBILAN = 'COUL' 'ROUG' EVBILAN ;
  149. 'DESS' (EVEXTT ET EVINTT ET EVCINT ET EVBILAN) TTABD 'LEGE' ;
  150.  
  151. 'FINP' ;
  152.  

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