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 : 153 :
© Cast3M 2003 - All rights reserved.
Disclaimer