46 lines
1.3 KiB
C
46 lines
1.3 KiB
C
/*
|
|
* File: InitCalcAtmosCOESA.c
|
|
*
|
|
* Code generated for Simulink model 'SIL'.
|
|
*
|
|
* Model version : 1.470
|
|
* Simulink Coder version : 9.0 (R2018b) 24-May-2018
|
|
* C/C++ source code generated on : Thu Oct 22 10:25:15 2020
|
|
*/
|
|
|
|
#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]
|
|
*/
|