Files
sil/SIL/work/slprj/ert_shrlib/_sharedutils/InitCalcAtmosCOESA.c
T

46 lines
1.3 KiB
C
Raw Normal View History

2020-09-30 11:44:05 +08:00
/*
* File: InitCalcAtmosCOESA.c
*
* Code generated for Simulink model 'SIL'.
*
2020-10-22 10:50:04 +08:00
* Model version : 1.470
2020-09-30 11:44:05 +08:00
* Simulink Coder version : 9.0 (R2018b) 24-May-2018
2020-10-22 10:50:04 +08:00
* C/C++ source code generated on : Thu Oct 22 10:25:15 2020
2020-09-30 11:44:05 +08:00
*/
#include "rtwtypes.h"
#include "COESA76DATA_MACRO.h"
#include "COESAATMOS_MACRO.h"
#include <math.h>
#include "InitCalcAtmosCOESA.h"
/* Initialize pressure and temperature tables. */
void InitCalcAtmosCOESA(real_T *temperature76, real_T *pressureRatio76)
{
if (temperature76[0] != TEMPERATURE0 ) {
int_T k;
temperature76[0] = TEMPERATURE0;
pressureRatio76[0] = 1.0;
/* set up the data at the 1976 altitude breakpoints */
for (k=0; k<(NUM1976PTS-1); k++) {
if (tempGradient76[k] != 0.0) {
temperature76[k+1] = temperature76[k] +
tempGradient76[k]*(altitude76[k+1] - altitude76[k]);
pressureRatio76[k+1] = pressureRatio76[k] *
exp(log(temperature76[k]/temperature76[k+1]) * GMR/tempGradient76[k]);
} else {
temperature76[k+1] = temperature76[k];
pressureRatio76[k+1] = pressureRatio76[k] *
exp((-GMR)*(altitude76[k+1] - altitude76[k])/temperature76[k]);
}
}
}
}
/*
* File trailer for generated code.
*
* [EOF]
*/