LISTINGEN
DIESELSIMULATIEPROGRAMMA
voor transient gedrag
INHOUD
diesel.c
Simulatiemodel dieselmotor met Qlast = fie(t)
diesel.h
vrst.c
Simulatiemodel scheepsvoortstuwing
vrst.h
Hulpprogramma's
compr.pas
Berekent parameters compressor-submodel
modell.c
modell.h
Bepaalt de maximaal isochoor te verbranden
brandstof.
(mfo cc max)
_
_
massal.c
Berekent eff. doortocht spoelmassastroom (Aeff)
massal.h
Stootfactor
(K)Geeft verder nieuwe datafile met verbeterde
referentiewaarden.
(fl m c) en pex)
mode12.c
Berekent de heatcoefficient en de toerental
mode12.h
afhankelijkheid (heat_c_n en macht)
mode13.c
mode13.h
Berekent kappa_u en geeft een indicatie
van de gemaakte fouten.
/3:411******1=3141****11111111111314341*****13144414411111I4441311***
II
1* ** PROGRAM. :DIESEL.0 *4**
****
Dale,:05,- ma. -19901
**
14u
**
Include file 7 dieselh
**
**
*1*3: Source
file : diesel.c
Main prciraug 31 lU
#4 1tl:
t.T. 1Eillarantat tant44:44444tra. it
*
11111:****414311311111311/ i ude <uatti.h> ude istdio.h> tide <stdlib.h> ude <stdarg.h> tide <conio.h> tide (string.h> tide igraph.h> ude iusr.h>ire
MAX_ORDER 10g Jude pcliesel.hp le dyrMAX_ORDER+1) = le yy(MAX_ORDER+ll = (0.0,322.0,5.85,10.0,767.0,0.427332.0,0.0,35.8,0.0,11.01;, re 1yp(MAX_ORDER+1); le pd(S) = (0.0,0.0,0.0,0.0,0.0); le ad[S] = (0.0,10.0,5.9e4,5.9e4,35.8); le ad_wax(Sl = (60.0,15.0,6e4,6e4,160.01 le ex_pdrgl = (0.0,0.0,0.0,0.0,0.0); Fe fx(double,double*(1,double(1)1, own_grid(double,double,double,double); own_outIvoid); 14p1,*fp2,*fp3,*fp(1,11p,S eta_comb(double); e Cv_1(double); E Cv_g(double)s, Cp_1(doub1e); Cp_g(double)1! eta_homb(labda) labda; doubleeta,a,b,c,d1 double labda_roet = 1.3: = J labda_roetl d = 1:0375 - (labda_rcet-117)/15 :ereturn(eta); eta _comb */ le Cp_1(T) le T; Eturn(39S*pow(T,O. !SS)); le Cp_g(T) le T; Eturn(2703:pow(7, 0.227) ); le Cv_1(T) le T; i1.urn(395*pow(T,0.15)-287.0); le (:v_g(T) Le T; ?turn(270pov(T,0.227)-287.0); e fx(tiyp,dy) It functie fx *1 e t; e *YPIJ; dy[]; Tin = yy[1:1; m_inrec = yy[2]; = yy[3]; Tex = m_exrec = yylS); n_tc = yy(63; Dphi = yy(73; phi = yyE8); pin = (m_inrec*2137*Tin)/Vin; pex = (m_exrect287*Tex)/Vex; a = (0.05-d) / (lbda_roetlexpic*labda_roet)-exp(c)); b = atexp(c) - 0.95 - d; eta = 1.0;
if (1abda<1.3) eta = a * labda * exp(c*Iabda) - b;
if (labda<1.0) eta = 0.95 * labda + d;
Cvol = 1.2 - 0.275tn/knom"; if (n/n_nom>=0.8) Cvol = r.00; gO_CC r (8.89*(phi/ph1_max)-0.89)31e-3*Cval mfo_cc = max(0.01mfo_cc); it benekeningen cowpressorsuboodel
t
n_tc0 = n_tc t pow(288.15/To,0.5);, NR_tc = n_tc0 / n_tc_basii if (n_tc0 >= n_tc_bas) 4Clv=Clvh; (1p=Clph; C2p=C3Pni: Cle=Clehl C2e=C2eN
else
C1v=C1v11 Cip=C1P1:C2p=(3p1; Cle=Ciel4 C3e=C2elt pi_c
= pin / Po;
dp_fiiter
= 0.01 3: pc 4: powTpi_c/3.17,2.0)11 dp_luctak= 0.02 t Pin;
pi_c
= (pin+dp_luchti)/(po-dp_filter)r
pi_ct = pi_c_bms * pow(NR_tc,(1p);if (n_tc0 < n_tc_19) pi_ct += (n_tc_lg-n_tc0)tn_tc_19;;
pi_ct
= max(pi_ct,1.0);if (pi_upi_ct)
pi_ct = PiLb1 Pomp = 11 1 else pomP= 0; pi_cr =if (n_tc<1.0) fl_Vr=0.0;
else fljr = pow((pi_c-pi_ct)/(C2ptpow(NR_tc,C3pi>,0:6)1,fl_Vt
= fl_Vjes
pow(NR_tc1C101 fl_VO= fl_Vt + fl_Vr;
fl _V = fl VO pow(To/288.15,0%5):: if (n_tc<1.0) eia_c = 0.60;else etaff = C2etpcm(pi_cr,2.0)tpow(NRic,C2e)
+ eta_c_bastpo4(NR_tciC1e4
It
=Tot(pow(pi_c,0.2136)+eta_c-1)/eta_c;fl_m_c = po/(2871To) t fl_V
Qc = (fl_m_c*Cp_1(Tc)IToI(pow(pi_c,0.286)-1))/46.2830_tcteta_c)
if (pomp==1) fl_m_c = 0.0;
It einde
berek. tomPressusubmaderti
if (pin>pex)
= Aeff * pin' 3: pow(10.0244/T1n0.5)
It berekeningen cylinderSubmodei 41 nr = n/n_ndm;
it
(NJt/
T1 = 313 + 0.83333 * (Tin-273Y;it
(K1 41 fl_m_aanz = (n/2tpin*Vs)/(287t4111it
[kg!;)*/
pi_ct-pi_c; ** pom( (pow( pex/pi n , 1.43y-pow Cpex/p in,1 0.5 )41,;
else
ci
411_m_spoel = - Aeff * pin * pow(0.0244/Tin,0.5)
* pow((pow(pex/pin,-1.43)-pov(pex/pin,-1.75)0,0.5);
)
= (fl_m_aanz + fl A2spoel)*a_G fl_m ext_m = (n/2*pin*Vc)/(2-37311);
if (il_m_spoel>fl m_ext m) fl_text =
if ffl_m_spoel<=fi_m_exi= fl_m_ext flI_m_spoel1k if ((00.10)&11(mfo_cc>0.i))It
(kg/s) *f
It
[kg/s] */
It
[kg/s1 */
/*
(kg/s] */
m trapped = (fl m 4anz+fl m_ext02/n;
It
[kg)*/
{boo
= a_cinimfo_ccn;I*
(kg/s1 */labda_v =(a_c*(fl_m_aanzfill_m_ext)) )
' else (labde:v = 1.3; m_trapped=pin*(Vs+Vc)/(257111n);
= 0.00
heat_c = heat_c_n*pow(nr,macht);
/*
[DL] *f
mfo_cc_c = eta_ccob(latda_v) * heat_c * mfobcc.; 1* [kg] mfo_cc_m = (A_mfo*nrii_mfo) * mfo_cc_n;
/*
(kg] */
if (mfo_cc_c)fcLccia
phi_toe_v = mfo_cc_m*Ho;
it
u)
mfo_cc_p = mfo_cc_c - mfo_cc_m;
It
(kg] *1
phi_toe_p = mfo_oc_p*Ho;
It
1,13 */else
phi_tte_v =mfo_cc_c * Ho;
it
(J] */
Phi-tos_P = 0.0;
it
[3] */
72 = Pow(eps,A.40)*TI;it
*/
p2 = Pow(ep5,1.40)*Pin;It
[Pa)*/
13 = 72 + phi_toe_v / (m_trapped*Cv_1(T2));It
al */
14 = 13 + phi_toe_p / (m_trapped*Cp_1(73));/*
*/
PS = (73/T2)*pow(U4/T2L1.34)*pow(ers,0.05/*PinTIt
[Pa] */
IS = p5/pin * 11;it
110 */ pi = 3.141593;it
[0L] */
Qhd_c = (rhi_toe_p + phi_toe_v -(m_trapped*Cv_1(75)*(75-T1))) / /*. 'IWA] */Tuit
= T5*(1-((kappa_u-1)/kappa u)*(1-pex/p5)4;/*
*/
fl_m_v .= (fl_m_aanz+fl_m_ext)ta_c+fl_mfb/*
Ekg/s] */ fl_m_d ffl_m_spoel-fl_m_exti*a_c;i* [kg's] */
Qld_t (eta_lm*Vs)/(4*pi) * (pin-pex);It
[Mm] */ Qfric_c -= 0.04*(Q1d_c+Qhd_c) 0.08259eS*Vs*(0k5+0.37*nr)0I*
*/
if (nr<0.0)
Qfric_c *= -1.0;if (nr<0.2) Qstart=(Qhd_r13)*(-6*nr+1); else Qstart=0..0;
It
t/
Qeng = ( Qld_c4Qhd_c+Qstart-Qfric_c ) * a_c;/*
(Nm] */SFC = mfo_cc11713.87/(Qenglle-6); /*(gr/kWh] */
/* einde berekeningen cylindersubmodel
*/
/ (14.401_00;
It
MIA*/
) fl_m_in fl_m_ext_c; = fl_mfo ) [K3 [K] [K] + [Nm]It berekeningen turbine sUbroc.del
dp_uitl = 0.05 3: po * pow(pi_c/3.17,2.0)
pi_t
= pex / (po+dp_uit1);if (pi_t<2.5)
= 0.02435tpi_t+0.9197 eke alpha_t =tit;
A_keel = alpha_t t St * 1e-.4
fl_m_t = pex*ALkee1*pow(0.0281/Tex,0.5)1
* pov((pow4pii,-1 5.0Xpciv(pi_t.,-1.75)),0.5) i_keer = Tex*pow(po/pex,0.248);
c_t = (fl_m_t*287r_keel)/(po*Aokeeln
u_t
= 6.28321n_talit/2.0;
if ((c_acu_opt))1e10) eta_t. = eta_max_t4((2.0*u_t)/(c_acu_opt) -pow(u_t/(cu_opt*c_t),2.0)); else eta_t = 0.25; eta_t = max(0.25,eta_t);.
if (n_tc>0.0)
Qt = (eta_tteta_mech_ttfl_m_tlep_g(Tex)*Texl *(1-pc4(pi_t,-0.248)D/(6.283*n_tc).; else Qt = 0.5; = -4452.6Z*('4i_m_apc4(Tex,0.5))/(po*n> j_8213v Qt = K * Qt;/* einde berg. turbine submcdel */"
flicinrec =
-fl_m_exrec = fl_m_v + fl_m_d-if (t(10.0)
return(0.0);
It
(kg/s] */
/*
(kg/s] */
/*
ENO */ dy(111= kCp_r(Tin)/(Cv_1(Tin)ta_inrec))*(fl_m(fl_m_iri+fl_kinreciev_1(Tin)/(p_I(Tin))*Tin);
dy[2] = dyf3) = (Qeng-Oast)1(6i.22K'3:ItotY;dy(4) rep_g(Tex)/(Cv_g(Tex)*m_exrec)) * 411_m_vaiit+fl_m_d*T1-01_001_m_exrec*CVA(Tex)/Cp_g(Tex))*Tex, dy(S) =
= (Qt-Qc)/(6.283211t.c);
= -32.7*Dphi - 4.903dy(33*60 - 4.861*(n-n_set)*60; if (phi>=phi_max) dy[7] -= 100.0 * (phi-phi_max);
if (phi<=0.0)
dy[7] -= 100.0 3: phi;dy181 = Dpht Qlast else = 0.60* 6900E3; Oast = 0.60 * 69.30CA; alpha_t + fl_m_c fl_m_in; fl_m_inrec; fl_k_exrec; dyf dy[7]
own_grid(Xmin,Ymin,bax,Ymax) le Xmin,Xmax,Ymin,Ymax; double X,Y; int teller; moveto_w( Xmin,Ymfin); lineto_w(Xmin,Ymax); lineto_w(Xmax,Ymax); lineto_w(Xmax,Ymin); lineto_w(Xmin,Ymin);
It
lijner; evenwijdig aan X-as */ for (1.eller=1;teller<=3;teller++)= (Ymin + tellEr*(Ymax-Ymin)/10); moveto_w(Xmin,Y);
liryeto_wamax,Y);
a
evenwijdici aan Y-85 */ for (tel1er=1;teller<=9;teller++) X = (Xmin + teller*(Xmax-Xmin)/10); moveto_w(X,Ymin); lineto_w(X,Ymax); awn_gr d*/ own_out() t r(i4;i<5;1++) Kiri) = 100.0 *driJ / moveto_w(ex_pdreil,ex_pdfiD; lineto_w(pd(0),pdri]); '(i=0;i<5;i++) ex_pd(i) = pdlil;lijnen
own_out */
int
i,j4
Jouble t = 0.0; Jouble dt = 0.01; uitvcerffle openen */'fpl = fopen(idiesell.out",!v");!'
fp2 = foperediese12.outm,V);fp3 = fopen("diese13.out",V);
fp4 = foperrdiese14.outs,"w");fp5 = fopen(rdiese15.out'A');
if ((fp11=NULDIA(fp2!=NULL)&1.(fp314LL)1,5(4p4!=MILL)&5(45!=NULLY1, fPrintf(fP1,"\ n \ n \ .R1. /101111131341141113114131411-3111113134141114131411")4fprintf(fp1,1\n\t\t
4**1');
fprintf(fp1,'\n\t\t
31 VITVOER MEE:ELEC.WI'
fprintf(fpl,"\n\tt
41*I')
fPrini4(fP1,"kn\t\t
11 OS, mrt - 1930 31")fprintf(fp1,v\n\t\t
4*fprintf(fp1,2\111t1t 41 Pagilie 1 um);
fprintf(fpl,"\nkt\t
t*
*V);
fprintf (fp1,111rAtt
31-41.=:444041411-m3lu4:Ug4=4.14.t14li4roAn\n\ e' );
f pr intf ( f p2, ' \ n \ n1 t. \t
114411114**3114444.114141411143141431414441414141***");
fprintf(fp2,m\n\fAt
4* 11");fprintf(fp2,'\n\tt
1/ VIIVOER DIESELEC*11;
fprintf(fp2,"\n\t\t,
a
fprintf(1p2,"\ntlt
**
'OS - mmt - 1330 449;fprintf(fp2,11n1tAt
*I
44");fprintf(fp2,'\rilt\t
*1 pagine.210)r
fPrintf(fp2,1\n\tAt
**
II*);
fprintf(fp2,'n\t1t
40444***1*************I111414441441411*****TI44443An\n\n');fprintl(1p2,"\n\n\tAt
111111141411114111111431141411311131111111114111/41')1rfprintf(fp3,3\n\tAt
4*44');
fprintf(fp3,11n1tAt 1* VITVOER DIESEL6.0
fprintf(fp3,11n\t\t,
I*
14");fprintf(1p3,"\n\tAt
41 OS - mrt,- 1990 14" );,fprintf(fp3,1\n\t\t
4.4**");
fprintf(fp3,"knItAt
** pagina 3; 3:411.}rfprintf(1p3,1\nt\t
:1**");
fpr intf ( f p3, " VA tAt 11111111110.1141141411111113111111111313111111111411S \ WI )4fprintf(fp4nrAnIt\t
114=4431***441341141131314411414**311114414=1**t'fprintf(fp4,'1M t \ t
U
4r);
fprintf(frayln\t\t
*4
UITVOER DIESEL6.C, 44!);,main()
**");
initialiseren */
for (i = 0;i (= MAX_ORDER;i0I n_set = 7.50; fleng = 59.30e3;
It initteren graphics */
set_graph( 1; setge(0.0,0.0,100.0,100.0); own_grid(0.0,01,100.0,100.0); d(03=t1 ad(11=n1 ad[2]=Qeng; ad[3]=Q1ast; ad(41=phi; own_outO /* begin terekeningen */ = 2001 frk1(INIT,0,MAIORDER,df,dy,Stjp,fx1;for (j = 011 (= 6000 14 lithit();j++)ii
f rk 1 ( CALC, 0, .,14X_CRIER, dt, dy &t, yp f x);
ad[Ol=t;
adll=n;
ad(23=Qeng; ad(21=Q1astr ad[i]=phi c4r_out();It
uitvoer*/'
if (i==200)
TP1', ntkt ( p 11 ,," kri t 15.211! %4.311rpm = uyx[il)
fprintf(fp4,°\n\tAt
IPrintf(fp4,'SnXt\t
fprintf(fp4,"\n\tAt
fprintf(fp4,'\n\t\t
fprintf(fp4,'\n\tAt
fprintf(fp4,'n\t\t
4 printer kop 41
**");
05 -mrt - 1990
44')4tl");
pain a 4 41')i;**");
1444441444441244441114444t\n\n\n't
fprintf(fplYq
tijd
Iberental Qeng (Oast efo_rc 5F-C: R \rim);fprintf(fp1,'11.
Isl
Iomw/min). ikNel [kNel (gel ligr\kWhl(mr] \n\n't
fprintf(fp2,'11.
I. toerental Qc Qt eta_c eta_t\W%fprintf(fp2,r\t
Is)
forim/s1tNr]
INelWW1;
fPrintf(fP3,n\t
tijdr
fl_eLt:f
in/ )_e_spoel labda_v pate tog, \Tr);fprintf(fp3,1\t
Ekg/sI ag/S1 [kg/s7(Ws]
(--]
\j\');
fprintf(fp4,1\lt
tijd
Tin 72 T5 Tuit Tex pin -Rex 111'91fprintf(fp4,'V4
Es] CIOfig
DOIKI
fKi
Thar](bar] \n\n');
Cs]
fl_m_t **
i
1: main */
fprintf(fpl,' %4.31f 7.4.21f ",(qeng*1e-3),(Q1ast*1e-3)); fPrintf(fP1," %4.31f ',(mfo_cale3));
fprintf(fpl,' %S.Ilf %5.21f ',WC,(1.4286*phi));
fprintf(fp2,"\n\t :6.21f 4.21f ',t,n_tc); fprintf(fp2, %.4.31f t4.31f ",Qc,Qt); fprin1l(fp2," %4.31f 14.31f",eta_c,eta_t); fprintf(fp3,"\ra %5.21f %6.31f ',t,fl_m_c); fprintf(fp3," 76.311 6.31f ",fl_m_in,(fl_m_spoel*6.0)); fprintf(fp3," %6.31f ',fl_m_t); fprintf(fp2,' %S.31f %4.21f ",lebda_v,eti_cc,mb(labda_v)); fprintf(fp4,"\ra %5.21f %4.11f",t,Tin); fprintf(fp4,' %4.11f ",T2); fprintf(fp4," t4.11f %4.11f ',T5,Tuit); fprintf(fp41' %.4.11f ',Tex);
if (pcap=1) fprintf(fp4,1'); else fprintf(fp4,"); fprintf(fp4,"%S.311 %.S.311",(pin*le-S),(pex*le-S)); /* uitvoer */ i++; ) j etch(); printscr(); rst_graph(); fprintf(stdprn,"4c%c\f",'\xlb','142'); fcicse(fp1); fcicrs(fp2); fc1ose(fp3); fcicrse(fp4); else
printf(' ERROR uitvoerfile km niet aeopend worder 1111111\nn); i=Q;
Rgevires en systeemgroothedem
*/'
e 1tot
a
2600.0E1 It eguiv.traagheidsmcm.systeem [kgm2] */e
Itc
= 0,506 It traagheidsmom. drukvulgroep fkgm21 */e Ice 300.0 it c4gevings temperatuur
[10 t/
e Tk
r323Ø
7It
temperatuur na kceler CIO */e pc. = Je5 ;
It
omgevingsdruk [Pa] 34C Ho = 42e5
It
onderste verbrandingswaardeling) */
nstanten regurateurmodell
U
*1
n_set = 16.0
It setting tcerental (prop.regelaar) Ills] */
phi_max =42.0' *, ft maximale hoekverdraaiing regulateur Col */clareren loc. varietelen. COMPRESSOR submodel *1
*1,
C NR_tc,n_tc0,pi_c,pi_ct,pi_cr,fl_V,fi_Vt,41_Vr,11_00;
eta_c,C1v,C1p,C3p,Dle,C3e,r0_41;
*1 n_tc_bas = 300.0; It basistmerental lomm/si,
0 = 200.0; it laagste toerental matching
[owls) 4/
41111114111***414114***4111**11311: 11111**** *14144**13113111111*/
t/
DIESEL ..14
*/
t/
decTareren variabelen t.b.v. DIESEL .6
t/
laatste datum update' It 05- mirt - 199E*
*/
111111131441044111333141=1:14413111:4411:41144141***4
ammumnti
PoW Fe Qeng,Q1astAtAc,n,n_it,phi,Dphii; Fe le lepc,pin,pex,pt,dp_filter,dp_uitl,dp_Dichtkf
Fe fl_m_c Fe fl_m_nc le fl_m_inrec Le fl_m_exrec fl_m_tfi_phi_af
Tin,Tc,InciTuit,Tex,TI,K,SFC; 0.0; 0.0; 0.0; le 0.0; 0.0; ; ; ; ; e n_tc_lgtie pi_c_bas = 2.86; le fl_V_bas = 4.71; ic eta_s_bas = 0.8291 double Clvl =1.683; double Clvh = 1.826; double
(ipli
= 1.345;double (10 = 1.949;
double C2p double C2p1 = 1.444; double Ch = 8.998; double Clel = 0.033; double Glatt = -0.141; double C2e = -0.56t;double Mel
=-5.261; double Cod) = -5.421;inde declereren variablen ;compressor. *1'
eclareren roc. variatelen turbine sutocdel de
pii,alphai,A2keelg_t,Tjkeelt.i;
de eta_t,u_t;
1/
de
etairax_t = 0.815;
It ESC/ABB max. turb. rendment*/'
de St = 176.671, /* BBC/2S doortocht opp. rcm2)
*/
le DJ r 0.324; A BBC/ABB diameter loopwiel
1/
le
cu_opt = 0.600; It BECIABB utt/c_t optimaal*/
le eta_mech_t = 0.99;
ire declareren turbine varkabelent
*1
eclareren locale variabelen icylindersubmceel *ft be
nr,Vc,heat_c,fl_mfo,mfo_cc_c,mfo_cc_mmfo_tc_P;
le 72,13,T4,T5,p2,P5;Phi_tte_v,phi_toe_p,Cvol; le fl_m_aanz,fl_m_spoel,fl_m_ext,fl_m_ext_m,m_trapped be Qhd_c,Qhd,Q1d_cAfric_c,Qeng,Qstartipi,labda_v;(
ei_c
= c
It aantal
cylinders[DL) */
le n_norm = 10.0; It nominag toerentar Toaw/s1 */le eps 12.0; It compressie verhouding [BL) */
le Vs = 0.062052; It slagvolume rm2] */
be VC = 5.641e-2; It ccopressie volume [m3] */
be Yin . 1.70;
It
volumeinl.rec.
cno 'kW
DO) 31IC Vex
. 0.24;
It volume uitl.rec.
((1.2*Vin) re13] t/a
etaim
= 0.96; It pluchtmoter rendement.1-1 V
e (14-d_n = 10.52e-3; It ndrinaal troge-druk-koppel [NOt/
basis drukverhouding It basis volumsstroom It basis compr. rendement
le mTo_cc_h 6.752e-3; It nominale inspuiting (kg] */ le A_NfO = -0.505; It eerste constente mfo_max_v I-) */
le Ilt_mfo = 0.84705; It tweed& constante mfo_max_v 1-1 */
le heat_c_n = 0.900;
/*
warmte overdr.coef (DL) */le macht = 0.193; /* macht toerenafh. featcoeff. */
le kappa_u = 1.452; It polytrope uitlaatexpansie cceff. */ le Aeff = 2.63e-4; It effectieve doortocht cyl. (m2] */
inde declareren variabelen cylindersutoodel */
it
1:4444111=
1-1-a/Uttalt**3141:411:111-11:441
Iltt***4
14tt
X* PROGRAM VRST.C.tt
*4It
lDatev es r apr. - 1990
t*
It
*4:tt
Include file
:vrst.til
11tt
tt
tt
Source file 1 vrstil
hairl pcogr-amt*
tt
*3:
t*
Mittatt***.tta
tat
411311331*tatttatt*** =UMW
lude (math.h> Jude <stdio.h> Jude <stdlib.h) Jude <stdarg.h> Jude (conio.h> riude <string.h>
lude (graph*
Jude (usr.h)ire
MAX ORDER 10 Judevvrst.h''
le
dyfMAX_ORDER.14) = (1.0,1.0,1.0,11.0,1.0,11.0)1A1.04.0,1.0,11.07; re yyNX_ORDER+11 = (0.0,323.0,1.87,4.0,621.0,0.197,67.5,0.0,9.41,4.3730.0/1; le typIMAX_ORDER+1);le
pd(S) =le
adf5l = (0.0,4.0,67:5,9:41,4.373
le ad_maxfS/ = f100.0,20.0,400.0,120.0,40.0tle
ex_pdfEl =le
fx(double,doubleladbublef))4 own_grid(duble,doubledkuble,dol-6107 cmn_out(void)lIfplatfp2,*fp3,11p4,tfp5;
le eta_ccob(do(Ele); le Cv_1(double); I& Cv_g(double); CP_1(doutle)4 e Cp_g(double),; C eta_comb(labdall e labia; double eta,a,te,c,d;' double labda_roet = 1.31 c = -1 / labda_roet; = -0.0375 - (labda_roet-1.17)/157 d 44return(et;);
eta_comb */ le Cp_1(T) le T; turn(39S*pow(T,0.1SS)); e Cp_g(T) e turn(270*pow(T,0.227)); e Cv_1(T) e T; turn(394:pow(T,0.15S)-287.0); le Cv_g(T)le i;
turn(270*pow(T,0.227)-287.0); efx(t,yp,dy)
/* functie fx */
.et;
e*gip;
.e dy(7; Tin =rill%
m_inrec = yy[2]; = yy[9]; Tex = yy[4]; m_exrec = yylSJ; n_tc = yy(61; DPhi = yy(7J; Phi = yy(8J; V_s = yy(93; pin = (m_inrec*287*Tin)/Vin; pex = (m_exrec*2137*Tex)/Vex;= (e.os-d)
/ (lat.da_roet*exp(cllabdIa_roet)-exp(c)); b*exp(c) - 0.9S - d;
eta = 1.0;if (1abda<1.2) eta =
labd; * exp(c*labd;) - b;
if (1atda<1.0) eta = 0.9S * labda + d;Cvoi = 1.3 - 0.375*n/n_nce; if (n/n_nco>=0.8) Cvol = 1.00;, riffo_cc = (8.89*(phi/phi_max)-0.89)Ile-3*Cvolq mfo_ct = max(0.0,mfo_cc)1 It terekeningen compressorsubmodad n_tc0 = n_tc * pow(288.15/To,0.5)y
Wit
= nit@ / n_tt_bas; if (n_to0 >= n_tc_bas).flv=CIA; C1p=CIpt6C3rai; eleacieh; merc3eh;
else Clv=C1v11; C1p=C1p4 C3p=C3p1; Cle=Clet; C3e=C3e11, pi_c
= pin / pc;
dp_filter
= 0.01 * po * pow(pi_c/3.17,2.0)c, dp_luctit4 = 0.02 * pin; pi_c = (pin+dp_lucht4)/(po-dp_filter);pi_ct
= pi_c_bas * poo(NR_tt,C1p);if (n_tc0 < n_tc_19) pi_ct += (n_tc_Ig-n_tt01/n_tc_1%;
pi_ct
= pax(pi_tt,1.0)1if (pi_Opija),
pt =ipi_c;
PomP 11, else pomp= 0; pi_cr =fl_Vr
= pow((pi_c-pi_ct)/1C2p*pow(Attc,C3p)1/0.5)fl_Vt
= fl_V_tas * pow(NR_tt,(1v); QV@= fl_Vt + fl_Vr;
fl_V
= * pow(To/208.15,0.5)1, eta_t = C2e*pold(pi_cr12.0)*pow(NR_tc,C3e) + eta_c_bas*pow(NR_tc,Cle% eta_c = max(eta_c,0.50); Tc = 1c4(po9(pi_c,0.296)+eta tt11)/eta_cui fl_m_c = po/(28747o) * fl_V Qc = (fl_m_c*Cp_1(Tc)*Tollpow(pijc20.286)7100/(6.2831n_ttlata_tit if (pomp==1) fl_m_c = 0.0;It finds, terek. comprissorsubEdel
*/
It berekeningen cylindersubmodel*/
nr = n/n_nce;It
tal */
Ti = 313 + 0.83n3 * (Tin-273);It
*/
fl_m_aanz = (n/2tpirOs)/(2573j1);It
(kg/s] */
if (pin>pex),= Aeff * pin 1 pe4(0.0244/Tin,f*.5)
=
pi_ct-pi_c;
fl_YO
EK1
t pc (fpow(pex/pin,1.433-pow(pex/pin0.754,0.547
2
eise
ii_m_spoel =-Aeft * pin * pow(0.Q244/Tin,0.5)
tpow(fpow(pex/pin,-1.43)-pc4(pex/pin,71.7531,0.514
fl_m_fn
= (fl_m_aanz + fl_t_spoenta_c4
it
(kg/s11 */'fl_m_ext_m = (n/2*pintVc)/(23701);
It
(kg/s1 */
if (fl_m_spoel>fl_text.J) fl_m_ext = fl_m_ext_m;;
It
[kg/s] */
if (fl_t_spoel(=fl_m_ext_t) flifi_ext = fl_m_spoel;;
it
(kg/s1 */
((n>0.10)Wmfo_cc>0.0))
m_trapped = (f)_t_aan201_m_ext)32/n4
[kg] 4/
fl_mfo
= a_ctntafo_cc/2;
It
(kg/s] */
labda_v =(_c*(fl_m_aanz+fl_m_ext))
/ (14.4111_0bc;
ft
TEIL1 *felse (labda_v = 1.3; m_t.rapped=pin4(Vs+Vc)/(284.1101 =
heat_c = heat_c_rapow(nr,macht);
It
[DL] */mfo_cc_c
= eta_combflabda_v) t heat_c * mfo_cc
it
[kg] 3/
mfo_cc_t = (A_mfo4nr+8_0c0 * afo_cc_n4
It
(kg) */
if (mfo_cc_c>mfo_ccjm)
Phi_toe_v = mfo_cc_m*Nof,
[11 4/
mfo_cc_p
= tfo_cc_c - mfmc_41;
it
[kg] 41phi_tcej, = tfo_cc_p*Ho;
It
(11 31phijoe_v = tfo_cc_c
* Ho;4.
[3] */
phi_toe_p =ØØ;
It
[31 */
3 12 = Pow(eps40.40)371; 14 (1() */ p2 = Pow(eps,1.40)1Pin; A(Pa] */
73 = 12 + phi_toe_v / (m_trappedtev_14121);A
t/
14= 73 + phi_tce_p / fm_trappedltp_1(13));
it
[K] */
PS (.1342)*p00(7443),1.34)*pow(ePs,0.06)*P4n;It
[Pa] */
15= pS/pin * TI
It
(K) */pi
= 3.141593;It
In] 41
Qhd_ca (phi_toe_p + phi_toe_v
-(Ocappedgv_1(TS)*(TS-11171 / (4*pi); It
ift4r0 41luit= T5*(1-((kappa_u-1)/kappa_u)*(1-pex/p5));
It
(K) */ = (fl_m_aanz+fl m_ext)*a c+11_44o4It
[kg/s) */
fl_m_d = (fl_m_spoEl-fi m_ext)*-a_c; /*
[kg/s] */
Q1d_c= (eta_lttVs)/(4ipi) * (pin-pex);
/*
(Nm1 */ Qfric_c = 0.04*(Q1d_c+Qhd_c) + 0.0:32[.3eMs4:(0.5+0,37*nr);It
(Nm] */ Qenga 1 Qld c+Qhd c-Qfric c 1 * a c;
/*
[N] t/
SEC:= mfoict1718.87/(Qengt1e-6);
/4(gr/kWh)It einde terekeningen cylindersubmodel
*/Else if
fljfo
/*
/* terekeningen turbine subcodel
#/'dp_uitl
= 0.06 * po * pow(pi_c/3.17,2.01
Pi_t
= pex / (po+dp_uitl);
if (pi_t(2.5) alpba_t = 0.08864pi_t+0.919;, else alpha_t
= t..I4,; A keel= elpha_t * St * le-4
fl_m_t = pex*A_keel*pow(0.0281/Tex,0.6)
* Pov((Pov(Pii,-1.50)-pow(pi_t4.76)),10,Dt;
i_keel
=-Tex*pow(po/pex,0.248);c_t=-(fl
m_t$287*T_keel)/(pc4kkeelJ1-u
t
= 6.27332In_tc*DJ/2.0;if
((c_tlow_opt))1e-10) eta_t. = eta_sax_t4((2.0*u t.)/(c_i*cti_op0
-pow(u_i/(cu_opt*c_t),2.0))1
else eta_t = 0.26;
eta_t
= max(0.25,eta_t);
Qt = <eta_tIeta_mech_tlf2_m_t*Cp_g(Tex)*Te0*(1-pow(pi_t,-0.248))/(6.283*n_tc)
K = -4453.68*(fl_m_Upow(Tex,0.6))/(poln) + 1.8213;[ [ Qt = K * Qt;ft einde terek. turbine subbodel
I/
/* berekening schiprodel
Resist
= C_resist * V_s * V_s7
t_zog= t_n;
if (V_s <= 0.7*V_s_n) t_zog = (1.26*(V_s/V_s_n)+0.125) * t_n; if (V_s (= 0.3*V_s_n) t_zog = (1'.5OUV_s/V_s_n)+0.050) * t_n; wake= t_zog / 0.6;
V_a= V_s t (1-wake);
/I berekening schroefmodel
n_s= n/overbr;
= V_a / (n_sk10;
K_Q= - 0.024*X -
0.022*1 + 0. K_T= - 0.1Seiti*J - 0.222E4j + 0.
= K_T * ro_sw pow(n_s,2.0) Q_S = * ro_sw * pow(n_s,2.0)if (K_T(e.e) printf(' WARNING
It einde berekeningen schroefmoder
*/
It schroef toerentat
*/It snelbeidsgraad
*/ 068;/* kcppel coeff.
*/ 46;It stuwkracht coeft
1/ * pcm(Dp,4.0);it
I N I X/
Pc4(DP;5.0);It
I NkiI */
K_T <= 0.0 dil"
f1lirt;'1/
dy[1] =CCp_1(Tin9/ICv_1(TinAm_inrec))*(fl_m_c*Tk-(ft_On4fl_m_inreclCv_I(1in)/Cp_Igin)011inX;
/* omrekenen koppel door tandwielkast */
(Oast = Q_s / ov.erbr.; NrO 3 *1'
It einde cerek. koppet
*/It SETTING teerented
if (t)12) n_set = 10.0;
It invullen van de differentiaalvergelijkingeP
*/fl_m_inrec = fl_m_c - fl_m_in;
It
[kg/sl */
fl_m_exrec = fl_m_v + fl_m_d
-
/*
fkg/st */
*
dy(21 = fl_m_inrec; = (Qeng-Q1ast)/(6.28321Itot); = (Cp_g(Tex)/(Cv_g(Tex)*m_exred) * (fl_m_v*Tuit+f1_m_d*T1-(fl_m_tql_m_exrec*Cv_g(Tex)/(:p_s(Tex))*Tex); dy(S] = fl_m_exrec; dyE6] = (Qt-Qc)/(6.2332*Itc);
dy(71 = -32.7*phi - 4.90*dy133*60 - 4.861*(n-n_set)*60;
if
(phi>=phi_max) dy(7) -= 1000.0 * (phi-phi_max);if (phi(-0.0)
dy(7) -=owe
* phi;dy(8) = Dphi; dy(91 = (T*(1-t_z&g)-Resist) / m_s; return(0.0);
fx */
owri_grid(Xmin,Ymin,Xmax,Ymax) I e Xmin,Xmax,Ymin,Ymax; double X,Y; jut teller; moveto_w(Xmin,Ymin); lineto_w(Xmin,Ymax); lineto_w(hfax,%ax); lineto_w(Xmax,Ymin); lineto_w(Xmin,Ymin);/* lijnen evenwijdig an X-as 1/ for (teller=1;teller<=9;teller++)
Y = (''min + teller*(Ymax-Ymin)/10); moveto_w(Xmin,Y);
lineto_w(Xmax,Y);
/* lijnen evenwijdig aan Y-ifs */ for (teller=1;teller(=9;teller++) X =
(bin
+ te]ler*(Xmax-Xmin)/10); moveto_w(X,Ymin); lineto_w(X,Ymax); wn_grid*/ dy[2] -Gown_outO , .t1=0;i<5;1414 = 100.0 * adj.); / ed_nexciP;
'fi=1;ii,5;i++)
_setinlor(i+9)7
moveto_wfex_pd(0],ex_pliDclineto_w(pdfOl,pdfil);
ci4;i<541++1 =owrout */
me Intlint
1,jt
= Jc'ubie.'dt = 0.04;4 uitoerfile openen
'pl = fopentmdiesell.outh,mwm) fp2 = fopen(mdiese12.outm,sw");' Ip3 = fopen('dieee13.clut","w"); .p4 = fopen(mdiesel4.outm,"0); Fp5 = fopen("dieselS.outm,mwm);f ftfp1!=NULL)&htfp2!=NUAltfp3!=alig(fp414)11)&4/0p6!=NULL))
fprintf(fp1,11rAn\ tArt ****0414447411144444141114441414114144******4141441m)m,fprintftfpl,sth\tt
I*
te);
pr ntf (f p1 , \ TAU tic U1TVOER DIESEL10.C:
4r);
fprintf (fp!: \WU
tic Um);fPrintf (fp1,"
tAt '05 - 1990);
fprintf(fplistn\t1t
U");
fprintf (fp1,1n t\t-
pagina 1fprintf((p1,11n\ tAt
It
W)'
fprintf(fpl,m1rAtAt
44:04344434ulut443c434.a44Ztatatt334344331U n"fPrintgfp2,nnlnkt\t
tttta3:t*******141441I411041144441444,41/4114443r);,fprinti(fp210\n\tAt
**
IV);
fpriniJ(fp2,3111\t\t
t*
U1TVOER D1ESELWCU");
i;
pdlil
- Epr
fprintf(fp2,1\n\tAt
I*
fprintf(fp2,'\n\t\t
U
OS -.40 -.AS;
fprinti(fp2,nn\tAt
tt
fprintf(fp2,s\n\t\t
**
pegina 2"fprintf(fp2,1\n\tt
II
fprintf(fp21'\n\t\t
13411111311.131131tatit31041443144113113U413.fprintf(1p3," \n\n
fprintf(fp3," 11.1 \t \ tfprintf(fp3," \n\
fprintf(fp3,11\n\ t\t
f pr int4 ( f p3, \ n \ t \ t f pr int f (f p3, \ n \ t \ t fprintl(fp3," \ n\ tAtfprintf(fp3," n\ tIt
fprintf(fp3,' In \ t\ t
fprintf(fp4,1\n\n\tAt
114.14441t121Zt24ttatiltttattt431414311t***tttl');
fprintf(fp4,\n\t\t UIt");
fprintf(1p41°\n\tAt
t4
U11VOER DIESEL1O.0tr);
fprintl(1p4,"\n\tAt
tt
3I');
fpctntf(fp4,\n\t\t
34 OS -apr - 1990 34'.1;:frintf(fp4,'\n\tAt
*I
34a)7.fprintf(fp4,"\n\t\t
pagina 4U.");
fprintl(fp4,a\n\tAt
rt
rr);
fprintf(1p4,1\n t1t
44313:"134111413133131441131131:41=3131131331=th \nth' )4,; fprintl(fp5,' \n\n \ t \ t 1131433111141111114313114111111111114111111111111111;fprintf(fp5,1 \n\ t\ t
tt
fprintl(fpS,'\n\t\t.
tt
fprintf(fpS,D\n\t\t
fprintf(fp5,1kn\t\t
t4
fprintf(fp5,1\n\t\t
tt
fprintf(fpS,"\n\tAt
*I
fprintf(fpS,I\n\t\t
fprintf(fpg,"\P\tAt
''
1411144#111441111443111311111111141111441411111131% 31"); 11: UITV4ER DIESEL105C3t");'
tV
tr)c
OS - apr - 4390tt');'
tt
mina 3
WI;
31tr);
t411111111****U141441U1411414111111411*1411414414An\n\nX; WTVOER E4ESEL1(e.0 AtS - apr - 1390 pagine S 3.4 313413141111411trri.
31");un);,
umn
re);
l'An\n\na);;t*');
11');
14');
14");1 11");tr);
tuvAn\pm..niIt initialiseren t/
for (i r 0,i <= MAXI_ORDERZI++)
Ip[il = h(yytin*,
It printer koP */
fprintl(fpl,'\4.
iljd
tverental Qeng QIast m]o_vc SEC. R \n"Y;fprintf(fp1,3\t
Is]
(omw/min] (kNml 4ktio]IT]
(gr\kWkil [mm] \n\n1)1,1fprintf(fp2,214.
ti4d
toerent41 Qc Qt eta_t et-a_t\n'0,;tprintf(fp2,1\t.
(s] Cowls) [Nm) [Nm] c\rAns)1fprinfl(f0,"\t
eijd
fl_m_in fl_m_spoel fl_m_t Iabda_v eta_comb 1na);'fprintf(fp3,'\t
fprintf(4p4,"\t
4s]hid
rkg/s] Tintkg/s]
12 TS 4kg/s1 (kg/s](--1
4--]
\n\n");, Tuit Tex Pin pex\n");
fprintf(fp4,"\t,
fprintf(fpS,a\t
fprintf(fpS,%
4s]kik!,
Is)
V_sEh]
IK7 TKI'NH)
DM
(K.] [01 (bar}
(bar] vkin);
R' K_T 1031( zug wake \D"); 4kNi **
**");
14:**
(K)n_set '400;
Qeng. = 59.30e3;
It initieren graphics -if
set_graph(); setg1&(0.0,0.0,100.0,100.0).;' own_grid(0.0,0.0,100.0,100.0); ad[N]rt.;' ad[1]=n1; ;ad121=n_tt; ad[3]=phi; aclI434_5; ourn_out(); 0 begin berekeningen d = 200; 401(INIT,0,MAX_ORDER,dt,dy,litayp,fx);. Ifor = 0;j (= 10000 && !kbhit();j++)irk1(CALCAM4X_ORDER,dtydy,14,YPJX)1 ad[01=t; adfll=n; ad(2)=n_trai
ad[3]phi;
ad141=V_s; own_outi)4It
uitvoer *1.if (1=200)
fprintl(fpl,"\n\t
7.5.211 %4.2111,t,(460))';
fprintf(fpl,'
%4.311 %4.311 '1(qengl1e-3),(Q1ast*1e-3)14fprintf(fp1,
t4.21f',(mfo_cc116));
fprintf(fpl,'
L5.114 %.5.21f',SFC,(1.4286*phi).
fprintidfp2,1nt
4S.21f %4.31ifprintf(1p2,'
%4.31f t4.311 ",Qc,Qt);fprintf(fp2,'
%4.31f %4.311',eta_c,eta_01fprintf(fp3,"\n\t
%5.21f. t6.31f",t,fl_m_c);
fprintf(f0,"
%6.31f %6.211f 1,f1_m_in,(fl_m:spoe1*6.07);fprintf(fp3,1
%6.31f',fl_m_t);
fprintf(fp3,°
t5.311 1,4.21f ',Iabdtv,etz_comb(labda_vD;fprintf(fp4,"\n\t
%5.21f%4.14f,t,Tin)4
lprintf(fp4,'
%4.11ffprintf(fp4,'
%4.11f %4.11f ',TS,TuitY11printl(fp4,'
%4.11f',Tex);
if (pomp==1) fprintf(fp41'*'); else fprintf(fp4,");
fprintf(fp4,1%.5.211 %5.31f",(pint1e-S),(ptx*le-5));fprintf(fp,1\n\t
%5.21f %4.1ffm,t,(V_s*3600/1852)1;;fprintf(fp5,'
%4.111 11(T*(1-t_zog)*1e-2));fprinti4fp5,'
%4.11f1,(Resist*le-3));
(j p,t,n_tc);else fprintf(fpS,' %4.21f t4.211 t4.21f 11J,K_T,1@*KA); fprintf(fpS," t4.21f 144.211 1,t_zog,wake); i=ø; /* uitvoer */ i++; getch(); printscr(); getch( ); rst_graph(); fprintf(stdprn,"%ctc\f" fclose(fp1); fclose(fp2); fclose(fp3); fclose(fp4); fc1ose(fp5); 1\lb,,'\x32')x , ;
11111-011114111414114 r**0141111111114
DIESELIO.N
dedareren varjabelen
DIESELJO.C.gaafst
datum updateOS.- apr - 4390'
411114444441411114111311411131111414111111111111114111 POMP; legeng,Q1astAtAcin,n_tc,phi,Dphi',
le le Tin,Tc,Tnc,Tuit,Tex,T1,14,SF(Y, lePt,Pin,pex,pt,dp_filter,dp_uitl,dp_auchtkl
= 0.0;
= 0.0;
= 0.0;
= 0.0;
= 0.0;
tegevings en system grootheden
Fe
Hot.
= 2000.0 7ie
ltc
= 0.506 Fe To = 200.0 Tk = 323.0 por5
Ho=42e6
It equiviTaagteidsalom.systeemIt traagheidsmcc drukvulgroeP
cmgevings tesperatuurIt temperatuur na koeler
It csgevingsdrukIt onderste vertrandingswaarde
clareran lot. vadabelen. COMPRESSOR'
sutoodd
e
C eta_c,C1v,C1p,C3p,C1e,Me,ro_c%
e
n_tc:bas
= 300.01,It tasistoerental'
n_tc_lg
= 200.0;
it laagste toerental.
matching*/
I/
*/ tkgm2] */ */ */[Pal */
SJ/kg] */
41Stabten regulateurmodel */I/
n_set
= 10.0
/* setting toerentall (prop.regelaar) [I/0 */
Ipl-Cmax = 42:0 .; It maximal& hoekverdraaiing regulateur */
Fe fl_m_c Fe fr_m_nc Fe fl_m_inrec Fe fl_m_exrec Fe fl_m_t Fe
fl_phLaf
t.b.v. 0.0; ; ; /* [K] le ; e ; [omw/s]pi_c_bas = 2098; fl_V_bas = 4.71; eta_c_bam = 0.829;
It basis druiverhouding It basis volumestroom It basis compr. rendement buble Clvl = 1.683; burble Clvh = 1.026; louble Clpl = 1.345; buble Clph = 1.949;
bible
C2p = -0.267; burble C3p1 = 1.444; !double C3ph = 8.888;buble del
= 0.033; buble Cleh= 1.141;
ouble C2e = -0.560;kutle
C3a1 = -5.2611 kuble C3eh = -5.421;.nde declareren variablen compressor St
klareren loc. variabelen turbine submoder * /
/
a
pc_tjalphaj,kkeelloci,T_keelc
eta_t,u_t;
*/
ek ata_max_t = 0.815; It B8C/AB8 tax. tuft. rendment
*/
e St = 176.67; /* BSC/APS
dtarlttht cc.
fcma*/
e = 0.334; It B8C/A88 diameter loopwiel Cm]'
*/
cu_opt = 0.600; ft BE1C/ABE u_t/c_tcptimaal St
eta_oach_t = 0.99;
nde declareren turbine var4atelem
clareren locale variafielen cylindersubmcdal
nr,Vc,heat_c,fl_mfo,mfo_cc_c,mfo_cc_mdefo_cc_p;
T2,T2,74,75,p2,P5,Phi_toe_v,Phi_foe_P,Cvol;
fl_m_aanz,fl_m_spoel,fl_m_ext,fl_m_ext_mam_traPPed;
Qhd_cAhdAld_cAfric_cMengAstart,pi,labda_v;
St
ac = 6;
It aantal cylinders
TOL) t/ n_nom = 10.0; /* nominaal toerental [omas] 11eps ' = 12.0; It compressie verhoudirg
[DL] t/
Vs = 0.062M52; It slagvolume
10 St
e Vc =. 5.641e-3;,
/* tcepressie volute
im3l Sie Vin = 1.70; It volume inl.rec. (280 'icy') im3) St
? Vex r. 0.24;
It volume uitl.rec.
f0.2*Vin)'DM */
e eta ii = 0.96; It 'luchimbter rendement'
(-7 *I
e Qhcip n = 10.52e-3; It rccdneal foge-druk-Liccal
PIM */
e e .e e e e e [DL) e [m3/s1 e [DL)
inde declareren variabelen cylindersubmoddi
*/
?clareren variabelen voortstimingsmcdeE *
[ride declareren variatelen wcTistuwingsmodel
*/
e Afo_ccri = 5.762e-3; /t nominate inspuiting
[kg] */
e A_mfo. = -0.606; it eerste constant* mfo_max_v
1-1 */
e 8mb 0.84705;1 It tweeds constant* mto_max_v
*/
e heat_c_rt = 0.900; It nom. warmth overdr.coef [01.] */'
e Aacht = 0.193; 1* macht toErenafh. hEatcoeft. (-1
e kappa_u = 1.452;
it polytrope uitthatexpansie iceff. (-1 */
e Aeff = 2.69e-4; It effectieve doortocht cylu. fA21 */le Resist,T,V_sit_zog1imake,n_s,1,V_a1K_TIKA,,Q_El
*/
th t_n . = 0.19;,
it thrust deduction factor
(rico.) */
IE si_s_n = 8.23,;; It nominale scheepssnelheid
[m/s] */
Le e Op ro_sw = 4.00;', = 1025.0;1 It schroefdiameter It dichtheid zeewater
[ml */
Tkg/m31 */E M_S
= 2.006;
It massa schip iincl.watell
[kg] */
E NEAP = 4.00; It overbrenging reductiekast1-1 */
th C_resist = 1.717e3; It constante scheepsweerstand
I-1 tt
M COMPRESSOR (input,output); (COMPR.PAS)
programa bepaalt de wiskundige relaties voor het beschrijven van een Tessorkarakteristiek voor een willekeurige compressor )
Crt,Graph,Rrinter; fl_V_basl,pi_c_basl,eta_basl, fl_V_bas2,pi_c_bas2,eta_bas2, fl_V_hgl,pi_c_hgl,eta_hgl, fl_V_hg2,pi_c_hg2,eta_hg2,
fl_V_Igl,pi_c_lgl,eta_Igl,
n_tc_bas,n_tc_hg,n_tc_lg,n_tc, Clvh,C1v1,C1p1,Clph,C2p,C3p1,C3ph, Clel,Cleh,C2e,(:3e1,C3eh, fl_V,pi_c:real;
HON pwr(x,y: real) :
real;
functie berekent de waarde x tot de macht y)
if x
0 then begin pwr:= exp(011n(x)); end;if x <= 0 then
beginwithin ('
ERROR!!!, logaritme van 0 is onbepaald!);writeln(' n_tc = ',n_tc:3:0,'
fl_V',fl_V:3:2);
halt(I);
nd;
ERRE startgraph;
R procedure initieert de grafische interface
;an het einde van de graphics-mode is een Nclosegraph" vereist) Taphdriver : integer;
Taphmode : integer; Trorcode : integer;
nitieren en testen grafische interface)
.aphdriver := detect;litgraph(graphdriver,graphmode,;c:\pascal'); Torcode := graphresult;
errorcode grok then gin
writelnCgraphics error ,',grapherrormsg(errorcode)); writelnYprogram aborted
(procedure startgraph)
DURE rastercga (Xmax,Xmin,Ymax,Ymin : real);
procedure tekent een raster voor een CGA-kaart de maxima als uiterste waarden)
max,Ybmax,Xbmin,Ybm)n, 4,LbY3Xpos,Ypos,i,j ,LY kenen assenkruis) ;IX := getmaxx; in := 100; ax := 0; in := getmaxy-20; := Xmax - Xmin; := Ymax - Ymin; Xbmax - Xbmin; := abs(Ybmin - Ybmax); tlinestyle(0,0,2); tangle(Xbmin,YbminAmax,Ybmax); treepjes x-as) r i := 0 to 10 do in set1inesty1e(0,0,2); Xpos := round(bmin4-(0.1*i)*LbX); moveto(Xpos,Ybmin(4-5)); lineto(Xpos,Ybmax); for j := 1 to 9 do begin setlinestyle(0,0,1); Xpos := round(X1min+(0.1Ii+0.01r)*LbX); moveto(Xpos,Ybmin); lineto(Xpos,Ybminf3); end; I; treepjes y-as) 1.1inestyle(0,0,1); T i:= 0 to 10 do in Ypos := round(Ybmax+(0.1T.i)*LbY); moveto(Xbmin-1S,Ypos); lineto(bmax,Ypos); d; [raster)
:EDURE assencga (Xmax,Xmin,Ymax,Ymin:real);
:e procedure tekent een assenkruis voor een CGAkaart
. de ingevoerde maxima ale uiterste waarden)
: integer; : real;
Ilmax,Ybmax,Xbmin,Ybmin, kX,LbY,Xpos,Ypos,i,j FLY 1 .?kenen assenkruis) lax := getmaxx; in := 100; lax := 0; in := getmaxy-20; := Xmax - Xmin; := Ymax - Yin; ( := Xbmax - Xbmin; := abs(Ybmin - Ybmax); Llinestyle(0,0,2); t.angle(Xbmin,Ybmin,Xbmax,Ybmax); reepjes x-as) r i := 0 to 10 do in setlinestyle(0,0,2); Xpos := round(Xbmin+(0.1*i)*LbX); moveto(Xpos,Ybmin); lineto(Xpos,Ybmin+S); d; treepjes y-as) t1inssty1e(0,0,1); r i := 0 to 10 do gin
Ypos round(Ybmax+(0 1:tiAlbY); moveto(Xbmin,Ypos);
lineto(Xbmin-15,Ypos); d;
ventueel tek. Y-s) (Xmine,0) then gin
if
Xmax>0 then begin(teken een Y-as) setlinestyle(0,0,2); Xpos := round((-Xmin)*LbX/LX); moveto(Xpos+100,Ybmax); 1ineto(Xpos+100,Ybmin); end; d;
Nentueel tek. X-as) (Ymin<O) then
if
Ymax)0 then begin(teken een X-as) setlinestyle(0,0,1);
: integer;
: real;
gin
LX,LY,WI,LbY Xbmin,Xbmax,Ybmin,Ybmax rekenen beeldpositiel taax ;= getaaxx; toin := 100; )max := 0; 'Loin := getmaxy-20; X := Xmax - Xmin; Y := Ymax - Yin; bX := Xbmax - Xtoin; bY := abs(Ytoin - Ybmax);
,pos := round(100 4 (X-Xmin)*LM/LX);
pos := round(getmaxy-20-(Y-Ymin)4LbY/LY)';i Ypos := round(getmaxy-20-(-Ymin)ZLbY/LY); moveto(Xbmin,Yres); lineto(Xbiaa0Pos); nd; (procedure assenkruisl
DORE conversiecga(Xmax,Xmin,Ymax,Yoin,X,Y :rear gar Xpos,Ypos:integeft procedure converteert voor een CGA-kaart
actuele XYccerdinaten naar beeldcoordinatenl
AIRE rasterter (XgGx,Xmin,Ymax,Ymirc real);,
procedure tekent een raster veer een hercules hart: . de maxima els uiterste waardera
aax,Ytimax,Xtoin,Ybminr X,LbY,Xpos,Ypos,irj integer; ,LY real,: kenen assenkruis) ax := getmaxx; in := 100; ax := 0; in := getmaxy-40; Xmax - Xmin; YgGx - Ymin; Xbmax - Xbmin; ats(Ytoin - Ybmax)c; linestyle(0,0,2); tangle(Xtoin,Ytoincamax,Ytaax iinen // Y-as) i := 0 to 10 do in setlinestyle((i3O,2); Xpos := round(Xtoinc-(0.1M4LbM aoveto(XPos,Ytoin):, real':; integer
lineto(Xpos,Mmax); ijnen // X-as) linestyle(0,0,1); i := 0 to 9 do in Ypos := round(Ybmax+(0.1WilbY); moveto(Xbmin-15,Ypos); lineto(Xbmax,Ypos); eto(Xbmin,Ybmin); eto(Xbmin-15,Ybmin); (raster)
IRK ASSENher(Xmax,Xmin,Ymax,Ymin : real);
, procedure tekent een assenkruis voor een herculeskaart met axima als uiterste waarden)
Imax,Xbmin,Ybmax,Ybmin, ros,Ypos,i,j,t LY,LbX,LbY kenen assenkruis) lax := getmaxx; in := 100; ax := 0; 9etmaxy-40; := Xmax - Xmin; := Ymax - Yin; Xbmax - Xbmin: abs(Ybmin - Ybmax); linestyle(0,0,2); tangle(Xbmin,Ybmin,Xbmax,Ybmax); Teepjes y-as) linestyle(0,0,1); i := 0 to 9 do in Ypos := round(Ybmax+(0.1*i)*LbY); moveto(Xbmin,Ypos); lineto(Xbmin-lE,Ypos); i; go(Xbmin,Ybmin); eto(Xbmin-15,Ybmin);
'entueel tek. V-as) (Xmin(0) then in
f Xmax>0 then egin
(teken een V-as) setlinestyle(0,0,2);
Xpos := round((-Xmin)tbX/LX);
:
integer;
moveto(Xpos+100,Ybmax); 1ineto(Xpos+100,Ybmin);
,nd;
entueel tek. X-as)
(Ymine.0) then
in
f Ymax>0 then
egin
(teken een X-as)
setlinestyle(0,0,1);
Ypos := roundigetmaxy-40-(-YminALbY/LY); movetoatimin,Ypos); lineto(Xbmax,Ypos); nd; (assenkruis)ME conversieher (Xmax,Xmin,Ymax,Ymin,X,Y :reel; VEP Xpos,Ypos:intePer); ' procedure converteert voor een Hercules kaart
XYcoordinaten near beeldcoordinaten) LX,LY,LbX,LbY Xbgin,Xbgax,Ybmin,Ybmax eretenen beeldpositie) Nato< := getmaxx; bgin := 100; bmax := 0; twin := qetwaxy-40; X := Xmax - Xmin; Y := Ymax - Ymin; oX := %Max - Xbmin; bY := abs(Ybgin Ybmax); pos := round(100+(X-Xmin)rLbX/LX); pos := round(Ybmin-(Y-Ymin)*LbY/LY); :
real;
integer)'IRE TOP (X1,Y1,X2,Y2 :real; var a,b,c:real);
programme tepealde de (weede greeds kromme door twee punter waarvan
eerste punt een extreeg is. )
I (x10.x2) then in := (Y1-Y2)/(-xl*x1+2*xl*x2-x2Ix2); c
:= yl
a*xlkl;
b ;= -2a*xl;
-Id else ?ginwriteln('
ERRRI I I (cute invoer procedure top ');( einde procedure TOP )
-a
ZDORE TI TEL; wait :char;
,drscr;
viteln;writeln;writeln;
,write1n(' COMPR.HLP '); writeIn;writeln('
B.J. ter Riet');
writein('
Zwolle);
writeln;writeln;write1n;
write1n(' Net programma (:OMPRHLP.PAS
he1pt bij St opstel1en van de '7;
writeln('
wiskundige relaties VON het beschrijven van een compressor-');writeln('
karakteristiek. Na Net beantwoorden van een reeks vragin geeft '); write1n(' het prograwa de mogelijkheid een grafische voorstel1ing van ,);writeln('
de compress,orkarakteristiek i.e maken. ');writeln;writeln;
writeln;writeln;
writeln('
( auguctu= 1989 )writeln;writeln;
writeln('
drUk een t&EtS om verder te gain '); wait := readkey;clrscr;
(MEL)
DORE 1N1T; wait,contro :char; contro (contro ='n') do beginclrscr;
(pagl)riteln;writeln;writeln;
1NVOER VAN LEN AANTAL BASIS GEGEVENS
riteln;writeln;
riteln('
Het programma rekent eerst voor 1 basis-toerental ');ritein('
het karakteristieke verloop van een aantal variabelen');riteln('
uit.
(Druiverhouding, rendement ).');riteln('
Het beste kan voor dit toerental een toerental ');ritein('
worden gekozen in Net midden van de hit te ver-');rite1n('
wachten bedrijfsveld. Voor afwijkende toerentallen ');wordt vervolgens N,corrigeird.');
riteln;
riteln('
De. toerentalien moeten worden ingivoerd in c./sec. 1);riteln;
rite('
Het basistoerental is ');read1n(n_tc_bas);rite('
Een toerental hoog in het. bedr.veld ');readln(n_tc_hg);rite('
Len tent-al laag in bet bedr.veld
');readln(n_tc_lg); ontroif ((n_tc_bas>=n_tc_hg) or (n_tc_ba..<=n_tc_10) then
Deg in SWOiesel 4
idle
miteln('
oritelne
cIrscrt
writeln;writeln;writeln;.
writeln(' ERROR!!!! toerentallen verkeerd ingevoerd'); writeln(' Net initieren moet opnieuw gestart worden ');"
writeln;writeln('
druk een toets 1);contro
wait := readker,'
irscr;
(pag2)oriteln;writeln;writeln;
origin('
Voor Net basistoerental moeten alie pegevens van twee');oriteln('
punten worden ingevoerd. Het perste punt poet op de');
origin('
pompgrens liggen. Het tweede punt poet in de buurt vanorigin('
bet einde van de getekerde toeren kromme liggen. ');ritein;
origin('
(NE. vOupestrom in p12/sec)9;writeln;
De volupestroom van het &erste punt ' 'flreadinefl_V_bast);
yr i te( ' De drukverhoudirg v/h eerste punt ');readln(pi_c_bas1);
orite('
Net rendement van Net eerste punt ');readln(eta_bas1)1' yriteln;1orite('
De vcdumestroom van het tweede punt ');readln(f1_V_bas2)yrite('
De drukverhoLpding v/h tweede punt 9;readln(pi_c_bas2);rite('
Het. rendepent van tet tweede punt,');readin(etatas2);
cirscr;
(pag3)oriteln;writeln;
yriteln('
Voor de beide ander& toerertailen poeten nu dezelfdemiteln('
igegevens worden ingevoerd. Ket eerste punt vet weer));riteln('
op de poppgrens liggen. En ook het tweede punt met weer L4.1Omiteln('
aanhet einde van de getekende toeren-krome lien. ');
miteln;
mitaln(''
Voor Net toerental van 13n_g_hg;13:(),' opw./sec:");writeln;
rite('
De volumestroom van het &erste punt :');readin(fl_V_hgl);
mite('
De drukverhoudirg v/h &erste punt : 1).;readin(pi_c_hg1);';rite('
Net rendement van het eerste punt :1 ');read1n(eta_hg1);riteln;
rite('
De volumestroom van het tweeoe' punt : E);read1n(fl_Vig2);rite('
De drukverhouding v/h tweede punt : ');readin(pi_c_hg2); RIrite(
Het rendepent van het teed e punt ; 1);read1n(eta_hg2)1,riteln;writeln;
riteln('
Voor Net toerental ; lon_tc_Ig;3:0,1 opw./sec');writeln;rite('
Ze volumestroom van het eerste punt : ');read1n(fl_V_Ig1);rite('
De drukverhouding v/h eerste punt. 1 ');readin(pi_c_191);rite('
Net rendement van Net eerste punt 1", 9;readin(eta_191);riteln;
rite('
De voiumestroce van het tweede punt. 1 ');read1n(fl_V_Ig2);rite('
De drukverhouding v/h tweeds punt 9;readln(pi_c_192);rite('
Het rendepent van het tweed& punt t );readln(eta_192); Irscr1finit)
'n';
end; end;');
:');
DORE CORRECTIES.1,
ij
t integer;
nr_tc,filjr,pi_cr,C4,CS
t real;
wait : char; lvt := fln(fl_V_hg1)-ln(f1_V_bas1))/1n(n_ft_te/n_tc_basl;lvl := (In(.fl_V_Igll-ln(fl_V_basl)lan(n_tc_lg/n_tc_bas);
iph:= (1n(pi_c_hg1)-In(p1_c_lesl))/In(n_ft_hg/n_ft_tes); ipi:= (1n(pi_c_191)-1n(pi_c_bas1)1/1n(n_tc_lg/n_ft_bas); Jeh := On(eta_hg1)-Inleta_bas1))/In(n_ft_hg/nit_bas); lel := (1n(eta_191)-ln(eta_bas1))/1n(n_tc_lg/n_tc_bas),; := fl_V_bas2 - fl_V_tes1;cpp(0.0,pi_c_bael,f l_Vr,pi_c bas2,C2p,C4)CE)Z
l_Vr := tl_V_hg2-f1_V_hgl; ir_tc := n_tc_hgfn_ft_bas; 30! ;= unt(pi_c_hg2-pl_c_hg1)/C20-241n(fl_Vr))/111(nr_ttig l_Vr := f1_V_192-fl_V_1911; Ir_ft := n_ft_lg/n_ft_bas; :3p1
:= (1n((pi_c_lg2-pi_c_IgH/C20-211n(fi W))/1n(nr_tc);
d_cr := pi_c_bes1 - pi_c_bas2; tip(A1ela_baslipi_cr,eta_bas2,C2e,C4,C5)t := pi_c_hgl - pi_c_hg2; ir_tc := n_tc_hg/n_tc_bas;ant(efairg2-etaitg1Y/C20-2*In(pi_cr))/1n(nr_ft4j
i_cr := pi_c_191 - pi_c_192;Tit ;= nit_lgin_tc_bas;
2e1 := Ont(eta_192-eta_1910/C20-2K1n(pf_cr)i/ln(nr_tc)(correctjesi
CURE TEKEN; i,j,Xpos,Ypos,line :iinteger; afb,vora,ccmtinue,mode :char; Imax,Yrwax,Xmin,hin,hulp,X,Y, 7.1v,C1p,(12p,C1ei(2e,eta_c,eta_ct,n_ft_P., nic_min,n_tc_max,stap,eta,nr_tcfreat
)IRE raster; ((mode=q-nr(fficide=111)) then rasterherawax,Xmin,Ymax,Wtin)else rastercoathay,hinjwiax,Yminl;
)(RE tonversce(X,Y:realfl_V,fl_Vr,fl_Vt,pi_c,pi_ctipi_cr,n_tc,
iI ((mode='H')or(mode='h')) then conversieher(Xmax,Xmin,Ymax,Ymin,X,Y,Xpos,Ypos) ElSe conversiecga(Xmax,Xmin,Ymax,Ymin,X,Y,Xpos,Ypos); EDURE assenkruis; if ((mode='H')or(mode='h')) then assenher(Xmax,Xmin,Ymax,Ymin) else assencga(Xmax,Xmin,Ymax,Ymin); clrscr; writeln;writeln;
writeln(' TEKENEN COMPRESSOR KARPETERISTIEK ');
writeln;writeln;
writeln(' Is het maker) van een reconstructie gewenst ? (j/n) continue := readkey; mode while (continue=T) do begin if (de 'v') then begin writeIn;writeln;
write(' Is het een H_ercules of een C_GA/EGA scherm ? (H/C) mode := readkey;
end;
writeln;writeln;
writeln(' Mk een keuze tussen en afbeelding in een kssenkruis');
write(' of in R_aster (A/R)
Mb ;= readkey; writeln;writeln;
write(' Het minimal' te tekenen toerental is : ');readln(n_tc_min);
write(' Het ma:Kimaal te tekenen toerental is : ');readln(n_tc_max);
stap := (n_tc_4ax-n_tc_min)/1C; writeln;writeln;
write(' DE minimal& wear& van de f]uctie_V is : ');readln(Xmin);
write(' DE maximale waarde van de fluctie_V is : ');readln(Xmax); write(' De minimal& ward& van de drukverh. is : ');readln(Ymin);
write(' De maximale waarde van de drukverh. is : ');readln(Ymax);
writeln;writeln;
write('
Moat de afbeelding n_ormaal of g_ekanteld getekend worden ? (n/g): '); vorm := readkey;startgraph;
if ((vorm='G')or(vorm=191)) then begin
huip ;= Xmax; Xmax := Ymax; YMEX ;= Xmin; Xmin :=
Yin;
Yin := burinend;
if ((afb=ir')or(afb&R')) then raster else assenkruis;
if ((vorm='G')or(vorm='9')) then conversie(Xmin,Ymax) else conversie(Xmin,Ymin); moveto(Xpos,Ypos);
for I:4 to 10 do
begin n_tc := n_tc_min + i*stap; if (n_tc<n_tt_bas) then begin Clv:=C1v1;Clp:=C1p1;C3p:=C3p1;Cle:=Clel;C3e:=C3e1; end; if (n_tc>=n_tc_bas) then begin C1v:=C1vh;Cip:=Clph;C3p:=C3ph;CleCleh:C3e;=C3eh; end;fl_Vt
:= f1j_bas1*pwr(n_tc/n_tc_bas,C1v); pi_ct := pi_c_bas1*pwr(n_tc/n_tc_bas,C1p);if ((vm='8')or(vorm)='9')) then conversie(pi_ct,fl_Vt)
else conversie(fl_Vt,pi_ct);
set1inestyle(1,0,1); lineto(Xpos,Ypos); eta_c := 0.800; fl_V;= fl_Vt;
while (eta_c s.7= 0.65) do begin fl_V := fl_V + fl_Vr:= fl_V-fi_Vt;
pi_c := pwr(n_tc/n_tc_bas,C3p) * (2p*pwr(fl_Vr,2.0) + pi_ct;
pi_cr := pi_ct-pi_c;
eta_ct := pwr(n_tch_tc_bas,Cle) * eta_bas1;
eta_c := C2e*pwr(n_tc/n_tc_bas,C3e)*pwr(pi_cr,2.0) + eta_ct;
if ((vorm='G')or(vorm='g')) then conversie(pi_c,fl_V) else conversie(fl_Vipi_c);
setlinestyle(0,0,1);
lineto( Xposjpos);
end; (while)
if ((vorm=T)or(vormrig')) then conversietpijtjl_Vt)
else conversie(fl_Vt,pi_ct);
moveleXpos,Ypos); end; COfor i:=0 to 3 do
begin eta ;= 0.8line := 0;
stap := (n_tc_max-n_tc_min)/250;for j:=0 to 250 do
begin n_tc ;= n_tc_min + Astap; if (n_tc<n_tc_bas) then begin clv:41v1;cip:=CIp1;C3p;=C3p1;Cle:=Clel;C3e:=C3e1; end; if (n_tc>=n_tc_bas) then begin Clv:=Civh;Clp:=Clph;C3p:=C3ph;Cle:=Cleh:C3e1=C3eh; end;eta_ct := eta_bas1 * pwr(n_tc/n_tc_bas,0.5);
if (eta<eta_ct) then
begin
end;
end; (j)
end; (i)
continue := losegr eiph;clrscr;
writeln;writ
write('
continue := end; (continue)rirscr;
(teken) EDURE UlTVOER; wait :char; 4:Irscr;
oriteln;writeln;
priteln('
oriteln;
nr_tc := n_tc/n_tc_bas;fl_Vt
:= f1_V_basUpwr(nr_tc,C1v); pi_ct := pi_c_bas14'wr(nr_tc,(1p); Pi_cr := pwr((eta-eta_ct)/(C2e*pwr(nr_tc,C3e)),0.5);pi_c
:= pi_ct - pi_cr;
fl_Vr := pwr((pi_c-pi_ct)/(C2Opwr(nr_tc1(3p)),O.S); fl_V
:= fl_Vr + fl_Vtl
if ((vorm='G')or(vormg')) then conversie(pi_c,fl_V)
Else conversie(fl_V,pi_c); if (line) then moveto(Xpos,Ypos)else lineto(Xposjpos);
line := I;
(if)
readkey; -Eln;writeln; Nogmaals tekenen(j/n)
readkey; CORRECT1E FA(:TOREN');uriteln('
Clvl= ',(1v1:4:3);
vriteln('
Clvhoriteln('
Clpl = 1,(1p1:4:3);aiteln('
Clph = ',Ciph:4:3);vriteln('
C2p 1,C2p:4:3);iritein('
C3p1 = ',C3p1:4:3);Iriteln('
C3ph = ',C3ph:4:3);Titein('
Clel= ',Cle1:4:3);
Titeln('
(leh = ',Cleh:4:3);
Titeln(
C2e = ',C2e:4:3);Titeln('
C3E1 = ',C3e1:4:2);Titeln('
C3eh =Titeln;writeln;
TAW Is een (uitgebreide) uitvoer op de printer Qewent ? (j/n)');
readkey;
f (weit=T) then
eginritelnast);writeln(lst);writeln(Ist);
riteln(ist,'
riteln(lst,'
riteln(Ist,'
FORMULES COMPRESSOR BESCHR1SVING= ',C1vh:4:3);
witeln(Ist,
Irit*ln(Ist,'
iriteln(Ist,'
writeln(Ist,'
iwriteln(Ist,r
friteln(ist,'
riteln(Ist,'
riteln(Ist,'
writaln(Ist,'
writeln(Ist,'
writeln(Ist,'
rfiriteln(Ist,'
taln(Ist,
iteln(Ist,'
4ritaln(Ist,'
4riteln(Ist,'
Titaln(Ist,'
Titeln(Ist,'
Ti teln( 1st, 11teln( 1st,'
riteln(Istl;writelnast);writelnasti;
ritelnast,'
OITVOER CORRECTIE FACTOREN
oriteln(Ist,''
writelnast,'
Clvl =Civh =
oritaln(Ist,'
Clpl= ',C1p1:52,1
Oritelnast,'
Clph= ',Ciph:5:3,'
mitelnast,'
C2p =rriteln(Ist,
C3p1 =oritelnast,'
riphi= ',C2ph:52,1
oritalnast,'
Clal =oriteln(lst,'
Cleh =rit*Inast,'
CZe= 4,C2e:52,1
riteln(Ist,'
C3e1 =C2oh
riteIngst,"
als n_tc >
n_tc_bas dan Clv = Civhals n_tc <= n_tb_bas
dan C1v = CivlTiteln(Ist,'
Titelnast,'
Pit 9eldt C(k
; Clp,C3p,,Cie en (.:3e.Titeln(Ist);writeln(Ist);writeln(Ist);
ritslnast);writaln(Ist);writeln(Ist:);
Titeln(Ist);writeln(Ist);writalnusW
riteln(Ist);writeln(Ist);
riteln(Ist);writeln(Ist)';
titeln('
ri teln(Ist);writeln( Fst)i,
drukvertoudingpi_ct =pi_c_basL * (nLtc/n_tt_basECIp
!pit,
=3:2p glI_Vr*2 3: (ttc/n_tc_bas)sC3P +volumestrom 1
=II_V_bast * (n_tc/n_tc:bas)"Clv
Tendement t!'
eth_ct= eta basil * th_tc/n_tc tasrCle
ela_c
C2e * pLcr2 * (n_tc/n_tc_bas)C3e
+ eta_ct
INGEVOU,DEGEGEVENS ?)q:
writeln(Ist,'
riteln(Ist,'
riteln(Ist,'
');
pi_ct');
2); fl_V 2);');
');
writeln(Ist,'
2); ',C1v1:5:3,' ',C1vh:S:321',C2p:5:3,'
'C3p1:5:3,1',Clen:5:3,'
Titeln(Ist,'
Titein(lst,'
Titeln(lst,'
Tite1n(Ist,'
(programa)
el;
t;
recties; you; ED; (prograwa) (programa)el;
t;
recties; you; ED; (prograwa)I);
1); 1); 1); andeoriteln(Ist,'
correctief;ctoren geaseerd zijn, zijn:
writeln(lst,'
writeln(lst,'
n_tc_hg = ',n_tc_hg:4:1);oriteln(1st,
n_tc_bas = ',n_tc_bas:4:1);oriteln(lst,'
n_tc_lg =uriteln(lst);writeln(ist);
oriteln(lst);
oritein(Ist);writein(lst);
oriteln(lst,'
voor n_tc_bastl_V last
= ',fl_V_bas1:5:3);oriteln(lst,'
pi_c_bas1 = ',pi_c_bas1:5:3);oritelnast,'
eta_basl = 1,eta_bas1:5:3);uriteln(lst);
vriteln(lst,'
f1_V_bas2 = ',11_V_bas2:5:3);uriteln(lst,'
pi_c_bas2 = '1pi_c_bas2:5:3);oriteln(lst,'
eta_bas2 = ',eta_bas2:5:3):uriteln(Ist):writeln(lst);
voor n_tc_hg : =
iriteln(lst,'
pi_c_lgl = ',pi_c_1g1:5:3);±riteln(lst,'
eta_191 = 1,eta_lgl:S:3):rriteln(lst);
= ',f1_V_Ig2:5:3);
pi_c_1g2 = ',pi_c_192:5:2);
Titeln(lst,'
et.a_1g2 = ',eta_lg2:S:3);Titeln(Ist);
Titelnflst);
nd;(if)
(uitvoer)I);
1); 1); 1);oriteln(Ist,'
vriteln(Ist,'
ingevoerde warden, waarop1,n_tc_19:4:1);
priteln(Ist,/
voor n_tc_hg fl_V_Ngloriteln(Ist,'
pi_c_hgt 1,pi_c_hg1:5:3);oriteln(Ist,'
eta_hgl1,eta_hg1:5:3);
oriteln(Ist,'
oriteln(istil
pi_c_hg2 =',pi_c_hg2:5:3);
miteln(Ist,'
eta_hg2 11,eta_hg2;S:3);miteln(Ist,'
riteln(Ist,'
miteln(Ist,''
fl_V_Igl
YI_V_Ig1;5:3);
FORMULES COMPRESSOR BESCHRIJVING
'drukverhouddng,
Ipi_ct, = pi_c_baS1
4
(n_tcin_tc_bas)"Clpi
pis
=-C2p * fl_Vr"2 * (n_tc/n_tc_bas)"C3p +
pist
volumestroom
fl -V
= fl_V_bas1 * (n_tc/n_tc_bas)"Clv
rendement
eta_ct = eta_bas1 * kn_tc/n_tc_bas)"Cle
etas
= C2e * pisr-2
(k_tc/ki4td_bas)-C3e + eta_ct
UITVOER CORRECTIE FACTORER
als n_tc >
n_tc_bas dan Clv = Clvh
als n_tc <= n_tc_bas dan Clv = Clvl
Dit geldt ook voor
Clp,C3p,Cle en C3e,
vg.
1A.1.4V1.,Clvl
=1.683
Clvh
=1.825
Clpl
=1.345
Clph
=1.949
C2p
=-0.267
C3p1
= 1.4431C3ph
=8.887
Clel
=0.033
Cleh
=-0.141
C2e
=
-0.560
C3e1
=
-5.261
C3eh
=-5.422
* :De ingevoerde waarden, waarop bovenstaande
correctiefactoren gebaseerd aim, zijn:
n_tc_hg
=360.0
n_tc_bas
=300.0
n_tc_lg
=200.0
voor n_tc_hg
:fl_V_hgl
pi_c_hgl
eta_hg1
fl_V_hg2
pi_c_hg2
eta_hg2
voor n_tc_bas
:fl_V_bas1
pi_c_bas1
eta_bas1
fl_V_bas2
pi_c_bas2
eta_bas2
voor n_tc_hg
:fl_V_1g1
pi_c lgl
eta_igl
fl_V_1g2
pi_c_1g2
eta_1g2
= = = = = = = = = = = = = = = = = =6.570
4.080
0.808
7.300
3.360
0.700
4.710
2.860
0.829
6.050
2.380
0.700
2.380
1.658
0.818
3.410
1.500
0.700
\
.tee"
\
/
\ dkc
\ A
X\
\ ,y,
150V
/
Y y
/tat**11111144411141141111/111111411111111111111***
/**
(1
source. MODELIC/I*
4*
include modelthIn
/**
datum `; 2e febi 1990/*I
/1111111111111113111141411114111: 111: 14111114144/1114 1:mu/
/**
**/
/**
SCUrCE MODELI.0**/
i**
**/
/**
include : modell.h*I/
In
**/
/**
datum 20 feb**/
/**
/
/1111111111111113111141411114111: 111: 14111114144/1114 1:mu/
*1/ 111**/
111**/
**/
31/ 11111111111 lude <math.h> hide <stdio.h> Jude <string.h> Jude <stdlib.h> lude 'modell.h"ire
_MEET inc MAX_GROOTH 13lE meet (MAX_MEET) [MAX_GROOTH];
IC value;
*fp,*fpl,*fp2,*fp3;
le Cv_1(double); le Cv_g(double); le Cp_1(double); le Cp_g(double); matrix(void);init(int);
main(void); matrix()It in1ezen meetgegevens ult. datafile TM410
fp = fopeWtm410.1','r');
if (fp!=NULL)for (t=0; t<(MAX_MEET*MAX_GR('OTH); ti+)
fscanf(fp,'%d Sd %lf ",&ijj,&value);
meet[0(j)
value;fclose (fp);
else
printf(' ERROR de TM41(.1-file ken niet geoPend worden !Mil");
exit(-1);
28
/* einde inlezen peetgegev.
t/
/* einde aatrix_init
I/
ie Cp_111111 )1e T; 'eturn( 39Stpow(T,(4.165));le Ckg(T)
le T;
beturn(270Ipow(T,0.227) )g ic Cv_1(T) le T; 'eturn(39S4:pow(T,43.165).-287.0Y; de Cv_g(T) le T; etupn(270*pow(T?0.227)-2N.Q);i;
It
oprekenen van eenheden*/
17 =
(Peetfil(1)/60.0);
It opw/s */
Qefl - .. (meetf0[23310); It NNV
flip =
Ofeetrilnita_c);
/* kg/s
t/
Tin =Neetlilf4l+273.0);,
/* K
*1 Pin.
(peelli)[S]tleS);
It Pa*/'
pex =(Peetfil[E]tleS);
It Pa*/
apax =(meetti)UltleS);
14: Pa4/
Tex = (weetIME0+273.0);it K
*/
n_tc =
(peet(i1(9)/60.Q);It pow/s */
SFC = (peetfil110J); It 9/kWh 11 To = 300.0;It K
*/
po = 11.06; It Pa *IR/* init I/
painfvcdd9fpl = fopen(mode111.11e); fp2 = fopen("mcdell.22,mw"); if i((fp1!=N1LLM(fp2!1UL1-), (
fPrintt(fP1,"\n1rAt
***11111113111411411111414411144341 1"" 14141V)4fprintf(fpl,"lnNt
*4: **1):'fprintl(fP1,'\n\t.
** tlITVOER VAN MODEL!WI);
fprintf(fpl,\n\t,
Xifprintl(fp1,3\nt
** 2e - feb - 1990***);
fprintf(fP1,"\ra
*4:fprintf(fpl,"\n\t
** pagina I*I");
fprtntf(fP1,'\n\t
44:fprintf (fPl ,'1n \ t 1:14:=11111:4144:44114:31344:1:444144-441,413:pamiam: \n\s");
fprintf ((PI ,1 meting motor vermogens motor
totimssastr.
fprintf(fpl,*
nummeriterental
belastingt*lasting
brandstoffprintf(fP1,w
Corny/min] (proc.] (proc.)[gr/s]
fprintl(fp2,a\n\n\t
V144100011141144431134311144*4111414414411141444141;fprintf(1p2,"\nt
11**');
fprint.f(fp2,3\n\t.
fprintf(fp2,iflrAt
**
fprintqfp2,"\nit
**
fprintf(fp2,R\rAt
t*
fprintf(1p2,1\nit
V*fprintf(fp2,1\nt
**
fprintf (fp2," \Mt
titt11111114141-1114444-34-11:14411:11:4-14111:41114144.4444\n \n n"fprintf(fp2,'
'meting inlaatrec. eindcoupressie verbrandingsfprintJ(fp2,'
rummer druk druk drukstapfprintf(1P2,'
bar)tbayl
[bar]It einde top *1.
matrix();
It VON elke meting terekenire4en en uitvoem for (1=0; i(MAX_MEET; i++)
Initli01
It
initier*n grootbsden van meting It terekening vermogens en, motor belastinglverm_tel
= meettilfer,
mot_bel (Qeffi Qeff_n)*100.01,
It berekening massastrxim brandstcl uit SFC
en elf
Peff = 6.2832*eiffln;mfo = (CFC11*-3:Peff)/3600.04
mfo_c = rijo / a_c
Omit
= (glo_c * 2)/n 4J* berekening eindcompr.druk en.verbrandingsdrukstap
P2 ' r pow(eps,1.40)4nin; It Pa
vbds = pmax-p2; - Pa
It berekening bencdigde brandstof VO3P verbr.drukstap
Tr 212 + (4.8a33 t (Tin-273); IS K 12 pow(eps,(1.40)*T11
It K
41It procent
*/
/5 procent*/
ermogen 1/ It k0=kNm/s*/
/* gr/s
*/
/4: gr/s cyl 4/It gr/cyclus 14
iassastr.\n');
brSt.. per cyclus AnAnn);
Igricyclusl
An\n\n')1UITVeER VAN MODEL Ii 14°1;
**');
20. Jet, 1990 44.");**');
vagina 2tI");
141 passastr. brandst...\n")1
verbr.drukstap\n\e);
Inr/cyclusl
ItArAn9;-
-v. =/
;ktrapped = C(VsfVc)tpin) / (287111)1
It kg
*/
73 = (pkax*Vc)/(m_trapped1287);
It K
*/
phi_toe_v = (m_trappedICv_1(72)*(73-12))J, /3: J 11
kdo_cc_v =phi_tokv /
Ho; '4 kg
IF
uitvoer meting i near pagina I en 2
fPrinff(fP/,'
%2d %6.21fvi(i+1),(n1U.0)tl1
fprintf(fp1,'"
1.6.11t /6.111",verkbal,motiel);
fprintf(fp1,'
16.21116.3If \n'imfo,mfo_tc);
fprintflfp27
12d %.5.214 me(i+1)1(pinlle-5));fprintf(fp2,'
%8.2If /8.21f ',(p2*1e-5),(vbde4:ie-5));fprintf(fp2,1
%6.3I1 \n',(mfo_cc_v*Ie3));/* i
*/
ficlose(fp1)7fdose(fp2);
I 4 if
ifet 1= NULL V' ?Ise if (fp1==NULL)printf("\nln
(WOW:uirvoerfila 1
Icon niet geopereworden 91! ArAnn)4 if (fp2==NULL)primtf(1\rAn ERROR % uilvoerfile 2 konniet geoperdworden \n\nr)'1
At itOt =NULL tt main U
)
veruLtel,mot_bel,Peff,sfoddo_c,afo_cc,v4oicc_v; p2,11,12,731m_trapped,phi_tte_v,vbds;
11,0eff,11_0in,piPtpex,pmex,Tex,n_tt,SFC,TotP0;
mine conctenten
*/
Ho = 42e6;, it cmd. verbr.wasade
ti/kgl*/
mdate (6TM410)