• Nie Znaleziono Wyników

Listingen Dieselsimulatieprogramma voor transient gedrag

N/A
N/A
Protected

Academic year: 2021

Share "Listingen Dieselsimulatieprogramma voor transient gedrag"

Copied!
127
0
0

Pełen tekst

(1)

LISTINGEN

DIESELSIMULATIEPROGRAMMA

voor transient gedrag

(2)

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)

/3:411******1=3141****11111111111314341*****13144414411111I4441311***

II

1* ** PROGRAM. :DIESEL.0 *4

**

**

**

Dale,

:05,- ma. -19901

**

14

u

**

Include file 7 dieselh

**

**

*1

*3: Source

file : diesel.c

Main prciraug 31 l

U

#4 1

tl:

t.T. 1

Eillarantat 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 :e

(4)

return(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;

(5)

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) 4

Clv=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. tomPressusubmader

ti

if (pin>pex)

= Aeff * pin' 3: pow(10.0244/T1n0.5)

It berekeningen cylinderSubmodei 41 nr = n/n_ndm;

it

(NJ

t/

T1 = 313 + 0.83333 * (Tin-273Y;

it

(K1 41 fl_m_aanz = (n/2tpin*Vs)/(287t4111

it

[kg!;)

*/

pi_ct-pi_c; *

(6)

* 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/*PinT

It

[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)0

I*

*/

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]

(7)

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]

(8)

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

(9)

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")4

fprintf(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.2

10)r

fPrintf(fp2,1\n\tAt

**

II*);

fprintf(fp2,'n\t1t

40444***1*************I111414441441411*****TI44443An\n\n');

fprintl(1p2,"\n\n\tAt

111111141411114111111431141411311131111111114111/41')1r

fprintf(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.}r

fprintf(1p3,1\nt\t

:1

**");

fpr intf ( f p3, " VA tAt 11111111110.1141141411111113111111111313111111111411S \ WI )4

fprintf(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()

**");

(10)

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.311

rpm = 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')4

tl");

pain a 4 41')i;

**");

1

444441444441244441114444t\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/s1

tNr]

INel

WW1;

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'91

fprintf(fp4,'V4

Es] CIO

fig

DO

IKI

fKi

Thar]

(bar] \n\n');

Cs]

fl_m_t **

i

(11)

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;

(12)

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Ø

7

It

temperatuur na kceler CIO */

e pc. = Je5 ;

It

omgevingsdruk [Pa] 34

C Ho = 42e5

It

onderste verbrandingswaarde

ling) */

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 le

pc,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_t

fi_phi_af

Tin,Tc,InciTuit,Tex,TI,K,SFC; 0.0; 0.0; 0.0; le 0.0; 0.0; ; ; ; ; e n_tc_lg

(13)

tie 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

volume

inl.rec.

cno 'kW

DO) 31

IC 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 [NO

t/

basis drukverhouding It basis volumsstroom It basis compr. rendement

(14)

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 */

(15)

it

1:4444111=

1-1-a/Uttalt**3141:411:111-11:441

Iltt***4

14

tt

X* PROGRAM VRST.C.

tt

*4

It

lDate

v es r apr. - 1990

t*

It

*4:

tt

Include file

:

vrst.til

11

tt

tt

tt

Source file 1 vrstil

hairl pcogr-am

t*

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 Jude

vvrst.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.0t

le

ex_pdfEl =

le

fx(double,doubleladbublef))4 own_grid(duble,doubledkuble,dol-6107 cmn_out(void)l

Ifplatfp2,*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 44

(16)

return(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); e

fx(t,yp,dy)

/* functie fx */

.e

t;

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;

(17)

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)1

if (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

(18)

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 *f

else (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] 41

phi_tcej, = tfo_cc_p*Ho;

It

(11 31

phijoe_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_c

a (phi_toe_p + phi_toe_v

-(Ocappedgv_1(TS)*(TS-11171 / (4*pi); It

ift4r0 41

luit= T5*(1-((kappa_u-1)/kappa_u)*(1-pex/p5));

It

(K) */ = (fl_m_aanz+fl m_ext)*a c+11_44o4

It

[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] */ Qeng

a 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

/*

(19)

/* 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 Nki

I */

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 */

*

(20)

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] -G

(21)

own_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_pliDc

lineto_w(pdfOl,pdfil);

ci4;i<541++1 =

owrout */

me Intl

int

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 1

fprintf((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 D1ESELWC

U");

i;

pdlil

- Epr

(22)

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 \ t

fprintf(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\ tAt

fprintf(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.0

tr);

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 4

U.");

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 DIESEL105C

3t");'

tV

tr)c

OS - apr - 4390

tt');'

tt

mina 3

WI;

31

tr);

t411111111****U141441U1411414111111411*1411414414An\n\nX; WTVOER E4ESEL1(e.0 AtS - apr - 1390 pagine S 3.4 313413141111411

trri.

31");

un);,

umn

re);

l'An\n\na);;

t*');

11');

14');

14");1 11");

tr);

tuvAn\pm..ni

It 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,1

fprintf(fp2,214.

ti4d

toerent41 Qc Qt eta_t et-a_t\n'0,;

tprintf(fp2,1\t.

(s] Cowls) [Nm) [Nm] c\rAns)1

fprinfl(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] Tin

tkg/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_s

Eh]

IK7 TKI

'NH)

DM

(K.] [01 (bar}

(bar] vkin);

R' K_T 1031( zug wake \D"); 4kNi **

**");

14:

**

(K)

(23)

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)4

It

uitvoer *1.

if (1=200)

fprintl(fpl,"\n\t

7.5.211 %4.211

1,t,(460))';

fprintf(fpl,'

%4.311 %4.311 '1(qengl1e-3),(Q1ast*1e-3)14

fprintf(fp1,

t4.21f

',(mfo_cc116));

fprintf(fpl,'

L5.114 %.5.21f

',SFC,(1.4286*phi).

fprintidfp2,1nt

4S.21f %4.31i

fprintf(1p2,'

%4.31f t4.311 ",Qc,Qt);

fprintf(fp2,'

%4.31f %4.311',eta_c,eta_01

fprintf(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.11f

fprintf(fp4,'

%4.11f %4.11f ',TS,TuitY1

1printl(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.11f

1,(Resist*le-3));

(j p,t,n_tc);

(24)

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 , ;

(25)

11111-011114111414114 r**0141111111114

DIESELIO.N

dedareren varjabelen

DIESELJO.C.

gaafst

datum update

OS.- apr - 4390'

411114444441411114111311411131111414111111111111114111 POMP; le

geng,Q1astAtAcin,n_tc,phi,Dphi',

le le Tin,Tc,Tnc,Tuit,Tex,T1,14,SF(Y, le

Pt,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 7

ie

ltc

= 0.506 Fe To = 200.0 Tk = 323.0 po

r5

Ho

=42e6

It equiviTaagteidsalom.systeem

It traagheidsmcc drukvulgroeP

cmgevings tesperatuur

It temperatuur na koeler

It csgevingsdruk

It 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]

(26)

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] 11

eps ' = 12.0; It compressie verhoudirg

[DL] t/

Vs = 0.062M52; It slagvolume

10 St

e Vc =. 5.641e-3;,

/* tcepressie volute

im3l Si

e 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)

(27)

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 reductiekast

1-1 */

th C_resist = 1.717e3; It constante scheepsweerstand

I-1 tt

(28)

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

begin

within ('

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

(29)

(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;

(30)

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

(31)

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

(32)

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;

(33)

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 ?gin

writeln('

ERRRI I I (cute invoer procedure top ');

( einde procedure TOP )

-a

(34)

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 begin

clrscr;

(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); ontro

if ((n_tc_bas>=n_tc_hg) or (n_tc_ba..<=n_tc_10) then

Deg in SWOiesel 4

idle

miteln('

oritelne

(35)

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 van

origin('

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;1

orite('

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 dezelfde

miteln('

igegevens worden ingevoerd. Ket eerste punt vet weer));

riteln('

op de poppgrens liggen. En ook het tweede punt met weer L4.1O

miteln('

aan

het 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); RI

rite(

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); Irscr1

finit)

'n';

end; end;

');

:

');

(36)

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_tc

freat

)IRE raster; ((mode=q-nr(fficide=111)) then rasterherawax,Xmin,Ymax,Wtin)

else rastercoathay,hinjwiax,Yminl;

)(RE tonversce(X,Y:real

fl_V,fl_Vr,fl_Vt,pi_c,pi_ctipi_cr,n_tc,

(37)

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 := burin

end;

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);

(38)

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; CO

for i:=0 to 3 do

begin eta ;= 0.8

line := 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

(39)

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('

Clvh

oriteln('

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

egin

ritelnast);writeln(lst);writeln(Ist);

riteln(ist,'

riteln(lst,'

riteln(Ist,'

FORMULES COMPRESSOR BESCHR1SVING

= ',C1vh:4:3);

(40)

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, 11

teln( 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 = Civh

als n_tc <= n_tb_bas

dan C1v = Civl

Titeln(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,

drukvertouding

pi_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,'

(41)

(programa)

el;

t;

recties; you; ED; (prograwa) (programa)

el;

t;

recties; you; ED; (prograwa)

I);

1); 1); 1); ande

oriteln(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_bas

tl_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, waarop

1,n_tc_19:4:1);

priteln(Ist,/

voor n_tc_hg fl_V_Ngl

oriteln(Ist,'

pi_c_hgt 1,pi_c_hg1:5:3);

oriteln(Ist,'

eta_hgl

1,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);

(42)

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.4431

C3ph

=

8.887

Clel

=

0.033

Cleh

=

-0.141

C2e

=

-0.560

C3e1

=

-5.261

C3eh

=

-5.422

* :

(43)

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

(44)

\

.tee"

\

/

\ dkc

\ A

X\

\ ,y,

150V

/

Y y

(45)

/tat**11111144411141141111/111111411111111111111***

/**

(1

source. MODELIC

/I*

4*

include modelth

In

/**

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 13

lE 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

(46)

/* 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 NN

V

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: Pa

4/

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/

painfvcdd9

(47)

fpl = fopen(mode111.11e); fp2 = fopen("mcdell.22,mw"); if i((fp1!=N1LLM(fp2!1UL1-), (

fPrintt(fP1,"\n1rAt

***11111113111411411111414411144341 1"" 14141V)4

fprintf(fpl,"lnNt

*4: **1):'

fprintl(fP1,'\n\t.

** tlITVOER VAN MODEL!

WI);

fprintf(fpl,\n\t,

Xi

fprintl(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,*

nummer

iterental

belasting

t*lasting

brandstof

fprintf(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 verbrandings

fprintJ(fp2,'

rummer druk druk drukstap

fprintf(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 belastingl

verm_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 4

J* 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

41

It 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')1

UITVeER VAN MODEL Ii 14°1;

**');

20. Jet, 1990 44.");

**');

vagina 2

tI");

141 passastr. brandst...

\n")1

verbr.drukstap

\n\e);

Inr/cyclusl

ItArAn9;

-

-v. =

/

;

(48)

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.21f

vi(i+1),(n1U.0)tl1

fprintf(fp1,'"

1.6.11t /6.111

",verkbal,motiel);

fprintf(fp1,'

16.211

16.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)7

fdose(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

)

(49)

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)

*/

It aantal cylinders

*/

It note,. koppel

[NO*/

It votor PM. toerenter

(c4n/s3*/ It covnressie verhouding

t/

A. slegvoluse

10)U

It coKressievolupe 1s2)*/

If

a_c = 6.0; Qeff_n = 59.29e3; n_n = 10.0; eps = 12.0; Vs = 0.062052; Vc = 5.641e-3; 3114311111111"41441*****4344401444441111 include

t

MODEL1.14 datum r 20 feb 011111111311111141***********3 144** -1144444 lt114:********/

t*/

**/

**/

**/

**/

1131111114111***1411111*/ 1990

Cytaty

Powiązane dokumenty

(INSTYTUT NAUK HISTORYCZNYCH UKSW, 18.XI. 2013) Pierwsza z cyklu konferencji „W kręgu cywilizacji śródziemnomorskiej” poświecona za- gadnieniu religii w świecie

Liczna grupa uczestników projektu miała możliwość spotkania się i wymiany doświadczeń w czasie kwietniowego dwudniowego konwersatorium, które odbyło się w Łochowie

Stefan Wyszyński – jako kapłan, dziennikarz i redaktor – był bardzo wnikliwym ob- serwatorem wszelkich społecznych wydarzeń, także tych, dotyczących środków społecznego

Mury zostały wzniesione na przełomie XIII i XIV w. na owalnym obrysie, wydłużonym w kierunku pół- noc – południe, pierwotnie na niektórych odcinkach podwójne, z dwiema

As can be seen from (1), each rotating part in the rotor must be smaller than the yield strength or the tensile strength depending on the type of materials. For

Wystawę wzbogaciły liczne cytaty z dzieł Reja oraz kalendarium życia i twórczości (przedstawione na dwunastu planszach), a także fotografia portretowa wykonana przez

Kwalifikując tekst do danej klasy trudności, Jasnopis wskazuje miejsca trudniejsze i wyraźnie trudniejsze od reszty tekstu (w aplikacji edytowane odpowiednio czcionką w

Ponadto funkcja domowej przestrzeni zmienia się w trakcie niektó- rych filmów, także w związku z polskim imigrantem: na przykład w kilku przypadkach „holenderski dom” staje