From 91e8bac7eac9d26a4df89813af59e217bd2830f2 Mon Sep 17 00:00:00 2001 From: yaroslav-pukazov Date: Sun, 7 Jun 2026 13:30:23 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D1=83=20=D0=BF=D0=BE=20VEH?= =?UTF-8?q?ICLE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../VEHICLE.HLP/VEHICLE.HLP | Bin 0 -> 725458 bytes .../VEHICLE.HLP/VEHICLE.hpj | 19 + .../VEHICLE.HLP/VEHICLE.ph | 3876 +++++ .../VEHICLE.HLP/VEHICLE.rtf | 10450 +++++++++++++ .../VEHICLE.HLP/bm0.shg | Bin 0 -> 664338 bytes .../VEHICLE.HLP/bm1.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm10.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm11.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm12.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm13.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm14.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm15.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm16.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm17.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm18.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm19.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm2.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm20.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm21.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm22.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm23.bmp | Bin 0 -> 2814 bytes .../VEHICLE.HLP/bm24.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm25.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm26.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm27.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm28.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm29.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm3.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm30.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm31.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm32.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm33.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm34.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm35.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm36.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm37.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm38.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm39.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm4.shg | Bin 0 -> 626698 bytes .../VEHICLE.HLP/bm40.bmp | Bin 0 -> 92278 bytes .../VEHICLE.HLP/bm41.bmp | Bin 0 -> 91254 bytes .../VEHICLE.HLP/bm42.bmp | Bin 0 -> 91254 bytes .../VEHICLE.HLP/bm43.bmp | Bin 0 -> 91510 bytes .../VEHICLE.HLP/bm44.bmp | Bin 0 -> 90742 bytes .../VEHICLE.HLP/bm45.bmp | Bin 0 -> 182778 bytes .../VEHICLE.HLP/bm46.bmp | Bin 0 -> 147078 bytes .../VEHICLE.HLP/bm47.bmp | Bin 0 -> 92278 bytes .../VEHICLE.HLP/bm48.bmp | Bin 0 -> 92022 bytes .../VEHICLE.HLP/bm49.bmp | Bin 0 -> 92022 bytes .../VEHICLE.HLP/bm5.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm50.bmp | Bin 0 -> 91510 bytes .../VEHICLE.HLP/bm51.bmp | Bin 0 -> 183350 bytes .../VEHICLE.HLP/bm52.bmp | Bin 0 -> 91254 bytes .../VEHICLE.HLP/bm53.bmp | Bin 0 -> 93814 bytes .../VEHICLE.HLP/bm54.bmp | Bin 0 -> 94758 bytes .../VEHICLE.HLP/bm55.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm56.bmp | Bin 0 -> 630 bytes .../VEHICLE.HLP/bm57.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm58.bmp | Bin 0 -> 630 bytes .../VEHICLE.HLP/bm59.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm6.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm60.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm61.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm62.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm63.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm64.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm65.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm66.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm67.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm68.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm69.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm7.bmp | Bin 0 -> 1118 bytes .../VEHICLE.HLP/bm70.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm71.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm72.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm73.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm74.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm75.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm76.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm77.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm78.bmp | Bin 0 -> 92534 bytes .../VEHICLE.HLP/bm8.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/bm9.bmp | Bin 0 -> 3126 bytes .../VEHICLE.HLP/index.html | 12493 ++++++++++++++++ 84 files changed, 26838 insertions(+) create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/VEHICLE.HLP create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/VEHICLE.hpj create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/VEHICLE.ph create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/VEHICLE.rtf create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm0.shg create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm1.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm10.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm11.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm12.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm13.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm14.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm15.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm16.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm17.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm18.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm19.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm2.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm20.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm21.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm22.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm23.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm24.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm25.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm26.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm27.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm28.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm29.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm3.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm30.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm31.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm32.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm33.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm34.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm35.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm36.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm37.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm38.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm39.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm4.shg create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm40.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm41.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm42.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm43.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm44.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm45.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm46.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm47.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm48.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm49.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm5.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm50.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm51.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm52.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm53.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm54.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm55.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm56.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm57.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm58.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm59.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm6.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm60.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm61.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm62.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm63.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm64.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm65.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm66.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm67.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm68.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm69.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm7.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm70.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm71.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm72.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm73.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm74.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm75.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm76.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm77.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm78.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm8.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm9.bmp create mode 100644 Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/index.html diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/VEHICLE.HLP b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/VEHICLE.HLP new file mode 100644 index 0000000000000000000000000000000000000000..2a7b6157d7bdf836ce9fd22107f569eeb452b33a GIT binary patch literal 725458 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�eH zxQ;HU_*(Aoj~D*GaQXfZSB3xL@?`)n-!00ZR-ZHOrGB6RVqpbf>`AaT`7&*pil1A~ z(t7b;Z)ZMOb|9X^!ms?~c2HjrV`vEE?pgUY&>L5mz{@|wUQ@EsJ*tc z#;%a84XfoSK5H`mzAr9;|>B zj3dAj!0DPqXZZPSx@?1s*RoJc$nBp5Doc-y6cuiU+qcDqKNK7kumG;$%u5j(2U5Ay zNcBnW`GRjFMIqIvufTEyYqSR417`vJ;bdC_)b1KYSVSb=xob$Z$%4zb#x)KC$RQw? z^3KcMq4UZuu+H_clB|RhA4Jq)JpW}rZa7XiQc(rjbb4#e+9U*jF83YKJpTq|G3@Sp2Fe%qCjZ|X<*1N+u ztCui4k@2Y2taB9OE^|$~gWnkcLp6!iDE>3>dH^iJv${yF_3&2hsz1%gg`zXemUlG- z5a23;FVZBHXqJ>$Z)IE8bB6`-A2&WEAF6Q|fMdP|#tfPvVyUl_^P&KdD)NkqojW$+ zsXsFnbIAaP1>h1T2{SJYHWr9`flyK}_Bv@0Z`Wpt30LwMcFvTE9dp-;hp_3^M{kF1 z!ncQs9Zg_SRzBei@s^unM8Km*m)F#w^1=!?=nS=Y1Mb#_Fzd-QMm_x7bZQ+HLp6wh zpzr|AC-(8#YTX1dbS#{VXP%~B(9Pm(p-rF%el6iRRA$#Aes3qs5Z_~qpk}Y_4LEAy zOb>FJfrM5<$oHh;{D9%X?8sC>sd5b*BH{0Q2>Tlz*X}t|Wc|7}kDpi}5VD9QBSHMG zK314M7I3A;`XEDhXwV=sU`X05NQQdB54MDhbq4I>6dn9TwwC4jz;KxZ%$@kS7M@E1 zxWmGeRG4tst8~-v;cuBg!P^7ERT6+|3BoGJ9uCvMF62!P&(5+och$1114WR{Ld!tF*$o3 z%{}~i%5U+V>|g2xmxV$>TB1trd)?wcj_o!ORgWp{H;S%t*F2DHc_DGq72dHo@DV^) z*z;J@1^puYijm$^=SNG0jxWFVt%U0F9AwfOyAjm5lvMcXDlU5DghP)HJ>L9i^N-ZB z1i}pA+WOB#l6bzVGtPXZRrUNB7`L!`TNV44QZ1(lrnFil5@kKir9%=TFJ@BSyu zOq4Df#qo__%o96|2yZp4f`-394pW5oUNjGM4j>WRn!{}qC48e_WLfl7h`@0s2a1qyXetwoCHd}%m1ULKbzwWR4} z)~;$9SZMa%VwwMmuG2i3RF`3&wNWPRgU#nh_C$$QsV8OoR!T2RYVCOP$4AakV*>P& z^Zl!2wFc>lPw7=VY2%zPL#(I2mFeSEm!+)b2G;dsuULLB1M%3AfTxE7I%S!&_h7R= zh1Lx>eKY}^x0eTA3@8tXkyEoR+RM3eV5{_zdxsDA>p5nn5N?!%KtU)la7I>Qj-Q%N za_HXlg{S$NJ$+Ht7WWLtJ?s0ds*R{5vhbk2&_4NS{y#&%AG8}8^=N@wgPxEG`4H9! zk8Aq^DNIhyZZ=BSC?-o|2@ducwEsq8#l|wAN)}PHo)q) zhI`iq;ZNvS1z)DyZvvN9uqQCs=R<6!a2!)Jwyt2c7zdUlme~Owg=T=n_$^{2z z<$ysi6(Dy_gg0Q}S?gaM^iCoI%>XoLlDl}S?sFX85cCx=?Xz)i(U{RqRe%Rtqwqez zoXHsoK=qF=`@P6gp7`sXz+;~&#)^AuO8hH31+#g^l0=blf&Ol_WcK$v0(<)>E|7rO zEl6yCYc4o;`&rQg-(3~>9%&#l0~$%|lEy11=l)glldE2k&#ZkfR=qtd3G9&OJr|^a zkIFi5b!<@IrWVb6(>X>+bsHYf4EZl<(H>qJWY)qAc?v&nFMt^m{GJr8UI;T}P9fRI zV&LJk3+5nzY-9`M;^9gA77Wo}0O1*jWwKiV= z({rG%o;;E5CbE!!ohG>x|X}dZMZf8z0U0I$`gA zOqG2)Ft?gM>2oEjXkt;tWO}yBidJ@#c3+;|UFDWZxBn*bk18KsgM<7WZMZ5I#Lo?W z>wPM+E&s(!wN~9plqfnT`_`i4a*HQc7K|?6;We~kVy)MH+dMx;P5oQJ$TVkxei53j6>hMt`^yKA*|D4zs21B+s^}())je3-q+8WFP+zT&Y%I1~)rSJbi(V>L(>!Vts|O6M&kT`+ zu&KecSLtZ}F*pb_1UM;K2Czv!*5gw;Uq3{{_1|>F^oP`gnIt8cN%NI;zzSNkSVb>6bfjh{%SS7t16k)h7 z-C%$%(a#0PanNZ}(Jb-%5#QjBP6Wo#BiT{fYM)q`k2= zXo)HYtQVBv5yVd433lx@Sb=d4yufHL0cBau{6r}%lT>W6H^4z1p+iexWB?qLPNsNi zX_*F~+>SizsV`y9@{&{1C~qx=))~fEk87C|HkLxu@if&~e^(X&Of@zroppw~CTC7< zg`blEN7ei32LW)DN#2t_@|e*tDr8a#Y?St`R8|bIQB^W$HlRkyZ4nolBb@r3+m_An?4c22X@0`&wi1Uvo zh*A5L;otf*ZH%|*n7SH(G`wS-1Tw0Y?i7#HR}jdk6-M*Ic-68hW8(zHL9KdxZ(p`{ z01p|}ZeOlTmKmpSwpeX|1NF1zi&@41rod;@-jqRJ zEdv1O4tsy?l90_01*F{M{c4z{2rR(?_z!V61d=L-oj%6#dZvJeTk9x$a)1#kfX zSM0n5JDR0%vNz8IO?orY2QWhC=$;a>KO+4O-A=T-DGM2W=m;o0Pr}k{ih&(uA%YQr z%%R}m79t~KYm80-w|oS^WIPfT%ERDV0idX;bYu?Z0km9T9G{LSRU-hV8q9b=9UdF2 z80~t>x^SGA)}QGYM3x2{?gJW;WU#)>>w_B*e6$X&Pn`&IdGbIIg6T zTN~&YnJk}k6tKuC=K_R7i^o)k*WxB{tyx*yLgn9~8h}&Ibi&TW%j$gRK&-Ftr0$u$ z0x;fmLnf;iontI?8uBLMnq8!Rq&pWKc6pYDEUNTC)e( zxc+|4bOK4KQ$!oIgRnxoWPR)UYy!`aB2lZSWBp(6(2g!!I@$(27%;XBn8rKsUHhGZ zXEf;UKx4=bUzZ@HUooY>gJ)wW=rZf4MWztF2Xq6z_|`q}HE5OaGolCgeRW%P;qIDO zz6E8iWnAzXd#JHsUF*84B-1)?*7_iF;rUR?B9!i!=52611U<0qih@eO0f`a(r0GI$ z$FK#fnP~9klPGlD!$RkxTLKGsfWYi&U_13t3AAz+&a!yQK%r$S1DKOHj%&_g3iSmL zy+{CfVFBUA__M~eg_Q4YSa=p4hFxpa5h)x&I9NT)xF^EZ)B6q#xzv93eHHskwHaB3 zrmpL&{L*Tw$`I(l0fz=#b3#`m?Yu?Iwyn$yU{;l4^@W{ixnQN~CQ8ewaE~i!Bw*Ed zTCF1tBJKpg1#G$3I{jYjJ=XC>q;Awbn0cV-*5ryE5di`27l78J#1c-II_M)hi{Srk{{t}LxB%c;o*_lkp=M5#@U zW=G(-K6RrDp`4UtjpX3hc=NT zEcjXu+|QuS&^Fgd`;czicob#_In{wj)1$L`K58fdsO3oK)NM?V8Sg}{*qzzVT5K{) zK4zT_z&geidbd-28htoYJSqiun~$SrFxBp0)+&xW$R@L(BGwsqaD;bZzhWl^vwNZw zO#N&I_E;%KIUSy%> zyZr7ks9PUWw~^eG3$q^|#NFLFy9X@%NVIUzg1E2HmtfFr-XW@8A6M?vWNi2{Zuw~X z9A5F)G4I8_!@Z4z68xzpw5A`|a}w{2PZ2tPZAe+zKzhZ`m=X>bTT~rI)(6%Hl?ecp z@^w4zvMqmucf>?)Nc^|VdqENF5{}Zt{lE+841Yw5#ald)=C&P&V!ghqe`Yu_{)WW* z!22yJ2bv+uJL$X6MGVAoz1*OXSy2;i2#Yl{S%lJ09TVJEiGy1rZBP9q zJ>6(*xwVG)kSZzuIBsOlLYyJ=)#g~2X`rXdS#0q2ExxH%CitWzrqU~#UyEkS9IphHF_OazLv7BnSgy^$E}uNAR4b1*Tc#STIDxS> zR6Y&LafB3zG@1N+n8_Y(l9$}OBR{j|Q&5E$mYKiLcR*1M>|( zoyK$s?X?;GZd&#P2&p4`WHmh#RM|%H%UPeE2`i7{1`~w58hlsY%VFI1VB1)S@w+19 z@jsOsmz z3P{=s^*;$b1bFe1ozEQ<3l9~_8ZWd3HD4Vj`Kzy8Fi5czk4s*mj_cFbC*&-x9ngW9 zua3KHOVfk5^1C=6_I1ntwTX<2+6z2!?+(Z0>*(7q7qYl*w2azKHLuPi;? z`H5a#-3d(G>?uF^r&Sabx`h=LA#fxB(Xd3fB;tE-Z2lWxx2G+PNbbe5Lq+|W4?}7x z!w?i7ZG3Q`6E2Kylo?JBsT@;jy*9%3k%+aYbw)ASZ?|2wo#>7Af9yyf=cQTOuD?@Q zt15i|j2A zzh{#6cP;3mPwu9k(l>Ck%|df?^pf!RvGvfPFCrVTGySrBnb-6&vIT&M6;)Ec!0xr^ z@I$x$#gBjmYCkD^+ZG%*Tcp2xFj+6_K18WwYgyygh^Q?^-D)f>wxr(5ig@G{jMDLE!Q70O;m+hH8o$1HHaEOIxc!x?*)_Gf zs^QP(*5*bF)7(4}{%QI|eCaQ_KIvMg%ebY3z^MANXOw#O#>|k`5L<&xG5SHw!i?4o z*WwV@_CUSE%}wgop>B(OW2YUE7q35OJp&m={6Owp&9Kr{a)0jmY{Vl$htE4N4DDY9 z+|G`(RkcmSy}l~$dps^~0N4)_&L<9JGKx#xQKw(w&}g?W5_Db@ur1Fz3+E>fa97ug zqsMxm-xU`UK-+(GyUbS8_=ve>*`gp!^|{#JDaJ32RBqM?EB#w9acycb1}GEw1g0^BwN+FAb}e zV8oxMa;bL-)`LjTk_Or{fWx|Kfnk+zlo)G!0B;?7c_MQ)>JL`7r3)T&;jCa~5bTy{rNBvYj0o>M(U#U`$r@ZE~2JU`@ z{&9r$TVFKM80DN5dqt^=ZH;Yw|6TW$_uZ}TCi$S)4_ZI@AYU#0kg@7NY@YpLt01oR zCD(V<0PKR>d= zXzG9>?p02he5QJeXgEE7jY_D$lYiFnE7t9nm&Pp?j^C-v&8@4-uOi+a;=BgtA9S8l z=GORE71zv@n|tiVMrEl0qd`LD*Jp7jcE7~k1h`}kxEt7DWP4eakrJKwt2tp|!914g zMgUV?p`Mr_(fVsy;G^g|pET%3Q3C^ZK!JC|gZ>N6M{fD3f>dDxCmyw3k+uMIZ&SH9 zy0<9hwX<(zC*q_33j>O{bpq*8{j^CSJ_K3OmT-&!5skof&!#{zoJd$AjI#l%d%gky z(H5wX2dCSS5E_mg!PZ%Ul>Gk?DuqEwY@|qri~q1FGN8qIM%3~q4JaDI9|_C72u)vl ziD-ukPWy<&k#IsM=NDvw=PK!!T!{6LR4K=95GR6E=|jb0T`bFi^?Vf3+w}p`;82TD zd`)dGe>`mA!s(KjAFG4v^}&j%9psYi1uIr}dBA_xxS3Zm^{S&^8&77_%ywM%rR=$E znv@0>E0)JtD5Ooqx!DEP1!y!_K$I8Ns19mWC*X+s{sKcx&~mL)b5+uj#$ED!IXA%~ z)PA-oywx%dKfkM$+6Ez`OK29%m`2p1fHeccA*jV#1oh;3*XSM$J;JKtjUQi-2x}qi zEIio?u(|E6j@+*RHFO&Us7WYkAqe%Tq1RI(^*dalsRgw~Wz#4FS_?IQNX9auQF|F$ zy(|1+dvQ0DL{p|w>tY7Vs{^m~L>s>GXa~`Dg)qiK6r>u|^Ixe~fr8ZUa{79hMoRRD zsWnwWAYW$3(LL;%`ooK9Fmu*_n-C{7|1wz)GMi%eY0!9dPw~_Lht?}x4i;`q9p@_5 zlKGV7WE-Yp0$rdG8IEg>5=V9>2;N4cbF52HOLN{ z=274o#adlgnWsHDD%SQ#+?Mt1&J$D{Ftmtz5z#K{h3{`Qf_f2X7e%lzN<9ijouxkG zZ&G32Q-$Mn15BbPRJ?@RNgS`~q%K|lH0Ujr^L3_aOIM+}TR5J3n6lnD zXy{|P=&gOXO7{4e(Q+fIx1>OL{&%W2%wZq8ZJcl~tDuikNgQ?Kjz3L5@drCF408JK zGMU0v!gTBu{hke0dU(YSJO zL<5Q-pb-c#|D&reGN`-=>vIA61C@b8AGq=5HWHPQCCJjh4!9`0F*t9j$3JLQ%bD4r zjJh7>v#;&?fw}0>G~)Y%^jIizK^ud0{phivXhfztFX1As--C20zq-5y0|NehkVyt# zf5E>!Xy{K4B5afkW$5pIZN!Nennx73ND6*1K(J?dq3J@pjiS9cj+O=X`LNeN^IR%JK^U zw1R;NK&?-wO{+lAsB$!@L}#cIzU)p|K{~*{3D>CMxRZvgnLXj@PDqnNX9}S79pDEW z;lnMO79yF*$`L0FM6>BvF@CC>qKPPMB2tAbPx-O7j>%TwW>|?jnxnx$?qxhNzSxTd zG6IIyL|`J9o=By>2CWxw2~$SFaxw}xDzD)chuEaRd4R5>FP%hN+HnHnajST>)J#bI zwE!B4h_W_O9hSPN_Yknx0{j4nz?p#I;-fr;z%u7G%pS?@DTz-e(quvUJ5}a`VC02# zGk&9$FF}YjI%WujkRBy;VUK{mAzf|*elq8-+9q%cj3tQr46}7=s_(&ZYPkjJBeb^3 z$Yfns&*;sw87)mMV4Pw@Iwa%OK_Np>69+<(@S^uws^rr2#o5k`RK^Ax7+zS%#;nOk z#<4Lj2aL;yv_(X6>F2@`)^qFFeTrZH6yU(YONZ3YYii+Ogi-`XNvNux`gz&eJs@(FQ#X zi1v%V9 zy|9mHg6*Raq;v3Fu5ROGvC|>Jj&bAYm)Pu^HCQ~6HnQ3R zO{n;IBB%^EiT8xA5vzw%>wSyH004M-@p3nQxj}4T^}qFDXuxw%2Gg`LHO<60&HQPw z$dHefTBEwkln5o`W&EUyc243M6>4#h=#uqe1pPfw1&#e(ToQVi(}qLc|bt1@&#;_^^$6i-U|{r#v+ zxO~sTHr9{D`mnn`MkF0A(GPtBz7m|B)=ZLUUtmzY1|(GUFBm1swN)a^=ZEg~nZJgR z!7OK)@7KD{pMB|re z?a0?suN`j|8JTM1c0X-r%Gen5J*4bSmg#9wtbH;_9tl6#5C!+q_iG2~Kuf3N!4ncY zs6yU7^sBLF_vc~Tt%~#&ew2k5OlYHt|oRVmR zux>#FqiXZclr9jbuy8o6;wpf9Rg5#oF#ctDQH*>Emjy9|-xvoIvOvlmw~e zo^F_NRxeB5^tb5VUu7`ygI)VGcXHW>bO^tom?Hp>g#^M~dCr^Nu#Nvog|c2BXpDiCy_smTX&m zzPBK6&tCb=A6}8u(UG}uLi!ti@L|CU8Cu#$=8aZN)NWfTd;6CoeK}2em2B79R@$n%e5=#4E7gAqirALfo1Jh++g1rCy|%CBl^iZ zSeC7oKB4Meeut=~u7|>f=+FlibK^ug9he699!O3ai_h*d2NVgxZ6f3MMi*c?B{@~m z)DdX}&LzM_D6fA`pYDCKFl(Qp5*_np<9eZ#yo{WbULey;*CNASNV|_vBSl+`lroP{ zcXlN=esB^Mj2_{Gr>3p z1U_{*Ev;`(AD@hzg|@CPqeTLWMk9{n3CBerdFVOz5EI=~mOs1kLl~yWeBaky* z6&#>)BC#AN;2dUH}M9u1eB&9vW@P?F+7nEl-A5{ppCaq-u;CD)r{2K&cWQS+_B>vd_QtR4* zcC-$IK+4Xd2`sTtWGApiV`?H0o5I4Lc_0SmQzuEf4$!(#Fu`zG-nh*Qo%Byyg}djR__Sa89^C)@<@d950wsw!^>BiFqh zslN8MjMIIBt@H@*K)-)0SPoIq>DP1w|5@|36@)$fqJRh$FQ(bErVbzZA3N1IAr3s? zjj0$H=?+ugtM>PMU-2)c(+J|nGf*N4P%yN8L`p+sb6)Tcoq{j2>b9~yxb;nK8(ONR zM=9Y1cBLeOg~AuJmI>0FSoM`qrhnG0e&J2pW{91!_)SN|BOvgIP$#v#QkWd~hgUKD z$E#VifO;~EOC)n9ofM-k2w(u+aOvf0)HA)JKz%+mKMLLW^9I?$+MG^c4~Xa~qaO0pr;H*=mKG*Uo&kKARHYDh3yd3uv5 zB%zNtv^-fGqU9g<<4UK^SA8P%35j-!{q|MiF0=Qw?z1&QC`p4hL;Up|Bp_Y*N^t*d z`kMDN`;46>eZ|>cr&YnNw${|vVO?1kg6j&%$cu!B&*G&wbPE|B2}0)4X5Wlercd52 z2-z3CZe6r&@0ygrBq4t)2QCblghCD|T*GG*iEawLZhoHlw)#z-UwT8^_2z?Ngin4r z9+Gs2hfne~=Sc@@GF=vZIRoV$%=;_#bRKJ+`l32CRO5PSl%bbTkl0D{G*nJ5Zk~+Z`h6LGceiyEiElnKcipnb(RbFZH`Zy7QF8WQ` zugp;$gP|zTi=ABIsEXlNcD^YtLu!Rfh8QwH<`JdF|K}gcghb`Hq;0gt=W%b&4s zhcl>T3XXolycx>8X*~c2 zj2qE9I8yM}B}}=JDG}>fx0^AhqW{4CEYR{hHJ=cwh35+dls*DNW>OKFzD2K9S-D_d z3C{2gO?W{rutJ-x(Kr9_bhb6twahto*|{#QRJMyCIeIi}_>$Z~KqV61uo4ruZ$bTZ z@B*+V&U=|*JbTF%@*yL=WYg}slg+?5L;POJk1>+9I!(s%LuBv+e&&-#zLSb%XmA?o z1Rt=)5lmXYQ#}F$kHfMLSS=QMl*CSzf{T@S>Ifw|2AU(%Y{c&cJXN5GxPPdA`(OYN z1fdDs8q<`}zf29FYRDl5BnY7B`A0p z9GV5OhLNa)AqJJ%>={=^QE=QHcgh-55Kapb3ftm@>C^-ME&(gGhngkxHA|sgBzb=~ zSp0T_0CE-pDsZFDgk~U%N07Ll+P^zD2d*B~1;WbGvpy%V?pI7tiqMP#2+jH6ujL@l z{C6)0vT(D9FGx(IEA3<<2q9F*!n~iy2BmZ9bA4U(-g)96!LRYN`x*K{9J1E& zi37MSPeeOP9bn&%2J{{t0X-^87;l ze8R%_T1h+v`sUJM;XeG4q?}M31B9}>0YwY^U_-dGfh7yu97jhy8c{dP zdO%2d7mC1B@SCCVH(_m#gZR7`-vf`ypeCC#PvZo~2f)rQp|?x->gN$oBOTpGBsvBr zwicHR6gP3w0Po+76GY}uahC>>IRFq5?HP}J-ef>%qqf&{sA~^NA$gwA33xZ8J9IRO zI+*@qaP^DIFC^IxEpC%K=@vdt=f z;#YTc#*?K-L;Hn~B$3IW1JVc$>>(rVFa_PG`h`Ew&h8l7J}gVz@rCPo!|*&mu_G(u zO*!v%hlY3u;`0qr`DilG7)Xc_8qW}X5jG+_A(q?9%)KrZG4=t;YFU zWJd-ipIuo`C<|FWz2(KqV>A{PRX)ALhZ+%vMc<=nJzD>JMZkHe3Cal;5?(Aw8(OtIv+X_;_`=2La0x# z*HiGA{8;+-D{$1ag&%k}xUJ=xsQrU9YUBk&B*~m?LO>QesTV)3#OUd!*r*H61VaT0 z?h8*J1VPu~vEPDU^6xt8RzQLYQr!0@o}Z<1L1Q5l?R+xlG)3s_D)i8v1pdFrHs zs*I6<3<-Z^Yb5lMy0>Qu!QYJ<<(kyt!v9{6u9Iv!LIi%X<6eABQa*!+Btk#K7io57 zr1IfW^LLY-U>EA@jvd$W{%D!95gcp<9T2L2^a%&nO1R9Liq+#0E&}u}ca@tGqRQHe ziC}gJ{&F3lU0}s`CK+su zpDgeJZ?*78!o2!IB>xJ0-hg7|DEVq3qDFdZDh2QBJhyjP40r4x@v=|CQ;!!jnhCD4alP` z;IHY+E{c0rnw_X%DCI8B1qZ?kyg*E6p(apM7CN&03}l+|txl@fg5WC@-mo&?&r&3d zy67kS*(842>@|@?4NeLIh-1v{eW7mx`^iu@)C^IFa}S1y&ar|F)dd$wfT;XmCC^NB zt(J&?kmR-aC#ANFGZX74ACaE8RA@KhLexO_5-Jt;K8cm+3)@UeUsmsZTyALWK*j7L zGQ%oLC7S{=N>JrT+DoA74ax;}Inx7|?WYrDVyv+LabA?1+XP55DHmv^FK{<=1FT8P z8sl|~CJOG2^KpZA)H51XVW$JfV33iSy+#?D+BX-abpx0za3?7oJ*M24Tvkw7%oL6p zGm2#!u)1m`_+vV!641x1?J$b=+>fH9K|5+E=E0z?!OAS{9q0R^?StRjjM0Y$A##C@rvwrY2@ty=3= zt=8HNv8`y;YHO>t+DBWpt<{QHmsYFqxxqfq?|uJ!$!F$6GBbBM_sqHXp5=Rj^ZkI3 zR|BZM*93m-xC&;G&mtinrXS7+xQa%4N>gQ>m-8LA0w|t&6HcqFZmJGJEwyH99Bt>O zq2?(*UqgLulQ<%Yhc+7r2UwXf5g8XW61cRFm45_Q{$eRC^5(1oekLPGuC*6~tQ|B0 z^pPcIPWpU>-9vadu)HJ;4%hp5c&HPX&b>WXVIB|Cjm>uaOunqLRE%9IDPQg$T8vC@aQPS2r- z?DZfp9~pOY6Zyja&gj^mtK9CzA% z+X;t0B3K^KYy@N>scbhK0VU#DX~7#6a|XPhKs|>fdWO|IDZ^AT6-H@+^uLnvgF?|) z!=aJc@P!%W5B}z>(mCGa%7YDP{-NW4w#7m))ADWZ!6u$v|1n>ifQ?Ds#DqBeJav0g zM)!hsyo_}U@b!#n5MP$Rd$&}(ZTIvdq*UXHls}qOc_^`V+PM0v`W8G@ z@GR{PmcAu1$1TQ=oaE4H`22f`h*&S(@FZg3*aKyu5l|QrpZpr^%58ouGnQ7apVm-Y z8sy5fbzaf&sPkp<@4b;R|zri{G46{*f|2to*O?zqo_$EZ{QJt zY*m<)OFBt9g|NgD`_Ip`!vi-4eza#e^!XgnXT?S%uC&JRp{4nXXS z#G2`WG10;ed4AM)2ca`T+#7)WE}~!CwH#asl*ESsTnJiq+sS1a6d9ir_fc8_UO-MhM9i>jwPH--t1xP;X&shjNh-s-rpjfHHOCf*S59jDD-=H?E z*$SBpv3?b{%|HYWVHzyV5zcI$GI3&Mld!(FxjzL62QysQwij~y@#$nL7M;iG0T{$Y z0J|k#0V28Hnc+e5X~tLx{`W&O$C0*@UjH=r$>Q$_s~2!>k!5wZF?+j^LLU>zmra7{4vFOUN9ue zX=Hni7+aG_b#geW<^nB4+y1BMG{m?i3nD2h!4B~H;yrBOB?|0Lp=D@3-03A`Uq$WT zbJE*gT;$z@V#+>d_oIQ@U*AEYu2tZ7?r5BQ7CD4ejb^8j6&qe-UjL1Dssg5KB!h=T z5frnZR7$$N0rlU|am*gi({3Mbp8`JwY9lq-{PX%=rVTwl#fY4Y*V(t3*XfJ7GKE{o zI8`#2qtux5Dry`@F|WHWQm-=%jwsH{C>Om6cpXFJ9eg!{0tm}C_~9F~#lQaNxs*cj|HA=gZJz^*Da4sQl@4DX%WDhf zB`Mp$#KIBJA4m#?1KJ3a>3kTq!22@{@yU-W6oDiv#06$=N6>~YIDQIS0_HgI>mlo{ zfQ%rm3tWN`3`Y`Pw&YKV(vQa?-6^=^MR*uW2K&tdxXl7znEw8PL~hXhDuwRocF4E^ zDE7M;JmeCu6M-L#stqtwOy;RKd2;1%00ZF1;K1@O?h^5YEAUkXe;Ss{#ERc|M|;54 zI<3i7J9$cNa|^A!{6PfYJ~Ndsl4H_CF95u>t9hw>)CF;wt$A5LCQ$ZECj3(YU;a%! zU;66?_y;ie%T@g+F`V;7W-_cq3

|WC2iu$Ui1DGuXifI@3ArnIR`}BhXgTY*AZ))gYYa) z#0Zr}xlI{^c+P`4)04~)Sjjo^6QrqNf%BpR# zsv!>J9=0x=r{W5LdoM8kI#bTUzjZ30rrV}U{?ecy?KkQ45mD3ue z!u;3dlu8cnWM3q*-2eziKdpaCxs-Dne`a-ygrLBDQ*JTzbAcU)`fd(v+!LA^q|lV>3NL!JEi^^*2TP zLRTd3grizgzLII55*ih1OPt%7&==tR7q=^641Eu4l}|-A(k99!Q|gEMBAp`-H77IR z1?F`2(rfZnSGZl3sQe8v_@C|=7-|2?DCDP}mE1oqiTvrH_)U&E@$1kaLc>XLDqji& zAT%70I)Mrs{TK3HPQH(m@5AS;F0-V5;>r4k%BFm-zMFn-*oVn;x5>L42T#%olT!=i zqq-9012%G7xdkD&2H50tS6D)t<(JPWHK%aI(ZTe=Le^4>ln((gTK zD7Yv!|3?u0tSr~ULuX?kg_Cu{^)0@G*FSU|V)FBRo&>n0Z zNL4gj0nod$s=2(e$#;kuCiguh-^*gnAydla0Z21}YY@kww3^z6`l-U&rs=~cC)P}v zxZBr1MU{R`w4I+E8y>)2xlG1|5WWzG#7k&9k5ra*?O=t z|G;F4cBA;)_5E>&OeqJ%ogi%1S5^zV0bD%H5KEim%2w#p*cy3qja-|j4>JFX_20+( zn6LTeA)6y2j^hKA>v^@VgA>L`tO=_Hx6TO7ubI3;Nra2DJfy|?aiZjEEAJWAtA@`g zeFRZs1@<{3SBeo~mnUj0|LnMRbJ`xZJ^bWe+xfbIF1RfqTnZ7~^AHZgdx-M^$dZ5@ z`8W(1Pyn4I*HGdrSkJ71ccJbnKKH=)g1~;A?2-aCkgH@ND1A{@u;=!Kevm20&Ivsi z8V`@(CUhcYRILUcOouPbkQV6SN?#@xPB% zmq4w3p2s~W_)b&OP+M2uEN-YtO#PFm%En9c{^D96OfX7Mi@86R1E}hygz2KpJ#tV= z?TrE5CwiK`VQ#?&iJzE?ctfV)2h2` zYiqb-S=r1XN$fF^H>n3Utz(l#$)FeRg(fGHPW(#)G=X&DO@I2ts!i(Nmmb0AM_HMy zv23Gj1y8F_!imkD#Ot=QVWsqUlV*ZYJ8nYe8_I!LA0m|mTaWA(0p{h^?JM=Gc(%>L z;Ag1cw8MQu>Q3HzHTUje{c_PyChNM#D+WU?h=HSOH4MNSAb#Hnbqo3g13J*A0yqn} zfm}PXMqGi09}=U-v)6_MBt4lqN>SgXKEDRe;~@)QFpx1tSKzc}4GhRv&y%4m1t9jI zF9okZK2wsh9yZU~f}g`2omh}5S4<5`0i-#%$uVl*SpI>(mDjm5mK;eE^)Ir{y3k*n zi0w_f4dIR#vRw&MC3RmC9yLpppBV&-!ul^J4HgWe?0(a7VU=jW3v&eB^JP23S_Il1 z&KRBTS7*gv^$Yc>*yr%zO#?2bJ2pE5_6V}rJVM$X{el>|{qT(`_7|tchk@%*o1(Jc zyd_eU!2$2?dGi*kE4GFAyP_CZDzk0EtbI;q+K%wu;e;;(>iDmohaP&N7&DQxSTZ4P zlU|h&P8;%-*%Z9;%+hII}MG# zwx-GC>8pXFd5}BeRwfi3O}fV)EnIAFq&zYkK6gW7V*2K#Y*z^WYBagqX`hvP{<{NqIC3JO^m znOc5=fla>Z>Nqb%{AZFBInCqh(byJ9+9&!I1EjTR&;L4;MT$58rvRO%^ppW-2e7S3 z+43&*#GN}b%RNh&2JDbg~)-Lp0C% zG&s&LfQ2yxEkN4dC<_)Gl~kl5SiBCzu5PS%;cPETqds74Q+%KY$mdGfuV`%dTd-a* zshajdMW87`_c5q)d<~7frrJdaUaOZN*!*3r4^Bbmd};z6PzN~jg;+nwi3&jG>HRcd zxGU?B!%EF|rGh&@0jkcReOAg^uorCu?>dtAr?I)Vi5f&5!!m0T_@07}B9Y`>K($rV zasI@5z)%6WGSFCXDV}Q4vnUC70xU%xzHZ`H-X~fc>pFtO@Lz^IfPi2rT|h`7j9u@o z8p09TaLC~|^fI{sU!-B2<-K!nQdS9;qW5q_Nq(Le_6;SudD*3Tg(wH>4`QnThRy3K z9-3ELiol6a--u&8OkQcOr+BU0S`Ie4dTf5-e?ypppzwqL);zP9OkuE^?W+{UgHR)? zI+}USAH9(TaUlPbG!LjRvtfNRB2gS9hyxk=QX589Kx)G$mKb2WK1@YL9qvUqjL>6$*Vbxo@1?1LKZ~)E#L{xl6Ub;?r zXZri!XytC^dS)8iC^gpjJY53n-H8tFfQKj$9mJE#QG^rVqqE(9-dr14j_n0R8Wj6`Zd2+^nLkHoxei zF_X{!Oh48+vzIaUAd9RPXw{{27XY`0YUIHksGfHrePbPyg6dpd1)OV$%Wu2Nk|7}@0tJfE z$}c+m3Y~=nO~ipJJF{qbDFUbal13(;LCuq!S{Msc%4=jWhqRI`@6j-Lau2D6H0MLa z^(A|f<8$DDGCx3>Vu*l*6Daz?YHsj*$7M7KCUE8`CHv7JJc;u&)5wweIJsc@9YJA5 z6UU5z&550D4|z-nY##e7JUdu$(;-M&bHpV2eV6=Oo`7g~Gc`t~0$gsNk<$k?hgA06 z`~;@NIAPK^mj$_@(sLQy)GOQ?Zu<~$-KRot zVw(a-6cizM7LF;&EgFsrvaoy=HoAFPS#$aFLM)F0ZLE8Ed0s&tau<)pFdsSl&{KCJeBveRdGSx11M2F)nwk&;b;GGoI@G{g z`9K@6TEQ|EBDSf(wZFPuK(a4EmJU~;baH1v)lKBZU)@in!rQ_m#~sR{Qn_?1$aD9h zBvLL~bhK}uCfdQf#s71+PWm}uyZ(XgY&F7z!k*WB7!r0lM`&x^AvD=%mJ4m0!};=8 zPvg54>U0zRg0_VDyL_UP3VUv~IOXpNlzN zQ^MW?3I$#$pdU~c-n>Tmh1oH9?(@UK8hel3J9e+J_i?=b#Z=W`Y@aPWh*3mQVZlh8 z=%xz_ipttkwQk^@9FM!$n5%#g!2}}j^>75}T@Paw7*Wob7=~1mCil_-M#P1#^adG>8QG)wpsThxocdY1h{L?F)`7+ zUPMfS|5VtSe)=nAg5KAPjbef?OGB=)>&@Xy=@Bm{TN8qw5!<8#dF|rQG0#?%VA8I} z#!Lp%2Ycdw#$mX^F&$ewrWo#u^_=Rj1;?;914sDni75%#_FHZU&pbmWIfenEl@l{g zJf)=;Cr)tHPPa9V9Xo*4?=Bl2?o8oPUx~kMG(fvF3pu%YY`?q#TtQ=G#(p2EgmZplzskIFa1CYUG?ktX1cs!XyIj7~3 zCErq?P@>KcDGW+HNNt2)G2!LTte5p^g2d)Zi5O2qQf9o;@fpsn)#${H)6@HvQ+6Zeu~>@LTu`FZ_%l(wnT%Pwr5id9`Vr1^UynL6>* zS^+;+Q{E8HX?|HMy^Tlvnu2O=bD6FEMqu0T)J$!Dbz?(~t(k3s@XcCjJIDMARYYeH z6TD_v<_i9nU`YB{^-z@mpg z;vG5_!NtGfi1x!b#^mqNy_NY~{Ld2keOxmk)aeZc_lS=ZuTGH3{Km38PliXfAApY2 zo_KVTH;ELFhMnx2b%%};`yyxD3DWEw8L~}2(uk>>U-A^5a+eo21bmHxO+?wn?#$9L ziCAEu&G2`54(PE}8E-6~nT(C*0B*@r4mQc%@C zjs(JuOQ}YmC4(z){jB&8Vk)#h#juvn8=>u0RQSNmp_gxD(87~M^{M*cjAlGQ#fL;a zGMIDg8OOD&y3BD@TQI;x);42nM!X})p~dAhbq9bB;2Q^YKtKo>hbKzxAN`LGzZy_t zdp3oG_wJp3|1Tx>Rom~6ZvOsg#a}CqLb|U)XZ|(@&aQ zHRL}@AJgGb2FI%IL}cN$u-Ug`eRTNODvcN6eDGxfqd>%nLOMLTd~kRa1X*v4*uX{3 z@G6<&DOte(Es8XrwD}G+C$Q~-g>PYE?@WyrWiRE9ke0cb;-T5hv{I=(4zY}lDa{+| z5yva((kd;oUW_Bp6B=zoP=N6?u%{4S5tB_f037xRD!OYh6RTazMKvo!ax1m_<`7#1jgPltnD{gCt;<( z>jFyTfZ~FbNX8Vs4EHmN5+a#vm+uh^8NpZd)B+v9Ir3UBA%{p(?TKWFwu z`98G0|CJ|C1%~|?hQSzv8xU;A0Tz7+0Q*3UoViXn9y1bHQZ82_)w>YSDFayBa=ev? zXG9`r7z`PtsR^(q<}6MDn^nLe07eM-1^5#fG~g|V0=f8zW*hn?MsJa}5-#OL3gJwo zmH|>#fp0E?YjE)_9LI%l>cbb{M6O1*^8r1H0qzfUmD~~_7I+6_AwTRSpLhp6mhtU0 zYe$o??Sd|_fD0gPkvcC?P%rQ-an#w);U+$D5CBJK#Do3K*Z4IdKw12WE`!Gd&vy17 zWV8sAUKUx(ufr?`wKY|c44P}7}02DTUs>8LKA|BZ$ zgyRXz2IM)RlAQymzU@zze-qY&!vUrqBbh@2yFy1WxLty?f&4QAg6$zcQsxLUD`}mQ zvA>{Xu@0mckznvgh}XuE^f?DCqc)bUdOVNeJjbXYaKipZPvp)5&TDi;td-*-cM~cH zDn1O4LVS|l01qE+d3UvrDi#8)|aec zY|9ub-i>ub;hLM=O^SWV4=2Jtn>itE5vR2MOF4J(XhhQ96Ih4HdW^ET<`2}XGRYHq zIEHe8iWlIie-RWi_5*@~ET+_x4RhBAA5qjzx%@E2r-LL6lIq@pM?!&}(M#~iVjesj z4PO{TnBT_XeX~pM!*<9!@Dt){M31=go~>X~VEV6ute>b&kYKNUoAai9!rQy;W0iFK+Z$0} z(@1vp&$tiU95ktD&Te(LGC;UcaG!(J&F8TNF^^^ zWe;wfTlqTT(_?j$$sK+;^n9rODBKoFxN8rOqAYvlMc_aLt~`HZJu?(bT5E^$>YF*^ z`axEehzYf|8NOzf65I-A@T>#2454QH!M(t}#(fF%q|a{WNngX})sV{XS8h3!9#E8% zMi~4Mu}M1Vrq<5>wb|{S5EoJ}i>G8Z{@2_;0VFaK8&eS*?_{YAei)^pW9)Hu_(Snz zb1Z@*(8zoN^qjl}E?!9P0^ws>YCSK9TqL6109ByXa3UQZx{Kqr-g?JC)nDMp2-q5C z7B7*FOHDe9hT&lb39#ZRA7Z4(td#7 z{#AnNgAWqELwGbKVy>>PZTGcQR&C>(hpgZuy%b-wU}FK@*jn3kgRc+9Z<_mUGut^| zny(7*e9bj1(ENt4olznE7m)QE=Qn}bt+8%Wee)qc>V{NUICEm{mg;epG@96--kK>m zX5JuDbF($?dqTI=x<53VXJPG`?8JN3gGvcAd*+VzGX^(n4dN z>ibKfYk_!0*=D>3ymyWalrbRMqAN; z!*oy)543(QJO<0E=dESdhm}Z{B|pId+tTpQgfXthDnMpynJ+w94$ADGMURC+t4!C^ z)(fpD=WW9xQK3*16Nas`cZR8HpCqme^#`ES$x~kAbcO~wIH}?UfCetfLY@(xf+Fuw z4=RLwez7>;gGRUuhL@D)6>$n@p)zX{V1Mu+_Z4>?){e!*&GSJC+Vu#X->Y4Qx+RtQ5D&t>T^T znACWb6z@y`^*pG4mSL5tJ$$W)=0tAQ55(I5IYEh6>_(X34ggBqXWd zm~?=SX&!fnS2K~vS=%etjQ|q;gWyD1>M6gpPyRIXvmcDTRXZ%Fq|wLov4F8vpUyE+ z^3@BHl-cV<(p)M^9Hc5!{^<@mnWR$90mE0CH$+yZ83L=4uNeN%R5~{4zrn2Su#DBl z2^rB|8H8Diz#MHwF|=bM!yjUfp;egGK9adYDK+Q-Vo{FtVD36?nTeI3ie>G=vy+eu zeP_>i*NhiVX>R#WjuQb@q`C$CdidP;C&5@6ux-yDO7n-5+{N!U;OgSq$*cHHjn&in z+1&n+7r<-44oIaug;MR>YXBABlxeQ|2Jpm~Uc~mTcEiaFMVO;97#PGx7{uatr1UTS zX!Qpn@83l$S@{~!LcPy80A6Gtl6Dz~y7LN4u))GZKeDL<6>LRc9 zSrgW>1Hq4I54*>tR#fDG5>!80JBXW!#?}MKZ{@^V>V#ZY<{VEYO3~+()4Bs|KMBJ6 z3HSACVu#j|5rk#7w94H`qE#Nmbcg+*nB)~b`Xbd6%z z=P1>|?UBFju?>V&LRe`(`h4*E%&;qJT>v;RFdSqk8fgjYj3M1LJ>9Eva7T8$O$E!! zYb>;cZFQ6-E%$$WOrf#4jTXs?txsg|-w zuSGB?q{w_WjPrq(2GgyFOWXHR$YVZBd8j2+uE)BedV|%tLT2^@^8fQ#lktgcrn7j! zt-xo)WnP@0a%q0BNZ%c#Uo|r&MROxjWp};Er>G$PdhFA=2v-mflSUfmn&Tl7F#UD{ z&64~_Zro)iTNbJAJkq}R1C3>9ku#oEN3d}yF@^G|?#LEBuWvXji)-fZ!^=7&cP{H$ z=5_o`i>z+gocx40V(aD)hofrtqrvhjy0QO@75>lo-IYBS>Gm5vl^yY2p_QF4QkA|p zy8I%q?ht+5RaCsx)vrpINLut4oSu_Ii;$AcfTTsN|F-S^ph^v+r|Ncwh05g_V1}%kaIIZcJ9`>TVuP^2Z@< zQS$hjNcY84ohhMrLho?l*}&3R#O&YheoV}u8D zzSXB;R-LO=J16+V1VKpQYQ1W2r19ni=L^`YUyJ`hsU=Hv z+xa3PUahMSc$EfVnn}~qV6}uSR4NcNz`uR`gKdYq(*`re!ZAYjXU+YjGz#9~yGneQnsk+o83OazIXkhPYYPwz3c4s;Y}c9!|I zfO$Jcwr(F&A^I#z*7`$DG{fKB9pkrck6|}5zGy}%TlYco-Lh7FA!ZOH8@B*6$02Y)ci5m`h$<}$G?SLCQ{hOYuqXNx zp{<&IIM)9rzuN|lwXxl$$RESTv8;oQXOL`N-;2z-TuE9EM)LW#s8*0g`r;yF>5`R| zRHXT7NDnaAmtr4997NHR9<=U~wW`LvOCRvYeb7UF(5{PwzMLohA?;RW0KXC=ACrvy zA8-Tvkxt}SfVV%1*}fuXAOGRvU;DiWKEAUl$+(~XdXMdT&vid%@AZ?mw{b*e6Em@y zqGUH%2)wb!CH3@dy|uMc^cmiK>%*SSddi1&2Et`$;kb!_OevXAqd!ok|6TK~c=Oz| zx8QT?+SyYvV>@8ERoirq`sKRUo0JfjdLNbCr`dsV32x4Bx9<16ks&oK>gav%R!3C= z%pmXGqTaiuW1wW>u>+lvpt3CJ5Ls0+Ngw&Y%<0W;`j&IQEloGf#l%I5t{KesG`*Aq zxmp8DI5Zp+iF^?t2Z;q^HdMFbM1#QB+%A> zMT9W69R{RkJIG=4LHGyk3LuEv%DztghKZwG-*SVb?|zqAPlEu13RXk9M%f}2=Wkxf zI?4kwn3gSaCWM6Sr#zQJk!+EEK$WqZj$%Kv9Uh7@_*RQ681aCMXx$gk9VCPIpO6k| zJ&}OQnqg|75SB&CL55Cg_pAIq;crz?HSyZ@e^PHsr%>crW z@hcMHc>Vwm+|(vUh0Ru!89)2BFRD>x_L8d=;B8%ovLk{8YM4z#oL81q;&Q=F_Dg`O~j76F;g*7Sgkb036d+hqUO+CRStF^v zzuf(G?G;~Z)TbvC?;Sn(N>t;e#1{^BZO-?-aPaYiO_O~uxb^Qlve)@$x>JP@_T67x zm9)5P#}>1%Bm*Z<9;1V04OUCE=sL$a^C|r#Qq37Sk?x?4LnMK*xe&_RnRTD~Zn$%R zWnQ&v=6F2LmDLr+WHp(+4)s=URAdhqZv}($-_Dm4oeA5jKC1YTtM%Rp=}2CcXevz! z?o2ebjWyXfzABQRn;xmDK^RtH`e@b|ZXeBK*PFLQMrG!qN!3k(Xzuyg_a0x?YCDi4 zrg(e^mSOa~;mnKDuA3lG!hiGRY5s0xzJq^og=16gS8Z3|}k2JKNHc9ge> zbj_qIci}{cg;WKBo#I6@Pu|%5*B5PTS-<>iu(JD_)4-JhOnF;gWIuX86dj0`GO||t z66!`Y<*|K4dF4uM zO_UhzaZEyjhbsD7NO^KG^?*HbnyF(0SSg*v;+F?wp z`K+N@vcWvo2hdvBJgnL!KT%f#>aB@^gkwSoP*RHJYq6a%;BI_!F>Ss8n$O5&VI6E} z&WkMH8;pt9&w!H2fQqaEnGY;~P{C-}o>F9Ix6lH+Cdv0{zGZUcv?86vu-rlB?+ z>0TwI;=xP5aR^AX-9sUDT3|^L=@)%`@1EweeEUnzWXIq1MLJE$qdaGr2&*;TvS^4Z zNA(+h60D60Xlv*5;UlB<_me1Z++?3^Efc5Jk3fSe)j36+(e(5DT#Hyuz9rhpYdkKG%2ZU3 zWFMBdE4fyl7{`df)PfiLu@RE>R@USP!*(Xx+KP?!Xi@`gJFMSEcN!~OCN?&U&{j^@ z%yeyXT&mO8)F686&@kg0!Kta&#h>n1Qc^&sNuaV-pE8Q*XiEgeNsQDBsl-%IWTMi( zglDvxMd*3b`^Ru1gO0xQ_KABRi2KLIkE(NCG`)cUN*T*vfW^h=-03wCsXV=cBv7lK zHg~&%e-=w`oJ_3cuB=reY1&}1RW*JpoqZ|cpDgO{zw}oVw&q+l ze01F~^Sa@%%t484Bh(OZS1*T~L85mc8abNe=P_G$hKV-j{D4l-ADtd*(Sf9n3+PHq^r(tCt4{4;qqoobU zKqzHx)57MbJb#6DVELuJK_AISVf8B2KvXR}W}^j*C-Jk9*^QkOsprf96AbY<)$R2) zwKZQz9GxrpE+YXVXdX?c?#HTKL)3nDut+84xgZB&^^~fUq1qFzyR_-NyDHW0KUGHs zRVUN>FOs)BUE7vSO&?291o>ni2_W zCt7=r;0jlBH}Y}&o%TB?TDLI~N!4#jnvDr@N#j~vDKQoHIM!o(*C4 z_CQXitd1WmfBj{-lNwV}r_FGGpU~MU9OkTAN{DQG<+X=b39im1HE3s`%0p?EQ z>6tXpKu)aO0tS(xQKOP*MF`S2%J*Vt)3GpfC>6vxBj34*#fnun9#|y2d@)EL!EgyE33kCeYWb*lcGST&y-SSz$zsDTH=KmR;Ba;oZms%CrHcUsL73zfD=u4Po+)F0X1f+LVv zFw;=6E$oxZ$FnZ38#bpWvwf`VGd(0U>Y;ebfXV`wpvLBEqOE9I-`F&LaMS{)>cW>A z+hmP;Sa!3hWVuFSX|wE4Q&^*;`8OrTj+E2av)`06!qe8?nEtt{F{e^~*>pJU4_+NFdMGPZpJBq!rR;ZH zJ&WZ7ra6NLq-yfg#%*m$vm8saTo^N;tjO`N!&E^kI80pxFfT1&O(~Kne~f6A z`zFHrC@X8VWh}jSO{!^*aS>CfPDuPvVM=sxB5a9;k^^cKsZO-Vr8qqUZ7IQY2>n{9 zA0hGV|T`9 z**^I#qGVX{?9y7<#{-w49U5xLenzp_H*u^<3a%i{1Di(8(rQbl1kH-gkTg;Cd_`k@ z1CE#~tZ%NKr(K5?)t${PvQ}-8j+r8ve<~`JmbF^L7ty=m_zS0U|E3|Jg@EJ!}X5-}7k1+^^os4;`uGg!Sj$o@)l${aM= zc$a09w}m^iI`fBS@?RJI89`Yf&^#CXVj60BS40c6+ot0PlnL+-SW!6%jfIRj4bvx0@&ky1Zz6>7$vULNuzW#M z{HdtSev?e#(uYOdfxhl5L9t)GnZDDS!Re4mVkCre_ zG@c18^}(vd8f*tlwtaw?oo#Xko8&WaprN%kHTtX z_hZ}ZT)JeayZp8W5N%Oq^|;!aC;&kR>XDaXA{r?{0JMfu$X?|jwdv1;x77Tj*Ba@v zSCOdcflx>f+r)q(I=I6gyer|LmI0%HDC{ESpzVl*bb88YZaLp{1R1D7`}EYHHw*&w z;;|5F(DJMzt?0UXGUH5S4cM)x(vPIG>3A?4pPFQ-_66{Wfd7ZHCREOmEkI-tNizcb zf3<2QCK^Y?h?-!>RHkZA0kyEuCGyE(+B-qi8pFZ9@5A{e5a8|)tgV}6p)g_cA+)EF z5ux`?(&|J@)F2cE?qN8>&c?Ei(4J7*ZleL_BiBwANJK6m62k`QtrB!^Zr>bA(9}QX z_8Aq)9=@P&6aQFN#w5(0gd~{~9#fJb@tFJWVr%U$Y@qDth9sgxgf0L?z&O^WeKnACEU^mCfRd`^72w}|qB zVl&u6Auc0wQO{^KP&hWPk-$_)*4U!oDDQIn(a26yMMP|TB*Urmx>QZr#;WBWZAfRGnm^@?UDc)g-5mp;rD_%KN?p9m4ijtSK~%SNBqbNB1a3gJDa9_%ONZ z0T!mKJC2U9+Y@HX?LB;Zh1$+Ieg-cj7q-0Cd1 znj$Rq{e-p8u&#NMmEMz^f~UPi7T0Y{F>!G8C9d1nCyC*Xk=C} zx@gh@k^?SpK2W-CA?acZsOWiTPXBq@lxbec%~ZXkAd0Q0&%E_R(ki9bwq1$d?@^k4 z=8endTa6lC%m`H30M@x^MP|+P2A#>2vtOZ0YT1q7rp)SN2RHH^znJdmGcOvFa{AxC zof(gAuC~Vm+#=^Lx0Xl6s>ZO%w~dZNrEy>ioAoo#HXIvrbTbLruftJ}fHaR5fgaOO z$P?%P{?Q$M%-jfjGCR^sdB^Rb;%0>AemY#wrcinp|1jm9gg--S+ny9-acwnS@3W{k zXPu#}R42z++63!FHA(~12?=5Sb$XOzFlEh9Wzq8u5X_!Mt6^tjaMdyL`Gztc9W~M8 zi&D}WCZ|8WHv2f_@Ls+)L`D6VlFXZ>K%M1 zN)Y)X85}jN*V-1s;H+ChCQzUP?3m(tGwyMPBN8cvx3WbNhawfZwbOI-N|d7*+E`=J zD}PNfwu6gJNzKEd-Eyi!SZCiatJ8dX>v`dWXkdaqK+NEu z0T9!79k}XKd=c!Ew*3V?qk0N@sM&s0mR~YF12nb6VPo!rbvuEav42XmW+(o?S~H4^ zKE(!#qdN@k4?yTVLNJ13mV(O?v>zM-{HGM(o1M!3b458{4^&NQft)tAxTNMXXCkkD zQirIScv*3}!QW~rjsaa{Q|0t#o{ff#B>FcoJCk(@(Of3uupHUfQj$X2oOKZA<5iGf z7_GNX6>9cM>BWUeo-aP!NTy0I-HM8}Hu(%8{Ysdl}It!+^fZyDC_ zQBG#iPI&xRGHRr+bCvO~8x=bPRSHpBl$DZ5 z42%s$#0-jxiZVo*U!+2lU5IB#Mxpbo-DJ7 zFAQ_(_duAeO&rsoFJ|xk#PK`HL(Uv~k< z`XCGcD3zNfn)!z~j!I{c;Kb(h zQb= z;qTr*)omG`9B*DBWtg6E<13yyL0qoF2C=CpBR>xn=9T8T3-U@}_iud$$GD48v3q0* z@nG;KmK7CiQI1pOb`=cwlu)8QrkVea;ZjI!k5>F!$Ba9x6KgQv8wSe9A^f-lDk`;~ zY|&%RPv|bUE^Jm1`sOD3LoQ|bT&b%*EL65Am1|+_bxLZmEG$a3vY)Q*-*Q6`lzE4g zTMj?ny>oYXS%-jSutjUM+~nAfilZdHP>Ij%RkO5ORYScRaxjX86+~S>UGu+XkY=HA z?Sa9+ik`l^)~tUj9SjOTa3iA!u?6$>g^p082MzU>j>NWhdI~SA@IuH9CgfB|81PQG zZaNec7*o=YOYNO~Ty*m8_&rD^$JX1R5Mhdnyf|hmx46_*g7p$gdOK1b#{XHJK%JW} z{T)M=UPpN{o#-t>d4-TUfC|-tFW!?S02-!q8L!e#)W^?9&HhV z!nKw|>`a`H0!KESj$phV$%ol=ct4a35tH>vBNuTvry37+O?3P#6j!_>J#iVJy8%Jxt*lsxZt1 z&g+sT>cHLkNtvXPlUGZSk2G}f{Y&;8a+^5xEE8s(nv?ZW?X>4Q{JTtDit*(-_EFH1P=Gk{G*U+~D1uIZpC)gQ^5 z*9-u(W81sx5c|hardT)b--1cYN3D5M@TkAWsKoca3_UnT6_J-=yO>9X$?n|BU6)bTVs}_tC!y?>?60okeXMNdEz=qWZ~L z@Xugwgc=MG5+lirqH3M87+!q*92~1Z!0OQl2CP5Lk)7fH!tI|-O9t8ElvFV43Jc`R z3Ur0^0?F3)y^QxBK6p6#6W0fgwU0QGh?nU*>s`lxL+D+76*HOEb@0F8%^lfaqFeJX z9iV}rh3|WK3~GJ&Y}jvzGK5^am~FkrP-C^60l&Fy-GATP5{n{2w|ci2yTjLsNBpud zD1&mo6ny+I2^B&;W8il?1>gKzBxwqovM$h`sYv`!{P){i9_gKyIrMd^|1&f&UK_Qt1!?QGDnhdTZJSHrkYrcY6MNy&WY`FXBAR~ zm`bt=43@8hE%MkfUJui4_8KHKRUL{RW^}wStwC%scg0C7;1w{)k16x*3J0!A8_VX2ujj)QfzDZ)}lBu<-O z0GLL0hMW9w1LY*O?IN(7Q3qU0=6+=4id!lbHJZ+=Rm^A_rDPx;&g}oX5Sw-Xr0)a1 zX)mf?DEo8dfYm~sH^2^K3Ii^xGBf`qQQDq%^=$i-ElgqrSlfqF2)|2|VneHC2U}hxcEK(AGK*^`=8pGp{p2~nqWLfiQSRah3NrbuU#L;=Hw zrk_5`;$V#G_x~drHf!4HH$?lS zdaI*9v&wi`%bI*O=l!-Zk=NzQaI4_PESA_-p7Voc%1`N7)5?{1PVG3y4l;EV3}y}F zEzg40sey;zto&>IHRK}G@kNp$CZ92}?;00phID?A3~Z(U3wB~vj!NJY_P}J=gLOf^ z8R|i{xzBhk(Mv^y-vs(mOdjCkqa3#mp3Ss3t5W z0~VLA)Fjm2pjwqJj{-OKjNx&`5!IntJ}}8VU@AziLq3b+IgGWTJtlsc@+C0QyHc^4!kgvJ5npj zieuUx&^$?*EOWMdqWPOs8c;6dv2Hs99rP2A6*}ll?HT`bYl`#Kos~?MAS|tO50E&B zb|e^f_ekx`rGRvheOl8s$(5Q4OmWW^N-HsX<)BU#-8=Qjc~UAo@NcnDJ5nh+X}6qY zWIdxciYoj+)a`E}*irFuFW~Yn|5q|Lg={~|x92h`s{4vNWOnLSCLQq4dlL6yPPwC^ zN);@$R6pvd0;lc%-!khmHx|eCRK^R9FJ7v8#A!z^cr0jP&t|%2b;`^X>K~Hq_xx)~ zlE_!VDv~UJWhROK&h;}a{;#~BzJ-=L&S7~=;d;RHqyW~Ec~UHa$}Y_WZ*;-Nue2I4 zXI$d)Q7nGaO055k+0PjMbUnZwV#V*Shvd4*bYFECFKij>T4?OMRj6A&x<=Y=;r z&fg6+eY>!MU7WUq;Y?TYoXHWR+o3S3_9qlJNXKzllWg`B>^jv96LMX-q9+ zoHDJM&JMYOQ5rJ;!~N$47;WG1xMgs#)hG@Ql)eb>rd>WcK+afvj>Gn+7;P(Oj2~J9 zg>r*lY3TA_R;&>b!_@&~6}I_$Rq(T}GfH$C&aDfhNqu}$zBOHf`K zyl?|Pb8Cg^U777f`UQ8}4V!^$gs)WOI<1^DGQ>KrBis+1YZu!5tgLe=7?-S41@vMc zrL)@50c@)C`cO8D_LD~%C3SRd7OOSWwjA2TCk$dOaB+eh56wm;29>?Nip zr_lXwritM50q*ot?O4hw^pokrZf?t*Ly2zV#SpGL87N7<#tNoJ<5XQ(muOS$M z81JDFZv^6DW8HiN;vf=SH7wY^2z=MQbVYST zOao$u=D|S>NKKbu^k9R-u)z>6Sa7oY`w%P_u5@~b5KoN-0D)tWupdLNN!tS94Cm`W za0CHAVcL<)z8tY!gUIe-dLytaE74+;zhQ>BkGSCrN1#N&#!EoMkTz^A=tG?!7}g?! zu`u)y3CX_VOWMN^cJN+sU7jtiDJdC7!Q+?HHN}3FeJFv@%qFAOXr^6KkFk%Au@=Q+ zR$MLkF_oQK?hrw;|r&_bqx=|1jIFQvRpQozVg<+2r%LNw*o7y1iN1t-G z3u=>C;4I%N2pN^PYFx2FoIGEk`)!GUsFbM4O)1J4kvAa=3=0zFt0JiGRh;AjuWWyb={6g>*H3A}P&_Z(twfr((U>#B*wkgA@ z)jUQs3MpF%l!dM#hb(DL6Tu(w(}*@- z37l=2tRy%-Y?VKLd_TB+)8EraF#KP$^%PrAz=dquO3eU!W&;Gq=CtMEqVkZ3%=ZGe zA7gcCZ_<(0l*3df4p2H7Yj=p|c#&&w(%o4s3QHar!NL*Ta5<~0)KT5x@99b(NlYel z*?%0g4hErj%;3NydGNxmb03TPzW8V@eu8rsP4i=;UxjtVF~z~dlVKPEXns8%T3KdUyfs2WXRQe6w@|byB8aM5jF!%6V{D@+rCmA+c1I*;%#aEe26W+! z@zgd7PAlg5n{6rx5@C7ZTza~tv&-?c#FRO4F5`#Pnqh9`4_dsD;hh4fcM57u{8Tucjw!h8@J8VW!ydPhACpj(0lWevsN;JbsT)iD6|t}K~AM_g3M#yx>VjlF?s)i-?IM0FDk z!P^fS{=dG!5+I2bU|$TXwnGRZ1A#m-@EjwMfLT`ZB~`og*yi~Caf`-OkF^f3;TpIG zsV8xjNt?K8WrK?7w21+lSCV1s4j<_9sO`$fRJ(JmwdrY)n2YTp(Yq{yKLZCR=s!sx zoKPzLLES`G1?p78LoPpbZfo^8@M(Hae#zq3I;>E4DAzl@JXku8EPfr;K*jhpHvn`a zGSD^LUK!DkCg$+Q;06T7I%6_Fz%KiAxO~{|f?YkaH#MBV^nLJjzX{tj0Tz1?4ZVY?`8itdj~Qx$lvgFU5v^YemZ4A z3;DiV%>e7+4{v

|$&f%ZC&LMj2z(7gdGGJ3M7Qp|%y;_QUb#Enj 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�LMc1CdX5#Mv4@j{YtT-D1wMVf{qcj%p za)7qL!XqA@sUvy_87IJUpCda3xT0e(m>+R&f8!h==a$cyx0zUB^>AVzK&Fy zNpCz@g7;ZGSrq1T(#*y9n)^Q6Un5s@4TdE}VY5KmXpH-O*Y?|P`||`UQa4F$3MG&bqZL{l29zw z4zac;w)h*I7@)cz!tq7hd_xVzyn^PTSR@&e@;BHakR`f)KkL=R_InX4NUnqI<`SFL zy8I^5hiZl9!*(kVA6DZ=if*}(lUw{65-zx+xo-*XL-wxO6|FRXs1sc!Z}eZsN@EChl6kFa zzomt}W%$$|$k<)PXaH|oBM>^JnG=&>PLkXe)3+%z-NN%Zw19Y_F_{Dr+hO)XVj%MT z$hGD;QmK>Vl?ylVH`Bu4pQ^P=5!Z{OVRe4}a8{fc!*aBn)D@kjhoQO%lca()yN#BK zZnA@W6r7n9>qyjLSnAh&lgr?vh4>Mg!`pP#iJbXtvu>%M(!j>Y=QsZf0@BgK#QXkU zXzyhmN$#XCTYL8@ZITf-KA7Uk3s9Yer>4q0hk=df)f{nrKb`0AjCf*t9$WXc8`%(UUwhrjp_yNO!C|4wW~X&`7*D?)k%6-8D3nRK|2% zW>5$gyCR{LUTa%gZ5xV5Lx~9cja~G(YD|UR$_wzQqM)dN8Er#LOJ0EC_$cTtV20R% zCulqxPZm`Tm5e*i2>aVcCV*
@@c*0KXb&n2ngAd>^-MK1LyJ<)%1T+^5?7N3c| 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

+$#>Data Module
+
Overview
+

+The data module is designed for easy, rapid generation of vehicle system models. The
+
The data module allows the user to enter data, read in or save models, create new models and adjust data in existing models.
+
+Icons representing the various vehicle-powertrain subsystems allow the user to view the data for that section of the model and adjust, add or delete data from the model. Graphical features allow the user to view the results of changes to the specific data-set and adjust data as fit.
+

+The vehicle system model sub-components and relevant icons are:
+
+Vehicle Data
+
+
Dyno Data
+
+
Tyre Data
+
+
Driveline Data
+
+
Gearbox Data
+
+
Engine Data
+
+
Hybrid Drive System Data
+
+
Driver Data
+
+When an icon is selected the relevant data entry window is displayed with various vehicle and powertrain parameters available for editing. A more complete explanation of each of the model sub-sections is available, eg. See Vehicle Data.
+
+When the user is satisfied with the model it can be saved using the save or save-as icons in the main window toolbar. This will write the model as a *.car file.
+
+
Additional advanced data sections are also used as subsets of these major data sections.
+

+


++$#>The *.CAR File
+

+
+The *.car file is an ASCII text format file which contains the complete model specification. It is arranged in a logical format with a section for each of the vehicle subsystems. The example below presents a typical *.car file, in this case a model of a Lotus Esprit racing car :
+
+
esprit cardat file
+race esprit 400 hp
+erace 206
+VEHICLE
+ 1200.
+ 1.770 0.3700 1.900 -0.2530 -0.3030
+ 1.205
+ 2.438 1.533 1.624 1.414 0.4000
+
TYRE
+ 0.3146
+ 2 1.400 0.9500
+ 10.00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
+DRIVE
+ 2
+ 0.7385 0.7385
+ 0.0000E+00 0.0000E+00
+ 3.500 0.9700 2
+GEARBOX
+ 5 0.2000 0.0000E+00 2
+ 3.363 0.9800 0.1000E-02
+ 2.059 0.9700 0.1000E-02
+ 1.387 0.9700 0.1000E-02
+ 1.037 0.9700 0.1000E-02
+ 0.8205 0.9700 0.1000E-02
+GSHIFT
+ 1
+acc
+ 1 0 1
+ 1.000
+ 0.0000E+00 7400.
+ 0.0000E+00 7400.
+ 0.0000E+00 7400.
+ 0.0000E+00 7400.
+ 0.0000E+00 7400.
+ 2 0
+CLUTCH
+ 1 1.000
+PDRIVE
+ 1.000 1.000 2
+ENGINE
+ 1
+ 102.0 102.2 10.00 4 4 0.0000E+00
+ 1000. 7500.
+ 10
+ 1000. 7.000
+ 2000. 12.40
+ 2500. 18.20
+ 3000. 18.90
+ 3900. 20.50
+ 5000. 18.80
+ 6000. 17.80
+ 6500. 16.78
+ 7000. 15.10
+ 7500. 13.20
+DRIVER
+ 0.9000 0.8000 0.6000 0.0000E+00 0.0000E+00 0
+
+This illustrates how the data is split into obvious sections eg. VEHICLE, TYRE, DRIVE, ENGINE, GSHIFT (for shift-strategy), etc. A model is constructed using any of the file sub-sections listed here:
+
+
"         +VEHICLE          +         +         +
+
"         +DYNO
+
"         +TYRE     +         +         +         +
+
"         +DRIVETRAIN       +         +         +
+
"         +GEARBOX  +         +         +
+
"         +GLOSS
+
"         +GSHIFT
+
"         +TORQUE CONVERTER
+
"         +CLUTCH
+
"         +ENGINE   +         +         +
+
"         +ENG_SCALE
+
"         +MAP
+
"         +OPTIMUM
+
"         +CATALYST
+
"         +WARM-UP
+
"         +AUXILLARIES
+
"         +PDRIVE
+
"         +GRID
+
"         +HYBRID
+
"         +DRIVER
+
"         +AERODYNAMICS
+
"         +HYBPOWER
+
"         +HYBLOSS
+
"         +HYBBATTERY
+
"         +HYBCONTROL
+
"         +XTYRE
+

+A working LOTUS VEHICLE SIMULATION model must include at least those sub-components marked with
+The user is able to create *.car files using the text editor available in the File menu-bar, though the LOTUS VEHICLE SIMULATION user interface makes this approach relatively inefficient. In the following sections that explain the details of each data sub-section, reference is given to the correct format for the text components of that part of the *.car file.
+
+


++$#>How to Create a Model
+

+
To create a new model, select the file new icon at the far left of the main window tool-bar or File / New from the menu-bar. The user is prompted to confirm this action since any current data will be lost. If this is done a new untitled model is created and the user is free to begin entering data.
+
+


++$#>How to Load a Model
+

+To load a previously created model or one of the supplied examples, select the file open icon
from the main window tool-bar or the File/Open menu from the menu-bar. This brings up the standard windows file-browser.
+


++$#>How to Save a Model
+

+To save a model, select the file save icon
from the main window tool-bar or the menu-bar option File/Save. If no change has been made to the model, this automatically brings up the browser to add a new file-name. Otherwise the file is overwritten.
+
+To save the current model unchanged or otherwise, select File/Save As from the menu-bar or the file save as from the main window tool-bar. This will automatically bring up the browser and prompt the user to enter a new filename. If the same or another used filename is entered the user is prompted to accept overwriting of that file.
+


++$#How to Change a Variable
+

+To change a variable in any of the data windows, use the mouse or tab key to select the relevant value box, and type in the new number.
+
+


++$#>How to Change an Option
+

+To change an option, for instance the type of drive layout (Data/Drive/Final Drive)
, use the mouse to select the arrow at the right of the display box. This presents the available options and allows selection from the list.
+


++$#>How to Use Spreadsheets
+

+To manipulate data in a spreadsheet, for instance in an engine map (Data/Engine/Engine Maps
), first ensure that a map is available. If not select Option/On and enter the required number of loads and speeds.
+
+To copy a section of data, drag the pointer across the section and with the area highlighted, press the right button. This calls a pointer pop-down menu to access the copy option. Then moving to the desired cell, select it and repeat the menu selection procedure choosing paste.
+

+


++$#>How to Create a Detailed Hybrid Model
+

+Lotus Vehicle Simulation contains two levels to which a 'Hybrid' vehicle can be modelled.
+
+At the simple level
it consists of a conventionally defined vehicle model with the hybrid portion providing a simple energy storage model. This simple model provides limited functionality acting as a 'range extender' with settings for its minimum and maximum storage capacity its charge / discharge efficiency and the maximum input and output torque's. Whilst this level provides an insight into the possible benefits of a hybrid vehicle the model detail is not adequate for a in-depth study of hybrid component matching.
+
+The extended level allows the individual hybrid components to be defined in detail including, a thermal model, efficiency map and performance envelope. A control strategy is also defined that controls target levels of battery charge, auxiliary power unit (APU) shutdown, allowable rate of change in speed of the APU, the aggressiveness of the charging regime and a time history smoothing function.
+
+The components available within the extended hybrid model are;
+         +         +APU Generator
+         +         +Drive Motor
+         +         +Drive Regenerator
+         +         +Battery
+
+To build an extended hybrid model a number of the conventional vehicle data modules are used as well as the unique hybrid data sections this provides for the greatest flexibility in defining a hybrid vehicle.
+
+The engine data sections are used to define the IC engine that drives the APU generator, thus the data sections for performance, maps, catalyst, warm up, etc. are applicable and can be used in any hybrid simulation.
+
+The 'primary drive' data section can also be used with hybrid models the output from which is taken as the input speed to the APU generator.
+
+The 'Gearbox' should be defined as a single speed manual transmission, (normally 1:1 ratio), this does not provide a connection between the APU and the final drive, since the hybrid model is currently restricted to a 'Series Hybrid', but is required to pass the data checking routines and avoid the gear shift strategies being employed.
+
+The final drive module is used, the drive motor and drive regenerator hybrid components being connected to the input of the final drive.
+
+The hybrid components themselves are defined via the four data windows associated with the extended hybrid model that specifiy, the component performance, the component efficiencies, the battery charge/discharge voltage model and the hybrid control strategy. Some of the components are optional, (i.e. the drive regenerator), and some components have different levels of data definition, (i.e. from single fixed value to full 2D map).
+
+
+


++$#>Vehicle Data - Variables
+

+This window is accessed using the Vehicle icon
on the tool bar or through the Data/Vehicle option from the pull-down menus. This section is concerned with the *.car file titles, the calculation run number and the basic vehicle dimensions.
+
+This data can also be entered directly into the *.car file through the available text editor.
+
+Title Variables
+
+
Main Title (80 characters max.)
+Secondary Title (80 characters max.)
+Test Number
(80 characters max.)
+Results Counter (integer)
+

+Vehicle Variables
+
+
Test Weight (kg) - Total weight including occupants
+Wheelbase (m) - Vehicle wheelbase from front to rear wheels
+Front Track (m) - Vehicle track for cornering calculations
+Rear Track (m) - Vehicle track for cornering calculations
+D.C.o.G (m) - Distance of centre of gravity from front wheels
+H.C.o.G (m) - Height of centre of gravity above the ground
+Frontal area (m2) Vehicle frontal area
+Drag coefficient -
Vehicle drag coefficient
+Plan area (m2) - required for aerodynamic pitching moments
+Front lift Coeff - Vehicle aerodynamic front lift coefficient
+Rear Lift Coeff -
Vehicle aerodynamic rear lift coefficient
+Air Density (kg/m3) - Ambient air density
+
+To view a diagrammatic representation of these variables, select the graphics icon at the top right of the vehicle window.
+
+The vehicle data values for drag coefficient, front lift coefficient and rear lift coefficient can also be defined as non-linear functions using the extended aerodynamic data option.
+
+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Dynamometer Data - Variables
+

+This window is accessed using the Dyno icon
on the tool bar or through the Data/Dynamometer option from the pull-down menus. The section is concerned with the load vs. vehicle speed relationship applied by a chassis dynamometer if the vehicle is to be simulated as running on this type of test-bed - useful for correlation between measured emissions testing and simulation.
+
+This data can also be entered directly into the *.car file through the available text editor.
+
+To select a dynamometer model to be included in the simulation, select on from the options list in the dyno window. To remove select off. To derive a curve based on the input vehicle and tyre data, select derive. This will automatically calculation values for the variables described below, though the user is free to adjust these as desired.
+
+Chassis Dyno Variables
+

+
Inertia Class - Dyno Effective Mass - Inertia (Kg)
+
+
Three curve fitting constants - Define the chassis dyno load at the roller periphery via the form - Brake Force = A + B.V + C.V2
+

+A - Brake Constant (N)
+B - Brake Constant (N/m/s)
+C - Brake Constant (N/(ms)2)
+

+To view the calculated characteristic load vs. vehicle speed relationship based on the input variables, select the graphics icon at the top right of the dyno window. The graphics window pull down menu provides access to options such as autoscaling (To bring the axes scales within the boundaries of the curve), zoom functions and printing.
+
+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Tyre Data - Variables
+

+
This window is accessed using the Tyre icon on the tool bar or through the Data/Tyre option from the pull-down menus. The tyre window is concerned with the load vs. vehicle speed relationship for tyre rolling resistance and the definition of tyre rolling radius and efficiency.
+
+This data can also be entered directly into the *.car file through the available text editor.
+
+The tyre model is a pre-requisite of the simulation and hence cannot be switched off. To select default Lotus values for the tyre rolling resistance curve coefficients select from the tyre data menubar the CopyData / Set Rolling Resistance to Default Values.
+
+The tyre data can be defined for both front and rear tyres separately or as a common tyre. Select the required setting from the options presented. Selecting common will display the data currently stored that will be used for both front and rear. Selecting either front or rear will display the data to be used for that particular tyre. With either front or rear selected this implies that the data stored for common is ignored, and the required data must be provided for both front and rear tyres.
+
+The common tyre data values can be copied into the currently displayed 'front' or 'rear' tyre using the menu option CopyData / Tyre Data from Common.
+
+The tyre data window menubar option Extended / Tyre opens the extended tyre model data window, that provides the option of a non-linear definition for the rolling radius.
+
+The tyre rolling resistance coefficients can be edited using the spline list and edit function that is available through either the menu option List / Tyre Spline or the spline edit icon. This provides a tool for listing and editing the spline in different units, any changes can be saved back in to the tyre data window in the correct units.
+
+Tyre Variables
+

+
Rolling Radius (m) - Note: using the tyre unloaded radius is an approximation - more sophisticated approaches are possible (eg. See European Tyre and Rim Technical Organisation documentation supplied). To define a non-linear rolling radius refer to the extended tyre model
+Drive Efficiency (0-1) - Tyre transmission efficiency - typically ~ 0.95
+Coefficient of Slip () - Coefficient of friction between the tyre and the road. Typically in the range 0.8 - 1.15. Related to tyres resistance to wheel-spin/slip
+Rolling Resistance Coefficient (N/1000N) - Three curve fitting constants - Define the tyre rolling resistance via a curve-fitted polynomial of the form - Tyre Rolling Resistance Coefficient = (Constant) + (V Coefficient).V + (V2 Coefficient).V2 + (V3 Coefficient).V3 + (V4 Coefficient).V4 + (V5 Coefficient).V5
+

+Constant
+V Coefficient
+V2 Coefficient
+V3 Coefficient
+V4 Coefficient
+V5 Coefficient
+

+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Driveline Data - Introduction
+

+
This window is accessed using the Driveline icon on the tool bar or through the Data/Driveline option from the pull-down menus. This action will call into view the driveline sub-menu which provides access to the various driveline data-windows as listed below :
+
+Torque Converter/Clutch - Options for torque converters and clutches
+Torque Converter Lock-up
- Definition of torque converter lock-up characteristics
+Torque Converter Idle
- Definition of torque converter idle strategy
+Final Drive
- Specification of final drive system, system inertias, transmission efficiencies and drive ratio.
+

+This data can also be entered directly into the *.car file
through the available text editor.
+
+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Torque Converter / Clutch
+

+This window is accessed using the Driveline icon
on the tool bar or through the Data/Driveline option from the pull-down menus, and then selected TC/Clutch from the Driveline sub-menu.
+
+The TC/Clutch window provides the user with the facility to specify the type of drive coupling. Currently LOTUS VEHICLE SIMULATION supports models of common Clutches and Torque Converters.
+
+Selecting Coupling Type
+
+To switch between clutch and torque converter, select Options and choose between the two available options. Switching from clutch to torque converter will activate the Torque Converter spreadsheets and data boxes. Switching back to clutch will disable these features.
+
+Using a Clutch Model
+
+To use a clutch, select clutch from the options menu. The clutch model has a single data variable, Declutch Speed (km/h).
+
+This data can also be entered directly into the *.car file through the available text editor.
+
+Torque Converters, Fluid Coupling or Torque Multiplier
+
+A torque converter is a standard coupling system for modern automatic transmissions. It is sometimes referred to as a Fluid Coupling or Torque Multiplier.
+

+Using a Torque Converter
+
+To use a torque converter model, select Torque Converter from the Options pop-down menu. This activates the torque converter data entry boxes and spreadsheet.
+
+Torque Converter Data
+
+Various data entries are used to model the torque converter characteristics :
+
+Number of Speed Ratios
: The number of points over which the torque converter is modelled. (Up to 20 points)
+Spreadsheet : A spreadsheet for data entry of speed ratios, torque ratios and input capacity.
+Spreadsheet Data Variables :
+         +Speed Ratio = Output Speed / Input Speed
+         +Torque Ratio = Output Torque / Input Torque
+         +Input Capacity (Rad/s/Torque) = Torque converter input capacity at this speed ratio
+
+This data can also be entered directly into the *.car file through the available text editor.
+
+Torque Converter Calculations
+
+After adjustment of the variables the user must select Update to display the re-calculated estimates for stall speed and stall torque.
+
+Graphical Display of Torque Converter Characteristics
+

+To display the torque converter characteristic curves, select the Graph Icon from the top right of the window. This includes functions for autoscaling, zoom, printing and data-picking accessed from the pull-down menu at the top right of the graph display window.
+

+ Factoring a Torque Converter Characteristic Curve

+
+The user is able to apply speed and load factors to the torque converter curve, by using the Factor menu-bar pull down menu . Both speed factoring and load factors are available. The user is prompted to enter a factor as a ratio of 1.
+
+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Torque Converter Lock-up
+

+
The torque converter lock-up window is accessed from the Driveline menu selected by clicking the Driveline icon in the data icons tool-bar or selecting Driveline from the main window menu-bar pull down menu Data.
+
+The window is used to create or modify and existing torque converter lock-up strategy. Lock-up does not have to be incorporated when using a torque converter but modern automatic transmission typically employ some lock-up strategy to improve efficiency.
+
+This data can also be entered directly into the *.car file through the available text editor.
+
+Using a Lock-Up Strategy
+
+To activate the lock-up model, select On from the Options pop-down menu in the Lock-up window. This activates the data entry boxes and spreadsheet.
+
+The lock-up strategy is defined as a set of lock-on and lock-off points defined in terms of any map variable vs. speed (Various speed variables are available) for a range or torque fractions (up to 10).
+
+Lock-Up Data
+
+The lock-up strategy is defined using the following variables :
+
+
Load Units : The units used to define the load fraction. This can simply load fraction, or alternatively, any of the map variables specified at the engine map data window. Note : If the load unit chosen relates to a map undefined, the system will not operate correctly.
+Speed Units :The units used to define the speed variable. Four are presently available :
+1. Engine Speed (RPM)
+2. Propshaft Speed (RPM)
+3. Road Speed (MPH)
+4. Road Speed (KMH)

+Load Fraction : The load fraction for the currently displayed set of lock points. To add a fraction use the Functions pull-down menu at the top right of the window.
+Spreadsheet : A spreadsheet is used to define the lock points
+Lock-Up : Speed at which lock-up occurs when load is equals load fraction displayed.
+Lock-Off : Speed at which lock-off occurs when load is equals load fraction displayed.
+
+Adding a Load Fraction in the Torque Converter Lock-Up Window
+
+To initially add fractions or add a load fraction to an existing set of torque converter lock-up data, use the Functions pull-down menu at the top left of the window.
+
+Deleting a Load Fraction in the Torque Converter Lock-Up Window
+
+
To delete load fractions from an existing set of torque converter lock-up data, use the Functions pull-down menu at the top left of the window.
+
+Inserting an Extra Load Fraction in the Torque Converter Lock-Up Window
+
+
To insert a load fractions into an existing set of torque converter lock-up data, use the Functions pull-down menu at the top left of the window. A new load fraction map is inserted ahead of the load fraction visible when the insertion is carried out.
+
+Displaying the TC Lock-Up Data Graphically

+
+To view the torque converter lock map graphically, select the Graphic Icon at the top-right of the torque converter Lock Up Window. The graphics window includes features for autoscaling, zoom, data-pick and printing, accessed using the pull-down menu at the top left of the graphics window.
+

+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Torque Converter Idle
+

+
The Torque Converter Idle window is accessed from the Driveline menu selected by clicking the Driveline icon in the data icons tool-bar or selecting Driveline from the main window menu-bar pull down menu Data.
+
+This data can also be entered directly into the *.car file through the available text editor.
+
+The window is used to set the torque idle strategy. This is concerned with the operation of the Torque Converter during periods of zero power transmission. There are three options accessed using the Idle Mode pop-down menu in the window :
+
+Normal Idle : Gearbox remains in drive
+Full Neutral Idle : Gearbox in neutral and hence no drag torque on the engine
+Semi-Neutral Idle : Gearbox in a semi-neutral mode where there exists some speed ratio between the engine and converter input and output speed. In this mode the user enters data in the Speed Ratio data box.
+
+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Final Drive
+

+The
Final Drive Data window is accessed from the Driveline menu selected by clicking the Driveline icon in the data icons tool-bar or selecting Driveline from the main window menu-bar pull down menu Data.
+
+The window is used to enter and modify the specification of the final drive/transmission system. The user is able to specify the drive layout, the inertias of the main rotating components and the transmission ratio and efficiencies.
+

+This data can also be entered directly into the *.car file through the available text editor.
+
+Final Drive Data Variables
+
+The following data is available for editing by the user :
+
+Drive Type : The user may select between :
+1. Front Wheel Drive
+2. Rear Wheel Drive

+3. Four Wheel Drive
+

+Front and Rear Wheel Inertia (kg.m2) : The combined inertia of the wheel, tyre and rotating brakes etc. These are for a single wheel. Two wheels are assumed to be fitted.
+Drive Shaft Inertia (kg.m2) : The rotary inertia of the axle/drive shaft. This is the total inertia if two drive shafts are fitted.
+Prop Shaft Inertia (kg.m2) : Total rotary inertia of the prop shaft. If not fitted, set to zero.
+Final Drive Ratio
+Final Drive Efficiency (0-1)
: Maximum efficiency of the final drive used by transmission efficiency calculations.
+Final Drive Efficiency Mode : The user may choose between two different efficiency models :
+1. Efficiency fixed to maximum (entered value)
+2. Efficiency modelled as a function of speed and load

+
+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Gearbox Data - Introduction
+

+The powertrain systems are connected to the vehicle final drive via the gearbox system. To enter or review data for the gearbox, select the Gearbox Icon
from the icon panel. Alternatively, select Data / Gearbox from the main window menu bar or press F5.
+
+This brings up the gearbox menu from which the user can select from the following sub-window options:
+
+Specification : where gearbox transmission type and ratios are entered
+Gear Losses : to enter detailed information on the system efficiency
+Shift Strategy : to enter information on the system operating strategy
+Cascade : to display a graphical representation of the drive force vs. Vehicle speed and road load
+Gradability : A calculation tool to assess the vehicles capabilities on inclines.
+
Max. Speed : A similar tool to assess the Vehicle systems maximum speed
+
+
{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Gearbox Specification
+

+This display allows the user to review the gearbox ratios, efficiencies and inertia
s and other system variables.
+
+To access the gearbox specification window, select Gearbox Specification
from the Gearbox sub-menu assessed from the Icon panel or main window drop down menu.
+
+This data can also be entered directly into the *.car file through the available text editor.
+
+The window displays the following data entry sections:
+
+Number of Ratios
+

+This specifies the number of ratios in the transmission. To initially set the number change the number from zero to the required number of ratios. This activates the spreadsheet and allows entry of data for each ratio.
+
+To increase the number increase the number of ratios in the data box. This will add the required number to the bottom of the spreadsheet. To reduce the number repeat the process with the new number and those ratios above this will be greyed out.
+
+Maximum Gearbox Input Torque
+
+
This sets the maximum gearbox input torque. This is used by the gearbox efficiency calculations. If 0.0 is used, the calculation uses engine maximum torque.
+
+Maximum Gearbox Input Speed
+
+
This sets the gearbox maximum input speed. This is used by the gearbox efficiency calculations. If 0.0 is used, the calculation uses engine maximum speed.
+
+Gearbox Efficiency Model
+
+
This pop-down menu sets the model used to calculate the gearbox efficiency. Two options are presently available :
+
+Fixed : using the specified efficiency for each ratio
+Function : defining efficiency as a function of speed and load - using Lotus developed models.
+
+System Data Spreadsheet

+
+The spreadsheet is used to enter data for the characteristics of each gear ratio. The number of ratios in the model is set using the gearbox number of ratios data box.
+
+The three variables for each gear are as follows:
+
+
Ratio : Specifies the ratio of input to output speed for each ratio.
+Efficiency
: Specifies the efficiency of each ratio as a fraction of 1.0.
+Inertia
: Specifies the rotational inertia of each ratio (kg.m2)
+
+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Gear Losses
+

+This window displays the specified gear loss curves if entered by the user. The losses are described as curves for torque loss in Nm vs. gearbox input speed (rpm) for each of up to 10 torque fractions (assumed to be the engine torque fraction) and for each gear specified in the model.
+
+This data can also be entered directly into the *.car file
through the available text editor.
+
+The data variables are summarised below :
+
+Gear Loss Map Title - Users notes
+Number of Gear Loss Speeds - Maximum if 20
+Number of Torque Fractions - Maximum of 10
+Torque Fractions (0-1.0)- Up to the number of fractions specified. These are assumed to be the engine torque fraction
+Gearbox input speeds (rpm) - for each gear at each torque fraction
+Gearbox torque loss (Nm) - for each gear and speed at each torque fraction
+
+Switching On the Gear Losses System
+
+To enter data for the gear losses, switch the spreadsheet and associated data entry boxes by selecting on from the options pop-up menu (Note that the user must have already specified the gearbox specification).
+
+Entering Gear Loss Data for the First Time in a Model
+
+After switching the loss spreadsheet on, the user must first select a gear for which data is to be entered. This is done by pressing the right arrow in the gear number window. The display should then display 1 of N  where N is the number of gears in the model.
+

+The number of speeds for which the currently displayed gear is to have loss data entered for is then entered in the adjacent data window. This will then permit data to be entered for the loss fractions.
+
+Adding Gear Loss Load Fractions
+
+Add the first load fraction by selecting Add Fraction from the pull-down menu in the top left. The user can modify the absolute value of this fraction by changing the displayed fraction in the data box at the bottom left of the window. To add additional fractions select this Add Fraction until the required number of fractions is reached.
+
+Inserting Gear Loss Fractions
+
+To insert additional fractions to a gear loss dataset, select Insert Fraction from the pull-down menu. A fraction will be inserted before the currently displayed fraction and the other fractions shuffled as required.
+
+Deleting Gear Loss Fractions
+
+To delete fractions select Delete Fraction from the pull-down menu. This will remove the currently displayed fraction.
+
+Gear Loss Data
+
+Data should be entered as torque loss (Nm) vs. gearbox input speed (rpm). After entering data, selecting Update will convert all torque losses into power (kW).
+
+A text entry window is available to enter a label to describe the source of the data or other notes.
+
+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Shift Strategy
+

+This window is used to specify the user gear shift strategies. The user is able to specify up to a maximum of 10 different shift strategies, which can be selected at the calculation window.
+
+A shift strategy map is entered as an array of change up and change down data for each gear ratio across a 2-D map of a speed variable vs. a load variable.
+
+This data can also be entered directly into the *.car file
through the available text editor.
+
+The variables are as follows :
+
+Number of shift maps - must be equal or greater than 1 (Add a map using the top left pull-down menu functions).
+Title of Shift Map - A user defined label eg. FTP 75 Shift Schedule
+Number of Torque Fractions
- Add using the pull-down menu functions, flip through using the arrows.
+Torque Fraction - Change by selecting the data entry box and typing in required value.
+Load Fraction Variable - Select from any of the map parameters for which data is detailed in the Engine Map window.
+Speed Variable - Select from the four speed variables available :
+1. Engine Speed (RPM)
+2. Propshaft Speed (RPM)
+3. Vehicle Speed (KPH)
+4. Vehicle Speed (MPH)
+Shift Mode - Specifies shifting mode from two options:
+1. Forced mode - obeys shifting strategy detailed
+2. Free- Pre-Optimum - Sets shifting mode to minimise the map parameter set in the Engine Optimum window using the pre-calculated curve.
+3. Free  Inst-Optimum  Uses an instantaneous calculation to decide the optimum gear position using defined map.
+
Kickdown Mode - Sets whether the transmission kicks down under acceleration
+
+Switching the Displayed Shift Maps and Adding, Deleting and Inserting Load Fractions
+
+The method of switching between displayed shift maps and adding, deleting and inserting maps and load fractions matches the method described in Gear Losses.
+
+Graphically Displaying the Gearbox Shift Strategy
+
+To view the shift strategy at each load fraction select the Graph Button. This displays the map and provides functions such as zoom and autoscale, accessible from the pull down menu at the top left of the graph window.
+
+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Gearbox Cascade Diagram
+

+This window displays the tractive load diagram for the vehicle system at each drive ratio vs. the combined aerodynamic and tyre loads and vehicle speed.
+
+Cascade Graphing Functions

+
+Functions such as zoom, autoscale and data pick are available from the pull-down menu at the top left of the display.
+
+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Gradability Tool
+

+The gearing gradability tool allows the user to view LOTUS VEHICLE SIMULATION calculations for the vehicle performance on inclines. Various tools are available to adjust the displayed ratios, increase the total vehicle mass (by adding towed mass), and the road gradient.
+
+Setting the Gradability Optimised Gear Ratios to be the Model Gear Ratios

+
+After adjusting ratios to the users satisfaction, the ratios may be transferred to become the main vehicle ratios by selecting Set as Gears.
+
+To revert the changed ratios back to the initial values before adjustment select Revert.
+
+Calculating Gradability with Locked or Unlocked Torque Converter
+
+If using an automatic transmission, the user can lock or unlock the torque converter by toggling the Locked / Unlocked button.
+
+Calculating Gradability based on Road Gradient, Vehicle Speed or Gear Ratio
+
+The user can decide which variable should remain fixed during on-screen calculation using the Update pull-down menu at the top left of the window. The user may select from grade velocity, road gradient or gear ratio.
+
+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Maximum Speed Tool
+

+The user may view LOTUS VEHICLE SIMULATION basic theory calculations for maximum speed using the
Max. Speed tool from the Gearbox menu.
+
+The user may change the ratios, vehicle speed and engine speed variables by manipulation of the spreadsheet data. To re-calculate the data select Update.
+
+Setting the User Modified Maximum Speed Ratios as the Model Ratios
+
+To transfer the adjusted gear ratios to the main model select Set as Gears. To reset the gears to the values before adjustment select Revert.
+
+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Engine Data
+

+The engine data section forms the primary data screens for data entry to define the central powertrain unit. Currently facilities are primarily aimed at the modelling of I.C. engines.
+
+The user brings up the engine system menu by selecting the Engine icon
on the main menu tool bar. This displays the following options :
+
+Engine : Data for the I.C. Engine specification, inertia and full-load performance.
+Engine Scaling
: Advanced tool to adjust engine specification via scaling functions.
+Engine Maps
: Data window for full and part load fuel economy, emissions and engine operating condition.
+Optimum
: Tool to calculate optimum load-speed profile to minimise any selected map parameter - can then be used to drive shift strategy.
+
Catalyst : Data window for catalyst light-off characteristics and emissions after-treatment efficiency.
+Warm-up
: Data window for engine-out emissions and fuel economy during warm-up phase and engine acceleration.
+Auxiliaries
: Data window for specification and load characteristics of powertrain mounted auxiliary devices.
+Grid Analysis
: Data window for creation of a zone system for cumulative analysis of vehicle system operation across powertrain load-speed range.
+
Primary Drive : Data window for specification of engine primary drive, inertia and efficiency.
+Units
: Window for selection of preferred displayed units
+
+


++$#Engine
+

+This window is selected from the
Engine options menu accessed by selecting Engine from the engine menu.
+
+The window is used to review or adjust data for the following variables :
+
+Engine Type : Currently restricted to I.C. engine.
+Cycle Type : 2 or 4-stroke types supported.
+Compression Ratio : Only required for engine scaling functions.
+Bore (mm) : Engine cylinder bore. Must be specified.
+Stroke (mm) : Engine piston stroke. Must be specified.
+No. of Cylinders : Total number of cylinders in engine. Must be specified.
+Idle Speed (rpm) : Engine minimum speed. If not specified uses torque curve lowest speed.
+Maximum Speed (rpm) : Engine maximum speed. If not specified uses torque curve highest speed. This can be set for each gear separately. See Extended options.
+Engine Inertia (Kg.m2) : Rotating inertia of engine - May be set to zero.
+Number of Speeds : Specifies number of speeds over which torque curve is detailed.
+Engine Speed (rpm) : At each data point.
+BMEP or Torque (Nm) : Maximum BMEP or torque at each data/speed point. Alternative BMEP curves can be defined for each gear, select the Limit in Each Gear option.
+

+This data can also be entered directly into the *.car file through the available text editor.
+
+Factoring the Engine Torque Curve
+
+Features are also available to scale the torque curve in terms of speed and torque by using the Factor tool selected from the pull-down menu in the top left of the window.
+
+Displaying the Engine Torque Curve Graphically
+
+The torque curve can be displayed graphically using the graph icon at the top right of the window. This includes features for zoom, autoscaling, data pick and printing accessed from the pull-down menu at the top right of the graph window.
+
+Increasing/Reducing the Number of Engine Torque Curve Points
+
+To increase the number of engine torque curve data points, increase the number of speeds entered in the data box. To reduce the number of engine torque curve data points, reduce the number of engine speeds in the data box.
+
+Engine Over-run FMEP coefficients.
+
+
The coefficients used to calculate the engine friction during the overrun phase can be modified via the advanced menu item. An additional torque scalar can also be defined here.
+

+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Engine Scaling
+

+This window provides features to modify the entered engine performance and map data through a range of scaling functions related to changes from the base engine geometry to a new proposed specification.
+
+The user is required to enter data for the new engine geometry and enter estimates for the relative effects on power, engine operating speed range and thermal efficiency based on empirical or judgement data. For instance current I.C. engines typically demonstrate an improvement in thermal efficiency of around 3% per increase in compression ratio (Though this is only a broad approximation!). The user can enter the new compression ratio, giving a factor of 1.03 for change in th with C.R. The scaling tool also includes models for engine friction, allowing the effect of engine design to be incorporated - this makes use user estimates of the Lotus subroutine
FRIC which draws on many engine studies and Lotus powertrain experience.
+

+These scaling factors are then used in the calculation, thus allowing the analyst to rapidly assess the potential effects of changes in engine design.
+
+This data can also be entered directly into the *.car file through the available text editor.
+
+Switching on the Engine Scaling System
+
+To activate the engine scaling model, select On from the Option pop-down menu. To switch off engine scaling select Off from the same menu.
+
+The data variables are summarised below :
+
+New Engine Bore (mm)
+New Engine Stroke (mm)

+New Engine Compression Ratio
+Sensitivity of thermal to Change in Bore (%/mm)
: Typically negative.
+Sensitivity of thermal to Change in Stroke (%/mm)
: Typically close to zero.
+Sensitivity of thermal to Change in Compression Ratio (%/C.R.)
: Typically positive.
+Sensitivity of engine speed range to Change in Bore (%/mm)
: Typically close to zero.
+Sensitivity of engine speed range to Change in Stroke (%/mm)
: Typically positive.
+

+The overall factor of each change is presented in the box at the far right of each sub-section.
+
+If engine speed range is scaled and the user wishes to change the maximum and minimum speed range of the engine, this must be entered directly into the model *.car file using the Edit Data option from the main window File pop-down menu.
+
+


+Friction scaling
+
+To display the window for engine friction changes select Friction Scaling. This sub-window displays options for model type. To select from the available options activate the Options pop-down menu which provides options for :
+
+1. User Defined : A spreadsheet of n data points with speed vs. current engine friction and the friction of the new engine (Friction in FMEP).
+2. Single Model
: A Lotus developed FRIC model which relates the engine design variables to empirical and developed models for friction.
+3. Two Models : A Lotus developed FRIC model for the current and proposed engine specifications relating engine design variables to empirical and developed models for friction.
+
+Friction Model Default Data
+
+If data is not available for the modelled engine design, estimates for typical bearing sizes are available:
+
+         +Inline engines : Enter 9999.0 for bearing sizes
+         +V-engines with single cylinder per pin : Enter 9998.0 for bearing sizes
+         +V-engines with two cylinders per pin: Enter 9997.0 for bearing sizes
+For cam bearings, enter 9999.0 for diameter and widths
+
+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Engine Map Data
+

+The engine map data entry window is accessed using the
Map Data option from the Engine menu accessed by selecting the Engine Icon from the data toolbar or man window pull-down menu.
+
+The window is designed to permit easy entry of data for the engine fuel economy, emissions and operating characteristics over the load-speed range.
+
+All maps used must share a common load-speed format.
+
+The grid is specified first, and does not need to be regular, but a complete grid must be provided - hence extrapolation of data above the full load BMEP at each speed is necessary. This extrapolation does not affect the calculated results.
+
+This data can also be entered directly into the *.car file through the available text editor.
+
+Switching on the Engine Maps
+
+To switch on the map system, the user selects On from the Options pop-down menu. This activates the spreadsheets and map functions.
+
+Adding, Deleting and Inserting Engine Maps
+
+To add an engine map or delete and insert maps the user selects options from the Functions pop-down menu.
+
+Cycling through the Engine Maps
+
+To cycle through the maps, use the arrows within the map number panel
+
+Graphically displaying the Engine Maps, Zoom, Data-picking and Printing
+
+
To graphically display the map currently in the Engine map window, select the Graph Icon in the top right of the window. This includes features for zoom, autoscaling, data-picking and printing. This is selected from the pull-down menu at the top-right of the graph window.
+
+Engine Map Data Variables
+
+The various data variables to be specified are as follows :
+
+Map Number : Change map number using the arrows in the map number panel.
+Map Type : Select map type from the following available :
+1. Fuel Consumption
+2. Air Consumption

+3. Hydrocarbon Emissions
+4. NOx Emissions
+5. CO Emissions
+6. CO2 Emissions
+7. O2 Emissions
+8. Particulate Emissions
+9. User Flow
+10. Spark Timing
+11. Throttle Position
+12. Manifold Air Pressure (Bar)
+13. Air-Fuel Ratio       +
+14. Exhaust Temperature
+15. Heat to Coolant (0-1)
+16. Heat to Oil (0-1)

+
+
Map Units : For map types 1-9 the unit options are :
+g/s - grams per second
+
g/h - grams per hour
+g/kW.h - grams per kilowatt hour
+g/h/l - grams per hour per litre of engine capacity
+
+
Overrun : Overrun map option determines values of map at idle and zero load (coasting)
+Lowest Load : uses the values at the lowest load point of the map
+
Zero : uses zero for map variable at idle and zero load
+User Defined : uses user specified data entered in the Overrun column. For map types 1-9, the overrun units are g/s when map units are 1 or 2. For map units in specifics 3 or 4, overun units are g/s/l.
+
+Note : The overrun map value specified for the first map speed is used when the engine is at idle (unless auxiliaries or a torque converter are specified).
+
+
Fuel Specific Gravity (kg/l) : Typically 0.75-0.76 for gasoline, 0.84 for diesel.
+Fuel Calorific Value (kJ/kg) : Typically 42000kJ/kg for gasoline.
+Scale Factor : Used to make global changes to the data.
+Number of Map Speeds : For all specified maps.
+Number of Map Loads : For all specified maps.
+Spreadsheet : Data entry area for speed-load data.
+
+Increasing/Reducing the Number of Map Speed Points
+
+To add, insert or delete map speed points, change the number of points in the data box. This adds or deletes speeds from the maximum speed end of the map.
+
+Increasing/Reducing the Number of Map Load Points
+

+To add, insert or delete map load points, change the number of points in the data box. This adds or deletes loads from the maximum load end of the map.
+
+Using the Engine Map Spreadsheet Tools
+
+By clicking with the left mouse button in the spreadsheet, the cell under the pointer is selected and the data for that point may be changed. By selecting a range of cells and clicking the right mouse button a range or cut,copy and paste functions are available. These operate in the same manner as common Windows spreadsheets.
+
+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Optimum
+

+The
optimum window is accessed using the Optimum option on the Engines menu bar. This is accessed by selecting the Engine Icon or choosing Engine from the Data pull-down menu on the main window menu-bar.
+
+The optimum window is used to define a strategy for the gearbox shift strategy as related to engine operating conditions.
+
+This data can also be entered directly into the *.car file through the available text editor.
+
+Switching on the Optimum Model
+
+To switch on the Optimum model, select On from the Options pop-down menu. To switch off select Off.
+
+Using the Optimum Model
+
+To use the optimum model, the user must either specify a map parameter to be minimised (To work correctly, the map must have previously been defined in Engine - Map Data), or else specify a curve of optimum torque vs. engine speed.
+
+Using a Pre-specified Engine Map for the Optimum Model
+
+To use a map previously specified in the Engine - Map Data window, select the Optimum Type pop-down menu and enter the required map number in the Map No. box. This will calculate the minimum level of the map parameter at each engine speed point and display the results in the spreadsheet. (The map No. should the map type identification No. and not the map order No.).
+
+Using a User Defined Optimum Curve for the Optimum Model
+
+To enter a user defined curve for the optimum model, select User Specified in the Optimum Type pop-down menu. The user then enters the number of points to be defined and enters the engine speed and power (kw) into the spreadsheet. To view the calculated Torque in Nm and BMEP after a change click the Update button.
+
+To Graphically Display the Optimum Curve
+
+To view graphically the current Optimum curve to be used by the model, press the Graphics Icon in the top right of the window. This displays the Graphics window and provides features for autoscaling, zoom, printing and data-picking, accessed using the pull-down menu in the top-left of the window.
+
+{button ,AL(`list10',0,"",`main')} Related Topics
+


++$#>Catalyst
+

+The
Catalyst window is accessed using the Catalyst option on the Engines menu bar. This is accessed by selecting the Engine Icon or choosing Engine from the Data pull-down menu on the main window menu-bar.
+
+The window allows the user to enter and review information for the catalyst model. A catalyst if used, models a reduction in vehicle out-emissions and the transient light-off phase after cold start during which emissions conversion efficiency is reduced.
+

+This data can also be entered directly into the *.car file through the available text editor.
+
+Using the Catalyst Model
+
+To model a catalyst in the vehicle, the user must switch it on by selecting On from the Options pop-down menu in the window. To remove the model, similarly select Off.
+
+Catalyst Data Variables
+
+Three variables are used to model curves of catalyst light-off charactersitics and max conversion efficiency. These are :
+
+1. Maximum Catalyst Efficiency (For HC, NOx and CO) : The conversion efficiency of the catalyst operating at optimum conditions.
+2. Time to Maximum Efficiency (For HC, NOx and CO) : Time from start of cycle for catalyst to reach maximum efficiency.
+3. Warming Time (s) (For HC, NOx and CO) : Time for catalyst to warm-up from ambient conditions to maximum efficiency operating temperature.
+
+Displaying the Catalyst Characteristics Graphically
+
+
The user may view the catalyst operating strategy graphically by selecting the Graphics Icon at the top right of the window. This displays the Graphics window and provides features for autoscaling, zoom, printing and data-picking, accessed using the pull-down menu in the top-left of the window.
+
+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Warm Up
+

+The
Warm-up window is accessed using the Warm-up option on the Engines menu bar. This is accessed by selecting the Engine Icon or choosing Engine from the Data pull-down menu on the main window menu-bar.
+
+The window allows the user to enter and review information for the warm-up model. This models a ramp down (or up) in engine-out emissions over a user specified time period after startup until the engine has reached its steady state operating condition. The model also allows the user to model the effect of engine transients (due to acceleration) on emissions. The same approach is also used to factor the fuel consumption during the warm-up phase.
+

+This data can also be entered directly into the *.car file through the available text editor.
+
+Using the Warm-up Model
+
+To model the warm-up phase, the user must switch the model on by selecting On from the Options pop-down menu in the window. To remove the model, similarly select Off.
+
+Warm-up Data Variables
+
+Three variables are used to model curves of the warm-up and transient engine characteristics. These are :
+
+1. Warm-up Factor (For HC, NOx, CO and Fuel) : The engine out emissions factor at the start of the cycle (when engine is generally at its lowest temperature).
+2. Factor Time (s) (For HC, NOx, CO and Fuel)
: Time from start of cycle for engine to reach normal operating temperatures and emissions to reach steady state values.
+3. Acceleration Factor (s2/m) (For HC, NOx, CO and Fuel) : Emissions acceleration factor based on the following formula : Emissions = Steady State Emission + ABS(Accelfactor x acceleration x S.S.Emissions)
+
+Displaying the Warm-up Characteristics Graphically
+
+
The user may view the warm-up characteristics graphically by selecting the Graphics Icon at the top right of the window. This displays the Graphics window and provides features for autoscaling, zoom, printing and data-picking, accessed using the pull-down menu in the top-left of the window.
+
+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Auxiliaries
+

+The
Auxiliaries window is accessed using the Auxiliaries option on the Engines menu bar. This is accessed by selecting the Engine Icon or choosing Engine from the Data pull-down menu on the main window menu-bar.
+
+The window allows the user to enter and review information for any auxiliaries used in the powertrain system. These may be units such as Power-steering pumps, air-conditioning compressors or generators, mounted at some point in the system and being directly driven through some form of gearing.
+
+This data can also be entered directly into the *.car file through the available text editor.
+
+Using the Auxiliaries Model
+
+To model auxiliaries, the user must switch the model on by selecting On from the Options pop-down menu in the window. To remove the model, similarly select Off.
+
+Auxiliaries Data Variables
+
+
An auxiliary is modelled as a power-taking devices driven directly from some point in the powertrain. To model a unit, the user must specify the mounting position, the drive ratio, relative to the rotational speed of the take-off point, the rotary inertia and a curve for the auxiliary rotary speed vs. the torque driving the unit after any drive speed conversion. The user can then view the calculated power by clicking the Update button.
+
+Note : There is no model available in the current version of LOTUS VEHICLE SIMULATION to reduce the absorbed power relative to engine load.
+
+The variables for input are defined below :
+
+Auxiliary Label : A note area for the user to define the modelled unit.
+Mounting Position for Unit : The user may choose from the following options :
+
1. Engine Mounted (eg. From the drivebelts of flywheel)
+2. Gearbox Input Shaft Mounted
+3. Propshaft Mounted
+4. Axle/Drive Shaft Mounted
+Auxiliary Drive Ratio : The ratio between auxiliary and mounting point shaft speeds.
+Auxiliary Rotary Inertia (kg.m2) : The inertia of the unit and associated transmission system (Not that of the mounted unit).
+Number of Speeds : The number of speeds with which the characteristic curve is defined.
+Spreadsheet : A spreadsheet is used to define the characteristics in terms of :
+         +         +Speed (rpm) : The auxiliary rotational speed
+         +         +Torque (Nm) : The auxiliary absorbed torque
+
+Adding, Deleting or Inserting Auxiliary Units
+
+To add, delete or insert auxiliary units (assuming the system has previously been switched on), use the pull-down menu from the menu-bar at the top left of the window.
+
+Displaying the Auxiliary Characteristics Graphically
+
+
The user may view the auxiliary characteristics graphically by selecting the Graphics Icon at the top right of the window. This displays the Graphics window and provides features for autoscaling, zoom, printing and data-picking, accessed using the pull-down menu in the top-left of the window.
+
+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Grid Analysis
+

+The
Grid Analysis window is accessed using the Grid Analysis option on the Engines menu bar. This is accessed by selecting the Engine Icon or choosing Engine from the Data pull-down menu on the main window menu-bar.
+
+The window allows the user to specify a network of engine loads and speeds with which the engine load-speed map is sub-divided. On running a cycle of any kind, the calculation system will log the total time, total and mean consumption within each zone of the map and provide analysis in the *.crs file for the utility of each zone. This is particularly useful for analyses relating engine operating condition and efficiencies to drive-cycle utility.
+
+This data can also be entered directly into the *.car file through the available text editor.
+
+Using the Grid Analysis Model
+
+To use the grid analysis feature, the user must switch the system on by selecting On from the Options pop-down menu in the window. To remove the system, similarly select Off.
+
+Specifying a Grid
+
+To set up a grid, enter the number of speeds and loads with which the grid is to be formed and then detail each load and speed point in the appropriate spreadsheets provided in the window.
+

+Note that to obtain full information for the full load characteristics, the map must extend to the maximum full load torque level. The zones at this level which extend above the full load torque curve at other speeds will not affect the analysis.
+
+Displaying the Specified Grid Graphically
+
+
The user may view the specified grid graphically by selecting the Graphics Icon at the top right of the window. This displays the Graphics window and provides features for autoscaling, zoom, printing and data-picking, accessed using the pull-down menu in the top-left of the window.
+
+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Primary Drive
+

+The
Primary Drive window is accessed using the Primary Drive option on the Engines menu bar. This is accessed by selecting the Engine Icon or choosing Engine from the Data pull-down menu on the main window menu-bar.
+
+The window allows the user to specify a drive ratio for the primary drive take-off transmission from engine crank-shaft/flywheel to the gearbox input shaft.
+
+This data can also be entered directly into the *.car file through the available text editor.
+
+Using the Primary Drive Model
+
+To enable the Primary Drive model, the user must switch the system on by selecting On from the Options pop-down menu in the window. To remove the system, similarly select Off.
+
+Primary Drive Data

+
+The user must first switch the Primary Drive option On, then enter the drive ratio and efficiency of the primary drive transmission.
+
+Drive Ratio : The transmission ratio between output shaft and crankshaft speed.
+Drive Efficiency (0-1) : The efficiency of the drive transmission.
+Efficiency Mode : There are presently two options available :
+1. Flat Efficiency Mode : Efficiency is fixed at the entered value irrespective of engine load.
+2. Function Efficiency Mode : The model uses a calculation to relate the entered maximum efficiency to efficiency as a function of engine speed and load.
+
+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Units
+

+The
Units window is accessed using the Units option on the Engines menu bar. This is accessed by selecting the Engine Icon or choosing Engine from the Data pull-down menu on the main window menu-bar.
+
+This window allows the user to select preferred units for variables entry and display. The options are currently for load and speed :
+
+1. Engine Speed (Rpm or Rps)
+2. Engine Load (Nm or BMEP (Bar))
+
+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Standard Hybrid Model Data Variables
+

+The
Hybrid window is accessed using the Hybrid Icon on the data tool bar or choosing Hybrid \ Standard from the Data pull-down menu on the main window menu-bar.
+
+The Hybrid model allows modelling of the standard hybrid vehicle. The model is capable of absorbing energy from and returning it to the drivetrain system. The program will always preferentially drive the vehicle with the hybrid motor, any excess energy requirements and or battery charging being provided by the main engine.
+
+This data can also be entered directly into the *.car file through the available text editor.
+
+Using the Standard Hybrid Model
+
+To enable the Hybrid model, the user must switch the system on by selecting On from the Options pop-down menu in the window. To remove the system, similarly select Off.
+
+Standard Hybrid Data Variables

+
+The hybrid system is modelled using the following variables :
+
+System Mounting Point : The hybrid motor mounting point, from three available :
+1. Engine Flywheel Mounted
+2. Gearbox Mounted

+3. Drive Shaft Mounted
+Idle Charging Strategy : Options for the system when the engine is at idle :
+1. No Charging
+2. Storage system charges when engine at idle

+Maximum Energy Storage Capacity (kW.h) : If the system reaches a maximum, no more charging is allowed, only power output.
+Minimum Allowable Energy Level in Storage Device (kW.h) : If the system reaches a minimum, no power output is allowed, only charging.
+Motor Maximum Output Torque (Nm) : The maximum output torque from the electric motor. If the requirement exceeds this, the extra is provided by the engine.
+Maximum Input Torque (Nm) : The maximum torque for charging. The system can not exceed this value, hence charging rate is limited.
+Output Efficiency (0-1) : The efficiency of the storage/motor output system.
+Input Efficiency (0-1) : The efficiency of the storage/regeneration input system.
+Capacity at Start (kW.h) : The energy held by the storage device at the start of the cycle.
+
+{button ,AL(`list10',0,"",`main')} Related Topics
+


++$#>Extended Hybrid Component Performance
+

+This extended
Hybrid data window is accessed from the 'extended' menu on the standard hybrid data window or choosing Hybrid \ Extended Hybrid Performance from the Data pull-down menu on the main window menu-bar.
+
+The extended Hybrid model allows a more sophisticated model of a hybrid vehicle to be defined than that achievable with the 'standard' model. The model can include the following hybrid components, generator, drive motor, drive regenerator and battery. Each component has a performance curve for both peak and continuous operation, an operating temperature model, (except battery), to establish the maximum allowable operating performance between these two performance curves at a particular operating condition.
+
+This data can also be entered directly into the *.car file through the available text editor.
+
+Using the Extended Hybrid Model
+
+To enable the extended Hybrid model, the user must switch the system on by selecting On from the Option pull-down menu in the window. To remove the system, similarly select Off. It should be noted that the extended hybrid model uses four data windows to fully define the hybrid vehicle and a number of these would need to switched 'on' and 'off' as required to correctly select or deselect an extended hybrid vehicle.
+
+Extended Hybrid Component Performance Data Variables

+
+The extended hybrid system performance is modelled for the following components :
+
+1. APU Generator
+2. Drive motor
+3. Drive Regenerator
+4. Battery
+
+For components 1 - 3 the performance is defined by a peak torque, a continuous torque and a heat loss ratio against component speed. Whilst for the Battery, (component 4), the performance is defined by maximum charge rate and maximum discharge rate against State of Charge (SOC), (heat loss ratio is not used for the battery component).
+
+Additional data variables are used to further define the component, these also being entered through the performance data window.
+
+For components 1 - 3 the additional data variables are :
+
+         +Start Temperature (Co) Sets the initial temperature of the component at the start of the simulation run.
+         +Inertia (kg.m2)
Defines the rotational inertia of the component.
+         +Time at Peak (s)
Defines the time for which the peak performance can be held before the threshold temperature is reached and the allowable performance begins to deteriorate from the peak toards the continuous. This forms part of the component heat model derivation.
+         +Constant Temperature (Co)
Defines the temperature which the component reaches under the maximum constant performance. This defines the heat convection capability of the component.
+
         +Threshold Temperature (Co) Sets the temperature at which the component performance starts to deteriorate from the peak towards the continuous.
+         +Maximum Speed (rpm)
Sets the maximum allowable component speed.
+
+Whilst for component 4 the additional data variables are :
+
+         +Start SOC ( 0 -1 ) Defines the state of charge setting for the battery at the start of the simulation.
+         +Start Voltage (V)
Is used as the fixed battery voltage for hybrid systems that do not have the full voltage model defined. If a full voltage model is defined then this value is not used.
+         +Capacity (Ah)
Defines the battery capacity.
+
+Extended Hybrid Component Thermal Model
+
+
For components 1 - 3 a thermal model is used that calculates the allowable performance based on the current component temperature. The component temperature is continually updated through the cycle from its initial value by considering that time steps component performance and the heat rejection of the component at that particular speed, a portion is assumed to be radiated whilst the remainder, (should there be any), goes into heating up the component. Thus if at the current component temperature the radiated heat is greater than the amount rejected to the component the component temperature will drop. Thus through the cycle the component temperature will rise and fall with demand, which in turn defines the allowable component maximum performance which will lie between the peak performance and the continuous performance for that speed.
+
+Thus component heat model is derived from the threshold temperature, the constant temperature, the time at peak and the maximum peak and continuous performances. These are used to calculate a specific heat capacity for convection and a coefficient for heat up of the component.
+
+The transient response of the component can be reviewed by selecting from the hybrid performance window the View / Transient Response menu option. This opens a new window that allows the user to define a load cycle, that can be a constant load, two step load, repeat two step or a repeat saw tooth. The component temperature can be viewed for the defined load case.
+
+

+{button ,AL(`list10',0,"",`main')} Related Topics
+


++$#>Extended Hybrid Component Efficiency
+

+This extended
Hybrid data window is accessed from the 'extended' menu on the standard hybrid data window or choosing Hybrid \ Extended Hybrid Efficiencies from the Data pull-down menu on the main window menu-bar.
+
+Extended Hybrid Component Efficiency Data Variables

+
+The extended hybrid system efficiencies are modelled for the following components :
+
+1. APU Generator
+2. Drive motor
+3. Drive Regenerator
+4. Battery, Charge
+5. Battery, Discharge

+
+This data can also be entered directly into the *.car file through the available text editor.
+
+For all components the efficiency can be defined as either a single value, or as a 2D map, for speed against performance. All efficiency values are between 0 and 1.
+
+If this option is switched 'off' for a component the efficiency is set to 1. All components can be switched 'on' and 'off' independent of each other.
+
+To define a single fixed efficiency value for a component, set the 'option' to 'on', set the number of speeds and performance values to 0. This will 'grey' out the spread sheet and enable the 'fixed efficiency' entry box.
+
+To define a 2D efficiency map for a component set the 'option' to 'on', set the number of speed and performance values to the required number, and enter the efficiency values (range 0-1) into the spread sheet. The graph icon allows the user to view the defined map.
+


++$#>Extended Hybrid Battery Model
+

+This extended
Hybrid data window is accessed from the 'extended' menu on the standard hybrid data window or choosing Hybrid \ Extended Hybrid Battery Model from the Data pull-down menu on the main window menu-bar.
+
+Extended Hybrid Battery Model Data Variables

+
+The extended hybrid battery model defines the voltage model of the battery component under both charge and discharge at a range of charge rates and state of charges. This allows for a non constant voltage model to be implemented using interpolation of the defined curves.
+
+This data can also be entered directly into the *.car file through the available text editor.
+
+The battery voltage is defined for both charge and discharge as two separate sets of curves. When this option is set to 'on' it is assumed that both charge and discharge curves will be entered.
+
+To define a voltage model for the battery set the 'option' to 'on', select either 'charge' or 'discharge', set the number of charge or discharge curves and the number of State of Charge levels. Then enter for each charge rate the charge value (note +ve for both charge and discharge maps), and the values for SOC and voltage at this charge rate. Repeat for all charge rate value. The graph icon allows the user to view the defined curves.
+
+To enable the voltage model to interpolate the curves correctly a voltage curve should be entered for a zero current in both the charge and discharge curves. This ensures suitable voltage values are identified for low rates of charge and discharge.
+


++$#>Extended Hybrid Control Strategy
+

+This extended
Hybrid data window is accessed from the 'extended' menu on the standard hybrid data window or choosing Hybrid \ Extended Hybrid Control from the Data pull-down menu on the main window menu-bar.
+
+Extended Hybrid Control Data Variables

+
+         + 1) Target for SOC minimum level (0-1)
+         + 2) Target for SOC maximum level (0-1)
+         + 3) Max APU speed acceleration allowable (rpm/s) (+ve number)
+         + 4) Max APU speed deceleration allowable (rpm/s) (-ve number)
+         + 5) Power value for target curve between min and max target SOCs
+         + 6) History length for establishing mean power demand
+         + 7) APU start status,
off or on
+         + 8) Battery SOC level to switch APU
off (0-1)
+
         + 9) Battery SOC level to switch APU on (0-1)
+         +10) APU ratio of maximum APU available for switching
on (0-1)
+

+This data can also be entered directly into the *.car file through the available text editor.
+
+
+         +Control Procedure Description:
+

+1)       +Find maximum APU power output available, varies as a function of component temperature. PMAXAPU
+
+2)       +Find minimum APU power output, based on idle speed. PMINAPU
+
+3)       +Establish demand from APU based on a mean value of n history values, and a term based on current SOC when compared to the min/max targets. PDEMAND
+
+         +PDEMAND = PMEAN + ( 1 - SOCRATIO ) x PMAXAPU
+
+         +where;
+         +         +SOCRATIO = ( SOC - SOCTARGET MIN ) / ( SOCTARGET MAX - SOCTARGET MIN )
+

+         +         +SOCRATIO = SOCRATIO **POWER      +
+
+         +         +( SOCRATIO limited to 0 - 1 )
+         +         +( PDEMAND limited to > PMINAPU and < PMAXAPU )
+
+         +         +PMEAN is based on the average of the last n steps demand
+
+         +         +PMAXAPU is the maximum APU power output
+         +         +
+
+4)       +Match APU speed to match APU demand.
+
+5)       +Check change in APU speed does not exceed allowable speed change limits in either acceleration or deceleration, as appropriate.
+
+6)       +If battery SOC > SOCOFF and PDEMAND is less than PMINAPU then switch
off
+

+7)       +If battery SOC < SOCON and PDEMAND is greater than PMINAPU then switch on
+8)       +If PDEMAND is greater than APURATIO ON x PMAXAPU then switch
on
+
+
+         +Control Procedure Discussion:
+
+
Thus the battery charge rate at a particular time step can be set or controlled by a number of the control variables.
+
+Delay in response to demand can come from the speed change limitations or suppressed by the use of a large history number.
+

+The setting for the target SOC values is more likely to control the battery charge rates particularly as the battery SOC approaches the target maximum SOC value since at this point the demand due to the SOC state will become 0.0, (since socratio tends to 0) such that the demand is based purely on the mean demand. After a number of steps the mean demand will drop and so if the shut down SOC value is greater than the target maximum SOC the charge rate from target max SOC to SOC shut down will just be the charge rate at idle of the APU.
+
+Trying to increase the tendency of the control system to maintain the state of charge at its maximum target SOC by using the power term, whilst it increases the aggressiveness of the charge regime it will not tend to increase the frequency of APU shut downs if the SOC switch off setting is higher than the SOC maximum target.
+
+Thus the probable control strategy that utilises APU shut down would have an APU shut of SOC slightly lower than the SOC target maximum, the frequency of APU shut down could then be controlled by a combination of the SOC charge power value and the SOC target minimum value.
+

+It is also probable that the SOC switch on value would be greater than the target SOC minimum value in any APU shutdown based strategy.
+
+


++$#>Driver Data Variables
+

+The
Driver window is accessed using the Driver Icon on the data tool bar or choosing Driver from the Data pull-down menu on the main window menu-bar.
+
+The driver window provides access to the simple driver model. This window allows the user to determine the variables representing the driver braking, cornering, gear shifting and accuracy of cycle matching.
+
+This data can also be entered directly into the *.car file through the available text editor.
+
+Using the Driver Model
+
+To enable the Driver model and allow the user to override the program default driver data, the user must switch the system on by selecting On from the Options pop-down menu in the window. To remove the user model and revert to defaults, similarly select Off.
+
+Driver Data Variables
+
+The following variables are available for editing by the user :
+
+Cornering Efficiency : This defines the maximum cornering speed of the vehicle as a fraction of the maximum theoretical speed. This is used only for track/course simulations.
+Braking Efficiency : The maximum braking force as a fraction of the maximum theoretical force. Used in track and course simulations.
+Brake Balance (0-1) : Defined as fraction of braking force applied to front wheels.
+Gear Shift Time (s) : The time to disengage the gearbox, select the new gear and re-engage drive. Default is 0.1s
+Minimum Shift Interval (s) : This is the minimum time allowable between individual gear shifts.
+Cycle Fit Type : This defines how accurately the drive cycle is driven, from two available options :
+1. Exact
+2. Smoothed

+
+{button ,AL(`list10',0,"",`main')} Related Topics
+


++$#>Extended Aerodynamic Data Variables
+

+The
Extended Aerodynamic window is accessed either from the menu option at the top of the vehicle data screen, or choosing Vehicle / Extended Aerodynamics from the Data pull-down menu on the main window menu-bar.
+
+The extended aerodynamic window provides access to the enhanced aerodynamic model. This window allows the user to define the variables representing the drag and lift of the vehicle using coefficients or data splines. These values being represented by fixed values in the simple model.
+

+This data can also be entered directly into the *.car file through the available text editor.
+
+Using the Aerodynamic Model
+
+To use the Aerodynamic model and allow the user to define non-linear values for drag and lift, select from the top three buttons on the aerodynamic data screen the required variable, (i.e. CD - Drag Coeff, CLF - Front Lift coeff or CLR - Rear lift Coeff). From the lower set of three buttons chose the required definition method for the selected variable.
+

+The user can chose to define the aerodynamic variable as a constant, or a constant plus five polynomial coefficients, or a series of spline values. Selecting the required button will thus set the definition method for that variable. The appropriate data values should then be entered and the process repeated for the other two aerodynamic variables.
+
+Selecting a definition type to be other than constant will disable the edit box for that variables constant value in the vehicle data screen.
+

+The constant definition type is exactly the same as the current simple model, where CD, CLF and CLR are fixed with vehicle speed.
+
+The
coefficients definition type allows a constant value plus five power terms which when summed together produce a curve that varies with vehicle speed.
+
+The
value list definition type allows up to 40 points to be entered to define the variables variation with vehicle speed. The user specifies the number of points and then the speed and value of the variable at each speed point.
+

+{button ,AL(`list10',0,"",`main')} Related Topics
+
+
+


++$#>Extended Tyre Data Variables
+

+The
Extended Tyre window is accessed either from the menu option at the top of the tyre data screen, or choosing Tyre / Extended Tyre from the Data pull-down menu on the main window menu-bar.
+
+The extended tyre window provides access to the enhanced tyre model. This window allows the user to define a variable representation for the rolling radius of the tyre using coefficients or data splines. This value being represented by a fixed value in the simple model.
+

+This data can also be entered directly into the *.car file through the available text editor.
+
+The tyre rolling radius defined using either the coefficients or by list can be edited using the spline list and edit function that is available through the spline edit icon. This provides a tool for listing and editing the spline in different units, any changes can be saved back in to the tyre data window in the correct units.
+
+{


+
+
+Using the Extended Tyre Model
+
+To use the extended tyre model and allow the user to define non-linear values for rolling radius, select from the top buttons on the extended tyre data screen the required variable, (currently only 'rolling radius'). From the lower set of three buttons chose the required definition method for the selected variable.
+
+The user can chose to define the tyre variable as a constant, or a constant plus five polynomial coefficients, or a series of spline values. Selecting the required button will thus set the definition method for that variable. The appropriate data values should then be entered.
+
+Selecting a definition type to be other than constant will disable the edit box for that variables constant value in the tyre data screen.
+
+The
constant definition type is exactly the same as the current simple model, where Rolling Radius is fixed with vehicle speed.
+
+The
coefficients definition type allows a constant value plus five power terms which when summed together produce a curve that varies with vehicle speed.
+

+The value list definition type allows up to 40 points to be entered to define the variables variation with vehicle speed. The user specifies the number of points and then the speed and value of the variable at each speed point.
+
+As with the standard tyre data the non-linear rolling radius can be defined as either 'common' or defined separately for 'front' and 'rear' tyres. Setting 'common', 'front' or 'rear' will display the current tyre data and options associated with that tyre. It must be remembered that setting the option to have different tyre properties means that different tyre properties must also be entered for the 'standard tyre data'
, since this option is directly linked with the standard tyre data window, such that changing the setting in one window is automatically reflected in the other.
+
+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Data Status Window
+
Overview
+
+The data status window provides a single window that can be used to identify not only which data options are switched 'on' and any data errors associated with that data section, but also a method of switching individual data options 'on' and 'off', and a way of opening (or closing) the specific data option's window.
+
+This window contains a scrollable list where each line identifies a particular data 'option', i.e. 'extended tyre'. The text describing the data option is coloured coded to identify it as being either; compulsory (in red)
, optional (in green) and a controller (in blue). (note that the controllers are also optional).
+
+Adjacent to the text a number of icons are used to identify wether the option is 'off', 'on' and if 'on' whether any data errors have been identified.
+
+{button ,AL(`list17',0,"",`main')} Related Topics
+
+


++$#Opening the Data Status Window
+

+
To display the data status window select the menu item Data / Status. When this window is opened it will be updated to display the current status of data settings and associated errors.
+
+{button ,AL(`list2',0,"",`main')} Related Topics
+
+


++$#Closing the Data Status Window
+

+To close the data status window select either the
close icon at the top right corner of the data status window, the data status window menu at the top left or alternatively select the menu item Functions / Close from the data status window menubar.
+

+{button ,AL(`list17',0,"",`main')} Related Topics
+
+


++$#Using the Data Status Window
+

+This window contains a scrollable list where each line identifies a particular data 'option', i.e. 'extended tyre'. The text describing the data option is coloured coded to identify it as being either; compulsory (in red)
, optional (in green) and a controller (in blue). (note that the controllers are also optional). The text description can be selected with the mouse to either 'open' or 'close' the relevant data window, (if already open it will be closed and if closed it will be opened).
+
+A list of the individual data sections is given below;
+         +         +Vehicle
+         +         +         +Standard data    +         +(compulsory)
+         +         +         +Extended Aerodynamics
+         +         +         +Extended Suspensions
+         +         +Dyno
+         +         +         +Standard data
+         +         +Tyre
+         +         +         +Standard data    +         +(compulsory)
+         +         +         +Extended data
+         +         +Driveline
+         +         +         +Clutch
+         +         +         +Torque Converter
+         +         +         +TC lock-up
+         +         +         +TC idle
+         +         +         +Final Drive      +         +(compulsory)
+         +         +Gearbox
+         +         +         +Specification    +         +(compulsory)
+         +         +         +Gear Losses
+         +         +         +Shift strategy   +         +(controller)
+         +         +Engine
+         +         +         +Engine data      +         +(compulsory)
+         +         +         +Engine scaling
+         +         +         +Map data
+         +         +         +Optimum
+         +         +         +Catalyst
+         +         +         +Warm-up
+         +         +         +Auxiliaries
+         +         +         +Grid analysis
+         +         +         +Primary drive
+         +         +Hybrid
+         +         +         +Standard data
+         +         +         +Extended Hybrid Performance
+         +         +         +         +APU Generator
+         +         +         +         +Drive Motor
+         +         +         +         +Drive Regenerator
+         +         +         +         +Battery
+         +         +         +Extended Hybrid Efficiencies
+         +         +         +         +APU Generator
+         +         +         +         +Drive Motor
+         +         +         +         +Drive Regenerator
+         +         +         +         +Battery - Charge
+         +         +         +         +Battery - Discharge
+         +         +         +Extended Hybrid Battery Model
+         +         +         +Extended Hybrid Control          +(controller)
+         +         +Driver
+         +         +         +Standard Data    +         +(controller)
+
+Adjacent to each options text up to two icons are displayed. They are used to identify whether the option is 'off', 'on' and if 'on' whether any data errors have been identified. The relevant icons are;
+
+

off
+
+
on
+
+
errors
+
+
+The 'off' or 'on' icon can be selected to turn that specific data section on and off. The icon displayed changing to indicate the new state. Should the 'errors' icon be displayed, selecting this will open the 'data checking' wizard.
+
+On the menubar at the top of the data status window the menu option Functions / Update will allow the user to update the data status display, such that it reflects any data changes that may have been made. Some functions such as loading a new file automatically update the data status display.
+
+{button ,AL(`list17',0,"",`main')} Related Topics
+
+


++$#>How to use the Spline List / Edit Tool
+

+A number of data windows have data variables that are defined using coefficients or data lists. They are normally displayed in fixed units. The spline list / edit tool allows these variables to be edited in other relevant units, and a list of the variable over a user defined range in these units to be viewed. The data can be edited in these units and changes saved back to the original data window.
+
+The spline list function can be opened either through a List
pull-down menu option on the data window, (if one exists), or through the spline edit icon.
+
+{


+
+
+


++$#>Direct Editing of the Data File
+
Overview
+

+The LOTUS VEHICLE SIMULATION models are generated as a *.car file, which is simply an ASCII text file viewable through any word-processor or the available File Editor, accessible from the File pull-down menu on the main window.
+
+The user is free to enter and create model files directly through this approach. Typically when attempting to draw large sections of data together from many sources it would be inconvenient to complete all the data-processing through the graphical user interface. This section is designed to provide an insight into the structure of the *.car file and the arrangement of the variables which define a model.
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+
+


++$#>Data System in the *.car file
+

+The "*.car" input file is structured in a way that allows the user to easily add new options to an existing model. A "keyword" data input format is used. An option is invoked by the inclusion of a "keyword" anywhere in the input file. Data required for that option are then read immediately following the "keyword".
+
+ The "keywords" are;
+
+ 1. VEHICLE
      +         +         +*
+ 2. DYNO

+ 3. TYRE
         +         +         +*
+ 4. DRIVETRAIN
   +         +*
+
5. CLUTCH
+ 6. TORQUE CONVERTER

+ 7. GEARBOX

+ 8. GSHIFT

+ 9. GLOSS

+ 10. ENGINE      +         +         +*
+ 11. ENG_SCALE

+ 12. MAP

+ 13. OPTIMUM

+ 14. CATALYST

+ 15. WARM-UP

+ 16. AUXILLARIES

+ 17. GRID

+ 18. PDRIVE

+ 19. HYBRID

+ 20. DRIVER

+ 21. AERODYNAMICS
+ 23. HYBPOWER
+ 22. HYBLOSS
+ 24. HYBBATTERY
+ 25. HYBCONTROL
+ 26. XTYRE
+
+

+
+ The keywords marked by an * are the minimum required to run the model.
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+
+


++$#>*.Car Format for the Model File Titles
+

+The first three lines of the "*.car" file contain;
+
+Line
+
+ 1. MAIN TITLE
(80 CHARACTERS MAXIMUM)
+
+ 2. SUB TITLE (80 CHARACTERS MAXIMUM)
+
+ 3. TEST NUMBER (80 CHARACTERS MAXIMUM), and DATA FILE VERSION No. (currently 3.01)
+
+The test number controls the naming of the input file and all results files
+
+The data file version number is used by the reader to correctly interpret the file data
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+
+


++$#>*.Car Format for the Vehicle data
+

+This option specifies basic vehicle dimensions.
+
+*.Car file format;
+
+ VEHICLE
(keyword)
+ WEIGHT
+ FAREA, CD, PAREA, CLF, CLR, RHO
+ WHBASE, TRACKF, TRACKR, DCOG, HCOG

+
+ Where
+
+ WEIGHT  +Vehicle test weight (kg).This is the total weight including occupants.
+
+ FAREA   +         +Vehicle frontal area (m2).
+
+ CD      +         +Aerodynamic drag coefficient.
+
+ PAREA   +Vehicle plan area (m2).
+
+ CLF     +         +Aerodynamic lift coefficient at front wheels. A negative lift coefficient produces downforce.
+
+ CLR     +         +Aerodynamic lift coefficient at rear wheels. A negative lift coefficient produces downforce.
+
+ RHO     +         +Atmospheric air density (kg/m3). For example RHO = 1.205 kg/m3 at 20 C and 1013 kpa.
+
+ WHBASE  +Vehicle wheelbase (m)
+
+ TRACKF  +Front track (m). This is only used to calculate maximum cornering speed in track simulation.
+
+ TRACKR  +Rear track (m). This is only used to calculate maximum cornering speed in track simulation.
+
+ DCOG    +         +Distance behind the front wheels of the centre of gravity (m).
+
+ HCOG    +         +Height of centre of gravity above the ground (m).
+
+ The following lines show an example of the VEHICLE option
+
+ VEHICLE
+ 1205.
+ 1.950 .3800 2.000 -.1300 -.2000
+ 1.205
+ 2.450 1.000 1.000 .8860 .6000
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+
+


++$#>*.Car Format for the Dyno data
+

+This option tells the program that the vehicle is mounted on a chassis dynomometer.
+
+*.Car file format;
+
+ DYNO
(keyword)
+ DYNM, ADYN , BDYN , CDYN
+
+Where
+
+ DYNM    +         +Chassis dynomometer effective mass (inertia) (kg)
+
+ ADYN    +         +Brake constant (N).
+
+ BDYN    +         +Brake constant (N/m/s).
+
+ CDYN    +         +Brake constant (N/(m/s)2).
+
+
+ Where the brake constants form the equation that describes the chassis dynamometer load at the roller periphery.
+
+ Brake Force = ADYN +
+ BDYN*( Velocity (m/s) ) +
+ CDYN*( Velocity (m/s) )2
+
+The following lines show an example of the DYNO option
+
+DYNO
+ 1250. 345.0 .0000E+00 .8000E-01
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+
+


++$#>*.Car Format for the Tyre Data
+

+This option provides the rolling radius and rolling resistance curve for the tyres.
+
+*.Car file format;
+
+ TYRE
(keyword)
+ ITYREND
+
+
IF(ITYREND.GT.1)THEN
+ RTYRE(2), RTYRE(3)
+
ITOPT
+ COEFFS(2), TYDEF(2)

+ COEFFS(3), TYDEF(3)
+ IF ( ITOPT.EQ.2 ) THEN
+ TYR1(2), TYR2(2), TYR3(2), TYR4(2), TYR5(2), TYR6(2)
+ TYR1(3), TYR2(3), TYR3(3), TYR4(3), TYR5(3), TYR6(3)
+ ENDIF
+
+ ELSE
+
+ RTYRE(1)
+
ITOPT, COEFFS(1), TYDEF(1)
+ IF ( ITOPT.EQ.2 ) THEN
+ TYR1(1), TYR2(1), TYR3(1), TYR4(1), TYR5(1), TYR6(1)
+ ENDIF
+
+ ENDIF
+
+ Where
+
+ ITYREND         +Flag to identify if common or separate tyre properties are to be used for front and rear tyres.
+         +         +1 = common tyre properties
+         +2 or 3 = different tyre properties for front and rear tyres
+         +( Bracketed indices (1), (2) and (3) imply, common, front and rear)
+
+ RTYRE   +Tyre rolling radius (m). This can be obtained from the ETRTO tables
+
+ ITOPT   +         +Rolling resistance equation option
+1 = use default rolling resistance curve
+2 = user specified rolling resistance curve
+
+ COEFFS  +Coefficient of friction between tyre and road.
+Typically in range 0.8 to 1.05.
+
+ TYDEF   +         +Tyre transmission efficiency. Typically 0.95
+
+
+ TYR1, TYR2, TYR3, TYR4, TYR5, TYR6
+
Tyre rolling resistance curve coefficients
+
+ Where
+
+ COEFFR = ( TYR1 + ( TYR2 * UM )
+ > + ( TYR3 * UM * UM )
+ > + ( TYR4 * UM * UM * UM )
+ > + ( TYR5 * UM * UM * UM * UM )
+ > + ( TYR6 * UM * UM * UM * UM * UM ) )/1000.0
+
+ UM - vehicle velocity m/s
+
+COEFFR - coefficient of rolling resistance N/1000 N
+
+The following lines show two examples of the TYRE option.
+
+TYRE
+ 1
+ .2810
+ 2 1.000 0.95
+ 10.00 -.6418E-01 .4274E-02 .000 .000 .000
+
+
+TYRE
+ 2
+ 0.2810 0.320
+ 2
+ 1.000 0.95
+ 1.000 0.96
+ 10.00 -.6418E-01 .4274E-02 .000 .000 .000
+ 12.00 -.5330E-01 .3461E-02 .000 .000 .000
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+
+


++$#>*.Car Format for the Drivetrain data
+

+This option specifies the drive type, the inertia of the wheels, the inertia of the drive shafts and the final drive gear ratio and efficiency.
+
+*.Car file format;
+
+ DRIVETRAIN
(keyword)
+ IDOPT
+ RIFWHL, RIBWHL
+ RIPAXL, RIPROP
+ GRFD, EFFD, IFDEFF
+

+ Where
+
+ IDOPT   +         +Drivetrain type
+1 = front wheel drive
+2 = rear wheel drive
+3 = four wheel drive
+
+ RIFWHL          +Rotating inertia of a front wheel (kg.m2). Two front wheels are assumed to be fitted to the vehicle.
+
+ RIBWHL  +Rotating inertia of a rear wheel (kg.m2). Two rear wheels are assumed to be fitted to the vehicle.
+
+ RIPAXL  +Rotating inertia of axle/drive shaft (kg.m2). This is the total inertia if two drive shafts are fitted.
+
+ RIPROP  +Rotating inertia of prop shaft (kg.m2). If not fitted set equal to 0.0.
+
+ GRFD    +         +Final drive ratio
+
+ EFFD    +         +Maximum efficiency of final drive. This should in the range 0-1.
+
+ IFDEFF  +Final drive efficiency switch
+         +         +1 = Efficiency fixed at EFFD
+         +         +2 = Efficiency as function of speed and load
+
+The following lines show an example of the DRIVETRAIN option.
+
+DRIVE
+ 2
+ .6770 .6770
+ .0000E+00 .0000E+00
+ 3.742 .9600
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+
+


++$#>*.Car Format for the Clutch Data
+

+`This option tells the program that a clutch is fitted between the engine and the gearbox input shaft. Note that a clutch and a torque converter cannot be specified in the same model.
+
+*.Car file format
+
+ CLUTCH
(keyword)
+ IUNIT, UDCLTCH
+
+
+ where
+
+ IUNIT   +         +Flag that indicates the units of the declutch speed
+1 = declutch speed entered in km/h
+2 = declutch speed entered in mph
+
+ UDCLTCH         +Road speed at which the clutch is engaged.
+
+Note - if the CLUTCH option is not set and the TORQUE CONVERTER option is also not set then the program will assume a clutch is fitted and will automatically set the clutch engagement speed to that produced by the engine idle speed in first gear.
+
+The following lines show an example of the CLUTCH option
+
+CLUTCH
+ 1 5.000
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+
+


++$#>*.Car Format for the Torque Converter Data
+

+This option tells the program that a torque converter is fitted between the engine and the gearbox input shaft. Note that a clutch and a torque converter cannot be specified in the same model.
+
+*.Car file format:
+
+ TORQUE CONVERTER
(keyword)
+ NPTC
+ ( SPRATIO(J), J = 1,NPTC )
+ ( TORATIO(J), J = 1,NPTC )
+ ( FCIN(J), J = 1,NPTC )
+ NTLOCK, ILOCKL, ILOCKS
+ ----->
+ ntlock LPARAM, ( (SLOW(IG), SHIGH(IG)) IG = 1, NGRS)
+ times
+ <------
+ILIDLE (SRIDLE)
+
+
+ Where
+
+ NPTC    +         +Number of point on torque converter characteristic curve (maximum = 20)
+
+ SPRATIO         +Torque converter speed ratios at which the torque ratios and input capacity factors are provided.
+SPRATIO = OUTPUT SPEED/INPUT SPEED
+
+ TORATIO         +Torque ratio at this speed ratio
+TORATIO = OUTPUT TORQUE/INPUT TORQUE
+
+ FCIN    +         +Torque converter input capacity factor at this speed ratio. (rad/s/sqrt(N.m))
+
+ NTLOCK  +Number of load parameters in torque converter lock-up map. Set NTLOCK=0 if torque converter lock-up is not available.
+
+ ILOCKL  +Load parameter used to define lock-up map (range 0-14)
+0 = Torque fraction
+1-14 = Map type No., i.e. 5 = CO emissions
+
+ ILOCKS  +Speed parameter used to define lock-up map. (range 1 - 4)
+1 = shift speeds specified in ENGINE SPEED (RPM)
+2 = shift speeds specified in PROPSHAFT SPEED (RPM)
+3 = shift speeds specified in ROAD SPEED (KPH)
+4 = shift speeds specified in ROAD SPEED (MPH)
+
+ LPRAM   +Torque fraction/map value for this set of lock-up speeds
+
+ SLOW(IG)        +Speed at which lock-up is engaged in this gear.
+
+ SHIGH(IG)       +Speed at which lock-up is released in this gear
+
+ ILIDLE  +         +torque converter mode at idle
+         +         +0 = Normal Idle, (i.e. gearbox remains in drive)
+         +         +1 = Full Neutral Idle, (i.e. gearbox placed in neutral and hence no drag torque on gearbox)
+         +         +3 = Semi-Neutral Idle, (i.e. gearbox placed in so called semi-neutral where ther remains a speed ratio between converter input and output speed)
+
+ SRIDLE  +Speed ratio to be used for semi-neutral idle (range 0 - 1). This data is only entered if ILIDLE = 2
+
+The following lines show an example of the TORQUE CONVERTER option
+
+TORQUE CONVERTER
+ 11
+ .0000000E+00 .1000000 .2000000 .3000000 .4000000
+ .5000000 .6000000 .7000000 .8000000 .9000000
+ 1.000000
+ 2.280000 2.120000 1.960000 1.800000 1.640000
+ 1.480000 1.320000 1.160000 1.000000 1.000000
+ 1.000000
+ 23.30000 23.40000 23.60000 23.80000 24.10000
+ 24.80000 25.80000 27.10000 29.30000 37.40000
+ 100.000
+ 1 0 1
+ 1.000 6000. 6000. 3200. 3200.
+ 2050. 2050. 1400. 1400.
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+
+


++$#>*.Car Format for the Gearbox Data
+

+This option specifies the gearbox gear ratios.
+
+ *.car file format;
+
+ GEARBOX
(keyword)
+NGRS, UTMAXG, USMAXG, IGBEFF
+ ------>
+ NGRS
+
GRATIO(J), GREFF(J), GEARIP(J)
+
TIMES
+ <-----
+
+ Where
+
+ NGRS    +         +
Number of gears (maximum = 10)
+
+ UTMAXG  +Maximum gearbox input torque (Nm). This is used by the gear efficiency equations. If UTMAXG is set equal to 0.0 then the maximum engine torque is used.
+
+ USMAXG  +Maximum gearbox input speed (rpm). This is used by the gear efficiency function equations. If USMAXG is set equal to 0.0 then the maximum engine speed is used.
+
+ IGBEFF          +Gearbox efficiency switch
+1 = Efficiency fixed at GREFF(J) for each gear
+2 = Efficiency as function of speed and load
+
+ GRATIO(J)       +Gearbox gear ratio for gear J
+
+ GREFF(J)        +Gearbox maximum transmission efficiency in gear J.
+
+ GEARIP(J)       +Gearbox rotating inertia at gearbox input speed (kg.m2).
+
+The following lines show an example of the GEARBOX option.
+
+GEARBOX
+ 4 440.0 6500 2
+ 3.027 .9800 .4330E-01
+ 1.619 .9800 .4470E-01
+ 1.000 .9800 .7520E-01
+ .6940 .9800 .7870E-01
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+
+


++$#>*.Car Format for the Gear Shift Data
+

+This option specifies the user gear shift strategies.
+
+ *.car file format;
+
+ GSHIFT
(keyword)
+
+ NSHIFT
+--------------->
+ nshift
+ times| TITSHFT(IS)
+ | NTORS(IS), ISOPTL(IS), ISOPTS(IS)
+
| ---------------->
+ | ntors LPARAM(IS), ( (SLOW(IG), SHIGH(IG)) IG = 1, NGRS)
+ | times
+ | ----------------<
+ | ISMODE, IKDOWN
+ <------
+
+Where
+
+ NSHIFT          +Number of user shift maps (maximum = 10)
+
+ TITSHIFT(IS)    +Title of shift map IS. (maximum = 80 characters)
+
+ NTORS(IS)       +Number of load fractions in shift map (maximum = 15)
+
+ ISOPTL(IS)      +Load parameter used to define shift map (range 0-17)
+0 = Torque fraction
+1-17 = Map type No.(i.e. 5 = CO emissions)
+
+ ISOPTS(IS)      +Speed parameter used to define shift map. (range 1 - 4)
+1 = shift speeds specified in ENGINE SPEED (RPM)
+2 = shift speeds specified in PROPSHAFT SPEED (RPM)
+3 = shift speeds specified in ROAD SPEED (KM/H)
+4 = shift speeds specified in ROAD SPEED (MPH)
+
+ LPRAM(IS)       +Torque fraction/map value for this set of shift speeds
+
+ SLOW(IG)        +Lowest speed allowed in this gear. This is the same as the shift down speed.
+
+ SHIGH(IG)       +Highest speed allowed in this gear. This is the same as the shift up speed.
+
+ ISMODE(IS)      +Shift mode
+1 = FREE - gear shifts will be made to minimise the parameter specified in the OPTIMUM option.
+2 = FORCED - gear shifts will only occur when a shift line is crossed.
+
+ IKDOWN(IS)      +Controls kick down mode under acceleration
+
0 = OFF - Kick down disabled
+1 = ON - kick down enabled
+
+The following lines show an example of the GSHIFT option
+
+GSHIFT
+ 1
+Title - this shift map used the M.A.P. map
+ 6 12 1
+ 0.8000e-01
+600.0 1367.
+658.0 1505.
+808.0 2250.
+1451.0 6200.
+.1000
+600.0 1538.
+658.0 1787.
+1039. 2366.
+1491. 6200.
+.2000
+600.0 1880.
+658.0 2211.
+1154. 2770.
+1608. 6200.
+.3000
+600.0 2393.
+658.0 2822.
+1269. 4500.
+1648. 6200.
+.6000
+600.0 3931.
+658.0 4139.
+1962. 6200.
+3923. 6200.
+1.000
+600.0 6200.
+2822. 6200.
+3578. 6200.
+4000. 6200.
+ 2 1
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+
+


++$#>*.Car Format for the Gear Loss Data
+

+This option allows the user to specify the gearbox torque losses (spin losses).
+
+ *.car file format;
+
+ GLOSS
(keyword)
+
+ TITGLOS
+
+----------------->
+ ngrs
+ times
+ | NGLOS(IG), NGLOT(IG)
+
|
+ | GLSPD(IS) IS = 1, NGLOS
+ | GLTFR(IT) IT = 1, NGLOT
+ | --------------------->
+ | nglot GLTOR(IS,IT) IS = 1, NGLOS
+ | times
+ | ---------------------<
+ ---------<
+
+Where
+
+
+ TITGLOS         +Gear loss data title. (maximum = 80 characters)
+
+ NGLOS(IG)       +Number of gearbox input speeds for gear loss curves in this gear (maximum 20)
+
+ NGLOT(IG)       +Number of torque fractions for which gear loss curves are supplied in this gear (maximum 10)
+
+ GLSPD(IS)       +Gearbox input speeds (rpm)
+
+ GLTFR(IT)       +Gearbox input torque fractions (0- 1.0). This is assumed to be the same as engine torque fraction
+
+ GLTOR(IS,IT)    +Gearbox torque loss (Nm) for input speed IS and torque fraction IT
+
+The following lines show an example of the GLOSS option.
+
+GLOSS
+ Spin Loss Title
+6 3
+ 600. 1000. 2000. 3000. 4500. 6500.
+ .5000 .8000 1.000
+         +4.531 5.175 5.413 5.526 5.876 6.328
+         +5.876 7.345 9.831 12.20 13.33 14.80
+         +7.119 8.701 10.85 12.54 14.01 15.93
+6 3
+ 600. 1000. 2000. 3000. 4500. 6500.
+ .5000 .8000 1.000
+         +3.108 3.187 3.390 3.684 4.362 5.254
+         +4.859 5.424 5.311 6.215 7.684 9.639
+         +5.989 6.328 6.102 6.667 7.910 9.639
+6 3
+ 600. 1000. 2000. 3000. 4500. 6500.
+ .5000 .8000 1.000
+         +3.808 3.582 3.684 4.068 5.108 6.486
+         +5.537 5.989 5.424 5.876 7.684 10.09
+         +6.441 6.780 6.328 6.554 8.136 10.25
+6 3
+ 600. 1000. 2000. 3000. 4500. 6500.
+ .5000 .8000 1.000
+         +3.605 3.526 3.661 4.249 5.130 6.305
+         +6.215 6.441 6.215 7.232 11.19 11.19
+         +6.893 8.701 7.006 8.136 11.75 11.75
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+
+


++$#>*.Car Format for the Engine Specification Data
+

+This option specifies the engine details and torque curve.
+
+*.Car file format;
+
+ ENGINE
(keyword)
+ IETYPE
+ BORE, STROKE, CR, NCYL, ICYC, RIENG
+ SPIDLE, SPEMAX
+ NSPC
+
----->
+ nspc SPDPC(I), BMEPC(I)
+ times
+ <-----
+
+ Where
+
+ IETYPE  +Engine type (must = 1)
+1 = Internal combustion engine
+
+ BORE    +         +Engine bore (mm)
+
+ STROKE  +Engine stroke (mm)
+
+ CR      +         +Compression Ratio, (only used in conjunction with engine scaling)
+
+ NCYL    +         +Number of cylinders
+
+ ICYC    +         +Cycle type
+         +2 = Two stroke
+         +4 = Four stroke
+
+ RIENG   +         +Rotating inertia of engine (kg.m2)
+
+ SPIDLE  +Engine idle speed (rpm)
+
+ SPEMAX  +Maximum engine speed (rpm)
+
+ NSPC    +         +Number of points used to define power curve ( maximum = 20 )
+
+ SPDPC(I)        +Engine speed at point I (rpm)
+
+ BMEPC(I)        +Maximum BMEP at this engine speed (bar).
+
+The following lines show an example of the ENGINE option
+
+
+ ENGINE
+ 1
+ 77.00 79.00 10 4 4 .1261
+ 850. 6500.
+ 16
+ 850.0 7.370
+ 1000. 7.620
+ 1400. 8.210
+ 1800. 8.800
+ 2200. 9.130
+ 2600. 9.880
+ 3000. 10.05
+ 3400. 9.800
+ 3800. 9.800
+ 4200. 10.14
+ 4600. 10.22
+ 5000. 9.800
+ 5400. 9.630
+ 5800. 9.130
+ 6200. 8.290
+ 6500. 7.120
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+
+


++$#>*.Car Format for the Engine Scaling Data
+

+This option allows the user to scale the engine performance and consumption maps by factors which scale with bore and stroke.
+
+*.Car file format;
+
+ ENG_SCALE
(keyword)
+
+ BSCALE, SSCALE, CRSENS
+ TEBORE, TESTROKE,TECR
+ SPBORE, SPSTROKE
+ ESSMIN, ESSMAX
+ IFRIC
+

+ IF ( IFRIC.EQ.1 ) THEN ENTER FRICTION CURVES
+ NFRIC
+ nfric ---------->
+ times | FRICSP(I), FMEPOLD(I), FMEPNEW(I)
+ -----------<
+ ELSE IF ( IFRIC.EQ.2 ) READ FRICTION MODEL DATA
+ NMAIN
+ DMAIN,WMAIN
+ DBIG,WBIG
+ ICTYPE,IFTYPE,NVALVE,VLIFT
+ DCAM,WCAM
+
ELSE IF ( IFRIC.EQ.3 ) READ FRICTION MODEL FOR EACH ENGINE
+ NMAIN
+ DMAIN,WMAIN
+ DBIG,WBIG
+ ICTYPE,IFTYPE,NVALVE,VLIFT
+ DCAM,WCAM
+ NMAIN2
+ DMAIN2,WMAIN2
+ DBIG2,WBIG2
+ ICTYPE2,IFTYPE2,NVALVE2,VLIFT2
+ DCAM2,WCAM2
+

+
+ Where
+
+ BSCALE  +Engine bore to which input data is to be scaled (mm)
+
+ SSCALE  +Engine stroke to which input data is to be scaled (mm)
+
+ CRSENS  +Compression ratio change per mm increase in bore (1/mm)
+
+ TEBORE  +% change in thermal efficiency per mm increase in bore (%/mm). This number is normally negative.
+
+ TESTROKE        +% change in thermal efficiency per mm increase in stroke (%/mm). This number is normally 0.0
+
+ TECR    +% change in thermal efficiency per unit increase in compression ratio.
+
+ SPBORE  +% change in speed data per mm increase in bore. The number is normally 0.0
+
+ SPSTROKE        +% change in speed data per mm increase in stroke. This number is usually -ve.
+
+ ESSMIN  +Minimum engine speed (i.e. idle speed) to be set after speed scaling. If ESSMIN is 9999.0 then the scaled minimum is used.
+
+ ESSMAX  +Maximum engine speed to be set after speed scaling. If ESSMAX is 9999.0 then the scaled maximum is used.
+
+ IFRIC   +Friction model option
+1 = enter mechanical friction data for original and scaled engine
+2 = use friction model to estimate change in friction with changes in bore and stroke
+3 = use friction model to estimate change in friction with specified changes in bearings and valve train.
+
+ FRICSP(I)       +Engine speed at which mechanical friction data will be specified (rpm)
+
+ FMEPOLD(I)      +Mechanical friction in BAR of original engine
+
+ FMEPNEW(I)      +Mechanical friction in BAR of scaled engine
+
+ NMAIN/NMAIN2    +         +Number of main bearing
+
+ DMAIN/DMAIN2    +         +Diameter of main bearings (mm)
+IF DMAIN = 9999.0 Estimate bearing sizes for an inline engine DMAIN = 0.68*BORE
+IF DMAIN = 9998.0 Estimate bearing sizes for an V cyl per pin engine DMAIN = 0.7*BORE
+IF DMAIN = 9997.0 Estimate bearing sizes for an V 2 cyl per pin engine DMAIN = 0.62*BORE
+
+ WMAIN/WMAIN2    +Width of main bearings (mm)
+IF WMAIN = 9999.0 Estimate bearing sizes for an inline engine WMAIN = 0.36*BORE
+IF WMAIN = 9998.0 Estimate bearing sizes for an V cyl per pin engine WMAIN = 0.35*BORE
+IF WMAIN = 9997.0 Estimate bearing sizes for an V 2 cyl per pin engine WMAIN = 0.40*BORE
+
+ DBIG /DDIG2     +         +Diameter of big end bearings (mm)
+IF DBIG = 9999.0 Estimate bearing sizes for an inline engine DBIG = 0.57*BORE
+IF DBIG = 9998.0 Estimate bearing sizes for an V cyl per pin engine DBIG = 0.6*BORE
+IF DBIG = 9997.0 Estimate bearing sizes for an V 2 cyl per pin engine DBIG = 0.57*BORE
+
+ WBIG/WBIG2      +         +Width of big end bearings (mm)
+IF WBIG = 9999.0 Estimate bearing sizes for an inline engine WBIG = 0.35*BORE
+IF WBIG = 9998.0 Estimate bearing sizes for an V cyl per pin engine WBIG = 0.36*BORE
+IF WBIG = 9997.0 Estimate bearing sizes for an V 2 cyl per pin engine WBIG = 0.39*BORE
+
+ ICTYPE/ICTYPE2  +Valve train type
+1 = OHV pushrod with rockers
+2 = DOHC
+3 = SOHC
+4 = SOHC with rockers
+5 = DOHC with rockers
+
+ NVALVE/NVALVE2  +Number of valves per cylinder
+
+ VLIFT/VLIFT2    +         +Maximum valve lift (mm)
+
+ DCAM/DCAM2      +         +Diameter of cam bearings (mm)
+If DCAM = 9999.0 diameter set = 0.34*BORE
+
+ WCAM/WCAM2      +         +Width of cam bearing (mm)
+If WCAM = 9999.0 width set = 0.66*DCAM
+
+The following lines show three examples of the ENG_SCALE option
+
+This example uses IFRIC=1 where the change in mechanical friction is specified
+
+ENG_SCALE
+ 81.60 86.00 .0000E+00
+ .0000E+00 .0000E+00 10.00
+ .0000E+00 .0000E+00
+ 600.0 6500.
+ 1
+ 8
+ 600.0 .9016 .8964
+ 1400. .9665 .9553
+ 2400. 1.175 1.156
+ 3200. 1.369 1.342
+ 4000. 1.575 1.541
+ 4800. 1.791 1.749
+ 5600. 2.016 1.965
+ 6500. 2.278 2.217
+
+This example uses IFRIC=2 where the bearings are all scaled from the bore dimension
+
+ENG_SCALE
+ 80.50 88.20 .0000E+00
+ .8750E-01 .0000E+00 10.00
+ .0000E+00 -1.150
+ 600.0 6500.
+ 2
+ 5
+ 9999. 9999.
+ 9999. 9999.
+ 2 3 4 9.000
+ 28.00 17.00
+
+This example shows how the effect of bearing dimensions can be examined
+
+ENG_SCALE
+ 81.60 86.00 .0000E+00
+ .0000E+00 .0000E+00 10.00
+ .0000E+00 .0000E+00
+ 600.0 6500.
+ 3
+ 5
+ 58. 21.
+ 49. 20.
+ 2 3 4 9.000
+ 28.00 17.00
+ 5
+ 52.5 21.
+ 47. 20.
+ 2 3 4 9.000
+ 28.00 17.00
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+
+


++$#>*.Car Format for the Engine Map Data
+

+This option specifies the engine economy, emission and operating maps as required. The maps are all specified on a common grid of speed and load points. This grid is first specified, followed by the map data. The grid does not have to be regular, but a complete grid must be provided. Thus some extrapolation of data above the full load BMEP is required to satisfy the input requirements. The accuracy of the extrapolated data will not effect the calculated results.
+
+*.Car file format;
+

+ MAP (keyword)
+ NSPMAP
+ SPDMAP(K),K = 1,NSPMAP
+ NLDMAP
+ BMEPMAP(J),J = 1,NLDMAP
+ NMAP
+ ----------------->
+ nmap
+ times
+ | IMAP, IMUNIT, (SG), (CALVAL), (FACT)
+ | ----------------->
+ | nspmap
+ | times DATMAP(J,K),J = 1,NLDMAP
+ | -----------------<
+ | IORUN
+ | (DORUN(K), K = 1, NSPMAP)
+ |
+ ----------------<
+
+ Where
+
+ NSPMAP  +Number of speeds used to define maps ( maximum = 40 )
+
+ SPDMAP(J)       +Engine speed at K map point (rpm).
+
+ NLDMAP  +Number of loads used to define maps ( maximum = 40 )
+
+ BMEPMAP(J)      +Engine BMEP at J map point (bar).
+
+ NMAP    +         +Number of maps to be defined ( maximum = 14 )
+
+ IMAP    +         +Map type. The map types available are;
+         +1 = Fuel consumption
+         +2 = Air consumption
+         +3 = Hydrocarbon emissions
+         +4 = NOx emissions
+         +5 = CO emissions
+         +6 = CO2 emissions
+         +7 = O2 emissions
+         +8 = Particulate emissions
+         +9 = user flow
+         +10 = spark timing
+         +11 = throttle position
+         +12 = manifold air pressure (bar)
+         +13 = air fuel ratio
+         +14 = Exhaust temp
+
+ IMUNIT  +Units flag
+         +For map type 1 - 9 the unit options are
+         +0 = GMS/S
+         +1 = GMS/HR
+         +2 = GMS/KW.HR
+         +3 = GMS/HR/LITRE
+
+ SG      +         +Specific gravity of fuel (0.75-gasoline 0.84-diesel).This should only be entered if IMAP=1
+
+ CALVAL  +Calorific value of fuel (kJ/kg). This should only be entered in IMAP=1
+
+ FACT    +         +Scaling factor for map data. This can be used to make global changes to the map data.
+
+ DATMAP(J,K)     +Map data at BMEP J and speed K
+
+ IORUN   +         +Overrun map option. This tells the program which map values to use when the engine is being motored by the vehicle inertia.
+         +0 = set overrun map value to lowest load value
+         +1 = set overrun map value to zero
+         +2 = user will specify overrun values
+
+Note that the overrun map value specified for the first speed is that used when the engine is at idle (unless auxiliaries or a torque converter are specified).
+
+ DORUN(K)        +user specified overrun map values at speed K.
+The units for DORUN are g/s for map type 1-9 when IMUNIT = 0 or 1 and g/s/l when IMUNIT = 2 or 3
+
+The following lines show an example of the MAP option in which a fuel consumption map is entered.
+
+MAPS
+16
+ 850.0 1000. 1400. 1800. 2200.
+ 2600. 3000. 3400. 3800. 4200.
+ 4600. 5000. 5400. 5800. 6200.
+ 6500.
+12
+ .1000E-01 .8380 1.676 2.514 3.352
+ 4.190 5.028 5.866 6.704 7.542
+ 8.380 9.218
+ 1
+ 1 2 .7500 .4200E+05 1.00 FUEL G/KW.H
+ .6975E+05 1008. 572.9 504.1 406.7
+ 368.3 351.8 368.3 376.6 408.3
+ 440.1 471.9
+ .5929E+05 816.2 462.1 381.1 340.1
+ 313.1 299.1 313.1 320.1 347.1
+ 374.1 401.1
+ .4782E+05 747.9 461.9 374.0 313.0
+ 299.0 292.0 286.0 286.0 299.0
+ 326.0 353.0
+ .3865E+05 680.0 449.0 367.0 313.0
+ 299.0 279.0 270.0 265.0 270.0
+ 299.0 312.0
+ .3651E+05 653.1 435.1 353.0 299.0
+ 292.0 279.0 270.0 265.0 270.0
+ 286.0 300.0
+ .3701E+05 748.0 476.0 367.0 306.0
+ 292.0 286.0 279.0 265.0 265.0
+ 279.0 299.0
+ .3798E+05 748.0 476.0 353.0 313.0
+ 299.0 286.0 279.0 272.0 265.0
+ 286.0 313.0
+ .3874E+05 680.1 449.0 367.0 319.0
+ 313.0 292.0 279.0 279.0 286.0
+ 313.0 313.0
+ .3871E+05 653.0 449.0 381.0 340.0
+ 326.0 326.0 340.0 326.0 326.0
+ 313.0 313.0
+ .3872E+05 748.0 517.0 408.0 394.0
+ 374.0 347.0 353.0 340.0 326.0
+ 319.0 313.0
+ .5478E+05 789.1 639.0 544.0 476.0
+ 435.0 394.0 367.0 360.0 353.0
+ 340.0 333.0
+ .6827E+05 952.0 789.0 585.0 489.0
+ 476.0 428.0 421.0 401.0 381.0
+ 367.0 381.0
+ .7977E+05 1292. 816.0 639.0 530.0
+ 517.0 476.0 462.0 449.0 408.0
+ 394.0 408.0
+ .9117E+05 1400. 856.1 666.0 612.0
+ 544.0 503.0 476.0 469.0 442.0
+ 428.0 442.0
+ .9118E+05 1496. 952.0 693.0 666.0
+ 598.0 544.0 530.0 476.0 476.0
+ 476.0 496.0
+ .9952E+05 1577. 982.9 710.9 672.7
+ 600.3 543.8 526.9 472.7 470.7
+ 469.0 486.7
+ 2
+ .5661E-01 .5661E-01 .5661E-01 .5661E-01 .5661E-01
+ .5661E-01 .5661E-01 .5661E-01 .5661E-01 .5661E-01
+ .5661E-01 .5661E-01 .5661E-01 .5661E-01 .5661E-01
+ .5661E-01
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+
+


++$#>*.Car Format for the Optimum Data
+

+This option specifies the engine speed/power line that produces either optimum(maximum) performance or optimum(minimum) economy/emissions.
+
+*.Car file format;
+
+ OPTIMUM
(keyword)
+ IOPT
+ IF ( IOPT.EQ.1 ) THEN
+ NOPTU
+ SPOPTU(J), PWOPTU(J), J = 1,NOPTU
+ ELSE IF ( IOPT.EQ.2 )
+ IMOPT
+ ENDIF
+
+ Where
+
+ IOPT    +         +Optimum line option
+         +1 = user specified optimum line
+         +2 = optimum line calculated to minimise map parameter
+
+ NPOTU   +Number of speeds in user specified speed/power line.( maximum = 20 )
+
+ SPOPTU(J)       +Engine speed at which optimum power is specified (rpm).
+
+ PWOPTU(J)       +Optimum engine power at this engine speed (kW).
+
+ IMOPT   +Map number for which the optimum line is calculated.
+         +IMOPT must be greater than 0 and less than or equal to 17 (i.e. 5 = CO emissions), (map type must be defined)
+
+Note - If the optimum option is not specified then the optimum power line is set equal to the power curve.
+
+The following lines show an example of the OPTIMUM option
+
+OPTIMUM
+ 1
+ 12
+ 1000. .1000
+ 1000. 4.000
+ 1200. 7.000
+ 1800. 11.00
+ 2000. 15.00
+ 2800. 25.00
+ 3000. 28.00
+ 3800. 42.00
+ 4600. 48.00
+ 5000. 52.00
+ 5400. 59.00
+ 5800. 65.80
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+
+


++$#>*.Car Format for the Catalyst Data
+

+This option specifies the maximum conversion efficiency and warm-up times for a catalyst fitted to the vehicle.
+
+*.Car file format;
+
+ CATALYST
(keyword)
+ CATEF-HC, CATT1-HC, CATT2-HC
+ CATEF-NOX, CATT1-NOX, CATT2-NOX
+ CATEF-CO, CATT1-CO, CATT2-CO

+
+ Where
+
+ CATEF-HC
+ CATEF-NOX       +Maximum catalyst conversion efficiency for HC, NOX
+ CATEF-CO        +and CO emissions respectively. (range 0-1)
+
+ CATT1-HC
+ CATT1-NOX       +Time from start of cycle to point at which catalyst
+ CATT1-CO        +starts to warm up (seconds).
+
+ CATT2-HC
+ CATT2-NOX       +Time from start of cycle to point at which catalyst
+ CATT2-CO        +has reached its maximum conversion efficiency (seconds).
+
+The following lines show an example of the CATALYST option
+
+CATALYST
+ .9500 100.0 20.00
+ .9800 80.00 20.00
+ .9600 120.0 20.00
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+
+


++$#>*.Car Format for the Warm-Up Data
+

+This option allows the user to specify the increase in the 3 primary emissions at startup and how these ramp down to their steady state value with time. This option also allows the user to specify the transient increase in these emissions during accelerations and decelerations.
+
+*.Car file format
+
+ WARM-UP
(keyword)
+ WARMF-HC, WARMT-HC, WACFACT-HC
+ WARMF-NOX, WARMT-NOX, WACFACT-NOX
+ WARMF-CO, WARMT-CO, WACFACT-CO

+
+ Where
+
+ WARMF-HC
+ WARMF-NOX       +Engine out emissions factor for HC, NOX and CO
+ WARMF-CO        +at start of cycle. (typically between 1 and 5)
+where Emissions = (WARMF-* + 1 ) * Steady state emission
+
+ WARMT-HC
+ WARMT-NOX       +Time during which the above emissions factors
+ WARMT-CO        +reduce to 1.0 (seconds). This could be interpreted
+         +         +as the warm-up time.
+
+ WACFACT-HC
+ WACFACT-NOX     +Emissions acceleration factor.(s2/m)
+ WACFACT-CO      +         +Where Emissions = Steady state emissions + ABS(WAFACT*acceleration*Steady state emissions)
+
+The following lines show an example of the WARM-UP option.
+
+WARM-UP
+ 4.000 80.00 .8000E-01
+ .0000E+00 .0000E+00 .0000E+00
+ 1.000 80.00 .0000E+00
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+
+


++$#>*.Car Format for the Auxiliaries Data
+

+This option allows the user to simulate the effect of power consumed by auxiliaries fitted to the engine, for example the air conditioning unit.
+
+*.Car file format;
+
+ AUXILIARIES
(keyword)
+
+ NAUX
+------------>
+ naux
+ times
+ |
+ | TITAUX(IA)
+ | IPAUX(IA)     +NPAUX(IA)        +DRAUX(IA)        +DIAUX(IA)
+ | ------->
+ | naux
+ | times         +         +AUSPD(IP,IA)     +AUTOR(IP,IA)
+ | --------<
+ --------<
+
+ Where
+
+ NAUX    +Number of auxiliaries fitted to the vehicle (maximum 5)
+
+ TITAUX          +Title for auxiliary IA (Maximum 30 characters)
+
+ IPAUX(IA)       +Mounting position of auxiliary (1-4)
+         +         +1 = Engine Mounted Auxiliary
+         +         +2 = Gearbox Input Mounted Auxiliary
+         +         +3 = Propshaft Mounted Auxiliary
+         +         +4 = Axle Mounted Auxiliary
+
+ NPAUX(IA)       +Number of Points on auxiliary loss curve
+
+ DRAUX(IA)       +Auxiliary Drive Ratio
+
+ DIAUX(IA)       +Auxiliary Rotating Inertia (kg.m2)
+
+ AUSPD(IP,IA)    +Auxiliary Speed (rpm)
+
+ AUTOR(IP,IA)    +Auxiliary Torque (Nm)
+
+The following lines show an example of the AUXILIARIES option
+
+AUXILARIES
+ 1
+PS PUMP
+ 1 5 1.170 .1000E-02
+ 1000. 1.358
+ 2000. 1.375
+ 3000. 1.455
+ 4000. 1.536
+ 5000. 1.569
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+
+


++$#>*.Car Format for the Grid Analysis Data
+

+This option provides the user with the facility to perform a grid analysis of the engines operation over the calculated cycle. This provides a summary of the time spent, fuel/emissions consumed, and mean map variables in user defined segments of the engines speed/load envelope.
+
+*.Car file format;
+
+ GRID
(keyword)
+ NSGRID, NBGRID
+SGRID(I), I=1,NSGRID
+BGRID(J), J=1,NBGRID
+
+ Where
+
+ NSGRID  +Number of engine speeds used to define grid, (minimum = 2, maximum = 20)
+
+ NBGRID  +Number of BMEP's used to define grid,(minimum = 2, maximum = 20)
+
+ SPGRID(I)       +Engine speed for grid point I (rpm)
+
+ BGRID(J)        +Engine BMEP for grid point J (bar)
+
+The following lines show an example of the GRID option
+
+GRID
+ 7 12
+ .0000E+00 1000. 2000. 3000. 4000.
+ 5000. 6000.
+ .0000E+00 1.000 2.000 3.000 4.000
+ 5.000 6.000 7.000 8.000 9.000
+ 13.00 14.00
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+
+


++$#>*.Car Format for the Primary Drive Data
+

+This option provides the user with the facility to define a drive ratio for the primary take-off transmission from engine crankshaft/flywheel to the gearbox input shaft.
+
+*.Car file format;
+
+ PRDIVE
(keyword)
+ GRPD, EFPD, IPDEFF
+
+ Where
+
+ GRPD    +         +Drive ratio
+
+ EFPD    +         +Drive Efficiency (0 - 1)
+
+ IPDEFF  +Efficiency Mode
+         +         +1 = Fixed
+         +         +2 = Function of load and speed
+
+The following lines show an example of the PDRIVE option
+
+PDRIVE
+ 0.98 0.88 1
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+
+


++$#>*.Car Format for the Standard Hybrid Data
+

+This option allows the user to model the standard HYBRID vehicle system. The HYBRID is capable of absorbing energy from, and returning energy to the drivetrain system. The program will always preferentially drive the vehicle with HYBRID motor, any excess energy requirements and or charging being provided by the engine.
+
+*.Car file format
+
+ HYBRID
(keyword)
+ IHOPT
+ STSMAX, STSMIN
+ STRIN, STEFIN
+ STROUT, STEFOUT
+ STSENG, ISTIDLE
+

+ Where
+
+ IHOPT   +         +Indicates the position of the HYBRID motor
+1 = Engine Flywheel mounted
+         +2 = Gearbox mounted
+         +3 = Drive shaft mounted
+
+ STSMAX  +Maximum energy that can be stored by the HYBRID (kW.h). If the current energy stored in the HYBRID matches STSMAX then no more regeneration is permitted only power output is allowed.
+
+ STSMIN  +Minimum energy permitted for HYBRID (kW.h). If the current energy stored in the HYBRID matches STSMIN then no more energy can be taken from the HYBRID only regeneration is allowed.
+
+ STRIN   +         +Max HYBRID motor input torque (NM). This is when energy is removed from the drivetrain and stored in the HYBRID.
+
+ STEFIN  +Efficiency of HYBRID energy input (0-1).
+
+ STROUT  +Max HYBRID motor output torque (NM). This is when energy is provided to the drivetrain by the HYBRID motor.
+
+ STEFOUT         +Efficiency of HYBRID energy output (0-1).
+
+ STSENG  +Energy available in HYBRID at start of cycle (kW.h)
+
+ISTIDLE  +Hybrid charging at IDLE option.
+         +0 = No charging of the HYBRID at idle
+         +1 = Hybrid is charged when engine is at idle.
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+


++$#>*.Car Format for the Driver Data
+

+This option provides a very simple driver model, that describes the gear shift times, braking efficiency and brake balance being employed by this driver.
+
+*.Car file format
+
+ DRIVER
(keyword)
+ DCEFFY, DBEFFY , DBBAL, TGSHIFT, TGSHIFTINT, CYCACC
+
+ Where
+
+ DCEFFY  +Driver cornering efficiency (fraction 0-1). This defines the maximum cornering speed as a fraction of the maximum theoretical speed. This is only used in track simulations.
+
+ DBEFFY  +Driver braking efficiency (fraction 0-1). This defines the maximum braking force as a fraction of the maximum theoretical force. This is only used in the track simulations.
+
+ DBBAL   +         +Driver brake balance - defined as the fraction of the total braking effort on the front wheels (fraction 0-1).
+
+ TGSHIFT         +Gear shift time (seconds). If the DRIVER option is not specified then TGSHIFT is set to 0.1 seconds.
+
+ TGSHIFTINT      +Minimum Shift Interval (seconds). If no interval required then is set to zero.
+
+ CYCACC  +Accuracy with which cycle is driven.
+         +0 = Exact Fit
+         +1 = Smoothed
+
+The following lines show an example of the DRIVER option
+
+DRIVER
+ 0.900 0.800 .5000 .4000 .25 0
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+
+


++$#>*.Car Format for the Aerodynamic Data
+

+This option provides the extended aerodynamic model, allowing non-linear coefficients to be used for vehicle drag and lift. The coefficients being functions of vehicle speed.
+
+*.Car file format
+
+ AERODYNAMICS
(keyword)
+ ICD, ICLF, ICLR
+

+for ICD = 1
+ COEFF_CD(I), I=1,6
+for ICD = 2
+ NCD
+XCD(I),YCD(I)
, I=1,NCD
+
+for ICLF = 1
+ COEFF_CLF(I), I=1,6
+for ICLF = 2
+ NCLF
+ XCLF(I),YCLF(I)
, I=1,NCLF
+
+for ICLR = 1
+ COEFF_CLR(I), I=1,6
+for ICLR = 2
+ NCLR
+ XCLR(I),YCLR(I)
, I=1,NCLR
+
+
+ Where
+
+ ICD     +         +Definition method for coefficient of drag.
+ ICLF    +         +Definition method for coefficient of front lift.
+ ICLR    +         +Definition method for coefficient of rear lift.
+         +         +         +0 = Constant
+         +         +         +1 = Constant + five power terms.
+         +         +         +2 = List of values.
+
+ COEFF_CD        +Vehicle drag curve coefficients
+
+ Such that
+
+ CD = COEFF_CD(1)
+ > + ( COEFF_CD(2) * UM )
+ > + ( COEFF_CD(3) * UM * UM )
+ > + ( COEFF_CD(4) * UM * UM * UM )
+ > + ( COEFF_CD(5) * UM * UM * UM * UM )
+ > + ( COEFF_CD(6) * UM * UM * UM * UM * UM )
+
+ UM - vehicle velocity m/s
+
+
+ NCD     +No of points used to define the variation of CD with vehicle speed.
+
+ XCD     +The list of vehicle speeds (m/s) used to define the CD curve.
+
+ YCD     +The list of Drag Coefficients used to define the CD curve.
+
+ COEFF_CLF       +As for COEFF_CD above but for front lift coefficient.
+ NCLF    +         +
As for NCD above but for front lift coefficient.
+ XCLF    +         +
As for XCD above but for front lift coefficient.
+ YCLF    +         +
As for YCD above but for front lift coefficient.
+ COEFF_CLR       +
As for COEFF_CD above but for rear lift coefficient.
+ NCLR    +         +
As for NCD above but for rear lift coefficient.
+ XCLR    +         +
As for XCD above but for rear lift coefficient.
+
YCLR    +         +As for YCD above but for rear lift coefficient.
+
+The following lines show an example of the AERODYNAMICS option
+
+AERODYNAMICS
+ 2 0 1
+ 9
+ 28.22 0.3100
+ 33.92 0.3095
+ 39.91 0.3080
+ 45.12 0.3085
+ 51.53 0.3075
+ 57.22 0.3070
+ 61.69 0.3055
+ 67.18 0.3060
+ 72.26 0.3070
+ -0.1 0.02 0.0003 0.0 0.0 0.0
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+


++$#>*.Car Format for the Extended Hybrid Performance
+

+This option provides an extension to the
simple hybrid model by allowing an extended component performance to be defined. The hybrid components catered for are the auxiliary power unit generator, the drive motor, the drive regenerator, the battery charge and the battery discharge.
+
+All component performances are optional, (i.e. the
simple hybrid model can be used), but once one component is selected as on then to correctly run a hybrid model all relevant components should be switched on.
+

+For each component the continuous and peak performances are defined through its speed range, together with data that define a simple heat rejection / heat build-up model to simulate the drop from peak to continuous performance.
+
+*.Car file format
+
+ HYBPOWER (keyword)
+ NHYB
+ NHYB3(1), NHYB3(2), NHYB3(3), NHYB3(4), NHYB3(5)
+
------------>
+ nhyb
+ times
+IF NHYB3(J) = 1
+ PTHYB3(J), TCHYB3(J), TTHYB3(J), TSHYB3(J), RIHYB3(J), SMXHYB3(J)
+ NSPHYB3(J)
+
------------>
+ nsphyb3(j)
+ times
+ SPDHYB3(J,I), AMP1HYB3(J,I), AMP2HYB3(J,I), PERCHYB3(J,I)
+ --------<
+--------<
+
+
+ Where
+
+ NHYB    +Number of hybrid components defined, (at version 3.01e this is 5).Where 1 is the apu generator, 2 is the drive motor, 3 is the drive regenerator, 4 is the battery and 5 is not currently used.
+
+ NHYB3   +The on / off flags to control the inclusion of the hybrid components into the model. 0 = off 1 = on. Values are given in component order 1 to 5, see above. Component 5 is not used and should be set to 0
+
+PTHYB3   +Time at peak, (s). This defines the time for which the peak performance can be held before the threshold temperature is reached and the allowable performance begins to deteriorate from the peak toards the continuous. This forms part of the component heat model derivation. For the battery component no heat model is used and this value sets the total battery capacity, (Ah).
+
+TCHYB3   +Constant temperature of the component, (Co). This defines the temperature at which the component reaches under the maximum constant performance. This defines the heat convection capability of the component. (note not used for the battery component, enter dummy value 0.0)
+
+TTHYB3   +Threshold temperature of the component, (Co). This sets the temperature at which the component performance starts to deteriorate from the peak towards the continuous. (note not used for the battery component, enter dummy value 0.0)
+
+TSHYB3   +Start temperature of the component, (Co). For the battery component this value sets the initial state of charge (SOC), (0-1).
+
+RIHYB3   +Hybrid components rotational inertia, (kg.m2). For the battery component this value sets the start voltage of the system (V), but only applies when the detailed battery voltage model is not used.
+
+SMXHYB3  +Maximum allowable component speed (rpm). (note not used for the battery component, enter dummy value 0.0)
+
+ NSPHYB3         +Number of speed values for this components power curve.
+
+ SPDHYB3         +Speed values for this hybrid components performance curve (rpm). To minimise extrapolation errors these speed values should span the component operating range.
+
+AMP1HYB3         +Peak performance values for the hybrid component at each component speed. Units depend on component and are Nm for the generator, motor and regenerator and for the battery the units are A (amps). This curve defines maximum attainable performance of the component. For the battery component this defines the maximum charge rate.
+

+AMP2HYB3         +Continuous performance values for the hybrid component at each component speed. Units depend on component and are Nm for the generator, motor and regenerator and for the battery the units are A (amps). This curve defines the continuous performance that the component can achieve. The temperature model is used to define the actual allowable which would normally lie somewhere between the peak and the continuous performance. For the battery component this defines the maximum discharge rate.
+

+PERCHYB3         +The ratio of output power that goes to heat, (0 -1). Defines the heat energy going in to components heat-up model as a function of speed. The battery model does not have a heat model associated with it and these values should be set to 0.0 for that component.
+
+
+The following lines show an example of the HYBPOWER option
+
+HYBPOWER
+ 5
+ 1 1 1 1 0
+
+ 4.000 100.0 75.00 0.0000E+00 0.2000E-01 0.1600E+05
+ 16
+ 1000. 200.0 120.0 0.1000
+ 1500. 200.0 120.0 0.1000
+ 2000. 200.0 120.0 0.1000
+ 3000. 180.0 110.0 0.1000
+ 4000. 130.0 100.0 0.1000
+ 5000. 120.0 90.00 0.1000
+ 6000. 100.0 80.00 0.1000
+ 7000. 85.00 70.00 0.1000
+ 8000. 78.00 63.00 0.1000
+ 9000. 67.00 62.00 0.1000
+ 0.1000E+05 64.00 60.00 0.1000
+ 0.1100E+05 63.00 59.00 0.1000
+ 0.1200E+05 61.00 58.00 0.1000
+ 0.1300E+05 58.00 54.00 0.1000
+ 0.1400E+05 56.00 52.00 0.1000
+ 0.1600E+05 60.00 59.00 0.1000
+
+ 4.000 100.0 75.00 0.0000E+00 0.2000E-01 7500.
+ 8
+ 1000. 225.0 150.0 0.5000E-01
+ 1500. 225.0 150.0 0.5000E-01
+ 2500. 225.0 150.0 0.5000E-01
+ 3500. 150.0 82.00 0.5000E-01
+ 4500. 115.0 60.00 0.5000E-01
+ 5500. 90.00 53.00 0.5000E-01
+ 6500. 75.00 47.00 0.5000E-01
+ 7500. 75.00 46.00 0.5000E-01
+
+ 4.000 120.0 80.00 0.0000E+00 0.2000E-01 6000.
+ 2
+ 1000. 200.0 150.0 0.1000
+ 6000. 100.0 80.00 0.2000
+
+ 20.00 0.0000E+00 0.0000E+00 0.8500 230.0 0.0000E+00
+ 5
+ 0.0000E+00 300.0 150.0 0.0000E+00
+ 0.2500 295.0 280.0 0.0000E+00
+ 0.5000 290.0 290.0 0.0000E+00
+ 0.7500 280.0 295.0 0.0000E+00
+ 1.000 150.0 300.0 0.0000E+00
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+


++$#>*.Car Format for the Extended Hybrid Efficiencies
+

+This option provides an extension to the
simple hybrid model by allowing a component efficiency map to be defined. The hybrid components catered for are the auxiliary power unit generator, the drive motor, the drive regenerator, the battery charge and the battery discharge.
+All component efficiency maps are optional, with if required default values of 1.0 being used when no map is defined, alternatively a single efficiency value can be defined. Efficiency maps are defined as a series of efficiency values, (0 - 1), for a range of component speeds and loads.
+

+*.Car file format
+
+ HYBLOSS (keyword)
+ NHYB
+ NHYB2(1), NHYB2(2), NHYB2(3), NHYB2(4), NHYB2(5)
+
------------>
+ nhyb
+ times
+ IF NHYB2(J) = 1
+ NSPHYB(J)
+ SPDHYB(J,I)
, I=1,NSPHYB(J)
+ NAMPHYB(J)
+ AMBHYB(J,I)
, I=1,NAMPHYB(J)
+ IF NSPHYB(J)=0 AND NAMPHYB(J)=0
+ EFFHYB(1,1)
+
ELSE
+ ------------>
+ nsphyb times
+ EFFHYB(J,I), I=1,NAMPHYB(J)
+ --------<
+ --------<
+
+
+ Where
+
+ NHYB    +Number of hybrid components defined, (at version 3.01e this is 5).Where 1 is the apu generator, 2 is the drive motor, 3 is the drive regenerator, 4 is the battery charging and 5 is the battery discharging.
+
+ NHYB2   +The on / off flags to control the inclusion of the hybrid components into the model. 0 = off 1 = on. Values are given in component order 1 to 5, see above.
+
+ NSPHYB  +Number of speed values for this components efficiency map. 0 is used in conjunction with Namhyb to force a single fixed efficiency value to be used.
+
+ SPDHYB  +Speed values for this hybrid components efficiency map (rpm). To minimise extrapolation errors these speed values should span the component operating range. This line is omitted if the number of speed values is 0
+
+ NAMHYB  +Number of load values for this components efficiency map. 0 is used in conjunction with Nsphyb to force a single fixed efficiency value to be used.
+
+ AMPHYB  +Load values for this hybrid components efficiency map (rpm). To minimise extrapolation errors these speed values should span the component operating range. This line is omitted if the number of load values is 0
+
+ EFFHYB  +Efficiency map values, (0 -1).
+
+
+The following lines show an example of the HYBLOSS option
+
+HYBLOSS
+ 5
+ 1 1 1 1 1
+ 8
+ 2000. 4000. 6000. 8000. 0.1000E+05 0.1200E+05 0.1400E+05 0.1600E+05
+ 7
+ 5.000 10.00 20.00 30.00 40.00 50.00 60.00
+ 0.4400 0.5500 0.6400 0.6300 0.5700 0.5200 0.4900
+ 0.3000 0.5000 0.6000 0.5800 0.5500 0.5000 0.4700
+ 0.1500 0.3800 0.4800 0.5000 0.4900 0.4800 0.4400
+ 0.1100 0.2000 0.4200 0.4500 0.4600 0.4500 0.4200
+ 0.1000 0.1600 0.3200 0.3900 0.4100 0.4100 0.3900
+ 0.8000 0.1400 0.2400 0.3100 0.3400 0.3600 0.3700
+ 0.6000 0.1200 0.1800 0.2500 0.2800 0.3000 0.3000
+ 0.5000 0.9000 0.1500 0.1900 0.2200 0.2600 0.2800
+ 8
+ 1000. 2000. 3000. 4000. 5000. 6000. 7000. 7500.
+ 7
+ 25.00 50.00 75.00 100.0 150.0 200.0 225.0
+ 0.8500 0.8850 0.8780 0.8600 0.8600 0.7800 0.7600
+ 0.8650 0.9000 0.9030 0.9000 0.8800 0.8400 0.8260
+ 0.9050 0.9250 0.9250 0.9250 0.9100 0.8650 0.8540
+ 0.9300 0.9400 0.9400 0.9320 0.9200 0.8800 0.8630
+ 0.8650 0.9120 0.9230 0.9150 0.9200 0.8820 0.8660
+ 0.8800 0.9100 0.9200 0.9200 0.9200 0.8840 0.8690
+ 0.8250 0.8950 0.9050 0.9000 0.9200 0.8860 0.8700
+ 0.8200 0.9000 0.9030 0.9100 0.9200 0.8880 0.8830
+ 0
+ 0
+ 0.8800
+ 0
+ 0
+ 0.8000
+ 0
+ 0
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+


++$#>*.Car Format for the Extended Hybrid Battery
+

+This option provides an extension to the fixed voltage battery model that can be defined in the extended hybrid component performance. A voltage map is defined at a series of battery states of charge (SOC) and varying charge / discharge rates. Two maps are used one for charging and a second for discharging.
+
+*.Car file format
+
+ HYBBATTERY
(keyword)
+NCURHYB4(1), NSOCHYB4(1)
+
IF Ncurhyb4(1) is greater than 0 and Nsochyb4(1) is greater than 0 then
+
DSOCHYB4(J,1) J=1,NSOCHYB4(1)
+
------------>
+ ncurhyb4(1)
+ times
+ DCURHYB4(J,1)
+ DVOLHYB4(I,J,1), I=1,NSOCHYB4(1)
+
--------<
+
+NCURHYB4(2), NSOCHYB4(2)
+
IF Ncurhyb4(2) is greater than 0 and Nsochyb4(2) is greater than 0 then
+ DSOCHYB4(J,2)
J=1,NSOCHYB4(2)
+
------------>
+ ncurhyb4(2)
+ times
+ DCURHYB4(J,1)
+ DVOLHYB4(I,J,2), I=1,NSOCHYB4(2)
+
--------<
+
+
+ Where
+
+ NCURHYB4        +Number of current charge levels the battery voltage map is defined for. The index 1 implies charging whilst the index 2 implies discharging.
+
+ NSOCHYB4        +Number of battery state of charge levels the battery voltage map is defined for. The index 1 implies charging whilst the index 2 implies discharging.
+
+ DSOCHYB4        +The battery state of charge values for the battery voltage map, (0-1). Again the index 1 implies charging whilst the index 2 implies discharging.
+
+DCURHYB4         +The charge values for the battery voltage map (Amps). Again the index 1 implies charging whilst the index 2 implies discharging.
+
+ DVOLHYB4        +The battery voltage map values, (Volts). The index 1 implies charging whilst the index 2 implies discharging.
+
+
+The following lines show an example of the HYBBATTERY option
+
+HYBBATTERY
+ 4 6
+ 0.0 0.2000 0.4000 0.6000 0.8000 1.000
+ 0.0
+ 190.0 200.0 210.0 220.0 230.0 240.0
+ 120.0
+ 180.0 190.0 200.0 210.0 220.0 230.0
+ 220.0
+ 170.0 180.0 190.0 200.0 210.0 220.0
+ 320.0
+ 135.0 165.0 175.0 185.0 195.0 205.0
+ 4 6
+ 0.0 0.2000 0.4000 0.6000 0.8000 1.000
+ 0.0
+ 190.0 200.0 210.0 220.0 230.0 240.0
+ 120.0
+ 180.0 190.0 200.0 210.0 220.0 230.0
+ 220.0
+ 170.0 180.0 190.0 200.0 210.0 220.0
+ 320.0
+ 135.0 165.0 175.0 185.0 195.0 205.0
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+
+


++$#>*.Car Format for the Extended Hybrid Control Strategy
+

+This option controls the manner in which the hybrid system operates. It controls the APU generator shut down, its rate of speed change and target minimum and maximum levels for the battery state of charge.
+
+*.Car file format
+
+ HYBCONTROL
(keyword)
+NHISTORY, RNPOWER
+RMIN_RATE, RMAX_RATE
+SOCMIN, SOCMAX

+NSTHYB5
+SOCON, SOCOFF, SOCRAT
+

+
+ Where
+
+ NHISTORY        +Number of previous calculation steps to use in establishing the mean power demand from the APU. The larger this integer number is the greater the delay of the APU to any sudden change in load demand. It can be thought of as a damping factor.
+
+ RNPOWER         +Sets the power value used in establishing the required APU demand that is added to the mean demand. This second term itself being a function of the current state of charge compared to the target minimum and maximum state of charge values. The greater the number the more aggressive is the battery charging philosophy.
+
+ RMIN_RATE       +Sets the allowable deceleration rate of the APU, (rad/s/s). It should be entered as a negative number. The greater this negative number is made the greater the tendency for the APU to decelerate in-line with demand.
+
+ RMAX_RATE       +Sets the allowable acceleration rate of the APU, (rad/s/s). It should be entered as a positive number. The greater this positive number is made the greater the tendency for the APU to accelerate in-line with demand.
+
+SOCMIN   +Defines the target minimum state of charge value for the battery. Together with Socmax and Rnpower they control the portion of the APU demand that is a function of battery state of charge.
+
+SOCMAX   +Defines the target maximum state of charge value for the battery. Together with Socmin and Rnpower they control the portion of the APU demand that is a function of battery state of charge.
+
+ NSTHYB5         +Sets the start condition of the APU generator as either 'on' or 'off'. For 'on' set Nsthyb5 to 1 whilst for 'off' set to 0.
+
+ SOCON   +Sets the battery state of charge value (0-1), at which the APU generator will be switched 'on' if it is currently 'off'. This together with Socoff and Socrat control the APU shutdown strategy. The APU generator will only switch 'on' if the current APU demand is greater than the demand available at the APU idle speed.
+
+ SOCOFF  +Sets the battery state of charge value (0-1), at which the APU generator will be switched 'off' if it is currently 'on'. This together with Socoff and Socrat control the APU shutdown strategy. The APU generator will only switch 'off' if the current APU demand is less than the demand available at the APU idle speed.
+
+ SOCRAT  +Sets the APU load ratio at which the APU will switch 'on' irrespective of the current battery state of charge, (0-1). If this value is set high then provided the battery state of charge is within acceptable limits, the APU would only switch 'on' under high demand conditions such as heavy accelerations and extended hill climbing.
+
+The following lines show an example of the HYBBATTERY option
+
+HYBCONTROL
+ 10 1.000
+ -39.90 9.948
+ 0.4000 0.8000
+ 0
+0.8 0.9 0.5
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+


++$#>*.Car Format for the Extended Tyre Data
+

+This option provides the extended tyre model, allowing non-linear values to be used for tyre rolling radius. The value being a function of vehicle speed.
+
+*.Car file format
+
+ XTYRE
(keyword)
+ IRTYRE(1), IRTYRE(2), IRTYRE(3), ITYREND
+

+for IRTYRE(1) = 1 and ITYREND = 1
+ COEFF_RTYRE(I,1), I=1,6
+for IRTYRE(1) = 2 and ITYREND = 1
+ NRTYRE(1)
+ XRTYRE(I,1), YRTYRE(I,1)
, I=1,NRTYRE(1)
+
+for IRTYRE(2) = 1 and ITYREND > 1
+ COEFF_RTYRE(I,2), I=1,6
+for IRTYRE(2) = 2 and ITYREND > 1
+ NRTYRE(2)
+ XRTYRE(I,2), YRTYRE(I,2)
, I=1,NRTYRE(2)
+
+for IRTYRE(3) = 1 and ITYREND > 1
+ COEFF_RTYRE(I,3), I=1,6
+for IRTYRE(3) = 2 and ITYREND > 1
+ NRTYRE(3)
+ XRTYRE(I,3), YRTYRE(I,3)
, I=1,NRTYRE(3)
+
+
+ Where
+
+ITYREND  +         +Flag to identify if common or separate tyre properties are to be used for front and rear tyres. (note this should be set to the same value as used in the 'tyre' data block)
+         +         +         +1 = common tyre properties
+         +         +         +2 or 3 = different tyre properties for front and rear tyres
+         +         +         +( Bracketed indices (1), (2) and (3) imply, common, front and rear)
+
+ IRTYRE  +         +Definition method for tyre rolling radius.
+         +         +         +0 = Constant
+         +         +         +1 = Constant + five power terms.
+         +         +         +2 = List of values.
+
+ COEFF_RTYRE     +         +Tyre rolling radius curve coefficients
+
+ Such that
+
+ RTYRE = COEFF_RTYRE (1)
+ > + ( COEFF_RTYRE(2) * UM )
+ > + ( COEFF_RTYRE (3) * UM * UM )
+ > + ( COEFF_RTYRE(4) * UM * UM * UM )
+ > + ( COEFF_RTYRE(5) * UM * UM * UM * UM )
+ > + ( COEFF_RTYRE(6) * UM * UM * UM * UM * UM )
+
+ UM - vehicle velocity m/s
+
+
+ NRTYRE  +No of points used to define the variation of rolling radius with vehicle speed.
+
+ XRTYRE  +The list of vehicle speeds (m/s) used to define the rolling radius curve.
+
+ YRTYRE  +The list of Drag Coefficients used to define the rolling radius curve.
+
+
+The following lines show examples of the XTYRE option
+
+ XTYRE
+ 2 0 0 1
+ 4
+ 0.0 0.2350
+ 20.0 0.2360
+ 40.0 0.2380
+ 80.0 0.2430
+
+
+ XTYRE
+ 1 0 2 2
+ 0.32 0.02 0.0 0.0 0.0 0.0
+ 4
+ 0.0 0.2350
+ 20.0 0.2360
+ 40.0 0.2380
+ 80.0 0.2430
+
+{button ,AL(`list11',0,"",`main')} Related Topics
+


+
+


++$#>Examples and Validation
+
Overview
+
+The aim of this chapter is provide example input files that the new user can copy to quickly create new simulation models. With each input file the calculated results and the accompanying measured results are provided. Notes are given as to the acceptable range for some of the more difficult to define input variables such as gear efficiencies, tyre coefficient of friction and overrun fuelling.
+
+Examples are provided for the 4 main calculation types
+
+ 1. Acceleration - for a naturally aspirated and turbocharged manual gearbox vehicle.
+
+ 2. Economy - for an automatic vehicle with auxiliaries on a rolling road.
+
+ 3. Emissions - for a naturally aspirated, manual, research vehicle
+
+ 4. Track - for a turbocharged manual vehicle
+
+{button ,AL(`list12',0,"",`main')} Related Topics
+
+


++$#>Vehicle Acceleration - Example
+

+Input files for the Lotus Elan when fitted with the naturally aspirated and turbocharged engines are available here :
+
+
Vehicle acceleration example data files
+
+The calculated results for a wide open throttle acceleration from rest, as provided by LOTUS VEHICLE SIMULATION are presented here :
+
+Vehicle acceleration example results file
+
+A comparison of the measured and calculated accelerations are shown on the following table and graphically in the figure below :
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
SPEED RANGE
NATURALLY ASPIRATED
TURBOCHARGED
      +         +
MEASURED
CALCULATED
MEASURED
CALCULATED
(MPH)
(SEC)
(SEC)
(SEC)
(SEC)
0 - 30
2.9
2.88
2.4
2.60
0 - 40
4.4
4.43
3.7
3.79
0 - 50
6.2
6.3
5.0
5.09
0 - 60
8.3
8.36
6.5
6.54
0 - 70
11.3
11.32
8.7
8.6
0 - 80
14.8
14.77
10.9
10.84
0 - 90
19.6
18.93
13.5
13.66
0 - 100
26.5
25.98
17.5
17.4
0 - 110
22.2
22.12
0 - 120
29.6
29.89
Vehicle acceleration correlation graph
+
+The following notes are provided for the users reference.
+
+1. Gearbox transmission efficiencies typically lie in the range 0.95-0.99. If in doubt the user should use 0.97. These values can often be tuned to achieve good correlation between measured and predicted performance.
+
+2. The coefficient of friction at the tyre contact patch is typically in the range 0.98 - 1.05. Obviously for wet conditions a lower value is appropriate.
+
+3. Engine rotating inertia is often not readily available. Users can use the Engine Inertia curve provided for an appropriate value.
+
+4. For vehicle accelerations the gear shift time is typically set to 0.1 seconds. This may appear small, but often these tests are performed by drivers who do not de-clutch during a gear shift. It should also be remembered that there is no engine inertia energy transfer during a gear change. A small shift time is therefore required to balance the effect of this assumption.
+
+5. Lotus experience is that it is often difficult to achieve good acceleration correlation for vehicle speeds below 30 MPH. The reason for this is at present not understood, but believed to be in part attributable to the transfer of the engines rotational energy to the vehicle as the driver dumps the clutch.
+
+{button ,AL(`list12',0,"",`main')} Related Topics
+
+


+

++$#>Vehicle Economy - Example
+

+The input file for an 1.5L 4 door saloon fitted with an automatic transmission is provided here:
+
+Vehicle economy example data file

+
+This model was created as part of a fuel economy improvement program where the load of the air conditioning unit was found to significantly deteriorate economy. The AUXILIARIES option is therefore included in this file.
+
+Vehicle economy example results file
+
+The comparison of measured and calculated fuel consumption are shown on the following table and graphically in the figure below :
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
AIR CONDITIONING OFF
MEASURED
CALCULATED
% ERROR
IDLE (g/h)
950
936
-1.2
40 km/h (km/l)
14.78
14.74
-0.3
60 km/h (km/l)
N/A
18.59
N/A
80 km/h (km/l)
18.56
18.25
-1.7
100km/h (km/l)
17.22
17.06
-0.9
10 MODE (km/l)
8.39
8.17
-2.6
AIR CONDITIONING ON
MEASURED
CALCULATED
% ERROR
IDLE (g/h)
1331
1332
+0.08
40 km/h (km/l)
11.71
11.45
-2.2
60 km/h (km/l)
15.33
15.08
-1.6
80 km/h (km/l)
15.91
15.12
-5.0
100km/h (km/l)
14.81
14.38
-2.9
10 MODE (km/l)
6.30
6.26
-0.6
Vehicle Economy Correlation Graph
+
+The following notes are made for the users reference.
+
+1. The most important part of emission cycle calculations is to ensure that the idle fuel flow rate is correct. If the user does not have measured data for the engine being used then the figure of 53 g/h/litre/100rpm can be used as a rough guide.
+
+2. Most modern engine management systems employ overrun fuel cut-off. This stops the flow of fuel when the engine undergoes a prolonged period of overrun. It is therefore tempting to specify no fuel flow in the overrun condition in the input data to the model. Lotus experience in using this model however, is that best results are obtained when some flow of fuel during overrun is specified. The reasons for this are twofold, (a) the period of time before cut-off is employed is often a significant part of a deceleration in an emission cycle and (b) fuel enrichment is often employed following an overrun to provide good drivability. Fuel enrichment is not catered for in the steady state maps. Thus overrun fuelling can be used to compensate for this simplification. Typically the overrun flow rate is half that of the lowest load.
+
+3. The simulation in this section was performed on a chassis dynamometer. During the above study it was found that the loads experienced by the engine on the chassis dynamometer were significantly different to those found on the road. The reasons for this were twofold, (a) the load characteristic if the Clayton Dyno. did not replicate the road load curve of the vehicle through the speed range and (b) the rolling resistance of the tyres on the small rollers was significantly higher than that found on the road. The latter effect being caused by high tyre distortion on the small diameter rollers. The above problems/errors are removed/reduced by modern large diameter chassis dynamometers with programmable road load curves.
+
+Often results of acceptable accuracy can be obtained by performing the emissions cycle calculations on the "ROAD" (i.e. without using the chassis dynamometer option).
+
+{button ,AL(`list12',0,"",`main')} Related Topics
+
+


+

++$#>Vehicle Emissions - Example
+

+The input file for an 1.6L 2 door saloon fitted with a manual transmission is provided.
+
+ Vehicle emissions example data file

+
+This model was created as part of the Lotus funded LEV research project where calculations to determine the required catalyst light off time were performed. This file demonstrates the quantity of engine data required to perform these calculations.
+
+The measured and calculated emissions over the FTP75 test are summarised in the following table, detailed in the results file and presented graphically in the three figures.
+
+PRE CATALYST EMISSIONS
+Test No. 113593 C Date 1 Sep 1993 Test type EPA 75
+
+Vehicle emissions example results file
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
EMISSION
MEASURED
CALCULATED
% ERROR
T.HC (g)
33.8
33.27
-1.6
(g/mile)
3.08
3.13
+1.6
CO (g)
86.8
85.21
-1.8
(g/mile)
7.91
7.82
-1.1
NOx (g)
30.4
30.61
+0.7
(g/mile)
2.77
2.72
-1.8
CO2 (g)
2656
2832
+6.6
(2935 POST.CAT)
(g/mile)
242
258.4
+6.8
Vehicle emissions correlation graph - Cumulative emissions       +         +
+
+Vehicle acceleration correlation graph - Engine out emissions    +
+
+Vehicle acceleration correlation graph - Emissions error         +         +
+
+
+Overall the correlation is generally good. The reason why the CO2 results are high are not fully understood at present, although it is worth noting that the post catalyst results are significantly higher than the pre catalyst levels.
+
+The following notes are made for the users reference :
+
+1. The largest discrepancies between the measured and calculated data when using the raw test bed emissions data were found with the hydrocarbon emissions. Both the warm-up and transient models were employed to achieve the above correlation. The input file shows the factors used in this simulation.
+
+2. No corrections have been made to either the NOx or CO2 emissions.
+
+3. Users wishing to repeat the above correlation should employ the following sequence to obtain best results.
+
+ a. ensure that all emissions at hot idle are correct
+
+ b. modify overrun levels to those observed during test
+
+ c. tune transient factor for HC emissions
+
+ d. apply warm-up corrections for cold start.
+
+4. To date the above correlation has only been attempted on one vehicle. Further work is recommended to identify the level of correlation and transient factors required for other vehicles and/or calibrations.
+
+{button ,AL(`list12',0,"",`main')} Related Topics
+
+


+

++$#>Track Performance - Example
+

+The input file for a Lotus ESPRIT SE is provided.
+
+Track performance example data file

+
+The results file from a simulation of the operation of this vehicle around the Lotus test track at maximum speed is provided here :
+
+Track performance example results file
+
+The fastest lap for this vehicle is believed to be 85 seconds. This compares well with the calculated time of 84.5.
+
+{button ,AL(`list12',0,"",`main')} Related Topics
+
+


++$#LOTUS VEHICLE SIMULATION - Program Overview
+

+LOTUS VEHICLE SIMULATION is a simulation program capable of predicting the complete performance of a vehicle system. The program can be used to calculate,
+
+
"         +Straight line acceleration and top speed
+
"         +Fuel economy and emissions (both in steady state or across any drive-cycle)
+
"         +Track or course performance
+

+
0        +LOTUS VEHICLE SIMULATION is designed to run on a desktop PC with Windows 95 but offers the speed of a UNIX based simulation. The user interface is based on the standard LOTUS softwarelook-and-feel and offers the same intuitive approach as other popular Windows applications, assisting learning and speed of use.
+
+1        +Using the simulation program typically follows the procedure below,
+
+
"         +The user constructing the simulation model enters the vehicle specification. This includes data for :
+
"         +Vehicle mass and centre of gravity
+
"         +Vehicle dimensions, and aerodynamics
+
"         +Tyre performance (grip and rolling resistance characteristics)
+
"         +Final drive system
+
"         +Gearbox or transmission system and shifting strategies
+
"         +Prime-mover details eg. I.C. engine or hybrid powertrain
+
"         +Performance (torque/power capabilities)
+
"         +Fuel economy
+
"         +System-out Emissions
+
"         +Emissions after-treatment systems
+
"         +Driver performance
+
"         +The user selects the appropriate test for analysis. For instance, this often involves predicting the performance of the vehicle in terms of emissions and fuel economy over a government legislated drive-cycle.
+
"         +The calculation cycle is carried out. The user can display the key information on the vehicle and powertrain operating condition during the cycle using the calculation screen.
+
"         +Calculation results are available to the user both in the form of a report quality summary sheet and through a quick-to-use graph plotting system.
+

+
0        +LOTUS VEHICLE SIMULATION has been applied extensively by world-wide clients and validated thoroughly at LOTUS over a wide range of vehicle types and conditions. The program is capable of simulating all existing and projected vehicle systems and is continually updated by LOTUS in co-operation with its partners.
+
+


++$#APROGRAM OVERVIEW
+

+0        +LOTUS VEHICLE SIMULATION is split into three sub-sections:
+
+
"         +Pre-processor - for data-entry and model generation
+"         +Calculation system - for solution of desired analysis
+
"         +Post-processor - for analysis of calculated results
+

+The three sections are only notionally split and all three modules run together as a single application.
+
+The front-end of the application is presented here, illustrating the features displayed on start-up:
+

+
+THE PRE-PROCESSOR
+

+The pre-processing system allows the user to enter data, read in or save models, create new models and adjust data in existing models.
+
+Icons representing the various vehicle-powertrain subsystems allow the user to view the data for that section of the model and adjust, add or delete data from the model. Graphical features allow the user to view the results of changes to the specific data-set and adjust data as fit.
+
+The following illustrate the typical appearance of the main screen
+


+#Contact Details
+Lotus Engineering
+Hethel
+Norwich
+NR14 8EZ
+Tel: (01953) 608000
+Fax: (01953) 608157
+
+
+


+


+#Results Text Viewer Icon
+
+
+

+


+#Data Checking Wizard Icon
+
+
+
+


+#Data Icons
+
+ vehicle         +
+ dyno    +
+ tyre    +
+ driveline       +
+ gearbox         +
+ engine  +
+ hybrid  +
+ driver  +
+

+


+#Results Graph Viewer Icon
+
+
+
+


+#Specify Graph Icon
+
+
+
+


+#Axis Scales Icon
+
+
+
+


+#Cross Plot Status Icon
+
+
+

+


+#File Browser Icon
+
+
+
+


+#Solve Set-up Icon
+
+
+
+


+#Calculate Run Icon
+
+
+
+


+#Calculate Stop Icon
+
+
+
+
+


+#Calculate Display Icon
+
+
+
+


+#Video Icons
+
+ pause   +
+ play    +
+ scan    +
+ ffwd    +
+ step    +
+
+


+#Display Setting Icons
+
+ velocity large          +
+ bmep large      +
+


+#Vehicle Data Icon
+
+
+
+


+#Dyno Data Icon
+
+
+
+


+#Tyre Data Icon
+
+
+
+


+#Driveline Data Icon
+
+
+
+
+


+#Gearbox Data Icon
+
+
+
+


+#Engine Data Icon
+
+
+
+


+#Hybrid Data Icon
+
+
+


+#Driver Data Icon
+
+
+


+#Data Graph Icon
+
+
+

+


+#Open File Icon
+
+
+

+


+#New File Icon
+
+
+

+
+


+#Save File Icon
+
+
+

+


+#Save As File Icon
+
+
+

+


+#Cross Icon
+
+
+
+


+#Question Mark Icon
+
+
+

+


+#Tick Icon
+
+
+
+


+#Vehicle Acceleration Correlation
+

+{


+
+
+


+#Vehicle Economy Correlation
+

+{


+
+
+


+#Vehicle Emissions Correlation
+

+{


+
+
+


+#Vehicle Emissions Correlation
+

+{


+
+
+


+#Vehicle Emissions Correlation
+

+{


+
+
+


+#Calculation Sequence
+

+{


+
+
+


+#Cornering Notation
+

+{


+
+
+


+#Tyre Rolling Resistance
+

+{


+
+
+


+#Tyre Longitudinal Slip
+

+{


+
+
+


+#Gear Efficiency
+

+{


+
+
+


+#Gear Shift Map - Road Speeds
+

+{


+
+
+


+#Gear Shift Map - Throttle Positions
+

+{


+
+
+


+#Catalyst Model
+

+{


+


+#

+Warm-up Model
+

+{

+


+#

+Engine Scaling Friction
+

+{

+
+
+
+


+#Results 3d Viewer Icon
+
+
+
+
+


+#Data Graph Viewer Icon
+
+
+
+


+#Parametric Open Window Icon
+
+
+
+
+


+#Parametric Current Value Icon
+
+
+
+
+


+#Parametric List Edit Icon
+
+
+
+


+#Spline List / Edit Icon
+
+
+
+
+


+$#>System Operating Requirements
+

+The code has been developed for windows 95 32bit only, on a range of machine specifications, and has shown reasonable speed on machines down to only 8mb of ram and 75Mhz processor speed. It is envisaged that the speed of future releases will be improved through code restructuring.
+
+The windows display settings that work best with this program is 'Small fonts', 'high colour 16 bit/24 bit' and min 800 x 600 desktop area, (256 colour mode will work with some loss of graphics). The use of 'large fonts'
 is also supported.
+

+


+$#>System Variables
+

+LOTUS VEHICLE SIMULATION requires the setting of several environment variables in order to locate the Bitmaps and 'dll' graphics libraries at and during run time. The install program should create these in the 'autoexec.bat' during a full installation, whilst updates assume these variables are already set and will thus not make any changes to the 'autoexec.bat' file.
+
+The following lists the environment variables set.
+
LESOFT   +Contains the program files and associated bitmaps, default C:\LeSoft
+GINO     +         +Contains the graphics libraries, dll's and configuration file, default C:\Gino
+COMPUTERNAME     +Identifies the individual node name for licensing, user specific
+
+In addition the directory for the graphics files (default C:\GINO) needs to on the 'PATH' string in the 'autoexec.bat' file.
+
+(A successful 'new' installation will create all these environment variables)
+
+


+$#>Backdrop Bitmap
+

+LOTUS VEHICLE SIMULATION displays a 256 colour, 680x500 pixels windows bitmap as a back drop. A default file is shipped with a full installation. The default file is called 'carps_back.bmp' and is located in the 'LESOFT\BMP' directory. Users may substitute the default backdrop with their own by simply replacing the default file with their own bitmap file. The backdrop function can be disabled by renaming or deleting the default file.
+


+$#>Licensing Errors
+

+During program start-up a number of system checks are made to locate files and perform licensing checks, if any files are missing or irregularities identified these are reported and the program start-up will cease. The error message should be reported to your software vendor.

+
+


+$#>Auto-Updating Old Data File Versions
+

+When
*.car data files are loaded from either the viewer or the browser a check is made on the file version number. There are number of differences between the data files of the different software versions the majority of which are automatically handled and do not require any user intervention.
+
+One change that cannot be automatically handled is the change in the map numbering approach used for torque converter lock-up map No
s, gearshift load map Nos and engine optimum map No.. This was introduced with the beta release of version 3.0. Unfortunately no change in data file version number was added to enable this to be identified, the data file version number change being introduced with the release of version 3.01. Thus *.car files created with version of 3.0b would be identified as being from the earlier DOS version and any auto update function would change these map numbers unnecessarily.
+

+Pre-windows versions used the map file entry No. (i.e. their position in the file, 1st map, 2nd map, 3rd map etc.), this meant that should the file be edited and the engine map order changed, the three data variables given above could now point to the wrong maps.
+
+For the Windows version the data file was changed for the three map related variables to be map type No., where 0 = torque fraction, 1 = fuel consumption, 2 = air consumption, 3 = HC emissions etc. thus data file editing could be carried out safely without loss of the load map identity.
+

+Due to the potential for incorrect auto-correction of data files created by v3.0b the auto-correct on map Nos has been given a yes/no prompt. All data files generated by the Dos versions should be corrected, whilst data files created with v3.0b should not.
+
+


+$#>Front Sheet Start-up
+

+At program start-up a option to run the DataFile wizard is given. This dialog box also contains options to open a new file, or open an existing file. This dialog box can be disabled for subsequent program startups by setting the check box 'Dont show this box at start'.
+
+The .car file wizard
provides a simple route to generating a new data file, where the user can select from presented options the data type they require.
+
+The New blank .car file
option will open Lotus Vehicle Simulation with a new empty data file.
+
+The Open an existing .car file option will open the file browser to allow the user to locate the required file.
+
+Selecting the cancel button will close this dialog box and leave Lotus Vehicle Simulation open with a new empty data file. Thus selecting cancel is equivalent to the 'New blank .car file' option.
+
+This dialog box is intended to help new users get started by providing a route to the .car file wizard. Should this option have been switched 'off' it can be reinstated by selecting the Start Wizard menu option from the main window menubar under Setup / Start Options. Subsequent Lotus Vehicle Simulation start-ups will then display the start up dialog box.
+
+


++$#>Program Overview
+
Introduction
+

+LOTUS VEHICLE SIMULATION is a simulation program capable of predicting the complete performance of a vehicle system. The program can be used to calculate,
+
+"         +Straight line acceleration and top speed
+
"         +Fuel economy and emissions (both in steady state or across any drive-cycle)
+
"         +Track or course performance
+

+
0        +LOTUS VEHICLE SIMULATION is designed to run on a desktop PC with Windows but offers the speed of a UNIX based simulation. The user interface is based on the standard LOTUS software look-and-feel and offers the same intuitive approach as other popular Windows applications, assisting learning and speed of use.
+
+1        +Using the simulation program typically follows the procedure below,
+
+
"         +The user constructing the simulation model enters the vehicle specification. This includes data for :
+
"         +Vehicle mass and centre of gravity
+
"         +Vehicle dimensions, and aerodynamics
+
"         +Tyre performance (grip and rolling resistance characteristics)
+
"         +Final drive system
+
"         +Gearbox or transmission system and shifting strategies
+
"         +Prime-mover details eg. I.C. engine or hybrid powertrain
+
"         +Performance (torque/power capabilities)
+
"         +Fuel economy
+
"         +System-out Emissions
+
"         +Emissions after-treatment systems
+
"         +Driver performance
+
"         +The user selects the appropriate test for analysis. For instance, this often involves predicting the performance of the vehicle in terms of emissions and fuel economy over a government legislated drive-cycle.
+
"         +The calculation cycle is carried out. The user can display the key information on the vehicle and powertrain operating condition during the cycle using the calculation screen.
+
"         +Calculation results are available to the user both in the form of a report quality summary sheet and through a quick-to-use graph plotting system.
+

+
0        +LOTUS VEHICLE SIMULATION has been applied extensively by world-wide clients and validated thoroughly at LOTUS over a wide range of vehicle types and conditions. The program is capable of simulating all existing and projected vehicle systems and is continually updated by LOTUS in co-operation with its partners.
+

+0        +A series of tutorials are available to assist new users learn the features of the code. Open Tutorial
+


++$#>Program Structure
+
Introduction
+

+0        +LOTUS VEHICLE SIMULATION is split into three sub-sections:
+
+"         +Data module - data-entry and model generation
+"         +Solve module - solution of desired analysis
+"         +Results module - analysis of calculated results
+
+The three sections are only notionally split and all three modules run together as a single application.
+
+


++$#>Program Structure - Data Module
+

+The data module allows the user to enter data, read in or save models, create new models and adjust data in existing models.
+
+Icons representing the various vehicle-powertrain subsystems allow the user to view the data for that section of the model and adjust, add or delete data from the model. Graphical features allow the user to view the results of changes to the specific data-set and adjust data as fit.
+
+The vehicle system model sub-components and relevant icons are:
+

+Vehicle Data
+
+
Dyno Data
+
+
Tyre Data
+
+
Driveline Data
+
+
Gearbox Data
+
+
Engine Data
+
+
Hybrid Drive System Data
+
+
Driver Data
+
+When an icon is selected the relevant data entry window is displayed with various vehicle and powertrain parameters available for editing.
+
+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Program Structure - Solve Module
+
The solve module is used to run calculations of which a range of types are available. These are:
+
+
Steady State
+Acceleration

+Drive Cycle

+Track

+
+During calculations, the user is able to display certain vehicle parameters while the calculation runs on the Calculation telemetry window. This displays :
+
+Drive Cycle (Vehicle speed vs. Time with colour for gear number)
+Current Gear
+Vehicle Speed (Dial)
+Engine Speed (Dial)
+Engine Speed vs. Engine Load (BMEP vs. Engine Speed)

+
+To run calculations significantly faster, the user may choose to close this window resulting in a large reduction in calculation time. After the calculation is complete, the user can review the calculated data using the results module.
+
+The module also offers interactive build modules for rapid generation of new track and cycle files for analysis.
+
+{button ,AL(`list9',0,"",`main')} Related Topics
+
+
+


++$#>Program Structure - Results Module
+

+The results module is used to perform all post-processing of calculated data. It provides the following features:
+
+
Plotting of datasets - Up to five runs simultaneously
+Plotting of multiple data-channels eg. Vehicle fuel consumption and
+ forward speed vs. time - up to 4 sets
+Cross plotting of datasets and channels on a single multi-axis graph
+Zoom and pick functions
+

+The Windows environment also allow frame grabbing of graphs as bitmaps for pasting into other Windows applications.
+
+{button ,AL(`list7',0,"",`main')} Related Text Results Topics
+
+{button ,AL(`list8',0,"",`main')} Related Graph Results Topics
+
+
+


++$#>Program Structure - Additional Features
+

+Additional tools are provided to perform specific functions these include;
+
+
         +Data Checking Wizard, to check the validity of the data
+         +Interactive Track Builder, to build or edit a user defined track
+         +Interactive Cycle Builder, to create or edit a user defined drive cycle
+         +Column Write Wizard, to write out chosen results data into a specified file format
+


+#Position
+Up to five graphical results files can be held at any one time, these are identified in the cross plot status dialog box. Each of these files is held in a position, and these position numbers are used to identify individual properties and settings, as well as providing a means of cross plotting different analysis runs.
+


+#Rolling Radius
+Sets the variable type for the extended tyre model as 'Rolling Radius'. (note only one variable currently exists for extended tyre).
+
+


+#Constant
+Sets the selected tyre variable as a constant value. This is identical to the simple tyre model.
+


+#Coefficients
+Sets the selected tyre variable to be defined by a constant term plus up to five polynomial terms of increasing power.
+


+#Value List
+Sets the selected tyre variable to be defined by a look up table that uses linear interpolation/extrapolation to identify the current value based on vehicle speed.
+


+#Display Graph
+Opens the graph window to graphically display the currently selected variable.
+


+#Different Tyre Option
+Sets the option for either a common tyre or different tyre front to rear. This also changes the displayed data and options for the selected tyre. The data displayed in the 'standard tyre window' is also changed to reflect this selection.
+


+#Y units
+The available units are displayed here. Selecting the required units will update the displayed data and future listings will also use these units.
+


+#Update Listing
+This button updates the list using the currently displayed data for the current min/max and increment settings. They will be displayed in the currently selected units.
+


+#X Values
+The current x-values are listed in this side of the spread sheet. They can be edited and the results viewed using the update listing button. If relevant they will be displayed in the selected units. To save any changes back to the original data window close the spline listing using the menu option File / Close (save changes). To ignore any data changes close the spline listing with either the alternative menu option, or any other window close technique.
+


+#Y Values
+The current y-values are listed in this side of the spread sheet. They can be edited and the results viewed using the update listing button. If relevant they will be displayed in the selected units. To save any changes back to the original data window close the spline listing using the menu option File / Close (save changes). To ignore any data changes close the spline listing with either the alternative menu option, or any other window close technique.
+


+#Listing settings
+The spline listing is controlled by these values. They define the start and end values of the list, (in the appropriate units), and the increment between values.
+


+#Listing Results
+The spline listing results are displayed here. They are define the start and end values shown in the calculate settings boxes and in the chosen units.
+
+


++$#>Results Module
+
Overview
+

+When Lotus Vehicle Simulation calculations are performed it creates a number of results files, the extensions of which identify the type of results file it is.
+
+
         +         +Text results files have the form         +*_n.crs
+         +         +Graphical results files have the form    +*_n.grs
+         +         +Grid text results files have the form    +*_n.grd
+
+         +Where; n is the Plot File Counter number which is incremented for each calculation, and the * is the Test No. string supplied by the user, both are displayed in the vehicle data window.
+
+The Result File Viewer is a scrollable text window that allows the user to load, read and print the text results files. A specific command allow the current results to be loaded directly without requiring the file browser.
+
+The Results Graph Viewer is a graphics window that allows the user to display the graphical results files on up to 4 different graphs, (with a common x-axis), that can be either separate graphs or overlayed. Five different results files can be loaded and displayed together to enable rapid cross-plotting to be employed.
+
+The graph axes can be specified from the available list of 77 results variables.
+
+Graph axes scales can be user defined or use the autoscale or zoom functions to set the desired graph area. A list function allow the values for individual points to be interrogated, whilst printing is performed using the standard Windows printer dialogue boxes.
+
+The Results 3D Viewer is a 3d environment through which the analysis results can be animated. It is primarily aimed at track simulation runs, providing a unique visualisation tool that shows vehicle attitude, speed and acceleration together with engine rpm and current gear, animated as its proceeds through the solution. It will also display the results from the steady speed, acceleration and emissions cycles.
+
+
+


++$#>Results Text File Viewer
+
Overview
+

+The Result File Viewer is a scrollable resizable text window that allows the user to load, read and print the Lotus Vehicle Simulation text results files. These text results files contain a summary of the input data, the solution type and the major results pertinent to the solution run.
+
+Text results files have the form *_n.crs here; n is the Plot File Counter number which is incremented for each calculation, and the * is the Test No. string supplied by the user, both are displayed in the vehicle data window.
+
+Because results files have an incremental counter they are not over written and thus can be re-read at any time.
+
+When a Lotus Vehicle Simulation solution is performed the results files are automatically written but they are not loaded into the viewer. If the user requires to view the text results the viewer must be opened and the appropriate text results file loaded.
+
+A specific file can be loaded through the open command that uses the conventional file browser dialogue box, alternatively if the results of the latest run are required, a specific command allow the current results to be loaded directly without requiring the file browser.
+
+The currently displayed text results file can be printed directly from the viewer window menu options, using the standard Windows printer dialogue boxes.
+
+The entire contents or a portion of the viewer display can be copied into another application such as Word or notepad by use of the right mouse button functionality.
+
+{button ,AL(`list7',0,"",`main')} Related Topics
+
+
+


++$#>Opening the Text Results File Viewer
+
+To open the text results file viewer, select the menu item Results
/ Results Viewer from the main menubar. Alternatively the Text Results Viewer Icon can be selected from either the top toolbar or the side panel, depending on the data module set-up.
+
+When the viewer is open the icon remains indented and the pull down menu item is ticked.
+
+On initially opening the viewer no text results are displayed, these must be loaded into the display, see Loading a text results file
and Loading the current text results file.
+
+{button ,AL(`list7',0,"",`main')} Related Topics
+
+


++$#>Closing the Text Results File Viewer
+
+To close the text results file viewer select either the menu item Results
/ Results Viewer from the main menubar, the close icon at the top right corner of the viewer, the results file viewer window menu at the top left or alternatively the Text Results Viewer Icon can be un-selected from either the top toolbar or the side panel, depending on the data module set-up.
+
+Closing the results file viewer does not lose the display contents. Upon re-opening the viewer the original text and position in the text is retained.
+
+{button ,AL(`list7',0,"",`main')} Related Topics
+
+


++$#>Loading a Text Results File
+
+To load a text results file into the viewer, with the viewer open select the File/ Open
option from the viewer window menubar. This will bring up the standard file browser with the default file filter being *.crs.
+
+Browse for the required file and select open, this file is then loaded into the viewer, and will replace the existing contents.
+
+{button ,AL(`list7',0,"",`main')} Related Topics

+


++$#>Loading the Current Text Results File
+
+To load the current text results file
into the viewer, with the viewer open select the File / Load Current option from the viewer window menubar. If this menu option is greyed out it means that no solution has been run since the application was opened.
+
+The current file is then loaded into the viewer, and will replace the existing contents.
+
+{button ,AL(`list7',0,"",`main')} Related Topics

+


++$#>Printing the Text Results File
+
+To print the displayed text results file, with the viewer open select the File / Print
option from the viewer window menubar. If this menu option is greyed out it means that no text results file has been loaded into the viewer.
+
+The standard Windows print dialogue boxes are then employed to perform the printing task.
+
+{button ,AL(`list7',0,"",`main')} Related Topics

+


++$#>Copying the Text Buffer to External Applications
+
+The entire contents or a portion of the currently displayed text results file can be copied and pasted into other external applications via the right mouse button functionality.
+
+To copy the entire text results file from the viewer, with the viewer open and the required file loaded, click on the viewer with the right mouse button and chose Select A
ll. This will highlight the entire file and now when clicking on the viewer with the right mouse button the Copy option is available, select copy. The file is now held in the copy/paste buffer and changing to the target application the buffer can be Pasted in using the appropriate application specific commands.
+
+To copy a portion of a text results file from the viewer, with the viewer open and the required file loaded, click on the viewer with the left mouse button highlight via a click and drag the required portion of the file. Then clicking on the viewer with the right mouse button select the Copy option. The highlighted text is now held in the copy/paste buffer and changing to the target application the buffer can be Pasted in using the appropriate application specific commands.
+
+Typical external windows applications that this works with are Word, PowerPoint, Exchange and Notepad.
+
+{button ,AL(`list7',0,"",`main')} Related Topics
+


++$#>Text Results File Data Contents
+

+The text results files contain a copy of the major data items and a summary of the results that are applicable to both the solution run and the data options selected.
+
+The input data sections summarised within the text results file mimic those of the Lotus Vehicle Simulation data modules, i.e.
+
         +Vehicle
+         +Dynamometer

+         +Tyre

+         +Driveline

+         +Gearbox ( + Driver)

+         +Engine

+         +Hybrid

+
+
Depending on the solution type selected, one of the following results sections will be present,
+         +Steady speed simulation, (user defined gear and speed)
+         +Steady speed simulation, (user defined shift map and speed)

+         +Vehicle acceleration from rest, (slip start)

+
         +Vehicle acceleration from rest, (idle start)
+
         +In gear acceleration
+         +User defined acceleration

+         +Emissions cycle simulation
(where emissions cycle is the name of the cycle)
+         +Circuit track simulation
(where circuit is the name of the track)        +
+

+{button ,AL(`list7',0,"",`main')} Related Topics
+
+


+#Current text results file
+This is the *.crs file created for the last solution run performed. This setting is lost when the application is closed. Thus on initially opening the application no file is deemed to be Current.


+#Vehicle Data in Text Results File-
+         +Weight (kg)      +         +         +         +
+         +Frontal Area (m2)
+         +Plan Area (m2)
+         +Air Density (kg/m3)
+         +Drag Coefficient
+         +Front Lift Coefficient
+         +Rear Lift Coefficient
+         +Wheelbase (m)
+         +Track (m)
+         +C of G to Front Axle (m)
+         +C of G to Ground (m)
+


+#Dynamometer Data in Text Results File-
+         +Dyno Inertia Weight (kg)         +         +         +
+         +Load A Constant
+         +Load B x Velocity Constant
+         +load C x Velocity2 Constant      +


+#Tyre Data in Text Results File-
+         +Rolling Radius (m)       +         +         +
+         +Coefficient of Friction
+         +Source of Rolling Resistance Coefficients, (default or user defined)
+


+#Driveline Data in Text Results File-
+         +Drive Type (Front, Rear, 4wd)    +         +
+         +Total Inertia of Front wheels (kg.m2)
+         +Total Inertia of Rear wheels (kg.m2)
+         +Driven Axle Inertia (kg.m2)
+         +Prop Shaft Inertia (kg.m2)
+         +Final Drive Ratio
+         +Final Drive Efficiency
+


+#Gearbox Data in Text Results File-
+         +Manual or Automatic      +         +         +
+         +Number of Ratios
+         +Gear Change Time (s)
+         +Minimum Time Between Shifts (s)
+         +Maximum Gearbox Torque (Nm)
+         +Maximum Gearbox Speed (Nm)
+         +Gear Ratios
+         +Gear Efficiency
+         +Gear Inertia (kg.m2)
+         +Overall Ratio
+         +Overall Efficiency
+         +MPH/1000 rpm
+         +Torque Converter Stall Speed (rpm)
+         + or Vehicle De-clutch Speed (kmh)
+


+#Engine Data in Text Results File-
+         +Engine type      +         +         +         +
+         +Number of Cylinders
+         +Cycle Type
+         +Bore (mm)
+         +Stroke (mm)
+         +Swept Volume (l)
+         +Rotating Inertia (kg.m2)
+         +Idle Speed (rpm)
+         +Maximum Engine Speed (rpm)
+         +Maximum Power (kW)
+         +Maximum Power Speed (rpm)
+         +Maximum Torque (Nm)
+         +Maximum Torque Speed (rpm)
+         +Primary Drive Ratio
+         +Primary Drive Efficiency
+         +Auxiliaries Present
+         +Power / Weight Ratio
+


+#Hybrid Data in Text Results File-
+         +Drive Position   +         +         +         +
+         +Maximum Store Capacity (kw.h)
+         +Minimum Store Capacity (kw.h)
+         +Maximum Input Rate (Nm)
+         +Input Efficiency
+         +Maximum Output Rate (Nm)
+         +Output Efficiency
+         +Starting Capacity (kw.h)
+         +Idle Store Option on / off
+


+#Results in Text Results File for Steady Speed in Defined Gear
+         +Road Speed (mph or km/h)         +         +
+         +Total Cycle Time (s)
+         +Distance Travelled (nominal) (m)
+         +Distance Travelled (nominal) (km)
+         +Distance Travelled (nominal) (miles)
+         +Mean Power Developed (kW)
+         +Shift Map Used
+         +No of Gear Changes
+         +User Defined Gear No
+         +If Fuel Map Defined
+         +If Emissions Map Defined, (for each emissions map)
+         +If Hybrid Defined
+


+#Results in Text Results File for Steady Speed with User Defined Shift Map
+         +Road Speed (mph or km/h)         +         +
+         +Total Cycle Time (s)
+         +Distance Travelled (nominal) (m)
+         +Distance Travelled (nominal) (km)
+         +Distance Travelled (nominal) (miles)
+         +Mean Power Developed (kW)
+         +Shift Map Used
+         +No of Gear Changes
+         +User Defined Gear No
+         +If Fuel Map Defined
+         +If Emissions Map Defined, (for each emissions map)
+         +If Hybrid Defined
+


+#Results in Text Results File for Vehicle Acceleration from Rest (Slip Start)
+         +Total Cycle Time (s)     +         +         +
+         +Distance Travelled (nominal) (m)
+         +Distance Travelled (nominal) (km)
+         +Distance Travelled (nominal) (miles)
+         +Mean Power Developed (kW)
+         +Shift Map Used
+         +No of Gear Changes
+         +Time to Speeds, 0  MPH, Time (s). Ratio:1 RPM
+         +Time to Speeds, 0
 KMH, Time (s), Ratio:1, RPM
+         +Time to Distance, 400M Mile, Kilometre, Mile
+         +         +Time (s), Ratio:1, RPM, MPH, KMH
+
         +Distance in Time, In 3.0 (s), In 5.0 (s)
+         +Gear Change Points,
+         +         +Distance (m), Time (s), Ratio:1, RPM, MPH, KMH
+         +If Fuel Map Defined
+         +If Emissions Map Defined, (for each emissions map)
+         +If Hybrid Defined
+


+#Results in Text Results File for Vehicle Acceleration from Rest (Idle Start)
+         +Total Cycle Time (s)     +         +         +
+         +Distance Travelled (nominal) (m)
+         +Distance Travelled (nominal) (km)
+         +Distance Travelled (nominal) (miles)
+         +Mean Power Developed (kW)
+         +Shift Map Used
+         +No of Gear Changes
+         +Time to Speeds, 0  MPH, Time (s). Ratio:1 RPM
+         +Time to Speeds, 0
 KMH, Time (s), Ratio:1, RPM
+         +Time to Distance, 400M Mile, Kilometre, Mile
+         +         +Time (s), Ratio:1, RPM, MPH, KMH
+
         +Distance in Time, In 3.0 (s), In 5.0 (s)
+         +Gear Change Points,
+         +         +Distance (m), Time (s), Ratio:1, RPM, MPH, KMH
+         +If Fuel Map Defined
+         +If Emissions Map Defined, (for each emissions map)
+         +If Hybrid Defined
+


+#Results in Text Results File for In Gear Acceleration
+         +User Defined Gear No     +         +         +
+         +Total Cycle Time (s)
+         +Distance Travelled (nominal) (m)
+         +Distance Travelled (nominal) (km)
+         +Distance Travelled (nominal) (miles)
+         +Mean Power Developed (kW)
+         +Shift Map Used
+         +No of Gear Changes
+         +Incremental Acceleration Times, MPH  MPH, Time (s)
+         +Incremental Acceleration Times, KMH
 KMH, Time (s)
+         +If Fuel Map Defined

+         +If Emissions Map Defined, (for each emissions map)
+         +If Hybrid Defined
+


+#Results in Text Results File for User Defined Acceleration
+         +Total Cycle Time (s)     +         +         +
+         +Distance Travelled (nominal) (m)
+         +Distance Travelled (nominal) (km)
+         +Distance Travelled (nominal) (miles)
+         +Mean Power Developed (kW)
+         +Shift Map Used
+         +No of Gear Changes
+         +Incremental Acceleration Times, MPH  MPH, Time (s)
+         +Incremental Acceleration Times, KMH
 KMH, Time (s)
+         +If Fuel Map Defined

+         +If Emissions Map Defined, (for each emissions map)
+         +If Hybrid Defined
+


+#Results in Text Results File for Emissions Test
+         +Emissions Test Name      +         +         +
+         +Total Cycle Time (s)
+         +Distance Travelled (nominal) (m)
+         +Distance Travelled (actual) (m)
+         +Distance Travelled (nominal) (km)
+         +Distance Travelled (actual) (km)
+         +Distance Travelled (nominal) (miles)
+         +Distance Travelled (actual) (miles)
+         +Mean Power Developed (kW)
+         +Shift Map Used
+         +No of Gear Changes
+         +If Fuel Map Defined
+         +If Emissions Map Defined, (for each emissions map)
+         +If Hybrid Defined
+


+#Results in Text Results File for Track Test
+         +Track Name       +         +         +         +
+         +Total Cycle Time (s)
+         +Distance Travelled (nominal) (m)
+         +Distance Travelled (nominal) (km)
+         +Distance Travelled (nominal) (miles)
+         +Mean Power Developed (kW)
+         +Shift Map Used
+         +No of Gear Changes
+         +If Fuel Map Defined
+         +If Emissions Map Defined, (for each emissions map)
+         +If Hybrid Defined
+


+#Fuel Consumption Results in Text Results File-
+         +Fuel Consumption Map No.         +         +
+         +Fuel Consumption in;
+         +         +Litres per 100 km
+         +         +Km per Litre
+         +Miles per Imperial Gallon
+         +         +Miles per US Gallon
+         +         +Grams per Test
+         +         +Grams per KM
+         +         +Grams per Mile
+         +Mean Consumption (g/h)
+         +Mean Specific Consumption (g/kw.h)
+         +Overall Cycle Efficiency (%)
+


+#Emissions Results in Text Results File-
+         +Emissions Map No.        +         +         +
+         +Emissions in;
+         +         +Grams per Test
+         +         +Grams per KM
+         +         +Grams per Mile
+         +Mean Consumption (g/h)
+         +Mean Specific Consumption (g/kw.h)
+
+         +Also Given for Post Catalyst
+


+#Hybrid Results in Text Results File-
+         +Energy at Start (kw.h)   +         +         +
+         +Energy at End (kw.h)
+


++$#>Results Graph Viewer
+
Overview
+

+The Result Graph Viewer is a resizable graphics window that allows the user to load, plot and print the Lotus Vehicle Simulation graphical results files that contain up to 77 calculated variables. Within the window a maximum of four graphs can be plotted, either as individual plots or overlayed on a single graph. All graphs are plotted against a single common x-axis variable. Cross plotting of up to five graphical results can be employed to enable rapid presentation of trends and differences to be performed.
+
+Graphical results files have the form *_n.grs here; n is the Plot File Counter number which is incremented for each calculation, and the * is the Test No. string supplied by the user, both are displayed in the vehicle data window.
+
+Because results files have an incremental counter they are not over written and thus can be re-read at any time.
+
+When a Lotus Vehicle Simulation solution is performed the results files are automatically written but they are not loaded into the viewer. If the user requires to view the graphical results the graph viewer must be opened and the appropriate graph results file loaded. These can be loaded as exclusive (i.e. the only results file), or into a selected position, from 1 to 5, within the cross plot status.
+

+A specific file can be loaded through the Load Results (exclusive), the Load Results (shuffle) or the Load Results (position) commands that use the conventional file browser dialogue box, alternatively if the results of the latest run are required, a specific command allow the current results to be loaded directly without requiring the file browser.
+
+All currently displayed graphs can be printed directly from the viewer window menu options, using the standard Windows printer dialogue boxes, whilst the data values can also be saved into an ASCII column file using the Column Write Wizard.
+
+The axis settings for the graphs can be set individually by the user, or the autoscale and zoom functions used to define the graph settings.
+
+The appearance of fonts, colours linetypes etc within the plot can be modified by the user using the  set-up option.
+
+Apart from the graph viewer window, control of the graphs and their display uses three other set-up windows, namely the Specify Graph
window to define the axes variables, the Axis Scales window to set the axis minimum and maximum values and finally, the Cross Plot Status window to control the varies files used within a cross plot.
+

+{button ,AL(`list8',0,"",`main')} Related Topics
+


++$#>Opening the Results Graph Viewer
+

+To open the results graph viewer, select the menu item Results
/ Results Graph from the main menubar. Alternatively the Results Graph Viewer Icon can be selected from either the top toolbar or the side panel, depending on the data module set-up.
+
+When the viewer is open the icon remains indented and the pull down menu item is ticked.
+
+On initially opening the viewer no graphical results are displayed, these must be loaded into the display, see Loading a graphical results file
and Loading the current graphical results file.
+
+{button ,AL(`list8',0,"",`main')} Related Topics
+


++$#>Closing the Results Graph Viewer
+

+To close the results graph viewer select either the menu item Results
/ Results Graph from the main menubar, the close icon at the top right corner of the viewer, the results graph viewer window menu at the top left or alternatively the Results Graph Viewer Icon can be un-selected from either the top toolbar or the side panel, depending on the data module set-up.
+
+Closing the results graph viewer does not lose the display contents or setting. Upon re-opening the graph viewer the original graphs and set-up is retained.
+
+{button ,AL(`list8',0,"",`main')} Related Topics
+


++$#>Loading a Graphical Results File
+

+To load a graphical results file into the results graph viewer, with the graph viewer open select from the graph viewer menubar either, File / Load Results (exclusive)
, File / Load Results (shuffle), or File / Load Results (position 1 -5). (note that results can also be loaded in as current when appropriate, or through the Cross Plot Status window).
+
+All three menu options will then proceed to display the standard file browser through which the required file may be selected, however depending on which load menu item was chosen the files data will be loaded into a different cross plot position.
+

+Up to five results file can be held by the graph viewer at any one time, and they are stored in positions 1 to 5.
+
+Load Results (exclusive) will load the selected file into position 1, overwriting any values previously stored in position 1 and removing any data from the other positions 2 to 5.
+
+Load Results (shuffle) will load the selected file into position 1, shuffling down one position any files currently held in positions 1 to 4. Any data held in position 5 is lost by this shuffling process.
+
+Load Results (position) will load the selected file into the chosen position, overwriting any values currently held in that position. All other positions remain unaltered.
+
+{button ,AL(`list8',0,"",`main')} Related Topics
+


++$#>Loading the Current Graphical Results File
+

+To load the current graphical results file into the results graph viewer, with the graph viewer open select from the graph viewer menubar either, File / Load Current (exclusive)
, File / Load Current (shuffle), or File / Load Current (position 1 -5). If these menu options are greyed out it means that no solution has been run since the application was opened.
+
+All three menu options will then proceed to load the current graphical results file data, however depending on which load current
menu item was chosen the files data will be loaded into a different cross plot position.
+

+Up to five results file can be held by the graph viewer at any one time, and they are stored in positions 1 to 5.
+
+Load Current (exclusive) will load the current file into position 1, overwriting any values previously stored in position 1 and removing any data from the other positions 2 to 5.
+
+Load Current (shuffle) will load the current file into position 1, shuffling down one position any files currently held in positions 1 to 4. Any data held in position 5 is lost by this shuffling process.
+
+Load Current (position) will load the current file into the chosen position, overwriting any values currently held in that position. All other positions remain unaltered.
+
+{button ,AL(`list8',0,"",`main')} Related Topics
+
+


++$#>Specifying the Graph Axes in the Results Graphs
+

+The
Specify Graph dialogue box enables the user to select the required common x-axis and up to 4 different y-axis from the 77 results variables. In addition this dialogue box also contains buttons to switch individual y-axes on and off, switch in and out of overlay mode, autoscale the plots and refresh the displayed graphs.
+

+To open the Specify Graph dialogue box select the menu item Results / Specify Graph from the main menubar. alternatively the Specify Graph Icon can be selected from either the top toolbar or the side panel, depending on the data module set-up.
+
+The dialogue box contains four switches to set individual y-axes as either on or off, this buttons cannot be set to on until a variable has been selected from the adjacent list box.
+

+Each axis has its own list box that the user can select the required axis variable from, these currently list 77 different calculated variables, from Time through to Post Cat CO Emissions.
+
+{button ,AL(`list8',0,"",`main')} Related Topics

+
+


++$#>Specifying the Axis Scales in the Results Graphs
+

+The
Axis Scales dialogue box enables the user to control the required minimum and maximum axis values for each individual graph, (with the restriction of a common x-axis), the No. of increments on each axis and the No. of decimal points used both on the axes and used for the list facility. In addition this dialogue box also contains buttons to autoscale the plots and refresh the displayed graphs.
+

+To open the Axis Scales dialogue box select the menu item Results / Axis Scales from the main menubar. alternatively the Axis Scales Icon can be selected from either the top toolbar or the side panel, depending on the data module set-up.
+
+The dialogue box contains value entries for the minimum, maximum and increments for each axis, the user should set these to the required values. The zoom and autoscale functions will re-set these values as required.
+

+The No. of decimal places for each y-axis can also be defined this controls the number used not just on the graph axes but also the number of decimal places given when listing values.
+
+The force fit toggles can be used to overide the internal routines that attempt to round up the minimum and maximum axis to achieve a better scale, such that when ticked the axis will be set exactly as defined by the minimum/maximum/increments values, (this effectively already happens when a plot is zoomed with the exception of the no of increments).
+

+{button ,AL(`list8',0,"",`main')} Related Topics
+
+


++$#>Using Zoom in the Results Graphs
+

+The zoom a graph, with the graph results viewer open and the required graph displayed, select from the graph results viewer menubar the menu item View / Zoom
. The cursor will change to a full screen cross-hair, then with the mouse select one corner of the required area with the left mouse button, then drag the rubber band box and select the other corner, again with the left mouse button. The display is then redrawn showing the selected area. Using the right mouse button for either of the selections cancels the zoom action.
+
+If multiple y-axis graphs are displayed then the zoom function can be used in two different ways. Since the x-axis is common between the graphs setting the x-axis on one graph will also effect the other open graphs. In addition if the cursor picks are on both on the one graph that graphs y-axis values will be changed to reflect the zoom area picked. If the two cursor picks are on different graphs the y-axis values are ignored and only the x-axis is zoomed.
+

+{button ,AL(`list8',0,"",`main')} Related Topics
+
+


++$#>Autoscaling the Results Graphs
+

+To autoscale the displayed graphs select the
Autoscale option from one of the following dialogue boxes or window menus.
+
         +         +The Specify Graph dialogue box
+         +         +The Axis Scales dialogue box
+         +         +The Cross Plot Status dialogue box
+         + and the Results Graph window menubar
+
+This will autoscale all the displayed graphs and refresh the display.
+
+{button ,AL(`list8',0,"",`main')} Related Topics
+
+


++$#>Controlling the Cross Plot Status in the Results Graphs
+

+Within the results graph viewer up to five different files can be displayed at any one time. These files could have been loaded through the graph viewer window menu
, or they can be loaded into specific positions using the Cross Plot Status dialogue box.
+
+To open the Cross Plot Status dialogue box select the menu item Results / Cross Plot Status from the main menubar. alternatively the Cross Plot Status Icon can be selected from either the top toolbar or the side panel, depending on the data module set-up.
+
+The cross plot status dialogue box shows the current files names loaded into the five positions. A blank entry implies no file is currently loaded. The file browser iconadjacent to each text box can be used to open the Windows file browser to locate and load the required *.grs file.
+
+Currently the required filename cannot be typed directly into the text entry, but must be loaded through one of the methods identified.
+
+The visibility of individual cross plot files is controlled by the buttons to the left of the text entries in the cross plot status dialogue box.
+

+Within the graphs the lines from each cross plot have a specific colour, the default colours are defined as;
+Position 1: Red
+         +         +Position 2: Yellow
+         +         +Position 3: Green
+         +         +Position 4: Cyan
+         +         +Position 5: Blue
+
+These settings can be re-defined by the user through the results graph set-up.
+
+The cross plot status dialogue box also contains autoscale and refresh buttons.
+
+{button ,AL(`list8',0,"",`main')} Related Topics
+
+


++$#>Listing Points on the Results Graphs
+

+To list the x and y value of a point displayed on a graph, with the graph results viewer open and the required graph displayed, select from the graph results viewer window menubar the View / List Point
menu option. The cursor will change to a full screen cross-hair and the user can then pick the point of interest from the graphs using the left mouse button.
+
+The actual x and y values of the nearest point to the picked screens x-position is listed at the bottom of the window for all open graphs. If more than one line is cross plotted only the values for the line in the first active position are given.
+
+The pick function remains active such that the user can continue to pick alternative points, the values for each pick overwriting the previous ones.
+
+To cancel the pick action use the right mouse button
+
+To change the Number of decimal places that are given on a list use the Axis Scales dialogue box to set the required accuracy.
+
+{button ,AL(`list8',0,"",`main')} Related Topics
+


++$#>Listing Lines on the Results Graphs
+

+To list the x and y values of a line displayed on a graph, with the graph results viewer open and the required graph displayed, select from the graph results viewer window menubar the View / List Line(s)
menu option. This will open a scrollable text window that displays the x and y values for the current graph line and position.
+
+The currently displayed line or position can be changed by selecting from the line list menu bar the required graph and/or the required position.
+
+If no data exists for the selected graph line or position this is indicated on the display.
+
+The displayed list can be cut and pasted using the right mouse button functionality.
+
+This window must be
closed before you can return to the main application.
+
+{button ,AL(`list8',0,"",`main')} Related Topics

+
+


++$#>Using Overlay on Results Graphs
+

+The default display method for a graph display with multiple y-axis, is that each will have its own separate graph within the viewer. These can be overlayed such that they share a common single graph.
+
+To switch between
separate and overlay modes use the Overlay switch on the Specify Graph dialogue box.
+
+{button ,AL(`list8',0,"",`main')} Related Topics
+
+


++$#>Printing Results Graphs
+

+To print the displayed graphs, with graph results viewer open and the required graphs displayed, select the View / Print Graph
option from the graph viewer window menubar.
+
+The standard Windows print dialogue boxes are then employed to perform the printing task.
+
+{button ,AL(`list8',0,"",`main')} Related Topics
+
+


++$#>Results 3D Viewer
+

+Overview
+

+The Results 3D Viewer provides a 3d visualisation tool that animates the results of a vehicle simulation. It is primarily intended for track simulations, but will also animate any of the other simulation types.
+
+The 3d view of the track from the drivers perspective, animates the vehicles progress around the track, with head-up type displays showing vehicle accelerations, vehicle speed and the current position of the vehicle on the circuit. Engine speed is also displayed in a similar manner, as can the current gear.
+

+The user can stop, play, scan, ffwd and step the animation through the simulation sequence to view the results at the required time and pace.
+
+A facility exists to copy the contents of the display to the clipboard, and hence available for inclusion as an image in to many
standard windows packages.
+
+{button ,AL(`list15',0,"",`main')} Related Topics

+
+


++$#>Opening the Results 3D Viewer
+

+To open the results 3d viewer, select the menu item Results
/ 3d Viewer from the main menubar. Alternatively the Results 3d Viewer Icon can be selected from either the top toolbar or the side panel, depending on the data module set-up.
+
+When the viewer is open the icon remains indented and the pull down menu item is ticked.
+
+On initially opening the viewer no picture is displayed unless data has already been loaded into the results graph viewer.
+

+The results graph viewer and the 3d viewer share the same results files, thus any file loaded via one of them is automatically available to the other.
+
+To load additonal results file into the display, see Loading a 3d graphical results file and Loading the current 3d graphical results file.
+
+The current results files are identified in the Cross plot status dialog box. The 3D viewer can only display one results file at a time, the particular position being displayed is indicated at the lower left of the 3d viewer screen. The results file position used for the 3d viewer is controlled by the cross plot status dialog box, the displayed file being the first one in the list (1 - 5 ), which is both on and has data associated with it.
+

+{button ,AL(`list15',0,"",`main')} Related Topics
+


++$#>Closing the Results 3D Viewer
+

+To close the results graph viewer select either the menu item Results
/ 3D viewer from the main menubar, the close icon at the top right corner of the viewer, the 3d viewer window menu at the top left or alternatively the Results 3D Viewer Icon can be un-selected from either the top toolbar or the side panel, depending on the data module set-up.
+
+Closing the results 3d viewer does not lose the display contents or setting. Upon re-opening the 3d viewer the original display and set-up is retained, although the time step displayed will have been re-set to zero.
+
+{button ,AL(`list15',0,"",`main')} Related Topics
+


++$#>Loading a 3D Graphical Results File
+

+To load a 3d graphical results file into the results 3d viewer, with the 3d viewer open select from the 3d viewer menubar either, File / Load Results (exclusive)
, File / Load Results (shuffle), or File / Load Results (position 1 -5). (note that results can also be loaded in as current when appropriate, or through the Cross Plot Status window).
+
+All three menu options will then proceed to display the standard file browser through which the required file may be selected, however depending on which load menu item was chosen the files data will be loaded into a different cross plot position.
+

+Up to five results file can be held by the 3d viewer at any one time, and they are stored in positions 1 to 5.
+
+Load Results (exclusive) will load the selected file into position 1, overwriting any values previously stored in position 1 and removing any data from the other positions 2 to 5.
+
+Load Results (shuffle) will load the selected file into position 1, shuffling down one position any files currently held in positions 1 to 4. Any data held in position 5 is lost by this shuffling process.
+
+Load Results (position) will load the selected file into the chosen position, overwriting any values currently held in that position. All other positions remain unaltered.
+
+Note; this is functionally identical to loading results for the graphical results viewer, and since both share common data, loading it a file via the 3D viewer will automatically make it available for both the 3d viewer and the results graph viewer.
+
+{button ,AL(`list15',0,"",`main')} Related Topics
+


++$#>Loading the Current 3D Graphical Results File
+

+To load the current 3d graphical results file into the results 3d viewer, with the 3d viewer open select from the 3d viewer menubar either, File / Load Current (exclusive)
, File / Load Current (shuffle), or File / Load Current (position 1 -5). If these menu options are greyed out it means that no solution has been run since the application was opened.
+
+All three menu options will then proceed to load the current graphical results file data, however depending on which load current
menu item was chosen the files data will be loaded into a different cross plot position.
+

+Up to five results file can be held by the 3d viewer at any one time, and they are stored in positions 1 to 5.
+
+Load Current (exclusive) will load the current file into position 1, overwriting any values previously stored in position 1 and removing any data from the other positions 2 to 5.
+
+Load Current (shuffle) will load the current file into position 1, shuffling down one position any files currently held in positions 1 to 4. Any data held in position 5 is lost by this shuffling process.
+
+Load Current (position) will load the current file into the chosen position, overwriting any values currently held in that position. All other positions remain unaltered.
+
+Note; this is functionally identical to loading results for the graphical results viewer, and since both share common data, loading it a file via the 3D viewer will automatically make it available for both the 3d viewer and the results graph viewer.
+
+{button ,AL(`list15',0,"",`main')} Related Topics
+


++$#>Setting 3D Viewer Visibilitys
+

+Individual items within the 3d viewer can be switched on and off to both clarify the display and in some cases speed up the animation sequence.
+
+The individual items are listed under the Visibility
menu option in the 3d viewer menubar. The particular items are;
+
+Time     +         +         +Controls the display of the solution run time /lap time numerical display.
+Distance         +         +Controls the display of the solution distance numerical display.
+Vehicle Speed    +         +Controls the display of the vehicle speed dial on the head-up display.
+
Engine RPM       +         +Controls the display of the engine speed dial on the head-up display.
+Gear No.
         +         +Controls the display of the current gear graphic.
+G Circle         +         +Controls the display of the display of the vehicle lateral and longitudinal acceleration diagram, shown as a g circle.
+Circuit Map/ Speed
      +Controls the display of the circuit map for track runs or the vehicle speed profile for other runs.
+Kerbs    +         +         +Controls the visibility of the red/white corner kerbs, switching off can improve the animation speed on slower machines.
+Centre Dashes    +         +
Controls the visibility of the yellow track centre dashes, again switching off can improve animation speeds.
+Corner Boards
    +         +For track simulations the visibility of the 100m and 50m corner board graphics can be controlled.
+
+The visibility settings are retained when the 3d viewer is closed. They are also on a normal exit,
+saved to the .INI file such that the settings will be the same the next time the application is run.
+
+{button ,AL(`list15',0,"",`main')} Related Topics
+
+


++$#>Controlling the 3D Animation
+

+The animation sequence within the 3d viewer is controlled by the five
video style buttons, that allow the user to play the animation sequence at normal speed, to scan through the sequence at x3 speed and also to fast forward at x7 speed. Selecting the still button will stop the animation sequence, which will then activate the step button such that the user can view the sequence one frame at a time.
+

+If any menu options or icons are selected outside of the 3d viewer the animation sequence will stop at the current position. The play button would then need to be re-pressed to continue the animation sequence. Note this also applies to resizing the 3d viewer.
+
+To restart the animation sequence from the start either close and re-open the 3d viewer then select
play in the normal way, or re-select the results file from the cross plot status dialog box.
+

+The smoothness of the animation display can be improved by avoiding the use of single large angle track sections. For example instead of using a single track section to define a 180 degree constant radius turn break it up into four or six sections. This then allows the 3d viewer the opportunity when drawing ahead the chance to draw a reduced amount of superfluous track.
+
+{button ,AL(`list15',0,"",`main')} Related Topics
+
+


++$#>Setting the 3D View
+

+Some of the properties of the 3d view can be manipulated by the user, these are accessed via the View / Settings
menu option from the 3d viewer menubar. The dialog box contains six sliders that each control a view function.
+
+The individual view functions are listed below
+
+Draw ahead distance      +This sets the track distance in front of the current position for which the track sections are drawn.
+Look ahead distance      +
This defines the distance in front of the current position of the point at which the driver looks.
+
Zoom factor      +         +This defines a zoom value, which together with view radius control the feeling of height and distance
+Horizon angle    +         +
This controls the vertical horizon angle, such that the driver looks up / down.
+Interrupt frequency      +
This sets the frequency at which the animation sequence is interrupted to check for any menu or widget presses. The greater the setting the smoother the animation but the slower the response to any menu selections.
+
View radius      +         +Together with zoom factor this controls the feeling of height and distance.
+
+The view settings are retained when the 3d viewer is closed. They are also on a normal exit,
+saved to the .INI file such that the settings will be the same the next time the application is run.
+
+To reset the view settings to the default values select the View / Reset menu option from the 3d viewer menubar.
+
+{button ,AL(`list15',0,"",`main')} Related Topics
+
+


++$#>Copying the 3D Display to the Clipboard
+

+To copy the displayed picture from the 3d viewer to the clipboard select the View / Copy to Clipboard
menu option from the 3d viewer menubar. The image can then be pasted from the clipboard into a number of proprietary windows applications, e.g. Powerpoint.
+
+{button ,AL(`list15',0,"",`main')} Related Topics
+
+


+$#>Set-up - Display Modules
+

+Overview

+
+The icon toolbars on the main window can be arranged to suit the current module of interest, from either Data, Solve or Results. Changing the current displayed module will move the relevant small icons from along the top of the main window and display them in large icon buttons down the left hand side of the main screen.
+
+Changing the display module is purely a convenience function, it does not change the menu items available, nor is it necessary to do so to be able to proceed from data entry to solving.
+

+Setting the Display Module Icons
+
+
To change the display module select the menu item Setup / Module from the main window and chose either Data, Solve or Results as required. The current selection being identified by the tick.
+
+Saving the Display Module
+
+
On a normal exit from Lotus Vehicle Simulation the display module setting is saved in the Lotus Vehicle Simulation.ini file, such that on application start-up this setting will be restored.
+


+$#>Set-up - Data Entry Window Mode
+

+Window Modes

+
+The data entry windows can be displayed singularly, such that opening a data window will close any other currently open data window, only one being displayed at a time. The single
window mode is is the default setting. (note that this does not include solve and results windows). Alternatively the multi window mode may be employed, where any number of the data entry windows can be open together.
+
+Setting the Window Mode
+
+
To change from single window mode to multi window mode select the menu item Setup / Window from the main window and chose either Multi or Single as required. The current selection being identified by the tick.
+
+Saving the Window Mode
+
+
On a normal exit from Lotus Vehicle Simulation the window mode setting is saved in the Lotus Vehicle Simulation.ini file, such that on application start-up this setting will be restored.
+


+$#>Set-up - Input Data Graphs
+

+Input data Graphs
+

+The properties and appearance of the input data graphs can be set by the user through the set-up option. To open the set-up dialog box select the set-up option from the pull down menu at the top left hand corner of the data graph, or use the shortcut key command Ctrl+S.
+
+The user can control text, text colour, text font, text width, axes scales, axis fit, decimal points, line colours, line types, symbol types, symbol colours and visibility settings. Each individual item is discussed below by panel.
+

+Panel 1 - Plot text
+Title
    +         +Defines the text used for the graph title.
+X-Label  +Defines the text used for the x-axis.
+Y-Label  +Defines the text used for the y-axis.
+Font     +         +Sets the individual text label font types.
+Colour   +         +Sets the individual text label colours.
+Width    +         +Sets the line width/weight to be used for text and axis lines on screen.
+h/c Width        +Sets the line width/weight to be used for text and axis lines on hard copy.
+Grid Vis         +Sets the visibility of the graph's grid. Check this box to make visible.
+Grid Fill        +Sets the colour used to fill the background of the graph plotting region.
+
+Panel 2 - Plot axes
+X-axis   +         +
Identify values as being for the x-axis.
+Y-axis   +         +Identify values as being for the y-axis.
+Minimum Sets the minimum value for the axis.
+Maximum  +Sets the maximum value for the axis.
+Increments       +Defines the number of increments on the axis.
+Decimal Pls      +Sets the number of decimal places to be used on the axis and listing.
+Fit      +         +Forces the axes to use the defined min, max and increments exactly.
+
+Panel 3 - Plot lines
+Label
    +         +Defines a line label, (currently not used).
+Line     +         +Identify values as being for the line.
+Symbol   +Identify values as being for the symbol.
+Colour   +         +Sets the colour for the line or symbol.
+Type     +         +Sets the line type or symbol type.
+Visibility       +Switches the line or symbol visibility.
+Width
    +         +Sets the line width/weight to be used for lines and symbols on screen.
+h/c Width        +Sets the line width/weight to be used for lines and symbols on hard copy.
+
+The graph icon is provided to enable the graph to be redrawn/updated without the requirement to close the set-up dialog box down.
+
+Each data graph has its own set-up thus changing a setting in one does not affect any other data graphs.
+
+The input data graph settings are saved in the Lotus Vehicle Simulation.ini file, such that on application start-up these settings will be restored.
+


+$#>Set-up - Results Graphs
+

+Results Graph
+

+The properties and appearance of the results graphs can be set by the user through the set-up option. To open the set-up dialog box select the set-up option from the pull down menu at the top left hand corner of the results graph, or use the shortcut key command Ctrl+S.
+
+The user can control text, text colour, text font, text width, line colours, line types, symbol types, symbol colours and visibility settings. Each individual item is discussed below by panel.
+

+Panel 1 - Plot text
+Title
    +         +Identify values as being for the graph title.
+X-Axis   +         +Identify values as being for the x-axis.
+Y-Axis   +         +Identify values as being for the current y-axis.
+Text     +         +Sets the individual text labels.
+Font     +         +Sets the individual text label font types.
+Colour   +         +Sets the individual text label colours.
+X-org    +         +Defines the plot x position for the lower left corner, (frame is 0.0 to 1.0).
+Y-org    +         +Defines the plot y position for the lower left corner, (frame is 0.0 to 1.0).
+X-size   +         +Defines the plot x size for the current plot, (frame is 0.0 to 1.0).
+Y-size   +         +Defines the plot y size for the current plot, (frame is 0.0 to 1.0).
+X-leg    +         +Defines the legend lower left x position relative to its x-org.
+Y-leg    +         +Defines the legend lower left y position relative to its y-org.
+Legend vis       +Sets the visibility of the plots legend box.
+Legend size      +Defines the unit size of the current plots legend box.
+Width    +         +Sets the line width/weight to be used for text and axis lines on screen.
+h/c Width        +Sets the line width/weight to be used for text and axis lines on hard copy.
+Auto pos         +Controls the user positioning/ auto positioning of the graphs.
+Text Scale       +Defines a height scaling factor for plot labels, title and annotation.
+Symbol Scale     +Defines a scaling factor for symbols plot size.
+Grid Vis         +Sets the visibility of the graph's grid. Check this box to make visible.
+Grid Fill        +Sets the colour used to fill the background of the graph plotting region.
+
+Panel 2 - Plot lines
+Y1
       +         +Identify values as being for the y1-line.
+Y2       +         +Identify values as being for the y2-line.
+Y3       +         +Identify values as being for the y3-line.
+Y4       +         +Identify values as being for the y4-line.
+Label    +         +Defines the position label used on the legends
+Line Colour      +Sets the colour for the lines.
+Line Type        +Sets the line types.
+Vis      +         +Switches the line visibility.
+Line Colour      +
Sets the colour for the lines.
+Line Type        +Sets the line types.
+Vis      +         +Switches the symbol visibility.
+Width
    +         +Sets the line width/weight to be used for lines and symbols on screen.
+h/c Width        +Sets the line width/weight to be used for lines and symbols on hard copy.
+Symbol limit     +Switches on the clipping limit for the maximum number of symbols to be plotted for a single line, (limit = 20).
+
+The graph icon is provided to enable the graph to be redrawn/updated without the requirement to close the set-up dialog box down.
+
+Each position has its own distinct set of properties for its lines. Thus changing a setting for one position does not affect any other data position.
+


+$#>Set-up - Engine Performance Input Data Graph
+

+Input data Graph - Engine Performance
+

+The properties and appearance of the engine performance input data graph can be set by the user through the set-up option. To open the set-up dialog box select the set-up option from the pull down menu at the top left hand corner of the data graph, or use the shortcut key command Ctrl+S.
+
+The user can control text, text colour, text font, text width, axes scales, axis fit, decimal points, line colours, line types, symbol types, symbol colours and visibility settings. Each individual item is discussed below by panel.
+

+Panel 1 - Plot text
+Title
    +         +Defines the text used for the graph title.
+X-Label  +Defines the text used for the x-axis.
+Font     +         +Sets the individual text label font types.
+Colour   +         +Sets the individual text label colours.
+Width    +         +Sets the line width/weight to be used for text and axis lines on screen.
+h/c Width        +Sets the line width/weight to be used for text and axis lines on hard copy.
+Grid Vis         +Sets the visibility of the graph's grid. Check this box to make visible.
+Grid Fill        +Sets the colour used to fill the background of the graph plotting region.
+
+Panel 2 - X axes
+Minimum
         +Sets the minimum value for the x-axis.
+Maximum  +Sets the maximum value for the x-axis.
+Increments       +Defines the number of increments on the x-axis.
+Decimal Pls      +Sets the number of decimal places to be used on the x-axis and listing.
+Fit      +         +Forces the x-axes to use the defined min, max and increments exactly.
+
+Panel 3 - Y axes
+Visibility
       +Sets the visibility of the current y-axis. Three y-axis are used to display 1=BMEP, 2=Torque and 3=Power. The left and right arrow buttons move between them, their specific details being displayed in this panel.
+Label    +         +Defines the y-axis label of the current y-axis.
+Font     +         +Sets the y-axis label font type for the current y-axis.
+Colour   +         +Sets the y-axis label colour for the current y-axis.
+Minimum          +Sets the minimum value for the y-axis of the current y-axis.
+Maximum  +Sets the maximum value for the y-axis of the current y-axis.
+Increments       +Defines the number of increments on the y-axis of the current y-axis.
+Decimal Pls      +Sets the number of decimal places to be used on the y-axis and listing of the current y-axis.
+Fit      +         +Forces the y-axes to use the defined min, max and increments exactly for the current y-axis.
+Position         +Defines by origin, length side and units the settings of the current y-axis.
+Origin   +         +Sets the start position of the current y-axis origin. This value should be between 0 and 1 where 0 is the origin of the plottable region and 1 is the top of this region. The defined axes minimum value will be positioned here.
+Length   +         +Sets the length of the current y-axis origin. This value should be between 0 and 1. Where 1 is the total length of the plottable region. This is added to the origin position to define the upper point of the current y-axis. The defined axes maximum value will be positioned here.
+Side     +         +Sets the current y-axis as being positioned to the left or the right of the plottable region.
+Units    +         +Sets the displayed units for the current y-axis. For BMEP select from; bar, psi or mPa. For Torque select from; Nm, lbft or kgm. For Power select from; kw, hp or Ps.
+Line     +         +Identify values as being for the line.
+Symbol   +Identify values as being for the symbol.
+Colour   +         +Sets the colour for the line or symbol.
+Type     +         +Sets the line type or symbol type.
+Visibility       +Switches the line or symbol visibility.
+Width
    +         +Sets the line width/weight to be used for lines and symbols on screen.
+h/c Width        +Sets the line width/weight to be used for lines and symbols on hard copy.
+
+The graph icon is provided to enable the graph to be redrawn/updated without the requirement to close the set-up dialog box down.
+
+The engine performance data graph settings are saved in the Lotus Vehicle Simulation.ini file, such that on application start-up these settings will be restored.
+


++$#>Solve Module
+
Overview
+

+The solve module controls which particular calculation run is performed from the available options. The user can specify a steady speed test, an acceleration test, an emissions test and a track test, with sub-options available with each. Sub solution options included setting the required shift map, identifying the particular emissions cycle or selecting the target acceleration.
+
+Prior to running a calculation the validity of the current data is checked by automatically invoking the data checking wizard
, any errors, warnings or comments are reported.
+
+During the calculation either a simple progress bar is displayed or the calculation telemetry screen can be used to graphically show, engine speed, gear, vehicle speed, the test cycle and the engine load map via animation, as they vary throughout the cycle run.
+
+When Lotus Vehicle Simulation calculations are performed a number of results files are created, the extensions identifying the type of results file. i.e. :
+
+         +         +Text results files have the form         +*_n.crs
+         +         +Graphical results files have the form    +*_n.grs
+         +         +Grid text results files have the form    +*_n.grd
+
+         +Where; n is the Plot File Counter number which is incremented for each calculation, and the * is the Test No. string supplied by the user, both are displayed in the vehicle data window.
+
+{button ,AL(`list9',0,"",`main')} Related Topics
+
+


++$#>Solution Run Types
+
Overview
+

+Lotus Vehicle Simulation can perform a number of different calculation types, the user identifies through the Calculation Set-up dialogue box the required calculation.
+
+Each basic calculation types can have a number of sub-options, some of which require additional solution values to be set. A list is given below of each calculation option and their sub-options.
+
+1) Steady Speed
+i) User Defined Gear and Speed
+Set Speed Units
+Set Speed Value
+Set Gear No.
+ii) User Defined Shift Map and Speed
+Set Speed Units
+Set Speed Value
+Set Shift Schedule
+
+2) Acceleration
+i) Standing Start
+Set Launch Type
+Set Shift Schedule
+ii) In Gear
+Set Gear No.
+iii) User Defined
+Set Speed Units
+Set Start Speed Value
+Set End Speed Value
+Set Shift Schedule
+
+3) Emissions Cycle
+i) U.S.A - Federal FTP75 Drive Cycle
+Shift Schedule
+ii) U.S.A - Federal Highway Cycle
+Shift Schedule
+iii) U.S.A - Federal FTP06 Drive Cycle
+Shift Schedule
+iv) Europe - EURO
+Normal Power or Under powered
+Shift Schedule
+v) Europe - EUDC
+Normal Power or Under powered
+Shift Schedule
+vi) Europe - EURO + EUDC
+Normal Power or Under powered
+Shift Schedule
+vii) Japan - Japanese 15 Mode
+Shift Schedule
+viii) User Defined
+Shift Schedule
+
+4) Track Simulation
+i) Simple Oval
+Shift Schedule
+ii) Lotus Test Track
+Shift Schedule
+iii) Snetterton Race Circuit, Norfolk
+Shift Schedule
+iv) User Defined
+Shift Schedule
+
+{button ,AL(`list9',0,"",`main')} Related Topics
+


++$#>Solution Run Types - Steady Speed
+

+
Steady Speed
+i) User Defined Gear and Speed
+Set Speed Units
+Set Speed Value
+Set Gear No.
+ii) User Defined Shift Map and Speed
+Set Speed Units
+Set Speed Value
+Set Shift Schedule
+
+The steady speed run type performs the calculations at a user defined speed with either a user defined gear No. or a user defined shift schedule.
+
+The available gears and shift schedules are as defined by the Gearbox and Transmissions data windows.
+
+{button ,AL(`list9',0,"",`main')} Related Topics
+
+


++$#>Solution Run Types - Acceleration
+

+
Acceleration
+i) Standing Start
+Set Launch Type
+Set Shift Schedule
+ii) In Gear
+Set Gear No.
+iii) User Defined
+Set Speed Units
+Set Start Speed Value
+Set End Speed Value
+Set Shift Schedule
+
+The acceleration run type performs the calculations for one of three acceleration events.
+
+The first is a standing start acceleration that can use either a slip /start or an idle start, this effects the launch characteristics. The user needs to define the shift schedule as being either the default shift map or as one of the currently user defined shift schedules.
+
+The second is an in gear acceleration run for which the user defines the required gear. The acceleration is then performed from idle speed through to maximum engine speed, as defined in the engine data window.
+
+The third class of acceleration run type is a user defined acceleration between two velocity values. The user, as for standing start accelerations, needs to define the shift schedule as being either the default shift map or as one of the currently user defined shift schedules.
+
+The available gears and shift schedules are as defined by the Gearbox and Transmissions data windows.
+
+{button ,AL(`list9',0,"",`main')} Related Topics
+


++$#>Solution Run Types - Emissions Cycle
+

+
Emissions Cycle
+i) U.S.A - Federal FTP75 Drive Cycle
+Shift Schedule
+ii) U.S.A - Federal Highway Cycle
+Shift Schedule
+iii) U.S.A - Federal FTP06 Drive Cycle
+Shift Schedule
+iv) Europe - EURO
+Normal Power or Under powered
+Shift Schedule
+v) Europe - EUDC
+Normal Power or Under powered
+Shift Schedule
+vi) Europe - EURO + EUDC
+Normal Power or Under powered
+Shift Schedule
+vii) Japan - Japanese 15 Mode
+Shift Schedule
+viii) User Defined
+Shift Schedule
+
+Seven standard emissions cycles can be selected from U.S.A, Europe or Japan. These cycles contain the time, speed and gear information that defines the cycle. Similar information can be defined and used for a user specified cycle. These can be created using the Lotus Vehicle Simulation cycle builder toolCYCLE_BUILD_OVER.
+
+The user needs to define the shift schedule as being either the default shift map or as one of the currently user defined shift schedules.
+
+The available shift schedules are as defined by the Gearbox and Transmissions data windows.
+
+{button ,AL(`list9',0,"",`main')} Related Topics
+


++$#>Solution Run Types - Track Simulation
+

+
Track Simulation
+i) Simple Oval
+Shift Schedule
+ii) Lotus Test Track
+Shift Schedule
+iii) Snetterton Race Circuit, Norfolk
+Shift Schedule
+iv) User Defined
+Shift Schedule
+
+By default three standard tracks are given as examples of how to construct a track simulation. These simulations are defined by a series of individual track segments the dimensions and speed restriction, (if any), being specified for each segment. Similar information can be defined and used for a user specified track. These can be created using the Lotus Vehicle Simulation track builder tool.
+
+The user needs to define the shift schedule as being either the default shift map or as one of the currently user defined shift schedules.
+
+The available shift schedules are as defined by the Gearbox and Transmissions data windows.
+
+{button ,AL(`list9',0,"",`main')} Related Topics
+
+


+#Default Shift Map
+
The default shift map is purely based on engine rpm and tractive effort, in that gear shift points are based on either the rpm limits of the engine, or the ability of a particular gear to give the greatest acceleration level. On emissions cycles the default shift map implies the gear values as identified by the cycle specification.
+


++$#>Opening the Calculation Set-up Screen
+

+To open the calculation set-up dialogue box, select the menu item Solve
/ Setup from the main menubar. Alternatively the Solve Setup Icon can be selected from either the top toolbar or the side panel, depending on the data module set-up. In addition the F9 function key can be used as a shortcut to open this screen
+
+When the calculation screen is open the icon remains indented and the pull down menu item is
ticked.
+

+{button ,AL(`list9',0,"",`main')} Related Topics
+
+


++$#>Closing the Calculation Set-up Screen
+
+To close the calculation set-up dialogue box select either the menu item Solve
/ Setup from the main menubar, the close icon at the top right corner of the calculation screen, the calculation set-up screen window menu at the top left or alternatively the Solve Set-up Icon can be un-selected from either the top toolbar or the side panel, depending on the data module set-up. In addition the F9 function key can be used as a shortcut to close this screen.
+

+The set-up screen does not actually have to be open to perform a calculation, since alternative icons and commands can be used to start the calculation run.
+
+Closing the calculation set-up screen does not lose any of the settings. Upon re-opening the screen the original options and values are retained.
+
+{button ,AL(`list9',0,"",`main')} Related Topics
+
+


++$#>Setting the Calculation Run Type
+
+To define a calculation run type, open the calculation run set-up
screen, any current run type settings are displayed in the selection boxes together with any relevant value boxes.
+
+The selection boxes are arranged such that a run type is defined from the top selection box downwards. Thus the top selection box identifies the run type as being a steady speed run, an acceleration run, an emissions test or a cycle simulation. Selecting the required option from this list clears the current settings and switches of the calculation button, (assuming it was on)
+

+Depending on the run type chosen different selection choices are displayed in the second selection box. The user should select the required option from this second box. Again depending on the solution run the user may be required to make further selections or enter values for speeds.
+
+The user should continue to make selections and enter values until the calculate run icon is displayed in the lower right hand corner of the calculation set-up screen.
+
+At this stage the lower panel of the calculation set-up window will display, depending on the run type, either the current gear selected or the current shift map selected. Using the two arrow icons the user can selected the required gear or shift map.
+

+{button ,AL(`list9',0,"",`main')} Related Topics
+
+


++$#>Checking the Data at Run Time
+
+When a calculation is run the Data checking wizard
is automatically invoked to check the validity of the current data. It does not open the main data checking wizard window, but merely produces a summary of any the numbers of Errors, Warnings or Comments that it has found in a simple dialogue box. If no data irregularities are identified no message is displayed and the user would be unaware that the data checking wizard had been invoked.
+
+Three fail types are used by the data checker of varying levels of severity.
+
+If problems are identified the user can chose to either abort the run, retry or ignore the messages. Whilst it may be perfectly valid to ignore Comments identified, it is unlikely that ignoring Errors will prove acceptable.
+
+To find out further details about the identified irregularities the user should chose to abort the run and open the data checking wizard.
+

+Because of the complexity of the data requirements, the validity of which can vary depending on the run type selected, some warnings and particularly some Comments could be safely ignored if they refer to unrelated data variables, or are simply a data variable that is outside the default limits.
+
+{button ,AL(`list9',0,"",`main')} Related Topics
+
+


++$#>Starting the Calculation
+

+To start the calculation select the calculate run icon
. If the icon is not visible or is greyed out then the calculation run set up has not been completed.The icon is displayed in the lower right hand corner of the calculation set-up screen, and also in the top toolbar or the side panel depending on the data module set-up, it also is located at the bottom of the calculation telemetry screen. The calculation can also be started using the menu item Solve / Calculate from the main menubar or finally with the F11 key.
+

+Once the calculation has started either the progress bar will be displayed identifying the solution progress, or if the calculation telemetry screen is open, the progress is identified on this screen via animated dials and graphical display.
+
+Once started the calculation can only be stopped prior to its completion with the stop icon on the telemetry screen.
+
+{button ,AL(`list9',0,"",`main')} Related Topics
+
+


++$#>The Calculation Telemetry Screen
+

+Overview
+

+The calculation telemetry screen provides a graphical display of the calculation run as it proceeds. It displays on x-y graphs the target velocity profile, (or track position), the engine load speed map and via animated dials the engine speed, vehicle speed and current gear.
+
+The user can control the speed the simulation proceeds at, including stopping the run altogether and
stepping through each solution time step.
+
+The calculation run can also be aborted via the telemetry screen.
+

+{button ,AL(`list9',0,"",`main')} Related Topics
+
+


++$#>Opening the Calculation Telemetry Screen
+

+To open the calculation telemetry screen, select the menu item Solve
/ Display from the main menubar. Alternatively the Solve Display Icon can be selected from either the top toolbar or the side panel, depending on the data module set-up. In addition the F12 function key can be used as a shortcut to open this screen
+
+When the calculation telemetry screen is open the icon remains indented and the pull down menu item is
ticked.
+

+{button ,AL(`list9',0,"",`main')} Related Topics
+
+


++$#>Closing the Calculation Telemetry Screen
+
+To close the calculation telemetry screen select either the menu item Solve
/ Display from the main menubar, the close icon at the top right corner of the telemetry screen, the calculation telemetry screen window menu at the top left or alternatively the Solve Display Icon can be un-selected from either the top toolbar or the side panel, depending on the data module set-up. In addition the F12 function key can be used as a shortcut to close this screen.
+

+The calculation telemetry screen does not actually have to be open to perform a calculation, since alternative icons and commands can be used to start the calculation run, and the solution runs far quicker without the overhead of drawing the animated displays.
+
+{button ,AL(`list9',0,"",`main')} Related Topics
+
+


++$#>Running the Calculation from the Telemetry Screen
+
+To start the calculation run from the telemetry screen simply select the calculate run icon
displayed at the bottom of the telemetry screen. If the icon is not visible or is greyed out then the calculation run set up has not been completed.
+
+{button ,AL(`list9',0,"",`main')} Related Topics

+
+


++$#>Aborting the Calculation from the Telemetry Screen
+
+To abort the current calculation run from the telemetry screen simply select the stop icon
on the telemetry screen.
+
+Since the calculation run will not have finished the use of the load current functionality should be avoided to prevent errors trying to read partial file records.
+
+{button ,AL(`list9',0,"",`main')} Related Topics

+
+


++$#>Controlling the Calculation Telemetry Display and Speed
+
+The speed at which any calculation proceeds with the telemetry screen open can be controlled via a series of video player style icons
, that provide play, scan ffwd, pause and step functions. They are displayed at the bottom of the telemetry screen.
+
+The step icon is greyed out until the calculation run is paused, the user can then proceed to step through the run.
+
+The two graphs shown on the telemetry screen, one small and one large, can be swapped in position. The default setting is for the large graph to be the velocity time history for speed based runs and the for the large graph to be the track for track simulations, in both cases the small graph is the engine load and speed map. This can be reversed using the display setting icons
that are displayed at the bottom of the telemetry screen.
+
+{button ,AL(`list9',0,"",`main')} Related Topics
+
+


++$#>Copying the Telemetry Screen Display to the Clipboard
+

+To copy the displayed picture from the telemetry screen to the clipboard select the View / Copy to Clipboard
menu option from the telemetry screen menubar. The image can then be pasted from the clipboard into a number of proprietary windows applications, e.g. Powerpoint.
+
+{button ,AL(`list9',0,"",`main')} Related Topics
+
+


++$#>Parametric Analysis
+

+Overview
+

+
+The parametric analysis option allows the user to rapidly analyses the influence of one, two or three
data variables on a calculated result. The data variables altered can be a single number, such as vehicle weight, a spline , such as engine power or a map, such as a fuel consumption. The range that these variables are analysed over can be defined by value, by shift or by scale. This variation being defined by either, start and end values with a number of increments, or by a list of the variations.
+
+The results are plotted as a simple x-y plot for the 1D analysis, (i.e 1 variable), for 2D analysis (i.e. 2 variables), as either a contour map or a contoured surface, whilst 3D analysis (i.e. 3 variables), as a series of 2d contour maps.
+
+The results can be selected from either the '.crs' file variables or the '.grs' file variables. The grs results can further be requested at either the end of the cycle or at some user selected time during the cycle.
+
+The results options listed in the .crs selection list are controlled by the current solution setting and also by the current input data. The required solution run should be set up before the parametric window is opened.
+
+{button ,AL(`list18',0,"",`main')} Related Topics
+
+


++$#>Opening the Parametric Analysis Screen
+

+To open the parametric analysis screen, select the menu item Solve
/ Parametric from the main menubar. Alternatively the Parametric Analysis Icon can be selected from either the top toolbar or the side panel, depending on the data module set-up.
+
+When the parametric analysis screen is open call backs from all other windows are ignored, thus it is important that the required data file is already loaded and the required analysis run type set.
+
+{button ,AL(`list18',0,"",`main')} Related Topics
+
+


++$#>Setting the Number of Parametric Variables
+

+Parametric analysis can be performed with either 1,2 or 3 variables. The buttons at the top of parametric analysis screen control labelled as '1D', '2D' and '3D' control the number of analysis variables used. Selecting the required button will set the appropriate entry boxes as either 'on' or 'greyed-out', allowing definition of the data variables.
+
+This setting is saved on both closing the parametric window and exiting the program.

+
+{button ,AL(`list18',0,"",`main')} Related Topics

+
+


++$#>Defining a Parametric Analysis Variable
+

+A parametric analysis variable is selected from a pre-defined list that contains over 70 of the major Lotus Vehicle Simulation data file values. This list includes items that are either, single values, (such as wheelbase), splines ( such as engine power), or 2d maps (such as fuel consumption).
+
+Each parametric variable has its own selection box from which the required variable should be picked. Three buttons then allow each variable to be individually varied by one of three methods, by value, by shift and by scale.
+

+When a data variable is picked, (or when the parametric window is opened), the variable is checked against the current data to determine whether it is a valid choice. An example of this would be selecting gear ratio 6 when the gear box is defined to have only 5. If any errors are detected a warning is given.
+
+'By Value', is used to specifically define the variable using actual values, that must be in the units appropriate to that variable. The current value setting for the variable can be found by selecting the question mark icon. By value can only be used on variables that are a single value. If a variable that is a spline or a 2D map is selected the 'by value' button is disabled. The actual values themselves are defined by the 'min' 'max' and 'no of steps' value entries, this would perform the calculations from the 'min' value to the 'max' value with the defined number of equal step sizes between them. As an alternative all the required points can be defined as a list of numbers, by selecting the 'by list' button and entering in the values via the edit icon
+
+'By Shift', is used to define the variable as a series of shifts from its currently defined value. As for 'by value' this can be defined using either the min / max values or the 'by list' option. A negative shift will decrease the current value whilst a positive shift will increase the current value. 'By shift' can be applied to all data variable types.
+
+'By Scale', is used to define the variable as a series of scaled points from its currently defined value. As for 'by value' this can be defined using either the min / max values or the 'by list' option. A scale value less than one will decrease the variable from the current value whilst a scale value greater than one will increase the variable from current. 'By scale' can be applied to all data variable types.
+
+All the variable settings are saved on both closing the parametric window and exiting the application.
+
+{button ,AL(`list18',0,"",`main')} Related Topics
+
+


++$#>Controlling the Parametric Analysis Type
+

+Parametric analysis can be carried out over any of the standard Lotus Vehicle Simulation run types. The required analysis type should be defined prior to opening the parametric window
since once open all other windows are ignored.
+
+{button ,AL(`list18',0,"",`main')} Related Topics
+
+


++$#>Defining the Parametric Analysis Result
+

+The parametric analysis result can be any relevant calculated result from either the .grs or .crs files. The user should select the required file by checking the appropriate check box, and then select from the list the required result. Up to 10 different results can be defined.
+
+The contents of the .crs list box will vary depending on both the current data file and the current analysis run type. For any .grs result it can be determined at either the end of the run or at a user defined time during the run, this option is disabled for .crs results.
+

+To set the number of y results required enter the number into the 'No of Y results' value entry box, the arrow icons can then be used to step through each y-result in turn and set the selections to the required values. Any mix of results is permissible, even down to the same y-result but at different time points through the cycle.
+
+The arrow icons can also be used to step through the displayed graphical results once an parametric run has been completed.
+
+{button ,AL(`list18',0,"",`main')} Related Topics
+
+


++$#>Running the Parametric Analysis
+

+To run the parametric analysis, with the parametric window open select either the Solve
/ Update menu item or the calculate icon.
+
+
As the analysis proceeds a twin progress bar window is displayed that shows the percentage completed of the current solution step and of the whole parametric analysis run.
+
+The analysis can be stopped at any time by selecting the cancel icon
+
+As the calculation progresses the results are written to the scrollable text region and at appropriate points the graphical results display is updated.
+
+{button ,AL(`list18',0,"",`main')} Related Topics
+
+


++$#>Parametric Text Results
+

+As a parametric analysis is run the results are listed into the scrollable text region on the window. The results list the value of the x variables and the calculated y result. Note that the listed x-values will only be real numbers if the variable is of single value type. For splines and 2d maps variables the listed x-values will be the shift or scale setting.
+
+The contents of the text display can be saved to a file using the menu option Text
/ Save to File or printed directly using the menu option Text / Print. As will all Lotus Vehicle Simulation multi line text entries the right mouse button can be used to perform 'cut and paste' type operations between Lotus Vehicle Simulation and other applications.
+
+{button ,AL(`list18',0,"",`main')} Related Topics
+
+


++$#>Analysing the Parametric Results
+

+Some simple analysis tools are provided for reviewing the parametric analysis results. The minimum and maximum results value found and their associated x-values can be listed using the menu option Solve
/ Summary, whilst the results of least squares fits to the results can be listed using the menu option Solve / Sensitivities.
+
+The sensitivity numbers are unitized over the range to enable direct comparisons to be made. The larger the sensitivity number the greater that variable has on the result. A negative sensitivity number implies that increasing the variable results in a reduction of the result. Both the minimum and maximum sensitivity numbers are given for each variable.
+
+Parametric analysis with two variables also includes cross sensitivity values.
+
+{button ,AL(`list18',0,"",`main')} Related Topics
+
+


++$#>Controlling the Parametric Graphical Display
+

+The graphical display of the parametric results can be controlled using the graph set-up options
. The set-up window is opened using the menu option Graph / Setup or using the Ctrl + S keyboard combination.
+
+The graph display size can be set to either large or small by using the menu option Graph / Size or cycled between large and small using the graph icon
+
+For 3d graphical images the view orientation can be set not only through the set-up menu option, but also dynamically using Ctrl + arrow keys to rotate around and up and down.
+
+If multiple y-results have been requested the displayed result is changed by using the arrow icons on the Results panel. Note that the graphical display is disabled, (i.e. not redrawn) if any changes are made to the data, since the results would be no longer valid for the displayed information.
+
+{button ,AL(`list18',0,"",`main')} Related Topics
+
+


++$#>Parametric Results Graph Set-up
+

+Parametric Results Graphs
+

+The properties and appearance of the parametric calculations results graphs can be set by the user through the set-up option. To open the set-up dialog box select the set-up option from the pull down menu at the top left hand corner of the data graph, or use the shortcut key command Ctrl+S.
+
+The user can control text, text colour, text font, text width, axes scales, axis fit, decimal points, line colours, line types, symbol types, symbol colours and visibility settings. Each individual item is discussed below by panel. In addition parametric results can be displayed as x-y plots 2d contours, 3d surface or a combination of these types.
+

+The display properties are set in seven different property sheets.
+         +Std 1D   +         +Controls the conventional x-y plot appearance
+         +Ext. View        +Controls the extended plot types for multi variable parametric results
+         +3D View  +Settings for the surface plot view
+         +Contour Levels   +User definable contour level values and colours
+         +3D Labels        +Surface plot label settings
+         +2D Contours      +Contour plot settings
+         +3D Surface       +Surface plot settings
+
+Property Sheet 1 - 'Std 1D', Panel 1 - Plot text
+Title
    +         +Defines the text used for the graph title.
+X-Label  +Defines the text used for the x-axis.
+Y-Label  +Defines the text used for the y-axis.
+Font     +         +Sets the individual text label font types.
+Colour   +         +Sets the individual text label colours.
+Width    +         +Sets the line width/weight to be used for text and axis lines on screen.
+h/c Width        +Sets the line width/weight to be used for text and axis lines on hard copy.
+Grid Vis         +Sets the visibility of the graph's grid. Check this box to make visible.
+Grid Fill        +Sets the colour used to fill the background of the graph plotting region.
+
+Property Sheet 1 - 'Std 1D', Panel 2 - Plot axes
+X-axis   +         +
Identify values as being for the x-axis.
+Y-axis   +         +Identify values as being for the y-axis.
+Minimum Sets the minimum value for the axis.
+Maximum  +Sets the maximum value for the axis.
+Increments       +Defines the number of increments on the axis.
+Decimal Pls      +Sets the number of decimal places to be used on the axis and listing.
+Fit      +         +Forces the axes to use the defined min, max and increments exactly.
+
+Property Sheet 1 - 'Std 1D', Panel 3 - Plot lines
+Label
    +         +Defines a line label, (currently not used).
+Line     +         +Identify values as being for the line.
+Symbol   +Identify values as being for the symbol.
+Colour   +         +Sets the colour for the line or symbol.
+Type     +         +Sets the line type or symbol type.
+Visibility       +Switches the line or symbol visibility.
+
Width    +         +Sets the line width/weight to be used for lines and symbols on screen.
+h/c Width        +Sets the line width/weight to be used for lines and symbols on hard copy.
+
+Property Sheet 2 - 'Ext. View', Panel 1 - 2D Contour Type
+Off
      +         +Switches 2D contour display off, only relevant if plotting a surface and you don't want to display the 2d contour as well.
+Wire Frame       +Switches 2D contour display on, displaying the contour lines only.
+Filled   +         +Switches 2D contour display on, displaying the contour lines drawn over a single fill colour
+Coloured Contours        +Switches 2D contour display on, displaying the contour lines with each contour band having a unique fill colour.
+
+Property Sheet 2 - 'Ext. View', Panel 2 - 3D Surface Type
+Off
      +         +Switches 3D surface display off.
+Wire Frame       +Switches 3D surface display on, displaying the surface grid in wire frame only.
+Filled   +         +Switches 3D surface display on, displaying the surface grid in wire frame drawn over a single fill colour.
+Coloured Contours        +Switches 3D surface display on, displaying the surface grid in wire frame, and showing each contour band having a unique colour.
+
+Property Sheet 3 - '3D. View'
+View Plane Angle         +         +Defines the 3d view angle around the vertical Z-axis, (note that this value can be changed directly from the parametric window using the Ctrl + left/right arrow keys).
+View Radius      +         +         +Defines the 3d view spherical radius that contains the plot, (program automatically calculates this number).
+View Elevation Angle     +         +Defines the 3d view angle relative to the x-y plane, (note that this value can be changed directly from the parametric window using the Ctrl + up/down arrow keys)..
+Axis Values Text Height  +Sets the height of the 3d-axis labels.
+Axis Values Text Width   +Sets the width of the 3d-axis labels.
+Height to Base Axis Ratio        +Defines the ratio between the lengths of the plot height and the plot base. Numbers >1 produce a tall narrow picture, whilst numbers <1 produce a low squat plot..
+X/Y Axis Length Ratio    +         +Defines the ratio between the x-axis length and the y-axis length. For a ratio of 1 the x-y plane is square. For ratios >1 the x-axis is longer than the y-axis, whilst for ratios <1, the y-axis is longer that the x-axis..
+User Defined Z Limits    +         +To control the minimum and maximum z-axis values set this check box to on. (If this option is set to off, the minimum and maximum z values are set to the minimum and maximum z-values contained in the results).
+Z-axis Minimum   +         +Defines the minimum z-axis value.
+Z-axis Maximum   +         +Defines the maximum z-axis value.
+Z-axis Increments        +         +Defines the number of increments on the z-axis.
+User Defined 2D Contour Z Height         +To control the z-position of the 2D contour plot on a 3d surface plots set this check box to on. (If this option is set to off, the 2d contour is positioned at the minimum z-axis position).
+2D Contour Z Height      +         +Defines the z-axis value for the 2d contour plot to be displayed at.
+
+Property Sheet 4 - 'Contour Levels'
+User Defined Levels      +To define the values for the contour levels set this check box to on. (if this option is set to off, the contour levels will be eqi-spaced between the minimum and maximum Z results, using the current number of contours).
+No of Levels     +         +Sets the number of contour levels to use.
+Value    +         +         +Sets the value for the transition from one contour level to the next.
+Colour   +         +         +Sets the colour for the contour level.
+
+Property Sheet 5 - '3D Labels, Panel 1 - 3D Label Settings
+Title    +         +
Identify values as being for the title.
+X-axis   +         +Identify values as being for the x-axis.
+Y-axis   +         +Identify values as being for the y-axis.
+Z-axis   +         +Identify values as being for the z-axis.
+Visibility       +Sets label visibility, set check box to on for visible.
+X Position       +Sets label x position, where graph is 0 to 1.
+Y Position       +Sets label y position, where graph is 0 to 1.
+Angle    +         +Sets label angle to the horizontal, in degrees, 0=horizontal.
+Width    +         +Sets label text width.
+Height   +         +Sets label text height.
+
+Property Sheet 5 - '3D Labels, Panel 2 - Z-Axis Plot Text
+Title    +         +
Identify values as being for the title.
+Text     +         +Defines the z-axis label.
+Font     +         +Sets the font type for the z-axis label.
+Colour   +         +Sets the label colour for the z-axis label.
+
+Property Sheet 6 - '2D Contours, Panel 1 - 2D Annotation
+
Visibility       +         +         +         +Set visibility of 2D contour annotation, set check box to on for visible.
+Label Colour     +         +         +         +Set annotation label colour.
+No. of Decimal Points    +         +         +Defines the No. of decimal points used for contour label values.
+Label Overall Field Width        +         +Defines the field width fro the contour labels, max 9 digits.
+Label Text Height        +         +         +Sets the contour labels text height.
+Label Text Gap   +         +         +Sets the allowable gap between adjacent contour labels.
+Contour Line Label Skipping      +         +Sets the no. of contour lines to skip between labelling, i.e. 0= none skipped..
+Labelled Contour Lines Colour    +Line colour for labelled contour lines.
+Skipped Contour Lines Colour     +Line colour for non-labelled (skipped) contour lines.
+
+Property Sheet 6 - '2D Contours, Panel 2 - 2D Grid
+Visibility       +
Set visibility of 2D contour grid, set check box
+to on for visible.
+Colour   +         +Set the colour of the of 2D contour grid.
+
+Property Sheet 6 - '2D Contours, Panel 3 - 2D Fill
+2D Contour Filled Colour         +
Sets the colour of the of the background fill for the contoured region of the graph when using 2D plot type of filled contour.
+
+Property Sheet 6 - '3D Surface, Panel 1 - 3D Grid Setup
+No. of X Grids   +         +         +
Defines the x-axis grid density for the interpolation of the results.
+No. of X Grids Skipped   +Sets the No. of x-grid lines to skip when drawing the fitted surface.
+No. of Y Grids   +         +         +Defines the y-axis grid density for the interpolation of the results.
+No. of Y Grids Skipped   +Sets the No. of y-grid lines to skip when drawing the fitted surface.
+X Base Fill      +         +         +Defines the colour used to fill the x-axis base.
+Y Base Fill      +         +         +Defines the colour used to fill the y-axis base.
+Z Base Fill      +         +         +Defines the colour used to fill the z-axis base.
+Axis line        +         +         +Defines the colour used for plot axes and labels.
+Upper Surface    +         +         +Defines the colour used for the upper surface grid lines.
+Visible Edge     +         +         +Defines the colour used for the visible edges of the surface plot.
+Base Vertical Grid Style         +Sets the drawing style used for the plot base, as being either, no lines, or vertical lines. (vert+style option not used).
+Projection Section Lines         +Sets the drawing style used for the surface grid lines, as being either, x and y, x only or y only.
+Surface Style    +         +         +Sets the drawing style used for the surface, as being either, top and side, top only, top and bottom or bottom only. This controls the visibility of the parts of the surface.
+
+Property Sheet 6 - '3D Surface, Panel 2 - 3D Axis Display
+X1       +         +         +
Identifies the values as being for the X1 axis, (axis 1 is the l.h.s axis).
+Y1       +         +         +Identifies the values as being for the Y1 axis, (axis 1 is the l.h.s axis).
+Z1       +         +         +Identifies the values as being for the Z1 axis, (axis 1 is the l.h.s axis).
+X2       +         +         +Identifies the values as being for the X1 axis, (axis 2 is the r.h.s axis).
+Y2       +         +         +Identifies the values as being for the Y1 axis, (axis 2 is the r.h.s axis).
+Z2       +         +         +Identifies the values as being for the Z1 axis, (axis 2 is the r.h.s axis).
+Axis Style       +         +Sets the axis drawing style as being either, none, axis, grid or axis and grid. This controls the visibility of the various elements of the specific axis.
+Suppression      +         +Sets the axis end value suppression, as being either, none, low high or low and high. This controls the visibility of the end value labels of the specific axis.
+
+The graph icon is provided to enable the graph to be redrawn/updated without the requirement to close the set-up dialog box down.
+
+The parametric results graph settings are saved in the Lotus Vehicle Simulation.ini file, such that on application start-up these settings will be restored.
+
+{button ,AL(`list18',0,"",`main')} Related Topics
+
+


++$#>Closing the Parametric Analysis Screen
+

+To close the parametric analysis screen screen select either the menu item File
/ Close Parametrics from the window menubar, the close icon at the top right corner of the parametrics window, or the parametrics window menu at the top left.
+
+{button ,AL(`list18',0,"",`main')} Related Topics

+


++$#>Batch Analysis
+

+Overview
+

+
+The batch analysis option allows the user to define a series of different tests that can be run in one go without the need to redefine the test settings between tests. These 'batch' settings are saved in the Lotus Vehicle Simulation '.ini' file and thus once a number of standard tests have been defined any subsequent Lotus Vehicle Simulation run and data file can re-run the same standard tests.
+
+The results can be selected from either the '.crs' file
variables or the '.grs' file variables. The grs results can further be requested at either the end of the cycle, at a user selected time, a user selected distance or a user selected velocity during the cycle. A number of different results can also be defined for each test case.
+
+The results are listed into a scrollable text widget, the contents of which can be printed or saved to a file.
+
+The solution settings for each batch test are defined using the normal style calculation setting buttons, the displayed settings being updated for each test as you step through the tests.
+
+(this section of the help file will be extended at future releases)
+
+{button ,AL(`list18',0,"",`main')} Related Topics
+
+
+


++$#>AProgram Theory - Overview
+

+The aim of this chapter is to document the fundamental equations used within the simulation and describe the assumptions that are used. As far as possible the variable names used in the data entry section have been maintained.
+
+Summary of the calculation sequence;

+
+This is obviously a simplistic flow chart. Special options are invoked during gear changing and during a track simulation.
+
+{button ,AL(`list14',0,"",`main')} Related Topics
+
+


++$#>Program Theory - Vehicle Acceleration Dynamics
+

+Given that V2 and V1 are the vehicle speeds at this and the previous time steps respectively, and that TSTEP
is the time step. Then the acceleration is defined as;
+
+

V2 - V1
+ AC = -------
+ TSTEP
+
+
+
The forces acting on the vehicle are;
+
+Force to produce acceleration
+
+
Fa = WEIGHT x AC
+
+
+Force due to aerodynamic drag
+
+
VM = 0.5 ( V2 + V1 )
+Fd = 0.5 x RHO x FAREA x CD x VM^2
+
+
+where RHO = air density
+
+Force due to incline
+
+
Fg = WEIGHT x G x SIN( A )
+
+
+
where G = 9.8107, A = incline angle
+
+Force normal to the road surface
+
+
Fn = WEIGHT x G x COS( A )
+
+
+Force due to tyre rolling resistance
+
+
Fr = COEFFR x Fn
+
+
+
where COEFFR = coefficient of rolling resistance
+
+Force to accelerate non driven wheels

+
+
Fi = RIWHL x AC / ( RTYRE x RTYRE )
+
+
+Therefore the total tractive effort to satisfy the acceleration is given by;
+
+
Ft = Fa + Fd + Fg + Fr + Fi
+
+
+In order to determine whether this force can be provided the load on the driven axle must be determined. The effects of weight transfer, aerodynamic lift and incline must be combined.
+
+The centre of aerodynamic drag is assumed to coincide with the centre of gravity. The force opposing motion at the centre of gravity is given by;
+
+
Fcg = Fa + Fd + Fg
+
+
+Forces on front and back wheels due to weight transfer
are
+
+
Ffront = ( Fcg x HCOG - Fn x ( WHBASE - DCOG ) ) / WHBASE
+
+
+
Frear = ( Fcg x HCOG + Fn x DCOG ) / WHBASE
+
+
+
The axle forces due to aerodynamic lift are
+
+
Faf = 0.5 x RHO x CLF x PAREA x Vm^2
+Far = 0.5 x RHO x CLR x PAREA x Vm^2

+
+
+These are simply added to the front and rear forces.
+
+The front and rear axle forces are used to calculate the wheel slip and tractive effort.
+
+When the vehicle is driven on a chassis dynamometer the weight transfer and aerodynamic forces are replaced by the force required to drive the dynamometer. Where the force is given by;
+
+
Fdyno = DYNM x AC + ADYN + BDYN x VM + CDYM x VM^2
+
+
+Tyre rolling resistance forces are reduced to those of the driven wheels only.
+
+{button ,AL(`list14',0,"",`main')} Related Topics
+
+


++$#>AProgram Theory - Vehicle Cornering Dynamics
+

+Vehicle cornering is assumed to be steady state ( ie. is performed at a constant road speed). The cornering speed is the minimum of -
+
+
1. THE OVERTURNING SPEED
+2. THE LATERAL SLIP SPEED
+
        +3. THE USER SPECIFIED MAXIMUM CORNERING SPEED
+
+Vehicle Cornering Notation
+
+The following equations show how the first two limits are calculated.
+
+The centripetal force
+
+

Fcp = (Weight x VM^2) / RTRACK
+
+
+At the limit of slip
+
+
Ft1 = R1 x U x cos( A )
+
+
+
Ft2 = R2 x U x cos( A )
+
+
+where A = camber angle of road relative to horizontal
+
+Resolve vertical and horizontal forces
+

+
R1 x sin( A ) + R2 x sin( A ) + R1 x U x cos( A ) + R2 x U x cos( A ) =
+
+
+ +
(Weight x VM^2 / RTRACK) - 0.5 x RHO x CL x VM^2 x sin( A )
+
+
+
+Hence,
+
(WEIGHT x VM^2 / RTRACK) - 0.5 x RHO x CL x VM^2 x sin( A )
+
+
R1 + R2 =-------------------------------------------------------------------------------------------
+
+
sin( A ) + U x cos( A )
+
+and,
+
+
R1 x cos( A )+ R2 x cos( A ) - R1 x U x sin( A ) - R2 x U x sin( A ) =
+
+
+ +
WEIGHT x G - 0.5 x RHO x CL x VM^2 x cos( A )
+
+
+ +Hence,
+
WEIGHT x G - 0.5 x RHO x CL x VM^2 x cos( A )
+
+
R1 + R2 = -------------------------------------------------------------------------------------
+
+
cos( A ) - U x sin( A )
+
+
+Taking moments about the centre of gravity and given that T2 = 0.5 x TRACK
+

+
R2 x T2 + R2 x U x HCOG + R1 x U x HCOG = R1 x T2
+
+Hence,
+
R1 - R2 = ( R1 + R2 ) x U x HCOG / T2
+
+Let,
+
ADC = 0.5 x RHO x CL
+
+Substituting from 1,
+
+
(WEIGHT/RTRACK - ADC x SIN( A )) (U x HCOG x VM^2)
+
+
R1 + R2 = --------------------------------------------------------- x -------------------------
+
+
        +         + (SIN( A ) + U x COS( A )) T2
+
+
+At the point of overturning R2 = 0, therefore from 2 and 3
+
+ (WEIGHT / RTRACK - ADC x SIN( A )) (U x HCOG x VM^2)
+
------------------------------------------------ x -------------------------- =
+ (SIN( A ) + U x COS( A )) T2
+
+
+
(WEIGHT x G - ADC x VM^2 x COS( A ))
+
-----------------------------------------------------
+ COS( A ) - U x SIN( A )
+

+Rearranging the equation for the overturning speed is given by
+
+ WEIGHT x G
+
VM^2 = ( -------------------------------
+ (COS( A ) - U x SIN( A )) WEIGHT (U x HCOG)
+ --------------------------------- x ( ------------ - ADC*SIN( A ) ) - ---------------- ) - ADCxCOS( A )
+ (SIN( A ) + U x COS( A )) RTRACK T2
+

+From equations 1 and 2, (note these are the equations of motion at the limit of slip)
+
+
SIN( A ) + U x COS( A ) ( WEIGHT / RTRACK - ADC x SIN( A )) x VM^2 )
+
------------------------------- = -------------------------------------------------------------------
+COS( A ) - U x SIN( A ) ( WEIGHT / G - ADC x COS( A ) x VM^2 )
+

+Dividing the left hand side by COS( A ) and using the substitution, U = TAN( S )
+
+After rearrangement the slip speed is given by,
+
+ WEIGHT x G x TAN( B + S )
+
VM^2 = -------------------------------------------------------------------------
+ WEIGHT
+ ------------ - ADC x ( SIN( A ) - TAN(B+S) x COS( A )I
+
RTRACK
+
+Within LOTUS VEHICLE SIMULATION the above limits are calculated for the front and rear axis independently. The weight on each axle (without weight transfer) is calculated. The height of the centre of gravity above each axis is assumed to be HCOG.
+
+{button ,AL(`list14',0,"",`main')} Related Topics
+
+


++$#>Program Theory - Tyre Rolling Resistance
+

+Tyre rolling resistance is produced by the work done in deforming the tyres under rolling conditions. Measurements of this resistive force are normalised by the normal load on the tyre.
+
+Thus,
+

Fr = COEFFR x Fn
+
+
+Where Fr is the rolling resistance, COEFFR the coefficient of rolling resistance and Fn the normal tyre force.
+
+The coefficient of rolling resistance is obtained at any engine speed from a polynomial curve fit. This polynomial can either be the default supplied by LOTUS VEHICLE SIMULATION or up to 6 order equation provided by the user. The default curve is compared to the band of data provided in the BOSCH automotive handbook in the graph below :
+
+Tyre coefficient of rolling resistance;
+
+This curve has been developed from the coast down and Vmax measurements made by Lotus on a number of production vehicles. Users are however encouraged to obtain more accurate data from the tyre supplier.
+
+{button ,AL(`list14',0,"",`main')} Related Topics
+
+


++$#>AProgram Theory - Longitudinal Tyre Slip
+

+Tyre slip is assumed to be present under all conditions at which tractive effort (either positive or negative) is developed. Slip is a continuous phenomenon up to true wheel slip. The amount of slip is calculated from the ratio of tractive effort to normal wheel force where tyre slip is defined as,
+
+ WAXLE x Ft
+ TSLIP = 1 - --------------------

+ VM x RTYRE

+

+and,
+
+

SIGMA = -Ft / ( 28.0 x Fn )
+

+TSLIP = SIGMA / ( SIGMA + 1 )

+
+
+the axle speed is then calculated from,
+
+
WAXLE = VM x ( 1 - TSLIP ) / RTYRE
+
+
+The resulting tyre slip curve is shown in figure 432.1. The maximum tractive effort that can be developed is limited by both the coefficient of friction and the tyre slip limit of 0.25, in such a manner that if the demanded vehicle acceleration produces a requirement that exceeds these limits then the acceleration is reduced. From the figure below, it is obvious that the maximum tractive effort is always controlled by the coefficient of friction.
+
+Tyre Longitudinal Slip;
+
+{button ,AL(`list14',0,"",`main')} Related Topics
+
+


++$#>Program Theory - Tyre Drive Efficiency
+

+At present the tyre is assumed to exhibit a drive efficiency of 95%. Thus the axle torque is defined as;
+

Taxle = Ft / ( RTYRE x 0.95 )
+
+
+In future releases of the program this assumption could be refined to make the drive efficiency a function of tyre slip.
+
+{button ,AL(`list14',0,"",`main')} Related Topics
+
+


++$#>Program Theory - Driveline
+
The program works back along the drive line taking into account the effects of gear efficiencies and inertia requirements. The following equations summaries the calculations for rotational speed, rotational acceleration and torque at each station.
+
+Wheels and axle,
+

+

VAXLE = VM x ( 1 - TSLIP ) / RTYRE
+AAXLE = AM / RTYRE
+TAXLE = Ft x RTYRE + WAAXLE x (RIPWHL + RIPAXL)
+
+
+
Propshaft,
+
+
VPROP = WVAXLE x GRFD
+APROP = WAAXLE x GRFD
+TPROP = TAXLE/(EFFY x GRFD) + RIPROP x WAPROP
+
+
+
Gearbox,
+

+
VGB = WVPROP x GRBX
+AGB = WAPROP x GRBX
+TGB = TPROP / (EFFY x GRBX) + ( RIBX x WAGB )
+
+
+
Primary gear,
+
+
VPD = WVGB x GRPD
+APD = WAGB x GRPD
+TPD = TGB / (GRPD x EFFY )
+
+
+
Where EFFY is the gear efficiency of the gear set.
+
+{button ,AL(`list14',0,"",`main')} Related Topics
+
+


++$#>Program Theory - Gear Efficiency
+

+The efficiency of a particular gear set can be specified as constant or may be allowed to vary with both speed and load using the following algorithm.
+
+The gear efficiency model requests the user to specify the efficiency of each gear at its maximum torque and maximum speed condition. The following equation is subsequently used to calculate the actual efficiency based on the demanded speed and torque.
+
+

CONST = (1.0/EFFMAX) - 1.0
+
+
+EFFICIENCY = 1.0
+ ----------------------------------------------------------------------------------
+ ( sqrt(TMAXG/TORQ) x sqrt(WGEAR/SMAXG) x CONST ) + 1.0
+

+Where,
+
+EFFMAX = maximum gear efficiency (fraction)
+TORQ = transmitted torque
+TMAXG = maximum input torque
+WGEAR = gear input speed
+SMAXG = maximum speed of gear
+
+The figure below shows how the gear efficiency varies with both speed and torque ratio for two maximum gear efficiencies. The maximum speed of a gear is calculated from the rated engine speed and the lowest ratio of any gears upstream of the gear. Thus for the final drive the maximum speed is calculated from the maximum engine speed devided by the top gear ratio. The maximum torque is either specified by the user as the gearbox design torque or calculated from the torque curve. When the default design torque is used care should be taken when interpreting the results of part load calculations with different engine torque curves. The engine with the highest torque will produce the worst part load gear efficiencies.
+
+Gear Efficiency;
+
+When the four wheel drive option is selected the torque is assumed to split equally between front and rear axles for the gear efficiency calculations. It is assumed that all the torque can be transmitted through one axle, thus the torque ratio term on the four wheel drive is always low and results in worse final drive efficiencies than an equivalent two wheel drive vehicle.
+
+{button ,AL(`list14',0,"",`main')} Related Topics
+
+


++$#>Program Theory - Gear Loss Maps
+

+The facility to directly input the transmission losses in each gear as a function of both the speed and torque fraction is provided with the Gear Loss
option. This simply subtracts the user specified torque at the current gearbox input speed and torque fraction at the current gearbox input speed and torque fraction from the torque that is transmitted through the gearbox.
+
+The interpolation of the gear loss data is linear.
+
+It the current torque ratio is either above the maximum specified torque ratio or below the minimum user specified torque ratio then the data at the maximum or minimum torque ratios is assumed (i.e. There is no extrapolation of the loss data). Thus if the user wishes to specify losses that were simply a function of gearbox speed then data for a single torque fraction should be input and this will be used for all loads.
+
+Similarly if the gearbox input speed is either above the maximum user specified speed or below the minimum user specified speed then the data at the maximum and minimum speed ratios are assumed. If the user wishes to specify losses that are simply a function of load fraction then the user should enter data for a single gearbox input speed.
+
+{button ,AL(`list14',0,"",`main')} Related Topics
+
+


++$#>Program Theory - Gear Shifts
+

+A gear shift sub model is employed as separate to the main calculation loop. If the model encounters a gear shift as a result of either a default or forced gear change, one of two options is invoked.
+
+If a manual transmission is used, the engine is declutched from the driveline for the duration of the gearshift. During this time the engine is assumed to be in an overrun condition. The vehicle acceleration is set to zero and the vehicle speed remains constant during the gear change. Thus it is assumed that the deceleration caused by aerodynamic drag and driveline losses during the gear change is negligible. The effect of engine inertia during gear shifting is also omitted. There is no power absorption to the engine as rotational energy, as a result of shifting down or power delivery as a result of dumping the clutch on an acceleration.
+

+If an automatic transmission is used, the engine speed and load at the end of the gear shift is first calculated. The assumption that the engine speed and load changes linearly from that prior to the shift is made. During the gear shift the vehicle acceleration remains fixed at the value just prior to the shift (This is effectively a power shift).
+
+Gear shifting can occur in two modes, either using the default gear shift points or using a user specified gear shift strategy.
+
+{button ,AL(`list14',0,"",`main')} Related Topics
+
+


++$#>Program Theory - Default Shift Maps
+

+All the calculation modes have default gear shift strategies. For emission cycles these are provided by the legislation and are coded into the program. During accelerations and track simulations gear shifting will only occur under the following 3 conditions:
+
+ 1.
When the gear shift will increase the rate of acceleration.
+
+ 2. When the gear shift is forced by the engine speed exceeding
+ the maximum engine speed.
+
+ 3. When the gear shift is forced by the engine speed falling
+ below the minimum engine speed.
+
+During track simulations a special condition is invoked to force the engine speed to be as high as possible through a corner. For constant road speed simulations the user is prompted for the gear number in which the calculation is to be performed.
+
+{button ,AL(`list14',0,"",`main')} Related Topics
+
+


++$#>Program Theory - Gear Shift Maps
+

+Gear shifting can be controlled by the user through the use of shift maps. These define the shift up and shift down points for each gear as a function of a speed and load parameter. The figures show two typical shift maps. The first producing gear shifts at predefined road speeds, this is typical of that specified for a manual gearbox. The second producing gear shifts as a function of road speed and throttle position, this is typical of that specified for an automatic gearbox.
+

+Gear Shift Map - Road Speeds;    +         +
+
+Gear Shift Map - Throttle Positions;     +
+
+The manner in which these shift maps are used is a function of the shift mode. If the shift mode is set to FORCED then a gear shift will only occur when the shift lines are crossed. For example for the operating points shown on the second figure,
+
+ A - B - Produces an upshift from 3rd to 4th
+
+ B - C - Produces no change in gear
+
+ C - D - Produces a downshift from 4th to 3rd
+
+When the shift mode is set to FREE then a gear shift can occur at any point within a particular gears operating range. The gears operating range is taken as that identified by the shift-up and shift-down speeds. In FREE mode the program will explore the use of both higher and lower gears at each time increment. If these gears are allowed by their operating range and cause the engine to operate at a point closer to the OPTIMUM line thereby minimising the consumption of a specified map variable, then a gear shift will be performed.
+
+NOTE : SKIP SHIFTING IS NOT PERMITTED IN EITHER FREE OR FORCED MODE
+

+{button ,AL(`list14',0,"",`main')} Related Topics
+
+


++$#>Program Theory - Torque Converter
+

+The torque converter characteristics are specified by the torque amplification ratios and input capacity factors as functions of the torque converter speed ratio.
+
+The input capacity factor is defined as,
+
+

FCIN = Si / sqrt ( Ti )
+
+
+Where,
+
+Si = input speed
+Ti = input torque
+
+The Program Theory - Overview section describes how the calculations proceed in the opposite direction to power flow. The simulation thus must determine the converter input conditions from the output conditions. The following calculations are performed :
+
+
To = Ti x TORATIO
+
+Where To is the output torque
+
+
So = Si x SPRATIO
+
+Where So is the output speed
+
+The output capacity factor is defined as :
+
+
FCOUT = So / sqrt ( To )
+
+
+
= FCIN x SPRATIO / sqrt ( TORATIO )
+
+
+The output capacity factor is calculated as a function of the speed ratio. At a given time step the output capacity factor is known. The accompanying speed and torque ratios can therefore be interpolated from the characteristic curves, thus providing the demanded input speed and torque.
+
+Torque converter lock-up is specified through the torque converter map. Automatic lock-up for minimum economy is not yet available.
+
+NOTE : THE TORQUE CONVERTER PUMP LOAD SHOULD BE ADDED AS AN AUXILIARY DEVICE
+

+{button ,AL(`list14',0,"",`main')} Related Topics
+
+


++$#>Program Theory - Clutch
+

+A very simple clutch model is employed. The user is requested to specify the road speed below which the clutch is engaged and the engine is returned to idle. If during a cycle the engine speed falls below the minimum speed in 1st gear then the clutch will be engaged automatically.
+
+Clutch slip is modelled. On wide open throttle accelerations the engine speed is set at the lowest speed at which the torque developed by the engine can just spin the wheels. This engine speed is maintained with the clutch slipping until the vehicle speed allows the clutch to lock. On drive cycles the engine speed during clutch slip is set to the lowest speed at which the torque required to produced the desired launch can be delivered. This is typically the idle speed.
+

+NOTE : CLUTCH SLIP IS ONLY ALLOWED IN FIRST GEAR.
+

+{button ,AL(`list14',0,"",`main')} Related Topics
+
+


++$#>Program Theory - Emissions Cycles
+

+The vehicle is requested to operate over all sections of an emissions cycle. The following notes are provided for the users reference.
+
+FTP75 CYCLE
+

+The hot transient phase is modelled as immediately following the first 1372 seconds. This means that the 10 minute key-off phase is ignored.
+
+Weighted emissions are calculated with the following formula :
+
+

WTDGKM = 0.43 x 1000.0 x (WTD(cold transient)+WTD(stabilised)) /
+ (WTDDIST(cold transient)+WTDDIST(stabilised))
+ + 0.57 x 1000.0 x (WTD(hot transient)+WTD(stabilised)) /
+ (WTDDIST(hot transient)+WTDDIST(stabilised))

+
+
+Where,
+
+WTDGKM = weighted emissions in g/km
+WTD(phase) = emissions during phase in g
+WTDDIST(phase) = distance travelled in phase in m
+
+EEC CYCLES
+

+The first 40 seconds after key on, when emissions are not sampled are not modelled. Users employing cold start corrections should take this into account when deriving the correction constants.
+
+If desired the user may create a derivative cycle from the data and include the additional pre-sampling cycle section. The cold-start and transient models may be more directly employed in this manner.
+
+{button ,AL(`list14',0,"",`main')} Related Topics
+
+


++$#>Program Theory - Catalyst
+

+The catalyst efficiency during warm up is modelled using a WIEBE
function;
+
+

EFFY = EFFMAX x ( 1.0 - EXP( -10.0 x ( FRACT^3 ) ) )
+
+where,
+
+EFFY = conversion efficiency
+EFFMAX = maximum conversion efficiency
+FRACT = time as a fraction of time between start of warming and maximum catalyst efficiency time
+
+If the current time is less than CATT1-CATT2 then the conversion efficiency is set = 0.0. If the current time is greater than CATT1 then the conversion efficiency is set to the maximum efficiency as specified by the user.
+
+If requested this option could be improved to allow the user to specify the conversion efficiency verses time histories obtained from test data.
+
+The data required for the catalyst model are shown graphically in the figure.
+
+Catalyst Model;
+
+{button ,AL(`list14',0,"",`main')} Related Topics
+
+


++$#>Program Theory - Warm-Up and Transient Emissions Model
+

+The warm-up and transient emissions model allows the user to specify the increase in the three primary emissions during cold start and during engine transients. A simple warm-up ramp function is used to increase the engine out emissions during the cold start. The transient model simply increases the emissions in direct proportion to the engine acceleration.
+
+The following formula are used;
+
+Warm-up factor,
+

FACT = WARMF x ( 1.0 - TIME/WARMT )
+
+
+Transient factor,
+
ADD = RAW x WACFACT(IG) x ABS(WAENG)
+
+
+Corrected emissions,
+
Emissions = RAW + FACT x RAW + ADD
+
+
+Where,
+RAW = the engine out emissions from the steady state emissions map
+Emissions = is the corrected emissions level
+
+The data required for the warm-up model are shown graphically in the figure.
+
+Warm-up Model;
+
+{button ,AL(`list14',0,"",`main')} Related Topics
+
+


++$#>Program Theory - Engine Scaling
+

+This option allows the user to scale the engine performance and consumption maps by factors which scale with bore and stroke. The scaling factors are wholly defined by the user.
+
+Engine fuel economy and emissions maps can be improved or deteriorated through the use of the so called thermal efficiency factors.
+
+The whole map is linearly scaled by the following formulae :
+
+The changes in thermal efficiency as a result of a change in bore and stroke are given by,
+
+

TE1 = TEBORE x (BSCALE-BOROLD) / 100.0
+TE2 = TESTROKE x (SSCALE-STKOLD) / 100.0
+
+
+The change in compression ratio as a result of a change in bore is given by,
+
+
CRNEW = CROLD + (BSCALE-BOROLD) x CRSENS
+
+
+with the subsequent change in efficiency given by,
+
+
TE3 = TECR x (CRNEW-CROLD) / 100.0
+
+
+The factor by which consumptions are multiplied is given by,
+
+
TEFACT = 1.0 + TE1 + TE2 + TE3
+
+
+The engine speeds used to define the BMEP curve and consumption maps can be scaled linearly through the use of the bore and stroke scaling factors.
+
+The following formulae are employed :
+
+The changes in speed terms as a result of a change in bore and stroke are given by,
+
+
SP1 = SPBORE x (BSCALE-BOROLD) / 100.0
+SP2 = SPSTROKE x (SSCALE-STKOLD) / 100.0

+
+
+With the factor by which the speed terms are multiplied given by,
+
+
SPFACT = 1.0 + SP1 + SP2
+
+
+As an example if we wished to keep the characteristics constant with piston speed for a stroke change of 80 to 90 mm then,
+
+
SPBORE = 0.0
+SPSTROKE = -100.0 x (1.0 - 80/90)/10 = -1.1111

+
+and,
+
+
SPFACT = 1.0 + 0.0 - 0.1111 = 0.88889
+
+
+As a result of speed scaling the minimum and maximum engine speeds could be scaled to unacceptably low or high values. Lower and higher limits can be set by the using the ESSMIN and ESSMAX values.
+
+It was recognised that some mechanism was required to modify the fuel economy and emission maps as a result of changes in mechanical friction.
+
+The principal by which this is done is shown diagramatically in the figure. The specific consumptions are converted into gross flow rates verses IMEP curves at each engine speed. The new IMEP is calculated for each BMEP point based on the change in friction and the accompanying flow rate interpolated from the consumption curve.
+

+Engine Scaling;Friction
+
+{button ,AL(`list14',0,"",`main')} Related Topics
+


++$#>AProgram Theory - Engine Friction
+

+The following listing gives the source code for the Lotus FRIC algorithm, used to estimate the friction of an engine based on Lotus data and various published analyses. These estimates are used when applying engine scaling to the model.
+
+ PROGRAM FRIC
+C
+C --- The object of this program is to provide an estimate of
+C mechanical friction - given design parameters of the
+C engine.
+C Equations taken from
+C 'DEVELOPMENT AND EVALUSTION
+C OF A FRICTION MODEL FOR SPACK IGNITION ENGINES'
+
C K.J.PATTON R.G.NITSCHKE B.HEYWOOD SAE 890836
+C
+C Experimental analysis of total engine friction in
+C four stroke SI engines SAE 900223
+C
+C Written By MHS 6/2/90
+C
+C --- This version includes an additional output for
+C calculated friction via H.B.MOSS see simulation user
+C note
+C --- 8/4/92 performed two checks with bears output -
+C as results added load factors - total crank bearing
+C friction for the two i4 engines showed this model to
+C overpredict total bearing friction by +7% in each case
+C this was considered ok
+C
+ DIMENSION ITYPE(20), IV(20), RV(20), FFACT(4), RFACT(3)
+ DIMENSION TOTF(100), HONDA(100), HBMF(100), HONDAM(100),
+ > FMAH(100), CAFF(100), SPEED(100)
+C
+C Adjustment Factors
+C FFACT(1) Rotating friction multiplier
+C FFACT(2) Reciprocating friction multiplier
+C FFACT(3) Valve train friction multiplier
+C FFACT(4) Auxillary friction multiplier
+C RFACT(1) Rotating Bearing friction multi(viscosity mult?)MAINS
+C RFACT(2) Rotating Bearing friction multi(viscosity mult?)BIG E
+C RFACT(3) Rotating Bearing friction multi(viscosity mult?)CAMS
+C
+ DATA FFACT / 1.0, 1.0, 1.0, 1.0 /
+ > RFACT / 1.0, 1.0, 1.0 /
+ > PI / 3.1415927 /
+C
+ CHARACTER*100 STRING
+ CHARACTER*20 SSTR(10)
+ CHARACTER*100 FOUT, FIN, TITLE
+C
+C --- Get input and output filenames
+C
+ WRITE(*,'(A)')'$PLEASE GIVE INPUT DATA FILE NAME : '
+ READ ( * , '(A)' ) FIN
+ OPEN (20, FILE=FIN, STATUS='OLD',FORM='FORMATTED')
+C
+ WRITE(*,'(A)')'$PLEASE GIVE OUTPUT DATA FILE NAME : '
+ READ ( * , '(A)' ) FOUT
+ OPEN (30, FILE=FOUT, STATUS='UNKNOWN',FORM='FORMATTED')
+C
+ READ(20,'(A)')TITLE
+C
+C --- Read Bore Stroke and number of cylinders
+C
+ READ(20,'(A)') STRING
+ CALL DCSTR1 ( STRING , ITYPE, IV, RV, SSTR, N, 10 )
+ IF ( N.LT.5 ) THEN
+ PRINT*,' ERROR not enough points on BORE line'
+ STOP
+ ENDIF
+ BORE = RV(1)/1000.0
+ STOK = RV(2)/1000.0
+ CR = RV(3)
+ NCYL = IV(4)
+ NBM = IV(5)
+ NBB = NCYL
+ VSWEPT = BORE*BORE*STOK*NCYL*0.25*PI
+C
+C --- Read Number of Main Bearings diameters and widths
+C
+ READ(20,'(A)') STRING
+ CALL DCSTR1 ( STRING , ITYPE, IV, RV, SSTR, N, 10 )
+ IF ( IV(1).EQ.9999 ) THEN
+C --- Estimate bearing sizes for an inline engine
+ DBM = 0.60*BORE
+ WBM= 0.37*DBM
+ IMTYPE = 1
+ ELSE IF ( IV(1).EQ.9998 ) THEN
+C --- Estimate bearing sizes for an Vee engine one cyl per pin
+ DBM = 0.7*BORE
+ WBM = 0.35*DBM
+ IMTYPE = 2
+ ELSE IF ( IV(1).EQ.9997 ) THEN
+C --- Estimate bearing sizes for an Vee engine two cyl per pin
+ DBM = 0.62*BORE
+ WBM = 0.40*DBM
+ IMTYPE = 3
+ ELSE
+ DBM = RV(1)/1000.0
+ WBM = RV(2)/1000.0
+ IMTYPE = 0
+ ENDIF
+C
+C --- Read Number of Big end Bearings diameters and widths
+C
+ READ(20,'(A)') STRING
+ CALL DCSTR1 ( STRING , ITYPE, IV, RV, SSTR, N, 10 )
+ IF ( IV(1).EQ.9999 ) THEN
+C --- Estimate bearing sizes for an inline engine
+ DBB = 0.57*BORE
+ WBB = 0.41*DBB
+ IBTYPE = 1
+ ELSE IF ( IV(1).EQ.9998 ) THEN
+C --- Estimate bearing sizes for an Vee engine one cyl per pin
+ DBB = 0.6*BORE
+ WBB = 0.36*DBB
+ IBTYPE = 2
+ ELSE IF ( IV(1).EQ.9997 ) THEN
+C --- Estimate bearing sizes for an Vee engine two cyl per pin
+ DBB = 0.57*BORE
+ WBB = 0.39*DBB
+ IBTYPE = 3
+ ELSE
+ DBB = RV(1)/1000.0
+ WBB = RV(2)/1000.0
+ IBTYPE = 0
+ ENDIF
+C
+C --- Valve train
+C
+ READ(20,'(A)') STRING
+ CALL DCSTR1 ( STRING , ITYPE, IV, RV, SSTR, N, 10 )
+ IF ( N.LT.4 ) THEN
+ PRINT*,' ERROR not enough points on Valve line'
+ STOP
+ ENDIF
+ ICTYPE = IV(1)
+ IFTYPE = IV(2)
+ NVAL = IV(3) * NCYL
+ XLIFT = RV(4)/1000.0
+C
+C --- Zero initial variables
+C
+ COH = 0.5
+ CFF = 0.0
+ CRF = 0.0
+ COM = 0.0
+C
+ IF ( ICTYPE.EQ.1 ) THEN
+C--- OHV PUSHROD WITH ROCKERS
+ COM = 32.1
+ NCS = 1
+ IF ( IFTYPE.EQ.1 ) THEN
+C--- Flat follower
+ CFF = 400
+ ELSE IF ( IFTYPE.EQ.2 ) THEN
+C--- Roller follower
+ CRF = 0.0151
+ ELSE
+ PRINT*,' Error IFTYPE out of range = ',IFTYPE
+ ENDIF
+C
+ ELSE IF ( ICTYPE.EQ.2 ) THEN
+C--- DOHC with direct acting followers
+ COM = 10.7
+ NCS = 2
+ IF ( IFTYPE.EQ.1 ) THEN
+C--- Flat follower
+ CFF = 133
+ ELSE IF ( IFTYPE.EQ.2 ) THEN
+C--- Roller follower
+ CRF = 0.0050
+ ELSE
+ PRINT*,' Error IFTYPE out of range = ',IFTYPE
+ ENDIF
+ ELSE IF ( ICTYPE.EQ.3 ) THEN
+C--- SOHC with direct acting followers
+ COM = 10.7
+ NCS = 1
+ IF ( IFTYPE.EQ.1 ) THEN
+C--- Flat follower
+ CFF = 200
+ ELSE IF ( IFTYPE.EQ.2 ) THEN
+C--- Roller follower
+ CRF = 0.0076
+ ELSE
+ PRINT*,' Error IFTYPE out of range = ',IFTYPE
+ ENDIF
+ ELSE IF ( ICTYPE.EQ.4 ) THEN
+C--- SOHC with Rocker arms
+ COM = 21.4
+ NCS = 1
+ IF ( IFTYPE.EQ.1 ) THEN
+C--- Flat follower
+ CFF = 400
+ ELSE IF ( IFTYPE.EQ.2 ) THEN
+C--- Roller follower
+ CRF = 0.0151
+ ELSE
+ PRINT*,' Error IFTYPE out of range = ',IFTYPE
+ ENDIF
+ ELSE IF ( ICTYPE.EQ.5 ) THEN
+C--- SOHC with finger followers
+ COM = 42.8
+ COH = 0.20
+ NCS = 1
+ IF ( IFTYPE.EQ.1 ) THEN
+C--- Flat follower
+ CFF = 600
+ ELSE IF ( IFTYPE.EQ.2 ) THEN
+C--- Roller follower
+ CRF = 0.0227
+ ELSE
+ PRINT*,' Error IFTYPE out of range = ',IFTYPE
+ ENDIF
+ ELSE
+ PRINT*,' Error ICTYPE out of range(1-5) = ',ICTYPE
+ ENDIF
+C
+C --- Read Cam Bearings diameters and widths
+C
+ READ(20,'(A)') STRING
+ CALL DCSTR1 ( STRING , ITYPE, IV, RV, SSTR, N, 10 )
+ IF ( IV(1).EQ.9999 ) THEN
+C --- Estimate bearing sizes
+ DCM = 0.34*BORE
+ WCM = 0.66*DCM
+ ICTYP2 = 1
+ ELSE
+ DCM = RV(1)/1000.0
+ WCM = RV(2)/1000.0
+ ICTYP2 = 0
+ ENDIF
+C
+C --- Engine speed range
+C
+ READ(20,'(A)') STRING
+ CALL DCSTR1 ( STRING , ITYPE, IV, RV, SSTR, N, 10 )
+ IF ( N.LT.3 ) THEN
+ PRINT*,' ERROR not enough points on Engine speed line'
+ STOP
+ ENDIF
+ START = RV(1)
+ SEND = RV(2)
+ SINC = RV(3)
+ IF ( N.EQ.4 ) THEN
+ FLOAD = RV(4)
+ ELSE
+ FLOAD = 1.0
+ ENDIF
+C
+C --- Write data to output file
+C
+ WRITE(30,1000)
+ WRITE(30,1010)
+ WRITE(30,1000)
+C
+ WRITE(30,1030)
+ WRITE(30,1040) TITLE(1:LENSTR(TITLE))
+ WRITE(30,1060) BORE*1000.0, STOK*1000.0, CR, NCYL, NBM
+ IF ( IMTYPE.EQ.0 ) THEN
+ WRITE(30,1100)
+ ELSE IF ( IMTYPE.EQ.1 ) THEN
+ WRITE(30,1110)
+ ELSE IF ( IMTYPE.EQ.2 ) THEN
+ WRITE(30,1120)
+ ELSE IF ( IMTYPE.EQ.3 ) THEN
+ WRITE(30,1130)
+ ENDIF
+ WRITE(30,1200)DBM*1000.0,WBM*1000.0
+C
+ IF ( IBTYPE.EQ.0 ) THEN
+ WRITE(30,1140)
+ ELSE IF ( IBTYPE.EQ.1 ) THEN
+ WRITE(30,1150)
+ ELSE IF ( IBTYPE.EQ.2 ) THEN
+ WRITE(30,1160)
+ ELSE IF ( IBTYPE.EQ.3 ) THEN
+ WRITE(30,1170)
+ ENDIF
+ WRITE(30,1200)DBB*1000.0,WBB*1000.0
+C
+ IF ( ICTYPE.EQ.1 ) THEN
+ WRITE(30,1300)
+ ELSE IF ( ICTYPE.EQ.2 ) THEN
+ WRITE(30,1310)
+ ELSE IF ( ICTYPE.EQ.3 ) THEN
+ WRITE(30,1320)
+ ELSE IF ( ICTYPE.EQ.4 ) THEN
+ WRITE(30,1330)
+ ELSE IF ( ICTYPE.EQ.5 ) THEN
+ WRITE(30,1340)
+ ENDIF
+ IF ( IFTYPE.EQ.1 ) THEN
+ WRITE(30,1400)
+ ELSE IF ( IFTYPE.EQ.2 ) THEN
+ WRITE(30,1410)
+ ENDIF
+ WRITE(30,1500)NVAL/NCYL,XLIFT*1000.0
+ IF ( ICTYP2.EQ.0 ) THEN
+ WRITE (30,1540)
+ ELSE IF ( ICTYP2.EQ.1 ) THEN
+ WRITE (30,1550)
+ ENDIF
+ WRITE (30,1200) DCM*1000.0, WCM*1000.0
+C
+ WRITE(30,1560)FLOAD
+C
+ WRITE(30,1600)
+ WRITE(30,1700)
+ WRITE(30,1710)
+C
+C --- Start of calculations
+C
+ DO 100 I=1,100
+C
+C --- Increment engine speed
+ RPM = START + (I-1)*SINC
+C --- Jump out if greater than max speed
+ IF ( RPM .GT. SEND )GO TO 200
+C
+C --- Calc rps and mean piston speed
+ RPS = RPM/60.0
+ SPM = 2*RPS*STOK
+C
+C --- ROTATING FRICTION
+C
+C --- Main bearing seal term (PA)
+ AROFT = 1.22E+5 * 1.0E-6 * 1000.0 *
+ > ( DBM / ( (BORE**2) * STOK * FLOAT(NCYL) ) )
+C --- Main bearing hydrodynamic lubrication (PA)
+C comparision with bears shows that this term need an
+C additional load factor which is proportional to
+C bore area / bearing area - the 0.51 is the fiddle factor
+ BMLOAD = 0.65 * (BORE*BORE*FLOAT(NCYL))/(DBM*WBM*FLOAT(NBM))
+ BROFT = 3.03E-4 * 1.0E+3 * 1000.0 * RFACT(1) * BMLOAD *
+ > ( RPM * (DBM**3) * WBM * FLOAT(NBM) ) /
+ > ( (BORE**2) * STOK * FLOAT(NCYL) )
+C --- Turbulent dissipation to pump fluids (PA)
+ CROFT = 1.35E-10 * 1.0E+6 * 1000.0 *
+ > ( (DBM**2) * (RPM**2) * FLOAT(NBM)/FLOAT(NCYL) )
+C --- Total rotating friction (BAR)
+ ROTF = FFACT(1) * 1.0E-5 * ( AROFT + BROFT + CROFT )
+C
+C --- RECIPORTATING FRICTION
+C
+C --- Piston friction (hydrodynamic lubrication) (pa)
+ ARECIP = 2.94E+2 * 1.0E-3 * 1000.0 * SPM / BORE
+C --- Ring friction without gas load (pa)
+ BRECIP = 4.06E+4 * 1.0E-6 * 1000.0 *
+ > ( 1 + 1000/RPM ) / (BORE**2)
+C --- Ring friction with gas load (pa)
+C note FLOAD is used in stead of PI/PA inlet pres/atmos pres
+ B2RECIP = 6.89 * 1000.0 * FLOAD *
+ > (0.088*CR + 0.182*(CR**(1.33-2.38E-2*SPM)))
+C --- Big end bearings (Hydrodynamic lubrication) (pa)
+C again add load factor
+ BBLOAD = 0.219 * BORE * BORE / ( DBB*WBB )
+ CRECIP = 3.03E-4 * 1.0E+3 * 1000.0 * RFACT(2) * BBLOAD *
+ > ( RPM * (DBB**3) * WBB * FLOAT(NBB) ) /
+ > ( (BORE**2) * STOK * FLOAT(NCYL) )
+C --- Total Recriprocating friction (BAR)
+ RECIPF = FFACT(2) * 1.0E-5
+ > * ( ARECIP + BRECIP + B2RECIP + CRECIP )
+C
+C ---- VALVE TRAIN FRICTION **** DONT LIKE THIS ******
+C
+C --- Cam bearing hydrodynamic lubrication (PA)
+C Note 1 paper does not make clear whether constant refers to
+C engine speed or cam speed assume engine speed
+C Note 2 the constant in the paper looks wrong
+C have decided to use the mains constant and correct speed
+C Note 3 checked against cubs and found bearing friction
+C correction factor = 2.12
+C
+ AVALVEF = 3.03E-4 * 1000.0 * 0.5 * 2.12 * 1000.0 * RFACT(3) *
+ > ( RPM * (DCM**3) * WCM * FLOAT(NBM*NCS) ) /
+ > ( (BORE**2) * STOK * FLOAT(NCYL) )
+C AVALVEF = 4120 + 2.44E+2 * 1000.0 * 1.0E-9 * RPM * NBM /
+C > ( (BORE**2) * STOK * FLOAT(NCYL) )
+C ---- Cam friction between cam and follower(PA)
+C first term is for flat follower and second is roller
+C modified so that relationship is with flat follower diamater
+C assume follower dia = 4 X max lift
+C bore = 2.3 x follower diameter
+C hence BORE*BORE = 4x4x2.5x2.5xXLIFTxXLIFT
+ BVALVEF = 1.0E-3 * 1000.0 *
+ > ( CFF*(1+1000/RPM)*FLOAT(NVAL)*XLIFT*XLIFT*100.0
+ > /(BORE*BORE*STOK*FLOAT(NCYL)) +
+ > CRF*(RPM*FLOAT(NVAL)/(STOK*FLOAT(NCYL) ) ) )
+C BVALVEF = 1.0E-3 * 1000.0 *
+C > ( CFF*(1+1000/RPM)*FLOAT(NVAL)/(STOK*FLOAT(NCYL)) +
+C > CRF*(RPM*FLOAT(NVAL)/(STOK*FLOAT(NCYL) ) ) )
+C ---- Valve train oscillatory friction (PA)
+ CVALVEF = 1000.0 *
+ > ( ( COH * ((XLIFT*1000.0)**1.5) * (RPM**.5) *
+ > FLOAT(NVAL) / (BORE * STOK * NCYL * 1.0E+6 ) ) +
+ > ( COM * ( 1 + 1000/RPM ) * XLIFT * FLOAT(NVAL) /
+ > ( STOK * FLOAT(NCYL) ) ) )
+C --- Total valve train friction (BAR)
+ VTF = FFACT(3) * 1.0E-5 * ( AVALVEF + BVALVEF + CVALVEF )
+C
+C ---- AUXILLARY FRICTION (BAR)
+C origional model
+C AUXF = 1000.0 * 1.0E-5 * FFACT(4) *
+C > ( 6.23 + 5.22E-3*RPM - 1.79E-7*RPM*RPM )
+C malcolm model with swept volume term
+ ACONST = 15.0/(VSWEPT*1.E+3)
+ IF ( ACONST.LT.0.5 ) ACONST=0.5
+ AUXF = 1000.0 * 1.0E-5 * FFACT(4) *
+ > ( ACONST + 3.0E-3*RPM - 1.0E-7*RPM*RPM )
+C
+C ---- TOTAL FRICTION (BAR)
+ TOTF(I) = ROTF + RECIPF + VTF + AUXF
+C
+C ---- Now calc friction using HONDA equation
+C
+C ---- Calc mwan equivalant crank diameter
+ CMD = ( DBM*FLOAT(NBM) + DBB*FLOAT(NBB) ) / FLOAT ( NBM + NBB )
+C ---- Non dimensional engine number
+ RSDOB = SQRT ( STOK * CMD ) / BORE
+C ---- Calc pmf star
+C assume mean flow/ bore area = 0.1 and oil visc = 15 cst
+ FLBAR = 0.1
+ CST = 15
+ PMFPS = 10.0 * ( (60E-9*STOK*FLBAR + 1.1E-9)*RPM*RPM
+ > + 0.0011*CST + 0.14 )
+C ---- Scale with non dimensional engine number
+ HONDA(I) = PMFPS*RSDOB
+C ---- Modified honda
+ HONDAM(I) = ( 2.5E-8 * RPM * RPM +
+ > 1.0E-4 * RPM + 1.1 ) * RSDOB
+C
+C ---- Friction by H.B.Moss
+ HBMF(I) = 0.6 + 1.167E-4*RPM + 0.06*SPM
+C
+C ---- Friction by Millington & Hartles
+ FMAH(I) = ( ( CR - 4.0 )/ 14.5 ) + ( 0.48275*RPM/1000.0 )
+C
+C ---- Chen anf Flynn (pmax = 70 bar)
+ CAFF(I) = 0.138 + 0.005*70 + 0.163*SPM
+C
+C ---- Store engine speed
+ SPEED(I) = RPM
+C
+ NS = I
+C
+ WRITE(30,1800)RPM,ROTF,RECIPF,VTF,AUXF,TOTF(I)
+C
+ 100 CONTINUE
+C
+ PRINT*,' Warning more than 100 speeds requested SMAX not reached'
+C
+ 200 CONTINUE
+ WRITE(30,1005)
+ WRITE(30,1900)
+ WRITE(30,1910)
+ WRITE(30,1920)
+ DO 250 I = 1, NS
+ FMEAN = ( HBMF(I)+FMAH(I)+HONDAM(I)+HONDA(I)+TOTF(I) ) / 5.0
+ WRITE(30,1930) SPEED(I),HBMF(I), FMAH(I), TOTF(I),
+ > HONDA(I), HONDAM(I), FMEAN
+ 250 CONTINUE
+ WRITE(30,1005)
+ CLOSE(20)
+ CLOSE(30)
+C
+C---- Format Statements
+C
+ 1000 FORMAT(3X,76('='))
+ 1005 FORMAT(3X,76('='))
+ 1001 FORMAT(1H1)
+ 1002 FORMAT(' ')
+ 1010 FORMAT(3X, 14X,'LOTUS ENGINE FRICTION PROGRAM - FRIC ')
+ 1030 FORMAT(3X,33X,'INPUT DATA',/,3X,33X,10('~'))
+ 1040 FORMAT(3X,8X,A)
+ 1060 FORMAT(3X,2X,'Bore . . . . . . . . .',F9.2,' mm',
+ > 4X,'Stroke . . . . . . . .',F9.2,' mm',/,
+ > 3X,2X,'Compression Ratio . .',F9.2,' ',/,
+ > 3X,2X,'No. of Cylinders . . .',I7,5X,
+ > 4X,'No. of Main Bearings .',I7,5X )
+C
+ 1100 FORMAT(/,5X,'Main Bearing Dimensions ',
+ > 13X,' User Specified Dimensions')
+ 1110 FORMAT(/,5X,'Main Bearing Dimensions ',
+ > 13X,' Default for Inline Engine')
+ 1120 FORMAT(/,5X,'Main Bearing Dimensions ',
+ > 13X,' Default for Vee One rod/thro Engine')
+ 1130 FORMAT(/,5X,'Main Bearing Dimensions ',
+ > 13X,' Default for Vee Two rod/thro Engine')
+C
+ 1140 FORMAT(/,5X,'Big End Bearing Dimensions ',
+ > 10X,' User Specified Dimensions')
+ 1150 FORMAT(/,5X,'Big End Bearing Dimensions ',
+ > 10X,' Default for Inline Engine')
+ 1160 FORMAT(/,5X,'Big End Bearing Dimensions ',
+ > 10X,' Default for Vee One rod/thro Engine')
+ 1170 FORMAT(/,5X,'Big End Bearing Dimensions ',
+ > 10X,' Default for Vee Two rod/thro Engine')
+C
+ 1200 FORMAT(3X,2X,'Bearing Diameter . . .',F9.2,' mm',
+ > 4X,'Bearing Width. . . . .',F9.2,' mm')
+C
+ 1300 FORMAT(/,5X,'Valve Gear ',
+ > 10X,' OHV Pushrod with Rocker')
+ 1310 FORMAT(/,5X,'Valve Gear ',
+ > 10X,' DOHC with Direct Acting Follower')
+ 1320 FORMAT(/,5X,'Valve Gear ',
+ > 10X,' SOHC with Direct Acting Follower')
+ 1330 FORMAT(/,5X,'Valve Gear ',
+ > 10X,' SOHC with Rocker Arm')
+ 1340 FORMAT(/,5X,'Valve Gear ',
+ > 10X,' SOHC with Finger Follower')
+C
+ 1400 FORMAT(5X,'Flat Follower ')
+ 1410 FORMAT(5X,'Roller Follower ')
+C
+ 1500 FORMAT(3X,2X,'Number of Valves/Cyl .',I7,5X,
+ > 4X,'Maximum Valve Lift . .',F9.2,' mm')
+ 1540 FORMAT(/,5X,'Cam Bearing Dimensions ',
+ > 10X,' User Specified Dimensions')
+ 1550 FORMAT(/,5X,'Cam Bearing Dimensions ',
+ > 10X,' Default Dimensions ')
+ 1560 FORMAT(/3X,2X,'Load Fraction . . . .',F9.2 )
+C
+ 1600 FORMAT(/3X,'Results',/,3X,7('~'))
+C
+ 1700 FORMAT(/1X,'Engine Speed Rotating Recip. ',
+ > 'Valve Train Auxilary Total ' )
+ 1710 FORMAT( 1X,' (RPM) (Bar) (Bar) ',
+ > ' (Bar) (Bar) (Bar) ')
+ 1800 FORMAT(2X,F6.0,3X,2(1X,G11.4),1X,G10.4,
+ > 1X,G11.4,1X,G10.4,1X,G10.4)
+ 1810 FORMAT(1X,F6.0,7G9.4)
+C
+ 1900 FORMAT(/3X,2X,'Comparision of Friction Models ')
+ 1910 FORMAT(/1X,'Engine Speed H.B.MOSS M & H ',
+ > 'Pat.&Hey Honda Mod.Honda Mean ' )
+ 1920 FORMAT( 1X,' (RPM) (Bar) (Bar) ',
+ > ' (Bar) (Bar) (Bar) (Bar) ')
+ 1930 FORMAT(2X,F6.0,3X,2(1X,G11.4),1X,G10.4,
+ > 1X,G11.4,1X,G10.4,1X,G10.4,1X,G10.4)
+C
+ STOP
+ END
+C************************************************************
+C END OF ROUTINE
+C************************************************************
+ SUBROUTINE DCSTR1 ( STR, ITYP, IV, RV, SSTR, N, MXN )
+C
+C This Routine deciminates the string STR into arrays
+C of INTEGER = IV, REAL = RV, STRING = SSTR
+C N is returned as the number of elements returned in the array
+C and MXN is given as the max possible no of elements in array
+C
+ CHARACTER*1 SPACE, COMMA, SCOLON
+ CHARACTER*2 QUOTES
+ CHARACTER*4 TERMS
+ CHARACTER*16 NUMS
+ CHARACTER*13 INTS
+C
+ PARAMETER ( SPACE =' ', COMMA=',', SCOLON=';')
+ PARAMETER ( QUOTES='''"' )
+ PARAMETER ( TERMS =' ,;<TAB>' )
+ PARAMETER ( NUMS ='0123456789.-+ED ')
+ PARAMETER ( INTS ='0123456789-+ ')
+C
+ DOUBLE PRECISION RMAX1, RMINI
+C
+ PARAMETER ( RMAX1=(2.0**31 - 1), RMINI=-(2.0**31) )
+C
+C *** DUMMY ARGUMENTS
+C
+ CHARACTER*(*) STR
+ CHARACTER*(*) SSTR(MXN)
+C
+ INTEGER ITYP(MXN), IV(MXN)
+ REAL RV(MXN)
+C
+C *** LOCAL VARIABLES
+C
+ CHARACTER*1 CH, LT, SQ
+ CHARACTER*3 W
+ LOGICAL Q, S, NS, IS, END
+ DOUBLE PRECISION RVAL
+C
+C *** STATEMENT FUNCTIONS
+C
+ LOGICAL TERM, QUOTE, NUMBER, INTEGR, ETERM, EREAD
+C
+ TERM(CH) = ( INDEX ( TERMS, CH ).NE. 0 )
+ QUOTE(CH) = ( INDEX ( QUOTES, CH ).NE. 0 )
+ NUMBER(CH)= ( INDEX ( NUMS, CH ).NE. 0 )
+ INTEGR(CH)= ( INDEX ( INTS, CH ).NE. 0 )
+ ETERM(CH) = ( CH .EQ. SPACE )
+ EREAD(J) = ( ( (L-1).EQ.(J-1)) .OR. TERM( STR(I+J:I+J) ) )
+C
+C *** BEGIN
+C
+ L = LENSTR( STR )
+C
+C *** INITIALISE OUTPUT ARRAYS AND WORKING VALUES
+C
+ DO 10 I = 1, MXN
+ ITYP(I)= 0
+ IV(I) = 0
+ RV(I) = 0.0
+ SSTR(I)= SPACE
+ 10 CONTINUE
+C
+ END = .FALSE.
+ S = .FALSE.
+ Q = .FALSE.
+ LT = COMMA
+ N = 0
+ IL = 0
+ I = 0
+C
+C *** IF STRING EMPTY RETURN
+C
+ IF ( L.EQ.0 ) RETURN
+C
+C *** CHARACTER PROCESSING LOOP STARTS HERE
+C
+ 20 CONTINUE
+C
+C *** ADD 1 TO CHARACTER POINTER
+C
+ I = I + 1
+C
+ IF ( I.GT.L ) THEN
+C *** HAVE REACHED END OF STRING
+ END = .TRUE.
+ CH = SPACE
+ ELSE
+C *** THERE ARE MORE CHARACTERS IN STRING
+ CH = STR(I:I)
+ ENDIF
+C
+ IF ( Q ) THEN
+C
+C *** CURRENTLY PASSING A QUOTE STRING
+C
+ IF ( END.OR.(CH.EQ.SQ) ) THEN
+C *** THIS IS END OF IT
+ Q = .FALSE.
+ N = N+1
+ LT= SPACE
+C
+ IF ( N.LE.MXN ) THEN
+C *** THERE IS ROOM TO STORE IT
+ ITYP(N) = IB-I
+ SSTR(N) = STR( IB:IL )
+ ENDIF
+C
+ ENDIF
+C
+ ELSE IF ( S ) THEN
+C
+C *** WE ARE PROCESSING NORMAL STRING
+C
+ IF ( END.OR.TERM(CH) ) THEN
+C *** THIS IS THE END OF IT
+ S = .FALSE.
+ N = N+1
+ LT = CH
+ IT = 0
+C *** ASSUME NULL TYPE ( STRING REALLY )
+ IF ( CH .EQ. SCOLON ) END=.TRUE.
+C
+ IF ( NS ) THEN
+C *** WE WILL TRY TO INTERPRET STRING AS A NUMBER
+ WRITE(W,'(I3)') I-IB
+C
+ IF ( IS ) THEN
+C *** TRY INTEGER READ FIRST
+ IOS=0
+ READ(STR(IB:IL),'(I'//W//')',IOSTAT=IOS) IVAL
+ ELSE
+ IOS=-1
+ ENDIF
+C
+ IF ( IOS.EQ.0 ) THEN
+C *** INTEGER READ GOOD
+ IT = 1
+ ELSE
+C *** INTEGER READ FAILED TRY FORMAT
+ IOS = 0
+ READ(STR(IB:IL),'(F'//W//'.0)',IOSTAT=IOS) RVAL
+C
+ IF (IOS.EQ.0) THEN
+C *** REAL READ WAS GOOD
+ IT = 2
+C *** ASSUME INTEGER RANGE FOR THE MOMENT
+ ELSE
+C *** REAL READ FAILED TRY E FORMAT
+C *** READ INCLUDING THE TERMINATOR AND THE NEXT ONE
+C *** OR TWO CHARS
+C *** FOR ANY CHANCE OF SUCESS THE CURRENT TERMINATOR
+C *** MUST BE A SPACE AND THE SECOND OR THIRD CHARACTER
+C *** MUST BE A TERMINATOR
+C
+ IF (.NOT.END .AND. ETERM(LT) .AND..NOT.IS ) THEN
+ IE=0
+ IF ( EREAD(2) ) THEN
+ IE=2
+ ELSE IF ( EREAD(3) ) THEN
+ IE=3
+ ENDIF
+C
+ IF (IE.NE.0) THEN
+C *** TRY READING WITH E FORMAT
+ WRITE(W,'(I3)')(I-IB)+IE
+ IOS=0
+ READ(STR(IB:IL+IE),
+ > '(E'//W//'.0)',IOSTAT=IOS) RVAL
+ IF (IOS.EQ.0) THEN
+C *** E FORMAT READ GOOD
+ IT = 2
+ I = I+IE
+ IL = I-1
+ IF (I.GT.L) END =.TRUE.
+ IF ( END) LT= SPACE
+ IF (.NOT.END) LT= STR(I:I)
+ IF (LT.EQ.SCOLON) END = .TRUE.
+ ENDIF
+ ENDIF
+ ENDIF
+ ENDIF
+ ENDIF
+ ENDIF
+C
+ IF (N.LE.MXN) THEN
+C *** THERE IS ROOM TO STORE ENTITY
+ IF ( IT.GT.0 ) THEN
+C *** NUMERIC VALUE FOUND
+ IF ( IT.EQ.1 ) THEN
+C *** IT WAS AN INTEGER
+ RVAL = FLOAT ( IVAL )
+C
+ ELSE
+C *** IT WAS A REAL. GET THE NEAREST INTEGER VALUE
+C *** IF THAT WAS NOT TOO BIG
+ IF ( (RVAL.LE.RMAXI)
+ > .AND.(RVAL.GE.RMINI) ) THEN
+ IVAL = NINT(RVAL)
+ ELSE
+C *** THE VALUE IS OUTSIDE INTEGER RANGE
+ IVAL=0
+ IT = 3
+ ENDIF
+C
+ ENDIF
+C
+ ITYP(N) = IT
+ IV(N) = IVAL
+ RV(N) = RVAL
+ SSTR(N) = STR(IB:IL)
+C
+ ELSE
+C *** NUMERIC VALUE NOT FOUND
+ ITYP(N) = IB-1
+ SSTR(N) = STR(IB:IL)
+ ENDIF
+ ENDIF
+C
+ ELSE
+C *** IT IS NOT THE END OF THE SUBSTRING
+C *** CHECK IF CURRENT CHARACTER IS NUMERIC
+ IF ( .NOT.NUMBER(CH) ) NS=.FALSE.
+ IF ( .NOT.INTEGR(CH) ) IS=.FALSE.
+ ENDIF
+C
+ ELSE
+C *** WE ARE NOT PROCESSING A STRING
+ IF ( END.OR.(CH.EQ.SCOLON)) THEN
+C *** THIS IS THE END
+ END = .TRUE.
+C *** A FINAL COMMA INDICATES AN ADDITIONAL NULL ARGUEMENT
+C IF (LT.EQ.COMMA) N=N+1
+C
+ ELSE
+C *** THIS IS NOT THE END
+ IF ( TERM(CH) ) THEN
+C *** THIS IS NOT THE START OF A NEW STRING
+ IF (CH.EQ.COMMA) THEN
+C *** IF THE LAST CHARACTER WAS A COMMA
+C *** THIS REPRESENTS A NULL ENTITY
+ IF ( LT.EQ.COMMA ) N=N+1
+ LT = COMMA
+C *** LAST TERMINATOR IS NOW A COMMA
+ ENDIF
+ ELSE
+C *** MUST BE START OF NEW ENTITY
+ IF ( QUOTE(CH) ) THEN
+ Q = .TRUE.
+ IB = I+1
+ SQ = CH
+C *** <SQ> IS STARTING HERE
+ ELSE
+C *** NORMAL STRING
+ S = .TRUE.
+ NS = NUMBER(CH)
+ IS = INTEGR(CH)
+ IB = I
+ ENDIF
+ ENDIF
+ ENDIF
+ ENDIF
+C
+ IF ( END ) RETURN
+C *** IF THE END RETURN
+ IL = I
+C *** <IL> IS THE LAST CHARACTER PROCESSED
+ GO TO 20
+C *** GO AND DEAL WITH NEXT CHARACTER
+C *** END
+ END
+C
+C ********* END OF ROUTINE ***********************
+C
+ FUNCTION LENSTR(STR)
+C
+C This Function finds the Characters to the
+C The end of a character string
+C
+ CHARACTER*(*)STR
+ LENS=LEN(STR)
+C
+ DO 50 I=LENS,1,-1
+ IF (STR(I:I).NE.' ')GO TO 60
+ 50 CONTINUE
+C
+ LENSTR=0
+ RETURN
+C
+ 60 CONTINUE
+C
+ LENSTR=I
+ RETURN
+C
+ END
+C
+C ********* END OF ROUTINE ***********************
+C
+


++$#>Data Checking Wizard
+
Overview
+

+The data checking wizard provides a tool that allows the user to check the validity the current data. A large number of checks are performed and a list is given for each data section, of the number of Errors, Warnings
and Comments found in the current data. A message is given for each item in the list that identifies the particular data variable at fault.
+
+The data checking wizard is run in one of two modes, either directly as a interactive window, or indirectly as a summary message dialogue.
+

+The data checking wizard is run directly through the menu item Tools / Data-check Wizard. This displays a window that shows the list of messages in a scrollable text region adjacent to the appropriate data section icon.
+
+The data checking wizard is run indirectly every time a calculation is performed, the data values are checked and if any discrepancies identified a simple summary of the number of errors, warnings and comments is displayed.
+
+{button ,AL(`list4',0,"",`main')} Related Topics
+
+


++$#>Data Checking Fail Types
+

+Three fail types are used within the data checker, being Error, Warning
and Comment. Due to the complexity of the data requirements and the inter dependency it is not always clear cut as to the appropriateness of a particular value or flag setting. Some solution types will use different data values and thus adds further vagaries to their validity.
+
+The first category of Error is used when a data value(s) or type is felt to be in error in all possible scenarios. Typical examples of this are failure to enter a value for a compulsory variable, or incorrectly entered, negative or out of range numbers.
+
+The second category of Warning is used when a data value(s) or type is considered incorrect or not set, but that in some solution cases is not used and could therefore be acceptable. Typical examples of this are when a data value is not entered and therefore contains a zero value.
+
+The third category of Comment is used when a data value(s) is outside of the normal range. Where appropriate a data value will have a minimum and maximum value that set this normal range. Currently only the default set of ranges is available, but it is envisaged that later releases will also employ a user definable set of ranges.
+
+{button ,AL(`list4',0,"",`main')} Related Topics
+
+


++$#>Opening the Data Checking Wizard
+

+To open the data checking wizard select the menu Tools
/ Data-check Wizard from the main window menubar. Alternatively the Data Checking Icon can be selected.Whilst the wizard is open the icon remains indented and the pull down menu item is ticked.
+
+When the wizard is initially opened, it checks the current data for discrepancies. Any that are found are identified by either the question mark
or cross icons being displayed next to the scrollable text region for that data section. Data sections being identified by their appropriate icon. If no discrepancies have been identified in a data section the tick icon is displayed.
+
+{button ,AL(`list4',0,"",`main')} Related Topics
+
+
+


++$#>Closing the Data Checking Wizard
+

+To close the data checking wizard select either the
close icon at the top right corner of the wizard window, the wizard window menu at the top left, the menu item Functions / Close from the wizard menubar, or alternatively the Data Checking Icon can be un-selected.
+

+{button ,AL(`list4',0,"",`main')} Related Topics
+
+


++$#>Jumping to the Data Windows
+

+The data icons
down the side of the data checking wizard can be used to open the data window for that data section, by simply selecting the required icon.
+
+{button ,AL(`list4',0,"",`main')} Related Topics
+


++$#>Updating the Data Checking Wizard Display
+

+If the data checking wizard window has been left open whilst changes have been made to data, its display will potentially no longer reflect the true No. of errors, warnings and comments. To update the display select Functions
/ Update from the wizard menubar. The current data will then be checked and the wizard display updated.
+
+{button ,AL(`list4',0,"",`main')} Related Topics
+
+


++$#>The Default Data Checking Wizard Ranges
+

+The following lists the default ranges for data values, used in the data checking wizard. Values outside of these ranges result in a Comment
entry.
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+{ + +
Vehicle Data
+Test Weight
kg
500
25000
+Wheelbase
m
0.5
25
+Front track
m
0.5
25
+Rear Track
m
0.5
25
+C of G Distance
m
-25
25
+C of G Height
m
-25
25
+Frontal Area
m2
0.25
250
+Drag Coeff
-
0
10
+Plan Area
m2
0
250
+Front Lift Coeff
-
-10
10
+Rear Lift Coeff
-
-10
10
+Air Density
kg/m3
1.0
1.5
Dynamometer Data
+Inertia Class
kg
0
6000
+Constant
N
0
1000
+Velocity Term
N/m/s
-100
100
+Velocity2 Term
N/m2/s2
-10
10
Tyre Data
+Rolling Radius
m
0.1
5
+Drive Efficiency
-
0.5
1
+Coeff of Slip
-
0.1
1.5
+Constant
0
1000
+Velocity Term
-10
10
+Velocity2 Term
-1
1
+Velocity3 Term
-0.1
0.1
+Velocity4 Term
-0.01
0.01
+Velocity5 Term
-0.001
0.001
Driveline Data - Clutch or Torque Converter
+Declutch Speed
km/h
0
50
+Speed ratio
-
0
1
+Torque Ratio
-
0
5
+Input Capacity
rad/s/Nm
0
200
Driveline Data - Torque Converter Idle Speed
+Speed Ratio
-
0
2
Driveline Data - Final Drive
+Front Wheel Inertia
kg.m2
0
2
+Rear Wheel Inertia
kg.m2
0
2
+Drive Shaft Inertia
kg.m2
0
2
+Propshaft Inertia
kg.m2
0
2
+Final Drive Ratio
-
1
5
+Final Drive Eff.
-
0.5
1
Gearbox Data - Gearbox Specification
+Max. Input Torque
Nm
0
500
+Max. Input Speed
rpm
0
12000
+Gear Ratio
-
0
6
+Gear Efficiency
-
0.5
1
+Gear Inertia
kg.m2
0.00005
1
Gearbox Data - Gear Losses
+Speed
rpm
500
12000
+Load Fraction
-
0
1
+Torque Loss
Nm
0.002
50
Engine Data - Engine
+Bore
mm
20
200
+Stroke
mm
20
200
+No. of Cylinders
-
1
20
+Idle Speed
rpm
300
4000
+Maximum Speed
rpm
1000
12000
+Engine Inertia
kg.m2
0.001
1
+Engine Speed
rpm
500
12000
+Engine Torque
Nm
10
1000
+Compression Ratio
-
4
25
Engine Data - Catalyst
+HC Maximum Eff.
-
0
1
+NOx Maximum Eff.
-
0
1
+CO Maximum eff
-
0
1
+HC Time to Max Eff
s
0
100
+NOx Time to Max Eff
s
0
100
+CO Time to Max Eff
s
0
100
+HC Warming Time
s
0
200
+NOx Warming Time
s
0
200
+CO Warming Time
s
0
200
Engine Data - Warm-Up
+HC Warm-up Factor
0
200
+NOx Warm-up Factor
0
200
+CO Warm-up Factor
0
200
+HC Factor Time
s
0
100
+NOx Factor Time
s
0
100
+CO Factor Time
s
0
100
+HC Accel Factor
0
200
+NOx Accel Factor
0
200
+CO Accel Factor
0
200
Engine Data - Auxiliaries
+Drive Ratio
-
0
200
+Rotational Inertia
kg/m2
0
200
+Speed
rpm
0
12000
+Torque
Nm
0
200
Engine Data - Grid Analysis
+Speed
rpm
0
12000
+Torque
Nm
0
1000
Engine Data - Primary Drive
+Drive Ratio
-
0
20
+Drive Efficiency
-
0.5
1
Hybrid Data
+Max. Capacity
kW.h
10
1000
+Min. capacity
kW.h
0
1000
+Max. Out. Torque
Nm
0
1000
+Max In Torque
Nm
0
1000
+Output Efficiency
-
0.1
1
+Input efficiency
-
0.1
1
+Capacity at Start
kW.h
0
1000
Driver Data
+Cornering Eff.
-
0.5
1
+Braking Eff
-
0.5
1
+Braking Balance
-
0.5
1
+Gear Shift Time
s
0.1
5
+Min Shift Interval
s
0.1
5
button ,AL(`list4',0,"",`main')} Related Topics
+
+


++$#>Column Write Wizard
+
Overview
+

+The column write wizard allows the user to generate an ASCII column file from the Lotus Vehicle Simulation results that are currently displayed on the graphs. This then provides a route for processing and plotting of the results in external applications such as Excel.
+
+The format of the columns can be controlled to be set as real or integer and in the case of real numbers in either E
or F format with the number of decimal points defined.
+
+Simple scaling and shifting can also be applied to individual columns.
+
+The column delimitation can be set to either space, tab or comma.
+
+Only data currently loaded and displayed on a results graph can be saved through the column wizard, since the selection of the columns is based on picking from the graphs X or Y axes.
+
+{button ,AL(`list5',0,"",`main')} Related Topics

+
+


+

++$#>Opening the Column Write Wizard
+

+To display the column write wizard select the menu item Tools
/ Column Write Wizard. (Note; that this window will ignore selection of menu items outside of its own window, and thus must be closed before any other Lotus Vehicle Simulation window can be accessed) .
+
+{button ,AL(`list5',0,"",`main')} Related Topics
+
+


++$#>Closing the Column Write Wizard
+

+To close the column write wizard and return to Lotus Vehicle Simulation select either the
close icon at the top right corner of the write wizard window, or close from the write wizard window menu at the top left corner. Closing the column write wizard will lose all current settings.
+

+{button ,AL(`list5',0,"",`main')} Related Topics
+
+


++$#>Defining the Column Data
+

+To define the column data the user must first load and display the required data on a results graph, since column selection is based on picking from the graph
s X or Y axes.
+
+Set the number of columns required in the appropriate value box then step through each column using the arrow icons and entering the required settings.
+
+Default values are pre-set for scale, shift, format width, number of decimal points and format specifier at each column, these can modified as required. The user must select the required axis from x-axis, y-axis 1, y-axis 2, y-axis 3 and y-axis 4, and the required position from 1 to 5.
+

+{button ,AL(`list5',0,"",`main')} Related Topics
+
+


++$#>Data Manipulation
+

+Individual columns can be scaled and/or shifted before being written out.
+
+To scale a column, display its settings using the arrow icons then enter the required scale value in the scale factor
box.
+
+To shift a column, display its settings using the arrow icons then enter the required shift value in the shift box.
+
+If both scale and shift are applied to a column the values are scaled first then shifted.
+
+The default values apply a scale factor of 1 and a shift of 0.
+
+{button ,AL(`list5',0,"",`main')} Related Topics
+
+


++$#>Controlling the Column Format
+

+The output format of an individual column
s values written to a file can be controlled via the format setting values.
+
+All graph values are handled as real numbers but can be written as either integers or reals.
+
+If writing out as Integers they can be in either integer form or nearest integer form, (i.e. Fortran syntax INT and NINT). To set a column to integer or nearest integer select from the Format Specifier
the I Format option and set the Format Width to be wide enough for the largest number. Selecting the I format option will automatically set the number of decimal places to zero,if the nearest integer value is required this should be set to -1. (note that setting to integer or nearest integer can be done directly by simply editing the No. of Decimal points to 0 or -1 as required rather than using the Format Specifier pull down menu. Integer values are output padded with leading blanks.
+
+If writing out as reals they can be in either floating point of exponent format. To set a column to real select from Format Specifier the F Format option for floating point or the E Format for the exponent format, then set the Format Width to be wide enough for the largest number and the required number of decimal places. Real numbers are rounded to the last decimal place and padded with leading blanks.
+
+If the values exceed the defined format width specified they will be output as *******, and users should thus be wary of defining too small a column width. This mimics the standard Fortran output behaviour.
+

+By default the column values are written in F Format with a format width of 12 and number of decimal points as 4.
+
+{button ,AL(`list5',0,"",`main')} Related Topics
+
+


++$#>Setting the Columns as Graph &
+

+To set the settings of the column data wizard to be such that they produce a listing of a currently displayed particular graph, the user could set the number of columns and then toggle through the settings for each column picking the axis as x-axis then the appropriate y-axis. for each position until they had all been selected in turn.
+
+Alternatively select Options
/ Set as graph and chose the required graph. This will then define the no of valid columns and their settings. It will only add in axis that are both switched on and have data values loaded. Thus if no results are currently loaded, no columns will be set to on. The format settings for columns added in this way, will be set to the default settings. Thus this option defines the settings to produce a column file for all lines currently displayed on the selected graph.
+

+The number of columns that will be loaded is given by,
+
+         +         +the number of active positions x ( X-axis + Y-axes {if active} )
+
+(note, Individual results files are stored in a position from 1 to 5 to provide a method of cross plotting results from different runs.)
+
+(note, The x-axis values from each position file may not be the same and thus the x-axis values for each position file are included in the listing.)
+
+{button ,AL(`list5',0,"",`main')} Related Topics
+
+


++$#>Setting the Columns as Position &
+

+To define the settings such that it will produce a column file for all lines currently displayed from a given position, select Options
/ Set as Position and chose the required position. This will then define the no of valid columns and their settings. It will only add in axis that are both switched on and have data values loaded. Thus if no results are currently loaded, no columns will be set to on. The format settings for columns added in this way, will be set to the default settings.
+

+The number of columns that will be loaded is given by,
+
+         +         +X-axis + number of active Y-axes (for the selected position)
+
+(note, Individual results files are stored in a position from 1 to 5 to provide a method of cross plotting results from different runs.)
+
+(note, The x-axis values from each position file may not be the same.)
+
+{button ,AL(`list5',0,"",`main')} Related Topics
+
+


++$#>Setting the Column Delimiter
+

+Columns files created by this wizard can be separated by either spaces, tabs or commas.
+
+The default setting is to use a space between each column.
+
+To change the delimiter, select Delimiter
and the required item from the wizard menubar.
+
+{button ,AL(`list5',0,"",`main')} Related Topics
+
+


++$#>Saving the Column Data to File
+

+To save the defined column data to a file enter the required name into the Filename
box and select the Write button. The file browser icon can also be used to locate the required destination filename. The user is warned if this action will overwrite an existing file.
+
+The default file extension types are *.prn for space delimited files, *.txt for tab delimited files and *.csv for comma separated files. (These are in-line with Excel file extensions).
+

+{button ,AL(`list5',0,"",`main')} Related Topics
+
+


++$#>Track Builder / Viewer Tool
+
Overview
+
+The track builder and viewer tool allows the user to either create a new track model or view and modify an existing track model. The
standard track models can also be loaded directly into the viewer. The track is defined as a series of straights and curves with appropriate properties being defined for these sections.
+
+The current maximum number of track sections that can be defined is 250.
+
+{button ,AL(`list2',0,"",`main')} Related Topics

+
+


++$#Opening the Track Builder / Viewer Tool
+

+
To display the track builder window select the menu item Tools / Track Builder/Viewer. (Note; that this window will ignore selection of menu items outside of its own window, and thus must be closed before any other Lotus Vehicle Simulation window can be accessed) .
+
+{button ,AL(`list2',0,"",`main')} Related Topics
+
+


++$#Closing the Track Builder / Viewer Tool
+

+To close the track builder window and return to Lotus Vehicle Simulation select either the
close icon at the top right corner of the track window, the track window menu at the top left or alternatively select the menu item File / Close from the track builder menubar. Closing the track window will lose all unsaved data.
+

+{button ,AL(`list2',0,"",`main')} Related Topics
+
+


++$#Track Data Variables
+

+
There are two basic track types, straights and curves, with up to seven variables being used to define each track section, (not all being valid for each type). The values are displayed in the window spread sheet under the following headings.
+
+1) Feature: (integer) Identifies the track section as being either a straight (1) or a curve (2). Acceptable integer values are 1 or 2.
+2) Gradient: (real) (deg) Sets the gradient of track on this feature in degrees relative to the horizontal.
+3) Camber: (real) (deg) Sets the camber of track on this feature in degrees to the horizontal. A positive No. is such that the track to the right hand side of the driver is raised.
+4) Dimension: (real) (M) Defines the feature dimension. For straights this set the length of the straight, for curves it set the radius of the curve.
+5) Angle: (real) (deg) Not used for straights, for curves it defines the angle of the curve segment.
+6) Width: (real) (M) Defines the width of the track.(this variable is not used at present)
+7)Vmax: (real) (Km/h) Defines the maximum velocity permited on this track section. If Vmax = 9999.0 then the maximum achievable velocity is permitted.
+
+
+The number of track sections controls the spread sheet such that only the defined number of sections are editable.
+
+The Maximum time step defines the maximum time step (s) to be used by the solver.
+
+{button ,AL(`list2',0,"",`main')} Related Topics
+
+


++$#Loading and Saving Track Files
+

+To load an existing track file select File
/ Open from the track builder menubar. The file browser is displayed with the default file extension being *.ord. Browse and select the required file, the file is then read and the track data loaded into the window. Note that existing track data will be overwriten and if required should be saved before opening another file, (the user is reminded of this via a message box).
+
+Selecting File / New from the track builder menubar will delete the current track data, and if required should be saved before creating a new track.
+
+To save the current track select either File / Save or File / Save_As from the track builder menubar. The Save option will, if appropriate, save the track data to the current filename. The current filename being displayed at the top of the track builder window. The Save_as option will display the file browser to allow the required filename to be entered.
+
+
+{button ,AL(`list2',0,"",`main')} Related Topics
+
+
+


++$#Loading Standard Track Files
+

+The
standard track files can be loaded into the track builder by selecting File / Load Standard from the track builder menubar and chosing the required track from the presented alternatives. This data can then be edited and saved to a user specified file just like any other user defined track file. The standard track files are those that are given within the calculation setup window, namely
+
1) Oval
+2) Lotus Test Track
+
3) Snetterton Race Circuit - Norfolk
+

+{button ,AL(`list2',0,"",`main')} Related Topics
+
+


++$#Inserting and Deleting Track Sections
+

+To add further sections to the end of a partially defined currently displayed track, edit the value for the No. of track sections to reflect the new required total number of track sections. Editing the No. of track sections value alters the scrollable spread sheet display such that the additional sections can be entered into the display.
+
+To insert a new track section into the middle of an existing displayed track, select Edit
/ Insert Section from the track builder menubar. You are then prompted for the position in the list at which to insert the new section. The new section is inserted immediately before the entered section No. The number of track sections is increased by one, the existing sections being shuffled and renumbered. The values for this new section should then be entered into the spread sheet.
+
+To delete a track section from an existing displayed track, select Edit / Delete Section from the track builder menubar. You are then prompted for the section No. in the list that you wish to delete. This track section is then removed from the list, the number of track sections automatically reduced by one and the remaining track sections being shuffled and renumbered.
+
+{button ,AL(`list2',0,"",`main')} Related Topics
+
+
+


++$#Setting the Track View
+

+
The displayed tracks view can be manipulated via the zoom and autoscale functions, to enable a portion or all of the track to be viewed.
+
+To zoom in on the display select View
/ Zoom from the track builder menubar, then with the mouse select one corner of the required area with the left mouse button, then drag the rubber band box and select the other corner, again with the left mouse button. The display is then redrawn showing the selected area. Using the right mouse button for either of the selections cancels the zoom action. The zoom function will not distort the true aspect ratio, the correct relationship between x and y dimensions being maintained.
+
+To display the entire track select View / Autoscale from the track builder menubar. The display will be redrawn to display the complete track, again the correct aspect ratio is maintained.
+
+To reflect changes made to data in the spread sheet on the graphical display, the graphics needs to be refreshed. Select View / Refresh from the track builder menubar, the display will be redrawn using the current view settings and data values.
+
+To assist in identifying track sections the section number as used in the spread sheet can be displayed on the graphical display. To toggle the visibility select View / Section No. from the track builder menubar, a tick indicates that the visibility is on.
+

+{button ,AL(`list2',0,"",`main')} Related Topics
+
+
+


++$#Track File Format
+

+User defined track files are stored as ASCII data with the following format.
+
+Record 1: NSECT, TSTEP

+
+where    +NSECT    +(integer) (max 50). Number of track sections.
+         +TSTEP    +         +(real). (s) Maximum solver time step.
+
+Record 2: IFEAT, GRAD, CAMB, DIM, ANG, WIDTH, VMAX
+
+where    +IFEAT    +         +(integer).Identifies the track section as being either a straight (1) or a curve (2). Acceptable integer values are 1 or 2.
+         +         +GRAD     +         +(real) (deg) Sets the gradient of track on this feature in degrees relative to the horizontal.
+         +         +CAMB     +         +(real) (deg) Sets the camber of track on this feature in degrees to the horizontal. A positive No. is such that the track to the right hand side of the driver is raised.
+         +         +DIM      +         +(real) (M) Defines the feature dimension. For straights this set the length of the straight, for curves it set the radius of the curve.
+         +         +ANG      +         +(real) (deg) Not used for straights, for curves it defines the angle of the curve segment.
+         +         +WIDTH    +         +(real) (M) Defines the width of the track.(this variable is not used at present)
+         +         +VMAX     +         +(real) (Km/h) Defines the maximum velocity permited on this track section. If Vmax = 9999.0 then the maximum achievable velocity is permitted.
+
+
+         +Record 2 is repeated for each track section
+
+The following lines show the user track file for the Lotus test Track
+
+ 13 0.100000
+ 1.00000 0.000000E+00 0.000000E+00 426.500 0.0000 10.0000 9999.00
+ 2.00000 0.000000E+00 0.000000E+00 187.000 -70.0000 10.0000 9999.00
+ 1.00000 0.000000E+00 0.000000E+00 875.000 0.0000 10.0000 9999.00
+
2.00000 0.000000E+00 0.000000E+00 53.0000 -180.500 10.0000 9999.00
+ 1.00000 0.000000E+00 0.000000E+00 617.500 0.0000 10.0000 9999.00
+ 2.00000 0.000000E+00 0.000000E+00 314.000 42.5000 10.0000 9999.00
+ 1.00000 0.000000E+00 0.000000E+00 195.000 0.0000 10.0000 9999.00
+ 2.00000 0.000000E+00 0.000000E+00 283.000 31.0000 10.0000 9999.00
+ 1.00000 0.000000E+00 0.000000E+00 184.000 0.0000 10.0000 9999.00
+ 2.00000 0.000000E+00 0.000000E+00 131.000 -39.0000 10.0000 9999.00
+ 1.00000 0.000000E+00 0.000000E+00 32.0000 0.0000 10.0000 9999.00
+ 2.00000 0.000000E+00 0.000000E+00 37.7428 -144.000 10.0000 9999.00
+ 1.00000 0.000000E+00 0.000000E+00 144.129 0.0000 10.0000 9999.00
+
+{button ,AL(`list2',0,"",`main')} Related Topics

+
+


++$#>Copying the Track Display to the Clipboard
+

+To copy the displayed picture from the track builder to the clipboard select the View / Copy to Clipboard
menu option from the track builder menubar. The image can then be pasted from the clipboard into a number of proprietary windows applications, e.g. Powerpoint.
+
+{button ,AL(`list2',0,"",`main')} Related Topics
+
+


++$#>Cycle Builder / Viewer Tool
+
Overview
+
+The cycle builder and viewer tool allows the user to either create a new emissions cycle or view and modify an existing emissions cycle. The
standard emissions cycles can also be loaded directly into the viewer. The cycle is defined by a series of time points, the points being set at an equal time increment. For each time step the velocity and gear is defined.
+
+The current maximum number of time steps that can be defined is 2000.
+
+
The velocity time history uses color to identify the defined gear. The default colors for neutral and the first 5 gears are as follows;
+         +         +neutral = red, 1st = orange, 2nd = yellow, 3rd = green, 4th = cyan, 5th = blue
+
+{button ,AL(`list3',0,"",`main')} Related Topics
+
+


++$#Opening the Cycle Builder / Viewer Tool
+

+
To display the cycle builder window select the menu item Tools / Cycle Builder/Viewer. (Note; that this window will ignore selection of menu items outside of its own window, and thus must be closed before any other Lotus Vehicle Simulation window can be accessed) .
+
+{button ,AL(`list3',0,"",`main')} Related Topics
+
+


++$#Closing the Cycle Builder / Viewer Tool
+

+To close the cycle builder window and return to Lotus Vehicle Simulation select either the
close icon at the top right corner of the cycle window, the cycle window menu at the top left or alternatively select the menu item File / Close from the cycle builder menubar. Closing the cycle window will lose all unsaved data.
+

+{button ,AL(`list3',0,"",`main')} Related Topics
+
+
+


++$#Cycle Data Variables
+

+
The cycle data consists of a series of points at constant time step increments starting from zero seconds. At each time point the vehicle velocity and gear No. is defined. The values are displayed in the window spread sheet under the following headings.
+
+1) Time: (real) (s) Shows the time value for this point. It is not editable directly, being defined by the point number and the current input time step.
+2) Speed: (real) (km/h) Sets the required velocity for this time point.
+3) Gear: (integer) Sets the required gear for this time point.
+
+
+The number of steps controls the spread sheet such that only the defined number of time steps are editable.
+
+The input time step sets the time increment between succesive data points.
+
+The solve time step defines the maximum time step (s) to be used by the solver.
+
+{button ,AL(`list3',0,"",`main')} Related Topics
+
+
+


++$#Loading and Saving Cycle Files
+

+To load an existing cycle file select File
/ Open from the cycle builder menubar. The file browser is displayed with the default file extension being *.cyc. Browse and select the required file, the file is then read and the cycle data loaded into the window. Note that existing cycle data will be overwriten and if required should be saved before opening another file, (the user is reminded of this via a message box).
+
+Selecting File / New from the cycle builder menubar will delete the current cycle data, and if required should be saved before creating a new cycle.
+
+To save the current cycle select either File / Save or File / Save_As from the cycle builder menubar. The Save option will, if appropriate, save the cycle data to the current filename. The current filename being displayed at the top of the cycle builder window. The Save_as option will display the file browser to allow the required filename to be entered.
+
+
+{button ,AL(`list3',0,"",`main')} Related Topics
+
+
+


++$#Loading Standard Cycle Files
+

+The
standard cycle files can be loaded into the cycle builder by selecting File / Load Standard from the cycle builder menubar and chosing the required cycle from the presented alternatives. This data can then be edited and saved to a user specified file just like any other user defined cycle file. The standard cycle files are those that are given within the calculation setup window, namely
+
1) USA   +Federal FTP75
+         +         +         +Federal Highway
+         +         +         +Federal FTP06
+2) EURO  +EURO
+         +         +         +EUDC
+         +         +         +EURO + EUDC
+
3) EURO (under powered)
+         +         +         +EURO
+         +         +         +EUDC
+         +         +         +EURO + EUDC
+         +4) JAPAN         +Japanese 15 mode
+
+
{button ,AL(`list3',0,"",`main')} Related Topics
+
+


++$#Inserting and Deleting Cycle Steps
+

+To add further time steps to the end of a partially defined currently displayed cycle, edit the value for the No. of time steps to reflect the new required total number of time steps. Editing the No. of time steps value alters the scrollable spread sheet display such that the additional steps can be entered into the display.
+
+To insert a new time step into the middle of an existing displayed cycle, select Edit
/ Insert Step from the cycle builder menubar. You are then prompted for the position in the list at which to insert the new time step. The new time step is inserted immediately before the entered step No. The number of time steps is increased by one, the existing steps being shuffled and renumbered. The values for this new time step should then be entered into the spread sheet.
+
+To delete a time step from an existing displayed cycle, select Edit / Delete Step from the cycle builder menubar. You are then prompted for the step No. in the list that you wish to delete. This time step is then removed from the list, the number of time steps automatically reduced by one and the remaining time steps being shuffled and renumbered.
+
+{button ,AL(`list3',0,"",`main')} Related Topics
+
+
+


++$#Setting the Cycle View
+

+
The displayed cycles view can be manipulated via the zoom and autoscale functions, to enable a portion or all of the cycle to be viewed.
+
+To zoom in on the display select View
/ Zoom from the cycle builder menubar, then with the mouse select one corner of the required area with the left mouse button, then drag the rubber band box and select the other corner, again with the left mouse button. The display is then redrawn showing the selected area. Using the right mouse button for either of the selections cancels the zoom action.
+
+To display the entire cycle select View / Autoscale from the cycle builder menubar. The display will be redrawn to display the complete cycle.
+
+To reflect changes made to data in the spread sheet on the graphical display, the graphics needs to be refreshed. Select View / Refresh from the cycle builder menubar, the display will be redrawn using the current view settings and data values.
+
+{button ,AL(`list3',0,"",`main')} Related Topics
+
+
+


++$#Cycle File Format
+

+User defined cycle files are stored as ASCII data with the following format.
+
+Record 1: NSTEP, TINC, TSTEP

+
+where    +NSECT    +(integer) (max 50). Number of track sections.
+         +TINC     +         +(real) (s) Time step increment
+         +TSTEP    +         +(real).(s) Maximum solver time step.
+
+Record 2: VELO, IGEAR
+
+where    +VELO     +         +(real).(km/h) Sets the required velocity for this time point.
+         +         +IGEAR    +         +(int) Sets the required gear for this time point.
+
+
+         +Record 2 is repeated for each time step
+
+The following lines shows an extract from the top of the Euro EUDC cycle
+
+ 406 1.00000 0.500000
+ 0.000000E+00 1
+ 0.000000E+00 1
+ 0.000000E+00 1
+ 0.000000E+00 1
+ 0.000000E+00 1
+ 0.000000E+00 0
+ 0.000000E+00 0
+ 0.000000E+00 0
+ 0.000000E+00 0
+ 0.000000E+00 0
+ 0.000000E+00 0
+
0.000000E+00 0
+ 0.000000E+00 0
+ &&.
+ &&.
+
+
+{button ,AL(`list3',0,"",`main')} Related Topics

+
+


++$#>Copying the Cycle Display to the Clipboard
+

+To copy the displayed picture from the cycle builder to the clipboard select the View / Copy to Clipboard
menu option from the cycle builder menubar. The image can then be pasted from the clipboard into a number of proprietary windows applications, e.g. Powerpoint.
+
+{button ,AL(`list3',0,"",`main')} Related Topics
+
+


++$#>DataBase Wizard
+
Overview
+
+The DataBase wizard provides a tool that allows data to be stored and retrieved at a component level, i.e. vehicle, engine, gearbox etc. rather than as a complete Lotus Vehicle Simulation file. The user can create these database files with specific read/write protection levels on them such that access to the data or the ability to overwrite/modify the data requires a password to be given. As further protection of the database files they are 'scrambled' to prevent direct reading of them, but users should be aware that these files could still be corrupted or deleted and regular backups should be performed to maintain data.
+

+The database wizard breaks the Lotus Vehicle Simulation data down into three sections, Compulsory, Optional and Controllers, each of these sections has a number of components related to them. The compulsory section consists of those components that are compulsory within a Lotus Vehicle Simulation data file, they have the colour 'red' associated with them. The second section, optional, consists of the components that are optional within a Lotus Vehicle Simulation data file and have 'green' as their associated colour. The third section, controllers, contains data elements related to the control of the vehicle and use the 'blue' colour.
+
+The components related to each section and their relevant icons are;
+
+Compulsory
+     +Vehicle
+     +Wheel and Tyre
+     +Final Drive
+     +Gearbox
+     +Engine
+     +Clutch
+
+Optional
+     +Torque Converter
+     +Catalyst
+     +Dynamometer
+     +Primary Drive
+     +Auxiliaries
+     +Hybrid (simple)
+     +Hybrid Battery
+     +Hybrid Motor
+     +Hybrid Generator
+     +Hybrid Drive Regenerator
+
+Controllers
+     +Shift Maps
+     +Driver
+     +Hybrid Control
+
+The 'component' approach employed in the database wizard means that any data that is used to define a component will, if entered, be saved/read when the component is saved or loaded. An example of this is the engine component that also includes 'Maps', 'Warm-up' and 'Grid' data sections. A full list of this connectivity is given below in terms of their data file keywords;
+
+Vehicle  +         +'Vehicle', 'Suspensions', 'Aerodynamics'
+
Wheel/Tyre       +         +'Tyre', 'Xtyre', 'Drive'
+Gearbox  +         +'Gearbox', 'Gloss'
+Engine   +         +         +'Engine', 'Maps', 'Optimum', 'Eng_scale', 'Warm_up', 'Grid'
+
Hybrid Battery   +         +'Hybpower', 'Hybloss', 'Hybbattery'
+
Hybrid Motor     +         +'Hybpower', 'Hybloss'
+
Hybrid Generator         +'Hybpower', 'Hybloss''
+
Hybrid Drive Regen       +'Hybpower', 'Hybloss''
+

+note also that some Lotus Vehicle Simulation data sections are common between a number of components. This has been necessary because of the original Lotus Vehicle Simulation data structure. A particular example of this is with the 'Wheel/tyre' component. The inertia values for the wheels are contained in the 'drive' data section these values are saved with the wheel component rather than the final drive component.
+
+The database wizard allows for multiple database files to be opened, the details of which can be displayed. The details and properties of individual components within a database can be viewed, edited or the component removed from the database. In addition any current 'Lotus Vehicle Simulation' data can be added to a database file.
+
+The database wizard can be used to put together a complete Lotus Vehicle Simulation data file all in one go, or alternatively can be used to just select single components to add/replace that in your current Lotus Vehicle Simulation data.
+
+{button ,AL(`list16',0,"",`main')} Related Topics
+
+


++$#>Opening the DataBase Wizard
+

+To open the DataBase wizard, select the menu item Tools
/ Database Wizard from the main menubar. When the wizard is open the pull down menu option is 'ticked' and all events in other windows ignored.
+
+On initially opening the wizard no database files are open. Previously opened database files names are saved to the bottom of the DataBase menu on the wizards menubar.
+
+{button ,AL(`list16',0,"",`main')} Related Topics
+
+


++$#>AClosing the DataBase Wizard
+

+To close the DataBase wizard, select either the menu item File
/ Close from the wizards menubar, or close from the wizards top left window menu or the close symbol at the top right of the wizards window.
+
+On closing the window all data settings within the wizard is lost and all opened database files are closed. Thus all settings are lost on close and will need to be re-set or files re-opened if required when the wizard is subsequently opened.
+
+Depending on the method of closing the window and the state of the selected data, a message prompt may be displayed on closing. This prompt is informing the user that they have selected a component from a database file and that if this component data is to be transferred into the current Lotus Vehicle Simulation data, the 'make current' option should be used. This warning is only given if the menu item File / Close from the wizards menubar is used.
+
+On closing the database wizard any open data windows are 'refreshed' to reflect any changes made to the Lotus Vehicle Simulation data.
+
+{button ,AL(`list16',0,"",`main')} Related Topics
+
+


++$#>Creating a New DataBase File
+

+To create a new database file, with the database wizard open select the menu item DataBase
/ Create from the wizard menubar. The file browser is opened to allow the user to enter the required file name. The default extension for Lotus Vehicle Simulation database files is *.dbs. Note that you cannot select a file name of an existing file.
+
+The create dialog box is then displayed through which the user selects whether to apply any protection to the file, give the file an entry name and use three lines of text to describe the contents or function of this particular database file, only the entry name is compulsory.
+
+File protection can be one of 'none', 'write' or 'read and write'. If either of the last two options are selected, a password must be entered. Note that the password string is case sensitive.
+
+Write protection implies that when ever a user tries to add a component to an opened database file they will be prompted for the required password. 'Read + Write' protection is similar to write protection in that a password is required to add a component to the database file but also that the password is required to initially open the database file.
+
+Suggestions for what the entry name and text descriptions should be used for are, to provide easy identification of the database files contents, who created it and when, and whether it is a project specific file or not.
+
+Selecting 'Ok' will then create the file and leave it opened. The database file name being added to the 'details' and 'close' pop-up menus.
+
+{button ,AL(`list16',0,"",`main')} Related Topics
+
+


++$#>Opening and Closing a DataBase File
+

+An existing database file can be opened in one of two modes, as either 'exclusive' or 'add'. Exclusive as it implies will open the selected file closing all other open database files. The 'add' mode will open the selected file in addition to any already opened.
+
+To open a existing database file, with the database wizard open select the menu item DataBase
/ Open (exclusive) or DataBase / Open (add) as required from the wizard menubar. The file browser is opened to allow the user to select the required file. The default extension for Lotus Vehicle Simulation database files is *.dbs.
+
+The 5 most recently opened database files names are added to the bottom of the DataBase menu and these can be opened in 'add' mode by simply selecting the required file from the list.
+
+If a database file has 'read' protection, the user is then prompted for the necessary password before the file will be loaded. Note that the password is case sensitive.
+
+When a database file is opened in the 'exclusive' mode the database files that as a result are being closed are checked to see if any component has been 'added' from them. The user is then warned that closing this file will lose the 'added' component details.
+
+As database files are opened the file names are added to the Database / Close and Database / Details pull down menu lists.
+
+To close a database file select the required file name from the Database / Close list. The user will be warned if this database file currently has a component 'added' from it, and that this selection will be lost.
+
+{button ,AL(`list16',0,"",`main')} Related Topics
+
+


++$#>Viewing a DataBase File
+

+The details of an existing database file can be viewed by selecting the menu item DataBase
/ View from the wizard menubar. The file browser is opened to allow the user to select the required file. The default extension for Lotus Vehicle Simulation database files is *.dbs.
+
+If a database file has 'read' protection, the user is then prompted for the necessary password before the file can be viewed. Note that the password is case sensitive.
+
+The details of the particular selected database file are then displayed, giving filename, protection status, entry name and the descriptive strings.
+
+{button ,AL(`list16',0,"",`main')} Related Topics
+
+


++$#>Listing DataBase File Details
+

+The details of an opened database file can be viewed by selecting the required filename from the list of opened files under the menu item DataBase
/ Details from the wizard menubar.
+
+The details of the particular selected database file are then displayed, giving filename, protection status, file number, entry name and the descriptive strings.
+
+{button ,AL(`list16',0,"",`main')} Related Topics
+
+


++$#>Listing Details of a Component
+

+Within the database wizard the available components are listed for the current selected component type. The component type is set by selecting the required component from the component icons arranged under the three categories of 'Compulsory', 'Optional' and 'Controllers'. Selecting the required component will change the list title and update the list entries. To identify what component an icon represents select it with the right mouse button.
+
+To display the details of a particular component, with the required component highlighted in the list select the 'details' button below the list. Alternatively again with the required component highlighted in the list use the right mouse button and select 'details' from the pop-up menu.
+

+The details of the particular selected component are then displayed, giving the component type, its database filename, itas entry no. in the file, entry name and the descriptive strings.
+
+{button ,AL(`list16',0,"",`main')} Related Topics
+
+


++$#>Listing Properties of a Component
+

+Within the database wizard the available components are listed for the current selected component type. The component type is set by selecting the required component from the component icons arranged under the three categories of 'Compulsory', 'Optional' and 'Controllers'. Selecting the required component will change the list title and update the list entries. To identify what component an icon represents select it with the right mouse button.
+
+To display the properties of a particular component, with the required component highlighted in the list select the 'properties' button below the list. Alternatively again with the required component highlighted in the list use the right mouse button and select 'properties' from the pop-up menu.
+

+The properties of the particular selected component are then displayed, giving the entry name, descriptive strings and the associated data. The data is displayed in a scrollable text region, (non-editable), in the standard 'Lotus Vehicle Simulation' data file format.
+
+{button ,AL(`list16',0,"",`main')} Related Topics
+
+


++$#>Editing Properties of a Component
+

+Within the database wizard the available components are listed for the current selected component type. The component type is set by selecting the required component from the component icons arranged under the three categories of 'Compulsory', 'Optional' and 'Controllers'. Selecting the required component will change the list title and update the list entries. To identify what component an icon represents select it with the right mouse button.
+
+To edit the properties of a particular component, with the required component highlighted in the list select the menu item Component
/ Edit from the wizard menubar,. Alternatively again with the required component highlighted in the list use the right mouse button and select 'edit' from the pop-up menu.
+
+The properties of the particular selected component are then displayed, giving the entry name, descriptive strings and the associated data. The data is displayed in a scrollable editable text region, in the standard 'Lotus Vehicle Simulation' data file format.
+
+The data, (and text strings), can be edited and the changes saved by selecting 'ok', the user is warned that this will permanently change the stored data, and if it is a component that has currently been 'added' to the database wizard model, that this will change the data selection. Selecting 'cancel will ignore any changes made.
+
+{button ,AL(`list16',0,"",`main')} Related Topics
+
+


++$#>Removing a Component from a DataBase File
+

+Within the database wizard the available components are listed for the current selected component type. The component type is set by selecting the required component from the component icons arranged under the three categories of 'Compulsory', 'Optional' and 'Controllers'. Selecting the required component will change the list title and update the list entries. To identify what component an icon represents select it with the right mouse button.
+
+To remove a particular component from an existing database file, with the required component highlighted in the list select the menu item Component
/ Remove from the wizard menubar,. Alternatively again with the required component highlighted in the list use the right mouse button and select 'remove' from the pop-up menu.
+
+The user is warned that this will permanently removed the selected component from the database file, and if it is a component that has currently been 'added' to the database wizard model, that this will lose this data selection.
+
+{button ,AL(`list16',0,"",`main')} Related Topics
+
+


++$#>Adding a Component to a DataBase File
+

+Within the database wizard the available components are listed for the current selected component type. The component type is set by selecting the required component from the component icons arranged under the three categories of 'Compulsory', 'Optional' and 'Controllers'. Selecting the required component will change the list title and update the list entries. To identify what component an icon represents select it with the right mouse button.
+
+To add a particular component to an existing database file the required database file must be open and be the only database file opened. The component data required to save should have been loaded into Lotus Vehicle Simulation as part of a conventional Lotus Vehicle Simulation data file.
+

+From the wizard menubar select Component / Check-in and then the required component, if the required component is 'greyed' out then the data for that component has not been loaded into Lotus Vehicle Simulation.
+
+The properties of the particular component to be added are then displayed, giving the entry name, descriptive strings and the associated data. The data is displayed in a scrollable editable text region, in the standard 'Lotus Vehicle Simulation' data file format. This data and text can be edited prior to adding to the database file. An entry name must be given.
+
+Users should take every care to ensure that the data saved to a database file is both valid and clearly identified such that it can be safely recovered and used. Ideally data should have at least been checked with the data-checking wizard.
+
+{button ,AL(`list16',0,"",`main')} Related Topics
+
+


++$#>Selecting a Component from the DataBase
+

+Within the database wizard the available components are listed for the current selected component type. The component type is set by selecting the required component from the component icons arranged under the three categories of 'Compulsory', 'Optional' and 'Controllers'. Selecting the required component will change the list title and update the list entries. To identify what component an icon represents select it with the right mouse button.
+
+To add a particular component into your database wizard model, with the required component highlighted in the list select the 'add' button below the list. Alternatively again with the required component highlighted in the list use the right mouse button and select 'add' from the pop-up menu.
+

+If this component type has already been 'added' you will be asked to confirm that you wish to replace your previous section with this selection.
+
+To indicate that this component has been added to the wizard model the particular icon on the graphical display will change from white text on a coloured background to coloured text on a grey background. In this way you can clearly see which components have been selected.
+
+{button ,AL(`list16',0,"",`main')} Related Topics
+
+


++$#>Cancelling a Component Selection
+

+To cancel the selection of a particular component in your database wizard model, select the required component by ensuring that the component icon on the graphical display portion of the wizard is 'indented', ( use left mouse button to select) . With the required component selected use the right mouse button and select 'remove' from the pop-up menu.
+
+You will be asked to confirm that you wish to cancel your previous section, and the component will then be displayed as 'unselected'.
+

+To indicate that this component has been 'unselcted' from the wizard model the particular icon on the graphical display will change from coloured text on a grey background to white text on a coloured background. In this way you can clearly see which components are still selected.
+
+{button ,AL(`list16',0,"",`main')} Related Topics
+
+


++$#>AListing Details of a Selected Component
+

+To display the details of a selected component, select with the left mouse button from the graphical display on the wizard, the icon for the required component such that it is indented, (do not confuse the component icons at the top left of the wizard window with those on the graphical display. The icons on the top left are for setting the current component type when adding components to the wizard model, whilst those on the graphical display indicate which components have been added and allow specific functions to be applied to them). Use the right mouse button and select 'details' from the pop-up menu.
+

+The details of the current selection for that component are then displayed, giving the component type, its database filename, itas entry no. in the file, entry name and the descriptive strings.
+
+If no current selection exists for that component, the user is informed via a reduced pop-up menu.
+
+{button ,AL(`list16',0,"",`main')} Related Topics
+
+


++$#>AListing Properties of a Selected Component
+

+To display the properties of a selected component, select with the left mouse button from the graphical display on the wizard, the icon for the required component such that it is indented, (do not confuse the component icons at the top left of the wizard window with those on the graphical display. The icons on the top left are for setting the current component type when adding components to the wizard model, whilst those on the graphical display indicate which components have been added and allow specific functions to be applied to them). Use the right mouse button and select 'properties' from the pop-up menu.
+

+The properties of the current selection for that component are then displayed, giving the entry name, descriptive strings and the associated data. The data is displayed in a scrollable text region, (non-editable), in the standard 'Lotus Vehicle Simulation' data file format.
+
+If no current selection exists for that component, the user is informed via a reduced pop-up menu.
+
+{button ,AL(`list16',0,"",`main')} Related Topics
+
+


++$#>Making the Selected Data Current
+

+To move the selected component data from the database wizard and copy it into your Lotus Vehicle Simulation data you must use the File
/ Make Current menu item from the database wizard menubar. This will extract the data values from the database files for the selected components and load them into the current Lotus Vehicle Simulation data. This will overwrite any current Lotus Vehicle Simulation data for the components selected. Note that the Lotus Vehicle Simulation data values for components not selected within the wizard are left unchanged, thus individual components can be extracted from database files and added to or replace existing components in your Lotus Vehicle Simulation data.
+
+{button ,AL(`list16',0,"",`main')} Related Topics
+
+
+


++$#>Users Guide - File Formats
+

+
LOTUS VEHICLE SIMULATION uses several file types for the storage of data and results. These are:
+
+
"         +*.car : Contains the model data eg. Chassis, engine and transmission specifications
+
"         +*_n.crs : Text results file detailing modelled specification and simulation results
+
"         +*_n.grs : Graphical results file containing complete simulation results
+
"         +*_n.grd : Text results file containing grid simulation results
+
"         +*.cyc : User drive-cycle datafile - created using cycle builder
+
"         +*.ord : User track datafile - created using track builder
+
"         +*.prn : Space delimited column format results file
+
"         +*.txt : Tab delimited column format results file
+
"         +*.csv : Comma delimited column format results file
+
"         +*.stg : STAGS graph files - for the Lotus graph plotting software program STAGS
+

+For the crs, grs and grd files n is the Plot File Counter number which is incremented for each calculation, and the * is the Test No. string supplied by the user, both are displayed in the vehicle data window.
+
+


++$#>Brief Explanations - Introduction
+

+
The three basic steps necessary to create and run a LOTUS VEHICLE SIMULATION vehicle simulation are;
+

+
         +Step 1 Generate the model data through either editing the data values into the appropriate data windows, or load them from an existing data file.
+
+         +Step 2 Select the required solution type, defining any user specific track or cycle file and solve.
+
+         +Step 3 Load the simulation results as either textual or graphical displays to review the calculated values.
+
+


++$#>Brief Explanations - Generating a Model
+

+Generating a model is the process by which the user identifies the modelling options required and sets the relevant data values. The data is for convenience broken down into eight major sub-sections, three of which are further sub-divided.
+
+Each sub-section has its own window that can be opened through either the main pull down menus or the tool bar icons
.
+
+Some of the data sections are optional, where this is the case the sub sections window will contain a combi-box to toggle the option on and off. Optional data values will be greyed out until their option is set on.
+

+Where the data values are of a graphical nature the graph icon can be used to open the graphical display of the data for viewing, listing, printing etc.
+
+Each required sub sections window should be opened in-turn and the required data values entered. Once entered, data values are retained even when that sub-sections window is closed, data is only overwritten if a data file is loaded or the new file option is selected. The new file option returns all modelling option settings to the defaults and zeros all data values.
+

+A number of the data variables are selected from a combi-box, this presents a fixed list of the available choices and helps to minimise data entry errors. The validity of the current defined data can be checked using the Data Checking Wizard which identifies by section, any data irregularities.
+
+Spread sheet type forms are used for the entry of the 2d curves and 3d maps. The spread sheets support cut and paste type functionality via the right mouse button, which can be used to speed up repetitive data entry. If the individual cells of a spread sheet are greyed out this implies that either the relevant option is off or that the necessary spread sheet dimension(s) variable has not been set. Where multiple curves or maps are employed arrow icons are used to step through the defined data sets.
+

+Existing data files can be loaded using either the file open icon, or by using the pull down menu options. Since the *.car data files are ASCII text files and can thus be edited direct, two tools are provided within Lotus Vehicle Simulation to allow the user to either view the file or view and edit the data file. A direct link exists between these tools and the Lotus Vehicle Simulation data windows to allow data to be transferred between them without having to write and load data files.
+

+{button ,AL(`list10',0,"",`main')} Related Topics
+
+


++$#>Brief Explanations - Solving a Model
+

+The solve module controls which particular calculation run is performed from the available options. The user can specify a steady speed test, an acceleration test, an emissions test and a track test, with sub-options available with each. Sub solution options included setting the required shift map, identifying the particular emissions cycle or selecting the target acceleration.
+
+To solve a model open
the Calculation Set-up window and set the required solution run, setting any relevant sub options and solution run values.
+
+Once the run has been defined selecting the run icon will perform the calculations, displaying either a simple progress bar or the animated results on the telemetry screen.
+
+
+{button ,AL(`list9',0,"",`main')} Related Topics
+
+
+


++$#>Brief Explanations - Viewing Results
+

+The Result File Viewer
is a scrollable resizable text window that allows the user to load, read and print the Lotus Vehicle Simulation text results files. These text results files contain a summary of the input data, the solution type and the major results pertinent to the solution run.
+
+{button ,AL(`list7',0,"",`main')} Related Text Results Topics
+
+The Result Graph Viewer is a resizable graphics window that allows the user to load, plot and print the Lotus Vehicle Simulation graphical results files that contain up to 77 calculated variables. Within the window a maximum of four graphs can be plotted, either as individual plots or overlayed on a single graph. All graphs are plotted against a single common x-axis variable. Cross plotting of up to five graphical results can be employed to enable rapid presentation of trends and differences to be performed.
+
+{button ,AL(`list8',0,"",`main')} Related Graph Results Topics
+
+Once the calculation is complete the results either textual or graphical can be loaded into the appropriate window.
+
+For text results open
the text results file viewer and load the required text results file, selecting load current will load the last runs text results.
+
+For graph results open the graph viewer and load the required graphical results file, selecting load current will load the last runs graphical results.
+

+If the variables displayed need to be changed, open the specify graph axes window and set the required axes. The Autoscale. Zoom and Axis Scales functions can be used to manipulated the actual displayed area.
+
+Additional functionality can be used to cross plot the results against a previous run, list point values and generate hard copies of the graphs.
+
+


+#>Naturally Aspirated / Turbocharged Simulation Input File
+

+NATURALLY ASPIRATED SIMULATION INPUT FILE
+

+ELAN 1.6 NA
+SIMULATION
+elana 301
+VEHICLE
+ 1175.
+ 1.920 0.3300 0.0000E+00 0.0000E+00 0.0000E+00
+ 1.205
+ 2.250 1.000 1.000 0.7425 0.4200
+TYRE
+ 0.2830
+ 2 1.000 0.9500
+ 10.00 -0.6418E-01 0.4274E-02 0.0000E+00 0.0000E+00 0.0000E+00
+DRIVE
+ 1
+ 0.3692 0.3713
+ 0.1000E-04 0.0000E+00
+ 4.117 0.9700 2
+GEARBOX
+ 5 200.0 0.0000E+00 2
+ 3.333 0.9600 0.3600E-03
+ 1.916 0.9600 0.1700E-03
+ 1.333 0.9600 0.1400E-03
+ 1.027 0.9500 0.1100E-03
+ 0.8290 0.9500 0.9000E-04
+GSHIFT
+ 0
+CLUTCH
+ 1 5.000
+PDRIVE
+ 1.000 1.000 2
+ENGINE
+ 1
+ 80.00 79.00 10.00 4 4 0.8200E-01
+ 1000. 7600.
+ 19
+ 1000. 7.980
+ 1400. 8.440
+ 1800. 8.900
+ 2200. 9.130
+ 2600. 9.440
+ 3000. 9.670
+ 3400. 9.900
+ 3800. 10.21
+ 4200. 10.55
+ 4600. 10.75
+ 5000. 10.59
+ 5400. 10.55
+ 5800. 10.44
+ 6200. 10.17
+ 6600. 10.00
+ 7000. 9.750
+ 7200. 9.670
+ 7400. 9.290
+ 7600. 8.910
+
+TURBOCHARGED SIMULATION INPUT FILE
+
+ELAN 1.6 TURBO
+SIMULATION
+elant 301
+VEHICLE
+ 1191.
+ 1.920 0.3300 0.0000E+00 0.0000E+00 0.0000E+00
+ 1.205
+ 2.250 0.0000E+00 0.0000E+00 0.7425 0.4200
+TYRE
+ 0.2830
+ 2 1.000 0.9500
+ 10.00 -0.6418E-01 0.4274E-02 0.0000E+00 0.0000E+00 0.0000E+00
+DRIVE
+ 1
+ 0.3692 0.3713
+ 0.1000E-04 0.0000E+00
+ 3.833 0.9700 2
+GEARBOX
+ 5 200.0 0.0000E+00 2
+ 3.333 0.9600 0.3600E-03
+ 1.916 0.9600 0.1700E-03
+ 1.333 0.9600 0.1400E-03
+ 1.027 0.9500 0.1100E-03
+ 0.8290 0.9500 0.9000E-04
+GSHIFT
+ 0
+CLUTCH
+ 1 5.000
+PDRIVE
+ 1.000 1.000 2
+ENGINE
+ 1
+ 80.00 79.00 10.00 4 4 0.8200E-01
+ 1000. 7000.
+ 13
+ 1000. 7.320
+ 1500. 10.52
+ 2000. 12.96
+ 2500. 14.42
+ 3000. 15.21
+ 3500. 15.61
+ 4000. 15.77
+ 4500. 15.77
+ 5000. 15.77
+ 5500. 15.57
+ 6000. 15.02
+ 6500. 14.30
+ 7000. 12.88
+
+


+#>Naturally Aspirated / Turbocharged Simulation Results Files
+

+

NATURALLY ASPIRATED SIMULATION RESULTS FILE
+
+===================================================================
+ VEHICLE PERFORMANCE SIMULATION PROGRAM - p2
+ Test No. elana Counter No. 1
+ run at 10:37:45 on 26/ 5/98
+====================================================================
+
+ ELAN 1.6 NA
+ SIMULATION
+ RESULTS
+ ~~~~~~~
+ Vehicle Acceleration From Rest (Slip start)
+

+ Total Cycle Time . . . 80.0 s
+
+ Dist Travelled (nom) . 3570.0 m
+ Dist Travelled (nom) . 3.570 km
+ Dist Travelled (nom) . 2.218 miles
+ Mean Power Developed . 84.70 kw
+
+ Default Gear Shift Map
+ No. of Gear Changes 4
+
+ Time to Speed
+ MPH Time (s) Ratio:1 RPM KMH Time (s) Ratio:1 RPM
+ 0 - 10 = 0.891 3.333 4595. 0 - 10 = 0.551 3.333 4596.
+ 0 - 20 = 1.802 3.333 4593. 0 - 20 = 1.111 3.333 4595.
+ 0 - 30 = 2.877 3.333 6377. 0 - 30 = 1.678 3.333 4593.
+ 0 - 40 = 4.434 1.916 4840. 0 - 40 = 2.303 3.333 5291.
+ 0 - 50 = 6.300 1.916 6045. 0 - 50 = 3.001 3.333 6601.
+ 0 - 60 = 8.363 1.916 7245. 0 - 60 = 3.947 1.916 4512.
+ 0 - 70 = 11.320 1.333 5860. 0 - 70 = 5.073 1.916 5262.
+ 0 - 80 = 14.773 1.333 6693. 0 - 80 = 6.244 1.916 6011.
+ 0 - 90 = 18.931 1.333 7522. 0 - 90 = 7.492 1.916 6757.
+ 0 - 100 = 25.981 1.027 6430. 0 - 100 = 8.850 1.916 7497.
+ 0 - 110 = 36.120 1.027 7070. 0 - 110 = 10.798 1.333 5722.
+ 0 - 120 = 12.833 1.333 6240.
+ 0 - 130 = 15.064 1.333 6758.
+ 0 - 140 = 17.553 1.333 7274.
+ 0 - 150 = 21.001 1.027 5994.
+ 0 - 160 = 25.513 1.027 6392.
+ 0 - 170 = 31.099 1.027 6791.
+ 0 - 180 = 38.645 1.027 7189.
+ 0 - 190 = 53.345 1.027 7583.
+
+ Time to Distance
+ Time (s) Ratio:1 RPM MPH KMH
+ 400 M = 16.5003 1.3330 7063.7 84.5 135.9
+ 1/4 Mile = 16.5621 1.3330 7076.4 84.6 136.2
+ Kilometre = 30.4462 1.0270 6749.1 105.0 169.0
+ Mile = 42.8175 1.0270 7347.3 114.3 184.0
+
+ Distance in Time
+ Distance in 3.0 seconds = 22.225 m
+ Distance in 5.0 seconds = 55.933 m
+
+ Gear Change Points
+ Distance (m) Time (s) Ratio:1 RPM MPH KMH
+ 30.1 3.5250 3.3330 7497.6 35.4 56.9
+ 152.2 9.0250 1.9160 7582.8 62.9 101.2
+ 514.9 19.4250 1.3330 7596.4 91.0 146.4
+ 2251.5 55.1244 1.0270 7599.9 118.4 190.5
+
+ =====================================================================
+
+
TURBOCHARGED SIMULATION RESULTS FILE
+
+
+=====================================================================
+ VEHICLE PERFORMANCE SIMULATION PROGRAM - p2
+ Test No. elant Counter No. 2
+ run at 10:38:59 on 26/ 5/98
+ ===================================================================
+
+ ELAN 1.6 TURBO
+ SIMULATION
+ RESULTS
+ ~~~~~~~
+ Vehicle Acceleration From Rest (Slip start)
+
+ Total Cycle Time . . . 80.0 s
+
+ Dist Travelled (nom) . 4071.0 m
+ Dist Travelled (nom) . 4.071 km
+ Dist Travelled (nom) . 2.530 miles
+ Mean Power Developed . 117.41 kw
+
+ Default Gear Shift Map
+ No. of Gear Changes 4
+
+ Time to Speed
+ MPH Time (s) Ratio:1 RPM KMH Time (s) Ratio:1 RPM
+ 0 - 10 = 0.866 3.333 1994. 0 - 10 = 0.536 3.333 1825.
+ 0 - 20 = 1.736 3.333 3997. 0 - 20 = 1.081 3.333 2484.
+ 0 - 30 = 2.605 3.333 5995. 0 - 30 = 1.618 3.333 3725.
+ 0 - 40 = 3.787 1.916 4539. 0 - 40 = 2.157 3.333 4967.
+ 0 - 50 = 5.089 1.916 5669. 0 - 50 = 2.698 3.333 6209.
+ 0 - 60 = 6.535 1.916 6780. 0 - 60 = 3.440 1.916 4231.
+ 0 - 70 = 8.604 1.333 5482. 0 - 70 = 4.236 1.916 4935.
+ 0 - 80 = 10.841 1.333 6258. 0 - 80 = 5.050 1.916 5637.
+ 0 - 90 = 13.664 1.027 5408. 0 - 90 = 5.916 1.916 6331.
+ 0 - 100 = 17.399 1.027 6006. 0 - 100 = 6.919 1.365 6891.
+ 0 - 110 = 22.119 1.027 6601. 0 - 110 = 8.260 1.333 5353.
+ 0 - 120 = 29.885 0.829 5805. 0 - 120 = 9.589 1.333 5837.
+ 0 - 130 = 44.911 0.829 6286. 0 - 130 = 11.030 1.333 6318.
+ 0 - 140 = 12.651 1.333 6796.
+ 0 - 150 = 14.788 1.027 5600.
+ 0 - 160 = 17.162 1.027 5972.
+ 0 - 170 = 19.890 1.027 6342.
+ 0 - 180 = 23.194 1.027 6710.
+ 0 - 190 = 27.986 0.829 5712.
+ 0 - 200 = 34.876 0.829 6011.
+ 0 - 210 = 46.111 0.829 6310.
+
+ Time to Distance
+ Time (s) Ratio:1 RPM MPH KMH
+ 400 M = 15.0697 1.0270 5646.9 94.0 151.3
+ 1/4 Mile = 15.1253 1.0270 5656.0 94.1 151.5
+ Kilometre = 27.5386 0.8290 5688.5 117.6 189.2
+ Mile = 38.6500 0.8290 6133.4 126.8 204.1
+
+ Distance in Time
+ Distance in 3.0 seconds = 23.566 m
+ Distance in 5.0 seconds = 61.012 m
+
+ Gear Change Points
+ Distance (m) Time (s) Ratio:1 RPM MPH KMH
+ 24.0 3.0250 3.3330 6924.4 34.7 55.9
+ 106.7 6.8250 1.9160 6972.7 61.8 99.4
+ 332.5 13.4250 1.3330 6993.7 89.6 144.2
+ 952.2 26.6249 1.0270 6998.2 116.7 187.9
+
+ ============================================================================
+
+


+#>Engine Inertia Data
+

+The following curve provides a relatively general correlation for the relationship between engine inertia and the engine swept volume. This is a first approximation and can not be expected to provide close agreement for all types.
+
+

+
+


+#>Automatic Economy Simulation Input File
+
1.5L AUTOMATIC
+ECONOMY STUDY
+autotrans 301
+VEHICLE
+ 1205.
+ 1.950 0.3800 0.0000E+00 0.0000E+00 0.0000E+00
+ 1.205
+ 2.450 1.000 1.000 0.8860 0.6000
+DYNO
+ 1250. 345.0 0.0000E+00 0.8000E-01
+TYRE
+ 0.2810
+ 1 1.000 0.9500
+DRIVE
+ 2
+ 0.6770 0.6770
+ 0.0000E+00 0.0000E+00
+ 3.742 0.9600 2
+GEARBOX
+ 4 0.0000E+00 0.0000E+00 2
+ 3.027 0.9800 0.4330E-01
+
1.619 0.9800 0.4470E-01
+ 1.000 0.9800 0.7520E-01
+ 0.6940 0.9800 0.7870E-01
+GSHIFT
+ 1
+ Econ-Map
+ 10 1 3
+ 0.0000E+00
+ 0.0000E+00 12.00
+ 9.000 26.00
+ 9.000 35.00
+ 40.00 170.0
+ 0.4000
+ 0.0000E+00 12.00
+ 9.000 26.00
+ 14.00 35.00
+ 40.00 170.0
+ 0.7000
+ 0.0000E+00 12.00
+ 9.000 26.00
+ 19.00 35.00
+ 40.00 170.0
+ 0.7800
+ 0.0000E+00 12.00
+ 9.000 26.00
+ 20.00 65.00
+ 40.00 170.0
+ 0.8000
+ 0.0000E+00 12.00
+ 9.000 54.00
+ 20.00 86.00
+ 40.00 170.0
+ 0.8600
+ 0.0000E+00 12.00
+ 9.000 71.00
+ 30.00 110.0
+ 40.00 170.0
+ 0.9000
+ 0.0000E+00 12.00
+ 9.000 86.00
+ 48.00 130.0
+ 87.00 170.0
+ 0.9400
+ 0.0000E+00 12.00
+ 9.000 100.0
+ 66.00 154.0
+ 104.0 170.0
+ 0.9800
+ 0.0000E+00 12.00
+ 44.00 103.0
+ 75.00 170.0
+ 142.0 170.0
+ 1.000
+ 0.0000E+00 58.00
+ 44.00 103.0
+ 75.00 170.0
+ 142.0 170.0
+ 2 0
+TORQUE CONVERTER
+ 11
+ 0.0000000E+00 0.1000000 0.2000000 0.3000000 0.4000000
+ 0.5000000 0.6000000 0.7000000 0.8000000 0.9000000
+ 1.000000
+ 2.280000 2.120000 1.960000 1.800000 1.640000
+ 1.480000 1.320000 1.160000 1.000000 1.000000
+ 1.000000
+ 23.30000 23.40000 23.60000 23.80000 24.10000
+ 24.80000 25.80000 27.10000 29.30000 37.40000
+ 1000.000
+ 1 1 1
+ 1.000 6000. 6000. 3200. 3200.
+ 2050. 2050. 1400. 1400.
+ 0
+PDRIVE
+ 1.000 1.000 1
+ENGINE
+ 1
+ 77.00 79.00 10.00 4 4 0.1261
+ 850.0 6500.
+ 16
+ 850.0 7.370
+ 1000. 7.620
+ 1400. 8.210
+ 1800. 8.800
+ 2200. 9.130
+ 2600. 9.880
+ 3000. 10.05
+ 3400. 9.800
+ 3800. 9.800
+ 4200. 10.14
+ 4600. 10.22
+ 5000. 9.800
+ 5400. 9.630
+ 5800. 9.130
+ 6200. 8.290
+ 6500. 7.120
+MAPS
+ 16
+ 850.0 1000. 1400. 1800. 2200.
+ 2600. 3000. 3400. 3800. 4200.
+ 4600. 5000. 5400. 5800. 6200.
+ 6500.
+ 12
+ 0.1000E-01 0.8380 1.676 2.514 3.352
+ 4.190 5.028 5.866 6.704 7.542
+ 8.380 9.218
+ 1
+ 1 2 0.7500 0.4200E+05 1.00 FUEL g/kW.h
+ 0.6973E+05 1008. 572.9 504.1 406.7
+ 368.3 351.8 368.3 376.6 408.3
+ 440.2 471.7
+ 0.5930E+05 816.3 462.1 381.0 340.1
+ 313.1 299.1 313.1 320.1 347.1
+ 374.2 401.0
+ 0.4781E+05 748.0 461.9 374.0 313.0
+ 299.0 292.0 286.0 286.0 298.9
+ 326.1 353.1
+ 0.3865E+05 680.0 449.0 367.0 313.0
+ 299.0 279.0 270.0 264.9 270.1
+ 299.0 311.9
+ 0.3651E+05 653.1 435.1 353.0 299.0
+ 292.0 278.9 270.0 264.9 270.0
+ 286.0 300.0
+ 0.3701E+05 748.0 476.0 367.0 306.0
+ 292.1 286.1 278.9 264.9 265.0
+ 279.1 299.0
+ 0.3798E+05 748.0 476.0 353.0 313.0
+ 299.0 285.9 278.9 271.9 265.0
+ 286.0 313.0
+ 0.3874E+05 680.1 449.0 367.2 318.9
+ 313.0 291.9 278.9 279.0 286.0
+ 313.0 313.0
+ 0.3871E+05 653.0 449.0 381.1 340.0
+ 326.0 326.1 340.1 326.0 326.0
+ 313.0 313.0
+ 0.3872E+05 748.0 517.2 407.9 393.9
+ 374.0 347.0 353.0 340.0 326.0
+ 319.0 313.0
+ 0.5478E+05 789.0 639.0 544.0 476.0
+ 435.0 394.0 367.0 360.0 353.0
+ 340.0 333.0
+ 0.6829E+05 952.2 789.0 585.1 489.1
+ 476.0 428.0 421.0 401.0 381.0
+ 367.0 381.0
+ 0.7976E+05 1292. 816.1 639.0 530.0
+ 516.9 476.0 462.0 449.0 408.0
+ 394.0 408.0
+ 0.9116E+05 1400. 856.2 666.0 612.0
+ 544.0 502.9 476.0 469.0 442.0
+ 428.0 442.0
+ 0.9120E+05 1496. 952.1 692.9 666.1
+ 598.1 544.0 530.0 476.0 476.0
+ 476.0 496.0
+ 0.9950E+05 1577. 982.8 710.9 672.6
+ 600.3 543.8 526.9 472.7 470.7
+ 469.0 486.7
+ 2
+ 0.1220 0.1220 0.1220 0.1220 0.1220
+ 0.1200 0.1220 0.1220 0.1220 0.1220
+ 0.1220 0.1220 0.1220 0.1220 0.1220
+ 0.1220
+AUXILIARIES
+ 1
+AIR-CON
+ 1 2 1.000 0.1000E-02
+ 1000. 15.13
+ 6000. 15.13
+DRIVER
+ 0.5000 1.000 0.5000 0.3000 0.3000 0
+
+


+#>Economy Simulation Results
+

+ ====================================================================
+ VEHICLE PERFORMANCE SIMULATION PROGRAM - p1
+ Test No. at3 Counter No. 5
+ run at 7:53: 6 on 27/ 5/98
+ =====================================================================
+
+ 1.5L AUTOMATIC
+ ECONOMY STUDY
+ INPUT DATA
+ ~~~~~~~~~~
+
VEHICLE
+ ~~~~~~~
+ Weight . . . . . . . . 1205.0 kg
+ Frontal Area . . . . . 1.950 m2 Plan Area. . . . . . . 0.000 m2
+ Air Density. . . . . . 1.205 kg/m3 Drag Coefficient . . . 0.380
+ Front Lift Coeff . . . 0.000 Rear Lift Coeff. . . . 0.000
+ Wheel Base . . . . . . 2.45 m Track. . . . . . . . . 1.00 m
+ CoG to front axle. . . 0.89 m CoG to ground. . . . . 0.60 m
+ DYNAMOMETER
+ ~~~~~~~~~~~
+ Dyno Inertia Weight. . 1250.0 kg Load A constant. . . . 345.000
+ Load B*v constant. . . 0.000 Load C*v2 constant . . 0.080
+ TYRE
+ ~~~~
+ Rolling Radius . . . . 0.2810 m Coeff.of Friction. . . 1.000
+ Default Rolling Resistance Coefficients
+ DRIVELINE
+ ~~~~~~~~~
+ Rear wheel drive
+ Total Inertia Fr Wheels 1.354 kg.m2 Total Inertia Rr Wheels 1.354 kg.m2
+ Driven Axle Inertia . . 0.000 kg.m2 Prop Shaft Inertia. . . 0.000 kg.m2
+ Final Drive Ratio . . . 3.742 Final Drive Efficiency. 0.960
+ GEARBOX
+ ~~~~~~~
+ Automatic
+ Number of ratios. . . . 4
+ Gear change Time. . . . 0.3 s Min Time Between Shifts 0.3 s
+ Default Max Gearbox Torque. Default Max Gearbox Speed
+ Gear. . 1 Ratio . 3.0270 Effy. . 0.980 Box Inertia. 0.0433 kg.m2
+ Overall Ratio . 11.3270 O.Effy. 0.941 MPH/1000 RPM 5.81
+ Gear. . 2 Ratio . 1.6190 Effy. . 0.980 Box Inertia. 0.0447 kg.m2
+ Overall Ratio . 6.0583 O.Effy. 0.941 MPH/1000 RPM 10.87
+ Gear. . 3 Ratio . 1.0000 Effy. . 0.980 Box Inertia. 0.0752 kg.m2
+ Overall Ratio . 3.7420 O.Effy. 0.941 MPH/1000 RPM 17.59
+ Gear. . 4 Ratio . 0.6940 Effy. . 0.980 Box Inertia. 0.0787 kg.m2
+ Overall Ratio . 2.5969 O.Effy. 0.941 MPH/1000 RPM 25.35
+ T.Converter Stall Speed 2331.4 rpm
+ ENGINE
+ ~~~~~~~
+ Internal combustion engine
+ Number of Cylinders . 4 Cycle Type . . . . . . 4
+ Bore . . . . . . . . . 77.00 mm Stroke . . . . . . . . 79.00 mm
+ Swept Volume . . . . . 1.4715 l Rotating Inertia . . . 0.1261 kg.m2
+ Idle Speed . . . . . . 850.0 rpm Max Engine Speed . . . 6500.0 rpm
+ Max Power. . . . . . . 64.9 kw Max Power Speed .. . . 5800.0 rpm
+ Max Torque . . . . . . 119.7 nm Max Torque Speed . . . 4600.0 rpm
+ Primary Drive Ratio. . 1.000 Primary Drive Effy . . 1.000
+ Power/Weight Ratio . . 53.9 kw/tonne
+
+ =====================================================================
+
+ =====================================================================
+ VEHICLE PERFORMANCE SIMULATION PROGRAM - p2
+ Test No. at3 Counter No. 5
+ run at 7:53: 6 on 27/ 5/98
+ =====================================================================
+
+ 1.5L AUTOMATIC
+ ECONOMY STUDY
+ RESULTS - Air Con off
+ ~~~~~~~
+ Road Speed .. . . 40.0 kmh
+
+ Total Cycle Time . . . 300.0 s
+
+ Dist Travelled (nom) . 3222.2 m
+ Dist Travelled (nom) . 3.222 km
+ Dist Travelled (nom) . 2.002 miles
+ Mean Power Developed . 6.29 kw
+
+ User Specified Shift Map Econ-Map
+ No. of Gear Changes 0
+
+ Fuel Consumption from Map . . 1
+ Litres per 100 km. . . 6.786 Km per Litre . . . . . 14.737 km/l
+ Miles per Imp.Gallon . 41.63 mpg Miles per US Gallon. . 34.66 mpgUS
+ Grams per Test . . . . 163.984 g
+ Grams per KM . . . . . 50.892 g/km Grams per Mile . . . . 81.902 g/mil
+ Mean Consumption . . . 1967.81 g/h Mean Spec.Consumption. 312.61 g/kw.h
+ Overall Cycle Efficiency 27.419 %
+
+ =====================================================================
+
+
+=====================================================================
+ VEHICLE PERFORMANCE SIMULATION PROGRAM - p2
+ Test No. at3 Counter No. 6
+ run at 7:53:28 on 27/ 5/98
+ =====================================================================
+
+ 1.5L AUTOMATIC
+ ECONOMY STUDY
+ RESULTS - Air Con off
+ ~~~~~~~
+ Road Speed .. . . 60.0 kmh
+
+ Total Cycle Time . . . 300.0 s
+
+ Dist Travelled (nom) . 4833.3 m
+ Dist Travelled (nom) . 4.833 km
+ Dist Travelled (nom) . 3.003 miles
+ Mean Power Developed . 7.95 kw
+
+ User Specified Shift Map Econ-Map
+ No. of Gear Changes 0
+
+ Fuel Consumption from Map . . 1
+ Litres per 100 km. . . 5.379 Km per Litre . . . . . 18.591 km/l
+ Miles per Imp.Gallon . 52.52 mpg Miles per US Gallon. . 43.73 mpgUS
+ Grams per Test . . . . 194.982 g
+ Grams per KM . . . . . 40.341 g/km Grams per Mile . . . . 64.923 g/mil
+ Mean Consumption . . . 2339.79 g/h Mean Spec.Consumption. 294.33 g/kw.h
+ Overall Cycle Efficiency 29.122 %
+
+ =====================================================================
+
+
+ =====================================================================
+ VEHICLE PERFORMANCE SIMULATION PROGRAM - p2
+ Test No. at3 Counter No. 7
+ run at 7:53:42 on 27/ 5/98
+ =====================================================================
+
+ 1.5L AUTOMATIC
+ ECONOMY STUDY
+ RESULTS - Air Con off
+ ~~~~~~~
+ Road Speed .. . . 80.0 kmh
+
+ Total Cycle Time . . . 300.0 s
+
+ Dist Travelled (nom) . 6444.4 m
+ Dist Travelled (nom) . 6.444 km
+ Dist Travelled (nom) . 4.004 miles
+ Mean Power Developed . 11.25 kw
+
+ User Specified Shift Map Econ-Map
+ No. of Gear Changes 0
+
+ Fuel Consumption from Map . . 1
+ Litres per 100 km. . . 5.480 Km per Litre . . . . . 18.247 km/l
+ Miles per Imp.Gallon . 51.55 mpg Miles per US Gallon. . 42.92 mpgUS
+ Grams per Test . . . . 264.878 g
+ Grams per KM . . . . . 41.102 g/km Grams per Mile . . . . 66.147 g/mil
+ Mean Consumption . . . 3178.53 g/h Mean Spec.Consumption. 282.56 g/kw.h
+ Overall Cycle Efficiency 30.335 %
+
+ =====================================================================
+
+
+ =====================================================================
+ VEHICLE PERFORMANCE SIMULATION PROGRAM - p2
+ Test No. at3 Counter No. 8
+ run at 7:53:47 on 27/ 5/98
+ =====================================================================
+
+ 1.5L AUTOMATIC
+ ECONOMY STUDY
+ RESULTS - Air Con off
+ ~~~~~~~
+ Road Speed .. . . 100.0 kmh
+
+ Total Cycle Time . . . 300.0 s
+
+ Dist Travelled (nom) . 8055.6 m
+ Dist Travelled (nom) . 8.056 km
+ Dist Travelled (nom) . 5.005 miles
+ Mean Power Developed . 15.04 kw
+
+ User Specified Shift Map Econ-Map
+ No. of Gear Changes 0
+
+ Fuel Consumption from Map . . 1
+ Litres per 100 km. . . 5.862 Km per Litre . . . . . 17.060 km/l
+ Miles per Imp.Gallon . 48.19 mpg Miles per US Gallon. . 40.13 mpgUS
+ Grams per Test . . . . 354.145 g
+ Grams per KM . . . . . 43.963 g/km Grams per Mile . . . . 70.751 g/mil
+ Mean Consumption . . . 4249.74 g/h Mean Spec.Consumption. 282.54 g/kw.h
+ Overall Cycle Efficiency 30.337 %
+
+ =====================================================================
+
+ =========================================================================
+ VEHICLE PERFORMANCE SIMULATION PROGRAM - p2
+ Test No. at3 Counter No. 23
+ run at 9:29:59 on 27/ 5/98
+ =====================================================================
+
+ 1.5L AUTOMATIC
+ ECONOMY STUDY
+ RESULTS - Air Con off
+ ~~~~~~~
+ User Defined Test Cycle Simulation - Japanese 10 mode
+
+ Total Cycle Time . . . 545.5 s
+
+ Dist Travelled (nom) . 2655.1 m Dist Travelled (act) . 2655.1 m
+ Dist Travelled (nom) . 2.655 km Dist Travelled (act) . 2.655 km
+ Dist Travelled (nom) . 1.650 miles Dist Travelled (act) . 1.650 miles
+ Mean Power Developed . 4.31 kw
+
+ User Specified Shift Map Econ-Map
+ No. of Gear Changes 40
+
+ Fuel Consumption from Map . . 1
+ Litres per 100 km. . . 12.246 Km per Litre . . . . . 8.166 km/l
+ Miles per Imp.Gallon . 23.07 mpg Miles per US Gallon. . 19.21 mpgUS
+ Grams per Test . . . . 243.846 g
+ Grams per KM . . . . . 91.842 g/km Grams per Mile . . . . 147.806 g/mil
+ Mean Consumption . . . 1609.25 g/h Mean Spec.Consumption. 373.32 g/kw.h
+ Overall Cycle Efficiency 22.960 %
+
+ =====================================================================
+
+ =====================================================================
+ VEHICLE PERFORMANCE SIMULATION PROGRAM - p2
+ Test No. at3 Counter No. 1
+
run at 7:50: 4 on 27/ 5/98
+ =====================================================================
+
+ 1.5L AUTOMATIC
+ ECONOMY STUDY
+ RESULTS - Air Con on
+ ~~~~~~~
+ Road Speed .. . . 40.0 kmh
+
+ Total Cycle Time . . . 300.0 s
+
+ Dist Travelled (nom) . 3222.2 m
+ Dist Travelled (nom) . 3.222 km
+ Dist Travelled (nom) . 2.002 miles
+ Mean Power Developed . 8.71 kw
+
+ User Specified Shift Map Econ-Map
+ No. of Gear Changes 0
+
+ Fuel Consumption from Map . . 1
+ Litres per 100 km. . . 8.731 Km per Litre . . . . . 11.454 km/l
+ Miles per Imp.Gallon . 32.35 mpg Miles per US Gallon. . 26.94 mpgUS
+ Grams per Test . . . . 210.998 g
+ Grams per KM . . . . . 65.482 g/km Grams per Mile . . . . 105.383 g/mil
+ Mean Consumption . . . 2531.97 g/h Mean Spec.Consumption. 290.78 g/kw.h
+ Overall Cycle Efficiency 29.478 %
+
+ =====================================================================
+
+ =====================================================================
+ VEHICLE PERFORMANCE SIMULATION PROGRAM - p2
+ Test No. at3 Counter No. 2
+ run at 7:51:29 on 27/ 5/98
+ =====================================================================
+
+ 1.5L AUTOMATIC
+ ECONOMY STUDY
+ RESULTS - Air Con on
+ ~~~~~~~
+ Road Speed .. . . 60.0 kmh
+
+ Total Cycle Time . . . 300.0 s
+
+ Dist Travelled (nom) . 4833.3 m
+ Dist Travelled (nom) . 4.833 km
+ Dist Travelled (nom) . 3.003 miles
+ Mean Power Developed . 10.21 kw
+
+ User Specified Shift Map Econ-Map
+ No. of Gear Changes 0
+
+ Fuel Consumption from Map . . 1
+ Litres per 100 km. . . 6.631 Km per Litre . . . . . 15.081 km/l
+ Miles per Imp.Gallon . 42.60 mpg Miles per US Gallon. . 35.47 mpgUS
+ Grams per Test . . . . 240.370 g
+ Grams per KM . . . . . 49.732 g/km Grams per Mile . . . . 80.035 g/mil
+ Mean Consumption . . . 2884.43 g/h Mean Spec.Consumption. 282.49 g/kw.h
+ Overall Cycle Efficiency 30.342 %
+
+ =====================================================================
+
+ =====================================================================
+ VEHICLE PERFORMANCE SIMULATION PROGRAM - p2
+ Test No. at3 Counter No. 3
+ run at 7:52: 1 on 27/ 5/98
+ =====================================================================
+
+ 1.5L AUTOMATIC
+ ECONOMY STUDY
+ RESULTS - Air Con on
+ ~~~~~~~
+ Road Speed .. . . 80.0 kmh
+
+ Total Cycle Time . . . 300.0 s
+
+ Dist Travelled (nom) . 6444.4 m
+ Dist Travelled (nom) . 6.444 km
+ Dist Travelled (nom) . 4.004 miles
+ Mean Power Developed . 14.26 kw
+
+ User Specified Shift Map Econ-Map
+ No. of Gear Changes 0
+
+ Fuel Consumption from Map . . 1
+ Litres per 100 km. . . 6.600 Km per Litre . . . . . 15.152 km/l
+ Miles per Imp.Gallon . 42.80 mpg Miles per US Gallon. . 35.64 mpgUS
+ Grams per Test . . . . 318.992 g
+ Grams per KM . . . . . 49.499 g/km Grams per Mile . . . . 79.661 g/mil
+ Mean Consumption . . . 3827.91 g/h Mean Spec.Consumption. 268.36 g/kw.h
+ Overall Cycle Efficiency 31.941 %
+
+ =====================================================================
+
+
+ =====================================================================
+ VEHICLE PERFORMANCE SIMULATION PROGRAM - p2
+ Test No. at3 Counter No. 4
+ run at 7:52:21 on 27/ 5/98
+ =====================================================================
+
+ 1.5L AUTOMATIC
+ ECONOMY STUDY
+ RESULTS - Air Con on
+ ~~~~~~~
+ Road Speed .. . . 100.0 kmh
+
+ Total Cycle Time . . . 300.0 s
+
+ Dist Travelled (nom) . 8055.6 m
+ Dist Travelled (nom) . 8.056 km
+ Dist Travelled (nom) . 5.005 miles
+ Mean Power Developed . 18.81 kw
+
+ User Specified Shift Map Econ-Map
+ No. of Gear Changes 0
+
+ Fuel Consumption from Map . . 1
+ Litres per 100 km. . . 6.955 Km per Litre . . . . . 14.379 km/l
+ Miles per Imp.Gallon . 40.62 mpg Miles per US Gallon. . 33.82 mpgUS
+ Grams per Test . . . . 420.175 g
+ Grams per KM . . . . . 52.160 g/km Grams per Mile . . . . 83.943 g/mil
+ Mean Consumption . . . 5042.10 g/h Mean Spec.Consumption. 268.04 g/kw.h
+ Overall Cycle Efficiency 31.979 %
+
+ =====================================================================
+
+
+ =====================================================================
+ VEHICLE PERFORMANCE SIMULATION PROGRAM - p2
+ Test No. at3 Counter No. 24
+ run at 9:30:41 on 27/ 5/98
+ =====================================================================
+
+ 1.5L AUTOMATIC
+ ECONOMY STUDY
+ RESULTS - Air Con on
+ ~~~~~~~
+
User Defined Test Cycle Simulation - Japanese 10 Mode
+
+ Total Cycle Time . . . 545.5 s
+
+ Dist Travelled (nom) . 2655.2 m Dist Travelled (act) . 2655.2 m
+ Dist Travelled (nom) . 2.655 km Dist Travelled (act) . 2.655 km
+ Dist Travelled (nom) . 1.650 miles Dist Travelled (act) . 1.650 miles
+ Mean Power Developed . 6.21 kw
+
+ User Specified Shift Map Econ-Map
+ No. of Gear Changes 24
+
+ Fuel Consumption from Map . . 1
+ Litres per 100 km. . . 15.977 Km per Litre . . . . . 6.259 km/l
+ Miles per Imp.Gallon . 17.68 mpg Miles per US Gallon. . 14.72 mpgUS
+ Grams per Test . . . . 318.164 g
+ Grams per KM . . . . . 119.825 g/km Grams per Mile . . . . 192.840 g/mil
+ Mean Consumption . . . 2099.71 g/h Mean Spec.Consumption. 338.23 g/kw.h
+ Overall Cycle Efficiency 25.342 %
+
+ =====================================================================
+

+


+#>Emissions Simulation Input File
+
EMISSIONS SIMULATION
+LOTUS LEV RESEARCH
+lowemissionsvehicle 301
+VEHICLE
+ 1183.
+ 2.080 0.3300 0.0000E+00 0.0000E+00 0.0000E+00
+ 1.205
+ 2.520 1.000 1.000 0.9580 0.5800
+TYRE
+ 0.2896
+ 1 0.9800 0.9500
+DRIVE
+ 1
+ 0.7385 0.7385
+ 0.1000E-03 0.1000E-03
+ 3.550 0.9800 2
+GEARBOX
+ 5 -1.000 0.0000E+00 2
+ 3.550 0.9700 0.1000E-02
+ 2.160 0.9700 0.1000E-02
+
1.480 0.9700 0.1000E-02
+ 1.120 0.9700 0.1000E-02
+ 0.8900 0.9700 0.1000E-02
+GSHIFT
+ 3
+EURO_shift
+ 1 10 3
+ 1.000
+ 0.0000E+00 15.00
+ 5.000 35.00
+ 5.000 50.10
+ 50.00 70.00
+ 69.00 150.0
+ 2 0
+FTP_shift
+ 1 10 4
+ 1.000
+ 0.0000E+00 15.00
+ 10.00 25.00
+ 20.00 40.00
+ 35.00 45.00
+ 40.00 150.0
+ 2 0
+ACC_shift
+ 1 10 1
+ 1.000
+ 1000. 6500.
+ 1000. 6500.
+ 1000. 6500.
+ 1000. 6500.
+ 1000. 6500.
+ 2 0
+CLUTCH
+ 1 5.000
+PDRIVE
+ 1.000 1.000 2
+ENGINE
+ 1
+ 79.00 81.50 10.00 4 4 0.0000E+00
+ 1000. 6200.
+ 14
+ 1000. 8.900
+ 1400. 9.700
+ 1800. 10.20
+ 2200. 10.80
+ 2600. 10.70
+ 3000. 11.10
+ 3400. 11.10
+ 3800. 11.80
+ 4200. 11.60
+ 4600. 11.80
+ 5000. 11.50
+ 5400. 10.60
+ 5800. 10.20
+ 6200. 9.700
+MAPS
+ 14
+ 1000. 1400. 1800. 2200. 2600.
+ 3000. 3400. 3800. 4200. 4600.
+ 5000. 5400. 5800. 6200.
+ 12
+ 1.000 2.000 3.000 4.000 5.000
+ 6.000 7.000 8.000 9.000 10.00
+ 11.00 12.00
+ 10
+ 1 2 0.7500 0.4200E+05 1.00 FUEL g/kW.h
+ 594.0 389.8 338.0 301.0 285.0
+ 273.0 280.0 257.0 275.0 274.9
+ 275.0 275.1
+ 574.9 397.1 338.0 293.0 271.0
+ 264.0 252.0 252.0 245.0 257.0
+ 257.0 257.0
+ 588.9 381.9 326.0 294.0 272.0
+ 259.1 248.0 250.1 244.0 269.0
+ 269.0 269.0
+ 591.1 385.9 325.0 291.0 272.1
+ 259.9 248.1 244.1 241.9 237.0
+ 251.0 248.0
+ 584.0 392.1 328.0 288.0 269.9
+ 252.0 244.1 236.9 235.0 235.0
+ 246.0 246.0
+ 612.0 402.1 331.0 291.1 277.0
+ 263.0 251.0 246.0 238.0 236.0
+ 273.0 272.0
+ 635.1 416.3 349.9 304.9 288.0
+ 269.0 259.0 249.0 245.0 240.0
+ 235.0 293.0
+ 635.0 409.1 333.9 300.9 277.0
+ 263.0 253.0 248.0 243.0 241.0
+ 240.0 307.0
+ 661.1 427.1 345.0 302.0 285.9
+ 264.0 258.0 249.0 245.0 240.0
+ 240.0 267.0
+ 655.9 438.1 351.1 310.0 283.0
+ 270.0 263.0 254.0 252.0 246.0
+ 246.0 266.0
+ 656.9 437.2 348.9 317.9 285.1
+ 272.1 262.0 258.0 258.0 258.0
+ 285.0 283.0
+ 681.9 430.8 353.0 316.0 291.0
+ 274.0 266.0 266.0 266.0 294.0
+ 304.0 304.0
+ 681.9 423.0 355.0 323.0 293.0
+ 279.0 269.0 269.0 269.0 311.0
+ 315.0 315.0
+ 752.2 465.9 376.9 336.0 301.0
+ 292.0 275.0 269.0 311.0 299.0
+ 315.0 320.0
+ 2
+ 0.1030 0.1554 0.1841 0.2258 0.2636
+ 0.3186 0.3747 0.4188 0.4818 0.5277
+ 0.5703 0.6392 0.6865 0.8099
+ 3 2 1.000 HC g/kW.h
+ 11.33 6.290 5.400 4.511 3.960
+ 3.550 3.150 3.609 4.139 4.139
+ 4.139 4.141
+ 9.310 6.160 5.321 4.118 3.730
+ 3.270 3.109 2.870 2.699 3.329
+ 3.330 3.329
+ 8.888 5.591 4.640 4.149 3.893
+ 3.530 3.349 3.030 2.940 3.931
+ 3.931 3.931
+ 9.119 5.821 4.670 4.279 3.871
+ 3.510 3.390 2.960 2.699 2.499
+ 3.211 3.080
+ 8.309 5.760 4.620 3.910 3.600
+ 3.281 3.009 2.830 2.580 2.650
+ 3.200 3.200
+ 7.711 5.438 4.470 3.972 3.540
+ 3.370 3.100 2.991 2.800 2.750
+ 4.219 4.252
+ 7.639 4.449 3.599 3.320 3.300
+ 2.919 2.660 2.390 2.450 2.280
+ 2.320 4.298
+ 5.749 3.988 3.351 3.120 2.940
+ 2.930 2.610 2.420 2.310 2.320
+ 2.220 4.522
+ 4.961 3.717 3.480 3.360 2.970
+ 2.430 2.560 2.400 2.250 2.130
+ 3.150 2.820
+ 3.330 2.790 3.031 3.121 3.180
+ 3.220 2.980 2.770 2.370 2.030
+ 3.490 2.860
+ 6.002 4.372 3.668 3.300 3.110
+ 2.840 2.600 2.440 2.600 4.071
+ 3.791 3.640
+ 6.789 4.471 3.751 4.021 4.079
+ 3.050 2.940 2.980 3.170 4.629
+ 4.770 4.769
+ 9.928 5.400 3.650 3.160 3.040
+ 3.140 2.810 3.150 2.750 4.871
+ 4.848 4.848
+ 8.062 4.432 4.118 4.118 3.801
+ 3.820 3.859 3.410 5.591 5.280
+ 5.280 5.280
+ 2
+ 0.4255E-02 0.4894E-02 0.6008E-02 0.7510E-02 0.8073E-02
+ 0.8699E-02 0.9700E-02 0.8198E-02 0.7823E-02 0.7823E-02
+ 0.7823E-02 0.8486E-02 0.1333E-01 0.1157E-01
+ 4 2 1.000 NOX g/kW.h
+ 2.250 4.900 6.271 8.131 10.91
+ 12.26 15.05 14.33 6.149 6.148
+ 6.149 6.148
+ 3.121 7.319 10.52 13.01 15.06
+ 16.05 16.35 15.61 15.60 7.189
+ 7.189 7.190
+ 7.139 12.42 15.75 17.28 17.16
+ 17.27 16.59 16.21 16.07 5.512
+ 5.512 5.512
+ 9.119 13.91 15.86 16.83 17.19
+ 17.24 16.94 15.99 16.17 15.91
+ 7.492 8.481
+ 9.208 8.817 15.54 15.77 16.87
+ 16.95 16.67 16.66 17.15 17.35
+ 7.262 7.261
+ 14.71 16.73 18.48 18.18 17.37
+ 17.30 17.80 17.76 16.75 16.44
+ 3.080 3.030
+ 14.59 14.12 15.50 14.84 16.54
+ 16.63 15.77 14.84 15.32 14.72
+ 14.93 2.310
+ 17.62 16.94 17.56 18.75 19.10
+ 19.51 18.69 18.20 18.04 18.18
+ 17.45 1.620
+ 16.48 17.54 19.18 19.79 20.59
+ 20.30 19.83 19.24 19.10 18.43
+ 4.349 6.040
+ 21.18 23.55 24.72 24.90 23.99
+ 24.18 24.29 22.51 20.31 18.22
+ 4.731 7.988
+ 22.34 24.49 24.33 25.36 24.07
+ 23.78 23.16 21.34 20.10 4.169
+ 4.770 4.988
+ 20.26 22.43 23.70 24.56 23.95
+ 22.24 21.43 19.77 17.89 5.517
+ 4.478 4.477
+ 28.73 27.52 27.55 28.14 26.64
+ 22.86 21.89 19.63 17.14 4.540
+ 3.290 3.290
+ 37.29 31.22 28.62 26.21 24.57
+ 24.85 24.43 23.12 5.591 6.942
+ 6.941 6.940
+ 2
+ 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
+ 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
+ 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
+ 5 2 1.000 CO g/kW.h
+ 50.01 33.29 32.50 28.10 31.80
+ 29.20 23.30 29.00 114.6 114.6
+ 114.6 114.6
+ 47.41 37.19 33.90 25.80 19.10
+ 18.80 19.70 19.00 19.20 100.4
+ 100.4 100.4
+ 67.00 42.30 38.41 32.80 30.49
+ 28.41 26.39 27.00 28.20 149.9
+ 149.9 149.9
+ 56.42 34.80 31.20 27.20 23.40
+ 26.20 23.70 28.00 26.00 23.80
+ 107.9 92.81
+ 52.49 35.10 29.40 25.80 25.00
+ 24.11 24.09 22.30 20.10 21.10
+ 112.1 112.1
+ 72.69 43.09 39.71 31.99 34.50
+ 33.00 31.21 31.10 28.00 25.80
+ 220.6 219.7
+ 114.4 67.39 56.00 54.11 53.50
+ 45.51 44.21 63.28 40.72 40.72
+ 37.51 279.9
+ 64.69 39.09 35.50 32.50 28.60
+ 26.80 25.80 26.31 25.10 25.60
+ 26.90 322.2
+ 58.29 42.29 35.70 32.51 28.59
+ 22.70 26.20 28.70 25.00 25.50
+ 209.7 159.5
+ 49.10 35.91 30.60 27.61 27.69
+ 31.50 30.80 31.00 32.70 33.40
+ 227.7 146.4
+ 69.97 46.12 33.31 29.31 27.00
+ 25.30 24.80 24.40 20.30 248.8
+ 214.5 201.2
+ 69.19 43.61 31.41 30.10 26.39
+ 24.50 21.80 27.00 28.30 220.9
+ 237.9 237.9
+ 96.02 53.79 37.51 26.50 24.10
+ 37.80 26.90 32.00 25.00 248.9
+ 283.7 283.7
+ 70.99 41.51 34.69 33.10 30.60
+ 28.10 25.80 26.50 255.6 209.4
+ 209.4 209.4
+ 2
+ 0.9387E-02 0.0000E+00 0.0000E+00 0.9387E-02 0.9387E-02
+ 0.9387E-02 0.9387E-02 0.9387E-02 0.9387E-02 0.9387E-02
+ 0.9387E-02 0.9387E-02 0.9387E-02 0.9387E-02
+ 6 2 1.000 CO2 g/kW.h
+ 2010. 1330. 1140. 1020. 960.3
+ 920.1 940.0 860.0 789.7 790.0
+ 789.9 789.9
+ 1950. 1340. 1140. 990.1 920.3
+ 899.9 860.1 860.0 830.1 749.8
+ 750.0 749.9
+ 1971. 1280. 1090. 980.0 910.2
+ 870.1 830.1 849.9 830.2 720.0
+ 720.0 720.0
+ 1990. 1300. 1100. 980.0 920.2
+ 879.9 850.0 820.1 820.1 799.9
+ 730.0 740.2
+ 1980. 1330. 1110. 980.0 920.2
+ 850.0 830.2 799.9 800.0 799.9
+ 699.9 699.9
+ 2050. 1350. 1110. 969.9 920.1
+ 879.8 839.9 830.2 799.9 800.0
+ 630.0 630.0
+ 2070. 1360. 1140. 989.9 929.8
+ 879.8 839.9 799.9 799.9 780.1
+ 769.8 609.9
+ 2150. 1380. 1130. 1010. 929.9
+ 889.9 850.0 839.9 819.7 810.3
+ 809.7 600.0
+ 2250. 1440. 1160. 1020. 969.9
+ 900.0 870.1 840.0 830.4 130.0
+ 670.0 709.7
+ 2260. 1510. 1200. 1060. 960.1
+ 910.1 879.9 850.0 839.8 819.9
+ 690.3 719.9
+ 2210. 1470. 1170. 1080. 969.8
+ 920.1 889.8 900.3 889.7 689.9
+ 679.8 699.7
+ 2300. 1440. 1200. 1060. 980.0
+ 920.3 909.7 869.9 860.0 699.9
+ 710.0 710.1
+ 2260. 1410. 1190. 1100. 1000.
+ 940.0 929.6 869.9 870.1 720.1
+ 680.1 680.1
+ 2540. 1580. 1270. 1130. 1010.
+ 979.6 920.1 899.9 699.6 729.9
+ 730.2 730.0
+ 2
+ 0.3066 0.0000E+00 0.0000E+00 0.1877 0.6258
+ 1.252 1.502 1.752 2.003 2.190
+ 2.378 2.628 2.816 3.442
+ 7 2 1.000 O2 g/kW.h
+ 37.90 26.60 23.80 21.30 18.30
+ 16.70 25.80 13.00 2.900 2.901
+ 2.900 2.899
+ 41.19 28.80 22.20 15.50 12.70
+ 11.80 12.40 11.00 9.400 3.401
+ 3.400 3.400
+ 34.80 22.00 19.50 22.40 16.50
+ 14.70 12.50 12.40 12.00 2.600
+ 2.600 2.600
+ 34.30 21.00 19.00 14.10 12.90
+ 12.40 11.90 10.10 9.601 9.399
+ 2.900 3.500
+ 25.30 17.20 14.60 13.00 11.90
+ 11.40 11.80 10.00 11.30 9.000
+ 8.291 3.500
+ 32.20 21.70 17.90 16.60 13.00
+ 12.40 14.30 14.40 12.60 11.90
+ 2.800 3.100
+ 43.49 34.70 28.70 22.50 20.01
+ 21.20 18.80 16.30 15.60 14.20
+ 13.50 3.300
+ 31.50 18.00 16.80 15.50 14.50
+ 14.10 12.00 12.40 11.50 11.70
+ 11.20 1.900
+ 25.90 21.10 19.70 14.20 13.90
+ 14.60 12.70 13.10 13.50 12.00
+ 3.100 2.500
+ 24.90 19.20 17.00 16.21 15.40
+ 13.70 12.80 12.10 11.30 10.40
+ 2.800 3.999
+ 35.70 22.50 20.49 20.60 15.70
+ 14.10 13.10 11.80 12.90 2.500
+ 3.000 2.700
+ 52.82 30.69 22.60 23.69 22.50
+ 22.70 19.10 20.00 14.10 3.300
+ 3.100 3.100
+ 36.51 29.60 34.20 35.40 31.10
+ 27.00 26.10 19.00 17.50 3.899
+ 4.000 4.001
+ 46.53 32.20 26.40 23.30 20.49
+ 19.80 19.00 18.40 6.802 5.198
+ 5.197 5.200
+ 2
+ 0.6590E-02 0.7159E-02 0.6050E-02 0.5963E-02 0.4398E-02
+ 0.5597E-02 0.7560E-02 0.5476E-02 0.4502E-02 0.4329E-02
+ 0.6206E-02 0.9181E-02 0.6346E-02 0.8085E-02
+ 10 0 1.000 SPARK
+ 22.00 20.00 15.00 11.00 9.000
+ 6.000 4.500 3.400 1.000 1.000
+ 1.000 1.000
+ 22.00 20.00 17.00 15.00 14.00
+ 13.00 12.00 7.000 6.000 6.000
+ 6.000 6.000
+ 22.00 20.00 20.00 19.00 18.00
+ 17.50 14.00 10.00 9.000 9.000
+ 9.000 9.000
+ 21.00 20.00 18.00 17.00 16.00
+ 15.00 14.00 12.00 10.00 9.000
+ 9.000 9.000
+ 22.00 20.00 18.00 17.00 16.00
+ 16.00 15.00 14.00 13.00 12.00
+ 12.00 12.00
+ 25.00 23.00 21.00 20.00 17.00
+ 16.00 16.00 15.00 14.50 13.00
+ 12.50 12.00
+ 25.00 21.00 19.00 18.00 18.00
+ 18.00 15.00 13.00 13.00 12.00
+ 12.00 10.00
+ 25.00 23.00 21.00 20.00 19.00
+ 19.00 17.00 15.00 15.00 14.00
+ 12.00 8.000
+ 25.00 24.00 23.00 22.00 21.00
+ 21.00 19.00 18.00 17.00 15.00
+ 12.00 10.00
+ 26.00 25.00 25.00 24.00 23.00
+ 23.00 21.00 21.00 14.00 11.00
+ 10.50 10.50
+ 28.00 28.00 28.00 27.00 26.00
+ 25.00 23.00 22.00 18.00 16.00
+ 16.00 11.00
+ 30.00 30.00 30.00 30.00 29.00
+ 27.00 24.00 23.00 20.00 18.00
+ 16.00 16.00
+ 34.00 34.00 33.00 31.00 30.00
+ 28.00 26.00 24.00 20.00 19.00
+ 19.00 19.00
+ 37.00 37.00 34.00 32.00 31.00
+ 30.00 30.00 27.00 28.00 25.00
+ 25.00 25.00
+ 2
+ 22.00 22.00 22.00 21.00 22.00
+ 25.00 25.00 25.00 25.00 26.00
+ 28.00 30.00 34.00 37.00
+ 11 0 1.000 THROTTLE
+ 1.000 4.000 7.000 11.00 10.00
+ 15.00 21.00 28.00 100.0 100.0
+ 100.0 100.0
+ 4.000 8.000 12.00 14.00 18.00
+ 21.00 25.00 28.00 32.00 100.0
+ 100.0 100.0
+ 5.000 9.000 14.00 16.00 20.00
+ 23.00 25.00 29.00 33.00 100.0
+ 100.0 100.0
+ 10.00 11.00 16.00 20.00 23.00
+ 26.00 28.00 30.00 34.00 41.00
+ 84.00 100.0
+ 7.000 14.00 18.00 22.00 25.00
+ 26.00 28.00 30.00 44.00 41.00
+ 100.0 100.0
+ 14.00 19.00 22.00 25.00 27.00
+ 29.00 31.00 33.00 36.00 42.00
+ 70.00 100.0
+ 18.00 23.00 27.00 29.00 31.00
+ 32.00 34.00 36.00 39.00 44.00
+ 60.00 100.0
+ 16.00 22.00 27.00 27.00 31.00
+ 32.00 34.00 36.00 39.00 43.00
+ 53.00 100.0
+ 23.00 27.00 29.00 31.00 33.00
+ 34.00 36.00 38.00 41.00 45.00
+ 54.00 100.0
+ 22.00 25.00 27.00 29.00 30.00
+ 32.00 34.00 36.00 39.00 45.00
+ 52.00 100.0
+ 27.00 30.00 32.00 33.00 35.00
+ 36.00 38.00 41.00 45.00 48.00
+ 55.00 100.0
+ 28.00 30.00 32.00 34.00 36.00
+ 38.00 40.00 43.00 48.00 56.00
+ 100.0 100.0
+ 15.00 18.00 20.00 22.00 24.00
+ 27.00 29.00 34.00 45.00 70.00
+ 100.0 100.0
+ 18.00 20.00 22.00 24.00 25.00
+ 29.00 32.00 39.00 52.00 100.0
+ 100.0 100.0
+ 2
+ 1.000 4.000 5.000 10.00 7.000
+ 14.00 18.00 16.00 23.00 22.00
+ 27.00 28.00 15.00 18.00
+ 13 0 1.000 AFR
+ 14.49 14.56 14.55 14.57 14.49
+ 14.49 14.83 14.38 13.19 13.19
+ 13.19 13.19
+ 14.60 14.58 14.51 14.47 14.47
+ 14.47 14.49 14.47 14.42 13.31
+ 13.31 13.31
+ 14.43 14.43 14.43 14.58 14.45
+ 14.44 14.40 14.41 14.39 12.78
+ 12.78 12.78
+ 14.47 14.46 14.48 14.41 14.43
+ 14.40 14.41 14.33 14.35 14.38
+ 13.20 13.39
+ 14.39 14.38 14.40 14.41 14.40
+ 14.40 14.43 14.40 14.48 14.39
+ 13.13 13.13
+ 14.40 14.43 14.40 14.44 14.34
+ 14.34 14.42 14.43 14.42 14.42
+ 12.01 12.03
+ 14.36 14.54 14.54 14.42 14.35
+ 14.48 14.44 14.17 14.39 14.35
+ 14.36 11.56
+ 14.48 14.44 14.45 14.45 14.47
+ 14.48 14.44 14.45 14.45 14.45
+ 14.42 11.23
+ 14.45 14.48 14.51 14.41 14.45
+ 14.56 14.46 14.45 14.51 14.47
+ 12.25 12.72
+ 14.52 14.52 14.51 14.52 14.49
+ 14.40 14.39 14.37 14.35 14.33
+ 12.15 12.89
+ 14.50 14.46 14.54 14.60 14.51
+ 14.50 14.49 14.46 14.53 11.97
+ 12.21 12.34
+ 14.68 14.62 14.60 14.64 14.65
+ 14.74 14.67 14.65 14.45 12.19
+ 12.08 12.08
+ 14.32 14.51 14.81 14.98 14.95
+ 14.71 14.82 14.55 14.61 12.04
+ 11.73 11.73
+ 14.57 14.65 14.63 14.59 14.57
+ 14.57 14.58 14.58 12.01 12.35
+ 12.35 12.35
+ 2
+ 14.49 14.60 14.43 14.47 14.39
+ 14.40 14.36 14.48 14.45 14.52
+ 14.50 14.68 14.32 14.57
+ 14 0 1.000 EXH TEMP
+ 480.3 486.8 527.0 562.5 515.8
+ 534.5 532.8 524.0 514.8 514.8
+ 514.8 514.8
+ 547.0 546.5 559.8 557.8 560.0
+ 560.3 561.0 572.8 576.0 557.3
+ 557.3 557.3
+ 568.0 563.5 574.3 571.3 579.8
+ 579.8 587.5 599.3 601.5 573.3
+ 573.3 573.3
+ 607.3 600.8 606.5 610.8 614.0
+ 620.0 627.5 631.0 643.0 647.5
+ 631.3 635.5
+ 632.0 625.8 636.3 634.3 635.5
+ 636.5 640.5 648.0 654.5 662.5
+ 639.3 639.3
+ 646.5 646.3 648.8 649.8 657.5
+ 659.3 660.5 664.5 668.3 676.3
+ 625.8 625.0
+ 663.3 675.8 677.3 700.5 691.0
+ 683.0 687.0 692.5 694.8 700.5
+ 705.8 647.5
+ 698.5 702.8 659.8 698.0 699.8
+ 706.5 714.5 722.8 726.5 729.5
+ 742.0 677.3
+ 725.8 724.0 716.8 717.0 717.3
+ 718.5 723.3 726.8 733.3 738.8
+ 700.8 723.5
+ 710.3 755.5 747.3 743.8 742.8
+ 740.0 742.0 739.5 766.3 781.5
+ 731.5 751.8
+ 744.3 764.5 766.0 762.3 764.8
+ 767.5 767.5 788.3 806.0 737.0
+ 740.3 760.5
+ 770.8 777.3 776.5 775.0 773.5
+ 781.3 794.0 801.8 817.5 767.5
+ 767.8 767.8
+ 775.3 780.5 779.8 786.0 787.5
+ 791.0 799.5 811.3 833.3 763.8
+ 750.0 750.0
+ 794.8 816.3 792.8 801.5 804.8
+ 806.3 808.0 815.0 731.8 767.8
+ 767.8 767.8
+ 2
+ 480.3 547.0 568.0 607.3 632.0
+ 646.5 663.3 698.5 725.8 710.3
+ 744.3 770.8 775.3 794.8
+OPTIMUM
+ 2
+ 1
+CATALYST
+ 0.9500 100.0 20.00
+ 0.9800 80.00 20.00
+ 0.9600 120.0 20.00
+WARM-UP
+ 4.000 80.00 0.8000E-01
+ 0.0000E+00 0.0000E+00 0.0000E+00
+ 1.000 80.00 0.0000E+00
+DRIVER
+ 1.000 1.000 0.5000 0.4000 0.4000 0
+
+


+#>Emissions Simulation Results
+

+ ============================================================================
+ VEHICLE PERFORMANCE SIMULATION PROGRAM - p1
+ Test No. lev Counter No. 7
+ run at 17:15:35 on 26/ 5/98
+ ============================================================================
+
+ EMISSIONS SIMULATION
+ LOTUS LEV RESEARCH
+ INPUT DATA
+ ~~~~~~~~~~
+
VEHICLE
+ ~~~~~~~
+ Weight . . . . . . . . 1183.0 kg
+ Frontal Area . . . . . 2.080 m2 Plan Area. . . . . . . 0.000 m2
+ Air Density. . . . . . 1.205 kg/m3 Drag Coefficient . . . 0.330
+ Front Lift Coeff . . . 0.000 Rear Lift Coeff. . . . 0.000
+ Wheel Base . . . . . . 2.52 m Track. . . . . . . . . 1.00 m
+ CoG to front axle. . . 0.96 m CoG to ground. . . . . 0.58 m
+ TYRE
+ ~~~~
+ Rolling Radius . . . . 0.2896 m Coeff.of Friction. . . 0.980
+ Default Rolling Resistance Coefficients
+ DRIVELINE
+ ~~~~~~~~~
+ Front wheel drive
+ Total Inertia Fr Wheels 1.477 kg.m2 Total Inertia Rr Wheels 1.477 kg.m2
+ Driven Axle Inertia . . 0.000 kg.m2 Prop Shaft Inertia. . . 0.000 kg.m2
+ Final Drive Ratio . . . 3.550 Final Drive Efficiency. 0.980
+ GEARBOX
+ ~~~~~~~
+ Manual
+ Number of ratios. . . . 5
+ Gear change Time. . . . 0.4 s Min Time Between Shifts 0.4 s
+ Default Max Gearbox Torque. Default Max Gearbox Speed
+ Gear. . 1 Ratio . 3.5500 Effy. . 0.970 Box Inertia. 0.0010 kg.m2
+ Overall Ratio . 12.6025 O.Effy. 0.951 MPH/1000 RPM 5.38
+ Gear. . 2 Ratio . 2.1600 Effy. . 0.970 Box Inertia. 0.0010 kg.m2
+ Overall Ratio . 7.6680 O.Effy. 0.951 MPH/1000 RPM 8.85
+ Gear. . 3 Ratio . 1.4800 Effy. . 0.970 Box Inertia. 0.0010 kg.m2
+ Overall Ratio . 5.2540 O.Effy. 0.951 MPH/1000 RPM 12.91
+ Gear. . 4 Ratio . 1.1200 Effy. . 0.970 Box Inertia. 0.0010 kg.m2
+ Overall Ratio . 3.9760 O.Effy. 0.951 MPH/1000 RPM 17.06
+ Gear. . 5 Ratio . 0.8900 Effy. . 0.970 Box Inertia. 0.0010 kg.m2
+ Overall Ratio . 3.1595 O.Effy. 0.951 MPH/1000 RPM 21.47
+ Vehicle declutch speed 5.0 kmh
+ ENGINE
+ ~~~~~~~
+ Internal combustion engine
+ Number of Cylinders . 4 Cycle Type . . . . . . 4
+ Bore . . . . . . . . . 79.00 mm Stroke . . . . . . . . 81.50 mm
+ Swept Volume . . . . . 1.5979 l Rotating Inertia . . . 0.0000 kg.m2
+ Idle Speed . . . . . . 1000.0 rpm Max Engine Speed . . . 6200.0 rpm
+ Max Power. . . . . . . 80.1 kw Max Power Speed .. . . 6200.0 rpm
+ Max Torque . . . . . . 150.0 nm Max Torque Speed . . . 4600.0 rpm
+ Primary Drive Ratio. . 1.000 Primary Drive Effy . . 1.000
+ Power/Weight Ratio . . 67.7 kw/tonne
+
+ ====================================================================
+
+ ===================================================================
+ VEHICLE PERFORMANCE SIMULATION PROGRAM - p2
+ Test No. lev Counter No. 7
+ run at 17:15:35 on 26/ 5/98
+ ====================================================================
+
+ EMISSIONS SIMULATION
+ LOTUS LEV RESEARCH
+ RESULTS
+ ~~~~~~~
+ FTP75 Urban Cycle Simulation
+
+ Total Cycle Time . . . 1876.5 s
+
+ Dist Travelled (nom) . 17722.1 m Dist Travelled (act) . 17767.5 m
+ Dist Travelled (nom) . 17.722 km Dist Travelled (act) . 17.767 km
+ Dist Travelled (nom) . 11.012 miles Dist Travelled (act) . 11.040 miles
+ Mean Power Developed . 4.10 kw
+
+ Default Gear Shift Map
+ No. of Gear Changes 69
+
+ Fuel Consumption from Map . . 1
+ Litres per 100 km. . . 7.133 Km per Litre . . . . . 14.019 km/l
+ Miles per Imp.Gallon . 39.60 mpg Miles per US Gallon. . 32.97 mpgUS
+ Grams per Test . . . . 948.086 g
+ Grams per KM . . . . . 53.497 g/km Grams per Mile . . . . 86.096 g/mil
+ Mean Consumption . . . 1818.87 g/h Mean Spec.Consumption. 443.37 g/kw.h
+ Overall Cycle Efficiency 19.332 %
+ Weighted Results . . . .
+ Grams per KM . . . . . 54.074 g/km Grams per Mile . . . . 87.024 g/mil
+
+ Hydrocarbon Emissions from Map 2
+ Grams per Test . . . . 33.274 g
+ Grams per KM . . . . . 1.878 g/km Grams per Mile . . . . 3.022 g/mil
+ Mean Consumption . . . 63.83 g/h Mean Spec.Consumption. 15.56 g/kw.h
+ Weighted Results . . . .
+ Grams per KM . . . . . 1.947 g/km Grams per Mile . . . . 3.134 g/mil
+ Post Catalyst . . . .
+ Grams per Test . . . . 4.366 g
+ Grams per KM . . . . . 0.246 g/km Grams per Mile . . . . 0.396 g/mil
+ Mean Consumption . . . 8.38 g/h Mean Spec.Consumption. 2.04 g/kw.h
+ Post Catalyst Weighted Results.
+ Grams per KM . . . . . 0.281 g/km Grams per Mile . . . . 0.453 g/mil
+
+ NOx Emissions from Map . . . 3
+ Grams per Test . . . . 30.612 g
+ Grams per KM . . . . . 1.727 g/km Grams per Mile . . . . 2.780 g/mil
+ Mean Consumption . . . 58.73 g/h Mean Spec.Consumption. 14.32 g/kw.h
+ Weighted Results . . . .
+ Grams per KM . . . . . 1.688 g/km Grams per Mile . . . . 2.717 g/mil
+ Post Catalyst . . . .
+ Grams per Test . . . . 1.459 g
+ Grams per KM . . . . . 0.082 g/km Grams per Mile . . . . 0.132 g/mil
+ Mean Consumption . . . 2.80 g/h Mean Spec.Consumption. 0.68 g/kw.h
+ Post Catalyst Weighted Results.
+ Grams per KM . . . . . 0.091 g/km Grams per Mile . . . . 0.147 g/mil
+
+ CO Emissions from Map . . . . 4
+ Grams per Test . . . . 85.205 g
+ Grams per KM . . . . . 4.808 g/km Grams per Mile . . . . 7.737 g/mil
+ Mean Consumption . . . 163.46 g/h Mean Spec.Consumption. 39.85 g/kw.h
+ Weighted Results . . . .
+ Grams per KM . . . . . 4.856 g/km Grams per Mile . . . . 7.815 g/mil
+ Post Catalyst . . . .
+ Grams per Test . . . . 9.068 g
+ Grams per KM . . . . . 0.512 g/km Grams per Mile . . . . 0.823 g/mil
+ Mean Consumption . . . 17.40 g/h Mean Spec.Consumption. 4.24 g/kw.h
+ Post Catalyst Weighted Results.
+ Grams per KM . . . . . 0.580 g/km Grams per Mile . . . . 0.933 g/mil
+
+ CO2 Emissions from Map . . . 5
+ Grams per Test . . . . 2832.365 g
+ Grams per KM . . . . . 159.821 g/km Grams per Mile . . . . 257.208 g/mil
+ Mean Consumption . . . 5433.79 g/h Mean Spec.Consumption. 1324.55 g/kw.h
+ Weighted Results . . . .
+ Grams per KM . . . . . 160.580 g/km Grams per Mile . . . . 258.429 g/mil
+
+ O2 Emissions from Map . . . . 6
+ Grams per Test . . . . 45.847 g
+ Grams per KM . . . . . 2.587 g/km Grams per Mile . . . . 4.163 g/mil
+ Mean Consumption . . . 87.96 g/h Mean Spec.Consumption. 21.44 g/kw.h
+
+ Spark Timing from Map . . . . 7
+
+ Throttle Position from Map. . 8
+
+ Air Fuel Ratio from Map . . . 9
+
+ Exhaust Temp from Map . . . . 10
+
+ =====================================================================
+
+
+


+#>Track Simulation Input File
+

+esprit cardat file
+92 spec
+esprt 301
+VEHICLE
+ 1509.
+ 1.770 0.3400 1.900 -0.2530 -0.3030
+ 1.205
+ 2.438 1.524 1.554 1.414 0.4800
+TYRE
+ 0.3146
+ 2 1.090 0.9500
+ 10.00 0.0000E+00 0.1500E-02 0.0000E+00 0.0000E+00 0.0000E+00
+DRIVE
+ 2
+ 0.7385 0.7385
+ 0.1000E-02 0.1000E-02
+ 3.889 0.9700 2
+GEARBOX
+ 5 0.2000 0.0000E+00 2
+
3.363 0.9800 0.1000E-02
+ 2.059 0.9700 0.1000E-02
+ 1.387 0.9700 0.1000E-02
+ 1.037 0.9700 0.1000E-02
+ 0.8205 0.9700 0.1000E-02
+GSHIFT
+ 1
+acc
+ 1 0 1
+ 1.000
+ 0.0000E+00 7400.
+ 0.0000E+00 7400.
+ 0.0000E+00 7400.
+ 0.0000E+00 7400.
+ 0.0000E+00 7400.
+ 2 0
+CLUTCH
+ 1 1.000
+PDRIVE
+ 1.000 1.000 2
+ENGINE
+ 1
+ 95.30 76.20 10.00 4 4 0.1476
+ 1000. 7500.
+ 10
+ 1000. 7.000
+ 2000. 12.40
+ 2500. 18.20
+ 3000. 18.90
+ 3900. 20.50
+ 5000. 18.80
+ 6000. 17.80
+ 6500. 16.78
+ 7000. 15.10
+ 7500. 13.20
+DRIVER
+ 0.9000 0.8000 0.6000 0.1000 0.1000 0
+


+#>TRACK SIMULATION RESULTS FILE
+
=========================================================================
+ VEHICLE PERFORMANCE SIMULATION PROGRAM - p1
+ Test No. esprt Counter No. 1
+ run at 10:26: 4 on 26/ 5/98
+=========================================================================
+
+ esprit cardat file
+ 92 spec
+ INPUT DATA
+ ~~~~~~~~~~
+
VEHICLE
+ ~~~~~~~
+ Weight . . . . . . . . 1509.0 kg
+ Frontal Area . . . . . 1.770 m2 Plan Area. . . . . . . 1.900 m2
+ Air Density. . . . . . 1.205 kg/m3 Drag Coefficient . . . 0.340
+ Front Lift Coeff . . . -0.253 Rear Lift Coeff. . . . -0.303
+ Wheel Base . . . . . . 2.44 m Track. . . . . . . . . 1.54 m
+ CoG to front axle. . . 1.41 m CoG to ground. . . . . 0.48 m
+ TYRE
+ ~~~~
+ Rolling Radius . . . . 0.3146 m Coeff.of Friction. . . 1.090
+ User Rolling Resistance Coefficients
+ DRIVELINE
+ ~~~~~~~~~
+ Rear wheel drive
+ Total Inertia Fr Wheels 1.477 kg.m2 Total Inertia Rr Wheels 1.477 kg.m2
+ Driven Axle Inertia . . 0.001 kg.m2 Prop Shaft Inertia. . . 0.001 kg.m2
+ Final Drive Ratio . . . 3.889 Final Drive Efficiency. 0.970
+ GEARBOX
+ ~~~~~~~
+ Manual
+ Number of ratios. . . . 5
+ Gear change Time. . . . 0.1 s Min Time Between Shifts 0.1 s
+ Max Gearbox Torque. . . 0.2 nm Default Max Gearbox Speed
+ Gear. . 1 Ratio . 3.3630 Effy. . 0.980 Box Inertia. 0.0010 kg.m2
+ Overall Ratio . 13.0787 O.Effy. 0.951 MPH/1000 RPM 5.63
+ Gear. . 2 Ratio . 2.0590 Effy. . 0.970 Box Inertia. 0.0010 kg.m2
+ Overall Ratio . 8.0075 O.Effy. 0.941 MPH/1000 RPM 9.20
+ Gear. . 3 Ratio . 1.3870 Effy. . 0.970 Box Inertia. 0.0010 kg.m2
+ Overall Ratio . 5.3940 O.Effy. 0.941 MPH/1000 RPM 13.66
+ Gear. . 4 Ratio . 1.0370 Effy. . 0.970 Box Inertia. 0.0010 kg.m2
+ Overall Ratio . 4.0329 O.Effy. 0.941 MPH/1000 RPM 18.27
+ Gear. . 5 Ratio . 0.8205 Effy. . 0.970 Box Inertia. 0.0010 kg.m2
+ Overall Ratio . 3.1909 O.Effy. 0.941 MPH/1000 RPM 23.10
+ Vehicle declutch speed 1.0 kmh
+ ENGINE
+ ~~~~~~~
+ Internal combustion engine
+ Number of Cylinders . 4 Cycle Type . . . . . . 4
+ Bore . . . . . . . . . 95.30 mm Stroke . . . . . . . . 76.20 mm
+ Swept Volume . . . . . 2.1742 l Rotating Inertia . . . 0.1476 kg.m2
+ Idle Speed . . . . . . 1000.0 rpm Max Engine Speed . . . 7500.0 rpm
+ Max Power. . . . . . . 197.6 kw Max Power Speed .. . . 6500.0 rpm
+ Max Torque . . . . . . 354.7 nm Max Torque Speed . . . 3900.0 rpm
+ Primary Drive Ratio. . 1.000 Primary Drive Effy . . 1.000
+ Power/Weight Ratio . . 131.0 kw/tonne
+
+========================================================================
+
+=========================================================================
+ VEHICLE PERFORMANCE SIMULATION PROGRAM - p2
+ Test No. esprt Counter No. 1
+ run at 10:26: 4 on 26/ 5/98
+ =========================================================================
+
+ esprit cardat file
+ 92 spec
+ RESULTS
+ ~~~~~~~
+ Lotus Track Simulation
+
+ Total Cycle Time . . . 173.6 s
+
+ Dist Travelled (nom) . 6882.8 m
+ Dist Travelled (nom) . 6.883 km
+ Dist Travelled (nom) . 4.277 miles
+ Mean Power Developed . 108.60 kw
+
+ Default Gear Shift Map
+ No. of Gear Changes 26
+
+ ========================================================================
+
+


+

+ + + + \ No newline at end of file

@k4ugBG)U$&=Z$m+~cg>bSC*)2?0c?6vb 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 +----------------< +------------> +--------< +-----> +-. +.', +.( +.) +., +.. +/( +// +//'. +0 +0. +0.0 +0.000 +0.0000 +0.000000E +0.001 +0.0010 +0.01 +0.0151 +0.02 +0.1 +0.1000 +0.1000E +0.1000E-02 +0.1000E-03 +0.1000E-04 +0.1100E-03 +0.1200 +0.1200E +0.1220 +0.1261 +0.1400E +0.1400E-03 +0.1476 +0.1500 +0.1600E +0.1700E-03 +0.2000 +0.2000E-01 +0.2350 +0.2360 +0.2380 +0.2430 +0.25 +0.2500 +0.2530 +0.2800 +0.2810 +0.2830 +0.2896 +0.3 +0.3000 +0.3030 +0.3070 +0.3100 +0.3146 +0.3300 +0.34 +0.3400 +0.35 +0.36 +0.3600E-03 +0.3692 +0.3700 +0.3713 +0.3800 +0.39 +0.3900 +0.4 +0.40 +0.4000 +0.4100 +0.4200 +0.4200E +0.4274E-02 +0.4400 +0.4500 +0.4800 +0.4900 +0.5 +0.5000 +0.5000E-01 +0.5500 +0.57 +0.5800 +0.6 +0.60 +0.6000 +0.62 +0.6418E +0.66 +0.6770 +0.68 +0.6940 +0.7 +0.7385 +0.7425 +0.75 +0.7500 +0.7800 +0.7823E-02 +0.8 +0.8000 +0.8000E-01 +0.8200E-01 +0.8205 +0.829 +0.8290 +0.84 +0.8500 +0.8600 +0.8650 +0.8800 +0.8860 +0.8900 +0.9 +0.9000 +0.9000E-04 +0.9030 +0.9050 +0.9100 +0.9200 +0.9250 +0.9387E-02 +0.9400 +0.941 +0.95 +0.9500 +0.951 +0.96 +0.9600 +0.970 +0.9700 +0.98 +0.980 +0.9800 +00 +000 +0000E +01 +0123456789 +01953 +05 +1,6 +1. +1.0 +1.00 +1.000 +1.00000 +1.000000 +1.027 +1.0270 +1.037 +1.090 +1.0E +1.0E-3 +1.0E-5 +1.0E-6 +1.1 +1.160000 +1.205 +1.320000 +1.333 +1.3330 +1.354 +1.387 +1.414 +1.477 +1.480000 +1.5 +1.5L +1.6 +1.619 +1.640000 +1.650 +1.676 +1.770 +1.8 +1.800000 +1.900 +1.916 +1.9160 +1.920 +1.950 +1.960000 +1/4 +10 +10.0 +10.00 +10.0000 +10.05 +10.14 +10.20 +10.21 +10.22 +10.50 +10.52 +10.55 +10.7 +100 +100.0 +100.4 +1000 +1000.0 +1008 +100km +1010 +1020 +103.0 +1060 +10:26 +10X +11 +11.00 +11.10 +11.19 +11.30 +11.50 +11.73 +11.75 +11.80 +11.90 +110 +110.0 +1100 +1110 +112.1 +1130 +114.6 +1140 +1160 +1170 +12 +12.00 +12.01 +12.08 +12.35 +12.40 +12.50 +12.70 +12.78 +12.90 +120 +120.0 +1200 +12000 +1205. +1250 +1292 +13 +13.00 +13.10 +13.13 +13.19 +13.20 +13.31 +13.50 +13.66 +130 +130.0 +1300 +1330 +1340 +135.0 +13X +14 +14.00 +14.10 +14.20 +14.30 +14.32 +14.33 +14.34 +14.35 +14.36 +14.38 +14.39 +14.40 +14.41 +14.42 +14.43 +14.44 +14.45 +14.46 +14.47 +14.48 +14.49 +14.50 +14.51 +14.52 +14.54 +14.55 +14.56 +14.57 +14.58 +14.59 +14.60 +14.65 +14.68 +14.71 +14.72 +14.74 +14.81 +14.84 +140 +1400 +1400. +1410 +142.0 +1440 +146.4 +149.9 +1496 +15 +15.00 +15.10 +15.13 +15.50 +15.60 +15.61 +15.77 +15.91 +150 +150.0 +1500 +1577 +16 +16.00 +16.21 +16.78 +16.94 +160 +165.0 +17 +17.00 +17.06 +17.50 +17.80 +170 +170.0 +175.0 +17:15:35 +18.00 +18.18 +18.20 +18.80 +18.90 +180 +180.0 +1800 +185.0 +19 +19.00 +19.10 +19.20 +19.70 +190 +190.0 +195.0 +1D +1D' +1X +2 +2. +2.0 +2.000 +2.00000 +2.002 +2.059 +2.080 +2.12 +2.120000 +2.250 +2.280000 +2.310 +2.320 +2.438 +2.450 +2.500 +2.514 +2.600 +2.655 +2.699 +2.750 +2.800 +2.9 +2.900 +2.940 +2.980 +20 +20.0 +20.00 +20.10 +20.30 +20.49 +20.50 +200 +200.0 +2000 +205.0 +2050 +209.4 +21 +21.00 +21.10 +210.0 +22.00 +22.50 +22.70 +220.0 +2200 +2200. +225.0 +2260 +23 +23.00 +23.30 +23.30000 +23.40000 +23.60000 +23.70 +23.80 +23.80000 +230.0 +235.0 +237.9 +24 +24.00 +24.10000 +24.80000 +24.90 +240.0 +244.1 +245.0 +246.0 +248.0 +249.0 +25 +25.00 +25.30 +25.80 +25.80000 +250 +2500 +251.0 +252.0 +256 +257.0 +258.0 +26 +26.00 +26.20 +26.39 +26.50 +26.90 +2600 +263.0 +264.0 +264.9 +265.0 +2655.1 +2655.2 +266.0 +269.0 +27 +27.00 +27.10000 +270.0 +272.0 +272.1 +273.0 +275.0 +277.0 +278.9 +279.0 +28.00 +28.10 +28.70 +280.0 +283.0 +283.7 +285.0 +285.9 +286.0 +288.0 +29.00 +29.30000 +290.0 +291.0 +292.0 +293.0 +294.0 +295.0 +299.0 +299.1 +2D +2d +2X +3 +3. +3.0 +3.000 +3.003 +3.01 +3.01e +3.027 +3.030 +3.03E-4 +3.080 +3.100 +3.121 +3.150 +3.200 +3.222 +3.290 +3.300 +3.329 +3.330 +3.333 +3.3330 +3.352 +3.363 +3.390 +3.400 +3.500 +3.550 +3.684 +3.742 +3.889 +3.931 +30 +30,1000 +30,1005 +30,1200 +30.00 +30.60 +300.0 +3000 +301 +301.0 +304.0 +306.0 +31 +31.00 +31.10 +31.50 +311.0 +313.0 +313.1 +315.0 +319.0 +32.00 +32.20 +32.50 +320.0 +320.1 +3200 +3200. +3222.2 +326.0 +326.1 +33.00 +333.0 +338.0 +33X +34.00 +34.80 +340.0 +340.1 +3400 +345.0 +347.0 +347.1 +35.00 +35.70 +3500 +351.8 +353.0 +36.00 +360.0 +367.0 +368.3 +37.00 +37.40000 +37.51 +374.0 +376.6 +38.00 +3800 +381.0 +381.1 +39.00 +3900 +394.0 +3d +3D +3d-axis +3rd +3X +4 +4. +4.000 +4.004 +4.071 +4.118 +4.139 +4.190 +4.770 +4.833 +4.848 +40 +40.0 +40.00 +40.72 +400 +4000 +400M +401.0 +406.7 +408.0 +408.3 +41.00 +42.00 +4200 +4200. +421.0 +4274E-02 +428.0 +43.00 +435.0 +435.1 +44.00 +442.0 +449.0 +45.00 +4500 +4600 +4600.0 +461.9 +462.0 +462.1 +469.0 +470.7 +472.7 +476.0 +48.00 +480.3 +4833.3 +486.7 +496.0 +4th +4X +5 +5. +5.0 +5.000 +5.005 +5.028 +5.280 +5.400 +5.424 +5.512 +5.591 +5.866 +5.876 +5.989 +5/98 +50 +50.00 +500 +5000 +504.1 +514.8 +517.0 +52.00 +526.9 +53.00 +530.0 +54.00 +5400 +543.8 +544.0 +545.5 +547.0 +5500 +557.3 +56.00 +5661E-01 +568.0 +572.9 +573.3 +579.8 +58.00 +5800 +59.00 +5X +6 +6.000 +6.148 +6.149 +6.215 +6.328 +6.441 +6.444 +6.704 +60 +60.0 +60.00 +600 +600.0 +600.3 +6000 +6000. +6011. +607.3 +612.0 +6200 +6200. +6200.0 +625.8 +63.00 +630.0 +632.0 +635.5 +639.0 +639.3 +6418E-01 +6444.4 +646.5 +647.5 +6500 +6500. +6500.0 +653.0 +653.1 +658.0 +663.3 +666.0 +67.00 +677.3 +6770 +680.0 +680.1 +681.9 +698.5 +699.9 +7 +7.000 +7.120 +7.189 +7.370 +7.492 +7.542 +7.620 +7.684 +70 +70.00 +700.5 +7000 +710.3 +710.9 +720.0 +725.8 +730.0 +7400. +742.0 +744.3 +748.0 +75 +75.00 +750.0 +7500 +7500. +76 +76.20 +767.5 +767.8 +77 +77.00 +770.8 +775.3 +789.0 +789.9 +79.00 +794.8 +799.9 +7:53 +8 +8.000 +8.056 +8.136 +8.210 +8.290 +8.380 +8.701 +8.800 +8.900 +80 +80.0 +80.00 +800.0 +8000 +8000E-01 +8055.6 +808.0 +81.50 +81.60 +816.3 +820.1 +830.1 +830.2 +839.9 +84.5 +850.0 +86.00 +860.0 +869.9 +870.1 +879.8 +879.9 +899.9 +9 +9.000 +9.119 +9.130 +9.218 +9.630 +9.639 +9.670 +9.700 +9.800 +9.880 +90 +90.00 +92 +920.1 +920.2 +920.3 +940.0 +95 +95.30 +952.0 +952.2 +9600 +969.9 +980.0 +9800 +9997 +9997.0 +9998 +9998.0 +9999 +9999.0 +9999.00 +: +:\ +; +< +<----- +<------ +=' +=. +=================================================================== +==================================================================== +======================================================================== +========================================================================= +============================================================================ +> +?) +\ +_n +A +ability +able +abort +Aborting +about +above +ABS +absorbed +absorbing +AC +acc +Accel +accelerate +Acceleration +accelerations +acceptable +Acceptable +access +accessed +accessible +accompanying +account +accuracy +achievable +achieve +ACONST +across +act +Acting +acting +action +activate +activates +active +actual +actually +ADC +ADD +Add +add +added +Adding +adding +addition +Additional +additional +adds +Adjacent +adjacent +adjust +adjustment +advanced +ADYN +Aerodynamic +aerodynamic +AERODYNAMICS +aerodynamics +Aerodynamics +affect +after +After +after-treatment +Again +again +against +aggressiveness +Ah +ahead +aim +aimed +Air +AIR +air +algorithm +all +All +allow +allowable +allowed +allowing +allows +along +already +also +alternative +alternatively +Alternatively +alternatives +alters +although +always +amount +AMP1HYB3 +AMP2HYB3 +amps +An +an +AN +analyses +Analysing +analysis +Analysis +AND +ANG +angle +Angle +animated +animates +animation +annotation +another +Any +any +appearance +applicable +application +applications +applied +applies +apply +approach +approaches +appropriate +approximation +APU +apu +ARE +Area +area +ARECIP +AROFT +around +arranged +array +arrow +arrows +AS +As +ASCII +asked +aspect +aspirated +ASPIRATED +Aspirated +assess +assist +assisting +associated +assume +ASSUME +assumed +assuming +assumption +At +at3 +AUSPD +auto +autoexec +automatic +Automatic +AUTOMATIC +automatically +AUTOR +Autoscale +autoscale +autoscaling +Autoscaling +AUXF +AUXILIARIES +Auxiliaries +auxiliaries +Auxiliary +auxiliary +AUXILLARIES +AVALVEF +axes +Axis +axis +axle +Axle +B +b +B2RECIP +back +backdrop +Backdrop +background +balance +Balance +band +Bar +bar +BAR +Base +base +based +basic +bat' +batch +Battery +battery +BBLOAD +BDYN +BE +bearing +Bearing +Bearings +bearings +bears +Because +become +been +before +begins +believed +below +best +between +Between +BGRID +BIG +Big +big +bitmap +bitmaps +blank +blanks +blue +BMEP +BMEPC +BMEPMAP +BMLOAD +BORE +bore +Bore +both +Both +bottom +Box +box +boxes +Bracketed +brake +Brake +braking +Braking +BRECIP +Brief +bring +brings +BROFT +Browse +browser +BSCALE +BSCALE-BOROLD +buffer +build +builder +Builder +but +button +buttons +BVALVEF +By +C +c +C- +CAFF +Calc +calculate +Calculate +calculated +CALCULATED +calculates +Calculating +Calculation +calculations +CALL +call +called +Calorific +CALVAL +Cam +cam +CAMB +camber +cancel +Cancelling +cancels +cannot +capabilities +capability +capable +capacity +Capacity +car +CAR +Car +cardat +care +carried +Cascade +case +cases +Catalyst +CATALYST +catalyst +CATEF-CO +CATEF-HC +CATEF-NOX +categories +category +catered +CATT1 +CATT2 +caused +CD +CDYN +cell +cells +centre +CFF +CH +change +Change +changed +changes +Changes +Changing +changing +chapter +CHARACTER +characteristic +Characteristics +characteristics +characters +CHARACTERS +Charge +charge +charges +charging +Charging +chassis +Chassis +check +Check +checked +checker +Checking +checking +checks +choices +choose +choosing +chose +chosen +chosing +Circuit +circuit +CL +Class +clear +clearly +CLF +click +clicking +clients +Clipboard +clipboard +CLOSE +Close +close +closed +closing +Closing +CLR +clutch +CLUTCH +Clutch +CMD +CO +co-operation +CO2 +code +coded +Coeff +COEFF_CD +COEFF_CLF +COEFF_CLR +COEFF_RTYRE +coefficient +Coefficient +Coefficients +coefficients +COEFFR +COEFFS +CoG +COH +cold +colour +Colour +coloured +Coloured +colours +Column +column +columns +Columns +COM +combi-box +combination +combined +combustion +comma +COMMA +command +commands +Comment +comments +Comments +common +compared +comparison +complete +completed +complexity +Component +compression +Compression +Compulsory +compulsory +Con +concerned +condition +conditioning +CONDITIONING +conditions +confirm +confuse +conjunction +connected +considered +consists +CONST +constant +Constant +constants +constructing +consumed +consumption +contain +contained +containing +contains +Contains +contents +continually +CONTINUE +continue +continuous +contour +Contour +contoured +Contours +contours +control +Control +controlled +controller +controllers +Controllers +Controlling +controls +Controls +convection +convenience +conventional +conversion +CONVERTER +Converter +converter +Converters +copied +copy +Copy +CopyData +Copying +corner +Cornering +cornering +correct +corrected +correction +corrections +correctly +correlation +Correlation +COS +cos +could +Counter +counter +Coupling +coupling +course +CR +crank +crankshaft +create +Create +created +Creating +creating +CRECIP +CRF +CROFT +Cross +cross +cross-hair +crossed +crs +crs' +CRSENS +CST +csv +Ctrl +CURRENT +Current +Currently +cursor +Curve +curve +curves +cut +cut-off +CVALVEF +cyc +CYCACC +Cycle +cycles +cyl +cylinder +Cylinders +cylinders +D +DATA +Data-check +data-entry +data-picking +data-set +Database +DataBase +datafile +datasets +DATMAP +DBB +DBBAL +DBEFFY +DBIG +DBM +dbs +DCAM +DCAM2 +DCEFFY +DCM +DCOG +DCSTR1 +DCURHYB4 +deceleration +decide +Decimal +decimal +Declutch +declutch +decrease +Default +default +defaults +definable +define +Define +Defined +Defines +defines +Defining +defining +Definition +definition +deg +degrees +Delete +delete +deletes +deleting +Deleting +delimited +Delimiter +delimiter +DEMAND +demand +demanded +Density +density +depend +depending +Depending +derivation +derive +describe +described +describes +describing +descriptive +design +designed +desired +desktop +detail +detailed +Details +details +deteriorate +determine +determined +Developed +developed +devices +Diagram +diagram +dial +Dial +dialog +dialogue +dials +Diameter +diameter +diameters +DIAUX +diesel +differences +different +difficult +DIM +dimension +DIMENSION +dimensional +dimensions +Dimensions +Dimensions' +Direct +direct +directly +directory +disable +disabled +discharge +Discharge +discharging +discrepancies +discussed +Display +displaying +Displaying +displays +Dist +Distance +distance +DMAIN +DMAIN2 +do +DO +does +DOHC +done +door +DORUN +DOUBLE +down +downforce +drag +Drag +DRAUX +draw +drawing +drawn +DRIVE +drive +Drive +drive-cycle +Driveline +DRIVELINE +driveline +driven +Driven +driver +DRIVER +Driver +drivers +DRIVETRAIN +drivetrain +Drivetrain +drop +DSOCHYB4 +due +Due +dummy +during +During +DVOLHYB4 +dynamics +Dynamics +Dynamometer +dynamometer +DYNM +dyno +Dyno +DYNO +dynomometer +E +e +each +Each +easy +Econ-Map +Economy +economy +ECONOMY +Edit +edit +editable +edited +Editing +editing +editor +Eff +EFFD +effect +effectively +effects +EFFHYB +efficiencies +Efficiencies +EFFMAX +effort +Effy +EFFY +EFPD +eg +ELAN +elana +elant +elements +ELSE +emission +EMISSIONS +empirical +employ +employed +empty +enable +enables +END +End +end +ENDIF +energy +Energy +ENG_SCALE +engaged +ENGINE +Engine' +engine-out +engines +Engines +enhanced +enough +enrichment +ensure +Enter +enter +entering +enters +entire +ENTITY +entries +entry +envelope +environment +envisaged +EQ +equal +equals +equation +equations +equivalent +EREAD +ERROR +error +Error +Errors +errors +esprit +esprt +ESSMAX +ESSMIN +establishing +estimate +Estimate +estimates +etc +ETERM +EUDC +EURO +Europe +even +events +every +Exact +exactly +Example +example +Examples +examples +exceed +exceeds +Excel +excess +exclusive +Exhaust +existing +exists +exit +exiting +experience +explanations +Explanations +exponent +Ext +extend +Extended +extended +extension +extensions +extensively +external +extract +extrapolation +F +F12 +F6.0,3X +F9 +F9.2 +Fa +facility +FACT +Factor +factor +Factoring +factors +fail +FAILED +FALSE +far +FAREA +Fcg +FCIN +Fd +feature +Features +features +Federal +feeling +FFACT +ffwd +Fg +Fi +figure +figures +File +FILE +File- +filename +Files +fill +Fill +Filled +FIN +Final +final +finally +Find +FIRST +first +Fit +fit +fitted +fitting +five +Fixed +fixed +Flag +flag +flags +Flat +flat +FLBAR +FLOAD +FLOAT +floating +flow +Fluid +Flywheel +flywheel +FMAH +FMEAN +FMEP +FMEPNEW +FMEPOLD +Fn +Follower +follower +Follower' +followers +follows +font +Font +fonts' +For +FOR +Force +force +FORCED +forced +forces +Forces +form +FORM +FORMAT +Format +FORMATTED +forms +formula +formulae +Fortran +forward +found +FOUND +four +Four +FOUT +Fr +Fraction +fraction +fractions +Fractions +frame +Frame +FREE +free +frequency +FRIC +FRICSP +FRICTION +friction +Friction +From +front +Front +frontal +Frontal +Ft +FTP06 +FTP75 +fuel +Fuel +FUEL +fuelling +full +Full +fully +function +Function +functionality +functionally +functions +Functions +further +future +G +g +G10.4 +G10.4, +G10.4,1X +G11.4 +G11.4,1X +Gallon +gas +gasoline +GEARBOX +Gearbox +gearbox +gearing +GEARIP +Gears +gears +gearshift +generally +generate +generated +generating +Generating +generation +Generator +generator +geometry +GINO +GIVE +give +Given +given +giving +global +GLOSS +GLSPD +GLTFR +GLTOR +GMS +go +GO +goes +good +GOOD +government +GRAD +Gradability +gradient +Gradient +grams +Grams +Graph +graph's +Graphical +graphically +Graphically +Graphics +graphics +Graphs +graphs +GRATIO +gravity +GRBX +grd +greater +greatest +green +GREFF +grey +greyed +GRFD +Grid +GRID +grid +Grids +grip +ground +GRPD +grs +grs' +GSHIFT +GT +guide +H +h +had +hand +handled +hard +has +have +having +HBMF +HC +HCOG +head-up +headings +Heat +heat +Height +height +held +help +Hence +hence +HERE +here +high +higher +highest +highlight +highlighted +Highway +history +Honda +HONDA +HONDAM +horizontal +hot +hour +how +How +however +hp +HR +HYBBATTERY +HYBCONTROL +HYBLOSS +Hybloss +Hybpower +HYBPOWER +Hybrid +HYBRID +hybrid +Hydrocarbon +hydrodynamic +I +i +I-1 +I-IB +I3 +I7,5X +IA +IB +IBTYPE +ICD +ICLF +ICLR +icon +Icon +Icons +icons +ICTYP2 +ICTYPE +ICTYPE2 +ICYC +identical +identification +identified +Identifies +identifies +identify +Identify +identifying +IDLE +Idle +idle +IDOPT +IE +IETYPE +If +if +IF +IFDEFF +IFEAT +IFRIC +IFTYPE +IG +IGBEFF +IGEAR +ignore +ignored +IHOPT +ii +iii +IKDOWN +IL +ILIDLE +ILOCKL +ILOCKS +image +IMAP +IMEP +immediately +IMOPT +Imp +implies +imply +important +improve +improved +improvement +IMTYPE +IMUNIT +In +IN +in-line +incline +inclines +include +included +includes +including +inclusion +incorporated +incorrect +increase +increased +increases +Increasing +increasing +increment +Incremental +incremental +incremented +increments +Increments +indented +index +INDEX +indicate +indicated +indicates +indices +indirectly +Individual +individual +individually +Inertia +inertia +information +informed +ini +INI +initial +initially +inline +Inline +INPUT +input +Input +Insert +insert +inserted +Inserting +insight +installation +instance +INTEGER +integer +INTEGR +intended +interactive +Interactive +interest +interface +Internal +interpolated +interpolation +Interval +introduced +introduction +Introduction +INTS +intuitive +invoked +involves +IOPT +IORUN +IOS +IOSTAT +IP +IPAUX +IPDEFF +irregularities +irrespective +IRTYRE +IS +ISMODE +ISOPTL +ISOPTS +ISTIDLE +It +it +IT +itas +item +items +ITOPT +its +ITYP +ITYPE +ITYREND +IUNIT +iv +IV +IVAL +J +Japan +Japanese +Jumping +just +K +key +keys +keyword +keywords +kg +Kg +kick +Kilometre +kJ +km +KM +Km +KMH +kmh +KPH +kW +KW +kw +L +l +label +Label +labelled +Labels +labels +lap +large +larger +largest +last +LAST +latest +launch +Launch +layout +LE +leading +learning +least +leave +left +Legend +legend +legislated +Length +length +LENS +LENSTR +LESOFT +less +LEV +lev +level +Levels +levels +libraries +licensing +Licensing +lie +lift +Lift +light-off +like +limit +limited +limits +line +Line +line' +linear +linearly +Lines +lines +list +List +list' +listed +listing +Listing +lists +Litre +litre +Litres +Load +load-speed +loaded +Loading +loading +loads +locate +located +lock +lock-off +Lock-up +lock-up +Lock-Up +Locked +LOGICAL +longer +longitudinal +Longitudinal +look-and-feel +looks +lose +Loss +loss +losses +Losses +lost +Lotus +LOTUS +low +lower +Lowest +lowest +LPARAM +LPRAM +LT +lubrication +m +M +m2 +m3 +machines +made +main +Main +maintain +maintained +major +make +makes +Making +manipulated +manipulation +manner +Manual +manual +many +MAP +map +Map +MAPS +maps +Maps +mark +marked +mass +matches +matching +Max +max +MAXAPU +Maximum +MAXIMUM +may +Mean +MEAN +mean +means +MEASURED +measured +mechanical +Mechanical +menu-bar +menus +message +messages +method +methods +middle +mil +mile +Mile +miles +Miles +min +MIN +Min +MINAPU +minimise +minimum +Minimum +mm +mm' +Mode +MODE +mode +MODEL +Model +modelled +modelling +Models +models +modern +modes +Modified +modified +modify +module +Module +modules +moments +more +MOSS +most +motion +Motor +motor +Mounted +mounted +Mounting +mounting +mouse +move +mpg +mpgUS +MPH +mph +mult +multi +multiple +multiplied +Multiplier +multiplier +MUST +must +Must +MXN +n +N +NA +NAME +Name +name +namely +names +NAMPHYB +Naturally +NATURALLY +naturally +naux +NAUX +NBB +NBGRID +NBM +NCD +NCLF +NCLR +NCS +NCURHYB4 +ncurhyb4 +Ncurhyb4 +NCYL +nd +NE +nearest +necessary +need +needs +negative +Neutral +neutral +new +New +NEW +NEXT +next +NGLOS +NGLOT +NGRS +NHISTORY +NHYB +nhyb +NHYB2 +NHYB3 +NINT +NLDMAP +nm +NM +Nm +NMAIN +NMAIN2 +NMAP +no +No +nom +nominal +non +non-editable +non-linear +none +NOPTU +Norfolk +NORMAL +normal +Normal +normally +Not +NOT +not +Notation +Note +note +NOTE +notes +notionally +now +NOX +NOx +NPAUX +NPTC +NRTYRE +NS +NSECT +NSGRID +NSHIFT +NSOCHYB4 +Nsochyb4 +NSPC +NSPHYB +NSPHYB3 +NSPMAP +NSTHYB5 +NTLOCK +NTORS +NULL +NUMBER +Number +numbers +NUMERIC +numerical +NUMS +NVAL +NVALVE +NVALVE2 +O +o +O2 +obtain +obtained +obvious +occupants +occur +occurs +OF +OFF +Off +off +offers +often +OHV +ok +omitted +ON +On +Once +once +one +One +only +Only +OPEN +open +Open +opened +Opening +opening +opens +operate +operating +operation +OPTIMUM +Optimum +optimum +Option +Optional +optional +options +Options +opy +OR +ord +order +origin +original +other +out +OUTPUT +Output +output +outside +Oval +over +Overall +overlay +Overlay +overlayed +overrun +Overrun +overturning +Overview +overview +overwrite +overwriten +overwriting +overwritten +own +P +p1 +p2 +pa +PA +padded +panel +Panel +paper +PARAMETER +parameter +parameters +parametric +Parametric +parametrics +PAREA +part +partially +particular +particularly +Particulate +partners +password +paste +Pasted +pasted +pause +PC +PDRIVE +peak +Peak +PERCHYB3 +perform +PERFORMANCE +Performance +performances +performed +performs +period +periphery +permanently +permit +permited +permitted +pertinent +phase +PI +pick +picked +picking +picks +picture +pin +piston +placed +places +Plan +plane +play +PLEASE +plot +Plot +plots +plottable +plotted +plotting +Plotting +Pls +plus +PMFPS +Point +point +pointer +Points +points +polynomial +pop-down +pop-up +popular +portion +Position +positioned +positioning +Positions +positions +positive +possible +Post +potential +Power +power +powered +Powerpoint +powertrain +PRECISION +predicting +preferentially +preferred +pres +present +presentation +presented +presently +presents +press +prevent +previous +previously +primarily +primary +Primary +Prime-mover +print +PRINT +Print +printed +printer +Printing +printing +prior +prn +probable +problems +procedure +Procedure +proceed +proceeds +process +PROCESSING +produce +produced +Produces +produces +producing +profile +Program +program +PROGRAM +progress +project +projected +prompt +prompted +prop +Prop +Properties +properties +Property +proposed +proprietary +PROPSHAFT +Propshaft +protection +provide +provided +provides +providing +PTHYB3 +pull +pull-down +PUMP +purely +PWOPTU +Q +quality +question +quick-to-use +QUOTE +QUOTES +R +r +R1 +R2 +Race +rad +radiated +radius +Radius +raised +ramp +range +RANGE +ranges +rapid +rapidly +rate +Rate +rates +rather +Ratio +ratio +Ratios +ratios +RAW +rd +re-opening +re-read +re-set +reach +reached +reaches +Read +read +READ +real +REAL +reals +rear +Rear +reason +reasons +RECIPF +Record +red +redrawn +reduce +reduced +Reducing +reduction +refer +reference +reflect +Refresh +refresh +refreshed +regeneration +Regenerator +regenerator +regime +region +regular +rejection +related +relates +relating +relationship +relative +relatively +release +releases +relevant +remain +remaining +remains +remembered +reminded +remove +removed +removing +Removing +renumbered +repeat +repeated +replace +report +reported +representation +represented +representing +represents +requested +require +requirement +requirements +requires +requiring +RESEARCH +research +reset +resistance +Resistance +resizable +respectively +response +Rest +rest +restored +restricted +restriction +Result +result +resulting +RESULTS +retained +return +RETURN +returned +returning +revert +Revert +review +RFACT +RHO +RIBWHL +RIENG +RIFWHL +right +RIHYB3 +Ring +RIPAXL +RIPROP +RMAX1 +RMAX_RATE +RMIN_RATE +RMINI +RNPOWER +Rnpower +Road +road +ROAD +Rocker +rockers +rod +roller +Roller +rollers +Rolling +rolling +ROOM +rotary +Rotating +rotating +rotational +ROTF +route +ROUTINE +routines +RPM +rpm +RPS +Rr +RSDOB +RTRACK +RTYRE +rubber +Run +run +Running +running +runs +RV +RVAL +s +S +SAE +safely +saloon +same +satisfy +Save +save +Save_as +Save_As +saved +saving +Saving +Scale +scale +scaled +scales +Scales +scaling +Scaling +scan +Schedule +schedule +schedules +SCOLON +Screen +screen +screens +scrollable +SEC +second +seconds +Section +section +sections +see +See +segment +segments +Select +Selected +Selecting +selection +selections +selects +Semi-Neutral +semi-neutral +SEND +sensitive +sensitivity +Sensitivity +separate +separated +separately +sequence +series +set +Set +Set-up +set-up +sets +setting +Setting +Settings +Setup +setup +seven +several +SG +shaft +Shaft +shafts +share +sheet +Sheet +sheets +Shift +shifted +shifting +Shifts +shifts +SHIGH +shortcut +should +Should +show +showing +shown +shows +shuffle +shuffled +shuffling +shut +shutdown +Si +side +SIGMA +significantly +Similar +similar +similarly +Simple +simple +simply +simulate +simulating +simulation +Simulation' +simulations +sin +SIN +SINC +since +Since +single +Single +six +size +sizes +skip +Skipped +skipped +SLIP +slip +Slip +SLOW +slower +small +SMAXG +Smoothed +SMXHYB3 +Snetterton +so +So +SOC +SOCMAX +SOCMIN +SOCOFF +Socoff +SOCON +SOCRAT +Socrat +SOCRATIO +software +SOHC +Solution +solution +Solve +solve +solver +solving +Some +some +sophisticated +source +SP1 +SP2 +SPACE +space +span +Spark +SPBORE +SPDHYB +SPDHYB3 +SPDMAP +SPDPC +Spec +spec +specific +Specific +Specification +specification +specifications +Specified +Specifier +Specifies +specifies +Specify +specify +Specifying +SPEED +Speeds +speeds +SPEMAX +SPFACT +SPIDLE +spin +Spline +spline +splines +split +SPM +SPOPTU +SPRATIO +spread +Spreadsheet +spreadsheet +spreadsheets +SPSTROKE +SQ +sqrt +SRIDLE +SSCALE +SSCALE-STKOLD +SSTR +st +stabilised +STAGS +stall +Stall +standard +Standard +Standing +standing +START +start +Start +start-up +started +Starting +starts +startup +state +State +status +Status +STATUS +Std +steady +Steady +STEFIN +STEFOUT +step +Step +steps +still +STOK +stop +STOP +stopped +storage +Storage +Store +STORE +stored +STR +Straight +straight +straights +strategies +strategy +Strategy +STRIN +STRING +string +strings +Stroke +stroke +STROKE +STROUT +Structure +structure +STSENG +STSMAX +STSMIN +STUDY +study +style +Style +Sub +sub +sub-components +sub-divided +sub-menu +sub-options +sub-section +sub-sections +sub-window +subsequent +subsequently +subsystems +Such +such +summarised +summary +Summary +summed +supplied +supported +Surface +surface +Suspensions +Swept +swept +switch +switched +switches +Switches +Switching +switching +symbol +Symbol +symbols +System +system +System-out +systems +T +tab +table +take +take-off +taken +TAN +TARGET +target +Target +task +TAXLE +TC +TCHYB3 +TE1 +TE2 +TE3 +TEBORE +technique +TECR +telemetry +Telemetry +tells +temperature +Temperature +tendency +Term +term +TERM +TERMINATOR +terms +TERMS +test +Test +TESTROKE +tests +Text +textual +TGB +TGSHIFT +TGSHIFTINT +th +than +THE +their +them +themselves +Then +THEN +theoretical +theory +Theory +THERE +There +there +therefore +thermal +these +These +They +they +third +THIS +thoroughly +those +though +three +Three +Threshold +threshold +thro +Throttle +throttle +thus +Thus +Ti +tick +ticked +time +Time +times +Times +Timing +TINC +TITAUX +TITGLOS +TITLE +title +Title +titles +TMAXG +TO +To +toards +together +Together +toggle +tonne +tool +Tool +tool-bar +toolbar +tools +Tools +top +top-left +top-right +TORATIO +TORQ +TORQUE +total +Total +TOTF +towards +TPROP +TRACK +Track +TRACKF +TRACKR +tractive +train +transfer +transferred +Transient +transient +transients +transmission +Transmissions +transmitted +trends +true +TRUE +TRY +TSHYB3 +TSLIP +TSTEP +TTHYB3 +TURBO +TURBOCHARGED +Turbocharged +turbocharged +turn +two +Two +twofold +txt +TYDEF +type +Type +types +Types +Typical +typical +Typically +typically +TYR1 +TYR2 +TYR3 +TYR4 +TYR5 +TYR6 +TYRE +Tyre +tyre +tyre' +tyres +U +UDCLTCH +UM +un-selected +unaltered +unchanged +under +Under +understood +unique +unit +units +Units +UNIX +unless +Unlocked +unsaved +until +Up +up +Update +update +updated +updates +Updating +Upon +upper +US +Use +use +Used +useful +User +Users +users +uses +Using +USMAXG +utility +UTMAXG +v +V +V-engines +V1 +V2 +v3.0b +valid +validated +validity +VALUE +Value +value' +Values +valve +Valve +Variable +Variables +variation +varies +various +Various +vary +varying +ve +Vee +VEHICLE +vehicle-powertrain +vehicles +VELO +Velocity +velocity +verses +version +versions +vertical +very +vi +via +video +view +View +View' +viewed +Viewer +viewing +Viewing +vii +viii +Vis +viscosity +Visibility +visibility +visible +visualisation +VLIFT +VLIFT2 +VM +VM^ +Vm^2 +VM^2 +VMAX +Vmax +voltage +Volume +volume +vs +VSWEPT +VTF +W +WAAXLE +WACFACT-CO +WACFACT-HC +WACFACT-NOX +WAGB +WAPROP +warm +Warm +warm-up +Warm-Up +Warm-up +WARM-UP +WARMF-CO +WARMF-HC +WARMF-NOX +Warming +WARMT-CO +WARMT-HC +WARMT-NOX +warned +warning +Warning +warnings +Warnings +WAS +was +WAXLE +way +WBB +WBIG +WBIG2 +WBM +WCAM +WCAM2 +WCM +WE +Weight +weight +WEIGHT +Weighted +well +were +WGEAR +what +WHBASE +Wheel +wheel +Wheelbase +wheelbase +wheels +Wheels +When +when +where +Where +whether +Whilst +whilst +white +who +whole +wide +widget +Width +width +WIDTH +widths +Window +windows +Windows +wire +Wire +wish +wishes +WITH +With +Within +within +without +Wizard +wizards +WMAIN +WMAIN2 +Word +work +works +world-wide +would +Write +write +WRITE +writing +written +wrong +WTD +WTDDIST +WTDGKM +x +X +X-axis +x-axis +X-Label +x-values +x-y +X1 +XCD +XCLF +XCLR +XLIFT +XRTYRE +XTYRE +Y +y +y-axes +Y-axes +Y-axis +y-axis +Y-Label +y-result +Y1 +Y2 +YCD +YCLF +YCLR +yellow +You +you +your +YRTYRE +Z +Z-axis +z-axis +Z1 +Zero +zero +zone +zoom +Zoom +zoomed +| +~~~~ +~~~~~~~ +~~~~~~~~~ +~~~~~~~~~~ +… +……. +· +¼ diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/VEHICLE.rtf b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/VEHICLE.rtf new file mode 100644 index 0000000..2392a81 --- /dev/null +++ b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/VEHICLE.rtf @@ -0,0 +1,10450 @@ +{\rtf1\ansi\deff1 +{\fonttbl{\f0\froman Times New Roman;}{\f1\fswiss Arial;}{\f2\froman Symbol;}{\f3\fnil Monotype Sorts;}{\f4\fswiss Verdana;}{\f5\fmodern Courier;}{\f6\fmodern Courier New;}} +{\colortbl;\red255\green0\blue0;\red0\green255\blue0;\red0\green0\blue255;\red255\green255\blue0;\red0\green255\blue255;\red0\green0\blue0;\red0\green128\blue0;} +{\stylesheet{\fs28 \snext0 Normal;} +}\pard\plain +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Data Module +\par \pard \fs20 Overview +\par \plain\fs24 +\par \fs20 The data module is designed for easy, rapid generation of vehicle system models. The \b\fs24 +\par \plain\fs20 The data module allows the user to enter data, read in or save models, create new models and adjust data in existing models. +\par +\par Icons representing the various vehicle-powertrain subsystems allow the user to view the data for that section of the model and adjust, add or delete data from the model. Graphical features allow the user to view the results of changes to the specific data-set and adjust data as fit. +\par \pard +\par The vehicle system model sub-components and relevant icons are: +\par +\par \pard\fi715 \ul \b\ul Vehicle\plain\b\fs20 \plain\fs20 Data +\par \pard \b +\par \pard\fi715 Dyno\plain\b\fs20 \plain\fs20 Data +\par \pard \b +\par \pard\fi715 Tyre\plain\b\fs20 \plain\fs20 Data +\par \pard \b +\par \pard\fi715 Driveline\plain\b\fs20 \plain\fs20 Data +\par \pard \b +\par \pard\fi715 Gearbox\plain\b\fs20 \plain\fs20 Data +\par \pard \b +\par \pard\fi715 Engine\plain\b\fs20 \plain\fs20 Data +\par \pard \b +\par \pard\fi715 Hybrid Drive System\plain\b\fs20 \plain\fs20 Data +\par \pard \b +\par \pard\fi715 Driver\plain\b\fs20 \plain\fs20 Data +\par \pard +\par When an icon is selected the relevant data entry window is displayed with various vehicle and powertrain parameters available for editing. A more complete explanation of each of the model sub-sections is available, eg. See Vehicle Data. +\par +\par When the user is satisfied with the model it can be saved using the save or save-as icons in the main window toolbar. This will write the model as a \b *.car file. +\par +\par \plain\fs20 Additional advanced data sections are also used as subsets of these major data sections.\b +\par \pard \fs24 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \fs28 The *.CAR File +\par \pard \plain\fs20 +\par +\par The *.car file is an ASCII text format file which contains the complete model specification. It is arranged in a logical format with a section for each of the vehicle subsystems. The example below presents a typical *.car file, in this case a model of a Lotus Esprit racing car : +\par +\par \plain\f0\fs16 esprit cardat file +\par race esprit 400 hp +\par erace 206 +\par VEHICLE +\par 1200. +\par 1.770 0.3700 1.900 -0.2530 -0.3030 +\par 1.205 +\par 2.438 1.533 1.624 1.414 0.4000 +\par \pard TYRE +\par 0.3146 +\par 2 1.400 0.9500 +\par 10.00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 +\par DRIVE +\par 2 +\par 0.7385 0.7385 +\par 0.0000E+00 0.0000E+00 +\par 3.500 0.9700 2 +\par GEARBOX +\par 5 0.2000 0.0000E+00 2 +\par 3.363 0.9800 0.1000E-02 +\par 2.059 0.9700 0.1000E-02 +\par 1.387 0.9700 0.1000E-02 +\par 1.037 0.9700 0.1000E-02 +\par 0.8205 0.9700 0.1000E-02 +\par \pard GSHIFT +\par 1 +\par acc +\par 1 0 1 +\par 1.000 +\par 0.0000E+00 7400. +\par 0.0000E+00 7400. +\par 0.0000E+00 7400. +\par 0.0000E+00 7400. +\par 0.0000E+00 7400. +\par 2 0 +\par CLUTCH +\par 1 1.000 +\par PDRIVE +\par 1.000 1.000 2 +\par ENGINE +\par 1 +\par 102.0 102.2 10.00 4 4 0.0000E+00 +\par 1000. 7500. +\par 10 +\par 1000. 7.000 +\par 2000. 12.40 +\par 2500. 18.20 +\par 3000. 18.90 +\par 3900. 20.50 +\par 5000. 18.80 +\par \pard 6000. 17.80 +\par 6500. 16.78 +\par 7000. 15.10 +\par 7500. 13.20 +\par DRIVER +\par 0.9000 0.8000 0.6000 0.0000E+00 0.0000E+00 0 +\par \f1\fs20 +\par This illustrates how the data is split into obvious sections eg. VEHICLE, TYRE, DRIVE, ENGINE, GSHIFT (for shift-strategy), etc. A model is constructed using any of the file sub-sections listed here: +\par +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 VEHICLE \tab \tab \tab +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 DYNO +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 TYRE\tab \tab \tab \tab +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 DRIVETRAIN\tab \tab \tab +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 GEARBOX\tab \tab \tab +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 GLOSS +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 GSHIFT +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 TORQUE CONVERTER +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 CLUTCH +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 ENGINE\tab \tab \tab +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 ENG_SCALE +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 MAP +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 OPTIMUM +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 CATALYST +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 WARM-UP +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 AUXILLARIES +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 PDRIVE +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 GRID +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 HYBRID +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 DRIVER +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 AERODYNAMICS +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 HYBPOWER +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 HYBLOSS +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 HYBBATTERY +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 HYBCONTROL +\par \pard\li705\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 XTYRE +\par \pard\tx355 +\par \pard\tx355 A working LOTUS VEHICLE SIMULATION model must include at least those sub-components marked with +\par \pard\tx355 The user is able to create *.car files using the text editor available in the \plain\f0\b\fs20 \'91\f1 File\plain\f0\b\fs20 \'92\plain\fs20 menu-bar, though the LOTUS VEHICLE SIMULATION user interface makes this approach relatively inefficient. In the following sections that explain the details of each data sub-section, reference is given to the correct format for the text components of that part of the *.car file. +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 How to Create a Model +\par \pard \fs24 +\par \plain\fs20 To create a new model, select the \ul file new icon\plain\fs20 \b \plain\fs20 at the far left of the main window tool-bar or \b\ul File / New\plain\fs20 from the menu-bar. The user is prompted to confirm this action since any current data will be lost. If this is done a new untitled model is created and the user is free to begin entering data. +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 How to Load a Model +\par \pard \plain\f0\fs20 +\par \f1 To load a previously created model or one of the supplied examples, select the \ul file open icon\plain\fs20 from the main window tool-bar or the \b\ul File/Open\plain\fs20 menu from the menu-bar. This brings up the standard windows file-browser.\b\fs24 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \fs28 How to Save a Model +\par \pard \plain\fs20 +\par To save a model, select the \ul file save icon\plain\fs20 from the main window tool-bar or the menu-bar option \b\ul File/Save\plain\fs20 . If no change has been made to the model, this automatically brings up the browser to add a new file-name. Otherwise the file is overwritten. +\par +\par To save the current model unchanged or otherwise, select \b\ul File/Save As\plain\fs20 from the menu-bar or the \ul file save as\plain\fs20 from the main window tool-bar. This will automatically bring up the browser and prompt the user to enter a new filename. If the same or another used filename is entered the user is prompted to accept overwriting of that file.\b\fs24 +\par \page +{\up +} +{\up $} +\pard\keepn\sb235\sa55 {\up #} +\fs28 How to Change a Variable +\par \pard \plain\fs20 +\par To change a variable in any of the data windows, use the mouse or tab key to select the relevant value box, and type in the new number. +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 How to Change an Option +\par \pard \plain\fs20 +\par To change an option, for instance the type of drive layout (\b\ul Data/Drive/Final Drive)\plain\fs20 , use the mouse to select the arrow at the right of the display box. This presents the available options and allows selection from the list. +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 How to Use Spreadsheets +\par \pard \plain\fs20 +\par To manipulate data in a spreadsheet, for instance in an engine map (\b\ul Data/Engine/Engine Maps\plain\fs20 ), first ensure that a map is available. If not select \b\ul Option/On\plain\fs20 and enter the required number of loads and speeds. +\par +\par To copy a section of data, drag the pointer across the section and with the area highlighted, press the right button. This calls a \b pointer pop-down menu \plain\fs20 to access the \b copy\plain\fs20 option. Then moving to the desired cell, select it and repeat the menu selection procedure choosing\b paste\plain\fs20 . \b\fs24 +\par \pard +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \fs28 How to Create a Detailed Hybrid Model +\par \pard \plain\fs20 +\par Lotus Vehicle Simulation contains two levels to which a 'Hybrid' vehicle can be modelled. +\par +\par At the \uldb simple level\plain\fs20 it consists of a conventionally defined vehicle model with the hybrid portion providing a simple energy storage model. This simple model provides limited functionality acting as a 'range extender' with settings for its minimum and maximum storage capacity its charge / discharge efficiency and the maximum input and output torque's. Whilst this level provides an insight into the possible benefits of a hybrid vehicle the model detail is not adequate for a in-depth study of hybrid component matching. +\par \pard +\par The \uldb extended level\plain\fs20 allows the individual hybrid components to be defined in detail including, a thermal model, \uldb efficiency map\plain\fs20 and performance envelope. A \uldb control strategy\plain\fs20 is also defined that controls target levels of battery charge, auxiliary power unit (APU) shutdown, allowable rate of change in speed of the APU, the aggressiveness of the charging regime and a time history smoothing function. +\par +\par The components available within the extended hybrid model are; +\par \pard\tx355 \tab \tab APU Generator +\par \tab \tab Drive Motor +\par \tab \tab Drive Regenerator +\par \tab \tab Battery +\par +\par To build an extended hybrid model a number of the conventional vehicle data modules are used as well as the unique hybrid data sections this provides for the greatest flexibility in defining a hybrid vehicle. +\par +\par The engine data sections are used to define the IC engine that drives the APU generator, thus the data sections for performance, maps, catalyst, warm up, etc. are applicable and can be used in any hybrid simulation. +\par \pard\tx355 +\par The 'primary drive' data section can also be used with hybrid models the output from which is taken as the input speed to the APU generator. +\par +\par The 'Gearbox' should be defined as a single speed manual transmission, (normally 1:1 ratio), this does not provide a connection between the APU and the final drive, since the hybrid model is currently restricted to a 'Series Hybrid', but is required to pass the data checking routines and avoid the gear shift strategies being employed. +\par \pard\tx355 +\par The final drive module is used, the drive motor and drive regenerator hybrid components being connected to the input of the final drive. +\par +\par The hybrid components themselves are defined via the four data windows associated with the extended hybrid model that specifiy, the component performance, the component efficiencies, the battery charge/discharge voltage model and the hybrid control strategy. Some of the components are optional, (i.e. the drive regenerator), and some components have different levels of data definition, (i.e. from single fixed value to full 2D map). +\par \pard\tx355 +\par \b\fs24 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \fs28 Vehicle Data - Variables\plain\fs24 +\par \pard \fs20 +\par This window is accessed using the \ul \b\ul Vehicle icon\plain\b\fs20 \plain\fs20 on the tool bar or through the \b Data/Vehicle\plain\fs20 option from the pull-down menus. This section is concerned with the *.car file titles, the calculation run number and the basic vehicle dimensions. +\par +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par \b\fs22 Title Variables\plain\fs20 +\par +\par \pard\fi715 \b Main Title\plain\fs20 (80 characters max.) +\par \b Secondary Title\plain\fs20 (80 characters max.)\fs24 +\par \b\fs20 Test Number \plain\fs20 (80 characters max.) +\par \b Results Counter\plain\fs20 (integer)\fs24 +\par \pard \b\fs20 +\par \fs22 Vehicle Variables\fs20 +\par +\par \pard\fi715 Test Weight (kg) - \plain\fs20 Total weight including occupants +\par \b Wheelbase (m) - \plain\fs20 Vehicle wheelbase from front to rear wheels +\par \b Front Track (m) - \plain\fs20 Vehicle track for cornering calculations +\par \b Rear Track (m) - \plain\fs20 Vehicle track for cornering calculations +\par \b D.C.o.G (m) - \plain\fs20 Distance of centre of gravity from front wheels +\par \b H.C.o.G (m) - \plain\fs20 Height of centre of gravity above the ground +\par \b Frontal area (m2) \plain\fs20 Vehicle frontal area\b +\par Drag coefficient -\plain\fs20 Vehicle drag coefficient +\par \pard\fi715 \b Plan area (m2) -\plain\fs20 required for aerodynamic pitching moments +\par \b Front lift Coeff - \plain\fs20 Vehicle aerodynamic front lift coefficient\fs24 +\par \b\fs20 Rear Lift Coeff -\plain\fs20 Vehicle aerodynamic rear lift coefficient +\par \b Air Density (kg/m3) - \plain\fs20 Ambient air density +\par +\par \pard To view a diagrammatic representation of these variables, select the graphics icon at the top right of the vehicle window. +\par +\par The vehicle data values for \plain\f0\fs20 \'91\f1 drag coefficient\plain\f0\fs20 \'92\f1 , \plain\f0\fs20 \'91\f1 front lift coefficient\plain\f0\fs20 \'92\f1 and \plain\f0\fs20 \'91\f1 rear lift coefficient\plain\f0\fs20 \'92\f1 can also be defined as non-linear functions using the \uldb extended aerodynamic\plain\fs20 data option. +\par +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Dynamometer Data - Variables +\par \pard \plain\fs20 +\par This window is accessed using the \ul \b\ul Dyno icon\plain\b\fs20 \plain\fs20 on the tool bar or through the \b Data/Dynamometer \plain\fs20 option from the pull-down menus. The section is concerned with the load vs. vehicle speed relationship applied by a chassis dynamometer if the vehicle is to be simulated as running on this type of test-bed - useful for correlation between measured emissions testing and simulation. +\par +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par \pard +\par To select a dynamometer model to be included in the simulation, select \b on\plain\fs20 from the options list in the dyno window. To remove select \b off\plain\fs20 . To derive a curve based on the input vehicle and tyre data, select \b derive\plain\fs20 . This will automatically calculation values for the variables described below, though the user is free to adjust these as desired. +\par +\par \b\fs22 Chassis Dyno Variables +\par \plain\fs20 +\par \pard\fi715 \b Inertia Class - \plain\fs20 Dyno Effective Mass - Inertia (Kg)\b +\par \fs22 +\par \pard\li985\fi-265 \fs20 Three curve fitting constants - \plain\fs20 Define the chassis dyno load at the roller periphery via the form - \i Brake Force = A + B.V + C.V2\plain\b\fs20 +\par \pard +\par \pard\fi715 A - \plain\fs20 Brake Constant (N) +\par \b B - \plain\fs20 Brake Constant (N/m/s) +\par \b C - \plain\fs20 Brake Constant (N/(ms)2)\b +\par \pard +\par \plain\fs20 To view the calculated characteristic load vs. vehicle speed relationship based on the input variables, select the graphics icon at the top right of the dyno window. The graphics window pull down menu provides access to options such as autoscaling (To bring the axes scales within the boundaries of the curve), zoom functions and printing. +\par +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \b\fs24 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \fs28 Tyre Data - Variables +\par \pard \fs24 +\par \plain\fs20 This window is accessed using the \ul \b\ul Tyre icon\plain\b\fs20 \plain\fs20 on the tool bar or through the \b Data/Tyre\plain\fs20 option from the pull-down menus. The tyre window is concerned with the load vs. vehicle speed relationship for tyre rolling resistance and the definition of tyre rolling radius and efficiency. +\par +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par The tyre model is a pre-requisite of the simulation and hence cannot be switched off. To select default Lotus values for the tyre rolling resistance curve coefficients select from the tyre data menubar the \ul CopyData\plain\fs20 / \ul Set Rolling Resistance to Default Values\plain\fs20 . +\par \pard +\par The tyre data can be defined for both front and rear tyres separately or as a common tyre. Select the required setting from the options presented. Selecting \b common\plain\fs20 will display the data currently stored that will be used for both front and rear. Selecting either \b front\plain\fs20 or \b rear\plain\fs20 will display the data to be used for that particular tyre. With either \b front\plain\fs20 or \b rear\plain\fs20 selected this implies that the data stored for \b common\plain\fs20 is ignored, and the required data must be provided for both front and rear tyres. +\par \pard +\par The common tyre data values can be copied into the currently displayed 'front' or 'rear' tyre using the menu option \ul CopyData\plain\fs20 / \ul Tyre Data from Common\plain\fs20 . +\par \ul \plain\fs20 +\par The tyre data window menubar option \ul Extended\plain\fs20 / \ul Tyre\plain\fs20 opens the \uldb extended tyre model data window\plain\fs20 , that provides the option of a non-linear definition for the rolling radius. +\par +\par The tyre rolling resistance coefficients can be edited using the spline list and edit function that is available through either the menu option \ul List\plain\fs20 / \ul Tyre Spline\plain\fs20 or the \ul spline edit icon\plain\fs20 . This provides a tool for listing and editing the spline in different units, any changes can be saved back in to the tyre data window in the correct units. +\par \pard +\par \b\fs22 Tyre Variables +\par \plain\fs20 +\par \pard\li985\fi-265 \b Rolling Radius (m) - \plain\fs20 Note: using the tyre unloaded radius is an approximation - more sophisticated approaches are possible (eg. See European Tyre and Rim Technical Organisation documentation supplied). To define a non-linear rolling radius refer to the \uldb extended tyre model\plain\fs20 +\par \b Drive Efficiency (0-1) - \plain\fs20 Tyre transmission efficiency - typically ~ 0.95 +\par \b Coefficient of Slip () - \plain\fs20 Coefficient of friction between the tyre and the road. Typically in the range 0.8 - 1.15. Related to tyres resistance to wheel-spin/slip +\par \pard\li985\fi-265 \b Rolling Resistance Coefficient (N/1000N) - Three curve fitting constants - \plain\fs20 Define the tyre rolling resistance via a curve-fitted polynomial of the form - \i Tyre Rolling Resistance Coefficient = (Constant) + (V Coefficient).V + (V2 Coefficient).V2 + (V3 Coefficient).V3 + (V4 Coefficient).V4 + (V5 Coefficient).V5\plain\b\fs20 +\par \pard\li845\fi-125 +\par Constant +\par \pard\fi715 V Coefficient \plain\fs20 +\par \b V2 Coefficient +\par V3 Coefficient +\par V4 Coefficient +\par V5 Coefficient +\par \pard \plain\fs20 +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \b\fs24 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \fs28 Driveline Data - Introduction +\par \pard \fs24 +\par \plain\fs20 This window is accessed using the \ul \b\ul Driveline icon\plain\b\fs20 \plain\fs20 on the tool bar or through the \b Data/Driveline\plain\fs20 option from the pull-down menus. This action will call into view the \b driveline sub-menu\plain\fs20 which provides access to the various driveline data-windows as listed below : +\par +\par \pard\li845\fi-125 \uldb \b Torque Converter/Clutch\plain\b\fs20 -\plain\fs20 Options for torque converters and clutches\b +\par \uldb Torque Converter Lock-up\plain\b\fs20 - \plain\fs20 Definition of torque converter lock-up characteristics\b +\par \uldb Torque Converter Idle\plain\b\fs20 -\plain\fs20 Definition of torque converter idle strategy\b +\par \uldb Final Drive\plain\b\fs20 - \plain\fs20 Specification of final drive system, system inertia\plain\f0\fs20 \'92\f1 s, transmission efficiencies and drive ratio.\fs18 +\par \pard \fs20 +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \b +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \fs28 Torque Converter / Clutch +\par \pard \plain\fs20 +\par This window is accessed using the \ul \b\ul Driveline icon\plain\b\fs20 \plain\fs20 on the tool bar or through the \b Data/Driveline\plain\fs20 option from the pull-down menus, and then selected \b TC/Clutch\plain\fs20 from the \b Driveline sub-menu\plain\fs20 . +\par +\par The TC/Clutch window provides the user with the facility to specify the type of drive coupling. Currently LOTUS VEHICLE SIMULATION supports models of common Clutches and Torque Converters. +\par +\par \b Selecting Coupling Type\plain\fs20 +\par +\par To switch between clutch and torque converter, select \plain\f0\b\fs20 \'91\f1 Options\plain\f0\b\fs20 \'92\plain\fs20 and choose between the two available options. Switching from clutch to torque converter will activate the Torque Converter spreadsheets and data boxes. Switching back to clutch will disable these features. +\par \pard +\par \b Using a Clutch Model\plain\fs20 +\par +\par To use a clutch, select \plain\f0\b\fs20 \'91\f1 clutch\plain\f0\b\fs20 \'92\plain\fs20 from the \plain\f0\b\fs20 \'91\f1 options\plain\f0\b\fs20 \'92\plain\fs20 menu. The clutch model has a single data variable, \plain\f0\b\fs20 \'91\f1 Declutch Speed\plain\f0\b\fs20 \'92\plain\fs20 (km/h). +\par +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par \b Torque Converters, Fluid Coupling or Torque Multiplier\plain\fs20 +\par +\par A torque converter is a standard coupling system for modern automatic transmissions. It is sometimes referred to as a \plain\f0\fs20 \'91\f1 Fluid Coupling\plain\f0\fs20 \'92\f1 or Torque Multiplier. +\par \pard +\par \b Using a Torque Converter\plain\fs20 +\par +\par To use a torque converter model, select \plain\f0\b\fs20 \'91\f1 Torque Converter\plain\f0\b\fs20 \'92\plain\fs20 from the \plain\f0\b\fs20 \'91\f1 Options\plain\f0\b\fs20 \'92\plain\fs20 pop-down menu. This activates the torque converter data entry boxes and spreadsheet. +\par +\par \b Torque Converter Data\plain\fs20 +\par +\par Various data entries are used to model the torque converter characteristics :\b\fs22 +\par +\par \fs20 Number of Speed Ratios\plain\fs20 : The number of points over which the torque converter is modelled. (Up to 20 points) +\par \b Spreadsheet\plain\fs20 : A spreadsheet for data entry of speed ratios, torque ratios and input capacity. +\par \pard \b Spreadsheet Data Variables\plain\fs20 : +\par \pard\tx355 \tab \b Speed Ratio\plain\fs20 = Output Speed / Input Speed +\par \tab \b Torque Ratio\plain\fs20 = Output Torque / Input Torque +\par \tab \b Input Capacity (Rad/s/Torque)\plain\fs20 = Torque converter input capacity at this speed ratio +\par +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par \b Torque Converter Calculations\plain\fs20 +\par +\par After adjustment of the variables the user must select \plain\f0\b\fs20 \'92\f1 Update\plain\f0\b\fs20 \'92\plain\fs20 to display the re-calculated estimates for stall speed and stall torque. +\par \pard\tx355 +\par \b Graphical Display of Torque Converter Characteristics +\par \plain\fs20 +\par To display the torque converter characteristic curves, select the \ul \b\ul Graph Icon\plain\b\fs20 \plain\fs20 from the top right of the window. This includes functions for autoscaling, zoom, printing and data-picking accessed from the pull-down menu at the top right of the graph display window.\b\fs22 +\par \plain\fs20 +\par \b Factoring a Torque Converter Characteristic Curve\plain\fs20 +\par +\par The user is able to apply speed and load factors to the torque converter curve, by using the \plain\f0\b\fs20 \'91\f1 Factor\plain\f0\b\fs20 \'92\plain\fs20 menu-bar pull down menu . Both speed factoring and load factors are available. The user is prompted to enter a factor as a ratio of 1. +\par \pard\tx355 +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \b\fs24 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \fs28 Torque Converter Lock-up +\par \pard \fs24 +\par \plain\fs20 The torque converter lock-up window is accessed from the \b Driveline\plain\fs20 menu selected by clicking the \ul \b\ul Driveline icon\plain\b\fs20 \plain\fs20 in the data icons tool-bar or selecting \b Driveline\plain\fs20 from the main window menu-bar pull down menu \b Data\plain\fs20 . +\par +\par The window is used to create or modify and existing torque converter lock-up strategy. Lock-up does not have to be incorporated when using a torque converter but modern automatic transmission typically employ some lock-up strategy to improve efficiency. +\par \pard +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par \b Using a Lock-Up Strategy\plain\fs20 +\par +\par To activate the lock-up model, select \plain\f0\b\fs20 \'91\f1 On\plain\f0\b\fs20 \'92\f1 \plain\fs20 from the \plain\f0\b\fs20 \'91\f1 Options\plain\f0\b\fs20 \'92\plain\fs20 pop-down menu in the Lock-up window. This activates the data entry boxes and spreadsheet. +\par +\par The lock-up strategy is defined as a set of lock-on and lock-off points defined in terms of any \b map variable \plain\fs20 vs. speed (Various speed variables are available) for a range or torque fractions (up to 10). +\par \pard +\par \b Lock-Up Data\plain\fs20 +\par +\par The lock-up strategy is defined using the following variables : +\par \b +\par \pard\li845\fi-125 Load Units\plain\fs20 : The units used to define the load fraction. This can simply load fraction, or alternatively, any of the map variables specified at the \plain\f0\b\fs20 \'92\f1 engine map data\plain\f0\b\fs20 \'92\plain\fs20 window. Note : If the load unit chosen relates to a map undefined, the system will not operate correctly. +\par \b Speed Units\plain\fs20 :The units used to define the speed variable. Four are presently available : +\par \pard\li1415 \b 1. Engine Speed (RPM) +\par 2. Propshaft Speed (RPM) +\par 3. Road Speed (MPH) +\par 4. Road Speed (KMH)\plain\fs20 +\par \pard\li845\fi-135 \b Load Fraction \plain\fs20 : The load fraction for the currently displayed set of lock points. To add a fraction use the \plain\f0\b\fs20 \'91\f1 Functions\plain\f0\b\fs20 \'92\plain\fs20 pull-down menu at the top right of the window. +\par \b Spreadsheet\plain\fs20 : A spreadsheet is used to define the lock points +\par \pard\li1555\fi-115 \b Lock-Up\plain\fs20 : Speed at which lock-up occurs when load is equals load fraction displayed. +\par \b Lock-Off\plain\fs20 : Speed at which lock-off occurs when load is equals load fraction displayed. +\par \pard +\par \b Adding a Load Fraction in the Torque Converter Lock-Up Window\plain\fs20 +\par +\par To initially add fractions or add a load fraction to an existing set of torque converter lock-up data, use the \plain\f0\b\fs20 \'91\f1 Functions\plain\f0\b\fs20 \'92\plain\fs20 pull-down menu at the top left of the window. +\par +\par \b Deleting a Load Fraction in the Torque Converter Lock-Up Window\plain\fs20 +\par \b +\par \plain\fs20 To delete load fractions from an existing set of torque converter lock-up data, use the \plain\f0\b\fs20 \'91\f1 Functions\plain\f0\b\fs20 \'92\plain\fs20 pull-down menu at the top left of the window. +\par \pard +\par \b Inserting an Extra Load Fraction in the Torque Converter Lock-Up Window\plain\fs20 +\par \b +\par \plain\fs20 To insert a load fractions into an existing set of torque converter lock-up data, use the \plain\f0\b\fs20 \'91\f1 Functions\plain\f0\b\fs20 \'92\plain\fs20 pull-down menu at the top left of the window. A new load fraction map is inserted ahead of the load fraction visible when the insertion is carried out. +\par \b +\par Displaying the TC Lock-Up Data Graphically\plain\fs20 +\par +\par To view the torque converter lock map graphically, select the \ul \b\ul Graphic Icon\plain\b\fs20 \plain\fs20 at the top-right of the torque converter Lock Up Window. The graphics window includes features for autoscaling, zoom, data-pick and printing, accessed using the pull-down menu at the top left of the graphics window.\b +\par \pard \plain\fs20 +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \b +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \fs28 Torque Converter Idle +\par \pard \fs20 +\par \plain\fs20 The \plain\f0\fs20 \'91\f1 Torque Converter Idle\plain\f0\fs20 \'92\f1 window is accessed from the \b Driveline\plain\fs20 menu selected by clicking the \ul \b\ul Driveline icon\plain\b\fs20 \plain\fs20 in the data icons tool-bar or selecting \b Driveline\plain\fs20 from the main window menu-bar pull down menu \b Data\plain\fs20 . +\par +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par The window is used to set the torque idle strategy. This is concerned with the operation of the Torque Converter during periods of zero power transmission. There are three options accessed using the \plain\f0\b\fs20 \'91\f1 Idle Mode\plain\f0\b\fs20 \'92\f1 \plain\fs20 pop-down menu in the window : +\par \pard +\par \pard\li845\fi-125 \b Normal Idle\plain\fs20 : Gearbox remains in drive +\par \b Full Neutral Idle\plain\fs20 : Gearbox in neutral and hence no drag torque on the engine +\par \b Semi-Neutral Idle\plain\fs20 : Gearbox in a \plain\f0\fs20 \'91\f1 semi-neutral\plain\f0\fs20 \'92\f1 mode where there exists some speed ratio between the engine and converter input and output speed. In this mode the user enters data in the \plain\f0\b\fs20 \'91\f1 Speed Ratio\plain\f0\b\fs20 \'92\plain\fs20 data box. +\par \pard +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \b +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \fs28 Final Drive +\par \pard \plain\fs20 +\par The \plain\f0\fs20 \'91\f1 Final Drive Data\plain\f0\fs20 \'92\f1 window is accessed from the \b Driveline\plain\fs20 menu selected by clicking the \ul \b\ul Driveline icon\plain\b\fs20 \plain\fs20 in the data icons tool-bar or selecting \b Driveline\plain\fs20 from the main window menu-bar pull down menu \b Data\plain\fs20 . +\par +\par The window is used to enter and modify the specification of the final drive/transmission system. The user is able to specify the drive layout, the inertia\plain\f0\fs20 \'92\f1 s of the main rotating components and the transmission ratio and efficiencies. +\par \pard +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par \b Final Drive Data Variables\plain\fs20 +\par +\par The following data is available for editing by the user : +\par +\par \pard\fi715 \b Drive Type\plain\fs20 : The user may select between : +\par \pard\li715\fi715 \b 1. Front Wheel Drive +\par 2. Rear Wheel Drive\plain\fs20 +\par \b 3. Four Wheel Drive +\par \pard \plain\fs20 +\par \pard\li845\fi-125 \b Front and Rear Wheel Inertia (kg.m2)\plain\fs20 : The combined inertia of the wheel, tyre and rotating brakes etc. These are for a single wheel. Two wheels are assumed to be fitted. +\par \b Drive Shaft Inertia (kg.m2)\plain\fs20 : The rotary inertia of the axle/drive shaft. This is the total inertia if two drive shafts are fitted. +\par \b Prop Shaft Inertia (kg.m2)\plain\fs20 : Total rotary inertia of the prop shaft. If not fitted, set to zero. +\par \b Final Drive Ratio +\par Final Drive Efficiency (0-1)\plain\fs20 : Maximum efficiency of the final drive used by transmission efficiency calculations. +\par \pard\li845\fi-125 \b Final Drive Efficiency Mode\plain\fs20 : The user may choose between two different efficiency models : +\par \pard\li715\fi715 \b 1. Efficiency fixed to maximum (entered value) +\par 2. Efficiency modelled as a function of speed and load\plain\fs20 +\par \pard +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \b +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \fs28 Gearbox Data - Introduction\plain\fs24 +\par \pard \fs20 +\par The powertrain systems are connected to the vehicle final drive via the gearbox system. To enter or review data for the gearbox, select the \ul \b\ul Gearbox Icon\plain\b\fs20 \plain\fs20 from the icon panel. Alternatively, select \ul Data / Gearbox\plain\fs20 from the main window menu bar or press \b F5\plain\fs20 . +\par +\par This brings up the gearbox menu from which the user can select from the following sub-window options: +\par +\par \pard\li845\fi-125 \uldb \b Specification\plain\b\fs20 \plain\fs20 : where gearbox transmission type and ratios are entered +\par \uldb \b Gear Losses\plain\b\fs20 \plain\fs20 : to enter detailed information on the system efficiency +\par \uldb \b Shift Strategy\plain\b\fs20 \plain\fs20 : to enter information on the system operating strategy +\par \uldb \b Cascade\plain\b\fs20 \plain\fs20 : to display a graphical representation of the drive force vs. Vehicle speed and road load +\par \uldb \b Gradability\plain\b\fs20 \plain\fs20 : A calculation tool to assess the vehicle\plain\f0\fs20 \'92\f1 s capabilities on inclines. +\par \pard\li845\fi-125 \uldb \b Max. Speed\plain\b\fs20 \plain\fs20 : A similar tool to assess the Vehicle system\plain\f0\fs20 \'92\f1 s maximum speed +\par +\par \pard \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Gearbox Specification\plain\fs24 +\par \pard \fs20 +\par This display allows the user to review the gearbox ratios, efficiencies and inertia\plain\f0\fs20 \'92\f1 s and other system variables. +\par +\par To access the gearbox specification window, select \b Gearbox Specification \plain\fs20 from the \b Gearbox \plain\fs20 sub-menu assessed from the Icon panel or main window drop down menu. +\par +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par The window displays the following data entry sections: +\par +\par \b Number of Ratios +\par \pard +\par \plain\fs20 This specifies the number of ratios in the transmission. To initially set the number change the number from zero to the required number of ratios. This activates the spreadsheet and allows entry of data for each ratio. +\par +\par To increase the number increase the number of ratios in the data box. This will add the required number to the bottom of the spreadsheet. To reduce the number repeat the process with the new number and those ratios above this will be greyed out. +\par +\par \pard \b Maximum Gearbox Input Torque +\par +\par \plain\fs20 This sets the maximum gearbox input torque. This is used by the gearbox efficiency calculations. If 0.0 is used, the calculation uses engine maximum torque. +\par \b +\par Maximum Gearbox Input Speed +\par +\par \plain\fs20 This sets the gearbox maximum input speed. This is used by the gearbox efficiency calculations. If 0.0 is used, the calculation uses engine maximum speed. +\par \b +\par Gearbox Efficiency Model +\par +\par \plain\fs20 This pop-down menu sets the model used to calculate the gearbox efficiency. Two options are presently available : +\par \pard +\par \pard\fi715 \b Fixed\plain\fs20 : using the specified efficiency for each ratio +\par \pard\li845\fi-125 \b Function\plain\fs20 : defining efficiency as a function of speed and load - using Lotus developed models. +\par \pard \b +\par System Data Spreadsheet\plain\fs20 +\par +\par The spreadsheet is used to enter data for the characteristics of each gear ratio. The number of ratios in the model is set using the gearbox \plain\f0\fs20 \'91\f1 number of ratios\plain\f0\fs20 \'92\f1 data box. +\par +\par The three variables for each gear are as follows: +\par +\par \pard\fi715 \b Ratio\plain\fs20 : Specifies the ratio of input to output speed for each ratio.\b +\par Efficiency\plain\fs20 : Specifies the efficiency of each ratio as a fraction of 1.0.\b +\par Inertia\plain\fs20 : Specifies the rotational inertia of each ratio (kg.m2) +\par \pard +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Gear Losses\plain\fs24 +\par \pard \fs20 +\par This window displays the specified gear loss curves if entered by the user. The losses are described as curves for torque loss in Nm vs. gearbox input speed (rpm) for each of up to 10 torque fractions (assumed to be the engine torque fraction) and for each gear specified in the model. +\par +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par The data variables are summarised below : +\par +\par \pard\li845\fi-125 \b Gear Loss Map Title\plain\fs20 - Users notes +\par \b Number of Gear Loss Speeds\plain\fs20 - Maximum if 20 +\par \b Number of Torque Fractions\plain\fs20 - Maximum of 10 +\par \b Torque Fractions (0-1.0)\plain\fs20 - Up to the number of fractions specified. These are assumed to be the engine torque fraction +\par \b Gearbox input speeds (rpm) \plain\fs20 - for each gear at each torque fraction +\par \b Gearbox torque loss (Nm)\plain\fs20 - for each gear and speed at each torque fraction +\par +\par \pard \b Switching On the Gear Losses System\plain\fs20 +\par +\par To enter data for the gear losses, switch the spreadsheet and associated data entry boxes by selecting \plain\f0\b\fs20 \'91\f1 on\plain\f0\b\fs20 \'92\f1 \plain\fs20 from the \b options \plain\fs20 pop-up menu (Note that the user must have already specified the gearbox specification). +\par +\par \b Entering Gear Loss Data for the First Time in a Model\plain\fs20 +\par +\par After switching the loss spreadsheet on, the user must first select a gear for which data is to be entered. This is done by pressing the right arrow in the \plain\f0\fs20 \'91\f1 gear number\plain\f0\fs20 \'92\f1 window. The display should then display \plain\f0\fs20 \'91\f1 1 of \plain\f0\fs20 \'93\f1 N\plain\f0\fs20 \'94\f1 \plain\f0\fs20 \'92\f1 where \plain\f0\fs20 \'93\f1 N\plain\f0\fs20 \'94\f1 is the number of gears in the model. +\par \pard +\par The number of speeds for which the currently displayed gear is to have loss data entered for is then entered in the adjacent data window. This will then permit data to be entered for the loss fractions. +\par +\par \b Adding Gear Loss Load Fractions\plain\fs20 +\par +\par Add the first load fraction by selecting \plain\f0\b\fs20 \'91\f1 Add Fraction\plain\f0\b\fs20 \'92\plain\fs20 from the pull-down menu in the top left. The user can modify the absolute value of this fraction by changing the displayed fraction in the data box at the bottom left of the window. To add additional fractions select this \plain\f0\b\fs20 \'91\f1 Add Fraction\plain\f0\b\fs20 \'92\plain\fs20 until the required number of fractions is reached. +\par \pard +\par \b Inserting Gear Loss Fractions\plain\fs20 +\par +\par To insert additional fractions to a gear loss dataset, select \plain\f0\b\fs20 \'91\f1 Insert Fraction\plain\f0\b\fs20 \'92\f1 \plain\fs20 from the pull-down menu. A fraction will be inserted before the currently displayed fraction and the other fractions shuffled as required. +\par +\par \b Deleting Gear Loss Fractions\plain\fs20 +\par +\par To delete fractions select \plain\f0\b\fs20 \'91\f1 Delete Fraction\plain\f0\b\fs20 \'92\plain\fs20 from the pull-down menu. This will remove the currently displayed fraction. +\par +\par \b Gear Loss Data \plain\fs20 +\par \pard +\par Data should be entered as torque loss (Nm) vs. gearbox input speed (rpm). After entering data, selecting \b Update\plain\fs20 will convert all torque losses into power (kW). +\par +\par A text entry window is available to enter a label to describe the source of the data or other notes. +\par +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \b\fs24 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \fs28 Shift Strategy\plain\fs24 +\par \pard \fs20 +\par This window is used to specify the user gear shift strategies. The user is able to specify up to a maximum of 10 different shift strategies, which can be selected at the calculation window. +\par +\par A shift strategy map is entered as an array of change up and change down data for each gear ratio across a 2-D map of a speed variable vs. a load variable. +\par +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par The variables are as follows : +\par \pard +\par \pard\li845\fi-125 \b Number of shift maps\plain\fs20 - must be equal or greater than 1 (Add a map using the top left pull-down menu functions). +\par \b Title of Shift Map\plain\fs20 - A user defined label eg. \plain\f0\fs20 \'93\f1 FTP 75 Shift Schedule\plain\f0\fs20 \'94\f1 +\par \b Number of Torque Fractions\plain\fs20 - Add using the pull-down menu functions, flip through using the arrows. +\par \b Torque Fraction\plain\fs20 - Change by selecting the data entry box and typing in required value. +\par \b Load Fraction Variable\plain\fs20 - Select from any of the map parameters for which data is detailed in the \plain\f0\b\fs20 \'91\f1 Engine Map\plain\f0\b\fs20 \'92\plain\fs20 window. +\par \pard\li845\fi-125 \b Speed Variable\plain\fs20 - Select from the four speed variables available : +\par \pard\li1125 \b 1.\plain\fs20 Engine Speed (RPM) +\par \b 2.\plain\fs20 Propshaft Speed (RPM) +\par \b 3.\plain\fs20 Vehicle Speed (KPH) +\par \b 4.\plain\fs20 Vehicle Speed (MPH) +\par \pard\li845\fi-125 \b Shift Mode \plain\fs20 - Specifies shifting mode from two options: +\par \pard\li1125 \b 1. \plain\fs20 Forced mode - obeys shifting strategy detailed +\par \pard\li1415\fi-275 \b 2.\plain\fs20 Free- Pre-Optimum - Sets shifting mode to minimise the map parameter set in the \plain\f0\b\fs20 \'91\f1 Engine Optimum\plain\f0\b\fs20 \'92\f1 \plain\fs20 window using the pre-calculated curve. +\par \b 3.\plain\fs20 Free \plain\f0\fs20 \'96\f1 Inst-Optimum \plain\f0\fs20 \'96\f1 Uses an instantaneous calculation to decide the optimum gear position using defined map. +\par \pard\li845\fi-125 \b Kickdown Mode\plain\fs20 - Sets whether the transmission kicks down under acceleration +\par \pard\fi715 +\par \pard \b Switching the Displayed Shift Maps and Adding, Deleting and Inserting Load Fractions\plain\fs20 +\par +\par The method of switching between displayed shift maps and adding, deleting and inserting maps and load fractions matches the method described in \plain\f0\b\fs20 \'91\f1 Gear Losses\plain\f0\b\fs20 \'92\plain\fs20 . +\par +\par \b Graphically Displaying the Gearbox Shift Strategy\plain\fs20 +\par +\par To view the shift strategy at each load fraction select the \plain\f0\b\fs20 \'91\f1 Graph Button\plain\f0\b\fs20 \'92\plain\fs20 . This displays the map and provides functions such as zoom and autoscale, accessible from the pull down menu at the top left of the graph window. +\par \pard +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Gearbox Cascade Diagram +\par \pard \plain\fs20 +\par This window displays the tractive load diagram for the vehicle system at each drive ratio vs. the combined aerodynamic and tyre loads and vehicle speed. +\par +\par \b Cascade Graphing Functions\plain\fs20 +\par +\par Functions such as zoom, autoscale and data pick are available from the pull-down menu at the top left of the display. +\par +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Gradability Tool\plain\fs24 +\par \pard \fs20 +\par The gearing gradability tool allows the user to view LOTUS VEHICLE SIMULATION calculations for the vehicle performance on inclines. Various tools are available to adjust the displayed ratios, increase the total vehicle mass (by adding towed mass), and the road gradient. +\par +\par \b Setting the Gradability Optimised Gear Ratios to be the Model Gear Ratios\plain\fs20 +\par +\par After adjusting ratios to the users satisfaction, the ratios may be transferred to become the main vehicle ratios by selecting \plain\f0\b\fs20 \'91\f1 Set as Gears\plain\f0\b\fs20 \'92\plain\fs20 . +\par \pard +\par To revert the changed ratios back to the initial values before adjustment select \plain\f0\b\fs20 \'91\f1 Revert\plain\f0\b\fs20 \'92\plain\fs20 . +\par +\par \b Calculating Gradability with Locked or Unlocked Torque Converter\plain\fs20 +\par +\par If using an automatic transmission, the user can lock or unlock the torque converter by toggling the \plain\f0\b\fs20 \'91\f1 Locked / Unlocked\plain\f0\b\fs20 \'92\plain\fs20 button. +\par +\par \b Calculating Gradability based on Road Gradient, Vehicle Speed or Gear Ratio\plain\fs20 +\par +\par The user can decide which variable should remain fixed during on-screen calculation using the \plain\f0\b\fs20 \'91\f1 Update\plain\f0\b\fs20 \'92\plain\fs20 pull-down menu at the top left of the window. The user may select from grade velocity, road gradient or gear ratio. +\par \pard +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Maximum Speed Tool +\par \pard \plain\fs20 +\par The user may view LOTUS VEHICLE SIMULATION basic theory calculations for maximum speed using the \plain\f0\b\fs20 \'91\f1 Max. Speed\plain\f0\b\fs20 \'92\plain\fs20 tool from the \b Gearbox\plain\fs20 menu. +\par +\par The user may change the ratios, vehicle speed and engine speed variables by manipulation of the spreadsheet data. To re-calculate the data select \plain\f0\b\fs20 \'91\f1 Update\plain\f0\b\fs20 \'92\plain\fs20 . +\par +\par \b Setting the User Modified Maximum Speed Ratios as the Model Ratios\plain\fs20 +\par +\par To transfer the adjusted gear ratios to the main model select \plain\f0\b\fs20 \'91\f1 Set as Gears\plain\f0\b\fs20 \'92\plain\fs20 . To reset the gears to the values before adjustment select \plain\f0\b\fs20 \'91\f1 Revert\plain\f0\b\fs20 \'92\plain\fs20 . +\par \pard +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Engine\plain\fs28 \b Data\plain\fs24 +\par \pard \fs20 +\par The engine data section forms the primary data screens for data entry to define the central powertrain unit. Currently facilities are primarily aimed at the modelling of I.C. engines. +\par +\par The user brings up the engine system menu by selecting the \ul Engine icon\plain\fs20 on the main menu tool bar. This displays the following options : +\par +\par \pard\li845\fi-125 \uldb \b Engine\plain\b\fs20 \plain\fs20 : Data for the I.C. Engine specification, inertia and full-load performance.\b +\par \uldb Engine Scaling\plain\b\fs20 \plain\fs20 : Advanced tool to adjust engine specification via scaling functions.\b +\par \uldb Engine Maps\plain\b\fs20 \plain\fs20 : Data window for full and part load fuel economy, emissions and engine operating condition.\b +\par \uldb Optimum\plain\b\fs20 \plain\fs20 : Tool to calculate optimum load-speed profile to minimise any selected map parameter - can then be used to drive shift strategy.\b +\par \pard\li845\fi-125 \uldb Catalyst\plain\b\fs20 \plain\fs20 : Data window for catalyst light-off characteristics and emissions after-treatment efficiency.\b +\par \uldb Warm-up\plain\b\fs20 \plain\fs20 : Data window for engine-out emissions and fuel economy during warm-up phase and engine acceleration.\b +\par \uldb Auxiliaries\plain\b\fs20 \plain\fs20 : Data window for specification and load characteristics of powertrain mounted auxiliary devices.\b +\par \uldb Grid Analysis\plain\b\fs20 \plain\fs20 : Data window for creation of a zone system for cumulative analysis of vehicle system operation across powertrain load-speed range.\b +\par \pard\li845\fi-125 \uldb Primary Drive\plain\b\fs20 \plain\fs20 : Data window for specification of engine primary drive, inertia and efficiency.\b +\par \uldb Units\plain\b\fs20 \plain\fs20 : Window for selection of preferred displayed units +\par +\par \page +{\up +} +{\up $} +\pard\keepn\sb235\sa55 {\up #} +\b\fs28 Engine +\par \pard \plain\fs20 +\par This window is selected from the \plain\f0\b\fs20 \'92\f1 Engine\plain\f0\b\fs20 \'92\plain\fs20 options menu accessed by selecting \plain\f0\b\fs20 \'91\f1 Engine\plain\f0\b\fs20 \'92\f1 \plain\fs20 from the engine menu. +\par +\par The window is used to review or adjust data for the following variables : +\par +\par \pard\li845\fi-125 \b Engine Type\plain\fs20 : Currently restricted to I.C. engine. +\par \b Cycle Type\plain\fs20 : 2 or 4-stroke types supported. +\par \b Compression Ratio\plain\fs20 : Only required for engine scaling functions. +\par \b Bore (mm)\plain\fs20 : Engine cylinder bore. Must be specified. +\par \b Stroke (mm)\plain\fs20 : Engine piston stroke. Must be specified. +\par \b No. of Cylinders\plain\fs20 : Total number of cylinders in engine. Must be specified. +\par \b Idle Speed (rpm)\plain\fs20 : Engine minimum speed. If not specified uses torque curve lowest speed. +\par \pard\li845\fi-125 \b Maximum Speed (rpm)\plain\fs20 : Engine maximum speed. If not specified uses torque curve highest speed. This can be set for each gear separately. See Extended options. +\par \b Engine Inertia (Kg.m2)\plain\fs20 : Rotating inertia of engine - May be set to zero. +\par \b Number of Speeds\plain\fs20 : Specifies number of speeds over which torque curve is detailed. +\par \b Engine Speed (rpm)\plain\fs20 : At each data point. +\par \b BMEP or Torque (Nm)\plain\fs20 : Maximum BMEP or torque at each data/speed point. Alternative BMEP curves can be defined for each gear, select the \plain\f0\fs20 \'91\f1 Limit in Each Gear\plain\f0\fs20 \'92\f1 option. +\par \pard +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par \b Factoring the Engine Torque Curve\plain\fs20 +\par +\par Features are also available to scale the torque curve in terms of speed and torque by using the \plain\f0\b\fs20 \'91\f1 Factor\plain\f0\b\fs20 \'92\plain\fs20 tool selected from the pull-down menu in the top left of the window. +\par +\par \b Displaying the Engine Torque Curve Graphically\plain\fs20 +\par +\par The torque curve can be displayed graphically using the \ul \b\ul graph icon\plain\b\fs20 \plain\fs20 at the top right of the window. This includes features for zoom, autoscaling, data pick and printing accessed from the pull-down menu at the top right of the graph window. +\par \pard +\par \b Increasing/Reducing the Number of Engine Torque Curve Points\plain\fs20 +\par +\par To increase the number of engine torque curve data points, increase the number of speeds entered in the data box. To reduce the number of engine torque curve data points, reduce the number of engine speeds in the data box. +\par +\par \b Engine Over-run FMEP coefficients. +\par +\par \plain\fs20 The coefficients used to calculate the engine friction during the overrun phase can be modified via the \plain\f0\fs20 \'91\f1 advanced\plain\f0\fs20 \'92\f1 menu item. An additional torque \plain\f0\fs20 \'91\f1 scalar\plain\f0\fs20 \'92\f1 can also be defined here. +\par \pard +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Engine Scaling +\par \pard \plain\fs20 +\par This window provides features to modify the entered engine performance and map data through a range of scaling functions related to changes from the base engine geometry to a new proposed specification. +\par +\par The user is required to enter data for the new engine geometry and enter estimates for the relative effects on power, engine operating speed range and thermal efficiency based on empirical or judgement data. For instance current I.C. engines typically demonstrate an improvement in thermal efficiency of around 3% per increase in compression ratio (Though this is only a broad approximation!). The user can enter the new compression ratio, giving a factor of 1.03 for change in th with C.R. The scaling tool also includes models for engine friction, allowing the effect of engine design to be incorporated - this makes use user estimates of the Lotus subroutine \plain\f0\fs20 \'91\f1 FRIC\plain\f0\fs20 \'92\f1 which draws on many engine studies and Lotus powertrain experience. +\par \pard +\par These scaling factors are then used in the calculation, thus allowing the analyst to rapidly assess the potential effects of changes in engine design. +\par +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par \b Switching on the Engine Scaling System\plain\fs20 +\par +\par To activate the engine scaling model, select\b \plain\f0\b\fs20 \'91\f1 On\plain\f0\b\fs20 \'92\plain\fs20 from the \plain\f0\b\fs20 \'91\f1 Option\plain\f0\b\fs20 \'92\plain\fs20 pop-down menu. To switch off engine scaling select \plain\f0\b\fs20 \'91\f1 Off\plain\f0\b\fs20 \'92\plain\fs20 from the same menu. +\par \pard +\par The data variables are summarised below : +\par +\par \pard\li845\fi-125 \b New Engine Bore (mm) +\par New Engine Stroke (mm) \plain\fs20 +\par \b New Engine Compression Ratio +\par Sensitivity of thermal to Change in Bore (%/mm) \plain\fs20 : Typically negative.\b +\par Sensitivity of thermal to Change in Stroke (%/mm) \plain\fs20 : Typically close to zero.\b +\par Sensitivity of thermal to Change in Compression Ratio (%/C.R.) \plain\fs20 : Typically positive.\b +\par Sensitivity of engine speed range to Change in Bore (%/mm)\plain\fs20 : Typically close to zero.\b +\par Sensitivity of engine speed range to Change in Stroke (%/mm)\plain\fs20 : Typically positive.\b +\par \pard \plain\fs20 +\par The overall factor of each change is presented in the box at the far right of each sub-section. +\par +\par If engine speed range is scaled and the user wishes to change the maximum and minimum speed range of the engine, this must be entered directly into the model *.car file using the \plain\f0\b\fs20 \'91\f1 Edit Data\plain\f0\b\fs20 \'92\plain\fs20 option from the main window \plain\f0\b\fs20 \'91\f1 File\plain\f0\b\fs20 \'92\plain\fs20 pop-down menu. +\par +\par \page +\pard \b Friction scaling\plain\fs20 +\par +\par To display the window for engine friction changes select \plain\f0\b\fs20 \'91\f1 Friction Scaling\plain\f0\b\fs20 \'92\plain\fs20 . This sub-window displays options for model type. To select from the available options activate the \plain\f0\b\fs20 \'91\f1 Options\plain\f0\b\fs20 \'92\plain\fs20 pop-down menu which provides options for : +\par +\par \pard\li845\fi-125 \b 1. User Defined\plain\fs20 : A spreadsheet of n data points with speed vs. current engine friction and the friction of the new engine (Friction in FMEP).\b +\par 2. Single Model\plain\fs20 : A Lotus developed FRIC model which relates the engine design variables to empirical and developed models for friction. +\par \b 3. Two Models\plain\fs20 : A Lotus developed FRIC model for the current and proposed engine specifications relating engine design variables to empirical and developed models for friction. +\par \pard +\par \b Friction Model Default Data\plain\fs20 +\par +\par If data is not available for the modelled engine design, estimates for typical bearing sizes are available: +\par +\par \pard\tx355 \tab \b Inline engines\plain\fs20 : Enter 9999.0 for bearing sizes +\par \tab \b V-engines with single cylinder per pin\plain\fs20 : Enter 9998.0 for bearing sizes +\par \tab \b V-engines with two cylinders per pin\plain\fs20 : Enter 9997.0 for bearing sizes +\par \pard\fi715\tx355 \b For cam bearings, enter 9999.0 for diameter and widths\plain\fs20 +\par \pard\tx355 +\par \pard\tx355 \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Engine Map Data +\par \pard \plain\fs20 +\par The engine map data entry window is accessed using the \plain\f0\b\fs20 \'91\f1 Map Data\plain\f0\b\fs20 \'92\plain\fs20 option from the \plain\f0\b\fs20 \'91\f1 Engine\plain\f0\b\fs20 \'92\plain\fs20 menu accessed by selecting the \plain\f0\b\fs20 \'91\f1 Engine Icon\plain\f0\b\fs20 \'92\plain\fs20 from the data toolbar or man window pull-down menu. +\par +\par The window is designed to permit easy entry of data for the engine fuel economy, emissions and operating characteristics over the load-speed range. +\par +\par All maps used must share a common load-speed format. +\par +\par The grid is specified first, and does not need to be regular, but a complete grid must be provided - hence extrapolation of data above the full load BMEP at each speed is necessary. This extrapolation does not affect the calculated results. +\par \pard +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par \b Switching on the Engine Maps\plain\fs20 +\par +\par To switch on the map system, the user selects \plain\f0\b\fs20 \'92\f1 On\plain\f0\b\fs20 \'92\plain\fs20 from the \plain\f0\b\fs20 \'91\f1 Options\plain\f0\b\fs20 \'92\plain\fs20 pop-down menu. This activates the spreadsheets and map functions. +\par +\par \b Adding, Deleting and Inserting Engine Maps\plain\fs20 +\par +\par To add an engine map or delete and insert maps the user selects options from the \plain\f0\b\fs20 \'91\f1 Functions\plain\f0\b\fs20 \'92\plain\fs20 pop-down menu. +\par \pard +\par \b Cycling through the Engine Maps\plain\fs20 +\par +\par To cycle through the maps, use the arrows within the map number panel +\par +\par \b Graphically displaying the Engine Maps, Zoom, Data-picking and Printing +\par +\par \plain\fs20 To graphically display the map currently in the Engine map window, select the \plain\f0\b\fs20 \'91\f1 Graph Icon\plain\f0\b\fs20 \'92\plain\fs20 in the top right of the window. This includes features for zoom, autoscaling, data-picking and printing. This is selected from the pull-down menu at the top-right of the graph window. +\par \pard +\par \b Engine Map Data Variables\plain\fs20 +\par +\par The various data variables to be specified are as follows : +\par +\par \pard\fi715 \b Map Number\plain\fs20 : Change map number using the arrows in the map number panel. +\par \b Map Type\plain\fs20 : Select map type from the following available : +\par \pard\li715\fi715\tx355 \b 1. Fuel Consumption +\par 2. Air Consumption\plain\fs20 +\par \b 3. Hydrocarbon Emissions\plain\fs20 +\par \b 4. NOx Emissions\plain\fs20 +\par \b 5. CO Emissions\plain\fs20 +\par \b 6. CO2 Emissions\plain\fs20 +\par \b 7. O2 Emissions\plain\fs20 +\par \b 8. Particulate Emissions\plain\fs20 +\par \b 9. User Flow\plain\fs20 +\par \b 10. Spark Timing\plain\fs20 +\par \b 11. Throttle Position\plain\fs20 +\par \b 12. Manifold Air Pressure (Bar)\plain\fs20 +\par \b 13. Air-Fuel Ratio\tab \plain\fs20 +\par \b 14. Exhaust Temperature +\par 15. Heat to Coolant (0-1) +\par 16. Heat to Oil (0-1)\plain\fs20 +\par \pard\tx355 \b +\par \pard\fi715\tx355 Map Units\plain\fs20 : For map types 1-9 the unit options are : +\par \pard\li1415\tx355 \b g/s\plain\fs20 - grams per second\b +\par \pard\li1415\tx355 g/h \plain\fs20 - grams per hour +\par \pard\li1415\tx355 \b g/kW.h\plain\fs20 - grams per kilowatt hour +\par \pard\li1415\tx355 \b g/h/l\plain\fs20 - grams per hour per litre of engine capacity +\par \pard\tx355 \b +\par \pard\li845\fi-125\tx355 Overrun\plain\fs20 : Overrun map option determines values of map at idle and zero load (coasting) +\par \pard\li1555\fi-135\tx355 \b Lowest Load\plain\fs20 : uses the values at the lowest load point of the map\b +\par \pard\li1555\fi-135\tx355 Zero\plain\fs20 : uses zero for map variable at idle and zero load +\par \pard\li1555\fi-135\tx355 \b User Defined \plain\fs20 : uses user specified data entered in the \b Overrun\plain\fs20 column. For map types 1-9, the overrun units are g/s when map units are 1 or 2. For map units in specifics 3 or 4, overun units are g/s/l. +\par \pard\tx355 +\par \pard\tx355 \b Note \plain\fs20 : The overrun map value specified for the first map speed is used when the engine is at idle (unless auxiliaries or a torque converter are specified). +\par \pard\tx355 \b +\par \pard\li985\fi-135\tx355 Fuel Specific Gravity (kg/l)\plain\fs20 : Typically 0.75-0.76 for gasoline, 0.84 for diesel. +\par \pard\li985\fi-135\tx355 \b Fuel Calorific Value (kJ/kg) \plain\fs20 : Typically 42000kJ/kg for gasoline. +\par \pard\li985\fi-135\tx355 \b Scale Factor \plain\fs20 : Used to make global changes to the data. +\par \pard\li985\fi-135\tx355 \b Number of Map Speeds\plain\fs20 : For all specified maps. +\par \pard\li985\fi-135\tx355 \b Number of Map Loads\plain\fs20 : For all specified maps. +\par \pard\li985\fi-135\tx355 \b Spreadsheet\plain\fs20 : Data entry area for speed-load data. +\par \pard\tx355 +\par \pard\tx355 \b Increasing/Reducing the Number of Map Speed Points\plain\fs20 +\par \pard\tx355 +\par \pard\tx355 To add, insert or delete map speed points, change the number of points in the data box. This adds or deletes speeds from the maximum speed end of the map. +\par \pard\tx355 +\par \pard\tx355 \b Increasing/Reducing the Number of Map Load Points +\par \pard\tx355 +\par \pard\tx355 \plain\fs20 To add, insert or delete map load points, change the number of points in the data box. This adds or deletes loads from the maximum load end of the map. +\par \pard\tx355 +\par \pard\tx355 \b Using the Engine Map Spreadsheet Tools\plain\fs20 +\par \pard\tx355 +\par \pard\tx355 By clicking with the left mouse button in the spreadsheet, the cell under the pointer is selected and the data for that point may be changed. By selecting a range of cells and clicking the right mouse button a range or cut,copy and paste functions are available. These operate in the same manner as common Windows spreadsheets. +\par \pard\tx355 +\par \pard\tx355 \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Optimum +\par \pard \plain\fs20 +\par The \plain\f0\fs20 \'91\f1 optimum\plain\f0\fs20 \'92\f1 window is accessed using the \b Optimum\plain\fs20 option on the \b Engines\plain\fs20 menu bar. This is accessed by selecting the \ul \b\ul Engine Icon\plain\b\fs20 \plain\fs20 or choosing \b Engine\plain\fs20 from the \b Data \plain\fs20 pull-down menu on the main window menu-bar. +\par +\par The optimum window is used to define a strategy for the gearbox shift strategy as related to engine operating conditions. +\par +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par \pard +\par \b Switching on the Optimum Model\plain\fs20 +\par +\par To switch on the Optimum model, select \plain\f0\b\fs20 \'91\f1 On\plain\f0\b\fs20 \'92\plain\fs20 from the \plain\f0\b\fs20 \'91\f1 Options\plain\f0\b\fs20 \'92\plain\fs20 pop-down menu. To switch off select \plain\f0\b\fs20 \'91\f1 Off\plain\f0\b\fs20 \'92\plain\fs20 . +\par +\par \b Using the Optimum Model\plain\fs20 +\par +\par To use the optimum model, the user must either specify a map parameter to be minimised (To work correctly, the map must have previously been defined in \plain\f0\b\fs20 \'91\f1 Engine - Map Data\plain\f0\b\fs20 \'92\plain\fs20 ), or else specify a curve of optimum torque vs. engine speed. +\par \pard +\par \b Using a Pre-specified Engine Map for the Optimum Model\plain\fs20 +\par +\par To use a map previously specified in the \plain\f0\b\fs20 \'91\f1 Engine - Map Data\plain\f0\b\fs20 \'92\plain\fs20 window, select the \plain\f0\b\fs20 \'91\f1 Optimum Type\plain\f0\b\fs20 \'92\plain\fs20 pop-down menu and enter the required map number in the \plain\f0\b\fs20 \'91\f1 Map No.\plain\f0\b\fs20 \'92\f1 \plain\fs20 box. This will calculate the minimum level of the map parameter at each engine speed point and display the results in the spreadsheet. (The map No. should the map type identification No. and not the map order No.). +\par \pard +\par \b Using a User Defined Optimum Curve for the Optimum Model\plain\fs20 +\par +\par To enter a user defined curve for the optimum model, select \plain\f0\b\fs20 \'91\f1 User Specified\plain\f0\b\fs20 \'92\plain\fs20 in the \plain\f0\b\fs20 \'91\f1 Optimum Type\plain\f0\b\fs20 \'92\plain\fs20 pop-down menu. The user then enters the number of points to be defined and enters the engine speed and power (kw) into the spreadsheet. To view the calculated Torque in Nm and BMEP after a change click the \plain\f0\b\fs20 \'91\f1 Update\plain\f0\b\fs20 \'92\plain\fs20 button. +\par +\par \b To Graphically Display the Optimum Curve\plain\fs20 +\par \pard +\par To view graphically the current \plain\f0\fs20 \'91\f1 Optimum\plain\f0\fs20 \'92\f1 curve to be used by the model, press the \ul \b\ul Graphics Icon\plain\b\fs20 \plain\fs20 in the top right of the window. This displays the \b Graphics \plain\fs20 window and provides features for autoscaling, zoom, printing and data-picking, accessed using the pull-down menu in the top-left of the window. +\par +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Catalyst +\par \pard \plain\fs20 +\par The \plain\f0\fs20 \'91\f1 Catalyst\plain\f0\fs20 \'92\f1 window is accessed using the \b Catalyst\plain\fs20 option on the \b Engines\plain\fs20 menu bar. This is accessed by selecting the \ul \b\ul Engine Icon\plain\b\fs20 \plain\fs20 or choosing \b Engine\plain\fs20 from the \b Data \plain\fs20 pull-down menu on the main window menu-bar. +\par +\par The window allows the user to enter and review information for the catalyst model. A catalyst if used, models a reduction in vehicle out-emissions and the transient \plain\f0\fs20 \'91\f1 light-off\plain\f0\fs20 \'92\f1 phase after cold start during which emissions conversion efficiency is reduced. +\par \pard +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par \b Using the Catalyst Model\plain\fs20 +\par +\par To model a catalyst in the vehicle, the user must switch it on by selecting \plain\f0\b\fs20 \'91\f1 On\plain\f0\b\fs20 \'92\plain\fs20 from the \plain\f0\b\fs20 \'91\f1 Options\plain\f0\b\fs20 \'92\plain\fs20 pop-down menu in the window. To remove the model, similarly select \plain\f0\b\fs20 \'91\f1 Off\plain\f0\b\fs20 \'92\plain\fs20 . +\par +\par \b Catalyst Data Variables\plain\fs20 +\par +\par Three variables are used to model curves of catalyst light-off charactersitics and max conversion efficiency. These are : +\par \pard +\par \pard\li985\fi-265 \b 1. Maximum Catalyst Efficiency (For HC, NOx and CO)\plain\fs20 : The conversion efficiency of the catalyst operating at optimum conditions. +\par \b 2. Time to Maximum Efficiency (For HC, NOx and CO) \plain\fs20 : Time from start of cycle for catalyst to reach maximum efficiency. +\par \b 3. Warming Time (s) (For HC, NOx and CO)\plain\fs20 : Time for catalyst to warm-up from ambient conditions to maximum efficiency operating temperature. +\par \pard +\par \b Displaying the Catalyst Characteristics Graphically +\par +\par \plain\fs20 The user may view the catalyst operating strategy graphically by selecting the \ul \b\ul Graphics Icon\plain\b\fs20 \plain\fs20 at the top right of the window. This displays the \b Graphics \plain\fs20 window and provides features for autoscaling, zoom, printing and data-picking, accessed using the pull-down menu in the top-left of the window. +\par +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Warm Up +\par \pard \plain\fs20 +\par The \plain\f0\fs20 \'91\f1 Warm-up\plain\f0\fs20 \'92\f1 window is accessed using the \b Warm-up\plain\fs20 option on the \b Engines\plain\fs20 menu bar. This is accessed by selecting the \ul \b\ul Engine Icon\plain\b\fs20 \plain\fs20 or choosing \b Engine \plain\fs20 from the \b Data \plain\fs20 pull-down menu on the main window menu-bar. +\par +\par The window allows the user to enter and review information for the warm-up model. This models a ramp down (or up) in engine-out emissions over a user specified time period after startup until the engine has reached it\plain\f0\fs20 \'92\f1 s steady state operating condition. The model also allows the user to model the effect of engine transients (due to acceleration) on emissions. The same approach is also used to factor the fuel consumption during the warm-up phase. +\par \pard +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par \b Using the Warm-up Model\plain\fs20 +\par +\par To model the warm-up phase, the user must switch the model on by selecting \plain\f0\b\fs20 \'91\f1 On\plain\f0\b\fs20 \'92\plain\fs20 from the \plain\f0\b\fs20 \'91\f1 Options\plain\f0\b\fs20 \'92\plain\fs20 pop-down menu in the window. To remove the model, similarly select \plain\f0\b\fs20 \'91\f1 Off\plain\f0\b\fs20 \'92\plain\fs20 . +\par +\par \b Warm-up Data Variables\plain\fs20 +\par +\par Three variables are used to model curves of the warm-up and transient engine characteristics. These are : +\par \pard +\par \pard\li985\fi-265 \b 1. Warm-up Factor (For HC, NOx, CO and Fuel)\plain\fs20 : The engine out emissions factor at the start of the cycle (when engine is generally at it\plain\f0\fs20 \'92\f1 s lowest temperature). +\par \b 2. Factor Time (s) (For HC, NOx, CO and Fuel) \plain\fs20 : Time from start of cycle for engine to reach normal operating temperatures and emissions to reach steady state values. +\par \b 3. Acceleration Factor (s2/m) (For HC, NOx, CO and Fuel)\plain\fs20 : Emissions acceleration factor based on the following formula : \b Emissions = Steady State Emission + ABS(\plain\f0\b\fs20 \'91\f1 Accelfactor\plain\f0\b\fs20 \'92\f1 x acceleration x S.S.Emissions)\plain\fs20 +\par \pard +\par \b Displaying the Warm-up Characteristics Graphically +\par +\par \plain\fs20 The user may view the warm-up characteristics graphically by selecting the \ul \b\ul Graphics Icon\plain\b\fs20 \plain\fs20 at the top right of the window. This displays the \b Graphics \plain\fs20 window and provides features for autoscaling, zoom, printing and data-picking, accessed using the pull-down menu in the top-left of the window. +\par +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Auxiliaries +\par \pard \plain\fs20 +\par The \plain\f0\fs20 \'91\f1 Auxiliaries\plain\f0\fs20 \'92\f1 window is accessed using the \b Auxiliaries\plain\fs20 option on the \b Engines\plain\fs20 menu bar. This is accessed by selecting the \ul \b\ul Engine Icon\plain\b\fs20 \plain\fs20 or choosing \b Engine\plain\fs20 from the \b Data \plain\fs20 pull-down menu on the main window menu-bar. +\par +\par The window allows the user to enter and review information for any auxiliaries used in the powertrain system. These may be units such as Power-steering pumps, air-conditioning compressors or generators, mounted at some point in the system and being directly driven through some form of gearing. +\par \pard +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par \b Using the Auxiliaries Model\plain\fs20 +\par +\par To model auxiliaries, the user must switch the model on by selecting \plain\f0\b\fs20 \'91\f1 On\plain\f0\b\fs20 \'92\plain\fs20 from the \plain\f0\b\fs20 \'91\f1 Options\plain\f0\b\fs20 \'92\plain\fs20 pop-down menu in the window. To remove the model, similarly select \plain\f0\b\fs20 \'91\f1 Off\plain\f0\b\fs20 \'92\plain\fs20 . +\par +\par \b Auxiliaries Data Variables +\par +\par \plain\fs20 An auxiliary is modelled as a power-taking devices driven directly from some point in the powertrain. To model a unit, the user must specify the mounting position, the drive ratio, relative to the rotational speed of the take-off point, the rotary inertia and a curve for the auxiliary rotary speed vs. the torque driving the unit after any drive speed conversion. The user can then view the calculated power by clicking the \plain\f0\b\fs20 \'91\f1 Update\plain\f0\b\fs20 \'92\plain\fs20 button. +\par \pard +\par Note : There is no model available in the current version of \b LOTUS VEHICLE SIMULATION\plain\fs20 to reduce the absorbed power relative to engine load. +\par +\par The variables for input are defined below : +\par +\par \pard\li985\fi-265 \b Auxiliary Label\plain\fs20 : A note area for the user to define the modelled unit. +\par \b Mounting Position for Unit \plain\fs20 :\b \plain\fs20 The user may choose from the following options :\b +\par \pard\li1555\fi-115 1. Engine Mounted (eg. From the drivebelts of flywheel) +\par 2. Gearbox Input Shaft Mounted +\par 3. Propshaft Mounted +\par 4. Axle/Drive Shaft Mounted +\par \pard\li985\fi-265 Auxiliary Drive Ratio \plain\fs20 : The ratio between auxiliary and mounting point shaft speeds. +\par \b Auxiliary Rotary Inertia (kg.m2)\plain\fs20 : The inertia of the unit and associated transmission system (Not that of the mounted unit). +\par \b Number of Speeds\plain\fs20 : The number of speeds with which the characteristic curve is defined. +\par \b Spreadsheet\plain\fs20 : A spreadsheet is used to define the characteristics in terms of : +\par \pard\tx355 \tab \tab \b Speed (rpm)\plain\fs20 : The auxiliary rotational speed +\par \tab \tab \b Torque (Nm)\plain\fs20 : The auxiliary absorbed torque +\par +\par \b Adding, Deleting or Inserting Auxiliary Units\plain\fs20 +\par +\par To add, delete or insert auxiliary units (assuming the system has previously been \b switched on\plain\fs20 ), use the pull-down menu from the menu-bar at the top left of the window. +\par +\par \b Displaying the Auxiliary Characteristics Graphically +\par +\par \plain\fs20 The user may view the auxiliary characteristics graphically by selecting the \ul \b\ul Graphics Icon\plain\b\fs20 \plain\fs20 at the top right of the window. This displays the \plain\f0\b\fs20 \'91\f1 Graphics\plain\f0\b\fs20 \'92\f1 \plain\fs20 window and provides features for autoscaling, zoom, printing and data-picking, accessed using the pull-down menu in the top-left of the window. +\par \pard\tx355 +\par \pard\tx355 \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Grid Analysis +\par \pard \plain\fs20 +\par The \plain\f0\fs20 \'91\f1 Grid Analysis\plain\f0\fs20 \'92\f1 window is accessed using the \b Grid Analysis\plain\fs20 option on the \b Engines\plain\fs20 menu bar. This is accessed by selecting the \ul \b\ul Engine Icon\plain\b\fs20 \plain\fs20 or choosing \b Engine\plain\fs20 from the \b Data \plain\fs20 pull-down menu on the main window menu-bar. +\par +\par The window allows the user to specify a network of engine loads and speeds with which the engine load-speed map is sub-divided. On running a cycle of any kind, the calculation system will log the total time, total and mean consumption within each zone of the map and provide analysis in the *.crs file for the utility of each zone. This is particularly useful for analyses relating engine operating condition and efficiencies to drive-cycle utility. +\par \pard +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par \b Using the Grid Analysis Model\plain\fs20 +\par +\par To use the grid analysis feature, the user must switch the system on by selecting \plain\f0\b\fs20 \'91\f1 On\plain\f0\b\fs20 \'92\plain\fs20 from the \plain\f0\b\fs20 \'91\f1 Options\plain\f0\b\fs20 \'92\plain\fs20 pop-down menu in the window. To remove the system, similarly select \plain\f0\b\fs20 \'91\f1 Off\plain\f0\b\fs20 \'92\plain\fs20 . +\par +\par \b Specifying a Grid\plain\fs20 +\par +\par To set up a grid, enter the number of speeds and loads with which the grid is to be formed and then detail each load and speed point in the appropriate spreadsheets provided in the window.\b +\par \pard \plain\fs20 +\par Note that to obtain full information for the full load characteristics, the map must extend to the maximum full load torque level. The zones at this level which extend above the full load torque curve at other speeds will not affect the analysis. +\par \b +\par Displaying the Specified Grid Graphically +\par +\par \plain\fs20 The user may view the specified grid graphically by selecting the \ul \b\ul Graphics Icon\plain\b\fs20 \plain\fs20 at the top right of the window. This displays the \b Graphics \plain\fs20 window and provides features for autoscaling, zoom, printing and data-picking, accessed using the pull-down menu in the top-left of the window. +\par \pard +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Primary Drive +\par \pard \plain\fs20 +\par The \plain\f0\fs20 \'91\f1 Primary Drive\plain\f0\fs20 \'92\f1 window is accessed using the \b Primary Drive\plain\fs20 option on the \b Engines\plain\fs20 menu bar. This is accessed by selecting the \ul \b\ul Engine Icon\plain\b\fs20 \plain\fs20 or choosing \b Engine\plain\fs20 from the \b Data \plain\fs20 pull-down menu on the main window menu-bar. +\par +\par The window allows the user to specify a drive ratio for the primary drive take-off transmission from engine crank-shaft/flywheel to the gearbox input shaft. +\par +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par \pard +\par \b Using the Primary Drive Model\plain\fs20 +\par +\par To enable the Primary Drive model, the user must switch the system on by selecting \plain\f0\b\fs20 \'91\f1 On\plain\f0\b\fs20 \'92\plain\fs20 from the \plain\f0\b\fs20 \'91\f1 Options\plain\f0\b\fs20 \'92\plain\fs20 pop-down menu in the window. To remove the system, similarly select \plain\f0\b\fs20 \'91\f1 Off\plain\f0\b\fs20 \'92\plain\fs20 . +\par \b +\par Primary Drive Data\plain\fs20 +\par +\par The user must first switch the Primary Drive option \plain\f0\b\fs20 \'91\f1 On\plain\f0\b\fs20 \'92\plain\fs20 , then enter the drive ratio and efficiency of the primary drive transmission. +\par +\par \pard\li985\fi-265 \b Drive Ratio\plain\fs20 : The transmission ratio between output shaft and crankshaft speed. +\par \b Drive Efficiency (0-1)\plain\fs20 : The efficiency of the drive transmission. +\par \b Efficiency Mode\plain\fs20 : There are presently two options available : +\par \pard\li1695\fi-255 \b 1. Flat Efficiency Mode\plain\fs20 : Efficiency is fixed at the entered value irrespective of engine load. +\par \b 2. Function Efficiency Mode\plain\fs20 : The model uses a calculation to relate the entered maximum efficiency to efficiency as a function of engine speed and load. +\par \pard +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Units +\par \pard \plain\fs20 +\par The \plain\f0\fs20 \'91\f1 Units\plain\f0\fs20 \'92\f1 window is accessed using the \b Units\plain\fs20 option on the \b Engines\plain\fs20 menu bar. This is accessed by selecting the \ul \b\ul Engine Icon\plain\b\fs20 \plain\fs20 or choosing \b Engine\plain\fs20 from the \b Data \plain\fs20 pull-down menu on the main window menu-bar. +\par +\par This window allows the user to select preferred units for variables entry and display. The options are currently for load and speed : +\par +\par \pard\fi715 \b 1. Engine Speed (Rpm or Rps)\plain\fs20 +\par \b 2. Engine Load (Nm or BMEP (Bar))\plain\fs20 +\par \pard +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Standard Hybrid Model Data Variables +\par \pard \plain\fs20 +\par The \plain\f0\fs20 \'91\f1 Hybrid\plain\f0\fs20 \'92\f1 window is accessed using the \ul \b\ul Hybrid Icon\plain\b\fs20 \plain\fs20 on the data tool bar or choosing \b Hybrid\plain\fs20 \'5c \b Standard \plain\fs20 from the \b Data \plain\fs20 pull-down menu on the main window menu-bar. +\par +\par The Hybrid model allows modelling of the standard hybrid vehicle. The model is capable of absorbing energy from and returning it to the drivetrain system. The program will always preferentially drive the vehicle with the hybrid motor, any excess energy requirements and or battery charging being provided by the main engine. +\par \pard +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par \b Using the Standard Hybrid Model\plain\fs20 +\par +\par To enable the Hybrid model, the user must switch the system on by selecting \plain\f0\b\fs20 \'91\f1 On\plain\f0\b\fs20 \'92\plain\fs20 from the \plain\f0\b\fs20 \'91\f1 Options\plain\f0\b\fs20 \'92\plain\fs20 pop-down menu in the window. To remove the system, similarly select \plain\f0\b\fs20 \'91\f1 Off\plain\f0\b\fs20 \'92\plain\fs20 . +\par \b +\par Standard Hybrid Data Variables\plain\fs20 +\par +\par The hybrid system is modelled using the following variables : +\par \pard +\par \pard\li985\fi-265 \b System Mounting Point\plain\fs20 : The hybrid motor mounting point, from three available : +\par \pard\li715\fi715 \b 1. Engine Flywheel Mounted +\par 2. Gearbox Mounted\plain\fs20 +\par \b 3. Drive Shaft Mounted\plain\fs20 +\par \pard\li985\fi-265 \b Idle Charging Strategy\plain\fs20 : Options for the system when the engine is at idle : +\par \pard\li715\fi715 \b 1. No Charging +\par 2. Storage system charges when engine at idle\plain\fs20 +\par \pard\li985\fi-265 \b Maximum Energy Storage Capacity (kW.h)\plain\fs20 : If the system reaches a maximum, no more charging is allowed, only power output. +\par \b Minimum Allowable Energy Level in Storage Device (kW.h)\plain\fs20 : If the system reaches a minimum, no power output is allowed, only charging. +\par \b Motor Maximum Output Torque (Nm)\plain\fs20 : The maximum output torque from the electric motor. If the requirement exceeds this, the extra is provided by the engine. +\par \b Maximum Input Torque (Nm)\plain\fs20 : The maximum torque for charging. The system can not exceed this value, hence charging rate is limited. +\par \pard\li985\fi-265 \b Output Efficiency (0-1)\plain\fs20 : The efficiency of the storage/motor output system. +\par \b Input Efficiency (0-1)\plain\fs20 : The efficiency of the storage/regeneration input system. +\par \b Capacity at Start (kW.h)\plain\fs20 : The energy held by the storage device at the start of the cycle. +\par \pard +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Extended Hybrid Component Performance +\par \pard \plain\fs20 +\par This extended \plain\f0\fs20 \'91\f1 Hybrid\plain\f0\fs20 \'92\f1 data window is accessed from the 'extended' menu on the \uldb standard hybrid data\plain\fs20 window or choosing \b Hybrid\plain\fs20 \'5c \b Extended Hybrid Performance \plain\fs20 from the \b Data \plain\fs20 pull-down menu on the main window menu-bar. +\par +\par The extended Hybrid model allows a more sophisticated model of a hybrid vehicle to be defined than that achievable with the 'standard' model. The model can include the following hybrid components, generator, drive motor, drive regenerator and battery. Each component has a performance curve for both peak and continuous operation, an operating temperature model, (except battery), to establish the maximum allowable operating performance between these two performance curves at a particular operating condition. +\par \pard +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par \b Using the Extended Hybrid Model\plain\fs20 +\par +\par To enable the extended Hybrid model, the user must switch the system on by selecting \plain\f0\b\fs20 \'91\f1 On\plain\f0\b\fs20 \'92\plain\fs20 from the \plain\f0\b\fs20 \'91\f1 Option\plain\f0\b\fs20 \'92\plain\fs20 pull-down menu in the window. To remove the system, similarly select \plain\f0\b\fs20 \'91\f1 Off\plain\f0\b\fs20 \'92\plain\fs20 . It should be noted that the extended hybrid model uses four data windows to fully define the hybrid vehicle and a number of these would need to switched 'on' and 'off' as required to correctly select or deselect an extended hybrid vehicle. +\par \pard \b +\par Extended Hybrid Component Performance Data Variables\plain\fs20 +\par +\par The extended hybrid system performance is modelled for the following components : +\par +\par \pard\li985\fi-265 \b 1. APU Generator\plain\fs20 +\par \b 2. Drive motor\plain\fs20 +\par \b 3. Drive Regenerator\plain\fs20 +\par \b 4. Battery\plain\fs20 +\par \pard +\par For components 1 - 3 the performance is defined by a peak torque, a continuous torque and a heat loss ratio against component speed. Whilst for the Battery, (component 4), the performance is defined by maximum charge rate and maximum discharge rate against State of Charge (SOC), (heat loss ratio is not used for the battery component). +\par +\par Additional data variables are used to further define the component, these also being entered through the performance data window. +\par +\par For components 1 - 3 the additional data variables are : +\par \pard +\par \pard\tx355 \tab \b Start Temperature (Co) \plain\fs20 Sets the initial temperature of the component at the start of the simulation run.\b +\par \tab Inertia (kg.m2) \plain\fs20 Defines the rotational inertia of the component.\b +\par \tab Time at Peak (s)\plain\fs20 Defines the time for which the peak performance can be held before the threshold temperature is reached and the allowable performance begins to deteriorate from the peak toards the continuous. This forms part of the component heat model derivation.\b +\par \tab Constant Temperature (Co) \plain\fs20 Defines the temperature which the component reaches under the maximum constant performance. This defines the heat convection capability of the component.\b +\par \pard\tx355 \tab Threshold Temperature (Co) \plain\fs20 Sets the temperature at which the component performance starts to deteriorate from the peak towards the continuous.\b +\par \tab Maximum Speed (rpm)\plain\fs20 Sets the maximum allowable component speed. +\par \pard\tx355 +\par \pard\tx355 Whilst for component 4 the additional data variables are : +\par \pard\tx355 +\par \tab \b Start SOC ( 0 -1 )\plain\fs20 Defines the state of charge setting for the battery at the start of the simulation.\b +\par \tab Start Voltage (V)\plain\fs20 Is used as the fixed battery voltage for hybrid systems that do not have the full voltage model defined. If a full voltage model is defined then this value is not used.\b +\par \tab Capacity (Ah) \plain\fs20 Defines the battery capacity. +\par +\par \b Extended Hybrid Component Thermal Model +\par +\par \plain\fs20 For components 1 - 3 a thermal model is used that calculates the allowable performance based on the current component temperature. The component temperature is continually updated through the cycle from its initial value by considering that time steps component performance and the heat rejection of the component at that particular speed, a portion is assumed to be radiated whilst the remainder, (should there be any), goes into heating up the component. Thus if at the current component temperature the radiated heat is greater than the amount rejected to the component the component temperature will drop. Thus through the cycle the component temperature will rise and fall with demand, which in turn defines the allowable component maximum performance which will lie between the peak performance and the continuous performance for that speed. +\par \pard\tx355 +\par Thus component heat model is derived from the threshold temperature, the constant temperature, the time at peak and the maximum peak and continuous performances. These are used to calculate a specific heat capacity for convection and a coefficient for heat up of the component. +\par +\par The transient response of the component can be reviewed by selecting from the hybrid performance window the \b View / Transient Response\plain\fs20 menu option. This opens a new window that allows the user to define a load cycle, that can be a constant load, two step load, repeat two step or a repeat saw tooth. The component temperature can be viewed for the defined load case. +\par \pard\tx355 \b +\par \pard\tx355 \plain\fs20 +\par \pard\tx355 \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Extended Hybrid Component Efficiency +\par \pard \plain\fs20 +\par This extended \plain\f0\fs20 \'91\f1 Hybrid\plain\f0\fs20 \'92\f1 data window is accessed from the 'extended' menu on the \uldb standard hybrid data\plain\fs20 window or choosing \b Hybrid\plain\fs20 \'5c \b Extended Hybrid Efficiencies \plain\fs20 from the \b Data \plain\fs20 pull-down menu on the main window menu-bar. +\par \b +\par Extended Hybrid Component Efficiency Data Variables\plain\fs20 +\par +\par The extended hybrid system efficiencies are modelled for the following components : +\par +\par \pard\li985\fi-265 \b 1. APU Generator\plain\fs20 +\par \b 2. Drive motor\plain\fs20 +\par \b 3. Drive Regenerator\plain\fs20 +\par \b 4. Battery, Charge +\par 5. Battery, Discharge\plain\fs20 +\par \pard +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par For all components the efficiency can be defined as either a single value, or as a 2D map, for speed against performance. All efficiency values are between 0 and 1. +\par +\par If this option is switched 'off' for a component the efficiency is set to 1. All components can be switched 'on' and 'off' independent of each other. +\par +\par To define a single fixed efficiency value for a component, set the 'option' to 'on', set the number of speeds and performance values to 0. This will 'grey' out the spread sheet and enable the 'fixed efficiency' entry box. +\par \pard +\par To define a 2D efficiency map for a component set the 'option' to 'on', set the number of speed and performance values to the required number, and enter the efficiency values (range 0-1) into the spread sheet. The \ul graph icon\plain\fs20 allows the user to view the defined map. +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Extended Hybrid Battery Model +\par \pard \plain\fs20 +\par This extended \plain\f0\fs20 \'91\f1 Hybrid\plain\f0\fs20 \'92\f1 data window is accessed from the 'extended' menu on the \uldb standard hybrid data\plain\fs20 window or choosing \b Hybrid\plain\fs20 \'5c \b Extended Hybrid Battery Model \plain\fs20 from the \b Data \plain\fs20 pull-down menu on the main window menu-bar. +\par \b +\par Extended Hybrid Battery Model Data Variables\plain\fs20 +\par +\par The extended hybrid battery model defines the voltage model of the battery component under both charge and discharge at a range of charge rates and state of charges. This allows for a non constant voltage model to be implemented using interpolation of the defined curves. +\par \pard +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par The battery voltage is defined for both charge and discharge as two separate sets of curves. When this option is set to 'on' it is assumed that both charge and discharge curves will be entered. +\par +\par To define a voltage model for the battery set the 'option' to 'on', select either 'charge' or 'discharge', set the number of charge or discharge curves and the number of State of Charge levels. Then enter for each charge rate the charge value (note +ve for both charge and discharge maps), and the values for SOC and voltage at this charge rate. Repeat for all charge rate value. The \ul graph icon\plain\fs20 allows the user to view the defined curves. +\par \pard +\par To enable the voltage model to interpolate the curves correctly a voltage curve should be entered for a zero current in both the charge and discharge curves. This ensures suitable voltage values are identified for low rates of charge and discharge. +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Extended Hybrid Control Strategy +\par \pard \plain\fs20 +\par This extended \plain\f0\fs20 \'91\f1 Hybrid\plain\f0\fs20 \'92\f1 data window is accessed from the 'extended' menu on the \uldb standard hybrid data\plain\fs20 window or choosing \b Hybrid\plain\fs20 \'5c \b Extended Hybrid Control \plain\fs20 from the \b Data \plain\fs20 pull-down menu on the main window menu-bar. +\par \b +\par Extended Hybrid Control Data Variables\plain\fs20 +\par +\par \pard\tx355 \tab 1) Target for SOC minimum level (0-1) +\par \tab 2) Target for SOC maximum level (0-1) +\par \tab 3) Max APU speed acceleration allowable (rpm/s) (+ve number) +\par \tab 4) Max APU speed deceleration allowable (rpm/s) (-ve number) +\par \tab 5) Power value for target curve between min and max target SOC\plain\f0\fs20 \'92\f1 s +\par \tab 6) History length for establishing mean power demand +\par \tab 7) APU start status, \plain\f0\fs20 \'91\f1 off\plain\f0\fs20 \'92\f1 or \plain\f0\fs20 \'91\f1 on\plain\f0\fs20 \'92\f1 +\par \tab 8) Battery SOC level to switch APU \plain\f0\fs20 \'91\f1 off\plain\f0\fs20 \'92\f1 (0-1) +\par \pard\tx355 \tab 9) Battery SOC level to switch APU \plain\f0\fs20 \'91\f1 on\plain\f0\fs20 \'92\f1 (0-1) +\par \tab 10) APU ratio of maximum APU available for switching \plain\f0\fs20 \'91\f1 on\plain\f0\fs20 \'92\f1 (0-1) +\par \pard\tx355 +\par \pard\tx355 This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par \pard\tx355 +\par \pard\tx355 +\par \b \tab Control Procedure Description: +\par \plain\fs20 +\par 1)\tab Find maximum APU power output available, varies as a function of component temperature. PMAXAPU +\par +\par 2)\tab Find minimum APU power output, based on idle speed. PMINAPU +\par +\par 3)\tab Establish demand from APU based on a mean value of \plain\f0\fs20 \'91\f1 n\plain\f0\fs20 \'92\f1 history values, and a term based on current SOC when compared to the min/max targets. PDEMAND +\par +\par \tab PDEMAND = PMEAN + ( 1 - SOCRATIO ) x PMAXAPU +\par +\par \tab where; +\par \tab \tab SOCRATIO = ( SOC - SOCTARGET MIN ) / ( SOCTARGET MAX - SOCTARGET MIN ) +\par \pard\tx355 +\par \tab \tab SOCRATIO = SOCRATIO **POWER\tab +\par +\par \tab \tab ( SOCRATIO limited to 0 - 1 ) +\par \tab \tab ( PDEMAND limited to > PMINAPU and < PMAXAPU ) +\par +\par \tab \tab PMEAN is based on the average of the last \plain\f0\fs20 \'91\f1 n\plain\f0\fs20 \'92\f1 steps demand +\par +\par \tab \tab PMAXAPU is the maximum APU power output +\par \tab \tab +\par +\par 4)\tab Match APU speed to match APU demand. +\par +\par 5)\tab Check change in APU speed does not exceed allowable speed change limits in either acceleration or deceleration, as appropriate. +\par +\par 6)\tab If battery SOC > SOCOFF and PDEMAND is less than PMINAPU then switch \plain\f0\fs20 \'91\f1 off\plain\f0\fs20 \'92\f1 +\par \pard\tx355 +\par 7)\tab If battery SOC < SOCON and PDEMAND is greater than PMINAPU then switch \plain\f0\fs20 \'91\f1 on\plain\f0\fs20 \'92\f1 +\par 8)\tab If PDEMAND is greater than APURATIO ON x PMAXAPU then switch \plain\f0\fs20 \'91\f1 on\plain\f0\fs20 \'92\f1 +\par +\par +\par \b \tab Control Procedure Discussion: +\par +\par \plain\fs20 Thus the battery charge rate at a particular time step can be \plain\f0\fs20 \'91\f1 set\plain\f0\fs20 \'92\f1 or \plain\f0\fs20 \'91\f1 controlled\plain\f0\fs20 \'92\f1 by a number of the control variables. +\par +\par Delay in response to demand can come from the speed change limitations or suppressed by the use of a large history number. +\par \pard\tx355 +\par The setting for the target SOC values is more likely to control the battery charge rates particularly as the battery SOC approaches the target maximum SOC value since at this point the demand due to the SOC state will become 0.0, (since socratio tends to 0) such that the demand is based purely on the mean demand. After a number of steps the mean demand will drop and so if the shut down SOC value is greater than the target maximum SOC the charge rate from target max SOC to SOC shut down will just be the charge rate at idle of the APU. +\par \pard\tx355 +\par Trying to increase the tendency of the control system to maintain the state of charge at its maximum target SOC by using the power term, whilst it increases the \plain\f0\fs20 \'91\f1 aggressiveness\plain\f0\fs20 \'92\f1 of the charge regime it will not tend to increase the frequency of APU \plain\f0\fs20 \'91\f1 shut downs\plain\f0\fs20 \'92\f1 if the SOC switch off setting is higher than the SOC maximum target. +\par +\par Thus the probable control strategy that utilises APU shut down would have an APU shut of SOC slightly lower than the SOC target maximum, the frequency of APU shut down could then be controlled by a combination of the SOC charge power value and the SOC target minimum value. +\par \pard\tx355 +\par It is also probable that the SOC switch \plain\f0\fs20 \'91\f1 on\plain\f0\fs20 \'92\f1 value would be greater than the target SOC minimum value in any APU shutdown based strategy. +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Driver Data Variables +\par \pard \plain\fs20 +\par The \plain\f0\fs20 \'91\f1 Driver\plain\f0\fs20 \'92\f1 window is accessed using the \ul \b\ul Driver Icon\plain\b\fs20 \plain\fs20 on the data tool bar or choosing \plain\f0\b\fs20 \'91\f1 Driver\plain\f0\b\fs20 \'92\plain\fs20 from the \plain\f0\b\fs20 \'91\f1 Data\plain\f0\b\fs20 \'92\f1 \plain\fs20 pull-down menu on the main window menu-bar. +\par +\par The driver window provides access to the simple driver model. This window allows the user to determine the variables representing the driver braking, cornering, gear shifting and accuracy of cycle matching. +\par +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par \pard +\par \b Using the Driver Model\plain\fs20 +\par +\par To enable the Driver model and allow the user to override the program default driver data, the user must switch the system on by selecting \plain\f0\b\fs20 \'91\f1 On\plain\f0\b\fs20 \'92\plain\fs20 from the \plain\f0\b\fs20 \'91\f1 Options\plain\f0\b\fs20 \'92\plain\fs20 pop-down menu in the window. To remove the user model and revert to defaults, similarly select \plain\f0\b\fs20 \'91\f1 Off\plain\f0\b\fs20 \'92\plain\fs20 . +\par +\par \b Driver Data Variables\plain\fs20 +\par +\par The following variables are available for editing by the user : +\par +\par \pard\li985\fi-265 \b Cornering Efficiency\plain\fs20 : This defines the maximum cornering speed of the vehicle as a fraction of the maximum theoretical speed. This is used only for track/course simulations. +\par \b Braking Efficiency\plain\fs20 : The maximum braking force as a fraction of the maximum theoretical force. Used in track and course simulations. +\par \b Brake Balance (0-1)\plain\fs20 : Defined as fraction of braking force applied to front wheels. +\par \b Gear Shift Time (s)\plain\fs20 : The time to disengage the gearbox, select the new gear and re-engage drive. Default is 0.1s +\par \pard\li985\fi-265 \b Minimum Shift Interval (s)\plain\fs20 : This is the minimum time allowable between individual gear shifts. +\par \b Cycle Fit Type\plain\fs20 : This defines how accurately the drive cycle is driven, from two available options : +\par \pard\li715\fi715 \b 1. Exact +\par 2. Smoothed\plain\fs20 +\par \pard +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Extended Aerodynamic Data Variables +\par \pard \plain\fs20 +\par The \plain\f0\fs20 \'91\f1 Extended Aerodynamic\plain\f0\fs20 \'92\f1 window is accessed either from the menu option at the top of the vehicle data screen, or choosing \plain\f0\b\fs20 \'91\f1 Vehicle / Extended Aerodynamics\plain\f0\b\fs20 \'92\plain\fs20 from the \plain\f0\b\fs20 \'91\f1 Data\plain\f0\b\fs20 \'92\f1 \plain\fs20 pull-down menu on the main window menu-bar. +\par +\par The extended aerodynamic window provides access to the enhanced aerodynamic model. This window allows the user to define the variables representing the drag and lift of the vehicle using coefficients or data splines. These values being represented by fixed values in the \plain\f0\fs20 \'91\f1 simple\plain\f0\fs20 \'92\f1 model. +\par \pard +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par \b Using the Aerodynamic Model\plain\fs20 +\par +\par To use the Aerodynamic model and allow the user to define non-linear values for drag and lift, select from the top three buttons on the aerodynamic data screen the required variable, (i.e. \plain\f0\fs20 \'91\f1 CD - Drag Coeff\plain\f0\fs20 \'92\f1 , \plain\f0\fs20 \'91\f1 CLF - Front Lift coeff\plain\f0\fs20 \'92\f1 or \plain\f0\fs20 \'91\f1 CLR - Rear lift Coeff\plain\f0\fs20 \'92\f1 ). From the lower set of three buttons chose the required definition method for the selected variable. +\par \pard +\par The user can chose to define the aerodynamic variable as a constant, or a constant plus five polynomial coefficients, or a series of spline values. Selecting the required button will thus set the definition method for that variable. The appropriate data values should then be entered and the process repeated for the other two aerodynamic variables. +\par +\par Selecting a definition type to be other than \plain\f0\fs20 \'91\f1 constant\plain\f0\fs20 \'92\f1 will disable the edit box for that variables constant value in the vehicle data screen. +\par \pard +\par The \plain\f0\fs20 \'91\f1 constant\plain\f0\fs20 \'92\f1 definition type is exactly the same as the current \plain\f0\fs20 \'91\f1 simple\plain\f0\fs20 \'92\f1 model, where CD, CLF and CLR are fixed with vehicle speed. +\par +\par The \plain\f0\fs20 \'91\f1 coefficients\plain\f0\fs20 \'92\f1 definition type allows a constant value plus five power terms which when summed together produce a curve that varies with vehicle speed. +\par +\par The \plain\f0\fs20 \'91\'92\f1 value list\plain\f0\fs20 \'92\f1 definition type allows up to 40 points to be entered to define the variable\plain\f0\fs20 \'92\f1 s variation with vehicle speed. The user specifies the number of points and then the speed and value of the variable at each speed point. +\par \pard +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 \plain\f0\fs20 +\par +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Extended Tyre Data Variables +\par \pard \plain\fs20 +\par The \plain\f0\fs20 \'91\f1 Extended Tyre\plain\f0\fs20 \'92\f1 window is accessed either from the menu option at the top of the tyre data screen, or choosing \plain\f0\b\fs20 \'91\f1 Tyre / Extended Tyre\plain\f0\b\fs20 \'92\plain\fs20 from the \plain\f0\b\fs20 \'91\f1 Data\plain\f0\b\fs20 \'92\f1 \plain\fs20 pull-down menu on the main window menu-bar. +\par +\par The extended tyre window provides access to the enhanced tyre model. This window allows the user to define a variable representation for the rolling radius of the tyre using coefficients or data splines. This value being represented by a fixed value in the \plain\f0\fs20 \'91\f1 simple\plain\f0\fs20 \'92\f1 model. +\par \pard +\par This data can also be entered directly into the \uldb \b *.car file\plain\b\fs20 \plain\fs20 through the available text editor. +\par +\par The tyre rolling radius defined using either the coefficients or by list can be edited using the spline list and edit function that is available through the \ul spline edit icon\plain\fs20 . This provides a tool for listing and editing the spline in different units, any changes can be saved back in to the tyre data window in the correct units. +\par +\par \pard\qc \uldb \{bmc bm0.shg\}\plain\fs20 +\par \pard +\par \b Using the Extended Tyre Model\plain\fs20 +\par +\par To use the extended tyre model and allow the user to define non-linear values for rolling radius, select from the top buttons on the extended tyre data screen the required variable, (currently only 'rolling radius'). From the lower set of three buttons chose the required definition method for the selected variable. +\par +\par The user can chose to define the tyre variable as a constant, or a constant plus five polynomial coefficients, or a series of spline values. Selecting the required button will thus set the definition method for that variable. The appropriate data values should then be entered. +\par \pard +\par Selecting a definition type to be other than \plain\f0\fs20 \'91\f1 constant\plain\f0\fs20 \'92\f1 will disable the edit box for that variables constant value in the tyre data screen. +\par +\par The \plain\f0\fs20 \'91\f1 constant\plain\f0\fs20 \'92\f1 definition type is exactly the same as the current \plain\f0\fs20 \'91\f1 simple\plain\f0\fs20 \'92\f1 model, where Rolling Radius is fixed with vehicle speed. +\par +\par The \plain\f0\fs20 \'91\f1 coefficients\plain\f0\fs20 \'92\f1 definition type allows a constant value plus five power terms which when summed together produce a curve that varies with vehicle speed. +\par \pard +\par The \plain\f0\fs20 \'91\'92\f1 value list\plain\f0\fs20 \'92\f1 definition type allows up to 40 points to be entered to define the variable\plain\f0\fs20 \'92\f1 s variation with vehicle speed. The user specifies the number of points and then the speed and value of the variable at each speed point. +\par +\par As with the standard tyre data the non-linear rolling radius can be defined as either 'common' or defined separately for 'front' and 'rear' tyres. Setting 'common', 'front' or 'rear' will display the current tyre data and options associated with that tyre. It must be remembered that setting the option to have different tyre properties means that different tyre properties must also be entered for the \uldb 'standard tyre data'\plain\fs20 , since this option is directly linked with the standard tyre data window, such that changing the setting in one window is automatically reflected in the other. +\par \pard +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 \plain\f0\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Data Status Window +\par \pard \fs20 Overview\plain\f0\fs20 +\par +\par \f1 The data status window provides a single window that can be used to identify not only which data options are switched 'on' and any data errors associated with that data section, but also a method of switching individual data options 'on' and 'off', and a way of opening (or closing) the specific data option's window. +\par +\par This window contains a scrollable list where each line identifies a particular data 'option', i.e. 'extended tyre'. The text describing the data option is coloured coded to identify it as being either; compulsory (in \cf1 red)\plain\fs20 , optional (in \cf2 green\plain\fs20 ) and a controller (in \cf3 blue\plain\fs20 ). (note that the controllers are also optional). +\par \pard +\par Adjacent to the text a number of icons are used to identify wether the option is 'off', 'on' and if 'on' whether any data errors have been identified. +\par +\par \{button ,AL(`list17',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +\pard\keepn\sb235\sa55 \f1\b\fs28 Opening the Data Status Window +\par \pard \fs20 +\par \plain\fs20 To display the data status window select the menu item \ul Data\plain\fs20 / \ul Status\plain\fs20 . When this window is opened it will be updated to display the current status of data settings and associated errors. +\par +\par \{button ,AL(`list2',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \b +\par \page +{\up +} +{\up $} +{\up #} +\pard\keepn\sb235\sa55 \fs28 Closing the Data Status Window +\par \pard \plain\fs20 +\par To close the data status window select either the \plain\f0\fs20 \'91\f1 close\plain\f0\fs20 \'92\f1 icon at the top right corner of the data status window, the data status window menu at the top left or alternatively select the menu item \ul Functions\plain\fs20 / \ul Close\plain\fs20 from the data status window menubar.\b +\par \plain\fs20 +\par \{button ,AL(`list17',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \b +\par \page +{\up +} +{\up $} +{\up #} +\pard\keepn\sb235\sa55 \fs28 Using the Data Status Window +\par \pard \plain\fs20 +\par This window contains a scrollable list where each line identifies a particular data 'option', i.e. 'extended tyre'. The text describing the data option is coloured coded to identify it as being either; compulsory (in \cf1 red)\plain\fs20 , optional (in \cf2 green\plain\fs20 ) and a controller (in \cf3 blue\plain\fs20 ). (note that the controllers are also optional). The text description can be selected with the mouse to either 'open' or 'close' the relevant data window, (if already open it will be closed and if closed it will be opened). +\par \pard +\par A list of the individual data sections is given below; +\par \pard\tx355 \tab \tab Vehicle +\par \tab \tab \tab Standard data\tab \tab (compulsory) +\par \tab \tab \tab Extended Aerodynamics +\par \tab \tab \tab Extended Suspensions +\par \tab \tab Dyno +\par \tab \tab \tab Standard data +\par \tab \tab Tyre +\par \tab \tab \tab Standard data\tab \tab (compulsory) +\par \tab \tab \tab Extended data +\par \tab \tab Driveline +\par \tab \tab \tab Clutch +\par \tab \tab \tab Torque Converter +\par \tab \tab \tab TC lock-up +\par \tab \tab \tab TC idle +\par \tab \tab \tab Final Drive\tab \tab (compulsory) +\par \tab \tab Gearbox +\par \tab \tab \tab Specification\tab \tab (compulsory) +\par \tab \tab \tab Gear Losses +\par \tab \tab \tab Shift strategy\tab \tab (controller) +\par \tab \tab Engine +\par \tab \tab \tab Engine data\tab \tab (compulsory) +\par \pard\tx355 \tab \tab \tab Engine scaling +\par \tab \tab \tab Map data +\par \tab \tab \tab Optimum +\par \tab \tab \tab Catalyst +\par \tab \tab \tab Warm-up +\par \tab \tab \tab Auxiliaries +\par \tab \tab \tab Grid analysis +\par \tab \tab \tab Primary drive +\par \tab \tab Hybrid +\par \tab \tab \tab Standard data +\par \tab \tab \tab Extended Hybrid Performance +\par \tab \tab \tab \tab APU Generator +\par \tab \tab \tab \tab Drive Motor +\par \tab \tab \tab \tab Drive Regenerator +\par \tab \tab \tab \tab Battery +\par \tab \tab \tab Extended Hybrid Efficiencies +\par \tab \tab \tab \tab APU Generator +\par \tab \tab \tab \tab Drive Motor +\par \tab \tab \tab \tab Drive Regenerator +\par \tab \tab \tab \tab Battery - Charge +\par \tab \tab \tab \tab Battery - Discharge +\par \tab \tab \tab Extended Hybrid Battery Model +\par \pard\tx355 \tab \tab \tab Extended Hybrid Control \tab (controller) +\par \tab \tab Driver +\par \tab \tab \tab Standard Data\tab \tab (controller) +\par +\par Adjacent to each options text up to two icons are displayed. They are used to identify whether the option is 'off', 'on' and if 'on' whether any data errors have been identified. The relevant icons are; +\par +\par \pard\qc\tx355 \b off \plain\fs20 \uldb \{bmc bm1.bmp\}\plain\fs20 +\par \pard\qc\tx355 \b on \plain\fs20 \uldb \{bmc bm2.bmp\}\plain\fs20 +\par \pard\qc\tx355 \b errors \plain\fs20 \uldb \{bmc bm3.bmp\}\plain\fs20 +\par \pard\tx355 +\par \pard\tx355 The 'off' or 'on' icon can be selected to turn that specific data section on and off. The icon displayed changing to indicate the new state. Should the 'errors' icon be displayed, selecting this will open the \uldb 'data checking'\plain\fs20 wizard. +\par \pard\tx355 +\par \pard\tx355 On the menubar at the top of the data status window the menu option \ul Functions\plain\fs20 / \ul Update\plain\fs20 will allow the user to update the data status display, such that it reflects any data changes that may have been made. Some functions such as loading a new file automatically update the data status display. +\par \pard\tx355 +\par \pard\tx355 \{button ,AL(`list17',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 \b +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \fs28 How to use the Spline List / Edit Tool +\par \pard \plain\fs20 +\par A number of data windows have data variables that are defined using coefficients or data lists. They are normally displayed in fixed units. The spline list / edit tool allows these variables to be edited in other relevant units, and a list of the variable over a user defined range in these units to be viewed. The data can be edited in these units and changes saved back to the original data window. +\par +\par The spline list function can be opened either through a \ul List\plain\fs20 pull-down menu option on the data window, (if one exists), or through the \ul spline edit icon\plain\fs20 . +\par \pard +\par \pard\qc \uldb \{bmc bm4.shg\}\plain\fs20 +\par \pard \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Direct Editing of the Data File +\par \pard \fs20 Overview +\par \plain\fs20 +\par The LOTUS VEHICLE SIMULATION models are generated as a \uldb \b *.car file\plain\b\fs20 \plain\fs20 , which is simply an ASCII text file viewable through any word-processor or the available \b File Editor\plain\fs20 , accessible from the \plain\f0\b\fs20 \'91\f1 File\plain\f0\b\fs20 \'92\plain\fs20 pull-down menu on the main window. +\par +\par The user is free to enter and create model files directly through this approach. Typically when attempting to draw large sections of data together from many sources it would be inconvenient to complete all the data-processing through the graphical user interface. This section is designed to provide an insight into the structure of the *.car file and the arrangement of the variables which define a model. +\par \pard +\par \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Data System in the *.car file +\par \pard\tx355 \plain\f0\fs20 +\par \f1 The "*.car" input file is structured in a way that allows the user to easily add new options to an existing model. A "keyword" data input format is used. An option is invoked by the inclusion of a "keyword" anywhere in the input file. Data required for that option are then read immediately following the "keyword". +\par +\par The "keywords" are; +\par +\par \b 1. \uldb VEHICLE\plain\b\fs20 \plain\fs20 \tab \tab \tab \b * +\par 2. \uldb DYNO\plain\b\fs20 +\par 3. \uldb TYRE\plain\b\fs20 \plain\fs20 \tab \tab \tab \b * +\par 4. \uldb DRIVETRAIN\plain\b\fs20 \plain\fs20 \tab \tab \b * +\par \pard\tx355 5. \uldb CLUTCH\plain\b\fs20 +\par 6. \uldb TORQUE CONVERTER\plain\b\fs20 +\par 7. \uldb GEARBOX\plain\b\fs20 +\par 8. \uldb GSHIFT\plain\b\fs20 +\par 9. \uldb GLOSS\plain\b\fs20 \plain\fs20 +\par \b 10. \uldb ENGINE\plain\b\fs20 \plain\fs20 \tab \tab \tab \b * +\par 11. \uldb ENG_SCALE\plain\b\fs20 +\par 12. \uldb MAP\plain\b\fs20 +\par 13. \uldb OPTIMUM\plain\b\fs20 +\par 14. \uldb CATALYST\plain\b\fs20 +\par 15. \uldb WARM-UP\plain\b\fs20 +\par 16. \uldb AUXILLARIES\plain\b\fs20 +\par 17. \uldb GRID\plain\b\fs20 +\par 18. \uldb PDRIVE\plain\b\fs20 +\par 19. \uldb HYBRID\plain\b\fs20 +\par 20. \uldb DRIVER\plain\b\fs20 \plain\fs20 +\par \b 21. \uldb AERODYNAMICS\plain\b\fs20 \plain\fs20 +\par \b 23. \uldb HYBPOWER\plain\b\fs20 \plain\fs20 +\par \pard\tx355 \b 22. \uldb HYBLOSS\plain\b\fs20 \plain\fs20 +\par \b 24. \uldb HYBBATTERY\plain\b\fs20 \plain\fs20 +\par \b 25. \uldb HYBCONTROL\plain\b\fs20 \plain\fs20 +\par \b 26. \uldb XTYRE\plain\b\fs20 \plain\fs20 +\par \b +\par \plain\fs20 +\par +\par \pard\sl-235\tx355 The keywords marked by an * are the minimum required to run the model. +\par \pard\tx355 +\par \pard\tx355 \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Model File Titles +\par \pard \plain\fs20 +\par The first three lines of the "*.car" file contain; +\par +\par Line +\par +\par 1. \b MAIN TITLE\plain\fs20 (80 CHARACTERS MAXIMUM) +\par +\par 2. \b SUB TITLE\plain\fs20 (80 CHARACTERS MAXIMUM) +\par +\par 3. \b TEST NUMBER\plain\fs20 (80 CHARACTERS MAXIMUM), and \b DATA FILE VERSION No.\plain\fs20 (currently 3.01) +\par +\par The test number controls the naming of the input file and all results files +\par +\par The data file version number is used by the reader to correctly interpret the file data +\par +\par \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Vehicle data +\par \pard \plain\fs20 +\par This option specifies basic vehicle dimensions. +\par +\par *.Car file format; +\par +\par \b VEHICLE\plain\fs20 (keyword) +\par \b WEIGHT +\par FAREA, CD, PAREA, CLF, CLR, RHO +\par WHBASE, TRACKF, TRACKR, DCOG, HCOG\plain\fs20 +\par +\par Where +\par \pard\li1415\fi-1415\tx355 +\par \b WEIGHT\tab \plain\fs20 Vehicle test weight (kg).This is the total weight including occupants. +\par +\par \b FAREA\plain\fs20 \tab \tab Vehicle frontal area (m2). +\par +\par \b CD\plain\fs20 \tab \tab Aerodynamic drag coefficient. +\par +\par \b PAREA\plain\fs20 \tab Vehicle plan area (m2). +\par +\par \b CLF\plain\fs20 \tab \tab Aerodynamic lift coefficient at front wheels. A negative lift coefficient produces downforce. +\par +\par \b CLR\tab \tab \plain\fs20 Aerodynamic lift coefficient at rear wheels. A negative lift coefficient produces downforce. +\par +\par \b RHO\tab \tab \plain\fs20 Atmospheric air density (kg/m3). For example RHO = 1.205 kg/m3 at 20 C and 1013 kpa. +\par \pard\li1415\fi-1415\tx355 +\par \b WHBASE\tab \plain\fs20 Vehicle wheelbase (m) +\par +\par \b TRACKF\plain\fs20 \tab Front track (m). This is only used to calculate maximum cornering speed in track simulation. +\par +\par \b TRACKR\plain\fs20 \tab Rear track (m). This is only used to calculate maximum cornering speed in track simulation. +\par +\par \b DCOG\plain\fs20 \tab \tab Distance behind the front wheels of the centre of gravity (m). +\par +\par \b HCOG\tab \tab \plain\fs20 Height of centre of gravity above the ground (m). +\par \pard\tx355 +\par \pard\tx355 The following lines show an example of the VEHICLE option +\par \pard\tx355 +\par \pard\tx355 VEHICLE +\par \pard\tx355 1205. +\par \pard\tx355 1.950 .3800 2.000 -.1300 -.2000 +\par \pard\tx355 1.205 +\par \pard\tx355 2.450 1.000 1.000 .8860 .6000 +\par \pard\tx355 +\par \pard\tx355 \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Dyno data +\par \pard \plain\fs20 +\par This option tells the program that the vehicle is mounted on a chassis dynomometer. +\par +\par *.Car file format; +\par +\par \b DYNO\plain\fs20 (keyword) +\par \b DYNM, ADYN , BDYN , CDYN\plain\fs20 +\par +\par Where +\par +\par \pard\li1415\fi-1415\tx355 \b DYNM\plain\fs20 \tab \tab Chassis dynomometer effective mass (inertia) (kg) +\par +\par \b ADYN\tab \tab \plain\fs20 Brake constant (N). +\par +\par \b BDYN\plain\fs20 \tab \tab Brake constant (N/m/s). +\par +\par \b CDYN\plain\fs20 \tab \tab Brake constant (N/(m/s)2). +\par \pard\tx355 +\par \pard\tx355 +\par \pard\tx355 Where the brake constants form the equation that describes the chassis dynamometer load at the roller periphery. +\par \pard\tx355 +\par \pard\tx355 Brake Force = ADYN + +\par \pard\tx355 BDYN*( Velocity (m/s) ) + +\par \pard\tx355 CDYN*( Velocity (m/s) )2 +\par \pard\tx355 +\par \pard\tx355 The following lines show an example of the DYNO option +\par \pard\tx355 +\par \pard\tx355 DYNO +\par \pard\tx355 1250. 345.0 .0000E+00 .8000E-01 +\par \pard\tx355 +\par \pard\tx355 \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Tyre Data +\par \pard \plain\fs20 +\par This option provides the rolling radius and rolling resistance curve for the tyres. +\par +\par *.Car file format; +\par +\par \b TYRE\plain\fs20 (keyword) +\par \b ITYREND +\par +\par \plain\fs20 IF(ITYREND.GT.1)THEN +\par \b RTYRE(2), RTYRE(3) +\par \plain\fs20 \b ITOPT +\par COEFFS(2), TYDEF(2)\plain\fs20 +\par \b COEFFS(3), TYDEF(3)\plain\fs20 +\par IF ( ITOPT.EQ.2 ) THEN +\par \b TYR1(2), TYR2(2), TYR3(2), TYR4(2), TYR5(2), TYR6(2)\plain\fs20 +\par \b TYR1(3), TYR2(3), TYR3(3), TYR4(3), TYR5(3), TYR6(3)\plain\fs20 +\par \pard ENDIF +\par +\par ELSE +\par +\par \b RTYRE(1) +\par \plain\fs20 \b ITOPT, COEFFS(1), TYDEF(1)\plain\fs20 +\par \b \plain\fs20 IF ( ITOPT.EQ.2 ) THEN +\par \b TYR1(1), TYR2(1), TYR3(1), TYR4(1), TYR5(1), TYR6(1)\plain\fs20 +\par \b \plain\fs20 ENDIF +\par +\par ENDIF +\par +\par Where +\par \pard\li1415\fi-1415\tx355 +\par \b ITYREND\tab \plain\fs20 Flag to identify if common or separate tyre properties are to be used for front and rear tyres. +\par \tab \tab 1 = common tyre properties +\par \tab 2 or 3 = different tyre properties for front and rear tyres +\par \tab ( Bracketed indices (1), (2) and (3) imply, common, front and rear) +\par +\par \b RTYRE\tab \plain\fs20 Tyre rolling radius (m). This can be obtained from the ETRTO tables +\par +\par \b ITOPT\tab \tab \plain\fs20 Rolling resistance equation option +\par \pard\li1415\tx355 1 = use default rolling resistance curve +\par \pard\li1415\tx355 2 = user specified rolling resistance curve +\par \pard\li1415\fi-1415\tx355 +\par \pard\li1415\fi-1415\tx355 \b COEFFS\tab \plain\fs20 Coefficient of friction between tyre and road. +\par \pard\li1415\tx355 Typically in range 0.8 to 1.05. +\par \pard\li1415\fi-1415\tx355 +\par \pard\li1415\fi-1415\tx355 \b TYDEF\tab \tab \plain\fs20 Tyre transmission efficiency. Typically 0.95 +\par \pard\tx355 +\par \pard\tx355 +\par \pard\tx355 \b TYR1, TYR2, TYR3, TYR4, TYR5, TYR6 +\par \pard\li715\fi715\tx355 \plain\fs20 Tyre rolling resistance curve coefficients +\par \pard\tx355 +\par \pard\tx355 Where +\par \pard\tx355 +\par \pard\tx355 COEFFR = ( TYR1 + ( TYR2 * UM ) +\par \pard\tx355 > + ( TYR3 * UM * UM ) +\par \pard\tx355 > + ( TYR4 * UM * UM * UM ) +\par \pard\tx355 > + ( TYR5 * UM * UM * UM * UM ) +\par \pard\tx355 > + ( TYR6 * UM * UM * UM * UM * UM ) )/1000.0 +\par \pard\tx355 +\par \pard\tx355 UM - vehicle velocity m/s +\par \pard\tx355 +\par \pard\tx355 COEFFR - coefficient of rolling resistance N/1000 N +\par \pard\tx355 +\par \pard\tx355 The following lines show two examples of the TYRE option. +\par \pard\tx355 +\par \pard\tx355 TYRE +\par \pard\tx355 1 +\par \pard\tx355 .2810 +\par \pard\tx355 2 1.000 0.95 +\par \pard\tx355 10.00 -.6418E-01 .4274E-02 .000 .000 .000 +\par \pard\tx355 +\par \pard\tx355 +\par \pard\tx355 TYRE +\par \pard\tx355 2 +\par \pard\tx355 0.2810 0.320 +\par \pard\tx355 2 +\par \pard\tx355 1.000 0.95 +\par \pard\tx355 1.000 0.96 +\par \pard\tx355 10.00 -.6418E-01 .4274E-02 .000 .000 .000 +\par \pard\tx355 12.00 -.5330E-01 .3461E-02 .000 .000 .000 +\par \pard\tx355 +\par \pard\tx355 \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Drivetrain data +\par \pard\tx355 \plain\fs20 +\par This option specifies the drive type, the inertia of the wheels, the inertia of the drive shafts and the final drive gear ratio and efficiency. +\par +\par *.Car file format; +\par +\par \b DRIVETRAIN\plain\fs20 (keyword) +\par \b IDOPT +\par RIFWHL, RIBWHL +\par RIPAXL, RIPROP +\par GRFD, EFFD, IFDEFF +\par \plain\fs20 +\par Where +\par +\par \b IDOPT\tab \tab \plain\fs20 Drivetrain type +\par \pard\li715\fi715\tx355 1 = front wheel drive +\par \pard\li715\fi715\tx355 2 = rear wheel drive +\par \pard\li715\fi715\tx355 3 = four wheel drive +\par \pard\li1415\fi-1415\tx355 +\par \pard\li1415\fi-1415\tx355 \b RIFWHL\plain\fs20 \tab Rotating inertia of a front wheel (kg.m2). Two front wheels are assumed to be fitted to the vehicle. +\par +\par \b RIBWHL\plain\fs20 \tab Rotating inertia of a rear wheel (kg.m2). Two rear wheels are assumed to be fitted to the vehicle. +\par +\par \b RIPAXL\plain\fs20 \tab Rotating inertia of axle/drive shaft (kg.m2). This is the total inertia if two drive shafts are fitted. +\par +\par \b RIPROP\plain\fs20 \tab Rotating inertia of prop shaft (kg.m2). If not fitted set equal to 0.0. +\par +\par \b GRFD\plain\fs20 \tab \tab Final drive ratio +\par \pard\li1415\fi-1415\tx355 +\par \b EFFD\plain\fs20 \tab \tab Maximum efficiency of final drive. This should in the range 0-1. +\par +\par \b IFDEFF\plain\fs20 \tab Final drive efficiency switch +\par \tab \tab 1 = Efficiency fixed at EFFD +\par \tab \tab 2 = Efficiency as function of speed and load +\par \pard\tx355 +\par \pard\tx355 The following lines show an example of the DRIVETRAIN option. +\par \pard\tx355 +\par \pard\tx355 DRIVE +\par \pard\tx355 2 +\par \pard\tx355 .6770 .6770 +\par \pard\tx355 .0000E+00 .0000E+00 +\par \pard\tx355 3.742 .9600 +\par \pard\tx355 +\par \pard\tx355 \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Clutch Data +\par \pard\tx355 \plain\fs20 +\par `This option tells the program that a clutch is fitted between the engine and the gearbox input shaft. Note that a clutch and a torque converter cannot be specified in the same model. +\par +\par *.Car file format +\par +\par \b CLUTCH\plain\fs20 (keyword) +\par \b IUNIT, UDCLTCH\plain\fs20 +\par +\par +\par where +\par +\par \b IUNIT\plain\fs20 \tab \tab Flag that indicates the units of the declutch speed +\par \pard\li715\fi715\tx355 1 = declutch speed entered in km/h +\par \pard\li715\fi715\tx355 2 = declutch speed entered in mph +\par \pard\tx355 +\par \pard\tx355 \b UDCLTCH\plain\fs20 \tab Road speed at which the clutch is engaged. +\par +\par \pard\li705\fi5\tx355 Note - if the CLUTCH option is not set and the TORQUE CONVERTER option is also not set then the program will assume a clutch is fitted and will automatically set the clutch engagement speed to that produced by the engine idle speed in first gear. +\par \pard\tx355 +\par \pard\tx355 The following lines show an example of the CLUTCH option +\par \pard\tx355 +\par \pard\tx355 CLUTCH +\par \pard\tx355 1 5.000 +\par \pard\tx355 +\par \pard\tx355 \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Torque Converter Data +\par \pard \plain\fs20 +\par This option tells the program that a torque converter is fitted between the engine and the gearbox input shaft. Note that a clutch and a torque converter cannot be specified in the same model. +\par +\par *.Car file format: +\par +\par \b TORQUE CONVERTER\plain\fs20 (keyword) +\par \b NPTC\plain\fs20 +\par ( \b SPRATIO(J)\plain\fs20 , J = 1,NPTC ) +\par ( \b TORATIO(J)\plain\fs20 , J = 1,NPTC ) +\par ( \b FCIN(J)\plain\fs20 , J = 1,NPTC ) +\par \b NTLOCK, ILOCKL, ILOCKS\plain\fs20 +\par -----> +\par ntlock \b LPARAM\plain\fs20 , ( (\b SLOW(IG), SHIGH(IG)\plain\fs20 ) IG = 1, NGRS) +\par \pard times +\par <------ +\par \b ILIDLE (SRIDLE)\plain\fs20 +\par +\par +\par Where +\par \pard\li1415\fi-1415\tx355 +\par \b NPTC\tab \tab \plain\fs20 Number of point on torque converter characteristic curve (maximum = 20) +\par +\par \b SPRATIO\plain\fs20 \tab Torque converter speed ratios at which the torque ratios and input capacity factors are provided. +\par \pard\li1415\tx355 SPRATIO = OUTPUT SPEED/INPUT SPEED +\par \pard\li1415\fi-1415\tx355 +\par \pard\li1415\fi-1415\tx355 \b TORATIO\plain\fs20 \tab Torque ratio at this speed ratio +\par \pard\li1415\fi15\tx355 TORATIO = OUTPUT TORQUE/INPUT TORQUE +\par \pard\li1415\fi-1415\tx355 +\par \pard\li1415\fi-1415\tx355 \b FCIN\tab \tab \plain\fs20 Torque converter input capacity factor at this speed ratio. (rad/s/sqrt(N.m)) +\par +\par \b NTLOCK\plain\fs20 \tab Number of load parameters in torque converter lock-up map. Set NTLOCK=0 if torque converter lock-up is not available. +\par +\par \b ILOCKL\tab \plain\fs20 Load parameter used to define lock-up map (range 0-14) +\par \pard\li1415\tx355 0 = Torque fraction +\par \pard\li1415\tx355 1-14 = Map type No., i.e. 5 = CO emissions +\par \pard\li1415\fi-1415\tx355 +\par \pard\li1415\fi-1415\tx355 \b ILOCKS\tab \plain\fs20 Speed parameter used to define lock-up map. (range 1 - 4) +\par \pard\li1415\tx355 1 = shift speeds specified in ENGINE SPEED (RPM) +\par \pard\li1415\tx355 2 = shift speeds specified in PROPSHAFT SPEED (RPM) +\par \pard\li1415\tx355 3 = shift speeds specified in ROAD SPEED (KPH) +\par \pard\li1415\tx355 4 = shift speeds specified in ROAD SPEED (MPH) +\par \pard\li1415\fi-1415\tx355 +\par \pard\li1415\fi-1415\tx355 \b LPRAM\tab \plain\fs20 Torque fraction/map value for this set of lock-up speeds +\par +\par \b SLOW(IG)\tab \plain\fs20 Speed at which lock-up is engaged in this gear. +\par +\par \b SHIGH(IG)\plain\fs20 \tab Speed at which lock-up is released in this gear +\par +\par \b ILIDLE\tab \tab \plain\fs20 torque converter mode at idle +\par \tab \tab 0 = Normal Idle, (i.e. gearbox remains in drive) +\par \tab \tab 1 = Full Neutral Idle, (i.e. gearbox placed in neutral and hence no drag torque on gearbox) +\par \tab \tab 3 = Semi-Neutral Idle, (i.e. gearbox placed in so called semi-neutral where ther remains a speed ratio between converter input and output speed) +\par \pard\li1415\fi-1415\tx355 +\par \b SRIDLE\tab \plain\fs20 Speed ratio to be used for semi-neutral idle (range 0 - 1). This data is only entered if ILIDLE = 2 +\par +\par \pard\tx355 The following lines show an example of the TORQUE CONVERTER option +\par \pard\tx355 +\par \pard\tx355 TORQUE CONVERTER +\par \pard\tx355 11 +\par \pard\tx355 .0000000E+00 .1000000 .2000000 .3000000 .4000000 +\par \pard\tx355 .5000000 .6000000 .7000000 .8000000 .9000000 +\par \pard\tx355 1.000000 +\par \pard\tx355 2.280000 2.120000 1.960000 1.800000 1.640000 +\par \pard\tx355 1.480000 1.320000 1.160000 1.000000 1.000000 +\par \pard\tx355 1.000000 +\par \pard\tx355 23.30000 23.40000 23.60000 23.80000 24.10000 +\par \pard\tx355 24.80000 25.80000 27.10000 29.30000 37.40000 +\par \pard\tx355 100.000 +\par \pard\tx355 1 0 1 +\par \pard\tx355 1.000 6000. 6000. 3200. 3200. +\par \pard\tx355 2050. 2050. 1400. 1400. +\par \pard\tx355 +\par \pard\tx355 \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Gearbox Data +\par \pard \plain\fs20 +\par This option specifies the gearbox gear ratios. +\par +\par *.car file format; +\par +\par \b GEARBOX\plain\fs20 (keyword) +\par \b NGRS, UTMAXG, USMAXG, IGBEFF\plain\fs20 +\par ------> +\par \fs16 NGRS\fs20 +\par \pard\li715\fi715 \b GRATIO(J), GREFF(J), GEARIP(J) +\par \pard\tx355 \plain\fs20 \fs16 TIMES\fs20 +\par <----- +\par +\par Where +\par +\par \b NGRS\tab \tab \plain\fs20 Number of gears (maximum = 10) +\par +\par \pard\li1415\fi-1415\tx355 \b UTMAXG\plain\fs20 \tab Maximum gearbox input torque (Nm). This is used by the gear efficiency equations. If UTMAXG is set equal to 0.0 then the maximum engine torque is used. +\par \pard\li1275\fi-1275\tx355 +\par \pard\li1415\fi-1415\tx355 \b USMAXG\plain\fs20 \tab Maximum gearbox input speed (rpm). This is used by the gear efficiency function equations. If USMAXG is set equal to 0.0 then the maximum engine speed is used. +\par \pard\li1275\fi-1275\tx355 +\par \pard\li1415\fi-1415\tx355 \b IGBEFF\plain\fs20 \tab Gearbox efficiency switch +\par \pard\li1415\tx355 1 = Efficiency fixed at GREFF(J) for each gear +\par \pard\li1415\tx355 2 = Efficiency as function of speed and load +\par \pard\tx355 +\par \pard\tx355 \b GRATIO(J)\plain\fs20 \tab Gearbox gear ratio for gear J +\par +\par \b GREFF(J)\plain\fs20 \tab Gearbox maximum transmission efficiency in gear J. +\par +\par \b GEARIP(J)\plain\fs20 \tab Gearbox rotating inertia at gearbox input speed (kg.m2). +\par +\par The following lines show an example of the GEARBOX option. +\par +\par GEARBOX +\par 4 440.0 6500 2 +\par 3.027 .9800 .4330E-01 +\par 1.619 .9800 .4470E-01 +\par 1.000 .9800 .7520E-01 +\par .6940 .9800 .7870E-01 +\par +\par \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Gear Shift Data +\par \pard \plain\fs20 +\par This option specifies the user gear shift strategies. +\par +\par *.car file format; +\par +\par \b GSHIFT\plain\fs20 (keyword) +\par +\par \b NSHIFT\plain\fs20 +\par ---------------> +\par nshift +\par times| \b TITSHFT(IS)\plain\fs20 +\par | \b NTORS(IS), ISOPTL(IS), ISOPTS(IS) +\par \plain\fs20 | ----------------> +\par | ntors \b LPARAM(IS),\plain\fs20 ( (\b SLOW(IG), SHIGH(IG)\plain\fs20 ) IG = 1, NGRS) +\par | times +\par | ----------------< +\par \pard\tx355 | \b ISMODE, IKDOWN\plain\fs20 +\par <------ +\par +\par Where +\par +\par \b NSHIFT\plain\fs20 \tab Number of user shift maps (maximum = 10) +\par +\par \b TITSHIFT(IS)\plain\fs20 \tab Title of shift map IS. (maximum = 80 characters) +\par +\par \b NTORS(IS)\plain\fs20 \tab Number of load fractions in shift map (maximum = 15) +\par +\par \b ISOPTL(IS)\plain\fs20 \tab Load parameter used to define shift map (range 0-17) +\par \pard\li715\fi715\tx355 0 = Torque fraction +\par \pard\li715\fi715\tx355 1-17 = Map type No.(i.e. 5 = CO emissions) +\par \pard\tx355 +\par \pard\tx355 \b ISOPTS(IS)\plain\fs20 \tab Speed parameter used to define shift map. (range 1 - 4) +\par \pard\li715\fi715\tx355 1 = shift speeds specified in ENGINE SPEED (RPM) +\par \pard\li715\fi715\tx355 2 = shift speeds specified in PROPSHAFT SPEED (RPM) +\par \pard\li715\fi715\tx355 3 = shift speeds specified in ROAD SPEED (KM/H) +\par \pard\li715\fi715\tx355 4 = shift speeds specified in ROAD SPEED (MPH) +\par \pard\tx355 +\par \pard\tx355 \b LPRAM(IS)\plain\fs20 \tab Torque fraction/map value for this set of shift speeds +\par +\par \pard\li1415\fi-1415\tx355 \b SLOW(IG)\plain\fs20 \tab Lowest speed allowed in this gear. This is the same as the shift down speed. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b SHIGH(IG)\plain\fs20 \tab Highest speed allowed in this gear. This is the same as the shift up speed. +\par \pard\tx355 +\par \pard\tx355 \b ISMODE(IS)\plain\fs20 \tab Shift mode +\par \pard\li1415\fi15\tx355 1 = FREE - gear shifts will be made to minimise the parameter specified in the OPTIMUM option. +\par \pard\li1415\fi15\tx355 2 = FORCED - gear shifts will only occur when a shift line is crossed. +\par \pard\tx355 +\par \pard\tx355 \b IKDOWN(IS)\plain\fs20 \tab Controls \plain\f0\fs20 \'91\f1 kick down\plain\f0\fs20 \'92\f1 mode under acceleration +\par \pard\li715\fi715\tx355 0 = OFF - Kick down disabled +\par \pard\li715\fi715\tx355 1 = ON - kick down enabled +\par \pard\tx355 +\par \pard\tx355 The following lines show an example of the GSHIFT option +\par \pard\tx355 +\par \pard\tx355 GSHIFT +\par \pard\tx355 1 +\par \pard\tx355 Title - this shift map used the M.A.P. map +\par \pard\tx355 6 12 1 +\par \pard\tx355 0.8000e-01 +\par \pard\tx355 600.0 1367. +\par \pard\tx355 658.0 1505. +\par \pard\tx355 808.0 2250. +\par \pard\tx355 1451.0 6200. +\par \pard\tx355 .1000 +\par \pard\tx355 600.0 1538. +\par \pard\tx355 658.0 1787. +\par \pard\tx355 1039. 2366. +\par \pard\tx355 1491. 6200. +\par \pard\tx355 .2000 +\par \pard\tx355 600.0 1880. +\par \pard\tx355 658.0 2211. +\par \pard\tx355 1154. 2770. +\par \pard\tx355 1608. 6200. +\par \pard\tx355 .3000 +\par \pard\tx355 600.0 2393. +\par \pard\tx355 658.0 2822. +\par \pard\tx355 1269. 4500. +\par \pard\tx355 1648. 6200. +\par \pard\tx355 .6000 +\par \pard\tx355 600.0 3931. +\par \pard\tx355 658.0 4139. +\par \pard\tx355 1962. 6200. +\par \pard\tx355 3923. 6200. +\par \pard\tx355 1.000 +\par \pard\tx355 600.0 6200. +\par \pard\tx355 2822. 6200. +\par \pard\tx355 3578. 6200. +\par \pard\tx355 4000. 6200. +\par \pard\tx355 2 1 +\par \pard\tx355 +\par \pard\tx355 \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Gear Loss Data +\par \pard \plain\fs20 +\par This option allows the user to specify the gearbox torque losses (spin losses). +\par +\par *.car file format; +\par +\par \b GLOSS\plain\fs20 (keyword) +\par +\par \b TITGLOS\plain\fs20 +\par +\par -----------------> +\par ngrs +\par times +\par | \b NGLOS(IG), NGLOT(IG) +\par \plain\fs20 | +\par | \b GLSPD(IS)\plain\fs20 IS = 1, NGLOS +\par | \b GLTFR(IT)\plain\fs20 IT = 1, NGLOT +\par | ---------------------> +\par | nglot \b GLTOR(IS,IT)\plain\fs20 IS = 1, NGLOS +\par | times +\par \pard\tx355 | ---------------------< +\par ---------< +\par +\par Where +\par +\par +\par \b TITGLOS\plain\fs20 \tab Gear loss data title. (maximum = 80 characters) +\par +\par \pard\li1415\fi-1415\tx355 \b NGLOS(IG)\plain\fs20 \tab Number of gearbox input speeds for gear loss curves in this gear (maximum 20) +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b NGLOT(IG)\plain\fs20 \tab Number of torque fractions for which gear loss curves are supplied in this gear (maximum 10) +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b GLSPD(IS)\plain\fs20 \tab Gearbox input speeds (rpm) +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b GLTFR(IT)\plain\fs20 \tab Gearbox input torque fractions (0- 1.0). This is assumed to be the same as engine torque fraction +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b GLTOR(IS,IT)\plain\fs20 \tab Gearbox torque loss (Nm) for input speed IS and torque fraction IT +\par +\par \pard\tx355 The following lines show an example of the GLOSS option. +\par \pard\tx355 +\par \pard\tx355 GLOSS +\par \pard\tx355 Spin Loss Title +\par \pard\tx355 6 3 +\par \pard\tx355 600. 1000. 2000. 3000. 4500. 6500. +\par \pard\tx355 .5000 .8000 1.000 +\par \tab 4.531 5.175 5.413 5.526 5.876 6.328 +\par \tab 5.876 7.345 9.831 12.20 13.33 14.80 +\par \tab 7.119 8.701 10.85 12.54 14.01 15.93 +\par 6 3 +\par 600. 1000. 2000. 3000. 4500. 6500. +\par .5000 .8000 1.000 +\par \tab 3.108 3.187 3.390 3.684 4.362 5.254 +\par \tab 4.859 5.424 5.311 6.215 7.684 9.639 +\par \tab 5.989 6.328 6.102 6.667 7.910 9.639 +\par 6 3 +\par 600. 1000. 2000. 3000. 4500. 6500. +\par .5000 .8000 1.000 +\par \pard\tx355 \tab 3.808 3.582 3.684 4.068 5.108 6.486 +\par \tab 5.537 5.989 5.424 5.876 7.684 10.09 +\par \tab 6.441 6.780 6.328 6.554 8.136 10.25 +\par 6 3 +\par 600. 1000. 2000. 3000. 4500. 6500. +\par .5000 .8000 1.000 +\par \tab 3.605 3.526 3.661 4.249 5.130 6.305 +\par \tab 6.215 6.441 6.215 7.232 11.19 11.19 +\par \tab 6.893 8.701 7.006 8.136 11.75 11.75 +\par +\par \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Engine Specification Data +\par \pard\tx355 \plain\fs20 +\par This option specifies the engine details and torque curve. +\par +\par *.Car file format; +\par +\par \b ENGINE\plain\fs20 (keyword) +\par \b IETYPE +\par BORE, STROKE, CR, NCYL, ICYC, RIENG +\par SPIDLE, SPEMAX +\par NSPC +\par \plain\fs20 -----> +\par nspc \b SPDPC(I), BMEPC(I)\plain\fs20 +\par times +\par <----- +\par +\par Where +\par +\par \b IETYPE\tab \plain\fs20 Engine type (must = 1) +\par \pard\li715\fi715\tx355 1 = Internal combustion engine +\par \pard\tx355 +\par \pard\tx355 \b BORE\tab \tab \plain\fs20 Engine bore (mm) +\par +\par \b STROKE\plain\fs20 \tab Engine stroke (mm) +\par \pard\li1415\fi-1415\tx355 +\par \pard\li1415\fi-1415\tx355 \b CR\plain\fs20 \tab \tab Compression Ratio, (only used in conjunction with engine scaling) +\par +\par \pard\tx355 \b NCYL\plain\fs20 \tab \tab Number of cylinders +\par +\par \b ICYC\plain\fs20 \tab \tab Cycle type +\par \pard\fi715\tx355 \tab 2 = Two stroke +\par \tab 4 = Four stroke +\par \pard\tx355 +\par \pard\tx355 \b RIENG\tab \tab \plain\fs20 Rotating inertia of engine (kg.m2) +\par +\par \b SPIDLE\tab \plain\fs20 Engine idle speed (rpm) +\par +\par \b SPEMAX\plain\fs20 \tab Maximum engine speed (rpm) +\par +\par \pard\li1415\fi-1415\tx355 \b NSPC\tab \tab \plain\fs20 Number of points used to define power curve ( maximum = 20 ) +\par +\par \b SPDPC(I)\tab \plain\fs20 Engine speed at point I (rpm) +\par +\par \b BMEPC(I)\tab \plain\fs20 Maximum BMEP at this engine speed (bar). +\par \pard\tx355 +\par \pard\tx355 The following lines show an example of the ENGINE option +\par \pard\tx355 +\par \pard\tx355 +\par \pard\tx355 ENGINE +\par \pard\tx355 1 +\par \pard\tx355 77.00 79.00 10 4 4 .1261 +\par \pard\tx355 850. 6500. +\par \pard\tx355 16 +\par \pard\tx355 850.0 7.370 +\par \pard\tx355 1000. 7.620 +\par \pard\tx355 1400. 8.210 +\par \pard\tx355 1800. 8.800 +\par \pard\tx355 2200. 9.130 +\par \pard\tx355 2600. 9.880 +\par \pard\tx355 3000. 10.05 +\par \pard\tx355 3400. 9.800 +\par \pard\tx355 3800. 9.800 +\par \pard\tx355 4200. 10.14 +\par \pard\tx355 4600. 10.22 +\par \pard\tx355 5000. 9.800 +\par \pard\tx355 5400. 9.630 +\par \pard\tx355 5800. 9.130 +\par \pard\tx355 6200. 8.290 +\par \pard\tx355 6500. 7.120 +\par \pard\tx355 +\par \pard\tx355 \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Engine Scaling Data +\par \pard \plain\fs20 +\par This option allows the user to scale the engine performance and consumption maps by factors which scale with bore and stroke. +\par +\par *.Car file format; +\par +\par \b ENG_SCALE\plain\fs20 (keyword) +\par +\par \b BSCALE, SSCALE, CRSENS +\par TEBORE, TESTROKE,TECR +\par SPBORE, SPSTROKE +\par ESSMIN, ESSMAX +\par IFRIC +\par \plain\fs20 +\par IF ( IFRIC.EQ.1 ) THEN ENTER FRICTION CURVES +\par \b NFRIC\plain\fs20 +\par nfric ----------> +\par times | \b FRICSP(I), FMEPOLD(I), FMEPNEW(I)\plain\fs20 +\par -----------< +\par \pard ELSE IF ( IFRIC.EQ.2 ) READ FRICTION MODEL DATA +\par \b NMAIN +\par DMAIN,WMAIN +\par DBIG,WBIG +\par ICTYPE,IFTYPE,NVALVE,VLIFT +\par DCAM,WCAM +\par \plain\fs20 ELSE IF ( IFRIC.EQ.3 ) READ FRICTION MODEL FOR EACH ENGINE +\par \b NMAIN +\par DMAIN,WMAIN +\par DBIG,WBIG +\par ICTYPE,IFTYPE,NVALVE,VLIFT +\par DCAM,WCAM +\par NMAIN2 +\par DMAIN2,WMAIN2 +\par DBIG2,WBIG2 +\par ICTYPE2,IFTYPE2,NVALVE2,VLIFT2 +\par DCAM2,WCAM2 +\par \plain\fs20 +\par +\par \pard Where +\par \pard\li1555\fi-1555\tx355 +\par \b BSCALE\tab \plain\fs20 Engine bore to which input data is to be scaled (mm) +\par +\par \b SSCALE\tab \plain\fs20 Engine stroke to which input data is to be scaled (mm) +\par +\par \b CRSENS\tab \plain\fs20 Compression ratio change per mm increase in bore (1/mm) +\par +\par \b TEBORE\plain\fs20 \tab % change in thermal efficiency per mm increase in bore (%/mm). This number is normally negative. +\par +\par \b TESTROKE\tab \plain\fs20 % change in thermal efficiency per mm increase in stroke (%/mm). This number is normally 0.0 +\par +\par \b TECR\tab \plain\fs20 % change in thermal efficiency per unit increase in compression ratio. +\par \pard\li1555\fi-1555\tx355 +\par \b SPBORE\tab \plain\fs20 % change in speed data per mm increase in bore. The number is normally 0.0 +\par +\par \b SPSTROKE\plain\fs20 \tab % change in speed data per mm increase in stroke. This number is usually -ve. +\par +\par \b ESSMIN\tab \plain\fs20 Minimum engine speed (i.e. idle speed) to be set after speed scaling. If ESSMIN is 9999.0 then the scaled minimum is used. +\par +\par \b ESSMAX\tab \plain\fs20 Maximum engine speed to be set after speed scaling. If ESSMAX is 9999.0 then the scaled maximum is used. +\par +\par \b IFRIC\plain\fs20 \tab Friction model option +\par \pard\li1555\tx355 1 = enter mechanical friction data for original and scaled engine +\par \pard\li1555\tx355 2 = use friction model to estimate change in friction with changes in bore and stroke +\par \pard\li1555\tx355 3 = use friction model to estimate change in friction with specified changes in bearings and valve train. +\par \pard\li1555\fi-1555\tx355 +\par \pard\li1555\fi-1555\tx355 \b FRICSP(I)\tab \plain\fs20 Engine speed at which mechanical friction data will be specified (rpm) +\par +\par \b FMEPOLD(I)\tab \plain\fs20 Mechanical friction in BAR of original engine +\par +\par \b FMEPNEW(I)\tab \plain\fs20 Mechanical friction in BAR of scaled engine +\par +\par \b NMAIN/NMAIN2\tab \tab \plain\fs20 Number of main bearing +\par +\par \b DMAIN/DMAIN2\tab \tab \plain\fs20 Diameter of main bearings (mm) +\par \pard\li2155\tx355 IF DMAIN = 9999.0 Estimate bearing sizes for an inline engine DMAIN = 0.68*BORE +\par \pard\li2155\fi595\tx355 IF DMAIN = 9998.0 Estimate bearing sizes for an V cyl per pin engine DMAIN = 0.7*BORE +\par \pard\li2155\fi595\tx355 IF DMAIN = 9997.0 Estimate bearing sizes for an V 2 cyl per pin engine DMAIN = 0.62*BORE +\par \pard\li1555\fi-1555\tx355 +\par \pard\li1555\fi-1555\tx355 \b WMAIN/WMAIN2\tab \plain\fs20 Width of main bearings (mm) +\par \pard\li2125\tx355 IF WMAIN = 9999.0 Estimate bearing sizes for an inline engine WMAIN = 0.36*BORE +\par \pard\li2125\tx355 IF WMAIN = 9998.0 Estimate bearing sizes for an V cyl per pin engine WMAIN = 0.35*BORE +\par \pard\li2125\tx355 IF WMAIN = 9997.0 Estimate bearing sizes for an V 2 cyl per pin engine WMAIN = 0.40*BORE +\par \pard\li1555\fi-1555\tx355 +\par \pard\li1555\fi-1555\tx355 \b DBIG /DDIG2\plain\fs20 \tab \tab Diameter of big end bearings (mm) +\par \pard\li2125\tx355 IF DBIG = 9999.0 Estimate bearing sizes for an inline engine DBIG = 0.57*BORE +\par \pard\li2125\tx355 IF DBIG = 9998.0 Estimate bearing sizes for an V cyl per pin engine DBIG = 0.6*BORE +\par \pard\li2125\tx355 IF DBIG = 9997.0 Estimate bearing sizes for an V 2 cyl per pin engine DBIG = 0.57*BORE +\par \pard\li1555\fi-1555\tx355 +\par \pard\li1555\fi-1555\tx355 \b WBIG/WBIG2\tab \tab \plain\fs20 Width of big end bearings (mm) +\par \pard\li2125\tx355 IF WBIG = 9999.0 Estimate bearing sizes for an inline engine WBIG = 0.35*BORE +\par \pard\li2125\tx355 IF WBIG = 9998.0 Estimate bearing sizes for an V cyl per pin engine WBIG = 0.36*BORE +\par \pard\li2125\tx355 IF WBIG = 9997.0 Estimate bearing sizes for an V 2 cyl per pin engine WBIG = 0.39*BORE +\par \pard\li1555\fi-1555\tx355 +\par \pard\li1555\fi-1555\tx355 \b ICTYPE/ICTYPE2\plain\fs20 \tab Valve train type +\par \pard\li1555\fi595\tx355 1 = OHV pushrod with rockers +\par \pard\li1555\fi595\tx355 2 = DOHC +\par \pard\li1555\fi595\tx355 3 = SOHC +\par \pard\li1555\fi595\tx355 4 = SOHC with rockers +\par \pard\li1555\fi595\tx355 5 = DOHC with rockers +\par \pard\li1555\fi-1555\tx355 +\par \pard\li1555\fi-1555\tx355 \b NVALVE/NVALVE2\tab \plain\fs20 Number of valves per cylinder +\par +\par \b VLIFT/VLIFT2\plain\fs20 \tab \tab Maximum valve lift (mm) +\par +\par \b DCAM/DCAM2\plain\fs20 \tab \tab Diameter of cam bearings (mm) +\par \pard\li1555\fi595\tx355 If DCAM = 9999.0 diameter set = 0.34*BORE +\par \pard\li1555\fi-1555\tx355 +\par \pard\li1555\fi-1555\tx355 \b WCAM/WCAM2\plain\fs20 \tab \tab Width of cam bearing (mm) +\par \pard\li1555\fi595\tx355 If WCAM = 9999.0 width set = 0.66*DCAM +\par \pard\tx355 +\par \pard\tx355 The following lines show three examples of the ENG_SCALE option +\par \pard\tx355 +\par \pard\tx355 This example uses IFRIC=1 where the change in mechanical friction is specified +\par \pard\tx355 +\par \pard\tx355 ENG_SCALE +\par \pard\tx355 81.60 86.00 .0000E+00 +\par \pard\tx355 .0000E+00 .0000E+00 10.00 +\par \pard\tx355 .0000E+00 .0000E+00 +\par \pard\tx355 600.0 6500. +\par \pard\tx355 1 +\par \pard\tx355 8 +\par \pard\tx355 600.0 .9016 .8964 +\par \pard\tx355 1400. .9665 .9553 +\par \pard\tx355 2400. 1.175 1.156 +\par \pard\tx355 3200. 1.369 1.342 +\par \pard\tx355 4000. 1.575 1.541 +\par \pard\tx355 4800. 1.791 1.749 +\par \pard\tx355 5600. 2.016 1.965 +\par \pard\tx355 6500. 2.278 2.217 +\par \pard\tx355 +\par \pard\tx355 This example uses IFRIC=2 where the bearings are all scaled from the bore dimension +\par \pard\tx355 +\par \pard\tx355 ENG_SCALE +\par \pard\tx355 80.50 88.20 .0000E+00 +\par \pard\tx355 .8750E-01 .0000E+00 10.00 +\par \pard\tx355 .0000E+00 -1.150 +\par \pard\tx355 600.0 6500. +\par \pard\tx355 2 +\par \pard\tx355 5 +\par \pard\tx355 9999. 9999. +\par \pard\tx355 9999. 9999. +\par \pard\tx355 2 3 4 9.000 +\par \pard\tx355 28.00 17.00 +\par \pard\tx355 +\par \pard\tx355 This example shows how the effect of bearing dimensions can be examined +\par \pard\tx355 +\par \pard\tx355 ENG_SCALE +\par \pard\tx355 81.60 86.00 .0000E+00 +\par \pard\tx355 .0000E+00 .0000E+00 10.00 +\par \pard\tx355 .0000E+00 .0000E+00 +\par \pard\tx355 600.0 6500. +\par \pard\tx355 3 +\par \pard\tx355 5 +\par \pard\tx355 58. 21. +\par \pard\tx355 49. 20. +\par \pard\tx355 2 3 4 9.000 +\par \pard\tx355 28.00 17.00 +\par \pard\tx355 5 +\par \pard\tx355 52.5 21. +\par \pard\tx355 47. 20. +\par \pard\tx355 2 3 4 9.000 +\par \pard\tx355 28.00 17.00 +\par \pard\tx355 +\par \pard\tx355 \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Engine Map Data +\par \pard \plain\fs20 +\par This option specifies the engine economy, emission and operating maps as required. The maps are all specified on a common grid of speed and load points. This grid is first specified, followed by the map data. The grid does not have to be regular, but a complete grid must be provided. Thus some extrapolation of data above the full load BMEP is required to satisfy the input requirements. The accuracy of the extrapolated data will not effect the calculated results. +\par +\par *.Car file format; +\par \pard +\par \b MAP\plain\fs20 (keyword) +\par \b NSPMAP\plain\fs20 +\par \b SPDMAP(K)\plain\fs20 ,K = 1,NSPMAP +\par \b NLDMAP\plain\fs20 +\par \b BMEPMAP(J)\plain\fs20 ,J = 1,NLDMAP +\par \b NMAP\plain\fs20 +\par -----------------> +\par nmap +\par times +\par | \b IMAP, IMUNIT, (SG), (CALVAL), (FACT)\plain\fs20 +\par | -----------------> +\par | nspmap +\par | times \b DATMAP(J,K)\plain\fs20 ,J = 1,NLDMAP +\par | -----------------< +\par | \b IORUN\plain\fs20 +\par | (\b DORUN(K)\plain\fs20 , K = 1, NSPMAP) +\par | +\par ----------------< +\par \pard\tx355 +\par Where +\par +\par \b NSPMAP\tab \plain\fs20 Number of speeds used to define maps ( maximum = 40 ) +\par +\par \b SPDMAP(J\plain\fs20 )\tab Engine speed at K map point (rpm). +\par +\par \b NLDMAP\plain\fs20 \tab Number of loads used to define maps ( maximum = 40 ) +\par +\par \b BMEPMAP(J)\plain\fs20 \tab Engine BMEP at J map point (bar). +\par +\par \b NMAP\plain\fs20 \tab \tab Number of maps to be defined ( maximum = 14 ) +\par +\par \b IMAP\tab \tab \plain\fs20 Map type. The map types available are; +\par \tab 1 = Fuel consumption +\par \tab 2 = Air consumption +\par \pard\tx355 \tab 3 = Hydrocarbon emissions +\par \tab 4 = NOx emissions +\par \tab 5 = CO emissions +\par \tab 6 = CO2 emissions +\par \tab 7 = O2 emissions +\par \tab 8 = Particulate emissions +\par \tab 9 = user flow +\par \tab 10 = spark timing +\par \tab 11 = throttle position +\par \tab 12 = manifold air pressure (bar) +\par \tab 13 = air fuel ratio +\par \tab 14 = Exhaust temp +\par \pard\tx355 +\par \b IMUNIT\tab \plain\fs20 Units flag +\par \tab For map type 1 - 9 the unit options are +\par \tab 0 = GMS/S +\par \tab 1 = GMS/HR +\par \tab 2 = GMS/KW.HR +\par \tab 3 = GMS/HR/LITRE +\par +\par \pard\li1415\fi-1415\tx355 \b SG\plain\fs20 \tab \tab Specific gravity of fuel (0.75-gasoline 0.84-diesel).This should only be entered if IMAP=1 +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b CALVAL\tab \plain\fs20 Calorific value of fuel (kJ/kg). This should only be entered in IMAP=1 +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b FACT\tab \tab \plain\fs20 Scaling factor for map data. This can be used to make global changes to the map data. +\par \pard\tx355 +\par \pard\tx355 \b DATMAP(J,K)\tab \plain\fs20 Map data at BMEP J and speed K +\par +\par \pard\li1415\fi-1415\tx355 \b IORUN\plain\fs20 \tab \tab Overrun map option. This tells the program which map values to use when the engine is being motored by the vehicle inertia. +\par \pard\tx355 \tab 0 = set overrun map value to lowest load value +\par \tab 1 = set overrun map value to zero +\par \tab 2 = user will specify overrun values +\par +\par Note that the overrun map value specified for the first speed is that used when the engine is at idle (unless auxiliaries or a torque converter are specified). +\par +\par \b DORUN(K)\plain\fs20 \tab user specified overrun map values at speed K. +\par \pard\li1415\fi15\tx355 The units for DORUN are g/s for map type 1-9 when IMUNIT = 0 or 1 and g/s/l when IMUNIT = 2 or 3 +\par \pard\tx355 +\par \pard\tx355 The following lines show an example of the MAP option in which a fuel consumption map is entered. +\par \pard\tx355 +\par \pard\tx355 MAPS +\par \pard\tx355 16 +\par \pard\tx355 850.0 1000. 1400. 1800. 2200. +\par \pard\tx355 2600. 3000. 3400. 3800. 4200. +\par \pard\tx355 4600. 5000. 5400. 5800. 6200. +\par \pard\tx355 6500. +\par \pard\tx355 12 +\par \pard\tx355 .1000E-01 .8380 1.676 2.514 3.352 +\par \pard\tx355 4.190 5.028 5.866 6.704 7.542 +\par \pard\tx355 8.380 9.218 +\par \pard\tx355 1 +\par \pard\tx355 1 2 .7500 .4200E+05 1.00 FUEL G/KW.H +\par \pard\tx355 .6975E+05 1008. 572.9 504.1 406.7 +\par \pard\tx355 368.3 351.8 368.3 376.6 408.3 +\par \pard\tx355 440.1 471.9 +\par \pard\tx355 .5929E+05 816.2 462.1 381.1 340.1 +\par \pard\tx355 313.1 299.1 313.1 320.1 347.1 +\par \pard\tx355 374.1 401.1 +\par \pard\tx355 .4782E+05 747.9 461.9 374.0 313.0 +\par \pard\tx355 299.0 292.0 286.0 286.0 299.0 +\par \pard\tx355 326.0 353.0 +\par \pard\tx355 .3865E+05 680.0 449.0 367.0 313.0 +\par \pard\tx355 299.0 279.0 270.0 265.0 270.0 +\par \pard\tx355 299.0 312.0 +\par \pard\tx355 .3651E+05 653.1 435.1 353.0 299.0 +\par \pard\tx355 292.0 279.0 270.0 265.0 270.0 +\par \pard\tx355 286.0 300.0 +\par \pard\tx355 .3701E+05 748.0 476.0 367.0 306.0 +\par \pard\tx355 292.0 286.0 279.0 265.0 265.0 +\par \pard\tx355 279.0 299.0 +\par \pard\tx355 .3798E+05 748.0 476.0 353.0 313.0 +\par \pard\tx355 299.0 286.0 279.0 272.0 265.0 +\par \pard\tx355 286.0 313.0 +\par \pard\tx355 .3874E+05 680.1 449.0 367.0 319.0 +\par \pard\tx355 313.0 292.0 279.0 279.0 286.0 +\par \pard\tx355 313.0 313.0 +\par \pard\tx355 .3871E+05 653.0 449.0 381.0 340.0 +\par \pard\tx355 326.0 326.0 340.0 326.0 326.0 +\par \pard\tx355 313.0 313.0 +\par \pard\tx355 .3872E+05 748.0 517.0 408.0 394.0 +\par \pard\tx355 374.0 347.0 353.0 340.0 326.0 +\par \pard\tx355 319.0 313.0 +\par \pard\tx355 .5478E+05 789.1 639.0 544.0 476.0 +\par \pard\tx355 435.0 394.0 367.0 360.0 353.0 +\par \pard\tx355 340.0 333.0 +\par \pard\tx355 .6827E+05 952.0 789.0 585.0 489.0 +\par \pard\tx355 476.0 428.0 421.0 401.0 381.0 +\par \pard\tx355 367.0 381.0 +\par \pard\tx355 .7977E+05 1292. 816.0 639.0 530.0 +\par \pard\tx355 517.0 476.0 462.0 449.0 408.0 +\par \pard\tx355 394.0 408.0 +\par \pard\tx355 .9117E+05 1400. 856.1 666.0 612.0 +\par \pard\tx355 544.0 503.0 476.0 469.0 442.0 +\par \pard\tx355 428.0 442.0 +\par \pard\tx355 .9118E+05 1496. 952.0 693.0 666.0 +\par \pard\tx355 598.0 544.0 530.0 476.0 476.0 +\par \pard\tx355 476.0 496.0 +\par \pard\tx355 .9952E+05 1577. 982.9 710.9 672.7 +\par \pard\tx355 600.3 543.8 526.9 472.7 470.7 +\par \pard\tx355 469.0 486.7 +\par \pard\tx355 2 +\par \pard\tx355 .5661E-01 .5661E-01 .5661E-01 .5661E-01 .5661E-01 +\par \pard\tx355 .5661E-01 .5661E-01 .5661E-01 .5661E-01 .5661E-01 +\par \pard\tx355 .5661E-01 .5661E-01 .5661E-01 .5661E-01 .5661E-01 +\par \pard\tx355 .5661E-01 +\par \pard\tx355 +\par \pard\tx355 \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Optimum Data +\par \pard\tx355 \plain\fs20 +\par This option specifies the engine speed/power line that produces either optimum(maximum) performance or optimum(minimum) economy/emissions. +\par +\par *.Car file format; +\par +\par \b OPTIMUM\plain\fs20 (keyword) +\par \b IOPT\plain\fs20 +\par IF ( IOPT.EQ.1 ) THEN +\par \b NOPTU\plain\fs20 +\par \b SPOPTU(J), PWOPTU(J)\plain\fs20 , J = 1,NOPTU +\par ELSE IF ( IOPT.EQ.2 ) +\par \b IMOPT\plain\fs20 +\par ENDIF +\par +\par Where +\par +\par \b IOPT\plain\fs20 \tab \tab Optimum line option +\par \tab 1 = user specified optimum line +\par \tab 2 = optimum line calculated to minimise map parameter +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b NPOTU\plain\fs20 \tab Number of speeds in user specified speed/power line.( maximum = 20 ) +\par +\par \b SPOPTU(J)\plain\fs20 \tab Engine speed at which optimum power is specified (rpm). +\par +\par \b PWOPTU(J)\plain\fs20 \tab Optimum engine power at this engine speed (kW). +\par +\par \b IMOPT\tab \plain\fs20 Map number for which the optimum line is calculated. +\par \tab IMOPT must be greater than 0 and less than or equal to 17 (i.e. 5 = CO emissions), (map type must be defined) +\par \pard\tx355 +\par \pard\tx355 Note - If the optimum option is not specified then the optimum power line is set equal to the power curve. +\par \pard\tx355 +\par \pard\tx355 The following lines show an example of the OPTIMUM option +\par \pard\tx355 +\par \pard\tx355 OPTIMUM +\par \pard\tx355 1 +\par \pard\tx355 12 +\par \pard\tx355 1000. .1000 +\par \pard\tx355 1000. 4.000 +\par \pard\tx355 1200. 7.000 +\par \pard\tx355 1800. 11.00 +\par \pard\tx355 2000. 15.00 +\par \pard\tx355 2800. 25.00 +\par \pard\tx355 3000. 28.00 +\par \pard\tx355 3800. 42.00 +\par \pard\tx355 4600. 48.00 +\par \pard\tx355 5000. 52.00 +\par \pard\tx355 5400. 59.00 +\par \pard\tx355 5800. 65.80 +\par \pard\tx355 +\par \pard\tx355 \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Catalyst Data +\par \pard\tx355 \plain\fs20 +\par This option specifies the maximum conversion efficiency and warm-up times for a catalyst fitted to the vehicle. +\par +\par *.Car file format; +\par +\par \b CATALYST\plain\fs20 (keyword) +\par \b CATEF-HC, CATT1-HC, CATT2-HC +\par CATEF-NOX, CATT1-NOX, CATT2-NOX +\par CATEF-CO, CATT1-CO, CATT2-CO\plain\fs20 +\par +\par Where +\par +\par \b CATEF-HC\plain\fs20 +\par \b CATEF-NOX\tab \plain\fs20 Maximum catalyst conversion efficiency for HC, NOX +\par \b CATEF-CO\tab \plain\fs20 and CO emissions respectively. (range 0-1) +\par +\par \b CATT1-HC\plain\fs20 +\par \b CATT1-NOX\tab \plain\fs20 Time from start of cycle to point at which catalyst +\par \pard\tx355 \b CATT1-CO\tab \plain\fs20 starts to warm up (seconds). +\par +\par \b CATT2-HC\plain\fs20 +\par \b CATT2-NOX\tab \plain\fs20 Time from start of cycle to point at which catalyst +\par \b CATT2-CO\plain\fs20 \tab has reached its maximum conversion efficiency (seconds). +\par +\par The following lines show an example of the CATALYST option +\par +\par CATALYST +\par .9500 100.0 20.00 +\par .9800 80.00 20.00 +\par .9600 120.0 20.00 +\par +\par \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Warm-Up Data +\par \pard \plain\fs20 +\par This option allows the user to specify the increase in the 3 primary emissions at startup and how these ramp down to their steady state value with time. This option also allows the user to specify the transient increase in these emissions during accelerations and decelerations. +\par +\par *.Car file format +\par +\par \b WARM-UP\plain\fs20 (keyword) +\par \b WARMF-HC, WARMT-HC, WACFACT-HC +\par WARMF-NOX, WARMT-NOX, WACFACT-NOX +\par WARMF-CO, WARMT-CO, WACFACT-CO\plain\fs20 +\par +\par Where +\par +\par \b WARMF-HC\plain\fs20 +\par \pard\tx355 \b WARMF-NOX\tab \plain\fs20 Engine out emissions factor for HC, NOX and CO +\par \b WARMF-CO\tab \plain\fs20 at start of cycle. (typically between 1 and 5) +\par \pard\li715\fi715\tx355 where Emissions = (WARMF-* + 1 ) * Steady state emission +\par \pard\tx355 +\par \pard\tx355 \b WARMT-HC\plain\fs20 +\par \pard\tx355 \b WARMT-NOX\tab \plain\fs20 Time during which the above emissions factors +\par \pard\li1415\fi-1415\tx355 \b WARMT-CO\tab \plain\fs20 reduce to 1.0 (seconds). This could be interpreted +\par \tab \tab as the warm-up time. +\par \pard\tx355 +\par \pard\tx355 \b WACFACT-HC\plain\fs20 +\par \pard\li2125\fi-2125\tx355 \b WACFACT-NOX\tab \plain\fs20 Emissions acceleration factor.(s2/m) +\par \b WACFACT-CO\tab \tab \plain\fs20 Where Emissions = Steady state emissions + ABS(WAFACT*acceleration*Steady state emissions) +\par \pard\tx355 +\par \pard\tx355 The following lines show an example of the WARM-UP option. +\par \pard\tx355 +\par \pard\tx355 WARM-UP +\par \pard\tx355 4.000 80.00 .8000E-01 +\par \pard\tx355 .0000E+00 .0000E+00 .0000E+00 +\par \pard\tx355 1.000 80.00 .0000E+00 +\par \pard\tx355 +\par \pard\tx355 \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Auxiliaries Data +\par \pard\tx355 \plain\fs20 +\par This option allows the user to simulate the effect of power consumed by auxiliaries fitted to the engine, for example the air conditioning unit. +\par +\par *.Car file format; +\par +\par \b AUXILIARIES\plain\fs20 (keyword) +\par +\par \b NAUX\plain\fs20 +\par ------------> +\par naux +\par times +\par | +\par | \b TITAUX(IA)\plain\fs20 +\par | \b IPAUX(IA)\tab NPAUX(IA)\tab DRAUX(IA)\tab DIAUX(IA)\plain\fs20 +\par | -------> +\par | naux +\par | times\tab \tab \b AUSPD(IP,IA)\tab AUTOR(IP,IA)\plain\fs20 +\par | --------< +\par \pard\tx355 --------< +\par +\par Where +\par +\par \b NAUX\plain\fs20 \tab Number of auxiliaries fitted to the vehicle (maximum 5) +\par \pard\tx355 +\par \pard\tx355 \b TITAUX\plain\fs20 \tab Title for auxiliary IA (Maximum 30 characters) +\par +\par \b IPAUX(IA)\plain\fs20 \tab Mounting position of auxiliary (1-4) +\par \tab \tab 1 = Engine Mounted Auxiliary +\par \tab \tab 2 = Gearbox Input Mounted Auxiliary +\par \tab \tab 3 = Propshaft Mounted Auxiliary +\par \tab \tab 4 = Axle Mounted Auxiliary +\par +\par \b NPAUX(IA)\plain\fs20 \tab Number of Points on auxiliary loss curve +\par +\par \b DRAUX(IA)\tab \plain\fs20 Auxiliary Drive Ratio +\par +\par \b DIAUX(IA)\plain\fs20 \tab Auxiliary Rotating Inertia (kg.m2) +\par +\par \b AUSPD(IP,IA)\plain\fs20 \tab Auxiliary Speed (rpm) +\par \pard\tx355 +\par \b AUTOR(IP,IA)\plain\fs20 \tab Auxiliary Torque (Nm) +\par +\par The following lines show an example of the AUXILIARIES option +\par +\par AUXILARIES +\par 1 +\par PS PUMP +\par 1 5 1.170 .1000E-02 +\par 1000. 1.358 +\par 2000. 1.375 +\par 3000. 1.455 +\par 4000. 1.536 +\par 5000. 1.569 +\par +\par \pard\tx355 \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Grid Analysis Data +\par \pard \plain\fs20 +\par This option provides the user with the facility to perform a grid analysis of the engines operation over the calculated cycle. This provides a summary of the time spent, fuel/emissions consumed, and mean map variables in user defined segments of the engines speed/load envelope. +\par +\par *.Car file format; +\par +\par \b GRID\plain\fs20 (keyword) +\par \b NSGRID, NBGRID\plain\fs20 +\par \b SGRID(I)\plain\fs20 , I=1,NSGRID +\par \b BGRID(J)\plain\fs20 , J=1,NBGRID +\par +\par Where +\par \pard\li1415\fi-1415\tx355 +\par \b NSGRID\plain\fs20 \tab Number of engine speeds used to define grid, (minimum = 2, maximum = 20) +\par +\par \b NBGRID\plain\fs20 \tab Number of BMEP's used to define grid,(minimum = 2, maximum = 20) +\par \pard\tx355 +\par \pard\tx355 \b SPGRID(I)\tab \plain\fs20 Engine speed for grid point I (rpm) +\par +\par \b BGRID(J)\tab \plain\fs20 Engine BMEP for grid point J (bar) +\par +\par The following lines show an example of the GRID option +\par +\par GRID +\par 7 12 +\par .0000E+00 1000. 2000. 3000. 4000. +\par 5000. 6000. +\par .0000E+00 1.000 2.000 3.000 4.000 +\par 5.000 6.000 7.000 8.000 9.000 +\par 13.00 14.00 +\par +\par \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Primary Drive Data +\par \pard\tx355 \plain\fs20 +\par This option provides the user with the facility to define a drive ratio for the primary take-off transmission from engine crankshaft/flywheel to the gearbox input shaft. +\par +\par *.Car file format; +\par +\par \b PRDIVE\plain\fs20 (keyword) +\par \b GRPD, EFPD, IPDEFF\plain\fs20 +\par +\par Where +\par +\par \b GRPD\plain\fs20 \tab \tab Drive ratio +\par +\par \b EFPD\plain\fs20 \tab \tab Drive Efficiency (0 - 1) +\par +\par \b IPDEFF\plain\fs20 \tab Efficiency Mode +\par \tab \tab 1 = Fixed +\par \tab \tab 2 = Function of load and speed +\par +\par The following lines show an example of the PDRIVE option +\par \pard\tx355 +\par PDRIVE +\par 0.98 0.88 1 +\par +\par \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Standard Hybrid Data +\par \pard \plain\fs20 +\par This option allows the user to model the standard HYBRID vehicle system. The HYBRID is capable of absorbing energy from, and returning energy to the drivetrain system. The program will always preferentially drive the vehicle with HYBRID motor, any excess energy requirements and or charging being provided by the engine. +\par +\par *.Car file format +\par +\par \b HYBRID\plain\fs20 (keyword) +\par \b IHOPT +\par STSMAX, STSMIN +\par STRIN, STEFIN +\par STROUT, STEFOUT +\par STSENG, ISTIDLE +\par \plain\fs20 +\par Where +\par +\par \pard\tx355 \b IHOPT\tab \tab \plain\fs20 Indicates the position of the HYBRID motor +\par \pard\li715\fi715\tx355 1 = Engine Flywheel mounted +\par \pard\fi715\tx355 \tab 2 = Gearbox mounted +\par \tab 3 = Drive shaft mounted +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b STSMAX\plain\fs20 \tab Maximum energy that can be stored by the HYBRID (kW.h). If the current energy stored in the HYBRID matches STSMAX then no more regeneration is permitted only power output is allowed. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b STSMIN\tab \plain\fs20 Minimum energy permitted for HYBRID (kW.h). If the current energy stored in the HYBRID matches STSMIN then no more energy can be taken from the HYBRID only regeneration is allowed. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b STRIN\tab \tab \plain\fs20 Max HYBRID motor input torque (NM). This is when energy is removed from the drivetrain and stored in the HYBRID. +\par \pard\tx355 +\par \pard\tx355 \b STEFIN\tab \plain\fs20 Efficiency of HYBRID energy input (0-1). +\par +\par \pard\li1415\fi-1415\tx355 \b STROUT\tab \plain\fs20 Max HYBRID motor output torque (NM). This is when energy is provided to the drivetrain by the HYBRID motor. +\par \pard\tx355 +\par \pard\tx355 \b STEFOUT\tab \plain\fs20 Efficiency of HYBRID energy output (0-1). +\par +\par \b STSENG\tab \plain\fs20 Energy available in HYBRID at start of cycle (kW.h) +\par +\par \b ISTIDLE\tab \plain\fs20 Hybrid charging at IDLE option. +\par \tab 0 = No charging of the HYBRID at idle +\par \tab 1 = Hybrid is charged when engine is at idle. +\par +\par \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Driver Data +\par \pard \plain\fs20 +\par This option provides a very simple driver model, that describes the gear shift times, braking efficiency and brake balance being employed by this driver. +\par +\par *.Car file format +\par +\par \b DRIVER\plain\fs20 (keyword) +\par \b DCEFFY, DBEFFY , DBBAL, TGSHIFT, TGSHIFTINT, CYCACC\plain\fs20 +\par +\par Where +\par +\par \pard\li1555\fi-1555\tx355 \b DCEFFY\tab \plain\fs20 Driver cornering efficiency (fraction 0-1). This defines the maximum cornering speed as a fraction of the maximum theoretical speed. This is only used in track simulations. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b DBEFFY\tab \plain\fs20 Driver braking efficiency (fraction 0-1). This defines the maximum braking force as a fraction of the maximum theoretical force. This is only used in the track simulations. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b DBBAL\plain\fs20 \tab \tab Driver brake balance - defined as the fraction of the total braking effort on the front wheels (fraction 0-1). +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b TGSHIFT\plain\fs20 \tab Gear shift time (seconds). If the DRIVER option is not specified then TGSHIFT is set to 0.1 seconds. +\par \pard\tx355 +\par \pard\tx355 \b TGSHIFTINT\plain\fs20 \tab Minimum Shift Interval (seconds). If no interval required then is set to zero. +\par +\par \b CYCACC\plain\fs20 \tab Accuracy with which cycle is driven. +\par \tab 0 = Exact Fit +\par \tab 1 = Smoothed +\par +\par The following lines show an example of the DRIVER option +\par +\par DRIVER +\par 0.900 0.800 .5000 .4000 .25 0 +\par +\par \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 *.Car Format for the Aerodynamic Data +\par \pard \plain\fs20 +\par This option provides the extended aerodynamic model, allowing non-linear coefficients to be used for vehicle drag and lift. The coefficients being functions of vehicle speed. +\par +\par *.Car file format +\par +\par \b AERODYNAMICS\plain\fs20 (keyword) +\par \b ICD, ICLF, ICLR +\par \plain\fs20 +\par for ICD = 1 +\par \b COEFF_CD(I)\plain\fs20 , I=1,6 +\par for ICD = 2 +\par \b NCD +\par XCD(I),YCD(I)\plain\fs20 , I=1,NCD +\par +\par for ICLF = 1 +\par \b COEFF_CLF(I)\plain\fs20 , I=1,6 +\par for ICLF = 2 +\par \b NCLF +\par XCLF(I),YCLF(I)\plain\fs20 , I=1,NCLF +\par \pard\tx355 +\par for ICLR = 1 +\par \b COEFF_CLR(I)\plain\fs20 , I=1,6 +\par for ICLR = 2 +\par \b NCLR +\par XCLR(I),YCLR(I)\plain\fs20 , I=1,NCLR +\par +\par +\par Where +\par +\par \b ICD\tab \tab \plain\fs20 Definition method for coefficient of drag. +\par \b ICLF\tab \tab \plain\fs20 Definition method for coefficient of front lift. +\par \b ICLR\tab \tab \plain\fs20 Definition method for coefficient of rear lift. +\par \tab \tab \tab 0 = Constant +\par \tab \tab \tab 1 = Constant + five power terms. +\par \tab \tab \tab 2 = List of values. +\par +\par \pard\li1555\fi-1555\tx355 \b COEFF_CD\tab \plain\fs20 Vehicle drag curve coefficients +\par \pard\tx355 +\par \pard\tx355 Such that +\par \pard\tx355 +\par \pard\tx355 CD = COEFF_CD(1) +\par \pard\tx355 > + ( COEFF_CD(2) * UM ) +\par \pard\tx355 > + ( COEFF_CD(3) * UM * UM ) +\par \pard\tx355 > + ( COEFF_CD(4) * UM * UM * UM ) +\par \pard\tx355 > + ( COEFF_CD(5) * UM * UM * UM * UM ) +\par \pard\tx355 > + ( COEFF_CD(6) * UM * UM * UM * UM * UM ) +\par \pard\tx355 +\par \pard\tx355 UM - vehicle velocity m/s +\par \pard\tx355 +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b NCD\tab \plain\fs20 No of points used to define the variation of CD with vehicle speed. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b XCD\plain\fs20 \tab The list of vehicle speeds (m/s) used to define the CD curve. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b YCD\plain\fs20 \tab The list of Drag Coefficients used to define the CD curve. +\par \pard\tx355 +\par \pard\tx355 \b COEFF_CLF \tab \plain\fs20 As for COEFF_CD above but for front lift coefficient.\b +\par NCLF \tab \tab \plain\fs20 As for NCD above but for front lift coefficient.\b +\par XCLF \tab \tab \plain\fs20 As for XCD above but for front lift coefficient.\b +\par YCLF \tab \tab \plain\fs20 As for YCD above but for front lift coefficient.\b +\par COEFF_CLR \tab \plain\fs20 As for COEFF_CD above but for rear lift coefficient.\b +\par NCLR \tab \tab \plain\fs20 As for NCD above but for rear lift coefficient.\b +\par XCLR \tab \tab \plain\fs20 As for XCD above but for rear lift coefficient.\b +\par \pard\tx355 YCLR \tab \tab \plain\fs20 As for YCD above but for rear lift coefficient. +\par +\par The following lines show an example of the AERODYNAMICS option +\par +\par AERODYNAMICS +\par 2 0 1 +\par 9 +\par 28.22 0.3100 +\par 33.92 0.3095 +\par 39.91 0.3080 +\par 45.12 0.3085 +\par 51.53 0.3075 +\par 57.22 0.3070 +\par 61.69 0.3055 +\par 67.18 0.3060 +\par 72.26 0.3070 +\par -0.1 0.02 0.0003 0.0 0.0 0.0 +\par +\par \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Extended Hybrid Performance +\par \pard \plain\fs20 +\par This option provides an extension to the \plain\f0\fs20 \'91\f1 simple\plain\f0\fs20 \'92\f1 hybrid model by allowing an extended component performance to be defined. The hybrid components catered for are the auxiliary power unit generator, the drive motor, the drive regenerator, the battery charge and the battery discharge. +\par +\par All component performances are optional, (i.e. the \plain\f0\fs20 \'91\f1 simple\plain\f0\fs20 \'92\f1 hybrid model can be used), but once one component is selected as \plain\f0\fs20 \'91\f1 on\plain\f0\fs20 \'92\f1 then to correctly run a hybrid model all relevant components should be switched on. +\par \pard +\par For each component the continuous and peak performances are defined through its speed range, together with data that define a simple heat rejection / heat build-up model to simulate the drop from peak to continuous performance. +\par +\par *.Car file format +\par +\par \b HYBPOWER\plain\fs20 (keyword) +\par \b NHYB +\par NHYB3(1), NHYB3(2), NHYB3(3), NHYB3(4), NHYB3(5) +\par \plain\fs20 ------------> +\par nhyb +\par times +\par IF NHYB3(J) = 1 +\par \b PTHYB3(J), TCHYB3(J), TTHYB3(J), TSHYB3(J), RIHYB3(J), SMXHYB3(J)\plain\fs20 +\par \pard \b NSPHYB3(J) +\par \plain\fs20 ------------> +\par nsphyb3(j) +\par times +\par \b SPDHYB3(J,I), AMP1HYB3(J,I), AMP2HYB3(J,I), PERCHYB3(J,I)\plain\fs20 +\par --------< +\par --------< +\par +\par +\par Where +\par +\par \pard\li1415\fi-1415\tx355 \b NHYB\tab \plain\fs20 Number of hybrid components defined, (at version 3.01e this is 5).Where 1 is the apu generator, 2 is the drive motor, 3 is the drive regenerator, 4 is the battery and 5 is not currently used. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b NHYB3\tab \plain\fs20 The on / off flags to control the inclusion of the hybrid components into the model. 0 = off 1 = on. Values are given in component order 1 to 5, see above. Component 5 is not used and should be set to 0 +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b PTHYB3\plain\fs20 \tab Time at peak, (s). This defines the time for which the peak performance can be held before the threshold temperature is reached and the allowable performance begins to deteriorate from the peak toards the continuous. This forms part of the component heat model derivation. For the battery component no heat model is used and this value sets the total battery capacity, (Ah). +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b TCHYB3\plain\fs20 \tab Constant temperature of the component, (Co). This defines the temperature at which the component reaches under the maximum constant performance. This defines the heat convection capability of the component. (note not used for the battery component, enter dummy value 0.0) +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b TTHYB3\plain\fs20 \tab Threshold temperature of the component, (Co). This sets the temperature at which the component performance starts to deteriorate from the peak towards the continuous. (note not used for the battery component, enter dummy value 0.0) +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b TSHYB3\plain\fs20 \tab Start temperature of the component, (Co). For the battery component this value sets the initial state of charge (SOC), (0-1). +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b RIHYB3\plain\fs20 \tab Hybrid components rotational inertia, (kg.m2). For the battery component this value sets the start voltage of the system (V), but only applies when the detailed battery voltage model is not used. +\par +\par \b SMXHYB3\plain\fs20 \tab Maximum allowable component speed (rpm). (note not used for the battery component, enter dummy value 0.0) +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b NSPHYB3\plain\fs20 \tab Number of speed values for this components power curve. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b SPDHYB3\plain\fs20 \tab Speed values for this hybrid components performance curve (rpm). To minimise extrapolation errors these speed values should span the component operating range. +\par +\par \b AMP1HYB3\plain\fs20 \tab Peak performance values for the hybrid component at each component speed. Units depend on component and are \plain\f0\fs20 \'91\f1 Nm\plain\f0\fs20 \'92\f1 for the generator, motor and regenerator and for the battery the units are \plain\f0\fs20 \'91\f1 A\plain\f0\fs20 \'92\f1 (amps). This curve defines maximum attainable performance of the component. For the battery component this defines the maximum charge rate. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b AMP2HYB3\plain\fs20 \tab Continuous performance values for the hybrid component at each component speed. Units depend on component and are \plain\f0\fs20 \'91\f1 Nm\plain\f0\fs20 \'92\f1 for the generator, motor and regenerator and for the battery the units are \plain\f0\fs20 \'91\f1 A\plain\f0\fs20 \'92\f1 (amps). This curve defines the continuous performance that the component can achieve. The temperature model is used to define the actual allowable which would normally lie somewhere between the peak and the continuous performance. For the battery component this defines the maximum discharge rate. +\par \pard\li1415\tx355 +\par \pard\li1415\fi-1415\tx355 \b PERCHYB3\plain\fs20 \tab The ratio of output power that goes to heat, (0 -1). Defines the heat energy going in to components heat-up model as a function of speed. The battery model does not have a heat model associated with it and these values should be set to 0.0 for that component. +\par \pard\tx355 +\par \pard\tx355 +\par \pard\tx355 The following lines show an example of the HYBPOWER option +\par \pard\tx355 +\par \pard\tx355 HYBPOWER +\par \pard\tx355 5 +\par \pard\tx355 1 1 1 1 0 +\par \pard\tx355 +\par \pard\tx355 4.000 100.0 75.00 0.0000E+00 0.2000E-01 0.1600E+05 +\par \pard\tx355 16 +\par \pard\tx355 1000. 200.0 120.0 0.1000 +\par \pard\tx355 1500. 200.0 120.0 0.1000 +\par \pard\tx355 2000. 200.0 120.0 0.1000 +\par \pard\tx355 3000. 180.0 110.0 0.1000 +\par \pard\tx355 4000. 130.0 100.0 0.1000 +\par \pard\tx355 5000. 120.0 90.00 0.1000 +\par \pard\tx355 6000. 100.0 80.00 0.1000 +\par \pard\tx355 7000. 85.00 70.00 0.1000 +\par \pard\tx355 8000. 78.00 63.00 0.1000 +\par \pard\tx355 9000. 67.00 62.00 0.1000 +\par \pard\tx355 0.1000E+05 64.00 60.00 0.1000 +\par \pard\tx355 0.1100E+05 63.00 59.00 0.1000 +\par \pard\tx355 0.1200E+05 61.00 58.00 0.1000 +\par \pard\tx355 0.1300E+05 58.00 54.00 0.1000 +\par \pard\tx355 0.1400E+05 56.00 52.00 0.1000 +\par \pard\tx355 0.1600E+05 60.00 59.00 0.1000 +\par \pard\tx355 +\par \pard\tx355 4.000 100.0 75.00 0.0000E+00 0.2000E-01 7500. +\par \pard\tx355 8 +\par \pard\tx355 1000. 225.0 150.0 0.5000E-01 +\par \pard\tx355 1500. 225.0 150.0 0.5000E-01 +\par \pard\tx355 2500. 225.0 150.0 0.5000E-01 +\par \pard\tx355 3500. 150.0 82.00 0.5000E-01 +\par \pard\tx355 4500. 115.0 60.00 0.5000E-01 +\par \pard\tx355 5500. 90.00 53.00 0.5000E-01 +\par \pard\tx355 6500. 75.00 47.00 0.5000E-01 +\par \pard\tx355 7500. 75.00 46.00 0.5000E-01 +\par \pard\tx355 +\par \pard\tx355 4.000 120.0 80.00 0.0000E+00 0.2000E-01 6000. +\par \pard\tx355 2 +\par \pard\tx355 1000. 200.0 150.0 0.1000 +\par \pard\tx355 6000. 100.0 80.00 0.2000 +\par \pard\tx355 +\par \pard\tx355 20.00 0.0000E+00 0.0000E+00 0.8500 230.0 0.0000E+00 +\par \pard\tx355 5 +\par \pard\tx355 0.0000E+00 300.0 150.0 0.0000E+00 +\par \pard\tx355 0.2500 295.0 280.0 0.0000E+00 +\par \pard\tx355 0.5000 290.0 290.0 0.0000E+00 +\par \pard\tx355 0.7500 280.0 295.0 0.0000E+00 +\par \pard\tx355 1.000 150.0 300.0 0.0000E+00 +\par \pard\tx355 +\par \pard\tx355 \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Extended Hybrid Efficiencies +\par \pard \plain\fs20 +\par This option provides an extension to the \plain\f0\fs20 \'91\f1 simple\plain\f0\fs20 \'92\f1 hybrid model by allowing a component efficiency map to be defined. The hybrid components catered for are the auxiliary power unit generator, the drive motor, the drive regenerator, the battery charge and the battery discharge. +\par All component efficiency maps are optional, with if required default values of 1.0 being used when no map is defined, alternatively a single efficiency value can be defined. Efficiency maps are defined as a series of efficiency values, (0 - 1), for a range of component speeds and loads. +\par \pard +\par *.Car file format +\par +\par \b HYBLOSS\plain\fs20 (keyword) +\par \b NHYB +\par NHYB2(1), NHYB2(2), NHYB2(3), NHYB2(4), NHYB2(5) +\par \plain\fs20 ------------> +\par nhyb +\par times +\par IF NHYB2(J) = 1 +\par \b NSPHYB(J) +\par SPDHYB(J,I)\plain\fs20 , I=1,NSPHYB(J) +\par \b NAMPHYB(J) +\par AMBHYB(J,I)\plain\fs20 , I=1,NAMPHYB(J) +\par IF NSPHYB(J)=0 AND NAMPHYB(J)=0 +\par \b EFFHYB(1,1) +\par \plain\fs20 ELSE +\par ------------> +\par nsphyb times +\par \b EFFHYB(J,I),\plain\fs20 I=1,NAMPHYB(J) +\par \pard --------< +\par --------< +\par +\par +\par Where +\par +\par \pard\li1415\fi-1415\tx355 \b NHYB\tab \plain\fs20 Number of hybrid components defined, (at version 3.01e this is 5).Where 1 is the apu generator, 2 is the drive motor, 3 is the drive regenerator, 4 is the battery charging and 5 is the battery discharging. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b NHYB2\tab \plain\fs20 The on / off flags to control the inclusion of the hybrid components into the model. 0 = off 1 = on. Values are given in component order 1 to 5, see above. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b NSPHYB\plain\fs20 \tab Number of speed values for this components efficiency map. 0 is used in conjunction with Namhyb to force a single fixed efficiency value to be used. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b SPDHYB\plain\fs20 \tab Speed values for this hybrid components efficiency map (rpm). To minimise extrapolation errors these speed values should span the component operating range. This line is omitted if the number of speed values is 0 +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b NAMHYB\plain\fs20 \tab Number of load values for this components efficiency map. 0 is used in conjunction with Nsphyb to force a single fixed efficiency value to be used. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b AMPHYB\plain\fs20 \tab Load values for this hybrid components efficiency map (rpm). To minimise extrapolation errors these speed values should span the component operating range. This line is omitted if the number of load values is 0 +\par \pard\tx355 +\par \pard\tx355 \b EFFHYB\plain\fs20 \tab Efficiency map values, (0 -1). +\par +\par +\par The following lines show an example of the HYBLOSS option +\par +\par HYBLOSS +\par 5 +\par 1 1 1 1 1 +\par 8 +\par 2000. 4000. 6000. 8000. 0.1000E+05 0.1200E+05 0.1400E+05 0.1600E+05 +\par 7 +\par 5.000 10.00 20.00 30.00 40.00 50.00 60.00 +\par 0.4400 0.5500 0.6400 0.6300 0.5700 0.5200 0.4900 +\par 0.3000 0.5000 0.6000 0.5800 0.5500 0.5000 0.4700 +\par \pard\tx355 0.1500 0.3800 0.4800 0.5000 0.4900 0.4800 0.4400 +\par 0.1100 0.2000 0.4200 0.4500 0.4600 0.4500 0.4200 +\par 0.1000 0.1600 0.3200 0.3900 0.4100 0.4100 0.3900 +\par 0.8000 0.1400 0.2400 0.3100 0.3400 0.3600 0.3700 +\par 0.6000 0.1200 0.1800 0.2500 0.2800 0.3000 0.3000 +\par 0.5000 0.9000 0.1500 0.1900 0.2200 0.2600 0.2800 +\par \pard\tx355 8 +\par 1000. 2000. 3000. 4000. 5000. 6000. 7000. 7500. +\par 7 +\par 25.00 50.00 75.00 100.0 150.0 200.0 225.0 +\par 0.8500 0.8850 0.8780 0.8600 0.8600 0.7800 0.7600 +\par 0.8650 0.9000 0.9030 0.9000 0.8800 0.8400 0.8260 +\par 0.9050 0.9250 0.9250 0.9250 0.9100 0.8650 0.8540 +\par 0.9300 0.9400 0.9400 0.9320 0.9200 0.8800 0.8630 +\par \pard\tx355 0.8650 0.9120 0.9230 0.9150 0.9200 0.8820 0.8660 +\par 0.8800 0.9100 0.9200 0.9200 0.9200 0.8840 0.8690 +\par 0.8250 0.8950 0.9050 0.9000 0.9200 0.8860 0.8700 +\par 0.8200 0.9000 0.9030 0.9100 0.9200 0.8880 0.8830 +\par 0 +\par 0 +\par 0.8800 +\par 0 +\par 0 +\par 0.8000 +\par 0 +\par 0 +\par +\par \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Extended Hybrid Battery +\par \pard \plain\fs20 +\par This option provides an extension to the fixed voltage battery model that can be defined in the extended hybrid component performance. A voltage map is defined at a series of battery states of charge (SOC) and varying charge / discharge rates. Two maps are used one for charging and a second for discharging. +\par +\par *.Car file format +\par +\par \b HYBBATTERY\plain\fs20 (keyword) +\par \b NCURHYB4(1), NSOCHYB4(1) +\par \plain\fs20 IF Ncurhyb4(1) is greater than 0 and Nsochyb4(1) is greater than 0 then\b +\par \pard DSOCHYB4(J,1) \plain\fs20 J=1,NSOCHYB4(1)\b +\par \plain\fs20 ------------> +\par ncurhyb4(1) +\par times +\par \b DCURHYB4(J,1)\plain\fs20 +\par \b DVOLHYB4(I,J,1),\plain\fs20 I=1,NSOCHYB4(1)\b +\par \plain\fs20 --------< +\par +\par \b NCURHYB4(2), NSOCHYB4(2) +\par \plain\fs20 IF Ncurhyb4(2) is greater than 0 and Nsochyb4(2) is greater than 0 then\b +\par DSOCHYB4(J,2) \plain\fs20 J=1,NSOCHYB4(2)\b +\par \plain\fs20 ------------> +\par ncurhyb4(2) +\par times +\par \b DCURHYB4(J,1)\plain\fs20 +\par \b DVOLHYB4(I,J,2),\plain\fs20 I=1,NSOCHYB4(2)\b +\par \plain\fs20 --------< +\par \pard +\par +\par Where +\par +\par \pard\li1415\fi-1415\tx355 \b NCURHYB4\tab \plain\fs20 Number of current charge levels the battery voltage map is defined for. The index 1 implies charging whilst the index 2 implies discharging. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b NSOCHYB4\tab \plain\fs20 Number of battery state of charge levels the battery voltage map is defined for. The index 1 implies charging whilst the index 2 implies discharging. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b DSOCHYB4\plain\fs20 \tab The battery state of charge values for the battery voltage map, (0-1). Again the index 1 implies charging whilst the index 2 implies discharging. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b DCURHYB4\plain\fs20 \tab The charge values for the battery voltage map (Amps). Again the index 1 implies charging whilst the index 2 implies discharging. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b DVOLHYB4\plain\fs20 \tab The battery voltage map values, (Volts). The index 1 implies charging whilst the index 2 implies discharging. +\par \pard\tx355 +\par \pard\tx355 +\par \pard\tx355 The following lines show an example of the HYBBATTERY option +\par \pard\tx355 +\par \pard\tx355 HYBBATTERY +\par \pard\tx355 4 6 +\par \pard\tx355 0.0 0.2000 0.4000 0.6000 0.8000 1.000 +\par \pard\tx355 0.0 +\par \pard\tx355 190.0 200.0 210.0 220.0 230.0 240.0 +\par \pard\tx355 120.0 +\par \pard\tx355 180.0 190.0 200.0 210.0 220.0 230.0 +\par \pard\tx355 220.0 +\par \pard\tx355 170.0 180.0 190.0 200.0 210.0 220.0 +\par \pard\tx355 320.0 +\par \pard\tx355 135.0 165.0 175.0 185.0 195.0 205.0 +\par \pard\tx355 4 6 +\par \pard\tx355 0.0 0.2000 0.4000 0.6000 0.8000 1.000 +\par \pard\tx355 0.0 +\par \pard\tx355 190.0 200.0 210.0 220.0 230.0 240.0 +\par \pard\tx355 120.0 +\par \pard\tx355 180.0 190.0 200.0 210.0 220.0 230.0 +\par \pard\tx355 220.0 +\par \pard\tx355 170.0 180.0 190.0 200.0 210.0 220.0 +\par \pard\tx355 320.0 +\par \pard\tx355 135.0 165.0 175.0 185.0 195.0 205.0 +\par \pard\tx355 +\par \pard\tx355 \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Extended Hybrid Control Strategy +\par \pard \plain\fs20 +\par This option controls the manner in which the hybrid system operates. It controls the APU generator shut down, its rate of speed change and target minimum and maximum levels for the battery state of charge. +\par +\par *.Car file format +\par +\par \b HYBCONTROL\plain\fs20 (keyword) +\par \b NHISTORY, RNPOWER +\par RMIN_RATE, RMAX_RATE +\par SOCMIN, SOCMAX\plain\fs20 +\par \b NSTHYB5 +\par SOCON, SOCOFF, SOCRAT +\par \plain\fs20 +\par +\par Where +\par +\par \pard\li1415\fi-1415\tx355 \b NHISTORY\tab \plain\fs20 Number of previous calculation steps to use in establishing the mean power demand from the APU. The larger this integer number is the greater the delay of the APU to any sudden change in load demand. It can be thought of as a damping factor. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b RNPOWER\tab \plain\fs20 Sets the power value used in establishing the required APU demand that is added to the mean demand. This second term itself being a function of the current state of charge compared to the target minimum and maximum state of charge values. The greater the number the more aggressive is the battery charging philosophy. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b RMIN_RATE\plain\fs20 \tab Sets the allowable deceleration rate of the APU, (rad/s/s). It should be entered as a negative number. The greater this negative number is made the greater the tendency for the APU to decelerate in-line with demand. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b RMAX_RATE\plain\fs20 \tab Sets the allowable acceleration rate of the APU, (rad/s/s). It should be entered as a positive number. The greater this positive number is made the greater the tendency for the APU to accelerate in-line with demand. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b SOCMIN\plain\fs20 \tab Defines the target minimum state of charge value for the battery. Together with Socmax and Rnpower they control the portion of the APU demand that is a function of battery state of charge. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b SOCMAX\plain\fs20 \tab Defines the target maximum state of charge value for the battery. Together with Socmin and Rnpower they control the portion of the APU demand that is a function of battery state of charge. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b NSTHYB5\plain\fs20 \tab Sets the start condition of the APU generator as either 'on' or 'off'. For 'on' set Nsthyb5 to 1 whilst for 'off' set to 0. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b SOCON\plain\fs20 \tab Sets the battery state of charge value (0-1), at which the APU generator will be switched 'on' if it is currently 'off'. This together with Socoff and Socrat control the APU shutdown strategy. The APU generator will only switch 'on' if the current APU demand is greater than the demand available at the APU idle speed. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b SOCOFF\plain\fs20 \tab Sets the battery state of charge value (0-1), at which the APU generator will be switched 'off' if it is currently 'on'. This together with Socoff and Socrat control the APU shutdown strategy. The APU generator will only switch 'off' if the current APU demand is less than the demand available at the APU idle speed. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b SOCRAT\plain\fs20 \tab Sets the APU load ratio at which the APU will switch 'on' irrespective of the current battery state of charge, (0-1). If this value is set high then provided the battery state of charge is within acceptable limits, the APU would only switch 'on' under high demand conditions such as heavy accelerations and extended hill climbing. +\par \pard\tx355 +\par \pard\tx355 The following lines show an example of the HYBBATTERY option +\par \pard\tx355 +\par \pard\tx355 HYBCONTROL +\par \pard\tx355 10 1.000 +\par \pard\tx355 -39.90 9.948 +\par \pard\tx355 0.4000 0.8000 +\par \pard\tx355 0 +\par \pard\tx355 0.8 0.9 0.5 +\par \pard\tx355 +\par \pard\tx355 \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 *.Car Format for the Extended Tyre Data +\par \pard \plain\fs20 +\par This option provides the extended tyre model, allowing non-linear values to be used for tyre rolling radius. The value being a function of vehicle speed. +\par +\par *.Car file format +\par +\par \b XTYRE\plain\fs20 (keyword) +\par \b IRTYRE(1), IRTYRE(2), IRTYRE(3), ITYREND +\par \plain\fs20 +\par for IRTYRE(1) = 1 and ITYREND = 1 +\par \b COEFF_RTYRE(I,1)\plain\fs20 , I=1,6 +\par for IRTYRE(1) = 2 and ITYREND = 1 +\par \b NRTYRE(1) +\par XRTYRE(I,1), YRTYRE(I,1)\plain\fs20 , I=1,NRTYRE(1) +\par +\par for IRTYRE(2) = 1 and ITYREND > 1 +\par \b COEFF_RTYRE(I,2)\plain\fs20 , I=1,6 +\par \pard for IRTYRE(2) = 2 and ITYREND > 1 +\par \b NRTYRE(2) +\par XRTYRE(I,2), YRTYRE(I,2)\plain\fs20 , I=1,NRTYRE(2) +\par +\par for IRTYRE(3) = 1 and ITYREND > 1 +\par \b COEFF_RTYRE(I,3)\plain\fs20 , I=1,6 +\par for IRTYRE(3) = 2 and ITYREND > 1 +\par \b NRTYRE(3) +\par XRTYRE(I,3), YRTYRE(I,3)\plain\fs20 , I=1,NRTYRE(3) +\par +\par +\par Where +\par \pard\li1415\fi-1415 +\par \pard\li1435\fi-1355\tx355 \b ITYREND\tab \tab \plain\fs20 Flag to identify if common or separate tyre properties are to be used for front and rear tyres. (note this should be set to the same value as used in the 'tyre' data block) +\par \pard\li1415\fi-1415\tx355 \tab \tab \tab 1 = common tyre properties +\par \tab \tab \tab 2 or 3 = different tyre properties for front and rear tyres +\par \tab \tab \tab ( Bracketed indices (1), (2) and (3) imply, common, front and rear) +\par \pard\tx355 +\par \pard\tx355 \b IRTYRE\tab \tab \plain\fs20 Definition method for tyre rolling radius. +\par \tab \tab \tab 0 = Constant +\par \tab \tab \tab 1 = Constant + five power terms. +\par \tab \tab \tab 2 = List of values. +\par +\par \pard\li1555\fi-1555\tx355 \b COEFF_RTYRE\tab \tab \plain\fs20 Tyre rolling radius curve coefficients +\par \pard\tx355 +\par \pard\tx355 Such that +\par \pard\tx355 +\par \pard\tx355 RTYRE = COEFF_RTYRE (1) +\par \pard\tx355 > + ( COEFF_RTYRE(2) * UM ) +\par \pard\tx355 > + ( COEFF_RTYRE (3) * UM * UM ) +\par \pard\tx355 > + ( COEFF_RTYRE(4) * UM * UM * UM ) +\par \pard\tx355 > + ( COEFF_RTYRE(5) * UM * UM * UM * UM ) +\par \pard\tx355 > + ( COEFF_RTYRE(6) * UM * UM * UM * UM * UM ) +\par \pard\tx355 +\par \pard\tx355 UM - vehicle velocity m/s +\par \pard\tx355 +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b NRTYRE\tab \plain\fs20 No of points used to define the variation of rolling radius with vehicle speed. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b XRTYRE\plain\fs20 \tab The list of vehicle speeds (m/s) used to define the rolling radius curve. +\par \pard\tx355 +\par \pard\li1415\fi-1415\tx355 \b YRTYRE\plain\fs20 \tab The list of Drag Coefficients used to define the rolling radius curve. +\par \pard\tx355 +\par \pard\tx355 +\par \pard\tx355 The following lines show examples of the XTYRE option +\par \pard\tx355 +\par \pard\tx355 XTYRE +\par \pard\tx355 2 0 0 1 +\par \pard\tx355 4 +\par \pard\tx355 0.0 0.2350 +\par \pard\tx355 20.0 0.2360 +\par \pard\tx355 40.0 0.2380 +\par \pard\tx355 80.0 0.2430 +\par \pard\tx355 +\par \pard\tx355 +\par \pard\tx355 XTYRE +\par \pard\tx355 1 0 2 2 +\par \pard\tx355 0.32 0.02 0.0 0.0 0.0 0.0 +\par \pard\tx355 4 +\par \pard\tx355 0.0 0.2350 +\par \pard\tx355 20.0 0.2360 +\par \pard\tx355 40.0 0.2380 +\par \pard\tx355 80.0 0.2430 +\par \pard\tx355 +\par \pard\tx355 \{button ,AL(`list11',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +\pard +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Examples and Validation +\par \pard \fs20 Overview\plain\fs20 +\par +\par The aim of this chapter is provide example input files that the new user can copy to quickly create new simulation models. With each input file the calculated results and the accompanying measured results are provided. Notes are given as to the acceptable range for some of the more difficult to define input variables such as gear efficiencies, tyre coefficient of friction and overrun fuelling. +\par +\par Examples are provided for the 4 main calculation types +\par +\par \b 1. \uldb Acceleration\plain\b\fs20 \plain\fs20 - for a naturally aspirated and turbocharged manual gearbox vehicle. +\par \pard +\par \b 2. \uldb Economy\plain\b\fs20 \plain\fs20 - for an automatic vehicle with auxiliaries on a rolling road. +\par +\par \b 3. \uldb Emissions\plain\b\fs20 \plain\fs20 - for a naturally aspirated, manual, research vehicle +\par +\par \b 4. \uldb Track\plain\b\fs20 \plain\fs20 - for a turbocharged manual vehicle +\par +\par \{button ,AL(`list12',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Vehicle Acceleration - Example +\par \pard \plain\fs20 +\par Input files for the Lotus Elan when fitted with the naturally aspirated and turbocharged engines are available here : +\par +\par \pard\sb115 \uldb \b Vehicle acceleration example data files \plain\uldb\fs20 \{bmct bm5.bmp\}\plain\fs20 +\par \pard +\par The calculated results for a wide open throttle acceleration from rest, as provided by LOTUS VEHICLE SIMULATION are presented here : +\par +\par \pard\sb115 \uldb \b Vehicle acceleration example results file \plain\uldb\fs20 \{bmct bm5.bmp\}\plain\fs20 +\par \pard +\par A comparison of the measured and calculated accelerations are shown on the following table and graphically in the figure below : +\par +\par \trowd\trgaph105\trleft-106 \cellx1695\cellx5055\cellx8415\pard\intbl \b SPEED RANGE\cell\pard \pard\intbl \pard\intbl\qc NATURALLY ASPIRATED\cell\pard \pard\intbl\qc TURBOCHARGED\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx1695\cellx3375\cellx5055\cellx6735\cellx8415\pard\intbl\qc \pard\intbl\tx355 \tab \tab \cell\pard \pard\intbl\tx355 \pard\intbl\qc MEASURED\cell\pard \pard\intbl\qc CALCULATED\cell\pard \pard\intbl\qc MEASURED\cell\pard \pard\intbl\qc CALCULATED\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx1695\cellx3375\cellx5055\cellx6735\cellx8415\pard\intbl\qc (MPH) \cell\pard \pard\intbl\qc (SEC)\cell\pard \pard\intbl\qc (SEC)\cell\pard \pard\intbl\qc (SEC)\cell\pard \pard\intbl\qc (SEC)\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx1695\cellx3375\cellx5055\cellx6735\cellx8415\pard\intbl\qc \plain\fs20 0 - 30\cell\pard \pard\intbl\qc 2.9\cell\pard \pard\intbl\qc 2.88\cell\pard \pard\intbl\qc 2.4\cell\pard \pard\intbl\qc 2.60\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx1695\cellx3375\cellx5055\cellx6735\cellx8415\pard\intbl\qc 0 - 40\cell\pard \pard\intbl\qc 4.4\cell\pard \pard\intbl\qc 4.43\cell\pard \pard\intbl\qc 3.7\cell\pard \pard\intbl\qc 3.79\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx1695\cellx3375\cellx5055\cellx6735\cellx8415\pard\intbl\qc 0 - 50\cell\pard \pard\intbl\qc 6.2\cell\pard \pard\intbl\qc 6.3\cell\pard \pard\intbl\qc 5.0\cell\pard \pard\intbl\qc 5.09\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx1695\cellx3375\cellx5055\cellx6735\cellx8415\pard\intbl\qc 0 - 60\cell\pard \pard\intbl\qc 8.3\cell\pard \pard\intbl\qc 8.36\cell\pard \pard\intbl\qc 6.5\cell\pard \pard\intbl\qc 6.54\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx1695\cellx3375\cellx5055\cellx6735\cellx8415\pard\intbl\qc 0 - 70\cell\pard \pard\intbl\qc 11.3\cell\pard \pard\intbl\qc 11.32\cell\pard \pard\intbl\qc 8.7\cell\pard \pard\intbl\qc 8.6\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx1695\cellx3375\cellx5055\cellx6735\cellx8415\pard\intbl\qc 0 - 80\cell\pard \pard\intbl\qc 14.8\cell\pard \pard\intbl\qc 14.77\cell\pard \pard\intbl\qc 10.9\cell\pard \pard\intbl\qc 10.84\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx1695\cellx3375\cellx5055\cellx6735\cellx8415\pard\intbl\qc 0 - 90\cell\pard \pard\intbl\qc 19.6\cell\pard \pard\intbl\qc 18.93\cell\pard \pard\intbl\qc 13.5\cell\pard \pard\intbl\qc 13.66\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx1695\cellx3375\cellx5055\cellx6735\cellx8415\pard\intbl\qc 0 - 100\cell\pard \pard\intbl\qc 26.5\cell\pard \pard\intbl\qc 25.98\cell\pard \pard\intbl\qc 17.5\cell\pard \pard\intbl\qc 17.4\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx1695\cellx3375\cellx5055\cellx6735\cellx8415\pard\intbl\qc 0 - 110\cell\pard \pard\intbl\qc \cell\pard \pard\intbl\qc \cell\pard \pard\intbl\qc 22.2\cell\pard \pard\intbl\qc 22.12\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx1695\cellx3375\cellx5055\cellx6735\cellx8415\pard\intbl\qc 0 - 120\cell\pard \pard\intbl\qc \cell\pard \pard\intbl\qc \cell\pard \pard\intbl\qc 29.6\cell\pard \pard\intbl\qc 29.89\cell\intbl\row +\pard +\par \pard\sb115 \uldb \b Vehicle acceleration correlation graph \plain\uldb\fs20 \{bmct bm6.bmp\}\plain\fs20 +\par \pard +\par The following notes are provided for the users reference. +\par +\par \b 1.\plain\fs20 Gearbox transmission efficiencies typically lie in the range 0.95-0.99. If in doubt the user should use 0.97. These values can often be tuned to achieve good correlation between measured and predicted performance. +\par +\par \b 2. \plain\fs20 The coefficient of friction at the tyre contact patch is typically in the range 0.98 - 1.05. Obviously for wet conditions a lower value is appropriate. +\par +\par \b 3.\plain\fs20 Engine rotating inertia is often not readily available. Users can use the \uldb \b Engine Inertia curve\plain\b\fs20 \plain\fs20 provided for an appropriate value. +\par \pard +\par \b 4.\plain\fs20 For vehicle accelerations the gear shift time is typically set to 0.1 seconds. This may appear small, but often these tests are performed by drivers who do not de-clutch during a gear shift. It should also be remembered that there is no engine inertia energy transfer during a gear change. A small shift time is therefore required to balance the effect of this assumption. +\par +\par \b 5.\plain\fs20 Lotus experience is that it is often difficult to achieve good acceleration correlation for vehicle speeds below 30 MPH. The reason for this is at present not understood, but believed to be in part attributable to the transfer of the engines rotational energy to the vehicle as the driver dumps the clutch. +\par \pard +\par \{button ,AL(`list12',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Vehicle Economy - Example +\par \pard \plain\fs20 +\par The input file for an 1.5L 4 door saloon fitted with an automatic transmission is provided here: +\par +\par \uldb \b Vehicle economy example data file \plain\uldb\fs20 \{bmct bm5.bmp\}\plain\fs20 +\par +\par This model was created as part of a fuel economy improvement program where the load of the air conditioning unit was found to significantly deteriorate economy. The AUXILIARIES option is therefore included in this file. +\par +\par \uldb \b Vehicle economy example results file \plain\uldb\fs20 \{bmct bm5.bmp\}\plain\fs20 +\par +\par The comparison of measured and calculated fuel consumption are shown on the following table and graphically in the figure below : +\par \pard +\par \trowd\trgaph105\trleft-106 \cellx2545\cellx4505\cellx6455\cellx8415\pard\intbl\qc \b AIR CONDITIONING OFF \cell\pard \pard\intbl\qc MEASURED\cell\pard \pard\intbl\qc CALCULATED\cell\pard \pard\intbl\qc % ERROR\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx2545\cellx4505\cellx6455\cellx8415\pard\intbl\qc IDLE (g/h) \cell\pard \pard\intbl\qc \plain\fs20 950\cell\pard \pard\intbl\qc 936\cell\pard \pard\intbl\qc -1.2\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx2545\cellx4505\cellx6455\cellx8415\pard\intbl\qc \b 40 km/h (km/l) \cell\pard \pard\intbl\qc \plain\fs20 14.78\cell\pard \pard\intbl\qc 14.74\cell\pard \pard\intbl\qc -0.3\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx2545\cellx4505\cellx6455\cellx8415\pard\intbl\qc \b 60 km/h (km/l) \cell\pard \pard\intbl\qc \plain\fs20 N/A\cell\pard \pard\intbl\qc 18.59\cell\pard \pard\intbl\qc N/A\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx2545\cellx4505\cellx6455\cellx8415\pard\intbl\qc \b 80 km/h (km/l) \cell\pard \pard\intbl\qc \plain\fs20 18.56\cell\pard \pard\intbl\qc 18.25\cell\pard \pard\intbl\qc -1.7\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx2545\cellx4505\cellx6455\cellx8415\pard\intbl\qc \b 100km/h (km/l) \cell\pard \pard\intbl\qc \plain\fs20 17.22\cell\pard \pard\intbl\qc 17.06\cell\pard \pard\intbl\qc -0.9\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx2545\cellx4505\cellx6455\cellx8415\pard\intbl\qc \b 10 MODE (km/l) \cell\pard \pard\intbl\qc \plain\fs20 8.39\cell\pard \pard\intbl\qc 8.17\cell\pard \pard\intbl\qc -2.6\cell\intbl\row +\pard +\par \trowd\trgaph105\trleft-106 \cellx2545\cellx4505\cellx6455\cellx8415\pard\intbl\qc \b AIR CONDITIONING ON\cell\pard \pard\intbl\qc MEASURED\cell\pard \pard\intbl\qc CALCULATED\cell\pard \pard\intbl\qc % ERROR\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx2545\cellx4505\cellx6455\cellx8415\pard\intbl\qc IDLE (g/h) \cell\pard \pard\intbl\qc \plain\fs20 1331\cell\pard \pard\intbl\qc 1332\cell\pard \pard\intbl\qc +0.08\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx2545\cellx4505\cellx6455\cellx8415\pard\intbl\qc \b 40 km/h (km/l) \cell\pard \pard\intbl\qc \plain\fs20 11.71\cell\pard \pard\intbl\qc 11.45\cell\pard \pard\intbl\qc -2.2\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx2545\cellx4505\cellx6455\cellx8415\pard\intbl\qc \b 60 km/h (km/l) \cell\pard \pard\intbl\qc \plain\fs20 15.33\cell\pard \pard\intbl\qc 15.08\cell\pard \pard\intbl\qc -1.6\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx2545\cellx4505\cellx6455\cellx8415\pard\intbl\qc \b 80 km/h (km/l) \cell\pard \pard\intbl\qc \plain\fs20 15.91\cell\pard \pard\intbl\qc 15.12\cell\pard \pard\intbl\qc -5.0\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx2545\cellx4505\cellx6455\cellx8415\pard\intbl\qc \b 100km/h (km/l) \cell\pard \pard\intbl\qc \plain\fs20 14.81\cell\pard \pard\intbl\qc 14.38\cell\pard \pard\intbl\qc -2.9\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx2545\cellx4505\cellx6455\cellx8415\pard\intbl\qc \b 10 MODE (km/l) \cell\pard \pard\intbl\qc \plain\fs20 6.30\cell\pard \pard\intbl\qc 6.26\cell\pard \pard\intbl\qc -0.6\cell\intbl\row +\pard +\par \uldb \b Vehicle Economy Correlation Graph \plain\uldb\fs20 \{bmct bm6.bmp\}\plain\fs20 +\par +\par The following notes are made for the users reference. +\par +\par 1. The most important part of emission cycle calculations is to ensure that the idle fuel flow rate is correct. If the user does not have measured data for the engine being used then the figure of 53 g/h/litre/100rpm can be used as a rough guide. +\par +\par 2. Most modern engine management systems employ overrun fuel cut-off. This stops the flow of fuel when the engine undergoes a prolonged period of overrun. It is therefore tempting to specify no fuel flow in the overrun condition in the input data to the model. Lotus experience in using this model however, is that best results are obtained when some flow of fuel during overrun is specified. The reasons for this are twofold, (a) the period of time before cut-off is employed is often a significant part of a deceleration in an emission cycle and (b) fuel enrichment is often employed following an overrun to provide good drivability. Fuel enrichment is not catered for in the steady state maps. Thus overrun fuelling can be used to compensate for this simplification. Typically the overrun flow rate is half that of the lowest load. +\par \pard +\par 3. The simulation in this section was performed on a chassis dynamometer. During the above study it was found that the loads experienced by the engine on the chassis dynamometer were significantly different to those found on the road. The reasons for this were twofold, (a) the load characteristic if the Clayton Dyno. did not replicate the road load curve of the vehicle through the speed range and (b) the rolling resistance of the tyres on the small rollers was significantly higher than that found on the road. The latter effect being caused by high tyre distortion on the small diameter rollers. The above problems/errors are removed/reduced by modern large diameter chassis dynamometers with programmable road load curves. +\par \pard +\par Often results of acceptable accuracy can be obtained by performing the emissions cycle calculations on the "ROAD" (i.e. without using the chassis dynamometer option). +\par +\par \{button ,AL(`list12',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Vehicle Emissions - Example +\par \pard \plain\fs20 +\par The input file for an 1.6L 2 door saloon fitted with a manual transmission is provided. +\par +\par \uldb \b Vehicle emissions example data file \plain\uldb\fs20 \{bmct bm5.bmp\}\plain\fs20 +\par +\par This model was created as part of the Lotus funded LEV research project where calculations to determine the required catalyst light off time were performed. This file demonstrates the quantity of engine data required to perform these calculations. +\par +\par The measured and calculated emissions over the FTP75 test are summarised in the following table, detailed in the results file and presented graphically in the three figures. +\par \pard +\par \b PRE CATALYST EMISSIONS\plain\fs20 +\par Test No. 113593 C Date 1 Sep 1993 Test type EPA 75 +\par +\par \uldb \b Vehicle emissions example results file \plain\uldb\fs20 \{bmct bm5.bmp\}\plain\fs20 +\par +\par \trowd\trgaph105\trleft-106 \cellx2015\cellx4155\cellx6285\cellx8415\pard\intbl\qc \b EMISSION \cell\pard \pard\intbl\qc MEASURED\cell\pard \pard\intbl\qc CALCULATED\cell\pard \pard\intbl\qc % ERROR\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx2015\cellx4155\cellx6285\cellx8415\pard\intbl\qc T.HC (g) \cell\pard \pard\intbl\qc \plain\fs20 33.8\cell\pard \pard\intbl\qc 33.27\cell\pard \pard\intbl\qc -1.6\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx2015\cellx4155\cellx6285\cellx8415\pard\intbl\qc \b (g/mile) \cell\pard \pard\intbl\qc \plain\fs20 3.08\cell\pard \pard\intbl\qc 3.13\cell\pard \pard\intbl\qc +1.6\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx2015\cellx4155\cellx6285\cellx8415\pard\intbl\qc \b CO (g) \cell\pard \pard\intbl\qc \plain\fs20 86.8\cell\pard \pard\intbl\qc 85.21\cell\pard \pard\intbl\qc -1.8\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx2015\cellx4155\cellx6285\cellx8415\pard\intbl\qc \b (g/mile) \cell\pard \pard\intbl\qc \plain\fs20 7.91\cell\pard \pard\intbl\qc 7.82\cell\pard \pard\intbl\qc -1.1\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx2015\cellx4155\cellx6285\cellx8415\pard\intbl\qc \b NOx (g) \cell\pard \pard\intbl\qc \plain\fs20 30.4\cell\pard \pard\intbl\qc 30.61\cell\pard \pard\intbl\qc +0.7\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx2015\cellx4155\cellx6285\cellx8415\pard\intbl\qc \b (g/mile) \cell\pard \pard\intbl\qc \plain\fs20 2.77\cell\pard \pard\intbl\qc 2.72\cell\pard \pard\intbl\qc -1.8\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx2015\cellx4155\cellx6285\cellx8415\pard\intbl\qc \b CO2 (g) \cell\pard \pard\intbl\qc \plain\fs20 2656\cell\pard \pard\intbl\qc 2832\cell\pard \pard\intbl\qc +6.6\cell\intbl\row +\trowd\trleft4 \cellx8355 \pard\intbl\qc \b (2935 POST.CAT)\cell\intbl\row +\trowd\trgaph105\trleft-106 \cellx2015\cellx4155\cellx6285\cellx8415\pard\intbl\qc (g/mile)\cell\pard \pard\intbl\qc \plain\fs20 242\cell\pard \pard\intbl\qc 258.4\cell\pard \pard\intbl\qc +6.8\cell\intbl\row +\pard +\par \pard\sb115\tx355 \uldb \b Vehicle emissions correlation graph - Cumulative emissions \tab \tab \plain\uldb\fs20 \{bmct bm6.bmp\}\plain\fs20 +\par \pard\tx355 +\par \pard\sb115\tx355 \uldb \b Vehicle acceleration correlation graph - Engine out emissions \tab \plain\uldb\fs20 \{bmct bm6.bmp\}\plain\fs20 +\par +\par \uldb \b Vehicle acceleration correlation graph - Emissions error \tab \tab \plain\uldb\fs20 \{bmct bm6.bmp\}\plain\fs20 +\par \pard\tx355 +\par \pard\tx355 +\par \pard\tx355 Overall the correlation is generally good. The reason why the CO2 results are high are not fully understood at present, although it is worth noting that the post catalyst results are significantly higher than the pre catalyst levels. +\par \pard\tx355 +\par \pard\tx355 The following notes are made for the users reference : +\par \pard\tx355 +\par \pard\tx355 \b 1.\plain\fs20 The largest discrepancies between the measured and calculated data when using the raw test bed emissions data were found with the hydrocarbon emissions. Both the warm-up and transient models were employed to achieve the above correlation. The input file shows the factors used in this simulation. +\par \pard\tx355 +\par \pard\tx355 \b 2. \plain\fs20 No corrections have been made to either the NOx or CO2 emissions. +\par \pard\tx355 +\par \pard\tx355 \b 3. \plain\fs20 Users wishing to repeat the above correlation should employ the following sequence to obtain best results. +\par \pard\tx355 +\par \pard\tx355 \b a.\plain\fs20 ensure that all emissions at hot idle are correct +\par \pard\tx355 +\par \pard\tx355 \b b.\plain\fs20 modify overrun levels to those observed during test +\par \pard\tx355 +\par \pard\tx355 \b c. \plain\fs20 tune transient factor for HC emissions +\par \pard\tx355 +\par \pard\tx355 \b d. \plain\fs20 apply warm-up corrections for cold start. +\par \pard\tx355 +\par \pard\tx355 \b 4.\plain\fs20 To date the above correlation has only been attempted on one vehicle. Further work is recommended to identify the level of correlation and transient factors required for other vehicles and/or calibrations. +\par \pard\tx355 +\par \pard\tx355 \{button ,AL(`list12',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Track Performance - Example +\par \pard \plain\fs20 +\par The input file for a Lotus ESPRIT SE is provided. +\par +\par \uldb \b Track performance example data file \plain\uldb\fs20 \{bmct bm5.bmp\}\plain\fs20 +\par +\par The results file from a simulation of the operation of this vehicle around the Lotus test track at maximum speed is provided here : +\par +\par \uldb \b Track performance example results file \plain\uldb\fs20 \{bmct bm5.bmp\}\plain\fs20 +\par +\par The fastest lap for this vehicle is believed to be 85 seconds. This compares well with the calculated time of 84.5. +\par +\par \{button ,AL(`list12',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard +\par \page +{\up +} +{\up $} +{\up #} +\pard\keepn\sb235\sa55 \b\fs28 LOTUS VEHICLE SIMULATION - Program Overview +\par \pard \plain\fs20 +\par LOTUS VEHICLE SIMULATION is a simulation program capable of predicting the complete performance of a vehicle system. The program can be used to calculate, +\par +\par \pard\li275\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Straight line acceleration and top speed\plain\f0\fs20 +\par \pard\li275\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Fuel economy and emissions (both in steady state or across any drive-cycle)\plain\f0\fs20 +\par \pard\li275\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Track or course performance\plain\f0\fs20 +\par \pard\tx355 \f1 +\par \pard\tx355 0\tab LOTUS VEHICLE SIMULATION is designed to run on a desktop PC with Windows 95 but offers the speed of a UNIX based simulation. The user interface is based on the standard \ul LOTUS\plain\fs20 software\plain\f0\fs20 \'91\f1 look-and-feel\plain\f0\fs20 \'92\f1 and offers the same intuitive approach as other popular Windows applications, assisting learning and speed of use. +\par +\par 1\tab Using the simulation program typically follows the procedure below, +\par +\par \pard\li275\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 The user constructing the simulation model enters the vehicle specification. This includes data for :\plain\f0\fs20 +\par \pard\li995\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Vehicle mass and centre of gravity\plain\f0\fs20 +\par \pard\li995\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Vehicle dimensions, and aerodynamics\plain\f0\fs20 +\par \pard\li995\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Tyre performance (grip and rolling resistance characteristics)\plain\f0\fs20 +\par \pard\li995\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Final drive system\plain\f0\fs20 +\par \pard\li995\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Gearbox or transmission system and shifting strategies\plain\f0\fs20 +\par \pard\li995\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Prime-mover details eg. I.C. engine or hybrid powertrain\plain\f0\fs20 +\par \pard\li1715\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Performance (torque/power capabilities)\plain\f0\fs20 +\par \pard\li1715\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Fuel economy\plain\f0\fs20 +\par \pard\li1715\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 System-out Emissions\plain\f0\fs20 +\par \pard\li1715\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Emissions after-treatment systems\plain\f0\fs20 +\par \pard\li995\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Driver performance\plain\f0\fs20 +\par \pard\li275\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 The user selects the appropriate test for analysis. For instance, this often involves predicting the performance of the vehicle in terms of emissions and fuel economy over a government legislated drive-cycle.\plain\f0\fs20 +\par \pard\li275\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 The calculation cycle is carried out. The user can display the key information on the vehicle and powertrain operating condition during the cycle using the calculation screen.\plain\f0\fs20 +\par \pard\li275\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Calculation results are available to the user both in the form of a report quality summary sheet and through a quick-to-use graph plotting system.\plain\f0\fs20 +\par \pard\tx355 \f1 +\par \pard\tx355 0\tab LOTUS VEHICLE SIMULATION has been applied extensively by world-wide clients and validated thoroughly at LOTUS over a wide range of vehicle types and conditions. The program is capable of simulating all existing and projected vehicle systems and is continually updated by LOTUS in co-operation with it\plain\f0\fs20 \'92\f1 s partners. +\par +\par \page +{\up +} +{\up $} +{\up #} +\pard\keepn\sb235\sa55 {\up A} +\b\fs28 PROGRAM OVERVIEW \uldb \plain\uldb\fs16 \{bmct bm7.bmp\}\plain\b\fs28 +\par \pard\tx355 \plain\fs20 +\par 0\tab LOTUS VEHICLE SIMULATION is split into three sub-sections: +\par +\par \pard\li995\fi-275\tx355 \f2\fs18 \'b7\tab \uldb \f1\fs20 Pre-processor\plain\fs20 - for data-entry and model generation +\par \pard\li995\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Calculation system - for solution of desired analysis +\par \pard\li995\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Post-processor - for analysis of calculated results +\par \pard\tx355 +\par \pard\tx355 The three sections are only notionally split and all three modules run together as a single application. +\par \pard\tx355 +\par \pard\tx355 The \plain\f0\fs20 \'91\f1 front-end\plain\f0\fs20 \'92\f1 of the application is presented here, illustrating the features displayed on start-up: +\par \pard\tx355 +\par \pard\tx355 +\par \pard\tx355 \b THE PRE-PROCESSOR +\par \pard\tx355 \plain\fs20 +\par \pard\tx355 The pre-processing system allows the user to enter data, read in or \uldb save\plain\fs20 models, create new models and adjust data in existing models. \uldb \{bmc bm8.bmp\}\plain\fs20 +\par \pard\tx355 +\par \pard\tx355 Icons representing the various vehicle-powertrain subsystems allow the user to view the data for that section of the model and adjust, add or delete data from the model. Graphical features allow the user to view the results of changes to the specific data-set and adjust data as fit. +\par \pard\tx355 +\par \pard\tx355 The following illustrate the typical appearance of the main screen +\par \page +{\up #} +\pard Contact Details +\par Lotus Engineering +\par Hethel +\par Norwich +\par NR14 8EZ +\par Tel: (01953) 608000 +\par Fax: (01953) 608157 +\par +\par +\par \page +\pard \page +{\up #} +\pard \b Results Text Viewer Icon\plain\fs20 +\par +\par \uldb \{bmc bm9.bmp\} +\par \plain\fs20 +\par \page +{\up #} +\pard \b Data Checking Wizard Icon\plain\fs20 +\par +\par \uldb \{bmc bm10.bmp\}\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up #} +\pard\tx355 \f1\b Data Icons\plain\fs20 +\par +\par \b vehicle\plain\fs20 \tab \uldb \{bmc bm11.bmp\}\plain\fs20 +\par \b dyno\plain\fs20 \tab \uldb \{bmc bm12.bmp\}\plain\fs20 +\par \b tyre\plain\fs20 \tab \uldb \{bmc bm13.bmp\}\plain\fs20 +\par \b driveline\plain\fs20 \tab \uldb \{bmc bm14.bmp\}\plain\fs20 +\par \b gearbox\plain\fs20 \tab \uldb \{bmc bm15.bmp\}\plain\fs20 +\par \b engine\plain\fs20 \tab \uldb \{bmc bm16.bmp\}\plain\fs20 +\par \b hybrid\plain\fs20 \tab \uldb \{bmc bm17.bmp\}\plain\fs20 +\par \b driver\plain\fs20 \tab \uldb \{bmc bm18.bmp\} +\par \plain\fs20 +\par \page +{\up #} +\pard \b Results Graph Viewer Icon\plain\fs20 +\par +\par \uldb \{bmc bm19.bmp\}\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up #} +\pard \f1\b Specify Graph Icon\plain\fs20 +\par +\par \uldb \{bmc bm20.bmp\}\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up #} +\pard \f1\b Axis Scales Icon\plain\fs20 +\par +\par \uldb \{bmc bm21.bmp\}\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up #} +\pard \f1\b Cross Plot Status Icon\plain\fs20 +\par +\par \uldb \{bmc bm22.bmp\} +\par \plain\fs20 +\par \page +{\up #} +\pard \b File Browser Icon\plain\fs20 +\par +\par \uldb \{bmc bm23.bmp\}\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up #} +\pard \f1\b Solve Set-up Icon\plain\fs20 +\par +\par \uldb \{bmc bm24.bmp\}\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up #} +\pard \f1\b Calculate Run Icon\plain\fs20 +\par +\par \uldb \{bmc bm25.bmp\}\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up #} +\pard \f1\b Calculate Stop Icon\plain\fs20 +\par +\par \uldb \{bmc bm26.bmp\}\plain\fs20 +\par \plain\f0\fs20 +\par +\par \page +{\up #} +\pard \f1\b Calculate Display Icon\plain\fs20 +\par +\par \uldb \{bmc bm27.bmp\}\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up #} +\pard\tx355 \f1\b Video Icons\plain\fs20 +\par +\par \b pause\plain\fs20 \tab \uldb \{bmc bm28.bmp\}\plain\fs20 +\par \b play\plain\fs20 \tab \uldb \{bmc bm29.bmp\}\plain\fs20 +\par \b scan\plain\fs20 \tab \uldb \{bmc bm30.bmp\}\plain\fs20 +\par \b ffwd\plain\fs20 \tab \uldb \{bmc bm31.bmp\}\plain\fs20 +\par \b step\plain\fs20 \tab \uldb \{bmc bm32.bmp\}\plain\fs20 +\par +\par \page +{\up #} +\pard\tx355 \b Display Setting Icons\plain\fs20 +\par +\par \b velocity large\plain\fs20 \tab \uldb \{bmc bm33.bmp\}\plain\fs20 +\par \b bmep large\plain\fs20 \tab \uldb \{bmc bm34.bmp\}\plain\fs20 +\par \page +{\up #} +\pard \b Vehicle Data Icon\plain\fs20 +\par +\par \uldb \{bmc bm11.bmp\}\plain\fs20 +\par +\par \page +{\up #} +\pard \b Dyno Data Icon\plain\fs20 +\par +\par \uldb \{bmc bm12.bmp\}\plain\fs20 +\par +\par \page +{\up #} +\pard \b Tyre Data Icon\plain\fs20 +\par +\par \uldb \{bmc bm13.bmp\}\plain\fs20 +\par +\par \page +{\up #} +\pard \b Driveline Data Icon\plain\fs20 +\par +\par \uldb \{bmc bm14.bmp\}\plain\fs20 +\par +\par +\par \page +{\up #} +\pard \b Gearbox Data Icon\plain\fs20 +\par +\par \uldb \{bmc bm15.bmp\}\plain\fs20 +\par +\par \page +{\up #} +\pard \b Engine Data Icon\plain\fs20 +\par +\par \uldb \{bmc bm16.bmp\}\plain\fs20 +\par +\par \page +{\up #} +\pard \b Hybrid Data Icon\plain\fs20 +\par +\par \uldb \{bmc bm17.bmp\}\plain\fs20 +\par \page +{\up #} +\pard \b Driver Data Icon\plain\fs20 +\par +\par \uldb \{bmc bm18.bmp\} +\par \page +{\up #} +\pard \plain\b\fs20 Data Graph Icon\plain\fs20 +\par +\par \uldb \{bmc bm35.bmp\} +\par \plain\fs20 +\par \page +{\up #} +\pard \b Open File Icon\plain\fs20 +\par +\par \uldb \{bmc bm36.bmp\} +\par \plain\fs20 +\par \page +{\up #} +\pard \b New File Icon\plain\fs20 +\par +\par \uldb \{bmc bm37.bmp\} +\par \plain\fs20 +\par +\par \page +{\up #} +\pard \b Save File Icon\plain\fs20 +\par +\par \uldb \{bmc bm38.bmp\} +\par \plain\fs20 +\par \page +{\up #} +\pard \b Save As File Icon\plain\fs20 +\par +\par \uldb \{bmc bm8.bmp\} +\par \plain\fs20 +\par \page +{\up #} +\pard \b Cross Icon\plain\fs20 +\par +\par \uldb \{bmc bm3.bmp\} +\par +\par \page +{\up #} +\pard \plain\b\fs20 Question Mark Icon\plain\fs20 +\par +\par \uldb \{bmc bm39.bmp\} +\par \plain\fs20 +\par \page +{\up #} +\pard \b Tick Icon\plain\fs20 +\par +\par \uldb \{bmc bm2.bmp\} +\par +\par \page +{\up #} +\pard \plain\b\fs20 Vehicle Acceleration Correlation +\par \plain\fs20 +\par \pard\qc \uldb \{bmc bm40.bmp\}\plain\fs20 +\par \pard \uldb +\par \page +{\up #} +\pard \plain\b\fs20 Vehicle Economy Correlation +\par \plain\fs20 +\par \pard\qc \uldb \{bmc bm41.bmp\}\plain\fs20 +\par \pard \uldb +\par \page +{\up #} +\pard \plain\b\fs20 Vehicle Emissions Correlation +\par \plain\fs20 +\par \pard\qc \uldb \{bmc bm42.bmp\}\plain\fs20 +\par \pard \uldb +\par \page +{\up #} +\pard \plain\b\fs20 Vehicle Emissions Correlation +\par \plain\fs20 +\par \pard\qc \uldb \{bmc bm43.bmp\}\plain\fs20 +\par \pard \uldb +\par \page +{\up #} +\pard \plain\b\fs20 Vehicle Emissions Correlation +\par \plain\fs20 +\par \pard\qc \uldb \{bmc bm44.bmp\} +\par \pard \plain\fs20 +\par \page +{\up #} +\pard \b Calculation Sequence +\par \plain\fs20 +\par \pard\qc \uldb \{bmc bm45.bmp\}\plain\fs20 +\par \pard \uldb +\par \page +{\up #} +\pard \plain\b\fs20 Cornering Notation +\par \plain\fs20 +\par \pard\qc \uldb \{bmc bm46.bmp\}\plain\fs20 +\par \pard \uldb +\par \page +{\up #} +\pard \plain\b\fs20 Tyre Rolling Resistance +\par \plain\fs20 +\par \pard\qc \uldb \{bmc bm47.bmp\}\plain\fs20 +\par \pard \uldb +\par \page +{\up #} +\pard \plain\b\fs20 Tyre Longitudinal Slip +\par \plain\fs20 +\par \pard\qc \uldb \{bmc bm48.bmp\}\plain\fs20 +\par \pard \uldb +\par \page +{\up #} +\pard \plain\b\fs20 Gear Efficiency +\par \plain\fs20 +\par \pard\qc \uldb \{bmc bm49.bmp\}\plain\fs20 +\par \pard \uldb +\par \page +{\up #} +\pard \plain\b\fs20 Gear Shift Map - Road Speeds +\par \plain\fs20 +\par \pard\qc \uldb \{bmc bm50.bmp\}\plain\fs20 +\par \pard \uldb +\par \page +{\up #} +\pard \plain\b\fs20 Gear Shift Map - Throttle Positions +\par \plain\fs20 +\par \pard\qc \uldb \{bmc bm51.bmp\}\plain\fs20 +\par \pard \uldb +\par \page +{\up #} +\pard \plain\b\fs20 Catalyst Model +\par \plain\fs20 +\par \pard\qc \uldb \{bmc bm52.bmp\}\plain\fs20 +\par \page +{\up #} +\pard \b Warm-up Model +\par \plain\fs20 +\par \pard\qc \uldb \{bmc bm53.bmp\}\plain\fs20 +\par \page +{\up #} +\pard \b Engine Scaling Friction +\par \plain\fs20 +\par \pard\qc \uldb \{bmc bm54.bmp\}\plain\fs20 +\par \pard \uldb +\par +\par \page +{\up #} +\pard \plain\b\fs20 Results 3d Viewer Icon\plain\fs20 +\par +\par \uldb \{bmc bm55.bmp\} +\par +\par +\par \page +{\up #} +\pard \plain\b\fs20 Data Graph Viewer Icon\plain\fs20 +\par +\par \uldb \{bmc bm35.bmp\} +\par +\par \page +{\up #} +\pard \plain\b\fs20 Parametric Open Window Icon\plain\fs20 +\par +\par \uldb \{bmc bm56.bmp\} +\par +\par +\par \page +{\up #} +\pard \plain\b\fs20 Parametric Current Value Icon\plain\fs20 +\par +\par \uldb \{bmc bm57.bmp\} +\par +\par +\par \page +{\up #} +\pard \plain\b\fs20 Parametric List Edit Icon\plain\fs20 +\par +\par \uldb \{bmct bm5.bmp\} +\par +\par \page +{\up #} +\pard \plain\b\fs20 Spline List / Edit Icon\plain\fs20 +\par +\par \uldb \{bmct bm5.bmp\} +\par +\par +\par \page +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \plain\b\fs28 System Operating Requirements +\par \pard \plain\fs20 +\par The code has been developed for windows 95 32bit only, on a range of machine specifications, and has shown reasonable speed on machines down to only 8mb of ram and 75Mhz processor speed. It is envisaged that the speed of future releases will be improved through code restructuring. +\par +\par The windows display settings that work best with this program is 'Small fonts', 'high colour 16 bit/24 bit' and min 800 x 600 desktop area, (256 colour mode will work with some loss of graphics). The use of 'large fonts'\plain\f0\fs20 \'92\f1 is also supported. +\par \pard +\par \page +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 System Variables +\par \pard \plain\fs20 +\par LOTUS VEHICLE SIMULATION requires the setting of several environment variables in order to locate the Bitmaps and 'dll' graphics libraries at and during run time. The install program should create these in the 'autoexec.bat' during a full installation, whilst updates assume these variables are already set and will thus not make any changes to the 'autoexec.bat' file. +\par +\par The following lists the environment variables set. +\par \pard\fi715\tx355 LESOFT\tab Contains the program files and associated bitmaps, default C:\'5cLeSoft +\par GINO\tab \tab Contains the graphics libraries, dll's and configuration file, default C:\'5cGino +\par COMPUTERNAME\tab Identifies the individual node name for licensing, user specific +\par \pard\tx355 +\par \pard\tx355 In addition the directory for the graphics files (default C:\'5cGINO) needs to on the 'PATH' string in the 'autoexec.bat' file. +\par \pard\tx355 +\par \pard\tx355 (A successful 'new' installation will create all these environment variables) +\par \pard\tx355 +\par \page +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Backdrop Bitmap +\par \pard \plain\fs20 +\par LOTUS VEHICLE SIMULATION displays a 256 colour, 680x500 pixels windows bitmap as a back drop. A default file is shipped with a full installation. The default file is called 'carps_back.bmp' and is located in the 'LESOFT\'5cBMP' directory. Users may substitute the default backdrop with their own by simply replacing the default file with their own bitmap file. The backdrop function can be disabled by renaming or deleting the default file. +\par \page +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Licensing Errors +\par \pard \plain\fs20 +\par During program start-up a number of system checks are made to locate files and perform licensing checks, if any files are missing or irregularities identified these are reported and the program start-up will cease. The error message should be reported to your software vendor.\plain\f0\fs20 +\par \f1 +\par \page +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Auto-Updating Old Data File Versions +\par \pard \plain\fs20 +\par When \plain\f0\fs20 \'91\f1 *.car\plain\f0\fs20 \'92\f1 data files are loaded from either the viewer or the browser a check is made on the file version number. There are number of differences between the data files of the different software versions the majority of which are automatically handled and do not require any user intervention. +\par +\par One change that cannot be automatically handled is the change in the map numbering approach used for torque converter lock-up map No\plain\f0\fs20 \'92\f1 s, gearshift load map No\plain\f0\fs20 \'92\f1 s and engine optimum map No.. This was introduced with the beta release of version 3.0. Unfortunately no change in data file version number was added to enable this to be identified, the data file version number change being introduced with the release of version 3.01. Thus \plain\f0\fs20 \'91\f1 *.car\plain\f0\fs20 \'92\f1 files created with version of 3.0b would be identified as being from the earlier DOS version and any auto update function would change these map numbers unnecessarily. +\par \pard +\par Pre-windows versions used the map file entry No. (i.e. their position in the file, 1st map, 2nd map, 3rd map etc.), this meant that should the file be edited and the engine map order changed, the three data variables given above could now point to the wrong maps. +\par +\par For the Windows version the data file was changed for the three map related variables to be map type No., where 0 = torque fraction, 1 = fuel consumption, 2 = air consumption, 3 = HC emissions etc. thus data file editing could be carried out safely without loss of the load map identity.\plain\f0\fs20 +\par \pard +\par \f1 Due to the potential for incorrect auto-correction of data files created by v3.0b the auto-correct on map No\plain\f0\fs20 \'92\f1 s has been given a yes/no prompt. All data files generated by the Dos versions should be corrected, whilst data files created with v3.0b should not. +\par +\par \page +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Front Sheet Start-up +\par \pard \plain\fs20 +\par At program start-up a option to run the DataFile wizard is given. This dialog box also contains options to open a new file, or open an existing file. This dialog box can be disabled for subsequent program startups by setting the check box 'Dont show this box at start'. +\par +\par The \b .car file wizard\plain\fs20 provides a simple route to generating a new data file, where the user can select from presented options the data type they require. +\par \plain\f0\fs20 +\par \f1 The \b New blank .car file\plain\fs20 option will open Lotus Vehicle Simulation with a new empty data file. +\par \pard +\par The \b Open an existing .car file\plain\fs20 option will open the file browser to allow the user to locate the required file. +\par +\par Selecting the cancel button will close this dialog box and leave Lotus Vehicle Simulation open with a new empty data file. Thus selecting cancel is equivalent to the 'New blank .car file' option. +\par +\par This dialog box is intended to help new users get started by providing a route to the .car file wizard. Should this option have been switched 'off' it can be reinstated by selecting the \ul Start Wizard\plain\fs20 menu option from the main window menubar under \ul Setup\plain\fs20 / \ul Start Options\plain\fs20 . Subsequent Lotus Vehicle Simulation start-ups will then display the start up dialog box. +\par \pard +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Program Overview +\par \pard \fs20 Introduction +\par \plain\fs20 +\par LOTUS VEHICLE SIMULATION is a simulation program capable of predicting the complete performance of a vehicle system. The program can be used to calculate, +\par +\par \pard\li275\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Straight line acceleration and top speed\plain\f0\fs20 +\par \pard\li275\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Fuel economy and emissions (both in steady state or across any drive-cycle)\plain\f0\fs20 +\par \pard\li275\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Track or course performance\plain\f0\fs20 +\par \pard\tx355 \f1 +\par \pard\tx355 0\tab LOTUS VEHICLE SIMULATION is designed to run on a desktop PC with Windows but offers the speed of a UNIX based simulation. The user interface is based on the standard \ul LOTUS\plain\fs20 software \plain\f0\fs20 \'91\f1 look-and-feel\plain\f0\fs20 \'92\f1 and offers the same intuitive approach as other popular Windows applications, assisting learning and speed of use. +\par +\par 1\tab Using the simulation program typically follows the procedure below, +\par +\par \pard\li275\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 The user constructing the simulation model enters the vehicle specification. This includes data for :\plain\f0\fs20 +\par \pard\li995\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Vehicle mass and centre of gravity\plain\f0\fs20 +\par \pard\li995\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Vehicle dimensions, and aerodynamics\plain\f0\fs20 +\par \pard\li995\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Tyre performance (grip and rolling resistance characteristics)\plain\f0\fs20 +\par \pard\li995\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Final drive system\plain\f0\fs20 +\par \pard\li995\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Gearbox or transmission system and shifting strategies\plain\f0\fs20 +\par \pard\li995\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Prime-mover details eg. I.C. engine or hybrid powertrain\plain\f0\fs20 +\par \pard\li1715\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Performance (torque/power capabilities)\plain\f0\fs20 +\par \pard\li1715\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Fuel economy\plain\f0\fs20 +\par \pard\li1715\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 System-out Emissions\plain\f0\fs20 +\par \pard\li1715\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Emissions after-treatment systems\plain\f0\fs20 +\par \pard\li995\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Driver performance\plain\f0\fs20 +\par \pard\li275\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 The user selects the appropriate test for analysis. For instance, this often involves predicting the performance of the vehicle in terms of emissions and fuel economy over a government legislated drive-cycle.\plain\f0\fs20 +\par \pard\li275\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 The calculation cycle is carried out. The user can display the key information on the vehicle and powertrain operating condition during the cycle using the calculation screen.\plain\f0\fs20 +\par \pard\li275\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 Calculation results are available to the user both in the form of a report quality summary sheet and through a quick-to-use graph plotting system.\plain\f0\fs20 +\par \pard\tx355 \f1 +\par \pard\tx355 0\tab LOTUS VEHICLE SIMULATION has been applied extensively by world-wide clients and validated thoroughly at LOTUS over a wide range of vehicle types and conditions. The program is capable of simulating all existing and projected vehicle systems and is continually updated by \ul LOTUS\plain\fs20 in co-operation with it\plain\f0\fs20 \'92\f1 s partners. +\par \pard\tx355 +\par \pard\tx355 0\tab A series of tutorials are available to assist new users learn the features of the code. \uldb Open Tutorial\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Program Structure +\par \pard\tx355 \fs20 Introduction +\par \plain\fs20 +\par 0\tab LOTUS VEHICLE SIMULATION is split into three sub-sections: +\par +\par \pard\li995\fi-275\tx355 \f2\fs18 \'b7\tab \uldb \f1\fs20 Data module\plain\fs20 - data-entry and model generation +\par \pard\li995\fi-275\tx355 \f2\fs18 \'b7\tab \uldb \f1\fs20 Solve module\plain\fs20 - solution of desired analysis +\par \pard\li995\fi-275\tx355 \f2\fs18 \'b7\tab \uldb \f1\fs20 Results module\plain\fs20 - analysis of calculated results +\par \pard\tx355 +\par \pard\tx355 The three sections are only notionally split and all three modules run together as a single application. +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Program Structure - Data Module +\par \pard \plain\fs20 +\par The data module allows the user to enter data, read in or save models, create new models and adjust data in existing models. +\par +\par Icons representing the various vehicle-powertrain subsystems allow the user to view the data for that section of the model and adjust, add or delete data from the model. Graphical features allow the user to view the results of changes to the specific data-set and adjust data as fit. +\par +\par The vehicle system model sub-components and relevant icons are: +\par \pard +\par \pard\fi715 \ul \b\ul Vehicle\plain\b\fs20 \plain\fs20 Data +\par \pard \b +\par \pard\fi715 Dyno\plain\b\fs20 \plain\fs20 Data +\par \pard \b +\par \pard\fi715 Tyre\plain\b\fs20 \plain\fs20 Data +\par \pard \b +\par \pard\fi715 Driveline\plain\b\fs20 \plain\fs20 Data +\par \pard \b +\par \pard\fi715 Gearbox\plain\b\fs20 \plain\fs20 Data +\par \pard \b +\par \pard\fi715 Engine\plain\b\fs20 \plain\fs20 Data +\par \pard \b +\par \pard\fi715 Hybrid Drive System\plain\b\fs20 \plain\fs20 Data +\par \pard \b +\par \pard\fi715 Driver\plain\b\fs20 \plain\fs20 Data +\par \pard +\par When an icon is selected the relevant data entry window is displayed with various vehicle and powertrain parameters available for editing. +\par +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Program Structure - Solve Module\plain\fs24 \b\fs28 +\par \pard \plain\fs20 The solve module is used to run calculations of which a range of types are available. These are: +\par +\par \pard\fi715 \uldb \b Steady State\plain\b\fs20 +\par \uldb Acceleration\plain\b\fs20 +\par \uldb Drive Cycle\plain\b\fs20 +\par \uldb Track\plain\b\fs20 \plain\fs20 +\par \pard +\par During calculations, the user is able to display certain vehicle parameters while the calculation runs on the Calculation telemetry window. This displays : +\par +\par \pard\fi715 \b Drive Cycle (Vehicle speed vs. Time with colour for gear number) +\par Current Gear +\par Vehicle Speed (Dial) +\par Engine Speed (Dial) +\par Engine Speed vs. Engine Load (BMEP vs. Engine Speed)\plain\fs20 +\par \pard +\par To run calculations significantly faster, the user may choose to close this window resulting in a large reduction in calculation time. After the calculation is complete, the user can review the calculated data using the \uldb results module\plain\fs20 . +\par +\par The module also offers interactive build modules for rapid generation of new track and cycle files for analysis. +\par +\par \{button ,AL(`list9',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Program Structure - Results Module +\par \pard \plain\fs20 +\par The results module is used to perform all post-processing of calculated data. It provides the following features: +\par +\par \pard\fi715 \b Plotting of datasets - Up to five runs simultaneously +\par Plotting of multiple data-channels eg. Vehicle fuel consumption and +\par forward speed vs. time - up to 4 sets +\par Cross plotting of datasets and channels on a single multi-axis graph +\par Zoom and pick functions +\par \pard \plain\fs20 +\par The Windows environment also allow frame grabbing of graphs as bitmaps for pasting into other Windows applications. +\par +\par \{button ,AL(`list7',0,"",`main')\} \uldb Related Text Results Topics\plain\fs20 +\par +\par \{button ,AL(`list8',0,"",`main')\} \uldb Related Graph Results Topics\plain\fs20 +\par +\par \b\fs24 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \fs28 Program Structure - Additional Features\plain\fs24 +\par \pard \fs20 +\par Additional tools are provided to perform specific functions these include; +\par +\par \pard\tx355 \tab \uldb \b Data Checking Wizard,\plain\b\fs20 \plain\fs20 to check the validity of the data +\par \tab \uldb \b Interactive Track Builder,\plain\b\fs20 \plain\fs20 to build or edit a user defined track +\par \tab \uldb \b Interactive Cycle Builder,\plain\b\fs20 \plain\fs20 to create or edit a user defined drive cycle +\par \tab \uldb \b Column Write Wizard,\plain\b\fs20 \plain\fs20 to write out chosen results data into a specified file format\b\fs24 +\par \page +{\up #} +\pard\tx355 \fs20 Position\plain\fs20 +\par \pard\tx355 Up to five graphical results files can be held at any one time, these are identified in the cross plot status dialog box. Each of these files is held in a \b position\plain\fs20 , and these \b position\plain\fs20 numbers are used to identify individual properties and settings, as well as providing a means of cross plotting different analysis runs. +\par \page +{\up #} +\pard \b Rolling Radius\plain\fs20 +\par Sets the variable type for the extended tyre model as 'Rolling Radius'. (note only one variable currently exists for extended tyre). +\par \plain\f0\fs20 +\par \page +{\up #} +\pard \f1\b Constant\plain\fs20 +\par Sets the selected tyre variable as a constant value. This is identical to the simple tyre model. +\par \page +{\up #} +\pard \b Coefficients\plain\fs20 +\par Sets the selected tyre variable to be defined by a constant term plus up to five polynomial terms of increasing power. +\par \page +{\up #} +\pard \b Value List\plain\fs20 +\par Sets the selected tyre variable to be defined by a look up table that uses linear interpolation/extrapolation to identify the current value based on vehicle speed. +\par \page +{\up #} +\pard \b Display Graph\plain\fs20 +\par Opens the graph window to graphically display the currently selected variable. +\par \page +{\up #} +\pard \b Different Tyre Option\plain\fs20 +\par Sets the option for either a common tyre or different tyre front to rear. This also changes the displayed data and options for the selected tyre. The data displayed in the 'standard tyre window' is also changed to reflect this selection. +\par \page +{\up #} +\pard \b Y units\plain\fs20 +\par The available units are displayed here. Selecting the required units will update the displayed data and future listings will also use these units. +\par \page +{\up #} +\pard \b Update Listing\plain\fs20 +\par This button updates the list using the currently displayed data for the current min/max and increment settings. They will be displayed in the currently selected units. +\par \page +{\up #} +\pard \b X Values\plain\fs20 +\par The current x-values are listed in this side of the spread sheet. They can be edited and the results viewed using the update listing button. If relevant they will be displayed in the selected units. To save any changes back to the original data window close the spline listing using the menu option \ul File\plain\fs20 / \ul Close (save changes)\plain\fs20 . To ignore any data changes close the spline listing with either the alternative menu option, or any other window close technique. +\par \page +{\up #} +\pard \b Y Values\plain\fs20 +\par The current y-values are listed in this side of the spread sheet. They can be edited and the results viewed using the update listing button. If relevant they will be displayed in the selected units. To save any changes back to the original data window close the spline listing using the menu option \ul File\plain\fs20 / \ul Close (save changes)\plain\fs20 . To ignore any data changes close the spline listing with either the alternative menu option, or any other window close technique. +\par \page +{\up #} +\pard \b Listing settings\plain\fs20 +\par The spline listing is controlled by these values. They define the start and end values of the list, (in the appropriate units), and the increment between values. +\par \page +{\up #} +\pard \b Listing Results\plain\fs20 +\par The spline listing results are displayed here. They are define the start and end values shown in the calculate settings boxes and in the chosen units. +\par \b\fs24 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \fs28 Results Module +\par \pard \fs20 Overview +\par \plain\f0\fs20 +\par \f1 When Lotus Vehicle Simulation calculations are performed it creates a number of results files, the extensions of which identify the type of results file it is. +\par +\par \pard\tx355 \tab \tab Text results files have the form \tab *_n.crs +\par \tab \tab Graphical results files have the form\tab *_n.grs +\par \tab \tab Grid text results files have the form\tab *_n.grd +\par +\par \tab Where; n is the \i Plot File Counter\plain\fs20 number which is incremented for each calculation, and the \plain\f0\fs20 \'91\f1 *\plain\f0\fs20 \'92\f1 is the \i Test No.\plain\fs20 string supplied by the user, both are displayed in the vehicle data window. +\par +\par The \i Result File Viewer\plain\fs20 is a scrollable text window that allows the user to load, read and print the text results files. A specific command allow the current results to be loaded directly without requiring the file browser. +\par \pard\tx355 +\par The \i Results Graph \plain\fs20 Viewer is a graphics window that allows the user to display the graphical results files on up to 4 different graphs, (with a common x-axis), that can be either separate graphs or overlayed. Five different results files can be loaded and displayed together to enable rapid cross-plotting to be employed. +\par +\par The graph axes can be specified from the available list of 77 results variables. +\par +\par Graph axes scales can be user defined or use the autoscale or zoom functions to set the desired graph area. A list function allow the values for individual points to be interrogated, whilst printing is performed using the standard Windows printer dialogue boxes. +\par \pard\tx355 +\par The \i Results 3D Viewer\plain\fs20 is a 3d environment through which the analysis results can be animated. It is primarily aimed at track simulation runs, providing a unique visualisation tool that shows vehicle attitude, speed and acceleration together with engine rpm and current gear, animated as its proceeds through the solution. It will also display the results from the steady speed, acceleration and emissions cycles. +\par +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Results Text File Viewer +\par \pard \fs20 Overview +\par \plain\fs20 +\par The \i Result File Viewer\plain\fs20 is a scrollable resizable text window that allows the user to load, read and print the Lotus Vehicle Simulation text results files. These text results files contain a summary of the input data, the solution type and the major results pertinent to the solution run. +\par +\par Text results files have the form \plain\f0\fs20 \'91\f1 *_n.crs\plain\f0\fs20 \'92\f1 here; n is the \i Plot File Counter\plain\fs20 number which is incremented for each calculation, and the \plain\f0\fs20 \'91\f1 *\plain\f0\fs20 \'92\f1 is the \i Test No.\plain\fs20 string supplied by the user, both are displayed in the vehicle data window. +\par \pard +\par Because results files have an incremental counter they are not over written and thus can be re-read at any time. +\par +\par When a Lotus Vehicle Simulation solution is performed the results files are automatically written but they are not loaded into the viewer. If the user requires to view the text results the viewer must be opened and the appropriate text results file loaded. +\par +\par A specific file can be loaded through the \i open \plain\fs20 command that uses the conventional file browser dialogue box, alternatively if the results of the latest run are required, a specific command allow the current results to be loaded directly without requiring the file browser. +\par \pard +\par The currently displayed text results file can be printed directly from the viewer window menu options, using the standard Windows printer dialogue boxes. +\par +\par The entire contents or a portion of the viewer display can be copied into another application such as Word or notepad by use of the right mouse button functionality. +\par +\par \{button ,AL(`list7',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Opening the Text Results File Viewer \plain\fs28 +\par \pard \plain\f0\fs20 +\par \f1 To open the text results file viewer, select the menu item \ul Results\plain\i\fs20 / \plain\ul\fs20 Results Viewer\plain\fs20 from the main menubar. Alternatively the \ul Text Results Viewer Icon\plain\fs20 can be selected from either the top toolbar or the side panel, depending on the data module set-up. +\par +\par When the viewer is open the icon remains indented and the pull down menu item is \plain\f0\fs20 \'91\f1 ticked\plain\f0\fs20 \'92\f1 . +\par +\par On initially opening the viewer no text results are displayed, these must be loaded into the display, see \uldb Loading a text results file\plain\fs20 and \uldb Loading the current text results file\plain\fs20 . +\par \pard +\par \{button ,AL(`list7',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Closing the Text Results File Viewer \plain\fs28 +\par \pard \plain\f0\fs20 +\par \f1 To close the text results file viewer select either the menu item \ul Results\plain\i\fs20 / \plain\ul\fs20 Results Viewer\plain\fs20 from the main menubar, the \plain\f0\fs20 \'91\f1 close\plain\f0\fs20 \'92\f1 icon at the top right corner of the viewer, the results file viewer window menu at the top left or alternatively the \ul Text Results Viewer Icon\plain\fs20 can be un-selected from either the top toolbar or the side panel, depending on the data module set-up. +\par +\par Closing the results file viewer does not lose the display contents. Upon re-opening the viewer the original text and position in the text is retained. +\par \pard +\par \{button ,AL(`list7',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Loading a Text Results File \plain\fs28 +\par \pard \plain\f0\fs20 +\par \f1 To load a text results file into the viewer, with the viewer open select the \ul File/ Open\plain\fs20 option from the viewer window menubar. This will bring up the standard file browser with the default file filter being *.crs. +\par +\par Browse for the required file and select \plain\f0\fs20 \'91\f1 open\plain\f0\fs20 \'92\f1 , this file is then loaded into the viewer, and will replace the existing contents. +\par +\par \{button ,AL(`list7',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Loading the Current Text Results File \plain\fs28 +\par \pard \plain\f0\fs20 +\par \f1 To load the \ul current text results file\plain\fs20 into the viewer, with the viewer open select the \ul File / Load Current\plain\fs20 option from the viewer window menubar. If this menu option is \plain\f0\fs20 \'91\f1 greyed\plain\f0\fs20 \'92\f1 out it means that no solution has been run since the application was opened. +\par +\par The current file is then loaded into the viewer, and will replace the existing contents. +\par +\par \{button ,AL(`list7',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Printing the Text Results File \plain\fs28 +\par \pard \plain\f0\fs20 +\par \f1 To print the displayed text results file, with the viewer open select the \ul File / Print\plain\fs20 option from the viewer window menubar. If this menu option is \plain\f0\fs20 \'91\f1 greyed\plain\f0\fs20 \'92\f1 out it means that no text results file has been loaded into the viewer. +\par +\par The standard Windows print dialogue boxes are then employed to perform the printing task. +\par +\par \{button ,AL(`list7',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Copying the Text Buffer to External Applications \plain\fs28 +\par \pard \plain\f0\fs20 +\par \f1 The entire contents or a portion of the currently displayed text results file can be copied and pasted into other external applications via the right mouse button functionality. +\par +\par To copy the entire text results file from the viewer, with the viewer open and the required file loaded, click on the viewer with the right mouse button and chose \i Select \ul A\plain\i\fs20 ll\plain\fs20 . This will highlight the entire file and now when clicking on the viewer with the right mouse button the \i\ul C\plain\i\fs20 opy\plain\fs20 option is available, select copy. The file is now held in the copy/paste buffer and changing to the target application the buffer can be \i Pasted\plain\fs20 in using the appropriate application specific commands. +\par \pard +\par To copy a portion of a text results file from the viewer, with the viewer open and the required file loaded, click on the viewer with the left mouse button highlight via a click and drag the required portion of the file. Then clicking on the viewer with the right mouse button select the \i\ul C\plain\i\fs20 opy\plain\fs20 option. The highlighted text is now held in the copy/paste buffer and changing to the target application the buffer can be \i Pasted\plain\fs20 in using the appropriate application specific commands. +\par \pard +\par Typical external windows applications that this works with are Word, PowerPoint, Exchange and Notepad. +\par +\par \{button ,AL(`list7',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Text Results File Data Contents +\par \pard \plain\f0\fs20 +\par \f1 The text results files contain a copy of the major data items and a summary of the results that are applicable to both the solution run and the data options selected. +\par +\par The input data sections summarised within the text results file mimic those of the Lotus Vehicle Simulation data modules, i.e. +\par \pard\tx355 \tab \ul \b\ul Vehicle\plain\b\fs20 +\par \tab Dynamometer\plain\b\fs20 +\par \tab Tyre\plain\b\fs20 +\par \tab Driveline\plain\b\fs20 +\par \tab Gearbox ( + Driver)\plain\b\fs20 +\par \tab Engine\plain\b\fs20 +\par \tab Hybrid\plain\b\fs20 +\par +\par \plain\fs20 Depending on the solution type selected, one of the following results sections will be present, +\par \tab \ul \b\ul Steady speed simulation, (user defined gear and speed)\plain\b\fs20 +\par \tab Steady speed simulation, (user defined shift map and speed)\plain\b\fs20 +\par \tab Vehicle acceleration from rest, (slip start)\plain\b\fs20 +\par \plain\b\fs20 \tab Vehicle acceleration from rest, (idle start)\plain\b\fs20 +\par \pard\tx355 \tab In gear acceleration\plain\b\fs20 +\par \tab User defined acceleration\plain\b\fs20 +\par \tab Emissions cycle simulation\plain\b\fs20 \plain\fs20 (where \plain\f0\fs20 \'91\f1 emissions cycle\plain\f0\fs20 \'92\f1 is the name of the cycle) +\par \tab \ul \b\ul Circuit track simulation\plain\b\fs20 \plain\fs20 (where \plain\f0\fs20 \'91\f1 circuit\plain\f0\fs20 \'92\f1 is the name of the track)\b \tab \f4 +\par \plain\fs20 +\par \{button ,AL(`list7',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up #} +\pard \f1\b Current text results file\plain\fs20 +\par This is the *.crs file created for the last solution run performed. This setting is lost when the application is closed. Thus on initially opening the application no file is deemed to be \i Current\plain\fs20 . \page +{\up #} +\pard \b Vehicle Data in Text Results File- \plain\fs20 +\par \pard\tx355 \tab Weight (kg)\tab \tab \tab \tab +\par \tab Frontal Area (m2) +\par \tab Plan Area (m2) +\par \tab Air Density (kg/m3) +\par \tab Drag Coefficient +\par \tab Front Lift Coefficient +\par \tab Rear Lift Coefficient +\par \tab Wheelbase (m) +\par \tab Track (m) +\par \tab C of G to Front Axle (m) +\par \tab C of G to Ground (m) +\par \page +{\up #} +\pard\tx355 \b Dynamometer Data in Text Results File- \plain\fs20 +\par \tab Dyno Inertia Weight (kg)\tab \tab \tab +\par \tab Load A Constant +\par \tab Load B x Velocity Constant +\par \tab load C x Velocity2 Constant\tab \page +{\up #} +\pard\tx355 \b Tyre Data in Text Results File- \plain\fs20 +\par \tab Rolling Radius (m)\tab \tab \tab +\par \tab Coefficient of Friction +\par \tab Source of Rolling Resistance Coefficients, (default or user defined) +\par \page +{\up #} +\pard\tx355 \b Driveline Data in Text Results File- \plain\fs20 +\par \tab Drive Type (Front, Rear, 4wd)\tab \tab +\par \tab Total Inertia of Front wheels (kg.m2) +\par \tab Total Inertia of Rear wheels (kg.m2) +\par \tab Driven Axle Inertia (kg.m2) +\par \tab Prop Shaft Inertia (kg.m2) +\par \tab Final Drive Ratio +\par \tab Final Drive Efficiency +\par \page +{\up #} +\pard\tx355 \b Gearbox Data in Text Results File- \plain\fs20 +\par \tab Manual or Automatic\tab \tab \tab +\par \tab Number of Ratios +\par \tab Gear Change Time (s) +\par \tab Minimum Time Between Shifts (s) +\par \tab Maximum Gearbox Torque (Nm) +\par \tab Maximum Gearbox Speed (Nm) +\par \tab Gear Ratios +\par \tab Gear Efficiency +\par \tab Gear Inertia (kg.m2) +\par \tab Overall Ratio +\par \tab Overall Efficiency +\par \tab MPH/1000 rpm +\par \tab Torque Converter Stall Speed (rpm) +\par \tab or Vehicle De-clutch Speed (kmh) +\par \page +{\up #} +\pard\tx355 \b Engine Data in Text Results File- \plain\fs20 +\par \tab Engine type\tab \tab \tab \tab +\par \tab Number of Cylinders +\par \tab Cycle Type +\par \tab Bore (mm) +\par \tab Stroke (mm) +\par \tab Swept Volume (l) +\par \tab Rotating Inertia (kg.m2) +\par \tab Idle Speed (rpm) +\par \tab Maximum Engine Speed (rpm) +\par \tab Maximum Power (kW) +\par \tab Maximum Power Speed (rpm) +\par \tab Maximum Torque (Nm) +\par \tab Maximum Torque Speed (rpm) +\par \tab Primary Drive Ratio +\par \tab Primary Drive Efficiency +\par \tab Auxiliaries Present +\par \tab Power / Weight Ratio +\par \page +{\up #} +\pard\tx355 \b Hybrid Data in Text Results File- \plain\fs20 +\par \tab Drive Position\tab \tab \tab \tab +\par \tab Maximum Store Capacity (kw.h) +\par \tab Minimum Store Capacity (kw.h) +\par \tab Maximum Input Rate (Nm) +\par \tab Input Efficiency +\par \tab Maximum Output Rate (Nm) +\par \tab Output Efficiency +\par \tab Starting Capacity (kw.h) +\par \tab Idle Store Option on / off +\par \page +{\up #} +\pard\tx355 \b Results in Text Results File for Steady Speed in Defined Gear \plain\fs20 +\par \tab Road Speed (mph or km/h)\tab \tab +\par \tab Total Cycle Time (s) +\par \tab Distance Travelled (nominal) (m) +\par \tab Distance Travelled (nominal) (km) +\par \tab Distance Travelled (nominal) (miles) +\par \tab Mean Power Developed (kW) +\par \tab Shift Map Used +\par \tab No of Gear Changes +\par \tab User Defined Gear No +\par \tab \ul If Fuel Map Defined\plain\fs20 +\par \tab \ul If Emissions Map Defined\plain\fs20 , (for each emissions map) +\par \tab \ul If Hybrid Defined\plain\fs20 +\par \page +{\up #} +\pard\tx355 \b Results in Text Results File for Steady Speed with User Defined Shift Map \plain\fs20 +\par \tab Road Speed (mph or km/h)\tab \tab +\par \tab Total Cycle Time (s) +\par \tab Distance Travelled (nominal) (m) +\par \tab Distance Travelled (nominal) (km) +\par \tab Distance Travelled (nominal) (miles) +\par \tab Mean Power Developed (kW) +\par \tab Shift Map Used +\par \tab No of Gear Changes +\par \tab User Defined Gear No +\par \tab \ul If Fuel Map Defined\plain\fs20 +\par \tab \ul If Emissions Map Defined\plain\fs20 , (for each emissions map) +\par \tab \ul If Hybrid Defined\plain\fs20 +\par \page +{\up #} +\pard\tx355 \b Results in Text Results File for Vehicle Acceleration from Rest (Slip Start)\plain\fs20 +\par \tab Total Cycle Time (s)\tab \tab \tab +\par \tab Distance Travelled (nominal) (m) +\par \tab Distance Travelled (nominal) (km) +\par \tab Distance Travelled (nominal) (miles) +\par \tab Mean Power Developed (kW) +\par \tab Shift Map Used +\par \tab No of Gear Changes +\par \tab Time to Speeds, 0 \plain\f0\fs20 \'96\f1 MPH, Time (s). Ratio:1 RPM +\par \tab Time to Speeds, 0 \plain\f0\fs20 \'96\f1 KMH, Time (s), Ratio:1, RPM +\par \tab Time to Distance, 400M \'bc Mile, Kilometre, Mile +\par \tab \tab Time (s), Ratio:1, RPM, MPH, KMH +\par \pard\tx355 \tab Distance in Time, In 3.0 (s), In 5.0 (s) +\par \tab Gear Change Points, +\par \tab \tab Distance (m), Time (s), Ratio:1, RPM, MPH, KMH +\par \tab \ul If Fuel Map Defined\plain\fs20 +\par \tab \ul If Emissions Map Defined\plain\fs20 , (for each emissions map) +\par \tab \ul If Hybrid Defined\plain\fs20 +\par \page +{\up #} +\pard\tx355 \b Results in Text Results File for Vehicle Acceleration from Rest (Idle Start)\plain\fs20 +\par \tab Total Cycle Time (s)\tab \tab \tab +\par \tab Distance Travelled (nominal) (m) +\par \tab Distance Travelled (nominal) (km) +\par \tab Distance Travelled (nominal) (miles) +\par \tab Mean Power Developed (kW) +\par \tab Shift Map Used +\par \tab No of Gear Changes +\par \tab Time to Speeds, 0 \plain\f0\fs20 \'96\f1 MPH, Time (s). Ratio:1 RPM +\par \tab Time to Speeds, 0 \plain\f0\fs20 \'96\f1 KMH, Time (s), Ratio:1, RPM +\par \tab Time to Distance, 400M \'bc Mile, Kilometre, Mile +\par \tab \tab Time (s), Ratio:1, RPM, MPH, KMH +\par \pard\tx355 \tab Distance in Time, In 3.0 (s), In 5.0 (s) +\par \tab Gear Change Points, +\par \tab \tab Distance (m), Time (s), Ratio:1, RPM, MPH, KMH +\par \tab \ul If Fuel Map Defined\plain\fs20 +\par \tab \ul If Emissions Map Defined\plain\fs20 , (for each emissions map) +\par \tab \ul If Hybrid Defined\plain\fs20 +\par \page +{\up #} +\pard\tx355 \b Results in Text Results File for In Gear Acceleration\plain\fs20 +\par \tab User Defined Gear No\tab \tab \tab +\par \tab Total Cycle Time (s) +\par \tab Distance Travelled (nominal) (m) +\par \tab Distance Travelled (nominal) (km) +\par \tab Distance Travelled (nominal) (miles) +\par \tab Mean Power Developed (kW) +\par \tab Shift Map Used +\par \tab No of Gear Changes +\par \tab Incremental Acceleration Times, MPH \plain\f0\fs20 \'96\f1 MPH, Time (s) +\par \tab Incremental Acceleration Times, KMH \plain\f0\fs20 \'96\f1 KMH, Time (s) +\par \tab \ul If Fuel Map Defined\plain\fs20 +\par \tab \ul If Emissions Map Defined\plain\fs20 , (for each emissions map) +\par \pard\tx355 \tab \ul If Hybrid Defined\plain\fs20 +\par \page +{\up #} +\pard\tx355 \b Results in Text Results File for User Defined Acceleration \plain\fs20 +\par \tab Total Cycle Time (s)\tab \tab \tab +\par \tab Distance Travelled (nominal) (m) +\par \tab Distance Travelled (nominal) (km) +\par \tab Distance Travelled (nominal) (miles) +\par \tab Mean Power Developed (kW) +\par \tab Shift Map Used +\par \tab No of Gear Changes +\par \tab Incremental Acceleration Times, MPH \plain\f0\fs20 \'96\f1 MPH, Time (s) +\par \tab Incremental Acceleration Times, KMH \plain\f0\fs20 \'96\f1 KMH, Time (s) +\par \tab \ul If Fuel Map Defined\plain\fs20 +\par \tab \ul If Emissions Map Defined\plain\fs20 , (for each emissions map) +\par \pard\tx355 \tab \ul If Hybrid Defined\plain\fs20 +\par \page +{\up #} +\pard\tx355 \b Results in Text Results File for Emissions Test\plain\fs20 +\par \tab Emissions Test Name\tab \tab \tab +\par \tab Total Cycle Time (s) +\par \tab Distance Travelled (nominal) (m) +\par \tab Distance Travelled (actual) (m) +\par \tab Distance Travelled (nominal) (km) +\par \tab Distance Travelled (actual) (km) +\par \tab Distance Travelled (nominal) (miles) +\par \tab Distance Travelled (actual) (miles) +\par \tab Mean Power Developed (kW) +\par \tab Shift Map Used +\par \tab No of Gear Changes +\par \tab \ul If Fuel Map Defined\plain\fs20 +\par \tab \ul If Emissions Map Defined\plain\fs20 , (for each emissions map) +\par \pard\tx355 \tab \ul If Hybrid Defined\plain\fs20 +\par \page +{\up #} +\pard\tx355 \b Results in Text Results File for Track Test\plain\fs20 +\par \tab Track Name\tab \tab \tab \tab +\par \tab Total Cycle Time (s) +\par \tab Distance Travelled (nominal) (m) +\par \tab Distance Travelled (nominal) (km) +\par \tab Distance Travelled (nominal) (miles) +\par \tab Mean Power Developed (kW) +\par \tab Shift Map Used +\par \tab No of Gear Changes +\par \tab \ul If Fuel Map Defined\plain\fs20 +\par \tab \ul If Emissions Map Defined\plain\fs20 , (for each emissions map) +\par \tab \ul If Hybrid Defined\plain\fs20 +\par \page +{\up #} +\pard\tx355 \b Fuel Consumption Results in Text Results File- \plain\fs20 +\par \tab Fuel Consumption Map No.\tab \tab +\par \tab Fuel Consumption in; +\par \tab \tab Litres per 100 km +\par \tab \tab Km per Litre +\par \pard\fi715\tx355 \tab Miles per Imperial Gallon +\par \pard\tx355 \tab \tab Miles per US Gallon +\par \tab \tab Grams per Test +\par \tab \tab Grams per KM +\par \tab \tab Grams per Mile +\par \tab Mean Consumption (g/h) +\par \tab Mean Specific Consumption (g/kw.h) +\par \tab Overall Cycle Efficiency (%) +\par \page +{\up #} +\pard\tx355 \b Emissions Results in Text Results File- \plain\fs20 +\par \tab Emissions Map No.\tab \tab \tab +\par \tab Emissions in; +\par \tab \tab Grams per Test +\par \tab \tab Grams per KM +\par \tab \tab Grams per Mile +\par \tab Mean Consumption (g/h) +\par \tab Mean Specific Consumption (g/kw.h) +\par +\par \tab Also Given for Post Catalyst +\par \page +{\up #} +\pard\tx355 \b Hybrid Results in Text Results File- \plain\fs20 +\par \tab Energy at Start (kw.h)\tab \tab \tab +\par \tab Energy at End (kw.h) +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Results Graph Viewer +\par \pard \fs20 Overview +\par \plain\fs20 +\par The \i Result Graph Viewer\plain\fs20 is a resizable graphics window that allows the user to load, plot and print the Lotus Vehicle Simulation graphical results files that contain up to 77 calculated variables. Within the window a maximum of four graphs can be plotted, either as individual plots or overlayed on a single graph. All graphs are plotted against a single common x-axis variable. Cross plotting of up to five graphical results can be employed to enable rapid presentation of trends and differences to be performed. +\par \pard +\par Graphical results files have the form \plain\f0\fs20 \'91\f1 *_n.grs\plain\f0\fs20 \'92\f1 here; n is the \i Plot File Counter\plain\fs20 number which is incremented for each calculation, and the \plain\f0\fs20 \'91\f1 *\plain\f0\fs20 \'92\f1 is the \i Test No.\plain\fs20 string supplied by the user, both are displayed in the vehicle data window. +\par +\par Because results files have an incremental counter they are not over written and thus can be re-read at any time. +\par +\par When a Lotus Vehicle Simulation solution is performed the results files are automatically written but they are not loaded into the viewer. If the user requires to view the graphical results the graph viewer must be opened and the appropriate graph results file loaded. These can be loaded as \plain\f0\fs20 \'91\f1 exclusive\plain\f0\fs20 \'92\f1 (i.e. the only results file), or into a selected position, from 1 to 5, within the cross plot status. +\par \pard +\par A specific file can be loaded through the \i Load Results (exclusive), \plain\fs20 the \i Load Results (shuffle) \plain\fs20 or the \i Load Results (position) \plain\fs20 commands that use the conventional file browser dialogue box, alternatively if the results of the latest run are required, a specific command allow the current results to be loaded directly without requiring the file browser. +\par +\par All currently displayed graphs can be printed directly from the viewer window menu options, using the standard Windows printer dialogue boxes, whilst the data values can also be saved into an ASCII column file using the \uldb Column Write Wizard\plain\fs20 . +\par \pard +\par The axis settings for the graphs can be set individually by the user, or the autoscale and zoom functions used to define the graph settings. +\par +\par The appearance of fonts, colours linetypes etc within the plot can be modified by the user using the \uldb \plain\f0\uldb\fs20 \'91 set-up\'92\plain\f0\fs20 \f1\uldb option. +\par +\par Apart from the graph viewer window, control of the graphs and their display uses three other set-up windows, namely the \i Specify Graph\plain\i\fs20 \uldb \plain\uldb\fs20 window to define the axes variables, the \i Axis Scales\plain\i\fs20 \uldb \plain\uldb\fs20 window to set the axis minimum and maximum values and finally, the \i Cross Plot Status\plain\i\fs20 \plain\uldb\fs20 window to control the varies files used within a cross plot. +\par \pard +\par \{button ,AL(`list8',0,"",`main')\} Related Topics\plain\fs20 \uldb +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \plain\b\fs28 Opening the Results Graph Viewer +\par \pard \plain\f0\fs20 +\par \f1 To open the results graph viewer, select the menu item \ul Results\plain\i\fs20 / \plain\ul\fs20 Results Graph\plain\fs20 from the main menubar. Alternatively the \ul Results Graph Viewer Icon\plain\fs20 can be selected from either the top toolbar or the side panel, depending on the data module set-up. +\par +\par When the viewer is open the icon remains indented and the pull down menu item is \plain\f0\fs20 \'91\f1 ticked\plain\f0\fs20 \'92\f1 . +\par +\par On initially opening the viewer no graphical results are displayed, these must be loaded into the display, see \uldb Loading a graphical results file\plain\fs20 and \uldb Loading the current graphical results file\plain\fs20 . +\par \pard +\par \{button ,AL(`list8',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Closing the Results Graph Viewer +\par \pard \plain\f0\fs20 +\par \f1 To close the results graph viewer select either the menu item \ul Results\plain\fs20 / \ul Results Graph\plain\fs20 from the main menubar, the \plain\f0\fs20 \'91\f1 close\plain\f0\fs20 \'92\f1 icon at the top right corner of the viewer, the results graph viewer window menu at the top left or alternatively the \ul Results Graph Viewer Icon\plain\fs20 can be un-selected from either the top toolbar or the side panel, depending on the data module set-up. +\par +\par Closing the results graph viewer does not lose the display contents or setting. Upon re-opening the graph viewer the original graphs and set-up is retained. +\par \pard +\par \{button ,AL(`list8',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Loading a Graphical Results File +\par \pard \plain\f0\fs20 +\par \f1 To load a graphical results file into the results graph viewer, with the graph viewer open select from the graph viewer menubar either, \ul File / Load Results (exclusive)\plain\fs20 , \ul File / Load Results (shuffle)\plain\fs20 , or \ul File / Load Results (position 1 -5)\plain\fs20 . (note that results can also be loaded in as \plain\f0\fs20 \'91\f1 current\plain\f0\fs20 \'92\f1 when appropriate, or through the \uldb \i Cross Plot Status\plain\i\fs20 \plain\fs20 window). +\par +\par All three menu options will then proceed to display the standard file browser through which the required file may be selected, however depending on which load menu item was chosen the files data will be loaded into a different \plain\f0\fs20 \'91\f1 cross plot\plain\f0\fs20 \'92\f1 position. +\par \pard +\par Up to five results file can be held by the graph viewer at any one time, and they are stored in positions 1 to 5. +\par +\par \plain\f0\fs20 \'91\f1\i Load Results (exclusive) \plain\fs20 will load the selected file into position 1, overwriting any values previously stored in position 1 and removing any data from the other positions 2 to 5. +\par +\par \plain\f0\fs20 \'91\f1\i Load Results (shuffle) \plain\fs20 will load the selected file into position 1, shuffling down one position any files currently held in positions 1 to 4. Any data held in position 5 is lost by this shuffling process. +\par \pard +\par \plain\f0\fs20 \'91\f1\i Load Results (position) \plain\fs20 will load the selected file into the chosen position, overwriting any values currently held in that position. All other positions remain unaltered. +\par +\par \{button ,AL(`list8',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Loading the Current Graphical Results File +\par \pard \plain\f0\fs20 +\par \f1 To load the current graphical results file into the results graph viewer, with the graph viewer open select from the graph viewer menubar either, \ul File / Load Current (exclusive)\plain\fs20 , \ul File / Load Current (shuffle)\plain\fs20 , or \ul File / Load Current (position 1 -5)\plain\fs20 . If these menu options are \plain\f0\fs20 \'91\f1 greyed\plain\f0\fs20 \'92\f1 out it means that no solution has been run since the application was opened. +\par +\par All three menu options will then proceed to load the current graphical results file data, however depending on which \i load current\plain\fs20 menu item was chosen the files data will be loaded into a different \plain\f0\fs20 \'91\f1 cross plot\plain\f0\fs20 \'92\f1 position. +\par \pard +\par Up to five results file can be held by the graph viewer at any one time, and they are stored in positions 1 to 5. +\par +\par \plain\f0\fs20 \'91\f1\i Load Current (exclusive) \plain\fs20 will load the current file into position 1, overwriting any values previously stored in position 1 and removing any data from the other positions 2 to 5. +\par +\par \plain\f0\fs20 \'91\f1\i Load Current (shuffle) \plain\fs20 will load the current file into position 1, shuffling down one position any files currently held in positions 1 to 4. Any data held in position 5 is lost by this shuffling process. +\par \pard +\par \plain\f0\fs20 \'91\f1\i Load Current (position) \plain\fs20 will load the current file into the chosen position, overwriting any values currently held in that position. All other positions remain unaltered. +\par +\par \{button ,AL(`list8',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Specifying the Graph Axes in the Results Graphs +\par \pard \plain\f0\fs20 +\par \f1 The \plain\f0\fs20 \'91\f1 Specify Graph\plain\f0\fs20 \'92\f1 dialogue box enables the user to select the required common x-axis and up to 4 different y-axis from the 77 results variables. In addition this dialogue box also contains \plain\f0\fs20 \'91\f1 buttons\plain\f0\fs20 \'92\f1 to switch individual y-axes \plain\f0\fs20 \'91\f1 on\plain\f0\fs20 \'92\f1 and \plain\f0\fs20 \'91\f1 off\plain\f0\fs20 \'92\f1 , switch \plain\f0\fs20 \'91\f1 in\plain\f0\fs20 \'92\f1 and \plain\f0\fs20 \'91\f1 out\plain\f0\fs20 \'92\f1 of overlay mode, \plain\f0\fs20 \'91\f1 autoscale\plain\f0\fs20 \'92\f1 the plots and \plain\f0\fs20 \'91\f1 refresh\plain\f0\fs20 \'92\f1 the displayed graphs. +\par \pard +\par To open the \plain\f0\fs20 \'91\f1 Specify Graph\plain\f0\fs20 \'92\f1 dialogue box select the menu item \ul Results\plain\fs20 / \ul Specify Graph\plain\fs20 from the main menubar. alternatively the \ul Specify Graph Icon\plain\fs20 can be selected from either the top toolbar or the side panel, depending on the data module set-up. +\par +\par The dialogue box contains four switches to set individual y-axes as either \plain\f0\fs20 \'91\f1 on\plain\f0\fs20 \'92\f1 or \plain\f0\fs20 \'91\f1 off\plain\f0\fs20 \'92\'92\f1 , this buttons cannot be set to \plain\f0\fs20 \'91\f1 on\plain\f0\fs20 \'92\f1 until a variable has been selected from the adjacent list box. +\par \pard +\par Each axis has its own list box that the user can select the required axis variable from, these currently list 77 different calculated variables, from \plain\f0\fs20 \'91\f1 Time\plain\f0\fs20 \'92\f1 through to \plain\f0\fs20 \'91\f1 Post Cat CO Emissions\plain\f0\fs20 \'92\f1 . +\par +\par \{button ,AL(`list8',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Specifying the Axis Scales in the Results Graphs +\par \pard \plain\f0\fs20 +\par \f1 The \plain\f0\fs20 \'91\f1 Axis Scales\plain\f0\fs20 \'92\f1 dialogue box enables the user to control the required minimum and maximum axis values for each individual graph, (with the restriction of a common x-axis), the No. of increments on each axis and the No. of decimal points used both on the axes and used for the list facility. In addition this dialogue box also contains \plain\f0\fs20 \'91\f1 buttons\plain\f0\fs20 \'92\f1 to \plain\f0\fs20 \'91\f1 autoscale\plain\f0\fs20 \'92\f1 the plots and \plain\f0\fs20 \'91\f1 refresh\plain\f0\fs20 \'92\f1 the displayed graphs. +\par \pard +\par To open the \plain\f0\fs20 \'91\f1 Axis Scales\plain\f0\fs20 \'92\f1 dialogue box select the menu item \ul Results\plain\fs20 / \ul Axis Scales\plain\fs20 from the main menubar. alternatively the \ul Axis Scales Icon\plain\fs20 can be selected from either the top toolbar or the side panel, depending on the data module set-up. +\par +\par The dialogue box contains value entries for the minimum, maximum and increments for each axis, the user should set these to the required values. The \plain\f0\fs20 \'91\f1 zoom\plain\f0\fs20 \'92\f1 and \plain\f0\fs20 \'91\f1 autoscale\plain\f0\fs20 \'92\f1 functions will re-set these values as required. +\par \pard +\par The No. of decimal places for each y-axis can also be defined this controls the number used not just on the graph axes but also the number of decimal places given when \uldb listing values.\plain\fs20 +\par +\par The \plain\f0\fs20 \'91\f1 force fit\plain\f0\fs20 \'92\f1 toggles can be used to overide the internal routines that attempt to round up the minimum and maximum axis to achieve a \plain\f0\fs20 \'91\f1 better\plain\f0\fs20 \'92\f1 scale, such that when \plain\f0\fs20 \'91\f1 ticked\plain\f0\fs20 \'92\f1 the axis will be set exactly as defined by the minimum/maximum/increments values, (this effectively already happens when a plot is zoomed with the exception of the no of increments). +\par \pard +\par \{button ,AL(`list8',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Using Zoom in the Results Graphs +\par \pard \plain\f0\fs20 +\par \f1 The zoom a graph, with the graph results viewer open and the required graph displayed, select from the graph results viewer menubar the menu item \ul View / Zoom\plain\fs20 . The cursor will change to a full screen cross-hair, then with the mouse select one corner of the required area with the left mouse button, then drag the rubber band box and select the other corner, again with the left mouse button. The display is then redrawn showing the selected area. Using the right mouse button for either of the selections cancels the zoom action. +\par \pard +\par If multiple y-axis graphs are displayed then the zoom function can be used in two different ways. Since the x-axis is common between the graphs setting the x-axis on one graph will also effect the other open graphs. In addition if the cursor picks are on both on the one graph that graphs y-axis values will be changed to reflect the zoom area picked. If the two cursor picks are on different graphs the y-axis values are ignored and only the x-axis is \plain\f0\fs20 \'91\f1 zoomed\plain\f0\fs20 \'92\f1 . +\par \pard +\par \{button ,AL(`list8',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Autoscaling the Results Graphs +\par \pard \plain\f0\fs20 +\par \f1 To autoscale the displayed graphs select the \plain\f0\fs20 \'91\f1 Autoscale\plain\f0\fs20 \'92\f1 option from one of the following dialogue boxes or window menus. +\par \pard\tx355 \tab \tab The \uldb \i Specify Graph\plain\i\fs20 \plain\fs20 dialogue box +\par \tab \tab The \uldb \i Axis Scales\plain\i\fs20 \plain\fs20 dialogue box +\par \tab \tab The \uldb \i Cross Plot Status\plain\i\fs20 \plain\fs20 dialogue box +\par \tab and the \i Results Graph\plain\fs20 window menubar +\par +\par This will autoscale all the displayed graphs and refresh the display. +\par +\par \pard\tx355 \{button ,AL(`list8',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Controlling the Cross Plot Status in the Results Graphs +\par \pard \plain\f0\fs20 +\par \f1 Within the results graph viewer up to five different files can be displayed at any one time. These files could have been loaded through the \uldb graph viewer window menu\plain\fs20 , or they can be loaded into specific positions using the \i Cross Plot Status\plain\fs20 dialogue box. +\par +\par To open the \plain\f0\fs20 \'91\f1 Cross Plot Status\plain\f0\fs20 \'92\f1 dialogue box select the menu item \ul Results\plain\fs20 / \ul Cross Plot Status\plain\fs20 from the main menubar. alternatively the \ul Cross Plot Status Icon\plain\fs20 can be selected from either the top toolbar or the side panel, depending on the data module set-up. +\par \pard +\par The cross plot status dialogue box shows the current files names loaded into the five positions. A blank entry implies no file is currently loaded. The \ul file browser icon\plain\fs20 adjacent to each text box can be used to open the Windows file browser to locate and load the required \plain\f0\fs20 \'91\f1 *.grs\plain\f0\fs20 \'92\f1 file. +\par +\par Currently the required filename cannot be typed directly into the text entry, but must be loaded through one of the methods identified. +\par +\par The visibility of individual cross plot files is controlled by the buttons to the left of the text entries in the cross plot status dialogue box. +\par \pard +\par Within the graphs the lines from each cross plot have a specific colour, the default colours are defined as; +\par \pard\li715\fi715 Position 1: \cf1 Red\plain\fs20 +\par \pard\tx355 \tab \tab Position 2: \cf4 Yellow\plain\fs20 +\par \tab \tab Position 3: \cf2 Green\plain\fs20 +\par \tab \tab Position 4: \cf5 Cyan\plain\fs20 +\par \tab \tab Position 5: \cf3 Blue\plain\fs20 +\par +\par These settings can be re-defined by the user through the \uldb results graph set-up\plain\fs20 . +\par +\par The cross plot status dialogue box also contains autoscale and refresh buttons. +\par +\par \pard\tx355 \{button ,AL(`list8',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Listing Points on the Results Graphs +\par \pard \plain\f0\fs20 +\par \f1 To list the x and y value of a point displayed on a graph, with the graph results viewer open and the required graph displayed, select from the graph results viewer window menubar the \ul View / List Point\plain\fs20 menu option. The cursor will change to a full screen cross-hair and the user can then pick the point of interest from the graphs using the left mouse button. +\par +\par The actual x and y values of the nearest point to the picked screens x-position is listed at the bottom of the window for all open graphs. If more than one line is cross plotted only the values for the line in the first active position are given. +\par \pard +\par The pick function remains active such that the user can continue to pick alternative points, the values for each pick overwriting the previous ones. +\par +\par To cancel the pick action use the right mouse button +\par +\par To change the Number of decimal places that are given on a list use the \uldb \i Axis Scales\plain\i\fs20 \plain\fs20 dialogue box to set the required accuracy. +\par +\par \{button ,AL(`list8',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Listing Lines on the Results Graphs +\par \pard \plain\f0\fs20 +\par \f1 To list the x and y values of a line displayed on a graph, with the graph results viewer open and the required graph displayed, select from the graph results viewer window menubar the \ul View / List Line(s)\plain\fs20 menu option. This will open a scrollable text window that displays the x and y values for the current graph line and position. +\par +\par The currently displayed line or position can be changed by selecting from the line list menu bar the required graph and/or the required position. +\par \pard +\par If no data exists for the selected graph line or position this is indicated on the display. +\par +\par The displayed list can be \plain\f0\fs20 \'91\f1 cut\plain\f0\fs20 \'92\f1 and \plain\f0\fs20 \'91\f1 pasted\plain\f0\fs20 \'92\f1 using the right mouse button functionality. +\par +\par This window must be \plain\f0\fs20 \'91\f1 closed\plain\f0\fs20 \'92\f1 before you can return to the main application. +\par +\par \{button ,AL(`list8',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Using Overlay on Results Graphs +\par \pard \plain\f0\fs20 +\par \f1 The default display method for a graph display with multiple y-axis, is that each will have its own separate graph within the viewer. These can be overlayed such that they share a common single graph. +\par +\par To switch between \plain\f0\fs20 \'91\f1 separate\plain\f0\fs20 \'92\f1 and \plain\f0\fs20 \'91\f1 overlay\plain\f0\fs20 \'92\f1 modes use the \i Overlay \plain\fs20 switch on the \uldb Specify Graph\plain\fs20 dialogue box. +\par +\par \{button ,AL(`list8',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Printing Results Graphs +\par \pard \plain\f0\fs20 +\par \f1 To print the displayed graphs, with graph results viewer open and the required graphs displayed, select the \ul View / Print Graph\plain\fs20 option from the graph viewer window menubar. +\par +\par The standard Windows print dialogue boxes are then employed to perform the printing task. +\par +\par \{button ,AL(`list8',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Results 3D Viewer +\par \pard \plain\f0\fs20 +\par \f1\b Overview +\par \plain\fs20 +\par The \i Results 3D Viewer\plain\fs20 provides a 3d visualisation tool that animates the results of a vehicle simulation. It is primarily intended for track simulations, but will also animate any of the other simulation types. +\par +\par The 3d view of the track from the drivers perspective, animates the vehicles progress around the track, with \plain\f0\fs20 \'91\f1 head-up\plain\f0\fs20 \'92\f1 type displays showing vehicle accelerations, vehicle speed and the current position of the vehicle on the circuit. Engine speed is also displayed in a similar manner, as can the current gear. +\par \pard +\par The user can \plain\f0\fs20 \'91\f1 stop\plain\f0\fs20 \'92\f1 , \plain\f0\fs20 \'91\f1 play\plain\f0\fs20 \'92\f1 , \plain\f0\fs20 \'91\f1 scan\plain\f0\fs20 \'92\f1 , \plain\f0\fs20 \'91\f1 ffwd\plain\f0\fs20 \'92\f1 and \plain\f0\fs20 \'91\f1 step\plain\f0\fs20 \'92\f1 the animation through the simulation sequence to view the results at the required time and pace. +\par +\par A facility exists to copy the contents of the display to the clipboard, and hence available for inclusion as an image in to many \plain\f0\fs20 \'91\f1 standard\plain\f0\fs20 \'92\f1 windows packages. +\par +\par \{button ,AL(`list15',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Opening the Results 3D Viewer +\par \pard \plain\f0\fs20 +\par \f1 To open the results 3d viewer, select the menu item \ul Results\plain\i\fs20 / \plain\ul\fs20 3d Viewer\plain\fs20 from the main menubar. Alternatively the \ul Results 3d Viewer Icon\plain\fs20 can be selected from either the top toolbar or the side panel, depending on the data module set-up. +\par +\par When the viewer is open the icon remains indented and the pull down menu item is \plain\f0\fs20 \'91\f1 ticked\plain\f0\fs20 \'92\f1 . +\par +\par On initially opening the viewer no picture is displayed unless data has already been loaded into the results graph viewer. +\par \pard +\par The results graph viewer and the 3d viewer share the same results files, thus any file loaded via one of them is automatically available to the other. +\par +\par To load additonal results file into the display, see \uldb Loading a 3d graphical results file\plain\fs20 and \uldb Loading the current 3d graphical results file\plain\fs20 . +\par +\par The current results files are identified in the \uldb Cross plot status\plain\fs20 dialog box. The 3D viewer can only display one results file at a time, the particular \ul position\plain\fs20 being displayed is indicated at the lower left of the 3d viewer screen. The results file position used for the 3d viewer is controlled by the cross plot status dialog box, the displayed file being the first one in the list (1 - 5 ), which is both \plain\f0\fs20 \'91\f1 on\plain\f0\fs20 \'92\f1 and has data associated with it. +\par \pard +\par \{button ,AL(`list15',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Closing the Results 3D Viewer +\par \pard \plain\f0\fs20 +\par \f1 To close the results graph viewer select either the menu item \ul Results\plain\fs20 / \ul 3D viewer\plain\fs20 from the main menubar, the \plain\f0\fs20 \'91\f1 close\plain\f0\fs20 \'92\f1 icon at the top right corner of the viewer, the 3d viewer window menu at the top left or alternatively the \ul Results 3D Viewer Icon\plain\fs20 can be un-selected from either the top toolbar or the side panel, depending on the data module set-up. +\par +\par Closing the results 3d viewer does not lose the display contents or setting. Upon re-opening the 3d viewer the original display and set-up is retained, although the time step displayed will have been re-set to zero. +\par \pard +\par \{button ,AL(`list15',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Loading a 3D Graphical Results File +\par \pard \plain\f0\fs20 +\par \f1 To load a 3d graphical results file into the results 3d viewer, with the 3d viewer open select from the 3d viewer menubar either, \ul File / Load Results (exclusive)\plain\fs20 , \ul File / Load Results (shuffle)\plain\fs20 , or \ul File / Load Results (position 1 -5)\plain\fs20 . (note that results can also be loaded in as \plain\f0\fs20 \'91\f1 current\plain\f0\fs20 \'92\f1 when appropriate, or through the \uldb \i Cross Plot Status\plain\i\fs20 \plain\fs20 window). +\par +\par All three menu options will then proceed to display the standard file browser through which the required file may be selected, however depending on which load menu item was chosen the files data will be loaded into a different \plain\f0\fs20 \'91\f1 cross plot\plain\f0\fs20 \'92\f1 position. +\par \pard +\par Up to five results file can be held by the 3d viewer at any one time, and they are stored in positions 1 to 5. +\par +\par \plain\f0\fs20 \'91\f1\i Load Results (exclusive) \plain\fs20 will load the selected file into position 1, overwriting any values previously stored in position 1 and removing any data from the other positions 2 to 5. +\par +\par \plain\f0\fs20 \'91\f1\i Load Results (shuffle) \plain\fs20 will load the selected file into position 1, shuffling down one position any files currently held in positions 1 to 4. Any data held in position 5 is lost by this shuffling process. +\par \pard +\par \plain\f0\fs20 \'91\f1\i Load Results (position) \plain\fs20 will load the selected file into the chosen position, overwriting any values currently held in that position. All other positions remain unaltered. +\par +\par Note; this is functionally identical to loading results for the graphical results viewer, and since both share common data, loading it a file via the 3D viewer will automatically make it available for both the 3d viewer and the results graph viewer. +\par +\par \{button ,AL(`list15',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Loading the Current 3D Graphical Results File +\par \pard \plain\f0\fs20 +\par \f1 To load the current 3d graphical results file into the results 3d viewer, with the 3d viewer open select from the 3d viewer menubar either, \ul File / Load Current (exclusive)\plain\fs20 , \ul File / Load Current (shuffle)\plain\fs20 , or \ul File / Load Current (position 1 -5)\plain\fs20 . If these menu options are \plain\f0\fs20 \'91\f1 greyed\plain\f0\fs20 \'92\f1 out it means that no solution has been run since the application was opened. +\par +\par All three menu options will then proceed to load the current graphical results file data, however depending on which \i load current\plain\fs20 menu item was chosen the files data will be loaded into a different \plain\f0\fs20 \'91\f1 cross plot\plain\f0\fs20 \'92\f1 position. +\par \pard +\par Up to five results file can be held by the 3d viewer at any one time, and they are stored in positions 1 to 5. +\par +\par \plain\f0\fs20 \'91\f1\i Load Current (exclusive) \plain\fs20 will load the current file into position 1, overwriting any values previously stored in position 1 and removing any data from the other positions 2 to 5. +\par +\par \plain\f0\fs20 \'91\f1\i Load Current (shuffle) \plain\fs20 will load the current file into position 1, shuffling down one position any files currently held in positions 1 to 4. Any data held in position 5 is lost by this shuffling process. +\par \pard +\par \plain\f0\fs20 \'91\f1\i Load Current (position) \plain\fs20 will load the current file into the chosen position, overwriting any values currently held in that position. All other positions remain unaltered. +\par +\par Note; this is functionally identical to loading results for the graphical results viewer, and since both share common data, loading it a file via the 3D viewer will automatically make it available for both the 3d viewer and the results graph viewer. +\par +\par \{button ,AL(`list15',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Setting 3D Viewer Visibility\plain\f0\b\fs28 \'92\f1 s +\par \pard\tx355 \plain\f0\fs20 +\par \f1 Individual items within the 3d viewer can be switched on and off to both clarify the display and in some cases speed up the animation sequence. +\par +\par The individual items are listed under the \ul Visibility\plain\fs20 menu option in the 3d viewer menubar. The particular items are; +\par +\par \b Time\plain\fs20 \tab \tab \tab Controls the display of the solution run time /lap time numerical display. +\par \b Distance\plain\fs20 \tab \tab Controls the display of the solution distance numerical display. +\par \b Vehicle Speed\plain\fs20 \tab \tab Controls the display of the vehicle speed dial on the \plain\f0\fs20 \'91\f1 head-up\plain\f0\fs20 \'92\f1 display. +\par \pard\tx355 \b Engine RPM\plain\fs20 \tab \tab Controls the display of the engine speed dial on the \plain\f0\fs20 \'91\f1 head-up\plain\f0\fs20 \'92\f1 display. +\par \b Gear No.\plain\fs20 \tab \tab Controls the display of the current gear graphic. +\par \plain\f0\b\fs20 \'91\f1 G\plain\f0\b\fs20 \'92\f1 Circle\plain\fs20 \tab \tab Controls the display of the display of the vehicle lateral and longitudinal acceleration diagram, shown as a \plain\f0\fs20 \'91\f1 g\plain\f0\fs20 \'92\f1 circle. +\par \b Circuit Map/ Speed\plain\fs20 \tab Controls the display of the circuit map for track runs or the vehicle speed profile for other runs. +\par \pard\tx355 \b Kerbs\plain\fs20 \tab \tab \tab Controls the visibility of the red/white corner kerbs, switching \plain\f0\fs20 \'91\f1 off\plain\f0\fs20 \'92\f1 can improve the animation speed on slower machines. +\par \b Centre Dashes\tab \tab \plain\fs20 Controls the visibility of the yellow track centre dashes, again switching \plain\f0\fs20 \'91\f1 off\plain\f0\fs20 \'92\f1 can improve animation speeds. +\par \b Corner Boards\plain\fs20 \tab \tab For track simulations the visibility of the 100m and 50m corner board graphics can be controlled. +\par +\par The visibility settings are retained when the 3d viewer is closed. They are also on a normal exit, +\par \pard\tx355 saved to the .INI file such that the settings will be the same the next time the application is run. +\par +\par \pard\tx355 \{button ,AL(`list15',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Controlling the 3D Animation +\par \pard \plain\f0\fs20 +\par \f1 The animation sequence within the 3d viewer is controlled by the five \plain\f0\fs20 \'91\f1 video\plain\f0\fs20 \'92\f1 style buttons, that allow the user to \plain\f0\fs20 \'91\f1 play\plain\f0\fs20 \'92\f1 the animation sequence at normal speed, to \plain\f0\fs20 \'91\f1 scan\plain\f0\fs20 \'92\f1 through the sequence at x3 speed and also to \plain\f0\fs20 \'91\f1 fast forward\plain\f0\fs20 \'92\f1 at x7 speed. Selecting the \plain\f0\fs20 \'91\f1 still\plain\f0\fs20 \'92\f1 button will stop the animation sequence, which will then activate the \plain\f0\fs20 \'91\f1 step\plain\f0\fs20 \'92\f1 button such that the user can view the sequence one frame at a time. +\par \pard +\par If any menu options or icons are selected outside of the 3d viewer the animation sequence will stop at the current position. The \plain\f0\fs20 \'91\f1 play\plain\f0\fs20 \'92\f1 button would then need to be re-pressed to continue the animation sequence. Note this also applies to resizing the 3d viewer. +\par +\par To restart the animation sequence from the start either close and re-open the 3d viewer then select \plain\f0\fs20 \'91\f1 play\plain\f0\fs20 \'92\f1 in the normal way, or re-select the results file from the cross plot status dialog box. +\par \pard +\par The smoothness of the animation display can be improved by avoiding the use of single large angle track sections. For example instead of using a single track section to define a 180 degree constant radius turn break it up into four or six sections. This then allows the 3d viewer the opportunity when drawing ahead the chance to draw a reduced amount of superfluous track. +\par +\par \{button ,AL(`list15',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Setting the 3D View +\par \pard\tx355 \plain\f0\fs20 +\par \f1 Some of the properties of the 3d view can be manipulated by the user, these are accessed via the \ul View / Settings\plain\fs20 menu option from the 3d viewer menubar. The dialog box contains six sliders that each control a view function. +\par +\par The individual view functions are listed below +\par +\par \b Draw ahead distance\tab \plain\fs20 This sets the track distance in front of the current position for which the track sections are drawn. \b +\par Look ahead distance\tab \plain\fs20 This defines the distance in front of the current position of the point at which the driver looks.\b +\par \pard\tx355 Zoom factor\tab \tab \plain\fs20 This defines a zoom value, which together with view radius control the feeling of height and distance \b +\par Horizon angle\tab \tab \plain\fs20 This controls the vertical horizon angle, such that the driver looks up / down.\b +\par Interrupt frequency\tab \plain\fs20 This sets the frequency at which the animation sequence is interrupted to check for any menu or widget presses. The greater the setting the smoother the animation but the slower the response to any menu selections.\b +\par \pard\tx355 View radius\plain\fs20 \tab \tab Together with zoom factor this controls the feeling of height and distance. +\par +\par The view settings are retained when the 3d viewer is closed. They are also on a normal exit, +\par saved to the .INI file such that the settings will be the same the next time the application is run. +\par +\par To reset the view settings to the default values select the \ul View / Reset\plain\fs20 menu option from the 3d viewer menubar. +\par +\par \pard\tx355 \{button ,AL(`list15',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Copying the 3D Display to the Clipboard +\par \pard \plain\f0\fs20 +\par \f1 To copy the displayed picture from the 3d viewer to the clipboard select the \ul View / Copy to Clipboard\plain\fs20 menu option from the 3d viewer menubar. The image can then be pasted from the clipboard into a number of proprietary windows applications, e.g. Powerpoint. +\par +\par \{button ,AL(`list15',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Set-up - Display Modules +\par \pard \fs20 +\par Overview\plain\f0\fs20 +\par +\par \f1 The icon toolbars on the main window can be arranged to suit the current module of interest, from either Data, Solve or Results. Changing the current displayed module will move the relevant small icons from along the top of the main window and display them in large icon buttons down the left hand side of the main screen. +\par +\par Changing the display module is purely a convenience function, it does not change the menu items available, nor is it necessary to do so to be able to proceed from data entry to solving. +\par \pard +\par \b Setting the Display Module Icons +\par +\par \plain\fs20 To change the display module select the menu item \ul Setup\plain\fs20 /\ul Module\plain\b\fs20 \plain\fs20 from the main window and chose either \ul Data,\plain\fs20 \ul Solve\plain\fs20 or \ul Results\plain\fs20 as required. The current selection being identified by the tick. +\par +\par \b Saving the Display Module +\par +\par \plain\fs20 On a normal exit from Lotus Vehicle Simulation the display module setting is saved in the Lotus Vehicle Simulation.ini file, such that on application start-up this setting will be restored.\plain\f0\fs20 +\par \page +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Set-up - Data Entry Window Mode +\par \pard \fs20 +\par Window Modes\plain\f0\fs20 +\par +\par \f1 The data entry windows can be displayed singularly, such that opening a data window will close any other currently open data window, only one being displayed at a time. The \i single\plain\fs20 window mode is is the default setting. (note that this does not include solve and results windows). Alternatively the \i multi\plain\fs20 window mode may be employed, where any number of the data entry windows can be open together. +\par +\par \b Setting the Window Mode +\par +\par \plain\fs20 To change from single window mode to multi window mode select the menu item \ul Setup\plain\fs20 /\ul Window\plain\b\fs20 \plain\fs20 from the main window and chose either \ul Multi\plain\fs20 or \ul Single\plain\fs20 as required. The current selection being identified by the tick. +\par \pard +\par \b Saving the Window Mode +\par +\par \plain\fs20 On a normal exit from Lotus Vehicle Simulation the window mode setting is saved in the Lotus Vehicle Simulation.ini file, such that on application start-up this setting will be restored. +\par \page +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Set-up - Input Data Graphs +\par \pard \fs20 +\par Input data Graphs +\par \plain\fs20 +\par The properties and appearance of the input data graphs can be set by the user through the \plain\f0\fs20 \'91\f1 set-up\plain\f0\fs20 \'92\f1 option. To open the \plain\f0\fs20 \'91\f1 set-up\plain\f0\fs20 \'92\f1 dialog box select the \plain\f0\fs20 \'91\f1 set-up\plain\f0\fs20 \'92\f1 option from the pull down menu at the top left hand corner of the data graph, or use the shortcut key command Ctrl+S. +\par +\par The user can control text, text colour, text font, text width, axes scales, axis fit, decimal points, line colours, line types, symbol types, symbol colours and visibility settings. Each individual item is discussed below by panel. +\par \pard\tx355 +\par Panel 1 - \plain\f0\fs20 \'91\f1 Plot text\plain\f0\fs20 \'92\f1 +\par \b Title\plain\fs20 \tab \tab Defines the text used for the graph title. +\par \b X-Label\tab \plain\fs20 Defines the text used for the x-axis. +\par \b Y-Label\plain\fs20 \tab Defines the text used for the y-axis. +\par \b Font\plain\fs20 \tab \tab Sets the individual text label font types. +\par \b Colour\tab \plain\fs20 \tab Sets the individual text label colours. +\par \b Width\plain\fs20 \tab \tab Sets the line width/weight to be used for text and axis lines on screen. +\par \b h/c Width\plain\fs20 \tab Sets the line width/weight to be used for text and axis lines on hard copy. +\par \pard\tx355 \b Grid Vis\plain\fs20 \tab Sets the visibility of the graph's grid. Check this box to make visible. +\par \b Grid Fill\plain\fs20 \tab Sets the colour used to fill the background of the graph plotting region. +\par +\par Panel 2 - \plain\f0\fs20 \'91\f1 Plot axes\plain\f0\fs20 \'92\f1 +\par \b X-axis\tab \tab \plain\fs20 Identify values as being for the x-axis. +\par \b Y-axis\plain\fs20 \tab \tab Identify values as being for the y-axis. +\par \b Minimum\plain\fs20 Sets the minimum value for the axis. +\par \b Maximum\plain\fs20 \tab Sets the maximum value for the axis. +\par \b Increments\plain\fs20 \tab Defines the number of increments on the axis. +\par \pard\tx355 \b Decimal Pls\tab \plain\fs20 Sets the number of decimal places to be used on the axis and listing. +\par \b Fit\tab \tab \plain\fs20 Forces the axes to use the defined min, max and increments exactly. +\par +\par Panel 3 - \plain\f0\fs20 \'91\f1 Plot lines\plain\f0\fs20 \'92\f1 +\par \b Label\plain\fs20 \tab \tab Defines a line label, (currently not used). +\par \b Line\plain\fs20 \tab \tab Identify values as being for the line. +\par \b Symbol\plain\fs20 \tab Identify values as being for the symbol. +\par \b Colour\tab \tab \plain\fs20 Sets the colour for the line or symbol. +\par \b Type\plain\fs20 \tab \tab Sets the line type or symbol type. +\par \pard\tx355 \b Visibility\tab \plain\fs20 Switches the line or symbol visibility.\b +\par Width\plain\fs20 \tab \tab Sets the line width/weight to be used for lines and symbols on screen. +\par \b h/c Width\plain\fs20 \tab Sets the line width/weight to be used for lines and symbols on hard copy. +\par +\par The \ul graph icon\plain\fs20 is provided to enable the graph to be redrawn/updated without the requirement to close the set-up dialog box down. +\par +\par Each data graph has its own set-up thus changing a setting in one does not affect any other data graphs. +\par \pard\tx355 +\par The input data graph settings are saved in the Lotus Vehicle Simulation.ini file, such that on application start-up these settings will be restored. +\par \page +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Set-up - Results Graphs +\par \pard \fs20 +\par Results Graph +\par \plain\fs20 +\par The properties and appearance of the results graphs can be set by the user through the \plain\f0\fs20 \'91\f1 set-up\plain\f0\fs20 \'92\f1 option. To open the \plain\f0\fs20 \'91\f1 set-up\plain\f0\fs20 \'92\f1 dialog box select the \plain\f0\fs20 \'91\f1 set-up\plain\f0\fs20 \'92\f1 option from the pull down menu at the top left hand corner of the results graph, or use the shortcut key command Ctrl+S. +\par +\par The user can control text, text colour, text font, text width, line colours, line types, symbol types, symbol colours and visibility settings. Each individual item is discussed below by panel. +\par \pard\tx355 +\par Panel 1 - \plain\f0\fs20 \'91\f1 Plot text\plain\f0\fs20 \'92\f1 +\par \b Title\plain\fs20 \tab \tab Identify values as being for the graph title. +\par \b X-Axis\tab \tab \plain\fs20 Identify values as being for the x-axis. +\par \b Y-Axis\plain\fs20 \tab \tab Identify values as being for the current y-axis. +\par \b Text\tab \tab \plain\fs20 Sets the individual text labels. +\par \b Font\plain\fs20 \tab \tab Sets the individual text label font types. +\par \b Colour\tab \plain\fs20 \tab Sets the individual text label colours. +\par \b X-org\tab \plain\fs20 \tab Defines the plot x position for the lower left corner, (frame is 0.0 to 1.0). +\par \pard\tx355 \b Y-org\tab \plain\fs20 \tab Defines the plot y position for the lower left corner, (frame is 0.0 to 1.0). +\par \b X-size\tab \plain\fs20 \tab Defines the plot x size for the current plot, (frame is 0.0 to 1.0). +\par \b Y-size\tab \plain\fs20 \tab Defines the plot y size for the current plot, (frame is 0.0 to 1.0). +\par \b X-leg\tab \plain\fs20 \tab Defines the legend lower left x position relative to its x-org. +\par \b Y-leg\tab \plain\fs20 \tab Defines the legend lower left y position relative to its y-org. +\par \b Legend vis\plain\fs20 \tab Sets the visibility of the plots legend box. +\par \pard\tx355 \b Legend size\plain\fs20 \tab Defines the unit size of the current plots legend box. +\par \b Width\plain\fs20 \tab \tab Sets the line width/weight to be used for text and axis lines on screen. +\par \b h/c Width\plain\fs20 \tab Sets the line width/weight to be used for text and axis lines on hard copy. +\par \b Auto pos\plain\fs20 \tab Controls the user positioning/ auto positioning of the graphs. +\par \b Text Scale\plain\fs20 \tab Defines a height scaling factor for plot labels, title and annotation. +\par \b Symbol Scale\plain\fs20 \tab Defines a scaling factor for symbols plot size. +\par \pard\tx355 \b Grid Vis\plain\fs20 \tab Sets the visibility of the graph's grid. Check this box to make visible. +\par \b Grid Fill\plain\fs20 \tab Sets the colour used to fill the background of the graph plotting region. +\par +\par Panel 2 - \plain\f0\fs20 \'91\f1 Plot lines\plain\f0\fs20 \'92\f1 +\par \b Y1\plain\fs20 \tab \tab Identify values as being for the y1-line. +\par \b Y2\plain\fs20 \tab \tab Identify values as being for the y2-line. +\par \b Y3\plain\fs20 \tab \tab Identify values as being for the y3-line. +\par \b Y4\plain\fs20 \tab \tab Identify values as being for the y4-line. +\par \b Label\tab \tab \plain\fs20 Defines the \ul position\plain\fs20 label used on the legends +\par \pard\tx355 \b Line Colour\tab \plain\fs20 Sets the colour for the lines. +\par \b Line Type\plain\fs20 \tab Sets the line types. +\par \b Vis\tab \tab \plain\fs20 Switches the line visibility.\b +\par Line Colour\tab \plain\fs20 Sets the colour for the lines. +\par \b Line Type\plain\fs20 \tab Sets the line types. +\par \b Vis\tab \tab \plain\fs20 Switches the symbol visibility.\b +\par Width\plain\fs20 \tab \tab Sets the line width/weight to be used for lines and symbols on screen. +\par \b h/c Width\plain\fs20 \tab Sets the line width/weight to be used for lines and symbols on hard copy. +\par \b Symbol limit\tab \plain\fs20 Switches on the clipping limit for the maximum number of symbols to be plotted for a single line, (limit = 20). +\par \pard\tx355 +\par The \ul graph icon\plain\fs20 is provided to enable the graph to be redrawn/updated without the requirement to close the set-up dialog box down. +\par +\par Each \plain\f0\fs20 \'91\ul \f1\ul position\plain\f0\ul\fs20 \'92\plain\f0\fs20 \f1 has its own distinct set of properties for its lines. Thus changing a setting for one position does not affect any other data position. +\par \page +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Set-up - Engine Performance Input Data Graph +\par \pard \fs20 +\par Input data Graph - Engine Performance +\par \plain\fs20 +\par The properties and appearance of the engine performance input data graph can be set by the user through the \plain\f0\fs20 \'91\f1 set-up\plain\f0\fs20 \'92\f1 option. To open the \plain\f0\fs20 \'91\f1 set-up\plain\f0\fs20 \'92\f1 dialog box select the \plain\f0\fs20 \'91\f1 set-up\plain\f0\fs20 \'92\f1 option from the pull down menu at the top left hand corner of the data graph, or use the shortcut key command Ctrl+S. +\par +\par The user can control text, text colour, text font, text width, axes scales, axis fit, decimal points, line colours, line types, symbol types, symbol colours and visibility settings. Each individual item is discussed below by panel. +\par \pard\tx355 +\par Panel 1 - \plain\f0\fs20 \'91\f1 Plot text\plain\f0\fs20 \'92\f1 +\par \b Title\plain\fs20 \tab \tab Defines the text used for the graph title. +\par \b X-Label\tab \plain\fs20 Defines the text used for the x-axis. +\par \b Font\plain\fs20 \tab \tab Sets the individual text label font types. +\par \b Colour\tab \plain\fs20 \tab Sets the individual text label colours. +\par \b Width\plain\fs20 \tab \tab Sets the line width/weight to be used for text and axis lines on screen. +\par \b h/c Width\plain\fs20 \tab Sets the line width/weight to be used for text and axis lines on hard copy. +\par \b Grid Vis\plain\fs20 \tab Sets the visibility of the graph's grid. Check this box to make visible. +\par \pard\tx355 \b Grid Fill\plain\fs20 \tab Sets the colour used to fill the background of the graph plotting region. +\par +\par Panel 2 - \plain\f0\fs20 \'91\f1 X axes\plain\f0\fs20 \'92\f1 +\par \b Minimum\plain\fs20 \tab Sets the minimum value for the x-axis. +\par \b Maximum\plain\fs20 \tab Sets the maximum value for the x-axis. +\par \b Increments\plain\fs20 \tab Defines the number of increments on the x-axis. +\par \b Decimal Pls\tab \plain\fs20 Sets the number of decimal places to be used on the x-axis and listing. +\par \b Fit\tab \tab \plain\fs20 Forces the x-axes to use the defined min, max and increments exactly. +\par \pard\tx355 +\par Panel 3 - \plain\f0\fs20 \'91\f1 Y axes\plain\f0\fs20 \'92\f1 +\par \b Visibility\plain\fs20 \tab Sets the visibility of the current y-axis. Three y-axis are used to display 1=BMEP, 2=Torque and 3=Power. The left and right arrow buttons move between them, their specific details being displayed in this panel. +\par \b Label\plain\fs20 \tab \tab Defines the y-axis label of the current y-axis. +\par \b Font\plain\fs20 \tab \tab Sets the y-axis label font type for the current y-axis. +\par \b Colour\tab \plain\fs20 \tab Sets the y-axis label colour for the current y-axis. +\par \pard\tx355 \b Minimum\plain\fs20 \tab Sets the minimum value for the y-axis of the current y-axis. +\par \b Maximum\plain\fs20 \tab Sets the maximum value for the y-axis of the current y-axis. +\par \b Increments\plain\fs20 \tab Defines the number of increments on the y-axis of the current y-axis. +\par \b Decimal Pls\tab \plain\fs20 Sets the number of decimal places to be used on the y-axis and listing of the current y-axis. +\par \b Fit\tab \tab \plain\fs20 Forces the y-axes to use the defined min, max and increments exactly for the current y-axis. +\par \b Position\tab \plain\fs20 Defines by origin, length side and units the settings of the current y-axis. +\par \pard\tx355 \b Origin\plain\fs20 \tab \tab Sets the start position of the current y-axis origin. This value should be between 0 and 1 where 0 is the origin of the plottable region and 1 is the top of this region. The defined axes minimum value will be positioned here. +\par \b Length\plain\fs20 \tab \tab Sets the length of the current y-axis origin. This value should be between 0 and 1. Where 1 is the total length of the plottable region. This is added to the origin position to define the upper point of the current y-axis. The defined axes maximum value will be positioned here. +\par \pard\tx355 \b Side\plain\fs20 \tab \tab Sets the current y-axis as being positioned to the left or the right of the plottable region. +\par \b Units\plain\fs20 \tab \tab Sets the displayed units for the current y-axis. For BMEP select from; bar, psi or mPa. For Torque select from; Nm, lbft or kgm. For Power select from; kw, hp or Ps. +\par \b Line\plain\fs20 \tab \tab Identify values as being for the line. +\par \b Symbol\plain\fs20 \tab Identify values as being for the symbol. +\par \b Colour\tab \tab \plain\fs20 Sets the colour for the line or symbol. +\par \b Type\plain\fs20 \tab \tab Sets the line type or symbol type. +\par \pard\tx355 \b Visibility\tab \plain\fs20 Switches the line or symbol visibility.\b +\par Width\plain\fs20 \tab \tab Sets the line width/weight to be used for lines and symbols on screen. +\par \b h/c Width\plain\fs20 \tab Sets the line width/weight to be used for lines and symbols on hard copy. +\par +\par The \ul graph icon\plain\fs20 is provided to enable the graph to be redrawn/updated without the requirement to close the set-up dialog box down. +\par +\par The engine performance data graph settings are saved in the Lotus Vehicle Simulation.ini file, such that on application start-up these settings will be restored. +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Solve Module +\par \pard \fs20 Overview +\par \plain\f0\fs20 +\par \f1 The solve module controls which particular calculation run is performed from the available options. The user can specify a steady speed test, an acceleration test, an emissions test and a track test, with sub-options available with each. Sub solution options included setting the required shift map, identifying the particular emissions cycle or selecting the target acceleration. +\par +\par Prior to running a calculation the validity of the current data is checked by automatically invoking the\uldb data checking wizard\plain\fs20 , any errors, warnings or comments are reported. +\par \pard +\par During the calculation either a simple progress bar is displayed or the \uldb calculation telemetry screen\plain\fs20 can be used to graphically show, engine speed, gear, vehicle speed, the test cycle and the engine load map via animation, as they vary throughout the cycle run. +\par +\par When Lotus Vehicle Simulation calculations are performed a number of results files are created, the extensions identifying the type of results file. i.e. : +\par +\par \pard\tx355 \tab \tab Text results files have the form \tab *_n.crs +\par \tab \tab Graphical results files have the form\tab *_n.grs +\par \tab \tab Grid text results files have the form\tab *_n.grd +\par +\par \tab Where; n is the \i Plot File Counter\plain\fs20 number which is incremented for each calculation, and the \plain\f0\fs20 \'91\f1 *\plain\f0\fs20 \'92\f1 is the \i Test No.\plain\fs20 string supplied by the user, both are displayed in the vehicle data window. +\par +\par \{button ,AL(`list9',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Solution Run Types +\par \pard \fs20 Overview +\par \plain\fs20 +\par Lotus Vehicle Simulation can perform a number of different calculation types, the user identifies through the \uldb \i Calculation Set-up\plain\i\fs20 \plain\fs20 dialogue box the required calculation. +\par +\par Each basic calculation types can have a number of sub-options, some of which require additional solution values to be set. A list is given below of each calculation option and their sub-options. +\par +\par \pard\li715\fi715 1) \uldb Steady Speed\plain\fs20 +\par \pard\li1435\fi715 i) User Defined Gear and Speed +\par \pard\li2155\fi715 Set Speed Units +\par Set Speed Value +\par Set Gear No. +\par \pard\li1435\fi715 ii) User Defined Shift Map and Speed +\par \pard\li2155\fi715 Set Speed Units +\par Set Speed Value +\par Set Shift Schedule +\par \pard +\par \pard\li715\fi715 2) \uldb Acceleration\plain\fs20 +\par \pard\li1435\fi715 i) Standing Start +\par \pard\li2155\fi715 Set Launch Type +\par Set Shift Schedule +\par \pard\li1435\fi715 ii) In Gear +\par \pard\li2155\fi715 Set Gear No. +\par \pard\li1435\fi715 iii) User Defined +\par \pard\li2155\fi715 Set Speed Units +\par Set Start Speed Value +\par Set End Speed Value +\par Set Shift Schedule +\par \pard +\par \pard\li715\fi715 3) \uldb Emissions Cycle\plain\fs20 +\par \pard\li1435\fi715 i) U.S.A - Federal FTP75 Drive Cycle +\par \pard\li2155\fi715 Shift Schedule +\par \pard\li1435\fi715 ii) U.S.A - Federal Highway Cycle +\par \pard\li2155\fi715 Shift Schedule +\par \pard\li1435\fi715 iii) U.S.A - Federal FTP06 Drive Cycle +\par \pard\li2155\fi715 Shift Schedule +\par \pard\li2155 iv) Europe - EURO +\par \pard\li2155\fi715 Normal Power or Under powered +\par Shift Schedule +\par \pard\li1435\fi715 v) Europe - EUDC +\par \pard\li2155\fi715 Normal Power or Under powered +\par Shift Schedule +\par \pard\li2155 vi) Europe - EURO + EUDC +\par \pard\li2155\fi715 Normal Power or Under powered +\par Shift Schedule +\par \pard\li1435\fi715 vii) Japan - Japanese 15 Mode +\par \pard\li2155\fi715 Shift Schedule +\par \pard\li2155 viii) User Defined +\par \pard\li2155\fi715 Shift Schedule +\par \pard +\par \pard\li715\fi715 4) \uldb Track Simulation\plain\fs20 +\par \pard\li1435\fi715 i) Simple Oval +\par \pard\li2155\fi715 Shift Schedule +\par \pard\li1435\fi715 ii) Lotus Test Track +\par \pard\li2155\fi715 Shift Schedule +\par \pard\li1435\fi715 iii) Snetterton Race Circuit, Norfolk +\par \pard\li2155\fi715 Shift Schedule +\par \pard\li1435\fi715 iv) User Defined +\par \pard\li2155\fi715 Shift Schedule +\par \pard +\par \{button ,AL(`list9',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Solution Run Types - Steady Speed +\par \pard \plain\fs20 +\par \pard\li715\fi715 Steady Speed +\par \pard\li1435\fi715 i) User Defined Gear and Speed +\par \pard\li2155\fi715 Set Speed Units +\par Set Speed Value +\par Set Gear No. +\par \pard\li1435\fi715 ii) User Defined Shift Map and Speed +\par \pard\li2155\fi715 Set Speed Units +\par Set Speed Value +\par Set Shift Schedule +\par \pard +\par The steady speed run type performs the calculations at a user defined speed with either a user defined gear No. or a user defined shift schedule. +\par +\par The available gears and shift schedules are as defined by the Gearbox and Transmissions data windows. +\par +\par \{button ,AL(`list9',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Solution Run Types - Acceleration +\par \pard \plain\fs20 +\par \pard\li715\fi715 Acceleration +\par \pard\li1435\fi715 i) Standing Start +\par \pard\li2155\fi715 Set Launch Type +\par Set Shift Schedule +\par \pard\li1435\fi715 ii) In Gear +\par \pard\li2155\fi715 Set Gear No. +\par \pard\li1435\fi715 iii) User Defined +\par \pard\li2155\fi715 Set Speed Units +\par Set Start Speed Value +\par Set End Speed Value +\par Set Shift Schedule +\par \pard +\par The acceleration run type performs the calculations for one of three acceleration events. +\par +\par The first is a standing start acceleration that can use either a slip /start or an idle start, this effects the launch characteristics. The user needs to define the shift schedule as being either the \ul default shift map\plain\fs20 or as one of the currently user defined shift schedules. +\par +\par The second is an in gear acceleration run for which the user defines the required gear. The acceleration is then performed from \i idle speed\plain\fs20 through to \i maximum engine speed\plain\fs20 , as defined in the engine data window. +\par \pard +\par The third class of acceleration run type is a user defined acceleration between two velocity values. The user, as for standing start accelerations, needs to define the shift schedule as being either the \ul default shift map\plain\fs20 or as one of the currently user defined shift schedules. +\par +\par The available gears and shift schedules are as defined by the Gearbox and Transmissions data windows. +\par +\par \{button ,AL(`list9',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Solution Run Types - Emissions Cycle +\par \pard \plain\fs20 +\par \pard\li715\fi715 Emissions Cycle +\par \pard\li1435\fi715 i) U.S.A - Federal FTP75 Drive Cycle +\par \pard\li2155\fi715 Shift Schedule +\par \pard\li1435\fi715 ii) U.S.A - Federal Highway Cycle +\par \pard\li2155\fi715 Shift Schedule +\par \pard\li1435\fi715 iii) U.S.A - Federal FTP06 Drive Cycle +\par \pard\li2155\fi715 Shift Schedule +\par \pard\li2155 iv) Europe - EURO +\par \pard\li2155\fi715 Normal Power or Under powered +\par Shift Schedule +\par \pard\li1435\fi715 v) Europe - EUDC +\par \pard\li2155\fi715 Normal Power or Under powered +\par Shift Schedule +\par \pard\li2155 vi) Europe - EURO + EUDC +\par \pard\li2155\fi715 Normal Power or Under powered +\par Shift Schedule +\par \pard\li1435\fi715 vii) Japan - Japanese 15 Mode +\par \pard\li2155\fi715 Shift Schedule +\par \pard\li2155 viii) User Defined +\par \pard\li2155\fi715 Shift Schedule +\par \pard +\par Seven standard emissions cycles can be selected from U.S.A, Europe or Japan. These cycles contain the time, speed and gear information that defines the cycle. Similar information can be defined and used for a user specified cycle. These can be created using the Lotus Vehicle Simulation \uldb cycle builder toolCYCLE_BUILD_OVER\plain\fs20 . +\par +\par The user needs to define the shift schedule as being either the \ul default shift map\plain\fs20 or as one of the currently user defined shift schedules. +\par \pard +\par The available shift schedules are as defined by the Gearbox and Transmissions data windows. +\par +\par \{button ,AL(`list9',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Solution Run Types - Track Simulation +\par \pard \plain\fs20 +\par \pard\li715\fi715 Track Simulation +\par \pard\li1435\fi715 i) Simple Oval +\par \pard\li2155\fi715 Shift Schedule +\par \pard\li1435\fi715 ii) Lotus Test Track +\par \pard\li2155\fi715 Shift Schedule +\par \pard\li1435\fi715 iii) Snetterton Race Circuit, Norfolk +\par \pard\li2155\fi715 Shift Schedule +\par \pard\li1435\fi715 iv) User Defined +\par \pard\li2155\fi715 Shift Schedule +\par \pard +\par By default three standard tracks are given as examples of how to construct a track simulation. These simulations are defined by a series of individual track segments the dimensions and speed restriction, (if any), being specified for each segment. Similar information can be defined and used for a user specified track. These can be created using the Lotus Vehicle Simulation \uldb track builder tool\plain\fs20 . +\par +\par The user needs to define the shift schedule as being either the \ul default shift map\plain\fs20 or as one of the currently user defined shift schedules. +\par \pard +\par The available shift schedules are as defined by the Gearbox and Transmissions data windows. +\par +\par \{button ,AL(`list9',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up #} +\pard \f1\b Default Shift Map +\par \plain\fs20 The default shift map is purely based on engine rpm and tractive effort, in that gear shift points are based on either the rpm limits of the engine, or the ability of a particular gear to give the greatest acceleration level. On emissions cycles the default shift map implies the gear values as identified by the cycle specification. +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Opening the Calculation Set-up Screen +\par \pard \plain\f0\fs20 +\par \f1 To open the calculation set-up dialogue box, select the menu item \ul Solve\plain\i\fs20 / \plain\ul\fs20 Setup\plain\fs20 from the main menubar. Alternatively the \ul Solve Setup Icon\plain\fs20 can be selected from either the top toolbar or the side panel, depending on the data module set-up. In addition the \plain\f0\fs20 \'91\f1 F9\plain\f0\fs20 \'92\f1 function key can be used as a shortcut to open this screen +\par +\par When the calculation screen is open the icon remains indented and the pull down menu item is \plain\f0\fs20 \'91\f1 ticked\plain\f0\fs20 \'92\f1 . +\par \pard +\par \{button ,AL(`list9',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Closing the Calculation Set-up Screen\plain\fs28 +\par \pard \plain\f0\fs20 +\par \f1 To close the calculation set-up dialogue box select either the menu item \ul Solve\plain\fs20 /\i \plain\ul\fs20 Setup\plain\fs20 from the main menubar, the \plain\f0\fs20 \'91\f1 close\plain\f0\fs20 \'92\f1 icon at the top right corner of the calculation screen, the calculation set-up screen window menu at the top left or alternatively the \ul Solve Set-up Icon\plain\fs20 can be un-selected from either the top toolbar or the side panel, depending on the data module set-up. In addition the \plain\f0\fs20 \'91\f1 F9\plain\f0\fs20 \'92\f1 function key can be used as a shortcut to close this screen. +\par \pard +\par The set-up screen does not actually have to be \plain\f0\fs20 \'91\f1 open\plain\f0\fs20 \'92\f1 to perform a calculation, since alternative icons and commands can be used to \uldb start the calculation run\plain\fs20 . +\par +\par Closing the calculation set-up screen does not lose any of the settings. Upon re-opening the screen the original options and values are retained. +\par +\par \{button ,AL(`list9',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Setting the Calculation Run Type\plain\fs28 +\par \pard \plain\f0\fs20 +\par \f1 To define a calculation run type, \uldb open the calculation run set-up\plain\fs20 screen, any current run type settings are displayed in the selection boxes together with any relevant value boxes. +\par +\par The selection boxes are arranged such that a run type is defined from the top selection box downwards. Thus the top selection box identifies the run type as being a steady speed run, an acceleration run, an emissions test or a cycle simulation. Selecting the required option from this list clears the current settings and switches of the calculation button, (assuming it was \plain\f0\fs20 \'91\f1 on\plain\f0\fs20 \'92\f1 ) +\par \pard +\par Depending on the run type chosen different selection choices are displayed in the second selection box. The user should select the required option from this second box. Again depending on the solution run the user may be required to make further selections or enter values for speeds. +\par +\par The user should continue to make selections and enter values until the \ul calculate run icon\plain\fs20 is displayed in the lower right hand corner of the calculation set-up screen. +\par +\par At this stage the lower panel of the calculation set-up window will display, depending on the run type, either the current gear selected or the current shift map selected. Using the two \plain\f0\fs20 \'91\f1 arrow\plain\f0\fs20 \'92\f1 icons the user can selected the required gear or shift map. +\par \pard +\par \{button ,AL(`list9',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Checking the Data at Run Time\plain\fs28 +\par \pard \plain\f0\fs20 +\par \f1 When a calculation is run the \uldb Data checking wizard\plain\fs20 is automatically invoked to check the validity of the current data. It does not open the main data checking wizard window, but merely produces a summary of any the numbers of Errors, Warnings or Comments that it has found in a simple dialogue box. If no data irregularities are identified no message is displayed and the user would be unaware that the data checking wizard had been invoked. +\par +\par \uldb Three fail types\plain\fs20 are used by the data checker of varying levels of severity. +\par \pard +\par If problems are identified the user can chose to either abort the run, retry or ignore the messages. Whilst it may be perfectly valid to ignore Comments identified, it is unlikely that ignoring Errors will prove acceptable. +\par +\par To find out further details about the identified irregularities the user should chose to abort the run and \uldb open the data checking wizard\plain\fs20 . \uldb +\par \plain\fs20 +\par Because of the complexity of the data requirements, the validity of which can vary depending on the run type selected, some warnings and particularly some Comments could be safely ignored if they refer to unrelated data variables, or are simply a data variable that is outside the default limits. +\par \pard +\par \{button ,AL(`list9',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Starting the Calculation +\par \pard \plain\f0\fs20 +\par \f1 To start the calculation select the \ul calculate run icon\plain\fs20 . If the icon is not visible or is \plain\f0\fs20 \'91\f1 greyed\plain\f0\fs20 \'92\f1 out then the calculation run set up has not been completed.The icon is displayed in the lower right hand corner of the calculation set-up screen, and also in the top toolbar or the side panel depending on the data module set-up, it also is located at the bottom of the calculation telemetry screen. The calculation can also be started using the menu item \ul Solve\plain\fs20 / \ul Calculate\plain\fs20 from the main menubar or finally with the \plain\f0\fs20 \'91\f1 F11\plain\f0\fs20 \'92\f1 key. +\par \pard +\par Once the calculation has started either the progress bar will be displayed identifying the solution progress, or if the calculation telemetry screen is open, the progress is identified on this screen via animated dials and graphical display. +\par +\par Once started the calculation can only be stopped prior to its completion with the \ul stop icon\plain\fs20 on the telemetry screen. +\par +\par \{button ,AL(`list9',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 The Calculation Telemetry Screen +\par \pard \plain\f0\fs20 +\par \f1\b Overview +\par \plain\f0\fs20 +\par \f1 The calculation telemetry screen provides a graphical display of the calculation run as it proceeds. It displays on x-y graphs the target velocity profile, (or track position), the engine load speed map and via animated dials the engine speed, vehicle speed and current gear. +\par +\par The user can control the speed the simulation proceeds at, including stopping the run altogether and \plain\f0\fs20 \'91\f1 stepping\plain\f0\fs20 \'92\f1 through each solution time step. +\par +\par The calculation run can also be aborted via the telemetry screen. +\par \pard +\par \{button ,AL(`list9',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Opening the Calculation Telemetry Screen +\par \pard \plain\f0\fs20 +\par \f1 To open the calculation telemetry screen, select the menu item \ul Solve\plain\i\fs20 / \plain\ul\fs20 Display\plain\fs20 from the main menubar. Alternatively the \ul Solve Display Icon\plain\fs20 can be selected from either the top toolbar or the side panel, depending on the data module set-up. In addition the \plain\f0\fs20 \'91\f1 F12\plain\f0\fs20 \'92\f1 function key can be used as a shortcut to open this screen +\par +\par When the calculation telemetry screen is open the icon remains indented and the pull down menu item is \plain\f0\fs20 \'91\f1 ticked\plain\f0\fs20 \'92\f1 . +\par \pard +\par \{button ,AL(`list9',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Closing the Calculation Telemetry Screen\plain\fs28 +\par \pard \plain\f0\fs20 +\par \f1 To close the calculation telemetry screen select either the menu item \ul Solve\plain\fs20 /\i \plain\ul\fs20 Display\plain\fs20 from the main menubar, the \plain\f0\fs20 \'91\f1 close\plain\f0\fs20 \'92\f1 icon at the top right corner of the telemetry screen, the calculation telemetry screen window menu at the top left or alternatively the \ul Solve Display Icon\plain\fs20 can be un-selected from either the top toolbar or the side panel, depending on the data module set-up. In addition the \plain\f0\fs20 \'91\f1 F12\plain\f0\fs20 \'92\f1 function key can be used as a shortcut to close this screen. +\par \pard +\par The calculation telemetry screen does not actually have to be \plain\f0\fs20 \'91\f1 open\plain\f0\fs20 \'92\f1 to perform a calculation, since alternative icons and commands can be used to \uldb start the calculation run\plain\fs20 , and the solution runs far quicker without the overhead of drawing the animated displays. +\par +\par \{button ,AL(`list9',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Running the Calculation from the Telemetry Screen\plain\fs28 +\par \pard \plain\f0\fs20 +\par \f1 To start the calculation run from the telemetry screen simply select the \ul calculate run icon\plain\fs20 displayed at the bottom of the telemetry screen. If the icon is not visible or is \plain\f0\fs20 \'91\f1 greyed\plain\f0\fs20 \'92\f1 out then the calculation run set up has not been completed. +\par +\par \{button ,AL(`list9',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Aborting the Calculation from the Telemetry Screen\plain\fs28 +\par \pard \plain\f0\fs20 +\par \f1 To abort the current calculation run from the telemetry screen simply select the \ul stop icon\plain\fs20 on the telemetry screen. +\par +\par Since the calculation run will not have finished the use of the \plain\f0\fs20 \'91\f1 load current\plain\f0\fs20 \'92\f1 functionality should be avoided to prevent errors trying to read partial file records. +\par +\par \{button ,AL(`list9',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Controlling the Calculation Telemetry Display and Speed\plain\fs28 +\par \pard \plain\f0\fs20 +\par \f1 The speed at which any calculation proceeds with the telemetry screen open can be controlled via a series of \ul video player style icons\plain\fs20 , that provide play, scan ffwd, pause and step functions. They are displayed at the bottom of the telemetry screen. +\par +\par The step icon is \plain\f0\fs20 \'91\f1 greyed\plain\f0\fs20 \'92\f1 out until the calculation run is \plain\f0\fs20 \'91\f1 paused\plain\f0\fs20 \'92\f1 , the user can then proceed to step through the run. +\par +\par The two graphs shown on the telemetry screen, one small and one large, can be swapped in position. The default setting is for the large graph to be the velocity time history for speed based runs and the for the large graph to be the track for track simulations, in both cases the small graph is the engine load and speed map. This can be reversed using the \ul display setting icons\plain\fs20 that are displayed at the bottom of the telemetry screen. +\par \pard +\par \{button ,AL(`list9',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Copying the Telemetry Screen Display to the Clipboard +\par \pard \plain\f0\fs20 +\par \f1 To copy the displayed picture from the telemetry screen to the clipboard select the \ul View / Copy to Clipboard\plain\fs20 menu option from the telemetry screen menubar. The image can then be pasted from the clipboard into a number of proprietary windows applications, e.g. Powerpoint. +\par +\par \{button ,AL(`list9',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Parametric Analysis +\par \pard \plain\f0\fs20 +\par \f1\b Overview +\par \plain\f0\fs20 +\par +\par \f1 The parametric analysis option allows the user to rapidly analyses the influence of \uldb one, two or three\plain\fs20 data variables on a calculated result. The data variables altered can be a single number, such as vehicle weight, a spline , such as engine power or a map, such as a fuel consumption. The range that these variables are analysed over can be defined by value, by shift or by scale. This variation being defined by either, start and end values with a number of increments, or by a list of the variations. +\par \pard +\par The results are plotted as a simple x-y plot for the 1D analysis, (i.e 1 variable), for 2D analysis (i.e. 2 variables), as either a contour map or a contoured surface, whilst 3D analysis (i.e. 3 variables), as a series of 2d contour maps. +\par +\par The results can be selected from either the \uldb '.crs' file\plain\fs20 variables or the \uldb '.grs' file\plain\fs20 variables. The grs results can further be requested at either the end of the cycle or at some user selected time during the cycle. +\par \pard +\par The results options listed in the .crs selection list are controlled by the current solution setting and also by the current input data. The required solution run should be set up before the parametric window is opened. +\par +\par \{button ,AL(`list18',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Opening the Parametric Analysis Screen +\par \pard \plain\f0\fs20 +\par \f1 To open the parametric analysis screen, select the menu item \ul Solve\plain\i\fs20 / \plain\ul\fs20 Parametric\plain\fs20 from the main menubar. Alternatively the \ul Parametric Analysis Icon\plain\fs20 can be selected from either the top toolbar or the side panel, depending on the data module set-up. +\par +\par When the parametric analysis screen is open call backs from all other windows are ignored, thus it is important that the required data file is already loaded and the required analysis run type set. +\par \pard +\par \{button ,AL(`list18',0,"",`main')\} \uldb Related Topics\plain\fs20 \plain\f0\fs20 +\par \f1 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Setting the Number of Parametric Variables +\par \pard \plain\f0\fs20 +\par \f1 Parametric analysis can be performed with either 1,2 or 3 variables. The buttons at the top of parametric analysis screen control labelled as '1D', '2D' and '3D' control the number of analysis variables used. Selecting the required button will set the appropriate entry boxes as either 'on' or 'greyed-out', allowing definition of the data variables. +\par +\par This setting is saved on both closing the parametric window and exiting the program.\plain\f0\fs20 +\par \f1 +\par \{button ,AL(`list18',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Defining a Parametric Analysis Variable +\par \pard \plain\f0\fs20 +\par \f1 A parametric analysis variable is selected from a pre-defined list that contains over 70 of the major Lotus Vehicle Simulation data file values. This list includes items that are either, single values, (such as wheelbase), splines ( such as engine power), or 2d maps (such as fuel consumption). +\par +\par Each parametric variable has its own selection box from which the required variable should be picked. Three buttons then allow each variable to be individually varied by one of three methods, by value, by shift and by scale. +\par \pard +\par When a data variable is picked, (or when the parametric window is opened), the variable is checked against the current data to determine whether it is a valid choice. An example of this would be selecting gear ratio 6 when the gear box is defined to have only 5. If any errors are detected a warning is given. +\par +\par 'By Value', is used to specifically define the variable using actual values, that must be in the units appropriate to that variable. The current value setting for the variable can be found by selecting the \ul question mark icon.\plain\fs20 By value can only be used on variables that are a single value. If a variable that is a spline or a 2D map is selected the 'by value' button is disabled. The actual values themselves are defined by the 'min' 'max' and 'no of steps' value entries, this would perform the calculations from the 'min' value to the 'max' value with the defined number of equal step sizes between them. As an alternative all the required points can be defined as a list of numbers, by selecting the 'by list' button and entering in the values via the \ul edit icon\plain\fs20 +\par \pard +\par 'By Shift', is used to define the variable as a series of shifts from its currently defined value. As for 'by value' this can be defined using either the min / max values or the 'by list' option. A negative shift will decrease the current value whilst a positive shift will increase the current value. 'By shift' can be applied to all data variable types. +\par +\par 'By Scale', is used to define the variable as a series of scaled points from its currently defined value. As for 'by value' this can be defined using either the min / max values or the 'by list' option. A scale value less than one will decrease the variable from the current value whilst a scale value greater than one will increase the variable from current. 'By scale' can be applied to all data variable types. +\par \pard +\par All the variable settings are saved on both closing the parametric window and exiting the application. +\par +\par \{button ,AL(`list18',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Controlling the Parametric Analysis Type +\par \pard \plain\f0\fs20 +\par \f1 Parametric analysis can be carried out over any of the standard Lotus Vehicle Simulation run types. The required analysis type should be defined prior to \uldb opening the parametric window\plain\fs20 since once open all other windows are ignored. +\par +\par \{button ,AL(`list18',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Defining the Parametric Analysis Result +\par \pard \plain\f0\fs20 +\par \f1 The parametric analysis result can be any relevant calculated result from either the .grs or .crs files. The user should select the required file by checking the appropriate check box, and then select from the list the required result. Up to 10 different results can be defined. +\par +\par The contents of the .crs list box will vary depending on both the current data file and the current analysis run type. For any .grs result it can be determined at either the end of the run or at a user defined time during the run, this option is disabled for .crs results. +\par \pard +\par To set the number of y results required enter the number into the 'No of Y results' value entry box, the arrow icons can then be used to step through each y-result in turn and set the selections to the required values. Any mix of results is permissible, even down to the same y-result but at different time points through the cycle. +\par +\par The arrow icons can also be used to step through the displayed graphical results once an parametric run has been completed. +\par +\par \{button ,AL(`list18',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Running the Parametric Analysis +\par \pard \plain\f0\fs20 +\par \f1 To run the parametric analysis, with the parametric window open select either the \ul Solve\plain\fs20 / \ul Update\plain\fs20 menu item or the \ul calculate icon.\plain\fs20 +\par \ul +\par \plain\fs20 As the analysis proceeds a twin progress bar window is displayed that shows the percentage completed of the current solution step and of the whole parametric analysis run. +\par +\par The analysis can be stopped at any time by selecting the \ul cancel icon\plain\fs20 +\par +\par As the calculation progresses the results are written to the scrollable text region and at appropriate points the graphical results display is updated. +\par \pard +\par \{button ,AL(`list18',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Parametric Text Results +\par \pard \plain\f0\fs20 +\par \f1 As a parametric analysis is run the results are listed into the scrollable text region on the window. The results list the value of the x variables and the calculated y result. Note that the listed x-values will only be real numbers if the variable is of single value type. For splines and 2d maps variables the listed x-values will be the shift or scale setting. +\par +\par The contents of the text display can be saved to a file using the menu option \ul Text\plain\fs20 / \ul Save to File\plain\fs20 or printed directly using the menu option \ul Text\plain\fs20 / \ul Print\plain\fs20 . As will all Lotus Vehicle Simulation multi line text entries the right mouse button can be used to perform 'cut and paste' type operations between Lotus Vehicle Simulation and other applications. +\par \pard +\par \{button ,AL(`list18',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Analysing the Parametric Results +\par \pard \plain\f0\fs20 +\par \f1 Some simple analysis tools are provided for reviewing the parametric analysis results. The minimum and maximum results value found and their associated x-values can be listed using the menu option \ul Solve\plain\fs20 / \ul Summary\plain\fs20 , whilst the results of least squares fits to the results can be listed using the menu option \ul Solve\plain\fs20 / \ul Sensitivities\plain\fs20 . +\par +\par The sensitivity numbers are unitized over the range to enable direct comparisons to be made. The larger the sensitivity number the greater that variable has on the result. A negative sensitivity number implies that increasing the variable results in a reduction of the result. Both the minimum and maximum sensitivity numbers are given for each variable. +\par \pard +\par Parametric analysis with two variables also includes cross sensitivity values. +\par +\par \{button ,AL(`list18',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Controlling the Parametric Graphical Display +\par \pard \plain\fs20 +\par The graphical display of the parametric results can be controlled using the \uldb graph set-up options\plain\fs20 . The set-up window is opened using the menu option \ul Graph\plain\fs20 / \ul Setup\plain\fs20 or using the Ctrl + S keyboard combination. +\par +\par The graph display size can be set to either large or small by using the menu option \ul Graph\plain\fs20 / \ul Size\plain\fs20 or cycled between large and small using the \ul graph icon\plain\fs20 +\par +\par For 3d graphical images the view orientation can be set not only through the set-up menu option, but also dynamically using Ctrl + arrow keys to rotate around and up and down. +\par \pard +\par If multiple y-results have been requested the displayed result is changed by using the arrow icons on the Results panel. Note that the graphical display is disabled, (i.e. not redrawn) if any changes are made to the data, since the results would be no longer valid for the displayed information. +\par +\par \{button ,AL(`list18',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Parametric Results Graph Set-up +\par \pard \fs20 +\par Parametric Results Graphs +\par \plain\fs20 +\par The properties and appearance of the parametric calculations results graphs can be set by the user through the \plain\f0\fs20 \'91\f1 set-up\plain\f0\fs20 \'92\f1 option. To open the \plain\f0\fs20 \'91\f1 set-up\plain\f0\fs20 \'92\f1 dialog box select the \plain\f0\fs20 \'91\f1 set-up\plain\f0\fs20 \'92\f1 option from the pull down menu at the top left hand corner of the data graph, or use the shortcut key command Ctrl+S. +\par +\par The user can control text, text colour, text font, text width, axes scales, axis fit, decimal points, line colours, line types, symbol types, symbol colours and visibility settings. Each individual item is discussed below by panel. In addition parametric results can be displayed as x-y plots 2d contours, 3d surface or a combination of these types. +\par \pard +\par The display properties are set in seven different property sheets. +\par \pard\tx355 \tab Std 1D\tab \tab Controls the conventional x-y plot appearance +\par \tab Ext. View\tab Controls the extended plot types for multi variable parametric results +\par \tab 3D View\tab Settings for the surface plot view +\par \tab Contour Levels\tab User definable contour level values and colours +\par \tab 3D Labels\tab Surface plot label settings +\par \tab 2D Contours\tab Contour plot settings +\par \tab 3D Surface\tab Surface plot settings +\par +\par Property Sheet 1 - 'Std 1D', Panel 1 - \plain\f0\fs20 \'91\f1 Plot text\plain\f0\fs20 \'92\f1 +\par \b Title\plain\fs20 \tab \tab Defines the text used for the graph title. +\par \pard\tx355 \b X-Label\tab \plain\fs20 Defines the text used for the x-axis. +\par \b Y-Label\plain\fs20 \tab Defines the text used for the y-axis. +\par \b Font\plain\fs20 \tab \tab Sets the individual text label font types. +\par \b Colour\tab \plain\fs20 \tab Sets the individual text label colours. +\par \b Width\plain\fs20 \tab \tab Sets the line width/weight to be used for text and axis lines on screen. +\par \b h/c Width\plain\fs20 \tab Sets the line width/weight to be used for text and axis lines on hard copy. +\par \b Grid Vis\plain\fs20 \tab Sets the visibility of the graph's grid. Check this box to make visible. +\par \pard\tx355 \b Grid Fill\plain\fs20 \tab Sets the colour used to fill the background of the graph plotting region. +\par +\par Property Sheet 1 - 'Std 1D', Panel 2 - \plain\f0\fs20 \'91\f1 Plot axes\plain\f0\fs20 \'92\f1 +\par \b X-axis\tab \tab \plain\fs20 Identify values as being for the x-axis. +\par \b Y-axis\plain\fs20 \tab \tab Identify values as being for the y-axis. +\par \b Minimum\plain\fs20 Sets the minimum value for the axis. +\par \b Maximum\plain\fs20 \tab Sets the maximum value for the axis. +\par \b Increments\plain\fs20 \tab Defines the number of increments on the axis. +\par \b Decimal Pls\tab \plain\fs20 Sets the number of decimal places to be used on the axis and listing. +\par \pard\tx355 \b Fit\tab \tab \plain\fs20 Forces the axes to use the defined min, max and increments exactly. +\par +\par Property Sheet 1 - 'Std 1D', Panel 3 - \plain\f0\fs20 \'91\f1 Plot lines\plain\f0\fs20 \'92\f1 +\par \b Label\plain\fs20 \tab \tab Defines a line label, (currently not used). +\par \b Line\plain\fs20 \tab \tab Identify values as being for the line. +\par \b Symbol\plain\fs20 \tab Identify values as being for the symbol. +\par \b Colour\tab \tab \plain\fs20 Sets the colour for the line or symbol. +\par \b Type\plain\fs20 \tab \tab Sets the line type or symbol type. +\par \b Visibility\tab \plain\fs20 Switches the line or symbol visibility.\b +\par \pard\tx355 Width\plain\fs20 \tab \tab Sets the line width/weight to be used for lines and symbols on screen. +\par \b h/c Width\plain\fs20 \tab Sets the line width/weight to be used for lines and symbols on hard copy. +\par +\par Property Sheet 2 - 'Ext. View', Panel 1 - \plain\f0\fs20 \'91\f1 2D Contour Type\plain\f0\fs20 \'92\f1 +\par \b Off\plain\fs20 \tab \tab Switches 2D contour display off, only relevant if plotting a surface and you don't want to display the 2d contour as well. +\par \b Wire Frame\plain\fs20 \tab Switches 2D contour display on, displaying the contour lines only. +\par \pard\tx355 \b Filled\tab \plain\fs20 \tab Switches 2D contour display on, displaying the contour lines drawn over a single fill colour +\par \b Coloured Contours\plain\fs20 \tab Switches 2D contour display on, displaying the contour lines with each contour band having a unique fill colour. +\par +\par Property Sheet 2 - 'Ext. View', Panel 2 - \plain\f0\fs20 \'91\f1 3D Surface Type\plain\f0\fs20 \'92\f1 +\par \b Off\plain\fs20 \tab \tab Switches 3D surface display off. +\par \b Wire Frame\plain\fs20 \tab Switches 3D surface display on, displaying the surface grid in wire frame only. +\par \pard\tx355 \b Filled\plain\fs20 \tab \tab Switches 3D surface display on, displaying the surface grid in wire frame drawn over a single fill colour. +\par \b Coloured Contours\plain\fs20 \tab Switches 3D surface display on, displaying the surface grid in wire frame, and showing each contour band having a unique colour. +\par +\par Property Sheet 3 - '3D. View' +\par \b View Plane Angle\plain\fs20 \tab \tab Defines the 3d view angle around the vertical Z-axis, (note that this value can be changed directly from the parametric window using the Ctrl + left/right arrow keys). +\par \pard\tx355 \b View Radius\tab \plain\fs20 \tab \tab Defines the 3d view spherical radius that contains the plot, (program automatically calculates this number). +\par \b View Elevation Angle\plain\fs20 \tab \tab Defines the 3d view angle relative to the x-y plane, (note that this value can be changed directly from the parametric window using the Ctrl + up/down arrow keys).. +\par \b Axis Values Text Height\plain\fs20 \tab Sets the height of the 3d-axis labels. +\par \b Axis Values Text Width\plain\fs20 \tab Sets the width of the 3d-axis labels. +\par \b Height to Base Axis Ratio\plain\fs20 \tab Defines the ratio between the lengths of the plot height and the plot base. Numbers >1 produce a tall narrow picture, whilst numbers <1 produce a low squat plot.. +\par \pard\tx355 \b X/Y Axis Length Ratio\plain\fs20 \tab \tab Defines the ratio between the x-axis length and the y-axis length. For a ratio of 1 the x-y plane is square. For ratios >1 the x-axis is longer than the y-axis, whilst for ratios <1, the y-axis is longer that the x-axis.. +\par \b User Defined Z Limits\plain\fs20 \tab \tab To control the minimum and maximum z-axis values set this check box to on. (If this option is set to off, the minimum and maximum z values are set to the minimum and maximum z-values contained in the results). +\par \pard\tx355 \b Z-axis Minimum\plain\fs20 \tab \tab Defines the minimum z-axis value. +\par \b Z-axis Maximum\tab \plain\fs20 \tab Defines the maximum z-axis value. +\par \b Z-axis Increments\tab \plain\fs20 \tab Defines the number of increments on the z-axis. +\par \b User Defined 2D Contour Z Height\plain\fs20 \tab To control the z-position of the 2D contour plot on a 3d surface plots set this check box to on. (If this option is set to off, the 2d contour is positioned at the minimum z-axis position). +\par \b 2D Contour Z Height\plain\fs20 \tab \tab Defines the z-axis value for the 2d contour plot to be displayed at. +\par \pard\tx355 +\par Property Sheet 4 - 'Contour Levels' +\par \b User Defined Levels\plain\fs20 \tab To define the values for the contour levels set this check box to on. (if this option is set to off, the contour levels will be eqi-spaced between the minimum and maximum Z results, using the current number of contours). +\par \b No of Levels\plain\fs20 \tab \tab Sets the number of contour levels to use. +\par \b Value\plain\fs20 \tab \tab \tab Sets the value for the transition from one contour level to the next. +\par \b Colour\plain\fs20 \tab \tab \tab Sets the colour for the contour level. +\par \pard\tx355 +\par Property Sheet 5 - '3D Labels, Panel 1 - \plain\f0\fs20 \'91\f1 3D Label Settings\plain\f0\fs20 \'92\f1 +\par \b Title\tab \tab \plain\fs20 Identify values as being for the title. +\par \b X-axis\tab \tab \plain\fs20 Identify values as being for the x-axis. +\par \b Y-axis\tab \tab \plain\fs20 Identify values as being for the y-axis. +\par \b Z-axis\tab \tab \plain\fs20 Identify values as being for the z-axis. +\par \b Visibility\plain\fs20 \tab Sets label visibility, set check box to on for visible. +\par \b X Position\plain\fs20 \tab Sets label x position, where graph is 0 to 1. +\par \b Y Position\plain\fs20 \tab Sets label y position, where graph is 0 to 1. +\par \pard\tx355 \b Angle\tab \plain\fs20 \tab Sets label angle to the horizontal, in degrees, 0=horizontal. +\par \b Width\tab \plain\fs20 \tab Sets label text width. +\par \b Height\tab \plain\fs20 \tab Sets label text height. +\par +\par Property Sheet 5 - '3D Labels, Panel 2 - \plain\f0\fs20 \'91\f1 Z-Axis Plot Text\plain\f0\fs20 \'92\f1 +\par \b Title\tab \tab \plain\fs20 Identify values as being for the title. +\par \b Text\tab \plain\fs20 \tab Defines the z-axis label. +\par \b Font\plain\fs20 \tab \tab Sets the font type for the z-axis label. +\par \b Colour\tab \plain\fs20 \tab Sets the label colour for the z-axis label. +\par +\par Property Sheet 6 - '2D Contours, Panel 1 - \plain\f0\fs20 \'91\f1 2D Annotation\plain\f0\fs20 \'92\f1 +\par \pard\tx355 \b Visibility\tab \tab \tab \tab \plain\fs20 Set visibility of 2D contour annotation, set check box to on for visible. +\par \b Label Colour\tab \tab \tab \tab \plain\fs20 Set annotation label colour. +\par \b No. of Decimal Points\tab \tab \tab \plain\fs20 Defines the No. of decimal points used for contour label values. +\par \b Label Overall Field Width\tab \tab \plain\fs20 Defines the field width fro the contour labels, max 9 digits. +\par \b Label Text Height\tab \tab \tab \plain\fs20 Sets the contour labels text height. +\par \b Label Text Gap\tab \tab \tab \plain\fs20 Sets the allowable gap between adjacent contour labels. +\par \pard\tx355 \b Contour Line Label Skipping\tab \tab \plain\fs20 Sets the no. of contour lines to skip between labelling, i.e. 0= none skipped.. +\par \b Labelled Contour Lines Colour\tab \plain\fs20 Line colour for labelled contour lines. +\par \b Skipped Contour Lines Colour\tab \plain\fs20 Line colour for non-labelled (skipped) contour lines. +\par +\par Property Sheet 6 - '2D Contours, Panel 2 - \plain\f0\fs20 \'91\f1 2D Grid\plain\f0\fs20 \'92\f1 +\par \b Visibility\tab \plain\fs20 Set visibility of 2D contour grid, set check box +\par to on for visible. +\par \b Colour\tab \tab \plain\fs20 Set the colour of the of 2D contour grid. +\par \pard\tx355 +\par Property Sheet 6 - '2D Contours, Panel 3 - \plain\f0\fs20 \'91\f1 2D Fill\plain\f0\fs20 \'92\f1 +\par \b 2D Contour Filled Colour\tab \plain\fs20 Sets the colour of the of the background fill for the contoured region of the graph when using 2D plot type of filled contour. +\par +\par Property Sheet 6 - '3D Surface, Panel 1 - \plain\f0\fs20 \'91\f1 3D Grid Setup\plain\f0\fs20 \'92\f1 +\par \b No. of X Grids\tab \tab \tab \plain\fs20 Defines the x-axis grid density for the interpolation of the results. +\par \b No. of X Grids Skipped\tab \plain\fs20 Sets the No. of x-grid lines to skip when drawing the fitted surface. +\par \pard\tx355 \b No. of Y Grids\tab \tab \tab \plain\fs20 Defines the y-axis grid density for the interpolation of the results. +\par \b No. of Y Grids Skipped\tab \plain\fs20 Sets the No. of y-grid lines to skip when drawing the fitted surface. +\par \b X Base Fill\tab \tab \tab \plain\fs20 Defines the colour used to fill the x-axis base. +\par \b Y Base Fill\tab \tab \tab \plain\fs20 Defines the colour used to fill the y-axis base. +\par \b Z Base Fill\tab \tab \tab \plain\fs20 Defines the colour used to fill the z-axis base. +\par \b Axis line\tab \tab \tab \plain\fs20 Defines the colour used for plot axes and labels. +\par \pard\tx355 \b Upper Surface\tab \tab \tab \plain\fs20 Defines the colour used for the upper surface grid lines. +\par \b Visible Edge\tab \tab \tab \plain\fs20 Defines the colour used for the visible edges of the surface plot. +\par \b Base Vertical Grid Style\tab \plain\fs20 Sets the drawing style used for the plot base, as being either, no lines, or vertical lines. (vert+style option not used). +\par \b Projection Section Lines\tab \plain\fs20 Sets the drawing style used for the surface grid lines, as being either, x and y, x only or y only. +\par \b Surface Style\tab \tab \tab \plain\fs20 Sets the drawing style used for the surface, as being either, top and side, top only, top and bottom or bottom only. This controls the visibility of the parts of the surface. +\par \pard\tx355 +\par Property Sheet 6 - '3D Surface, Panel 2 - \plain\f0\fs20 \'91\f1 3D Axis Display\plain\f0\fs20 \'92\f1 +\par \b X1\tab \tab \tab \plain\fs20 Identifies the values as being for the X1 axis, (axis 1 is the l.h.s axis). +\par \b Y1\tab \tab \tab \plain\fs20 Identifies the values as being for the Y1 axis, (axis 1 is the l.h.s axis). +\par \b Z1\tab \tab \tab \plain\fs20 Identifies the values as being for the Z1 axis, (axis 1 is the l.h.s axis). +\par \b X2\tab \tab \tab \plain\fs20 Identifies the values as being for the X1 axis, (axis 2 is the r.h.s axis). +\par \b Y2\tab \tab \tab \plain\fs20 Identifies the values as being for the Y1 axis, (axis 2 is the r.h.s axis). +\par \pard\tx355 \b Z2\tab \tab \tab \plain\fs20 Identifies the values as being for the Z1 axis, (axis 2 is the r.h.s axis). +\par \b Axis Style\tab \tab \plain\fs20 Sets the axis drawing style as being either, none, axis, grid or axis and grid. This controls the visibility of the various elements of the specific axis. +\par \b Suppression\tab \tab \plain\fs20 Sets the axis end value suppression, as being either, none, low high or low and high. This controls the visibility of the end value labels of the specific axis. +\par +\par The \ul graph icon\plain\fs20 is provided to enable the graph to be redrawn/updated without the requirement to close the set-up dialog box down. +\par \pard\tx355 +\par The parametric results graph settings are saved in the Lotus Vehicle Simulation.ini file, such that on application start-up these settings will be restored. +\par +\par \{button ,AL(`list18',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Closing the Parametric Analysis Screen +\par \pard \plain\f0\fs20 +\par \f1 To close the parametric analysis screen screen select either the menu item \ul File\plain\fs20 /\i \plain\ul\fs20 Close Parametrics\plain\fs20 from the window menubar, the \plain\f0\fs20 \'91\f1 close\plain\f0\fs20 \'92\f1 icon at the top right corner of the parametrics window, or the parametrics window menu at the top left. +\par +\par \{button ,AL(`list18',0,"",`main')\} \uldb Related Topics\plain\fs20 \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Batch Analysis +\par \pard \plain\f0\fs20 +\par \f1\b Overview +\par \plain\f0\fs20 +\par +\par \f1 The batch analysis option allows the user to define a series of different tests that can be run in one go without the need to redefine the test settings between tests. These 'batch' settings are saved in the Lotus Vehicle Simulation '.ini' file and thus once a number of standard tests have been defined any subsequent Lotus Vehicle Simulation run and data file can re-run the same standard tests. +\par +\par The results can be selected from either the \uldb '.crs' file\plain\fs20 variables or the \uldb '.grs' file\plain\fs20 variables. The grs results can further be requested at either the end of the cycle, at a user selected time, a user selected distance or a user selected velocity during the cycle. A number of different results can also be defined for each test case. +\par \pard +\par The results are listed into a scrollable text widget, the contents of which can be printed or saved to a file. +\par +\par The solution settings for each batch test are defined using the normal style calculation setting buttons, the displayed settings being updated for each test as you step through the tests. +\par +\par (this section of the help file will be extended at future releases) +\par +\par \{button ,AL(`list18',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 {\up A} +\b\fs28 Program Theory - Overview +\par \pard \plain\fs20 +\par The aim of this chapter is to document the fundamental equations used within the simulation and describe the assumptions that are used. As far as possible the variable names used in the data entry section have been maintained. +\par +\par \uldb Summary of the calculation sequence;\b \plain\uldb\fs20 \{bmct bm58.bmp\}\plain\fs20 +\par +\par This is obviously a simplistic flow chart. Special options are invoked during gear changing and during a track simulation. +\par +\par \{button ,AL(`list14',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Program Theory - Vehicle Acceleration Dynamics +\par \pard \plain\fs20 +\par Given that V2 and V1 are the vehicle speeds at this and the previous time steps respectively, and that \b TSTEP\plain\fs20 is the time step. Then the acceleration is defined as; +\par \pard\qc +\par \i \b V2 - V1 +\par AC = ------- +\par TSTEP +\par \pard \plain\b\fs20 +\par \plain\fs20 The forces acting on the vehicle are; +\par +\par \b Force to produce acceleration +\par +\par \pard\qc \i Fa = WEIGHT x AC +\par \pard \plain\b\fs20 +\par Force due to aerodynamic drag +\par +\par \pard\qc \i VM = 0.5 ( V2 + V1 ) +\par Fd = 0.5 x RHO x FAREA x CD x VM^2 +\par \pard \plain\fs20 +\par where RHO = air density +\par \b +\par Force due to incline +\par +\par \pard\qc \i Fg = WEIGHT x G x SIN( A ) +\par \pard \plain\b\fs20 +\par \plain\fs20 where G = 9.8107, A = incline angle +\par +\par \b Force normal to the road surface +\par +\par \pard\qc \i Fn = WEIGHT x G x COS( A ) +\par \pard \plain\fs20 +\par \b Force due to tyre rolling resistance +\par +\par \pard\qc \i Fr = COEFFR x Fn +\par \pard \plain\b\fs20 +\par \plain\fs20 where COEFFR = coefficient of rolling resistance +\par \b +\par Force to accelerate non driven wheels\plain\fs20 +\par \b +\par \pard\qc \i Fi = RIWHL x AC / ( RTYRE x RTYRE ) +\par \pard \plain\fs20 +\par Therefore the \b total tractive effort to satisfy the acceleration \plain\fs20 is given by;\b +\par +\par \pard\qc \i Ft = Fa + Fd + Fg + Fr + Fi\plain\b\fs20 +\par \pard \plain\fs20 +\par In order to determine whether this force can be provided the load on the driven axle must be determined. The effects of weight transfer, aerodynamic lift and incline must be combined. +\par +\par The centre of aerodynamic drag is assumed to coincide with the centre of gravity. The \b force opposing motion at the centre of gravity\plain\fs20 is given by; +\par +\par \pard\qc \i\b Fcg = Fa + Fd + Fg +\par \pard \plain\b\fs20 +\par Forces on front and back wheels due to weight transfer\plain\fs20 are +\par +\par \pard\qc \i\b Ffront = ( Fcg x HCOG - Fn x ( WHBASE - DCOG ) ) / WHBASE +\par \pard \plain\b\fs20 +\par \pard\qc \i Frear = ( Fcg x HCOG + Fn x DCOG ) / WHBASE +\par \pard \plain\b\fs20 +\par \plain\fs20 The \b axle forces due to aerodynamic lift\plain\fs20 are +\par +\par \pard\qc \i\b Faf = 0.5 x RHO x CLF x PAREA x Vm^2 +\par Far = 0.5 x RHO x CLR x PAREA x Vm^2\plain\b\fs20 +\par \pard \plain\fs20 +\par These are simply added to the front and rear forces. +\par +\par The front and rear axle forces are used to calculate the wheel slip and tractive effort. +\par +\par When the vehicle is driven on a chassis dynamometer the weight transfer and aerodynamic forces are replaced by the force required to drive the dynamometer. Where the force is given by; +\par +\par \pard\qc \i\b Fdyno = DYNM x AC + ADYN + BDYN x VM + CDYM x VM^2 +\par \pard \plain\fs20 +\par Tyre rolling resistance forces are reduced to those of the driven wheels only. +\par +\par \{button ,AL(`list14',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 {\up A} +\b\fs28 Program Theory - Vehicle Cornering Dynamics +\par \pard \plain\fs20 +\par Vehicle cornering is assumed to be steady state ( ie. is performed at a constant road speed). The cornering speed is the minimum of - +\par +\par \pard\fi715 \b 1. THE OVERTURNING SPEED +\par 2. THE LATERAL SLIP SPEED +\par \pard\tx355 \tab 3. THE USER SPECIFIED MAXIMUM CORNERING SPEED\plain\fs20 +\par +\par \uldb Vehicle Cornering Notation\b \plain\uldb\fs20 \{bmct bm58.bmp\}\plain\fs20 +\par +\par The following equations show how the first two limits are calculated. +\par +\par The \b centripetal force +\par +\par \pard\qc\tx355 \i Fcp\plain\b\fs20 = (\i Weight\plain\b\fs20 x \i VM^2\plain\b\fs20 ) \i / RTRACK\plain\b\fs20 +\par \pard\tx355 +\par \pard\tx355 \plain\fs20 At the limit of slip +\par \pard\tx355 \b +\par \pard\qc\tx355 \i Ft1\plain\b\fs20 = \i R1 \plain\b\fs20 x \i U\plain\b\fs20 x cos( A ) +\par \pard\tx355 +\par \pard\qc\tx355 \i Ft2\plain\b\fs20 = \i R2\plain\b\fs20 x \i U\plain\b\fs20 x cos( A ) +\par \pard\tx355 +\par \pard\tx355 \plain\fs20 where A = camber angle of road relative to horizontal +\par \pard\tx355 +\par \pard\tx355 Resolve \b vertical and horizontal forces +\par \pard\tx355 +\par \pard\qc\tx355 \i R1 x sin( \plain\b\fs20 A\i ) + R2 x sin( \plain\b\fs20 A\i ) + R1 x U x cos( \plain\b\fs20 A\i ) + R2 x U x cos( \plain\b\fs20 A\i ) = +\par \pard\qc\tx355 +\par \pard\qc\tx355 (Weight x VM^2 / RTRACK) - 0.5 x RHO x CL x VM^2 x sin( \plain\b\fs20 A\i ) +\par \pard\qc\tx355 \plain\b\fs20 +\par \pard\tx355 \plain\fs20 Hence, +\par \pard\qc\tx355 \b (\i WEIGHT x VM^2 / RTRACK) - 0.5 x RHO x CL x VM^2 x sin( \plain\b\fs20 A\i ) +\par \pard\qc\tx355 R1 + R2 =------------------------------------------------------------------------------------------- +\par \pard\qc\tx355 sin( \plain\b\fs20 A\i ) + U x cos( \plain\b\fs20 A\i )\plain\fs20 +\par \pard\tx355 and, +\par \pard\tx355 +\par \pard\qc\tx355 \i\b R1 x cos( A )+ R2 x cos( A ) - R1 x U x sin( A ) - R2 x U x sin( A ) = +\par \pard\qc\tx355 +\par \pard\qc\tx355 WEIGHT x G - 0.5 x RHO x CL x VM^2 x cos( A ) +\par \pard\qc\tx355 \plain\fs20 +\par \pard\tx355 Hence, +\par \pard\qc\tx355 \i\b WEIGHT x G - 0.5 x RHO x CL x VM^2 x cos( A ) +\par \pard\qc\tx355 R1 + R2 = ------------------------------------------------------------------------------------- +\par \pard\qc\tx355 cos( A ) - U x sin( A )\plain\i\fs20 +\par \pard\tx355 \plain\fs20 +\par \pard\tx355 Taking moments about the centre of gravity and given that \i\b T2 = 0.5 x TRACK\plain\b\fs20 +\par \pard\tx355 \plain\fs20 +\par \pard\qc\tx355 \i\b R2 x T2 + R2 x U x HCOG + R1 x U x HCOG = R1 x T2 +\par \pard\tx355 \plain\fs20 Hence, +\par \pard\qc\tx355 \i\b R1 - R2 = ( R1 + R2 ) x U x HCOG / T2\plain\b\fs20 +\par \pard\tx355 \plain\fs20 Let, +\par \pard\qc\tx355 \i\b ADC = 0.5 x RHO x CL\plain\b\fs20 +\par \pard\tx355 \plain\fs20 Substituting from 1, +\par \pard\tx355 +\par \pard\qc\tx355 \i\b (WEIGHT/RTRACK - ADC x SIN( A )) (U x HCOG x VM^2)\plain\b\fs20 +\par \pard\qc\tx355 \i R1 + R2 = --------------------------------------------------------- x ------------------------- +\par \pard\qc\tx355 \tab \tab (SIN( A ) + U x COS( A )) T2\plain\i\fs20 +\par \pard\tx355 \plain\fs20 +\par \pard\tx355 At the point of overturning R2 = 0, therefore from 2 and 3 +\par \pard\tx355 +\par \pard\tx355 \i\b (WEIGHT / RTRACK - ADC x SIN( A )) (U x HCOG x VM^2) +\par \pard\tx355 ------------------------------------------------ x -------------------------- = +\par \pard\tx355 (SIN( A ) + U x COS( A )) T2\plain\fs20 +\par \pard\tx355 +\par \pard\tx355 \i +\par \pard\tx355 \b (WEIGHT x G - ADC x VM^2 x COS( A )) +\par \pard\tx355 ----------------------------------------------------- +\par \pard\tx355 COS( A ) - U x SIN( A )\plain\b\fs20 +\par \pard\tx355 \plain\fs20 +\par \pard\tx355 Rearranging the equation for the overturning speed is given by +\par \pard\tx355 +\par \pard\fi275\tx355 \i\b\fs18 WEIGHT x G +\par \pard\fi275\tx355 VM^2 = ( ------------------------------- +\par \pard\fi275\tx355 (COS( A ) - U x SIN( A )) WEIGHT (U x HCOG) +\par \pard\fi275\tx355 --------------------------------- x ( ------------ - ADC*SIN( A ) ) - ---------------- ) - ADCxCOS( A ) +\par \pard\fi275\tx355 (SIN( A ) + U x COS( A )) RTRACK T2\fs20 +\par \pard\tx355 \plain\fs20 +\par \pard\tx355 From equations 1 and 2, (note these are the equations of motion at the limit of slip) +\par \pard\tx355 \i +\par \pard\fi275\tx355 \b SIN( A ) + U x COS( A ) ( WEIGHT / RTRACK - ADC x SIN( A )) x VM^2 ) +\par \pard\fi275\tx355 ------------------------------- = ------------------------------------------------------------------- +\par \pard\fi275\tx355 COS( A ) - U x SIN( A ) ( WEIGHT / G - ADC x COS( A ) x VM^2 )\plain\i\fs20 +\par \pard\tx355 +\par \pard\tx355 \plain\fs20 Dividing the left hand side by \b COS( A )\plain\fs20 and using the substitution, \i\b U = TAN( S )\plain\fs20 +\par \pard\tx355 +\par \pard\tx355 After rearrangement the slip speed is given by, +\par \pard\fi845\tx355 +\par \pard\tx355 \b WEIGHT x G x TAN( B + S ) +\par \pard\tx355 VM^2 = ------------------------------------------------------------------------- +\par \pard\tx355 WEIGHT +\par \pard\tx355 ------------ - ADC x ( SIN\i ( A )\plain\b\fs20 - TAN(B+S) x COS\i ( A )\plain\b\fs20 I +\par \pard\tx355 RTRACK\plain\fs20 +\par \pard\tx355 +\par \pard\tx355 Within LOTUS VEHICLE SIMULATION the above limits are calculated for the front and rear axis independently. The weight on each axle (without weight transfer) is calculated. The height of the centre of gravity above each axis is assumed to be HCOG. +\par \pard\tx355 +\par \pard\tx355 \{button ,AL(`list14',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Program Theory - Tyre Rolling Resistance +\par \pard \plain\fs20 +\par Tyre rolling resistance is produced by the work done in deforming the tyres under rolling conditions. Measurements of this resistive force are normalised by the normal load on the tyre. +\par +\par Thus, +\par \pard\qc \b Fr = COEFFR x Fn +\par \pard +\par \plain\fs20 Where Fr is the rolling resistance, COEFFR the coefficient of rolling resistance and Fn the normal tyre force. +\par +\par The coefficient of rolling resistance is obtained at any engine speed from a polynomial curve fit. This polynomial can either be the default supplied by LOTUS VEHICLE SIMULATION or up to 6 order equation provided by the user. The default curve is compared to the band of data provided in the BOSCH automotive handbook in the graph below : +\par +\par \uldb Tyre coefficient of rolling resistance;\b \plain\uldb\fs20 \{bmct bm58.bmp\}\plain\fs20 +\par \pard +\par This curve has been developed from the coast down and Vmax measurements made by Lotus on a number of production vehicles. Users are however encouraged to obtain more accurate data from the tyre supplier. +\par +\par \{button ,AL(`list14',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 {\up A} +\b\fs28 Program Theory - Longitudinal Tyre Slip +\par \pard \plain\fs20 +\par Tyre slip is assumed to be present under all conditions at which tractive effort (either positive or negative) is developed. Slip is a continuous phenomenon up to true wheel slip. The amount of slip is calculated from the ratio of tractive effort to normal wheel force where tyre slip is defined as, +\par \i +\par \b WAXLE x Ft +\par TSLIP = 1 - --------------------\plain\i\fs20 +\par \b VM x RTYRE\plain\i\fs20 +\par \pard +\par \plain\fs20 and, +\par \i +\par \pard\qc \b SIGMA = -Ft / ( 28.0 x Fn ) +\par \plain\i\fs20 +\par \b TSLIP = SIGMA / ( SIGMA + 1 )\plain\i\fs20 +\par \pard +\par \plain\fs20 the axle speed is then calculated from, +\par +\par \pard\qc \i\b WAXLE = VM x ( 1 - TSLIP ) / RTYRE\plain\i\fs20 +\par \pard +\par \plain\fs20 The resulting tyre slip curve is shown in figure 432.1. The maximum tractive effort that can be developed is limited by both the coefficient of friction and the tyre slip limit of 0.25, in such a manner that if the demanded vehicle acceleration produces a requirement that exceeds these limits then the acceleration is reduced. From the figure below, it is obvious that the maximum tractive effort is always controlled by the coefficient of friction. +\par +\par \uldb Tyre Longitudinal Slip;\b \plain\uldb\fs20 \{bmct bm58.bmp\}\plain\fs20 +\par \pard +\par \{button ,AL(`list14',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Program Theory - Tyre Drive Efficiency +\par \pard \plain\fs20 +\par At present the tyre is assumed to exhibit a drive efficiency of 95%. Thus the axle torque is defined as; +\par \pard\qc \i\b Taxle = Ft / ( RTYRE x 0.95 ) +\par \pard +\par \plain\fs20 In future releases of the program this assumption could be refined to make the drive efficiency a function of tyre slip. +\par +\par \{button ,AL(`list14',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Program Theory - Driveline +\par \pard \plain\fs20 The program works back along the drive line taking into account the effects of gear efficiencies and inertia requirements. The following equations summaries the calculations for rotational speed, rotational acceleration and torque at each station. +\par +\par \b Wheels and axle, +\par \plain\fs20 +\par \pard\qc \i\b VAXLE = VM x ( 1 - TSLIP ) / RTYRE +\par AAXLE = AM / RTYRE +\par TAXLE = Ft x RTYRE + WAAXLE x (RIPWHL + RIPAXL) +\par \pard \plain\i\fs20 +\par \plain\b\fs20 Propshaft,\plain\fs20 +\par +\par \pard\qc \i\b VPROP = WVAXLE x GRFD +\par APROP = WAAXLE x GRFD +\par TPROP = TAXLE/(EFFY x GRFD) + RIPROP x WAPROP +\par \pard \plain\i\fs20 +\par \plain\b\fs20 Gearbox, +\par \plain\fs20 +\par \pard\qc \i\b VGB = WVPROP x GRBX +\par AGB = WAPROP x GRBX +\par TGB = TPROP / (EFFY x GRBX) + ( RIBX x WAGB ) +\par \pard \plain\i\fs20 +\par \plain\b\fs20 Primary gear,\plain\fs20 +\par +\par \pard\qc \i\b VPD = WVGB x GRPD +\par APD = WAGB x GRPD +\par TPD = TGB / (GRPD x EFFY ) +\par \pard \plain\i\fs20 +\par \plain\fs20 Where EFFY is the gear efficiency of the gear set. +\par +\par \{button ,AL(`list14',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Program Theory - Gear Efficiency +\par \pard \plain\fs20 +\par The efficiency of a particular gear set can be specified as constant or may be allowed to vary with both speed and load using the following algorithm. +\par +\par The gear efficiency model requests the user to specify the efficiency of each gear at its maximum torque and maximum speed condition. The following equation is subsequently used to calculate the actual efficiency based on the demanded speed and torque. +\par +\par \pard\qc \i\b CONST = (1.0/EFFMAX) - 1.0 +\par \pard +\par EFFICIENCY = 1.0 +\par ---------------------------------------------------------------------------------- +\par ( sqrt(TMAXG/TORQ) x sqrt(WGEAR/SMAXG) x CONST ) + 1.0\plain\i\fs20 +\par \plain\fs20 +\par Where, +\par +\par \b EFFMAX\plain\fs20 = maximum gear efficiency (fraction) +\par \b TORQ\plain\fs20 = transmitted torque +\par \b TMAXG\plain\fs20 = maximum input torque +\par \b WGEAR\plain\fs20 = gear input speed +\par \b SMAXG\plain\fs20 = maximum speed of gear +\par \pard +\par The figure below shows how the gear efficiency varies with both speed and torque ratio for two maximum gear efficiencies. The maximum speed of a gear is calculated from the rated engine speed and the lowest ratio of any gears upstream of the gear. Thus for the final drive the maximum speed is calculated from the maximum engine speed devided by the top gear ratio. The maximum torque is either specified by the user as the gearbox design torque or calculated from the torque curve. When the default design torque is used care should be taken when interpreting the results of part load calculations with different engine torque curves. The engine with the highest torque will produce the worst part load gear efficiencies. +\par \pard +\par \uldb Gear Efficiency;\b \plain\uldb\fs20 \{bmct bm58.bmp\}\plain\fs20 +\par +\par When the four wheel drive option is selected the torque is assumed to split equally between front and rear axles for the gear efficiency calculations. It is assumed that all the torque can be transmitted through one axle, thus the torque ratio term on the four wheel drive is always low and results in worse final drive efficiencies than an equivalent two wheel drive vehicle. +\par +\par \{button ,AL(`list14',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Program Theory - Gear Loss Maps +\par \pard \plain\fs20 +\par The facility to directly input the transmission losses in each gear as a function of both the speed and torque fraction is provided with the \b Gear Loss\plain\fs20 option. This simply subtracts the user specified torque at the current gearbox input speed and torque fraction at the current gearbox input speed and torque fraction from the torque that is transmitted through the gearbox. +\par +\par The interpolation of the gear loss data is linear. +\par +\par It the current torque ratio is either above the maximum specified torque ratio or below the minimum user specified torque ratio then the data at the maximum or minimum torque ratios is assumed (i.e. There is no extrapolation of the loss data). Thus if the user wishes to specify losses that were simply a function of gearbox speed then data for a single torque fraction should be input and this will be used for all loads. +\par \pard +\par Similarly if the gearbox input speed is either above the maximum user specified speed or below the minimum user specified speed then the data at the maximum and minimum speed ratios are assumed. If the user wishes to specify losses that are simply a function of load fraction then the user should enter data for a single gearbox input speed. +\par +\par \{button ,AL(`list14',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Program Theory - Gear Shifts +\par \pard \plain\fs20 +\par A gear shift sub model is employed as separate to the main calculation loop. If the model encounters a gear shift as a result of either a default or forced gear change, one of two options is invoked. +\par +\par If a manual transmission is used, the engine is declutched from the driveline for the duration of the gearshift. During this time the engine is assumed to be in an overrun condition. The vehicle acceleration is set to zero and the vehicle speed remains constant during the gear change. Thus it is assumed that the deceleration caused by aerodynamic drag and driveline losses during the gear change is negligible. The effect of engine inertia during gear shifting is also omitted. There is no power absorption to the engine as rotational energy, as a result of shifting down or power delivery as a result of dumping the clutch on an acceleration. +\par \pard +\par If an automatic transmission is used, the engine speed and load at the end of the gear shift is first calculated. The assumption that the engine speed and load changes linearly from that prior to the shift is made. During the gear shift the vehicle acceleration remains fixed at the value just prior to the shift (This is effectively a power shift). +\par +\par Gear shifting can occur in two modes, either using the default gear shift points or using a user specified gear shift strategy. +\par \pard +\par \{button ,AL(`list14',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Program Theory - Default Shift Maps +\par \pard \plain\fs20 +\par All the calculation modes have default gear shift strategies. For emission cycles these are provided by the legislation and are coded into the program. During accelerations and track simulations gear shifting will only occur under the following 3 conditions: +\par +\par \b 1.\plain\fs20 When the gear shift will increase the rate of acceleration. +\par +\par \b 2.\plain\fs20 When the gear shift is forced by the engine speed exceeding +\par the maximum engine speed. +\par +\par \b 3.\plain\fs20 When the gear shift is forced by the engine speed falling +\par \pard below the minimum engine speed. +\par +\par During track simulations a special condition is invoked to force the engine speed to be as high as possible through a corner. For constant road speed simulations the user is prompted for the gear number in which the calculation is to be performed. +\par +\par \{button ,AL(`list14',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Program Theory - Gear Shift Maps +\par \pard \plain\fs20 +\par Gear shifting can be controlled by the user through the use of shift maps. These define the shift up and shift down points for each gear as a function of a speed and load parameter. The figures show two typical shift maps. The first producing gear shifts at predefined road speeds, this is typical of that specified for a manual gearbox. The second producing gear shifts as a function of road speed and throttle position, this is typical of that specified for an automatic gearbox. +\par \pard\tx355 +\par \uldb Gear Shift Map - Road Speeds;\tab \tab \{bmct bm58.bmp\}\plain\fs20 +\par \pard\tx355 +\par \pard\tx355 \uldb Gear Shift Map - Throttle Positions;\tab \{bmct bm58.bmp\}\plain\fs20 +\par +\par \pard\tx355 The manner in which these shift maps are used is a function of the shift mode. If the shift mode is set to FORCED then a gear shift will only occur when the shift lines are crossed. For example for the operating points shown on the second figure, +\par \pard\tx355 +\par \pard\tx355 \b A - B \plain\fs20 - Produces an upshift from 3rd to 4th +\par \pard\tx355 +\par \pard\tx355 \b B - C \plain\fs20 - Produces no change in gear +\par \pard\tx355 +\par \pard\tx355 \b C - D \plain\fs20 - Produces a downshift from 4th to 3rd +\par \pard\tx355 +\par \pard\tx355 When the shift mode is set to FREE then a gear shift can occur at any point within a particular gears operating range. The gears operating range is taken as that identified by the shift-up and shift-down speeds. In FREE mode the program will explore the use of both higher and lower gears at each time increment. If these gears are allowed by their operating range and cause the engine to operate at a point closer to the \b OPTIMUM\plain\fs20 line thereby minimising the consumption of a specified map variable, then a gear shift will be performed. +\par \pard\tx355 +\par \pard\tx355 \b NOTE : SKIP SHIFTING IS NOT PERMITTED IN EITHER FREE OR FORCED MODE +\par \pard\tx355 \plain\fs20 +\par \pard\tx355 \{button ,AL(`list14',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Program Theory - Torque Converter +\par \pard \plain\fs20 +\par The torque converter characteristics are specified by the torque amplification ratios and input capacity factors as functions of the torque converter speed ratio. +\par +\par The input capacity factor is defined as, +\par +\par \pard\qc \i\b FCIN = Si / sqrt ( Ti )\plain\fs20 +\par \pard +\par Where, +\par +\par \b Si\plain\fs20 = input speed +\par \b Ti\plain\fs20 = input torque +\par +\par The \plain\f0\fs20 \'91\f1\b Program Theory - Overview\plain\f0\fs20 \'92\f1\b \plain\fs20 section describes how the calculations proceed in the opposite direction to power flow. The simulation thus must determine the converter input conditions from the output conditions. The following calculations are performed : +\par +\par \pard\qc \i\b To = Ti x TORATIO\plain\i\fs20 +\par \pard \plain\fs20 Where To is the output torque +\par +\par \pard\qc \i\b So = Si x SPRATIO +\par \pard \plain\fs20 Where So is the output speed +\par +\par The output capacity factor is defined as : +\par +\par \pard\qc \i\b FCOUT = So / sqrt ( To ) +\par \pard \plain\fs20 +\par \pard\qc \b = FCIN x SPRATIO / \i sqrt \plain\b\fs20 ( TORATIO ) +\par \pard \plain\fs20 +\par The output capacity factor is calculated as a function of the speed ratio. At a given time step the output capacity factor is known. The accompanying speed and torque ratios can therefore be interpolated from the characteristic curves, thus providing the demanded input speed and torque. +\par +\par Torque converter lock-up is specified through the torque converter map. Automatic lock-up for minimum economy is not yet available. +\par +\par \b NOTE : THE TORQUE CONVERTER PUMP LOAD SHOULD BE ADDED AS AN AUXILIARY DEVICE +\par \pard \plain\fs20 +\par \{button ,AL(`list14',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Program Theory - Clutch +\par \pard \plain\fs20 +\par A very simple clutch model is employed. The user is requested to specify the road speed below which the clutch is engaged and the engine is returned to idle. If during a cycle the engine speed falls below the minimum speed in 1st gear then the clutch will be engaged automatically. +\par +\par Clutch slip is modelled. On wide open throttle accelerations the engine speed is set at the lowest speed at which the torque developed by the engine can just spin the wheels. This engine speed is maintained with the clutch slipping until the vehicle speed allows the clutch to lock. On drive cycles the engine speed during clutch slip is set to the lowest speed at which the torque required to produced the desired launch can be delivered. This is typically the idle speed. +\par \pard +\par \b NOTE : CLUTCH SLIP IS ONLY ALLOWED IN FIRST GEAR. +\par \plain\fs20 +\par \{button ,AL(`list14',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Program Theory - Emissions Cycles +\par \pard \plain\fs20 +\par The vehicle is requested to operate over all sections of an emissions cycle. The following notes are provided for the users reference. +\par +\par \b FTP75 CYCLE +\par \plain\fs20 +\par The hot transient phase is modelled as immediately following the first 1372 seconds. This means that the 10 minute key-off phase is ignored. +\par +\par Weighted emissions are calculated with the following formula : +\par +\par \pard\qc \i\b WTDGKM = 0.43 x 1000.0 x (WTD(cold transient)+WTD(stabilised)) \fs24 /\fs20 +\par (WTDDIST(cold transient)+WTDDIST(stabilised)) +\par \fs24 +\fs20 0.57 x 1000.0 x (WTD(hot transient)+WTD(stabilised)) \fs24 /\fs20 +\par (WTDDIST(hot transient)+WTDDIST(stabilised))\plain\fs20 +\par \pard +\par Where, +\par +\par \b WTDGKM\plain\fs20 = weighted emissions in g/km +\par \b WTD(phase) \plain\fs20 = emissions during phase in g +\par \b WTDDIST(phase)\plain\fs20 = distance travelled in phase in m +\par +\par \b EEC CYCLES +\par \plain\fs20 +\par The first 40 seconds after key on, when emissions are not sampled are not modelled. Users employing cold start corrections should take this into account when deriving the correction constants. +\par +\par If desired the user may create a derivative cycle from the data and include the additional pre-sampling cycle section. The cold-start and transient models may be more directly employed in this manner. +\par \pard +\par \{button ,AL(`list14',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Program Theory - Catalyst +\par \pard \plain\fs20 +\par The catalyst efficiency during warm up is modelled using a \b WIEBE\plain\fs20 function; +\par \pard\qc \i\b +\par EFFY = EFFMAX x ( 1.0 - EXP( -10.0 x ( FRACT^3 ) ) ) +\par \pard \plain\fs20 where, +\par +\par \b EFFY\plain\fs20 = conversion efficiency +\par \b EFFMAX\plain\fs20 = maximum conversion efficiency +\par \b FRACT\plain\fs20 = time as a fraction of time between start of warming and maximum catalyst efficiency time +\par +\par If the current time is less than CATT1-CATT2 then the conversion efficiency is set = 0.0. If the current time is greater than CATT1 then the conversion efficiency is set to the maximum efficiency as specified by the user. +\par +\par If requested this option could be improved to allow the user to specify the conversion efficiency verses time histories obtained from test data. +\par \pard +\par The data required for the catalyst model are shown graphically in the figure. +\par +\par \uldb Catalyst Model;\b \plain\uldb\fs20 \{bmct bm58.bmp\}\plain\fs20 +\par +\par \{button ,AL(`list14',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Program Theory - Warm-Up and Transient Emissions Model +\par \pard \plain\fs20 +\par The warm-up and transient emissions model allows the user to specify the increase in the three primary emissions during cold start and during engine transients. A simple warm-up ramp function is used to increase the engine out emissions during the cold start. The transient model simply increases the emissions in direct proportion to the engine acceleration. +\par +\par The following formula are used; +\par \b +\par Warm-up factor, +\par \pard\qc FACT = WARMF x ( 1.0 - TIME/WARMT )\plain\fs20 +\par \pard \b +\par Transient factor, +\par \pard\qc \i ADD = RAW x WACFACT(IG) x ABS(WAENG)\plain\fs20 +\par \pard \b +\par Corrected emissions, +\par \pard\qc \i Emissions = RAW + FACT x RAW + ADD +\par \pard +\par \plain\fs20 Where, +\par \b RAW \plain\fs20 = the engine out emissions from the steady state emissions map +\par \b Emissions \plain\fs20 = is the corrected emissions level +\par +\par The data required for the warm-up model are shown graphically in the figure. +\par +\par \uldb Warm-up Model;\b \plain\uldb\fs20 \{bmct bm58.bmp\}\plain\fs20 +\par +\par \{button ,AL(`list14',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Program Theory - Engine Scaling +\par \pard \plain\fs20 +\par This option allows the user to scale the engine performance and consumption maps by factors which scale with bore and stroke. The scaling factors are wholly defined by the user. +\par +\par Engine fuel economy and emissions maps can be improved or deteriorated through the use of the so called thermal efficiency factors. +\par +\par The whole map is linearly scaled by the following formulae : +\par +\par The changes in thermal efficiency as a result of a change in bore and stroke are given by, +\par +\par \pard\qc \i\b TE1 = TEBORE x (BSCALE-BOROLD) / 100.0 +\par TE2 = TESTROKE x (SSCALE-STKOLD) / 100.0 +\par \pard \plain\fs20 +\par The change in compression ratio as a result of a change in bore is given by, +\par +\par \pard\qc \i\b CRNEW = CROLD + (BSCALE-BOROLD) x CRSENS\plain\fs20 +\par \pard +\par with the subsequent change in efficiency given by, +\par \i\b +\par \pard\qc TE3 = TECR x (CRNEW-CROLD) / 100.0\plain\fs20 +\par \pard +\par The factor by which consumptions are multiplied is given by, +\par +\par \pard\qc \i\b TEFACT = 1.0 + TE1 + TE2 + TE3 +\par \pard \plain\fs20 +\par The engine speeds used to define the BMEP curve and consumption maps can be scaled linearly through the use of the bore and stroke scaling factors. +\par +\par The following formulae are employed : +\par +\par The changes in speed terms as a result of a change in bore and stroke are given by, +\par +\par \pard\qc \b SP1 = SPBORE x (BSCALE-BOROLD) / 100.0 +\par SP2 = SPSTROKE x (SSCALE-STKOLD) / 100.0\plain\fs20 +\par \pard +\par With the factor by which the speed terms are multiplied given by, +\par +\par \pard\qc \i\b SPFACT = 1.0 + SP1 + SP2 +\par \pard \plain\fs20 +\par As an example if we wished to keep the characteristics constant with piston speed for a stroke change of 80 to 90 mm then, +\par +\par \pard\qc \i\b SPBORE = 0.0 +\par SPSTROKE = -100.0 x (1.0 - 80/90)/10 = -1.1111\plain\fs20 +\par \pard and, +\par +\par \pard\qc \i\b SPFACT = 1.0 + 0.0 - 0.1111 = 0.88889 +\par \pard \plain\fs20 +\par As a result of speed scaling the minimum and maximum engine speeds could be scaled to unacceptably low or high values. Lower and higher limits can be set by the using the ESSMIN and ESSMAX values. +\par +\par It was recognised that some mechanism was required to modify the fuel economy and emission maps as a result of changes in mechanical friction. +\par +\par The principal by which this is done is shown diagramatically in the figure. The specific consumption\plain\f0\fs20 \'92\f1 s are converted into gross flow rates verses IMEP curves at each engine speed. The new IMEP is calculated for each BMEP point based on the change in friction and the accompanying flow rate interpolated from the consumption curve. +\par \pard +\par \uldb Engine Scaling;Friction\b \plain\uldb\fs20 \{bmct bm58.bmp\}\plain\fs20 +\par +\par \{button ,AL(`list14',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 {\up A} +\b\fs28 Program Theory - Engine Friction +\par \pard \plain\fs24 +\par \fs20 The following listing gives the source code for the Lotus FRIC algorithm, used to estimate the friction of an engine based on Lotus data and various published analyses. These estimates are used when applying engine scaling to the model. +\par +\par \fs16 PROGRAM FRIC +\par C +\par C --- The object of this program is to provide an estimate of +\par C mechanical friction - given design parameters of the +\par C engine. +\par C Equations taken from +\par C 'DEVELOPMENT AND EVALUSTION +\par C OF A FRICTION MODEL FOR SPACK IGNITION ENGINES' +\par \pard C K.J.PATTON R.G.NITSCHKE B.HEYWOOD SAE 890836 +\par C +\par C Experimental analysis of total engine friction in +\par C four stroke SI engines SAE 900223 +\par C +\par C Written By MHS 6/2/90 +\par C +\par C --- This version includes an additional output for +\par C calculated friction via H.B.MOSS see simulation user +\par C note +\par C --- 8/4/92 performed two checks with bears output - +\par C as results added load factors - total crank bearing +\par C friction for the two i4 engines showed this model to +\par \pard C overpredict total bearing friction by +7% in each case +\par C this was considered ok +\par C +\par DIMENSION ITYPE(20), IV(20), RV(20), FFACT(4), RFACT(3) +\par DIMENSION TOTF(100), HONDA(100), HBMF(100), HONDAM(100), +\par > FMAH(100), CAFF(100), SPEED(100) +\par C +\par C Adjustment Factors +\par C FFACT(1) Rotating friction multiplier +\par C FFACT(2) Reciprocating friction multiplier +\par C FFACT(3) Valve train friction multiplier +\par C FFACT(4) Auxillary friction multiplier +\par \pard C RFACT(1) Rotating Bearing friction multi(viscosity mult?)MAINS +\par C RFACT(2) Rotating Bearing friction multi(viscosity mult?)BIG E +\par C RFACT(3) Rotating Bearing friction multi(viscosity mult?)CAMS +\par C +\par DATA FFACT / 1.0, 1.0, 1.0, 1.0 / +\par > RFACT / 1.0, 1.0, 1.0 / +\par > PI / 3.1415927 / +\par C +\par CHARACTER*100 STRING +\par CHARACTER*20 SSTR(10) +\par \pard CHARACTER*100 FOUT, FIN, TITLE +\par C +\par C --- Get input and output filenames +\par C +\par WRITE(*,'(A)')'$PLEASE GIVE INPUT DATA FILE NAME : ' +\par READ ( * , '(A)' ) FIN +\par OPEN (20, FILE=FIN, STATUS='OLD',FORM='FORMATTED') +\par C +\par WRITE(*,'(A)')'$PLEASE GIVE OUTPUT DATA FILE NAME : ' +\par READ ( * , '(A)' ) FOUT +\par OPEN (30, FILE=FOUT, STATUS='UNKNOWN',FORM='FORMATTED') +\par C +\par READ(20,'(A)')TITLE +\par C +\par C --- Read Bore Stroke and number of cylinders +\par \pard C +\par READ(20,'(A)') STRING +\par CALL DCSTR1 ( STRING , ITYPE, IV, RV, SSTR, N, 10 ) +\par IF ( N.LT.5 ) THEN +\par PRINT*,' ERROR not enough points on BORE line' +\par STOP +\par ENDIF +\par BORE = RV(1)/1000.0 +\par \pard STOK = RV(2)/1000.0 +\par CR = RV(3) +\par NCYL = IV(4) +\par NBM = IV(5) +\par NBB = NCYL +\par VSWEPT = BORE*BORE*STOK*NCYL*0.25*PI +\par C +\par C --- Read Number of Main Bearings diameters and widths +\par C +\par READ(20,'(A)') STRING +\par CALL DCSTR1 ( STRING , ITYPE, IV, RV, SSTR, N, 10 ) +\par IF ( IV(1).EQ.9999 ) THEN +\par C --- Estimate bearing sizes for an inline engine +\par \pard DBM = 0.60*BORE +\par WBM= 0.37*DBM +\par IMTYPE = 1 +\par ELSE IF ( IV(1).EQ.9998 ) THEN +\par C --- Estimate bearing sizes for an Vee engine one cyl per pin +\par DBM = 0.7*BORE +\par WBM = 0.35*DBM +\par IMTYPE = 2 +\par ELSE IF ( IV(1).EQ.9997 ) THEN +\par C --- Estimate bearing sizes for an Vee engine two cyl per pin +\par DBM = 0.62*BORE +\par WBM = 0.40*DBM +\par IMTYPE = 3 +\par ELSE +\par DBM = RV(1)/1000.0 +\par WBM = RV(2)/1000.0 +\par \pard IMTYPE = 0 +\par ENDIF +\par C +\par C --- Read Number of Big end Bearings diameters and widths +\par C +\par READ(20,'(A)') STRING +\par CALL DCSTR1 ( STRING , ITYPE, IV, RV, SSTR, N, 10 ) +\par IF ( IV(1).EQ.9999 ) THEN +\par C --- Estimate bearing sizes for an inline engine +\par DBB = 0.57*BORE +\par WBB = 0.41*DBB +\par IBTYPE = 1 +\par ELSE IF ( IV(1).EQ.9998 ) THEN +\par C --- Estimate bearing sizes for an Vee engine one cyl per pin +\par \pard DBB = 0.6*BORE +\par WBB = 0.36*DBB +\par IBTYPE = 2 +\par ELSE IF ( IV(1).EQ.9997 ) THEN +\par C --- Estimate bearing sizes for an Vee engine two cyl per pin +\par DBB = 0.57*BORE +\par WBB = 0.39*DBB +\par IBTYPE = 3 +\par ELSE +\par DBB = RV(1)/1000.0 +\par WBB = RV(2)/1000.0 +\par IBTYPE = 0 +\par ENDIF +\par C +\par C --- Valve train +\par C +\par READ(20,'(A)') STRING +\par CALL DCSTR1 ( STRING , ITYPE, IV, RV, SSTR, N, 10 ) +\par \pard IF ( N.LT.4 ) THEN +\par PRINT*,' ERROR not enough points on Valve line' +\par STOP +\par ENDIF +\par ICTYPE = IV(1) +\par IFTYPE = IV(2) +\par NVAL = IV(3) * NCYL +\par XLIFT = RV(4)/1000.0 +\par C +\par C --- Zero initial variables +\par C +\par COH = 0.5 +\par CFF = 0.0 +\par \pard CRF = 0.0 +\par COM = 0.0 +\par C +\par IF ( ICTYPE.EQ.1 ) THEN +\par C--- OHV PUSHROD WITH ROCKERS +\par COM = 32.1 +\par NCS = 1 +\par IF ( IFTYPE.EQ.1 ) THEN +\par C--- Flat follower +\par CFF = 400 +\par ELSE IF ( IFTYPE.EQ.2 ) THEN +\par C--- Roller follower +\par CRF = 0.0151 +\par ELSE +\par PRINT*,' Error IFTYPE out of range = ',IFTYPE +\par ENDIF +\par C +\par ELSE IF ( ICTYPE.EQ.2 ) THEN +\par C--- DOHC with direct acting followers +\par \pard COM = 10.7 +\par NCS = 2 +\par IF ( IFTYPE.EQ.1 ) THEN +\par C--- Flat follower +\par CFF = 133 +\par ELSE IF ( IFTYPE.EQ.2 ) THEN +\par C--- Roller follower +\par CRF = 0.0050 +\par ELSE +\par PRINT*,' Error IFTYPE out of range = ',IFTYPE +\par ENDIF +\par ELSE IF ( ICTYPE.EQ.3 ) THEN +\par C--- SOHC with direct acting followers +\par COM = 10.7 +\par NCS = 1 +\par IF ( IFTYPE.EQ.1 ) THEN +\par C--- Flat follower +\par \pard CFF = 200 +\par ELSE IF ( IFTYPE.EQ.2 ) THEN +\par C--- Roller follower +\par CRF = 0.0076 +\par ELSE +\par PRINT*,' Error IFTYPE out of range = ',IFTYPE +\par ENDIF +\par ELSE IF ( ICTYPE.EQ.4 ) THEN +\par C--- SOHC with Rocker arms +\par COM = 21.4 +\par NCS = 1 +\par IF ( IFTYPE.EQ.1 ) THEN +\par C--- Flat follower +\par CFF = 400 +\par ELSE IF ( IFTYPE.EQ.2 ) THEN +\par C--- Roller follower +\par CRF = 0.0151 +\par \pard ELSE +\par PRINT*,' Error IFTYPE out of range = ',IFTYPE +\par ENDIF +\par ELSE IF ( ICTYPE.EQ.5 ) THEN +\par C--- SOHC with finger followers +\par COM = 42.8 +\par COH = 0.20 +\par NCS = 1 +\par IF ( IFTYPE.EQ.1 ) THEN +\par C--- Flat follower +\par CFF = 600 +\par ELSE IF ( IFTYPE.EQ.2 ) THEN +\par C--- Roller follower +\par CRF = 0.0227 +\par ELSE +\par PRINT*,' Error IFTYPE out of range = ',IFTYPE +\par ENDIF +\par \pard ELSE +\par PRINT*,' Error ICTYPE out of range(1-5) = ',ICTYPE +\par ENDIF +\par C +\par C --- Read Cam Bearings diameters and widths +\par C +\par READ(20,'(A)') STRING +\par CALL DCSTR1 ( STRING , ITYPE, IV, RV, SSTR, N, 10 ) +\par IF ( IV(1).EQ.9999 ) THEN +\par C --- Estimate bearing sizes +\par DCM = 0.34*BORE +\par WCM = 0.66*DCM +\par ICTYP2 = 1 +\par ELSE +\par DCM = RV(1)/1000.0 +\par WCM = RV(2)/1000.0 +\par \pard ICTYP2 = 0 +\par ENDIF +\par C +\par C --- Engine speed range +\par C +\par READ(20,'(A)') STRING +\par CALL DCSTR1 ( STRING , ITYPE, IV, RV, SSTR, N, 10 ) +\par IF ( N.LT.3 ) THEN +\par PRINT*,' ERROR not enough points on Engine speed line' +\par STOP +\par ENDIF +\par \pard START = RV(1) +\par SEND = RV(2) +\par SINC = RV(3) +\par IF ( N.EQ.4 ) THEN +\par FLOAD = RV(4) +\par ELSE +\par FLOAD = 1.0 +\par ENDIF +\par C +\par C --- Write data to output file +\par C +\par WRITE(30,1000) +\par WRITE(30,1010) +\par WRITE(30,1000) +\par C +\par WRITE(30,1030) +\par WRITE(30,1040) TITLE(1:LENSTR(TITLE)) +\par WRITE(30,1060) BORE*1000.0, STOK*1000.0, CR, NCYL, NBM +\par IF ( IMTYPE.EQ.0 ) THEN +\par WRITE(30,1100) +\par ELSE IF ( IMTYPE.EQ.1 ) THEN +\par \pard WRITE(30,1110) +\par ELSE IF ( IMTYPE.EQ.2 ) THEN +\par WRITE(30,1120) +\par ELSE IF ( IMTYPE.EQ.3 ) THEN +\par WRITE(30,1130) +\par ENDIF +\par WRITE(30,1200)DBM*1000.0,WBM*1000.0 +\par C +\par IF ( IBTYPE.EQ.0 ) THEN +\par WRITE(30,1140) +\par ELSE IF ( IBTYPE.EQ.1 ) THEN +\par WRITE(30,1150) +\par ELSE IF ( IBTYPE.EQ.2 ) THEN +\par WRITE(30,1160) +\par ELSE IF ( IBTYPE.EQ.3 ) THEN +\par WRITE(30,1170) +\par ENDIF +\par WRITE(30,1200)DBB*1000.0,WBB*1000.0 +\par \pard C +\par IF ( ICTYPE.EQ.1 ) THEN +\par WRITE(30,1300) +\par ELSE IF ( ICTYPE.EQ.2 ) THEN +\par WRITE(30,1310) +\par ELSE IF ( ICTYPE.EQ.3 ) THEN +\par WRITE(30,1320) +\par ELSE IF ( ICTYPE.EQ.4 ) THEN +\par WRITE(30,1330) +\par ELSE IF ( ICTYPE.EQ.5 ) THEN +\par WRITE(30,1340) +\par ENDIF +\par IF ( IFTYPE.EQ.1 ) THEN +\par WRITE(30,1400) +\par ELSE IF ( IFTYPE.EQ.2 ) THEN +\par WRITE(30,1410) +\par ENDIF +\par WRITE(30,1500)NVAL/NCYL,XLIFT*1000.0 +\par \pard IF ( ICTYP2.EQ.0 ) THEN +\par WRITE (30,1540) +\par ELSE IF ( ICTYP2.EQ.1 ) THEN +\par WRITE (30,1550) +\par ENDIF +\par WRITE (30,1200) DCM*1000.0, WCM*1000.0 +\par C +\par WRITE(30,1560)FLOAD +\par C +\par WRITE(30,1600) +\par WRITE(30,1700) +\par WRITE(30,1710) +\par C +\par C --- Start of calculations +\par C +\par DO 100 I=1,100 +\par C +\par C --- Increment engine speed +\par RPM = START + (I-1)*SINC +\par C --- Jump out if greater than max speed +\par IF ( RPM .GT. SEND )GO TO 200 +\par \pard C +\par C --- Calc rps and mean piston speed +\par RPS = RPM/60.0 +\par SPM = 2*RPS*STOK +\par C +\par C --- ROTATING FRICTION +\par C +\par C --- Main bearing seal term (PA) +\par AROFT = 1.22E+5 * 1.0E-6 * 1000.0 * +\par > ( DBM / ( (BORE**2) * STOK * FLOAT(NCYL) ) ) +\par C --- Main bearing hydrodynamic lubrication (PA) +\par C comparision with bears shows that this term need an +\par C additional load factor which is proportional to +\par C bore area / bearing area - the 0.51 is the fiddle factor +\par \pard BMLOAD = 0.65 * (BORE*BORE*FLOAT(NCYL))/(DBM*WBM*FLOAT(NBM)) +\par BROFT = 3.03E-4 * 1.0E+3 * 1000.0 * RFACT(1) * BMLOAD * +\par > ( RPM * (DBM**3) * WBM * FLOAT(NBM) ) / +\par > ( (BORE**2) * STOK * FLOAT(NCYL) ) +\par C --- Turbulent dissipation to pump fluids (PA) +\par CROFT = 1.35E-10 * 1.0E+6 * 1000.0 * +\par > ( (DBM**2) * (RPM**2) * FLOAT(NBM)/FLOAT(NCYL) ) +\par C --- Total rotating friction (BAR) +\par ROTF = FFACT(1) * 1.0E-5 * ( AROFT + BROFT + CROFT ) +\par \pard C +\par C --- RECIPORTATING FRICTION +\par C +\par C --- Piston friction (hydrodynamic lubrication) (pa) +\par ARECIP = 2.94E+2 * 1.0E-3 * 1000.0 * SPM / BORE +\par C --- Ring friction without gas load (pa) +\par BRECIP = 4.06E+4 * 1.0E-6 * 1000.0 * +\par > ( 1 + 1000/RPM ) / (BORE**2) +\par C --- Ring friction with gas load (pa) +\par C note FLOAD is used in stead of PI/PA inlet pres/atmos pres +\par B2RECIP = 6.89 * 1000.0 * FLOAD * +\par > (0.088*CR + 0.182*(CR**(1.33-2.38E-2*SPM))) +\par \pard C --- Big end bearings (Hydrodynamic lubrication) (pa) +\par C again add load factor +\par BBLOAD = 0.219 * BORE * BORE / ( DBB*WBB ) +\par CRECIP = 3.03E-4 * 1.0E+3 * 1000.0 * RFACT(2) * BBLOAD * +\par > ( RPM * (DBB**3) * WBB * FLOAT(NBB) ) / +\par > ( (BORE**2) * STOK * FLOAT(NCYL) ) +\par C --- Total Recriprocating friction (BAR) +\par RECIPF = FFACT(2) * 1.0E-5 +\par > * ( ARECIP + BRECIP + B2RECIP + CRECIP ) +\par C +\par C ---- VALVE TRAIN FRICTION **** DONT LIKE THIS ****** +\par \pard C +\par C --- Cam bearing hydrodynamic lubrication (PA) +\par C Note 1 paper does not make clear whether constant refers to +\par C engine speed or cam speed assume engine speed +\par C Note 2 the constant in the paper looks wrong +\par C have decided to use the mains constant and correct speed +\par C Note 3 checked against cubs and found bearing friction +\par C correction factor = 2.12 +\par C +\par AVALVEF = 3.03E-4 * 1000.0 * 0.5 * 2.12 * 1000.0 * RFACT(3) * +\par > ( RPM * (DCM**3) * WCM * FLOAT(NBM*NCS) ) / +\par \pard > ( (BORE**2) * STOK * FLOAT(NCYL) ) +\par C AVALVEF = 4120 + 2.44E+2 * 1000.0 * 1.0E-9 * RPM * NBM / +\par C > ( (BORE**2) * STOK * FLOAT(NCYL) ) +\par C ---- Cam friction between cam and follower(PA) +\par C first term is for flat follower and second is roller +\par C modified so that relationship is with flat follower diamater +\par C assume follower dia = 4 X max lift +\par C bore = 2.3 x follower diameter +\par C hence BORE*BORE = 4x4x2.5x2.5xXLIFTxXLIFT +\par \pard BVALVEF = 1.0E-3 * 1000.0 * +\par > ( CFF*(1+1000/RPM)*FLOAT(NVAL)*XLIFT*XLIFT*100.0 +\par > /(BORE*BORE*STOK*FLOAT(NCYL)) + +\par > CRF*(RPM*FLOAT(NVAL)/(STOK*FLOAT(NCYL) ) ) ) +\par C BVALVEF = 1.0E-3 * 1000.0 * +\par C > ( CFF*(1+1000/RPM)*FLOAT(NVAL)/(STOK*FLOAT(NCYL)) + +\par C > CRF*(RPM*FLOAT(NVAL)/(STOK*FLOAT(NCYL) ) ) ) +\par C ---- Valve train oscillatory friction (PA) +\par CVALVEF = 1000.0 * +\par > ( ( COH * ((XLIFT*1000.0)**1.5) * (RPM**.5) * +\par \pard > FLOAT(NVAL) / (BORE * STOK * NCYL * 1.0E+6 ) ) + +\par > ( COM * ( 1 + 1000/RPM ) * XLIFT * FLOAT(NVAL) / +\par > ( STOK * FLOAT(NCYL) ) ) ) +\par C --- Total valve train friction (BAR) +\par VTF = FFACT(3) * 1.0E-5 * ( AVALVEF + BVALVEF + CVALVEF ) +\par C +\par C ---- AUXILLARY FRICTION (BAR) +\par C origional model +\par C AUXF = 1000.0 * 1.0E-5 * FFACT(4) * +\par C > ( 6.23 + 5.22E-3*RPM - 1.79E-7*RPM*RPM ) +\par C malcolm model with swept volume term +\par \pard ACONST = 15.0/(VSWEPT*1.E+3) +\par IF ( ACONST.LT.0.5 ) ACONST=0.5 +\par AUXF = 1000.0 * 1.0E-5 * FFACT(4) * +\par > ( ACONST + 3.0E-3*RPM - 1.0E-7*RPM*RPM ) +\par C +\par C ---- TOTAL FRICTION (BAR) +\par TOTF(I) = ROTF + RECIPF + VTF + AUXF +\par C +\par C ---- Now calc friction using HONDA equation +\par C +\par C ---- Calc mwan equivalant crank diameter +\par CMD = ( DBM*FLOAT(NBM) + DBB*FLOAT(NBB) ) / FLOAT ( NBM + NBB ) +\par C ---- Non dimensional engine number +\par \pard RSDOB = SQRT ( STOK * CMD ) / BORE +\par C ---- Calc pmf star +\par C assume mean flow/ bore area = 0.1 and oil visc = 15 cst +\par FLBAR = 0.1 +\par CST = 15 +\par PMFPS = 10.0 * ( (60E-9*STOK*FLBAR + 1.1E-9)*RPM*RPM +\par > + 0.0011*CST + 0.14 ) +\par C ---- Scale with non dimensional engine number +\par HONDA(I) = PMFPS*RSDOB +\par C ---- Modified honda +\par HONDAM(I) = ( 2.5E-8 * RPM * RPM + +\par > 1.0E-4 * RPM + 1.1 ) * RSDOB +\par \pard C +\par C ---- Friction by H.B.Moss +\par HBMF(I) = 0.6 + 1.167E-4*RPM + 0.06*SPM +\par C +\par C ---- Friction by Millington & Hartles +\par FMAH(I) = ( ( CR - 4.0 )/ 14.5 ) + ( 0.48275*RPM/1000.0 ) +\par C +\par C ---- Chen anf Flynn (pmax = 70 bar) +\par CAFF(I) = 0.138 + 0.005*70 + 0.163*SPM +\par C +\par C ---- Store engine speed +\par SPEED(I) = RPM +\par C +\par NS = I +\par C +\par WRITE(30,1800)RPM,ROTF,RECIPF,VTF,AUXF,TOTF(I) +\par C +\par 100 CONTINUE +\par C +\par PRINT*,' Warning more than 100 speeds requested SMAX not reached' +\par \pard C +\par 200 CONTINUE +\par WRITE(30,1005) +\par WRITE(30,1900) +\par WRITE(30,1910) +\par WRITE(30,1920) +\par DO 250 I = 1, NS +\par FMEAN = ( HBMF(I)+FMAH(I)+HONDAM(I)+HONDA(I)+TOTF(I) ) / 5.0 +\par WRITE(30,1930) SPEED(I),HBMF(I), FMAH(I), TOTF(I), +\par > HONDA(I), HONDAM(I), FMEAN +\par 250 CONTINUE +\par WRITE(30,1005) +\par CLOSE(20) +\par CLOSE(30) +\par C +\par C---- Format Statements +\par C +\par 1000 FORMAT(3X,76('=')) +\par 1005 FORMAT(3X,76('=')) +\par 1001 FORMAT(1H1) +\par \pard 1002 FORMAT(' ') +\par 1010 FORMAT(3X, 14X,'LOTUS ENGINE FRICTION PROGRAM - FRIC ') +\par 1030 FORMAT(3X,33X,'INPUT DATA',/,3X,33X,10('~')) +\par 1040 FORMAT(3X,8X,A) +\par 1060 FORMAT(3X,2X,'Bore . . . . . . . . .',F9.2,' mm', +\par > 4X,'Stroke . . . . . . . .',F9.2,' mm',/, +\par > 3X,2X,'Compression Ratio . .',F9.2,' ',/, +\par > 3X,2X,'No. of Cylinders . . .',I7,5X, +\par > 4X,'No. of Main Bearings .',I7,5X ) +\par C +\par 1100 FORMAT(/,5X,'Main Bearing Dimensions ', +\par \pard > 13X,' User Specified Dimensions') +\par 1110 FORMAT(/,5X,'Main Bearing Dimensions ', +\par > 13X,' Default for Inline Engine') +\par 1120 FORMAT(/,5X,'Main Bearing Dimensions ', +\par > 13X,' Default for Vee One rod/thro Engine') +\par 1130 FORMAT(/,5X,'Main Bearing Dimensions ', +\par > 13X,' Default for Vee Two rod/thro Engine') +\par C +\par 1140 FORMAT(/,5X,'Big End Bearing Dimensions ', +\par > 10X,' User Specified Dimensions') +\par \pard 1150 FORMAT(/,5X,'Big End Bearing Dimensions ', +\par > 10X,' Default for Inline Engine') +\par 1160 FORMAT(/,5X,'Big End Bearing Dimensions ', +\par > 10X,' Default for Vee One rod/thro Engine') +\par 1170 FORMAT(/,5X,'Big End Bearing Dimensions ', +\par > 10X,' Default for Vee Two rod/thro Engine') +\par C +\par 1200 FORMAT(3X,2X,'Bearing Diameter . . .',F9.2,' mm', +\par > 4X,'Bearing Width. . . . .',F9.2,' mm') +\par C +\par 1300 FORMAT(/,5X,'Valve Gear ', +\par \pard > 10X,' OHV Pushrod with Rocker') +\par 1310 FORMAT(/,5X,'Valve Gear ', +\par > 10X,' DOHC with Direct Acting Follower') +\par 1320 FORMAT(/,5X,'Valve Gear ', +\par > 10X,' SOHC with Direct Acting Follower') +\par 1330 FORMAT(/,5X,'Valve Gear ', +\par > 10X,' SOHC with Rocker Arm') +\par 1340 FORMAT(/,5X,'Valve Gear ', +\par > 10X,' SOHC with Finger Follower') +\par \pard C +\par 1400 FORMAT(5X,'Flat Follower ') +\par 1410 FORMAT(5X,'Roller Follower ') +\par C +\par 1500 FORMAT(3X,2X,'Number of Valves/Cyl .',I7,5X, +\par > 4X,'Maximum Valve Lift . .',F9.2,' mm') +\par 1540 FORMAT(/,5X,'Cam Bearing Dimensions ', +\par > 10X,' User Specified Dimensions') +\par 1550 FORMAT(/,5X,'Cam Bearing Dimensions ', +\par > 10X,' Default Dimensions ') +\par 1560 FORMAT(/3X,2X,'Load Fraction . . . .',F9.2 ) +\par \pard C +\par 1600 FORMAT(/3X,'Results',/,3X,7('~')) +\par C +\par 1700 FORMAT(/1X,'Engine Speed Rotating Recip. ', +\par > 'Valve Train Auxilary Total ' ) +\par 1710 FORMAT( 1X,' (RPM) (Bar) (Bar) ', +\par > ' (Bar) (Bar) (Bar) ') +\par 1800 FORMAT(2X,F6.0,3X,2(1X,G11.4),1X,G10.4, +\par > 1X,G11.4,1X,G10.4,1X,G10.4) +\par 1810 FORMAT(1X,F6.0,7G9.4) +\par C +\par 1900 FORMAT(/3X,2X,'Comparision of Friction Models ') +\par 1910 FORMAT(/1X,'Engine Speed H.B.MOSS M & H ', +\par \pard > 'Pat.&Hey Honda Mod.Honda Mean ' ) +\par 1920 FORMAT( 1X,' (RPM) (Bar) (Bar) ', +\par > ' (Bar) (Bar) (Bar) (Bar) ') +\par 1930 FORMAT(2X,F6.0,3X,2(1X,G11.4),1X,G10.4, +\par > 1X,G11.4,1X,G10.4,1X,G10.4,1X,G10.4) +\par C +\par STOP +\par END +\par C************************************************************ +\par C END OF ROUTINE +\par C************************************************************ +\par SUBROUTINE DCSTR1 ( STR, ITYP, IV, RV, SSTR, N, MXN ) +\par \pard C +\par C This Routine deciminates the string STR into arrays +\par C of INTEGER = IV, REAL = RV, STRING = SSTR +\par C N is returned as the number of elements returned in the array +\par C and MXN is given as the max possible no of elements in array +\par C +\par \pard CHARACTER*1 SPACE, COMMA, SCOLON +\par CHARACTER*2 QUOTES +\par CHARACTER*4 TERMS +\par CHARACTER*16 NUMS +\par CHARACTER*13 INTS +\par C +\par \pard PARAMETER ( SPACE =' ', COMMA=',', SCOLON=';') +\par PARAMETER ( QUOTES='''"' ) +\par PARAMETER ( TERMS =' ,;' ) +\par PARAMETER ( NUMS ='0123456789.-+ED ') +\par PARAMETER ( INTS ='0123456789-+ ') +\par C +\par \pard DOUBLE PRECISION RMAX1, RMINI +\par C +\par PARAMETER ( RMAX1=(2.0**31 - 1), RMINI=-(2.0**31) ) +\par C +\par C *** DUMMY ARGUMENTS +\par C +\par \pard CHARACTER*(*) STR +\par CHARACTER*(*) SSTR(MXN) +\par C +\par INTEGER ITYP(MXN), IV(MXN) +\par REAL RV(MXN) +\par C +\par \pard C *** LOCAL VARIABLES +\par C +\par CHARACTER*1 CH, LT, SQ +\par CHARACTER*3 W +\par LOGICAL Q, S, NS, IS, END +\par DOUBLE PRECISION RVAL +\par \pard C +\par C *** STATEMENT FUNCTIONS +\par C +\par LOGICAL TERM, QUOTE, NUMBER, INTEGR, ETERM, EREAD +\par C +\par TERM(CH) = ( INDEX ( TERMS, CH ).NE. 0 ) +\par \pard QUOTE(CH) = ( INDEX ( QUOTES, CH ).NE. 0 ) +\par NUMBER(CH)= ( INDEX ( NUMS, CH ).NE. 0 ) +\par INTEGR(CH)= ( INDEX ( INTS, CH ).NE. 0 ) +\par ETERM(CH) = ( CH .EQ. SPACE ) +\par EREAD(J) = ( ( (L-1).EQ.(J-1)) .OR. TERM( STR(I+J:I+J) ) ) +\par C +\par \pard C *** BEGIN +\par C +\par L = LENSTR( STR ) +\par C +\par C *** INITIALISE OUTPUT ARRAYS AND WORKING VALUES +\par C +\par \pard DO 10 I = 1, MXN +\par ITYP(I)= 0 +\par IV(I) = 0 +\par RV(I) = 0.0 +\par SSTR(I)= SPACE +\par 10 CONTINUE +\par \pard C +\par END = .FALSE. +\par S = .FALSE. +\par Q = .FALSE. +\par LT = COMMA +\par N = 0 +\par \pard IL = 0 +\par I = 0 +\par C +\par C *** IF STRING EMPTY RETURN +\par C +\par IF ( L.EQ.0 ) RETURN +\par \pard C +\par C *** CHARACTER PROCESSING LOOP STARTS HERE +\par C +\par 20 CONTINUE +\par C +\par C *** ADD 1 TO CHARACTER POINTER +\par \pard C +\par I = I + 1 +\par C +\par IF ( I.GT.L ) THEN +\par C *** HAVE REACHED END OF STRING +\par END = .TRUE. +\par \pard CH = SPACE +\par ELSE +\par C *** THERE ARE MORE CHARACTERS IN STRING +\par CH = STR(I:I) +\par ENDIF +\par C +\par \pard IF ( Q ) THEN +\par C +\par C *** CURRENTLY PASSING A QUOTE STRING +\par C +\par IF ( END.OR.(CH.EQ.SQ) ) THEN +\par C *** THIS IS END OF IT +\par \pard Q = .FALSE. +\par N = N+1 +\par LT= SPACE +\par C +\par IF ( N.LE.MXN ) THEN +\par C *** THERE IS ROOM TO STORE IT +\par \pard ITYP(N) = IB-I +\par SSTR(N) = STR( IB:IL ) +\par ENDIF +\par C +\par ENDIF +\par C +\par \pard ELSE IF ( S ) THEN +\par C +\par C *** WE ARE PROCESSING NORMAL STRING +\par C +\par IF ( END.OR.TERM(CH) ) THEN +\par C *** THIS IS THE END OF IT +\par \pard S = .FALSE. +\par N = N+1 +\par LT = CH +\par IT = 0 +\par C *** ASSUME NULL TYPE ( STRING REALLY ) +\par IF ( CH .EQ. SCOLON ) END=.TRUE. +\par \pard C +\par IF ( NS ) THEN +\par C *** WE WILL TRY TO INTERPRET STRING AS A NUMBER +\par WRITE(W,'(I3)') I-IB +\par C +\par IF ( IS ) THEN +\par \pard C *** TRY INTEGER READ FIRST +\par IOS=0 +\par READ(STR(IB:IL),'(I'//W//')',IOSTAT=IOS) IVAL +\par ELSE +\par IOS=-1 +\par ENDIF +\par \pard C +\par IF ( IOS.EQ.0 ) THEN +\par C *** INTEGER READ GOOD +\par IT = 1 +\par ELSE +\par C *** INTEGER READ FAILED TRY FORMAT +\par \pard IOS = 0 +\par READ(STR(IB:IL),'(F'//W//'.0)',IOSTAT=IOS) RVAL +\par C +\par IF (IOS.EQ.0) THEN +\par C *** REAL READ WAS GOOD +\par IT = 2 +\par \pard C *** ASSUME INTEGER RANGE FOR THE MOMENT +\par ELSE +\par C *** REAL READ FAILED TRY E FORMAT +\par C *** READ INCLUDING THE TERMINATOR AND THE NEXT ONE +\par C *** OR TWO CHARS +\par C *** FOR ANY CHANCE OF SUCESS THE CURRENT TERMINATOR +\par \pard C *** MUST BE A SPACE AND THE SECOND OR THIRD CHARACTER +\par C *** MUST BE A TERMINATOR +\par C +\par IF (.NOT.END .AND. ETERM(LT) .AND..NOT.IS ) THEN +\par IE=0 +\par IF ( EREAD(2) ) THEN +\par \pard IE=2 +\par ELSE IF ( EREAD(3) ) THEN +\par IE=3 +\par ENDIF +\par C +\par IF (IE.NE.0) THEN +\par \pard C *** TRY READING WITH E FORMAT +\par WRITE(W,'(I3)')(I-IB)+IE +\par IOS=0 +\par READ(STR(IB:IL+IE), +\par > '(E'//W//'.0)',IOSTAT=IOS) RVAL +\par IF (IOS.EQ.0) THEN +\par \pard C *** E FORMAT READ GOOD +\par IT = 2 +\par I = I+IE +\par IL = I-1 +\par IF (I.GT.L) END =.TRUE. +\par IF ( END) LT= SPACE +\par \pard IF (.NOT.END) LT= STR(I:I) +\par IF (LT.EQ.SCOLON) END = .TRUE. +\par ENDIF +\par ENDIF +\par ENDIF +\par ENDIF +\par \pard ENDIF +\par ENDIF +\par C +\par IF (N.LE.MXN) THEN +\par C *** THERE IS ROOM TO STORE ENTITY +\par IF ( IT.GT.0 ) THEN +\par \pard C *** NUMERIC VALUE FOUND +\par IF ( IT.EQ.1 ) THEN +\par C *** IT WAS AN INTEGER +\par RVAL = FLOAT ( IVAL ) +\par C +\par ELSE +\par \pard C *** IT WAS A REAL. GET THE NEAREST INTEGER VALUE +\par C *** IF THAT WAS NOT TOO BIG +\par IF ( (RVAL.LE.RMAXI) +\par > .AND.(RVAL.GE.RMINI) ) THEN +\par IVAL = NINT(RVAL) +\par ELSE +\par \pard C *** THE VALUE IS OUTSIDE INTEGER RANGE +\par IVAL=0 +\par IT = 3 +\par ENDIF +\par C +\par ENDIF +\par \pard C +\par ITYP(N) = IT +\par IV(N) = IVAL +\par RV(N) = RVAL +\par SSTR(N) = STR(IB:IL) +\par C +\par \pard ELSE +\par C *** NUMERIC VALUE NOT FOUND +\par ITYP(N) = IB-1 +\par SSTR(N) = STR(IB:IL) +\par ENDIF +\par ENDIF +\par \pard C +\par ELSE +\par C *** IT IS NOT THE END OF THE SUBSTRING +\par C *** CHECK IF CURRENT CHARACTER IS NUMERIC +\par IF ( .NOT.NUMBER(CH) ) NS=.FALSE. +\par IF ( .NOT.INTEGR(CH) ) IS=.FALSE. +\par \pard ENDIF +\par C +\par ELSE +\par C *** WE ARE NOT PROCESSING A STRING +\par IF ( END.OR.(CH.EQ.SCOLON)) THEN +\par C *** THIS IS THE END +\par \pard END = .TRUE. +\par C *** A FINAL COMMA INDICATES AN ADDITIONAL NULL ARGUEMENT +\par C IF (LT.EQ.COMMA) N=N+1 +\par C +\par ELSE +\par C *** THIS IS NOT THE END +\par \pard IF ( TERM(CH) ) THEN +\par C *** THIS IS NOT THE START OF A NEW STRING +\par IF (CH.EQ.COMMA) THEN +\par C *** IF THE LAST CHARACTER WAS A COMMA +\par C *** THIS REPRESENTS A NULL ENTITY +\par IF ( LT.EQ.COMMA ) N=N+1 +\par \pard LT = COMMA +\par C *** LAST TERMINATOR IS NOW A COMMA +\par ENDIF +\par ELSE +\par C *** MUST BE START OF NEW ENTITY +\par IF ( QUOTE(CH) ) THEN +\par \pard Q = .TRUE. +\par IB = I+1 +\par SQ = CH +\par C *** IS STARTING HERE +\par ELSE +\par C *** NORMAL STRING +\par \pard S = .TRUE. +\par NS = NUMBER(CH) +\par IS = INTEGR(CH) +\par IB = I +\par ENDIF +\par ENDIF +\par \pard ENDIF +\par ENDIF +\par C +\par IF ( END ) RETURN +\par C *** IF THE END RETURN +\par IL = I +\par \pard C *** IS THE LAST CHARACTER PROCESSED +\par GO TO 20 +\par C *** GO AND DEAL WITH NEXT CHARACTER +\par C *** END +\par END +\par C +\par \pard C ********* END OF ROUTINE *********************** +\par C +\par FUNCTION LENSTR(STR) +\par C +\par C This Function finds the Characters to the +\par C The end of a character string +\par \pard C +\par CHARACTER*(*)STR +\par LENS=LEN(STR) +\par C +\par DO 50 I=LENS,1,-1 +\par IF (STR(I:I).NE.' ')GO TO 60 +\par \pard 50 CONTINUE +\par C +\par LENSTR=0 +\par RETURN +\par C +\par 60 CONTINUE +\par \pard C +\par LENSTR=I +\par RETURN +\par C +\par END +\par C +\par \pard C ********* END OF ROUTINE *********************** +\par C\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Data Checking Wizard +\par \pard \fs20 Overview +\par \plain\f0\fs20 +\par \f1 The data checking wizard provides a tool that allows the user to check the validity the current data. A large number of checks are performed and a list is given for each data section, of the number of \i Errors, Warnings \plain\fs20 and\i Comments \plain\fs20 found in the current data. A message is given for each item in the list that identifies the particular data variable at \plain\f0\fs20 \'91\f1 fault\plain\f0\fs20 \'92\f1 . +\par +\par The data checking wizard is run in one of two modes, either directly as a interactive window, or indirectly as a summary message dialogue. +\par \pard +\par The data checking wizard is run directly through the menu item \ul Tools\plain\fs20 / \ul Data-check Wizard\plain\fs20 . This displays a window that shows the list of messages in a scrollable text region adjacent to the appropriate data section icon. +\par +\par The data checking wizard is run indirectly every time a calculation is performed, the data values are checked and if any discrepancies identified a simple summary of the number of errors, warnings and comments is displayed. +\par +\par \{button ,AL(`list4',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Data Checking Fail Types +\par \pard \plain\f0\fs20 +\par \f1 Three fail types are used within the data checker, being \i Error, Warning\plain\fs20 and \i Comment\plain\fs20 . Due to the complexity of the data requirements and the inter dependency it is not always clear cut as to the appropriateness of a particular value or flag setting. Some solution types will use different data values and thus adds further vagaries to their validity. +\par +\par The first category of \i Error\plain\fs20 is used when a data value(s) or type is felt to be in error in all possible scenarios. Typical examples of this are failure to enter a value for a compulsory variable, or incorrectly entered, negative or out of range numbers. +\par \pard +\par The second category of \i Warning\plain\fs20 is used when a data value(s) or type is considered incorrect or not set, but that in some solution cases is not used and could therefore be acceptable. Typical examples of this are when a data value is not entered and therefore contains a zero value. +\par +\par The third category of \i C\plain\fs20 omment is used when a data value(s) is outside of the normal range. Where appropriate a data value will have a minimum and maximum value that set this normal range. Currently only the default set of ranges is available, but it is envisaged that later releases will also employ a user definable set of ranges. +\par \pard +\par \{button ,AL(`list4',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Opening the Data Checking Wizard +\par \pard \plain\f0\fs20 +\par \f1 To open the data checking wizard select the menu \ul Tools\plain\fs20 / \ul Data-check Wizard\plain\fs20 from the main window menubar. Alternatively the \ul Data Checking Icon\plain\fs20 can be selected.Whilst the wizard is open the icon remains indented and the pull down menu item is \plain\f0\fs20 \'91\f1 ticked\plain\f0\fs20 \'92\f1 . +\par +\par When the wizard is initially opened, it checks the current data for discrepancies. Any that are found are identified by either the \ul question mark\plain\fs20 or \ul cross\plain\fs20 icons being displayed next to the scrollable text region for that data section. Data sections being identified by their appropriate icon. If no discrepancies have been identified in a data section the \ul tick\plain\fs20 icon is displayed. +\par \pard +\par \{button ,AL(`list4',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Closing the Data Checking Wizard +\par \pard \plain\f0\fs20 +\par \f1 To close the data checking wizard select either the \plain\f0\fs20 \'91\f1 close\plain\f0\fs20 \'92\f1 icon at the top right corner of the wizard window, the wizard window menu at the top left, the menu item \ul Functions\plain\fs20 / \ul Close\plain\fs20 from the wizard menubar, or alternatively the \ul Data Checking Icon\plain\fs20 can be un-selected.\b +\par \plain\fs20 +\par \{button ,AL(`list4',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Jumping to the Data Windows +\par \pard \plain\f0\fs20 +\par \f1 The \ul data icons\plain\fs20 down the side of the data checking wizard can be used to open the data window for that data section, by simply selecting the required icon. +\par +\par \{button ,AL(`list4',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Updating the Data Checking Wizard Display +\par \pard \plain\f0\fs20 +\par \f1 If the data checking wizard window has been left open whilst changes have been made to data, its display will potentially no longer reflect the true No. of errors, warnings and comments. To update the display select \ul Functions\plain\fs20 / \ul Update\plain\fs20 from the wizard menubar. The current data will then be checked and the wizard display updated. +\par +\par \{button ,AL(`list4',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 The Default Data Checking Wizard Ranges +\par \pard \plain\f0\fs20 +\par \f1 The following lists the default ranges for data values, used in the data checking wizard. Values outside of these ranges result in a \i Comment\plain\fs20 entry. +\par +\par \trowd\trleft814 \cellx5665 \pard\intbl \pard\intbl\tx705 Vehicle Data\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\tx705 \pard\intbl\qr Test Weight\cell\pard \pard\intbl\qr \pard\intbl\qc kg\cell\pard \pard\intbl\qc 500\cell\pard \pard\intbl\qc 25000\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Wheelbase\cell\pard \pard\intbl\qr \pard\intbl\qc m\cell\pard \pard\intbl\qc 0.5\cell\pard \pard\intbl\qc 25\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Front track\cell\pard \pard\intbl\qr \pard\intbl\qc m\cell\pard \pard\intbl\qc 0.5\cell\pard \pard\intbl\qc 25\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Rear Track\cell\pard \pard\intbl\qr \pard\intbl\qc m\cell\pard \pard\intbl\qc 0.5\cell\pard \pard\intbl\qc 25\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr C of G Distance\cell\pard \pard\intbl\qr \pard\intbl\qc m\cell\pard \pard\intbl\qc -25\cell\pard \pard\intbl\qc 25\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr C of G Height\cell\pard \pard\intbl\qr \pard\intbl\qc m\cell\pard \pard\intbl\qc -25\cell\pard \pard\intbl\qc 25\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Frontal Area\cell\pard \pard\intbl\qr \pard\intbl\qc m2\cell\pard \pard\intbl\qc 0.25\cell\pard \pard\intbl\qc 250\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Drag Coeff\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 10\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Plan Area\cell\pard \pard\intbl\qr \pard\intbl\qc m2\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 250\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Front Lift Coeff\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc -10\cell\pard \pard\intbl\qc 10\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Rear Lift Coeff\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc -10\cell\pard \pard\intbl\qc 10\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Air Density\cell\pard \pard\intbl\qr \pard\intbl\qc kg/m3\cell\pard \pard\intbl\qc 1.0\cell\pard \pard\intbl\qc 1.5\cell\intbl\row +\pard +\par \trowd\trleft814 \cellx5665 \pard\intbl \pard\intbl\tx705 Dynamometer Data\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\tx705 \pard\intbl\qr Inertia Class\cell\pard \pard\intbl\qr \pard\intbl\qc kg\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 6000\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Constant\cell\pard \pard\intbl\qr \pard\intbl\qc N\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 1000\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Velocity Term\cell\pard \pard\intbl\qr \pard\intbl\qc N/m/s\cell\pard \pard\intbl\qc -100\cell\pard \pard\intbl\qc 100\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Velocity2 Term\cell\pard \pard\intbl\qr \pard\intbl\qc N/m2/s2\cell\pard \pard\intbl\qc -10\cell\pard \pard\intbl\qc 10\cell\intbl\row +\pard +\par \trowd\trleft814 \cellx5665 \pard\intbl \pard\intbl\tx705 Tyre Data\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\tx705 \pard\intbl\qr Rolling Radius\cell\pard \pard\intbl\qr \pard\intbl\qc m\cell\pard \pard\intbl\qc 0.1\cell\pard \pard\intbl\qc 5\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Drive Efficiency\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 0.5\cell\pard \pard\intbl\qc 1\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Coeff of Slip\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 0.1\cell\pard \pard\intbl\qc 1.5\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Constant\cell\pard \pard\intbl\qr \pard\intbl\qc \cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 1000\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Velocity Term\cell\pard \pard\intbl\qr \pard\intbl\qc \cell\pard \pard\intbl\qc -10\cell\pard \pard\intbl\qc 10\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Velocity2 Term\cell\pard \pard\intbl\qr \pard\intbl\qc \cell\pard \pard\intbl\qc -1\cell\pard \pard\intbl\qc 1\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Velocity3 Term\cell\pard \pard\intbl\qr \pard\intbl\qc \cell\pard \pard\intbl\qc -0.1\cell\pard \pard\intbl\qc 0.1\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Velocity4 Term\cell\pard \pard\intbl\qr \pard\intbl\qc \cell\pard \pard\intbl\qc -0.01\cell\pard \pard\intbl\qc 0.01\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Velocity5 Term\cell\pard \pard\intbl\qr \pard\intbl\qc \cell\pard \pard\intbl\qc -0.001\cell\pard \pard\intbl\qc 0.001\cell\intbl\row +\pard +\par \trowd\trleft814 \cellx5665 \pard\intbl \pard\intbl\tx705 Driveline Data - Clutch or Torque Converter\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3825\cellx5175\cellx6535\pard\intbl\tx705 \pard\intbl\qr Declutch Speed\cell\pard \pard\intbl\qr \pard\intbl\qc km/h\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 50\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3825\cellx5175\cellx6535\pard\intbl\qc \pard\intbl\qr Speed ratio\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 1\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3825\cellx5175\cellx6535\pard\intbl\qc \pard\intbl\qr Torque Ratio\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 5\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3825\cellx5175\cellx6535\pard\intbl\qc \pard\intbl\qr Input Capacity\cell\pard \pard\intbl\qr \pard\intbl\qc rad/s/Nm\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 200\cell\intbl\row +\pard +\par \trowd\trleft814 \cellx5665 \pard\intbl \pard\intbl\tx705 Driveline Data - Torque Converter Idle Speed\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\tx705 \pard\intbl\qr Speed Ratio\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 2\cell\intbl\row +\pard +\par \trowd\trleft814 \cellx5665 \pard\intbl \pard\intbl\tx705 Driveline Data - Final Drive\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\tx705 \pard\intbl\qr Front Wheel Inertia\cell\pard \pard\intbl\qr \pard\intbl\qc kg.m2\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 2\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Rear Wheel Inertia\cell\pard \pard\intbl\qr \pard\intbl\qc kg.m2\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 2\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Drive Shaft Inertia\cell\pard \pard\intbl\qr \pard\intbl\qc kg.m2\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 2\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Propshaft Inertia\cell\pard \pard\intbl\qr \pard\intbl\qc kg.m2\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 2\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Final Drive Ratio\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 1\cell\pard \pard\intbl\qc 5\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Final Drive Eff.\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 0.5\cell\pard \pard\intbl\qc 1\cell\intbl\row +\pard +\par \trowd\trleft814 \cellx5665 \pard\intbl \pard\intbl\tx705 Gearbox Data - Gearbox Specification\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\tx705 \pard\intbl\qr Max. Input Torque\cell\pard \pard\intbl\qr \pard\intbl\qc Nm\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 500\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Max. Input Speed\cell\pard \pard\intbl\qr \pard\intbl\qc rpm\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 12000\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Gear Ratio\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 6\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Gear Efficiency\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 0.5\cell\pard \pard\intbl\qc 1\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Gear Inertia\cell\pard \pard\intbl\qr \pard\intbl\qc kg.m2\cell\pard \pard\intbl\qc 0.00005\cell\pard \pard\intbl\qc 1\cell\intbl\row +\pard +\par \trowd\trleft814 \cellx5665 \pard\intbl \pard\intbl\tx705 Gearbox Data - Gear Losses\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\tx705 \pard\intbl\qr Speed\cell\pard \pard\intbl\qr \pard\intbl\qc rpm\cell\pard \pard\intbl\qc 500\cell\pard \pard\intbl\qc 12000\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Load Fraction\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 1\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Torque Loss\cell\pard \pard\intbl\qr \pard\intbl\qc Nm\cell\pard \pard\intbl\qc 0.002\cell\pard \pard\intbl\qc 50\cell\intbl\row +\pard +\par \trowd\trleft814 \cellx5665 \pard\intbl \pard\intbl\tx705 Engine Data - Engine\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\tx705 \pard\intbl\qr Bore\cell\pard \pard\intbl\qr \pard\intbl\qc mm\cell\pard \pard\intbl\qc 20\cell\pard \pard\intbl\qc 200\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Stroke\cell\pard \pard\intbl\qr \pard\intbl\qc mm\cell\pard \pard\intbl\qc 20\cell\pard \pard\intbl\qc 200\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr No. of Cylinders \cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 1\cell\pard \pard\intbl\qc 20\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Idle Speed\cell\pard \pard\intbl\qr \pard\intbl\qc rpm\cell\pard \pard\intbl\qc 300\cell\pard \pard\intbl\qc 4000\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Maximum Speed\cell\pard \pard\intbl\qr \pard\intbl\qc rpm\cell\pard \pard\intbl\qc 1000\cell\pard \pard\intbl\qc 12000\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Engine Inertia\cell\pard \pard\intbl\qr \pard\intbl\qc kg.m2\cell\pard \pard\intbl\qc 0.001\cell\pard \pard\intbl\qc 1\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Engine Speed\cell\pard \pard\intbl\qr \pard\intbl\qc rpm\cell\pard \pard\intbl\qc 500\cell\pard \pard\intbl\qc 12000\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Engine Torque\cell\pard \pard\intbl\qr \pard\intbl\qc Nm\cell\pard \pard\intbl\qc 10\cell\pard \pard\intbl\qc 1000\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Compression Ratio\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 4\cell\pard \pard\intbl\qc 25\cell\intbl\row +\pard +\par \trowd\trleft814 \cellx5665 \pard\intbl \pard\intbl\tx705 Engine Data - Catalyst\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2835\cellx3585\cellx5055\cellx6535\pard\intbl\tx705 \pard\intbl\qr HC Maximum Eff.\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 1\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2835\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr NOx Maximum Eff.\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 1\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2835\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr CO Maximum eff\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 1\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2835\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr HC Time to Max Eff\cell\pard \pard\intbl\qr \pard\intbl\qc s\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 100\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2835\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr NOx Time to Max Eff\cell\pard \pard\intbl\qr \pard\intbl\qc s\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 100\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2835\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr CO Time to Max Eff\cell\pard \pard\intbl\qr \pard\intbl\qc s\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 100\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2835\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr HC Warming Time\cell\pard \pard\intbl\qr \pard\intbl\qc s\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 200\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2835\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr NOx Warming Time\cell\pard \pard\intbl\qr \pard\intbl\qc s\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 200\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2835\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr CO Warming Time\cell\pard \pard\intbl\qr \pard\intbl\qc s\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 200\cell\intbl\row +\pard +\par \trowd\trleft814 \cellx5665 \pard\intbl \pard\intbl\tx705 Engine Data - Warm-Up\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2975\cellx3585\cellx5055\cellx6535\pard\intbl\tx705 \pard\intbl\qr HC Warm-up Factor\cell\pard \pard\intbl\qr \pard\intbl\qc \cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 200\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2975\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr NOx Warm-up Factor\cell\pard \pard\intbl\qr \pard\intbl\qc \cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 200\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2975\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr CO Warm-up Factor\cell\pard \pard\intbl\qr \pard\intbl\qc \cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 200\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2975\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr HC Factor Time\cell\pard \pard\intbl\qr \pard\intbl\qc s\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 100\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2975\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr NOx Factor Time\cell\pard \pard\intbl\qr \pard\intbl\qc s\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 100\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2975\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr CO Factor Time\cell\pard \pard\intbl\qr \pard\intbl\qc s\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 100\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2975\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr HC Accel Factor\cell\pard \pard\intbl\qr \pard\intbl\qc \cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 200\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2975\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr NOx Accel Factor\cell\pard \pard\intbl\qr \pard\intbl\qc \cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 200\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2975\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr CO Accel Factor\cell\pard \pard\intbl\qr \pard\intbl\qc \cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 200\cell\intbl\row +\pard +\par \trowd\trleft814 \cellx5665 \pard\intbl \pard\intbl\tx705 Engine Data - Auxiliaries\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\tx705 \pard\intbl\qr Drive Ratio\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 200\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Rotational Inertia\cell\pard \pard\intbl\qr \pard\intbl\qc kg/m2\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 200\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Speed\cell\pard \pard\intbl\qr \pard\intbl\qc rpm\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 12000\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Torque\cell\pard \pard\intbl\qr \pard\intbl\qc Nm\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 200\cell\intbl\row +\pard +\par \trowd\trleft814 \cellx5665 \pard\intbl \pard\intbl\tx705 Engine Data - Grid Analysis\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\tx705 \pard\intbl\qr Speed\cell\pard \pard\intbl\qr \pard\intbl\qc rpm\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 12000\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Torque\cell\pard \pard\intbl\qr \pard\intbl\qc Nm\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 1000\cell\intbl\row +\pard +\par \trowd\trleft814 \cellx5665 \pard\intbl \pard\intbl\tx705 Engine Data - Primary Drive\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\tx705 \pard\intbl\qr Drive Ratio\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 20\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Drive Efficiency\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 0.5\cell\pard \pard\intbl\qc 1\cell\intbl\row +\pard +\par \trowd\trleft814 \cellx5665 \pard\intbl \pard\intbl\tx705 Hybrid Data\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\tx705 \pard\intbl\qr Max. Capacity\cell\pard \pard\intbl\qr \pard\intbl\qc kW.h\cell\pard \pard\intbl\qc 10\cell\pard \pard\intbl\qc 1000\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Min. capacity\cell\pard \pard\intbl\qr \pard\intbl\qc kW.h\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 1000\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Max. Out. Torque\cell\pard \pard\intbl\qr \pard\intbl\qc Nm\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 1000\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Max In Torque\cell\pard \pard\intbl\qr \pard\intbl\qc Nm\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 1000\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Output Efficiency\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 0.1\cell\pard \pard\intbl\qc 1\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Input efficiency\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 0.1\cell\pard \pard\intbl\qc 1\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Capacity at Start\cell\pard \pard\intbl\qr \pard\intbl\qc kW.h\cell\pard \pard\intbl\qc 0\cell\pard \pard\intbl\qc 1000\cell\intbl\row +\pard +\par \trowd\trleft814 \cellx5665 \pard\intbl \pard\intbl\tx705 Driver Data\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\tx705 \pard\intbl\qr Cornering Eff.\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 0.5\cell\pard \pard\intbl\qc 1\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Braking Eff\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 0.5\cell\pard \pard\intbl\qc 1\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Braking Balance\cell\pard \pard\intbl\qr \pard\intbl\qc -\cell\pard \pard\intbl\qc 0.5\cell\pard \pard\intbl\qc 1\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Gear Shift Time\cell\pard \pard\intbl\qr \pard\intbl\qc s\cell\pard \pard\intbl\qc 0.1\cell\pard \pard\intbl\qc 5\cell\intbl\row +\trowd\trgaph105\trleft704 \cellx2645\cellx3585\cellx5055\cellx6535\pard\intbl\qc \pard\intbl\qr Min Shift Interval\cell\pard \pard\intbl\qr \pard\intbl\qc s\cell\pard \pard\intbl\qc 0.1\cell\pard \pard\intbl\qc 5\cell\intbl\row +\pard +\par +\par \{button ,AL(`list4',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Column Write Wizard +\par \pard \fs20 Overview +\par \plain\f0\fs20 +\par \f1 The column write wizard allows the user to generate an ASCII column file from the Lotus Vehicle Simulation results that are currently displayed on the graphs. This then provides a route for processing and plotting of the results in external applications such as Excel. +\par +\par The format of the columns can be controlled to be set as real or integer and in the case of real numbers in either \i E\plain\fs20 or \i F\plain\fs20 format with the number of decimal points defined. +\par \pard +\par Simple scaling and shifting can also be applied to individual columns. +\par +\par The column delimitation can be set to either \i space\plain\fs20 , \i tab\plain\fs20 or \i comma\plain\fs20 . +\par +\par Only data currently loaded and displayed on a results graph can be saved through the column wizard, since the selection of the columns is based on picking from the graph\plain\f0\fs20 \'92\f1 s X or Y axes. +\par +\par \{button ,AL(`list5',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Opening the Column Write Wizard +\par \pard \plain\f0\fs20 +\par \f1 To display the column write wizard select the menu item \ul Tools\plain\fs20 / \ul Column Write Wizard\plain\fs20 . (Note; that this window will ignore selection of menu items outside of its own window, and thus must be closed before any other Lotus Vehicle Simulation window can be accessed)\b .\plain\fs20 +\par +\par \{button ,AL(`list5',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Closing the Column Write Wizard +\par \pard \plain\f0\fs20 +\par \f1 To close the column write wizard and return to Lotus Vehicle Simulation select either the \plain\f0\fs20 \'91\f1 close\plain\f0\fs20 \'92\f1 icon at the top right corner of the write wizard window, or \plain\f0\fs20 \'91\f1 close\plain\f0\fs20 \'92\f1 from the write wizard window menu at the top left corner. Closing the column write wizard will lose all current settings.\b +\par \plain\fs20 +\par \{button ,AL(`list5',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Defining the Column Data +\par \pard \plain\f0\fs20 +\par \f1 To define the column data the user must first load and display the required data on a results graph, since column selection is based on picking from the graph\plain\f0\fs20 \'92\f1 s X or Y axes. +\par +\par Set the number of columns required in the appropriate value box then step through each column using the arrow icons and entering the required settings. +\par +\par Default values are pre-set for scale, shift, format width, number of decimal points and format specifier at each column, these can modified as required. The user must select the required axis from x-axis, y-axis 1, y-axis 2, y-axis 3 and y-axis 4, and the required position from 1 to 5. +\par \pard +\par \{button ,AL(`list5',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Data Manipulation +\par \pard \plain\f0\fs20 +\par \f1 Individual columns can be scaled and/or shifted before being written out. +\par +\par To scale a column, display its settings using the arrow icons then enter the required scale value in the \i scale factor\plain\fs20 box. +\par +\par To shift a column, display its settings using the arrow icons then enter the required shift value in the \i shift\plain\fs20 box. +\par +\par If both scale and shift are applied to a column the values are scaled first then shifted. +\par +\par The default values apply a scale factor of 1 and a shift of 0. +\par \pard +\par \{button ,AL(`list5',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Controlling the Column Format +\par \pard \plain\f0\fs20 +\par \f1 The output format of an individual column\plain\f0\fs20 \'92\f1 s values written to a file can be controlled via the format setting values. +\par +\par All graph values are handled as real numbers but can be written as either integers or reals. +\par +\par If writing out as Integers they can be in either integer form or nearest integer form, (i.e. Fortran syntax INT and NINT). To set a column to integer or nearest integer select from the \i Format Specifier\plain\fs20 the \i I Format\plain\fs20 option and set the \i Format Width\plain\fs20 to be wide enough for the largest number. Selecting the \i I format\plain\fs20 option will automatically set the number of decimal places to zero,if the nearest integer value is required this should be set to -1. (note that setting to integer or nearest integer can be done directly by simply editing the \i No. of Decimal points\plain\fs20 to 0 or -1 as required rather than using the \i Format Specifier\plain\fs20 pull down menu. Integer values are output padded with leading blanks. +\par \pard +\par If writing out as reals they can be in either floating point of exponent format. To set a column to real select from \i Format Specifier\plain\fs20 the \i F Format\plain\fs20 option for floating point or the \i E F\plain\fs20 ormat for the exponent format, then set the \i Format Width\plain\fs20 to be wide enough for the largest number and the required number of decimal places. Real numbers are rounded to the last decimal place and padded with leading blanks. +\par +\par If the values exceed the defined format width specified they will be output as \plain\f0\fs20 \'91\f1 *******\plain\f0\fs20 \'92\f1 , and users should thus be wary of defining too small a column width. This mimics the standard Fortran output behaviour. +\par \pard +\par By default the column values are written in \i F Format \plain\fs20 with a \i format width\plain\fs20 of 12 and \i number of decimal points\plain\fs20 as 4. +\par +\par \{button ,AL(`list5',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Setting the Columns as Graph \'85 +\par \pard \plain\f0\fs20 +\par \f1 To set the settings of the column data wizard to be such that they produce a listing of a currently displayed particular graph, the user could set the number of columns and then toggle through the settings for each column picking the axis as x-axis then the appropriate y-axis. for each position until they had all been selected in turn. +\par +\par Alternatively select \ul Options\plain\fs20 / \ul Set as graph\plain\fs20 and chose the required graph. This will then define the no of valid columns and their settings. It will only \plain\f0\fs20 \'91\f1 add in\plain\f0\fs20 \'92\f1 axis that are both switched on and have data values loaded. Thus if no results are currently loaded, no columns will be set to \plain\f0\fs20 \'91\f1 on\plain\f0\fs20 \'92\f1 . The format settings for columns added in this way, will be set to the default settings. Thus this option defines the settings to produce a column file for all lines currently displayed on the selected graph. +\par \pard +\par The number of columns that will be loaded is given by, +\par +\par \pard\tx355 \tab \tab the number of active positions x ( X-axis + Y-axes \{\-if active\'7d ) +\par +\par (note, Individual results files are stored in a position from 1 to 5 to provide a method of cross plotting results from different runs.) +\par +\par (note, The x-axis values from each position file may not be the same and thus the x-axis values for each position file are included in the listing.) +\par +\par \{button ,AL(`list5',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Setting the Columns as Position \'85 +\par \pard \plain\f0\fs20 +\par \f1 To define the settings such that it will produce a column file for all lines currently displayed from a given position, select \ul Options\plain\fs20 / \ul Set as Position\plain\fs20 and chose the required position. This will then define the no of valid columns and their settings. It will only \plain\f0\fs20 \'91\f1 add in\plain\f0\fs20 \'92\f1 axis that are both switched on and have data values loaded. Thus if no results are currently loaded, no columns will be set to \plain\f0\fs20 \'91\f1 on\plain\f0\fs20 \'92\f1 . The format settings for columns added in this way, will be set to the default settings. +\par \pard +\par The number of columns that will be loaded is given by, +\par +\par \pard\tx355 \tab \tab X-axis + number of active Y-axes (for the selected position) +\par +\par (note, Individual results files are stored in a position from 1 to 5 to provide a method of cross plotting results from different runs.) +\par +\par (note, The x-axis values from each position file may not be the same.) +\par +\par \{button ,AL(`list5',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Setting the Column Delimiter +\par \pard \plain\f0\fs20 +\par \f1 Columns files created by this wizard can be separated by either spaces, tabs or commas. +\par +\par The default setting is to use a space between each column. +\par +\par To change the delimiter, select \ul Delimiter\plain\fs20 and the required item from the wizard menubar. +\par +\par \{button ,AL(`list5',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Saving the Column Data to File +\par \pard \plain\f0\fs20 +\par \f1 To save the defined column data to a file enter the required name into the\i Filename\plain\fs20 box and select the \i Write\plain\fs20 button. The file browser icon can also be used to locate the required destination filename. The user is warned if this action will overwrite an existing file. +\par +\par The default file extension types are \plain\f0\fs20 \'91\f1 *.prn\plain\f0\fs20 \'92\f1 for space delimited files, \plain\f0\fs20 \'91\f1 *.txt\plain\f0\fs20 \'92\f1 for tab delimited files and \plain\f0\fs20 \'91\f1 *.csv\plain\f0\fs20 \'92\f1 for comma separated files. (These are in-line with Excel file extensions). +\par \pard +\par \{button ,AL(`list5',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Track Builder / Viewer Tool +\par \pard \fs20 Overview\plain\f0\fs20 +\par +\par \f1 The track builder and viewer tool allows the user to either create a new track model or view and modify an existing track model. The \plain\f0\fs20 \'91\f1 standard\plain\f0\fs20 \'92\f1 track models can also be loaded directly into the viewer. The track is defined as a series of \plain\f0\fs20 \'91\f1 straights\plain\f0\fs20 \'92\f1 and \plain\f0\fs20 \'91\f1 curves\plain\f0\fs20 \'92\f1 with appropriate properties being defined for these sections. +\par +\par The current maximum number of track sections that can be defined is 250. +\par +\par \{button ,AL(`list2',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +\pard\keepn\sb235\sa55 \f1\b\fs28 Opening the Track Builder / Viewer Tool +\par \pard \fs20 +\par \plain\fs20 To display the track builder window select the menu item \ul Tools\plain\fs20 / \ul Track Builder/Viewer\plain\fs20 . (Note; that this window will ignore selection of menu items outside of its own window, and thus must be closed before any other Lotus Vehicle Simulation window can be accessed)\b .\plain\fs20 +\par +\par \{button ,AL(`list2',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \b +\par \page +{\up +} +{\up $} +{\up #} +\pard\keepn\sb235\sa55 \fs28 Closing the Track Builder / Viewer Tool +\par \pard \plain\fs20 +\par To close the track builder window and return to Lotus Vehicle Simulation select either the \plain\f0\fs20 \'91\f1 close\plain\f0\fs20 \'92\f1 icon at the top right corner of the track window, the track window menu at the top left or alternatively select the menu item \ul File\plain\fs20 / \ul Close\plain\fs20 from the track builder menubar. Closing the track window will lose all unsaved data.\b +\par \plain\fs20 +\par \{button ,AL(`list2',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \b +\par \page +{\up +} +{\up $} +{\up #} +\pard\keepn\sb235\sa55 \fs28 Track Data Variables +\par \pard \fs20 +\par \plain\fs20 There are two basic track types, straights and curves, with up to seven variables being used to define each track section, (not all being valid for each type). The values are displayed in the window spread sheet under the following headings. +\par +\par \pard\li845 \b 1) Feature:\plain\fs20 (integer) Identifies the track section as being either a straight (1) or a curve (2). Acceptable integer values are 1 or 2. +\par \b 2) Gradient: \plain\fs20 (real) (deg) Sets the gradient of track on this feature in degrees relative to the horizontal. +\par \b 3) Camber:\plain\fs20 (real) (deg) Sets the camber of track on this feature in degrees to the horizontal. A positive No. is such that the track to the right hand side of the driver is raised. +\par \b 4) Dimension:\plain\fs20 (real) (M) Defines the feature dimension. For straights this set the length of the straight, for curves it set the radius of the curve. +\par \pard\li845 \b 5) Angle:\plain\fs20 (real) (deg) Not used for straights, for curves it defines the angle of the curve segment. +\par \b 6) Width:\plain\fs20 (real) (M) Defines the width of the track.(this variable is not used at present) +\par \b 7)Vmax:\plain\fs20 (real) (Km/h) Defines the maximum velocity permited on this track section. If Vmax = 9999.0 then the maximum achievable velocity is permitted. +\par \pard\li715 +\par +\par \pard The number of track sections controls the spread sheet such that only the defined number of sections are editable. +\par +\par The Maximum time step defines the maximum time step (s) to be used by the solver. +\par +\par \{button ,AL(`list2',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \b +\par \page +{\up +} +{\up $} +{\up #} +\pard\keepn\sb235\sa55 \fs28 Loading and Saving Track Files +\par \pard \plain\fs20 +\par To load an existing track file select \ul File\plain\fs20 / \ul Open\plain\fs20 from the track builder menubar. The file browser is displayed with the default file extension being *.ord. Browse and select the required file, the file is then read and the track data loaded into the window. Note that existing track data will be overwriten and if required should be saved before opening another file, (the user is reminded of this via a message box). +\par +\par Selecting \ul File\plain\fs20 / \ul New\plain\fs20 from the track builder menubar will delete the current track data, and if required should be saved before creating a new track. +\par \pard +\par To save the current track select either \ul File\plain\fs20 / \ul Save\plain\fs20 or \ul File\plain\fs20 / \ul Save_As\plain\fs20 from the track builder menubar. The \i Save\plain\fs20 option will, if appropriate, save the track data to the current filename. The current filename being displayed at the top of the track builder window. The \i Save_as\plain\fs20 option will display the file browser to allow the required filename to be entered. +\par +\par +\par \{button ,AL(`list2',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard \b +\par +\par \page +{\up +} +{\up $} +{\up #} +\pard\keepn\sb235\sa55 \fs28 Loading Standard Track Files +\par \pard \plain\fs20 +\par The \plain\f0\fs20 \'91\f1 standard\plain\f0\fs20 \'92\f1 track files can be loaded into the track builder by selecting \ul File\plain\fs20 / \ul Load Standard\plain\fs20 from the track builder menubar and chosing the required track from the presented alternatives. This data can then be edited and saved to a user specified file just like any other user defined track file. The \plain\f0\fs20 \'91\f1 standard\plain\f0\fs20 \'92\f1 track files are those that are given within the calculation setup window, namely +\par \pard\li715 1) Oval +\par \pard\fi715 2) Lotus Test Track\b +\par \plain\fs20 3) Snetterton Race Circuit - Norfolk\b +\par \pard +\par \plain\fs20 \{button ,AL(`list2',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +\pard\keepn\sb235\sa55 \b\fs28 Inserting and Deleting Track Sections +\par \pard \plain\fs20 +\par To add further sections to the end of a partially defined currently displayed track, edit the value for the No. of track sections to reflect the new required total number of track sections. Editing the No. of track sections value alters the scrollable spread sheet display such that the additional sections can be entered into the display. +\par +\par To insert a new track section into the middle of an existing displayed track, select \ul Edit\plain\fs20 / \ul Insert Section\plain\fs20 from the track builder menubar. You are then prompted for the position in the list at which to insert the new section. The new section is inserted immediately before the entered section No. The number of track sections is increased by one, the existing sections being shuffled and renumbered. The values for this new section should then be entered into the spread sheet. +\par \pard +\par To delete a track section from an existing displayed track, select \ul Edit\plain\fs20 / \ul Delete Section\plain\fs20 from the track builder menubar. You are then prompted for the section No. in the list that you wish to delete. This track section is then removed from the list, the number of track sections automatically reduced by one and the remaining track sections being shuffled and renumbered. +\par +\par \{button ,AL(`list2',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard \b +\par +\par \page +{\up +} +{\up $} +{\up #} +\pard\keepn\sb235\sa55 \fs28 Setting the Track View +\par \pard \fs20 +\par \plain\fs20 The displayed track\plain\f0\fs20 \'92\f1 s view can be manipulated via the \plain\f0\fs20 \'91\f1 zoom\plain\f0\fs20 \'92\f1 and \plain\f0\fs20 \'91\f1 autoscale\plain\f0\fs20 \'92\f1 functions, to enable a portion or all of the track to be viewed. +\par +\par To zoom in on the display select \ul View\plain\fs20 / \ul Zoom\plain\fs20 from the track builder menubar, then with the mouse select one corner of the required area with the left mouse button, then drag the rubber band box and select the other corner, again with the left mouse button. The display is then redrawn showing the selected area. Using the right mouse button for either of the selections cancels the zoom action. The zoom function will not distort the true aspect ratio, the correct relationship between x and y dimensions being maintained. +\par \pard +\par To display the entire track select \ul View\plain\fs20 / \ul Autoscale\plain\fs20 from the track builder menubar. The display will be redrawn to display the complete track, again the correct aspect ratio is maintained. +\par +\par To reflect changes made to data in the spread sheet on the graphical display, the graphics needs to be \i refreshed.\plain\fs20 Select \ul View\plain\fs20 / \ul Refresh\plain\fs20 from the track builder menubar, the display will be redrawn using the current view settings and data values. +\par \pard +\par To assist in identifying track sections the section number as used in the spread sheet can be displayed on the graphical display. To toggle the visibility select \ul View\plain\fs20 / \ul Section No.\plain\fs20 from the track builder menubar, a tick indicates that the visibility is \i on\plain\fs20 .\b +\par \plain\fs20 +\par \{button ,AL(`list2',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \b +\par +\par \page +{\up +} +{\up $} +{\up #} +\pard\keepn\sb235\sa55 \fs28 Track File Format +\par \pard \plain\fs20 +\par User defined track files are stored as ASCII data with the following format. +\par +\par Record 1: \b NSECT, TSTEP\plain\fs20 +\par +\par \pard\fi715\tx355 where \tab \b NSECT\plain\fs20 \tab (integer) (max 50). Number of track sections. +\par \tab \b TSTEP\plain\fs20 \tab \tab (real). (s) Maximum solver time step. +\par \pard\tx355 +\par \pard\tx355 Record 2: \b IFEAT, GRAD, CAMB, DIM, ANG, WIDTH, VMAX\plain\fs20 +\par \pard\tx355 +\par \pard\fi715\tx355 where\tab \b IFEAT\plain\fs20 \tab \tab (integer).Identifies the track section as being either a straight (1) or a curve (2). Acceptable integer values are 1 or 2. +\par \pard\tx355 \tab \tab \b GRAD\plain\fs20 \tab \tab (real) (deg) Sets the gradient of track on this feature in degrees relative to the horizontal. +\par \tab \tab \b CAMB\plain\fs20 \tab \tab (real) (deg) Sets the camber of track on this feature in degrees to the horizontal. A positive No. is such that the track to the right hand side of the driver is raised. +\par \tab \tab \b DIM\plain\fs20 \tab \tab (real) (M) Defines the feature dimension. For straights this set the length of the straight, for curves it set the radius of the curve. +\par \tab \tab \b ANG\plain\fs20 \tab \tab (real) (deg) Not used for straights, for curves it defines the angle of the curve segment. +\par \pard\tx355 \tab \tab \b WIDTH\plain\fs20 \tab \tab (real) (M) Defines the width of the track.(this variable is not used at present) +\par \tab \tab \b VMAX\plain\fs20 \tab \tab (real) (Km/h) Defines the maximum velocity permited on this track section. If Vmax = 9999.0 then the maximum achievable velocity is permitted. +\par \pard\li715\tx355 +\par \pard\tx355 +\par \tab Record 2 is repeated for each track section +\par +\par The following lines show the user track file for the Lotus test Track +\par +\par \fs16 13 0.100000 +\par 1.00000 0.000000E+00 0.000000E+00 426.500 0.0000 10.0000 9999.00 +\par 2.00000 0.000000E+00 0.000000E+00 187.000 -70.0000 10.0000 9999.00 +\par 1.00000 0.000000E+00 0.000000E+00 875.000 0.0000 10.0000 9999.00 +\par \pard\tx355 2.00000 0.000000E+00 0.000000E+00 53.0000 -180.500 10.0000 9999.00 +\par 1.00000 0.000000E+00 0.000000E+00 617.500 0.0000 10.0000 9999.00 +\par 2.00000 0.000000E+00 0.000000E+00 314.000 42.5000 10.0000 9999.00 +\par 1.00000 0.000000E+00 0.000000E+00 195.000 0.0000 10.0000 9999.00 +\par 2.00000 0.000000E+00 0.000000E+00 283.000 31.0000 10.0000 9999.00 +\par \pard\tx355 1.00000 0.000000E+00 0.000000E+00 184.000 0.0000 10.0000 9999.00 +\par 2.00000 0.000000E+00 0.000000E+00 131.000 -39.0000 10.0000 9999.00 +\par 1.00000 0.000000E+00 0.000000E+00 32.0000 0.0000 10.0000 9999.00 +\par 2.00000 0.000000E+00 0.000000E+00 37.7428 -144.000 10.0000 9999.00 +\par 1.00000 0.000000E+00 0.000000E+00 144.129 0.0000 10.0000 9999.00 +\par \pard\tx355 \fs20 +\par \{button ,AL(`list2',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \b +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \fs28 Copying the Track Display to the Clipboard +\par \pard \plain\f0\fs20 +\par \f1 To copy the displayed picture from the track builder to the clipboard select the \ul View / Copy to Clipboard\plain\fs20 menu option from the track builder menubar. The image can then be pasted from the clipboard into a number of proprietary windows applications, e.g. Powerpoint. +\par +\par \{button ,AL(`list2',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Cycle Builder / Viewer Tool +\par \pard \fs20 Overview\plain\f0\fs20 +\par +\par \f1 The cycle builder and viewer tool allows the user to either create a new emissions cycle or view and modify an existing emissions cycle. The \plain\f0\fs20 \'91\f1 standard\plain\f0\fs20 \'92\f1 emissions cycles can also be loaded directly into the viewer. The cycle is defined by a series of time points, the points being set at an equal time increment. For each time step the velocity and gear is defined. +\par +\par The current maximum number of time steps that can be defined is 2000. +\par +\par \pard The velocity time history uses color to identify the defined gear. The default colors for neutral and the first 5 gears are as follows; +\par \pard\tx355 \tab \tab neutral = red, 1st = orange, 2nd = yellow, 3rd = green, 4th = cyan, 5th = blue +\par +\par \{button ,AL(`list3',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \page +{\up +} +{\up $} +{\up #} +\pard\keepn\sb235\sa55 \f1\b\fs28 Opening the Cycle Builder / Viewer Tool +\par \pard \fs20 +\par \plain\fs20 To display the cycle builder window select the menu item \ul Tools\plain\fs20 / \ul Cycle Builder/Viewer\plain\fs20 . (Note; that this window will ignore selection of menu items outside of its own window, and thus must be closed before any other Lotus Vehicle Simulation window can be accessed)\b .\plain\fs20 +\par +\par \{button ,AL(`list3',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \b +\par \page +{\up +} +{\up $} +{\up #} +\pard\keepn\sb235\sa55 \fs28 Closing the Cycle Builder / Viewer Tool +\par \pard \plain\fs20 +\par To close the cycle builder window and return to Lotus Vehicle Simulation select either the \plain\f0\fs20 \'91\f1 close\plain\f0\fs20 \'92\f1 icon at the top right corner of the cycle window, the cycle window menu at the top left or alternatively select the menu item \ul File\plain\fs20 / \ul Close\plain\fs20 from the cycle builder menubar. Closing the cycle window will lose all unsaved data.\b +\par \plain\fs20 +\par \{button ,AL(`list3',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \b +\par +\par \page +{\up +} +{\up $} +{\up #} +\pard\keepn\sb235\sa55 \fs28 Cycle Data Variables +\par \pard \fs20 +\par \plain\fs20 The cycle data consists of a series of points at constant time step increments starting from zero seconds. At each time point the vehicle velocity and gear No. is defined. The values are displayed in the window spread sheet under the following headings. +\par +\par \pard\li845 \b 1) Time:\plain\fs20 (real) (s) Shows the time value for this point. It is not editable directly, being defined by the point number and the current input time step. +\par \b 2) Speed: \plain\fs20 (real) (km/h) Sets the required velocity for this time point. +\par \b 3) Gear:\plain\fs20 (integer) Sets the required gear for this time point. +\par \pard\li715 +\par +\par \pard The \i number of steps\plain\fs20 controls the spread sheet such that only the defined number of time steps are editable. +\par +\par The \i input time step\plain\fs20 sets the time increment between succesive data points. +\par +\par The \i solve time step\plain\fs20 defines the maximum time step (s) to be used by the solver. +\par +\par \{button ,AL(`list3',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \b +\par +\par \page +{\up +} +{\up $} +{\up #} +\pard\keepn\sb235\sa55 \fs28 Loading and Saving Cycle Files +\par \pard \plain\fs20 +\par To load an existing cycle file select \ul File\plain\fs20 / \ul Open\plain\fs20 from the cycle builder menubar. The file browser is displayed with the default file extension being *.cyc. Browse and select the required file, the file is then read and the cycle data loaded into the window. Note that existing cycle data will be overwriten and if required should be saved before opening another file, (the user is reminded of this via a message box). +\par +\par Selecting \ul File\plain\fs20 / \ul New\plain\fs20 from the cycle builder menubar will delete the current cycle data, and if required should be saved before creating a new cycle. +\par \pard +\par To save the current cycle select either \ul File\plain\fs20 / \ul Save\plain\fs20 or \ul File\plain\fs20 / \ul Save_As\plain\fs20 from the cycle builder menubar. The \i Save\plain\fs20 option will, if appropriate, save the cycle data to the current filename. The current filename being displayed at the top of the cycle builder window. The \i Save_as\plain\fs20 option will display the file browser to allow the required filename to be entered. +\par +\par +\par \{button ,AL(`list3',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard \b +\par +\par \page +{\up +} +{\up $} +{\up #} +\pard\keepn\sb235\sa55 \fs28 Loading Standard Cycle Files +\par \pard \plain\fs20 +\par The \plain\f0\fs20 \'91\f1 standard\plain\f0\fs20 \'92\f1 cycle files can be loaded into the cycle builder by selecting \ul File\plain\fs20 / \ul Load Standard\plain\fs20 from the cycle builder menubar and chosing the required cycle from the presented alternatives. This data can then be edited and saved to a user specified file just like any other user defined cycle file. The \plain\f0\fs20 \'91\f1 standard\plain\f0\fs20 \'92\f1 cycle files are those that are given within the calculation setup window, namely +\par \pard\fi715\tx355 1) USA \tab Federal FTP75 +\par \pard\tx355 \tab \tab \tab Federal Highway +\par \tab \tab \tab Federal FTP06 +\par \pard\fi715\tx355 2) EURO\tab EURO +\par \pard\tx355 \tab \tab \tab EUDC +\par \tab \tab \tab EURO + EUDC\b +\par \pard\li715\tx355 \plain\fs20 3) EURO (under powered) +\par \pard\tx355 \tab \tab \tab EURO +\par \tab \tab \tab EUDC +\par \tab \tab \tab EURO + EUDC +\par \tab 4) JAPAN\tab Japanese 15 mode\b +\par +\par \plain\fs20 \{button ,AL(`list3',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +\pard\keepn\sb235\sa55 \b\fs28 Inserting and Deleting Cycle Steps +\par \pard \plain\fs20 +\par To add further time steps to the end of a partially defined currently displayed cycle, edit the value for the No. of time steps to reflect the new required total number of time steps. Editing the No. of time steps value alters the scrollable spread sheet display such that the additional steps can be entered into the display. +\par +\par To insert a new time step into the middle of an existing displayed cycle, select \ul Edit\plain\fs20 / \ul Insert Step\plain\fs20 from the cycle builder menubar. You are then prompted for the position in the list at which to insert the new time step. The new time step is inserted immediately before the entered step No. The number of time steps is increased by one, the existing steps being shuffled and renumbered. The values for this new time step should then be entered into the spread sheet. +\par \pard +\par To delete a time step from an existing displayed cycle, select \ul Edit\plain\fs20 / \ul Delete Step\plain\fs20 from the cycle builder menubar. You are then prompted for the step No. in the list that you wish to delete. This time step is then removed from the list, the number of time steps automatically reduced by one and the remaining time steps being shuffled and renumbered. +\par +\par \{button ,AL(`list3',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \b +\par +\par \page +{\up +} +{\up $} +{\up #} +\pard\keepn\sb235\sa55 \fs28 Setting the Cycle View +\par \pard \fs20 +\par \plain\fs20 The displayed cycle\plain\f0\fs20 \'92\f1 s view can be manipulated via the \plain\f0\fs20 \'91\f1 zoom\plain\f0\fs20 \'92\f1 and \plain\f0\fs20 \'91\f1 autoscale\plain\f0\fs20 \'92\f1 functions, to enable a portion or all of the cycle to be viewed. +\par +\par To zoom in on the display select \ul View\plain\fs20 / \ul Zoom\plain\fs20 from the cycle builder menubar, then with the mouse select one corner of the required area with the left mouse button, then drag the rubber band box and select the other corner, again with the left mouse button. The display is then redrawn showing the selected area. Using the right mouse button for either of the selections cancels the zoom action. +\par \pard +\par To display the entire cycle select \ul View\plain\fs20 / \ul Autoscale\plain\fs20 from the cycle builder menubar. The display will be redrawn to display the complete cycle. +\par +\par To reflect changes made to data in the spread sheet on the graphical display, the graphics needs to be \i refreshed.\plain\fs20 Select \ul View\plain\fs20 / \ul Refresh\plain\fs20 from the cycle builder menubar, the display will be redrawn using the current view settings and data values. +\par +\par \{button ,AL(`list3',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard \b +\par +\par \page +{\up +} +{\up $} +{\up #} +\pard\keepn\sb235\sa55 \fs28 Cycle File Format +\par \pard \plain\fs20 +\par User defined cycle files are stored as ASCII data with the following format. +\par +\par Record 1: \b NSTEP, TINC, TSTEP\plain\fs20 +\par +\par \pard\fi715\tx355 where \tab \b NSECT\plain\fs20 \tab (integer) (max 50). Number of track sections. +\par \tab \b TINC\plain\fs20 \tab \tab (real) (s) Time step increment +\par \tab \b TSTEP\plain\fs20 \tab \tab (real).(s) Maximum solver time step. +\par \pard\tx355 +\par \pard\tx355 Record 2: \b VELO, IGEAR\plain\fs20 +\par \pard\tx355 +\par \pard\fi715\tx355 where\tab \b VELO\plain\fs20 \tab \tab (real).(km/h) Sets the required velocity for this time point. +\par \pard\tx355 \tab \tab \b IGEAR\plain\fs20 \tab \tab (int) Sets the required gear for this time point. +\par \pard\li715\tx355 +\par \pard\tx355 +\par \tab Record 2 is repeated for each time step +\par +\par The following lines shows an extract from the top of the Euro EUDC cycle +\par +\par \plain\f0\fs20 406 1.00000 0.500000 +\par 0.000000E+00 1 +\par 0.000000E+00 1 +\par 0.000000E+00 1 +\par 0.000000E+00 1 +\par 0.000000E+00 1 +\par 0.000000E+00 0 +\par 0.000000E+00 0 +\par 0.000000E+00 0 +\par 0.000000E+00 0 +\par 0.000000E+00 0 +\par 0.000000E+00 0 +\par \pard\tx355 0.000000E+00 0 +\par 0.000000E+00 0 +\par \'85\'85. +\par \'85\'85. +\par \f1 +\par +\par \{button ,AL(`list3',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \b +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \fs28 Copying the Cycle Display to the Clipboard +\par \pard \plain\f0\fs20 +\par \f1 To copy the displayed picture from the cycle builder to the clipboard select the \ul View / Copy to Clipboard\plain\fs20 menu option from the cycle builder menubar. The image can then be pasted from the clipboard into a number of proprietary windows applications, e.g. Powerpoint. +\par +\par \{button ,AL(`list3',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 DataBase Wizard +\par \pard \fs20 Overview\plain\f0\fs20 +\par +\par \f1 The DataBase wizard provides a tool that allows data to be stored and retrieved at a component level, i.e. vehicle, engine, gearbox etc. rather than as a complete Lotus Vehicle Simulation file. The user can create these database files with specific read/write protection levels on them such that access to the data or the ability to overwrite/modify the data requires a password to be given. As further protection of the database files they are 'scrambled' to prevent direct reading of them, but users should be aware that these files could still be corrupted or deleted and regular backups should be performed to maintain data. +\par \pard +\par The database wizard breaks the Lotus Vehicle Simulation data down into three sections, Compulsory, Optional and Controllers, each of these sections has a number of components related to them. The \i\b compulsory\plain\fs20 section consists of those components that are compulsory within a Lotus Vehicle Simulation data file, they have the colour \cf1 'red'\cf6 associated with them. The second section, \i\b optional,\plain\fs20\cf6 consists of the components that are optional within a Lotus Vehicle Simulation data file and have \cf7 'green'\cf6 as their associated colour. The third section, \i\b controllers\plain\fs20\cf6 , contains data elements related to the control of the vehicle and use the \cf3 'blue'\cf6 colour.\plain\fs20 +\par \pard\tx355 +\par The components related to each section and their relevant icons are; +\par +\par \b Compulsory\plain\fs20 +\par \uldb \{bmc bm59.bmp\}\plain\fs20 \tab Vehicle +\par \uldb \{bmc bm60.bmp\}\plain\fs20 \tab Wheel and Tyre +\par \uldb \{bmc bm61.bmp\}\plain\fs20 \tab Final Drive +\par \uldb \{bmc bm62.bmp\}\plain\fs20 \tab Gearbox +\par \uldb \{bmc bm63.bmp\}\plain\fs20 \tab Engine +\par \uldb \{bmc bm64.bmp\}\plain\fs20 \tab Clutch +\par +\par \b Optional\plain\fs20 +\par \uldb \{bmc bm65.bmp\}\plain\fs20 \tab Torque Converter +\par \uldb \{bmc bm66.bmp\}\plain\fs20 \tab Catalyst +\par \uldb \{bmc bm67.bmp\}\plain\fs20 \tab Dynamometer +\par \uldb \{bmc bm68.bmp\}\plain\fs20 \tab Primary Drive +\par \uldb \{bmc bm69.bmp\}\plain\fs20 \tab Auxiliaries +\par \pard\tx355 \uldb \{bmc bm70.bmp\}\plain\fs20 \tab Hybrid (simple) +\par \uldb \{bmc bm71.bmp\}\plain\fs20 \tab Hybrid Battery +\par \uldb \{bmc bm72.bmp\}\plain\fs20 \tab Hybrid Motor +\par \uldb \{bmc bm73.bmp\}\plain\fs20 \tab Hybrid Generator +\par \uldb \{bmc bm74.bmp\}\plain\fs20 \tab Hybrid Drive Regenerator +\par +\par \b Controllers\plain\fs20 +\par \uldb \{bmc bm75.bmp\}\plain\fs20 \tab Shift Maps +\par \uldb \{bmc bm76.bmp\}\plain\fs20 \tab Driver +\par \uldb \{bmc bm77.bmp\}\plain\fs20 \tab Hybrid Control +\par +\par The 'component' approach employed in the database wizard means that any data that is used to define a component will, if entered, be saved/read when the component is saved or loaded. An example of this is the engine component that also includes 'Maps', 'Warm-up' and 'Grid' data sections. A full list of this connectivity is given below in terms of their data file keywords; +\par \pard\tx355 +\par \b Vehicle\plain\fs20 \tab \tab '\i Vehicle', 'Suspensions', 'Aerodynamics' +\par \plain\b\fs20 Wheel/Tyre\tab \tab \plain\i\fs20 'Tyre', 'Xtyre', 'Drive'\plain\fs20 +\par \b Gearbox\plain\fs20 \tab \tab \i 'Gearbox', 'Gloss'\plain\fs20 +\par \b Engine\plain\i\fs20 \tab \tab \tab 'Engine', 'Maps', 'Optimum', 'Eng_scale', 'Warm_up', 'Grid' +\par \plain\b\fs20 Hybrid Battery\tab \tab \plain\i\fs20 'Hybpower', 'Hybloss', 'Hybbattery' +\par \plain\b\fs20 Hybrid Motor\tab \tab \plain\i\fs20 'Hybpower', 'Hybloss' +\par \plain\b\fs20 Hybrid Generator\tab \plain\i\fs20 'Hybpower', 'Hybloss'' +\par \plain\b\fs20 Hybrid Drive Regen\tab \plain\i\fs20 'Hybpower', 'Hybloss'' +\par \plain\fs20 +\par note also that some Lotus Vehicle Simulation data sections are common between a number of components. This has been necessary because of the original Lotus Vehicle Simulation data structure. A particular example of this is with the 'Wheel/tyre' component. The inertia values for the wheels are contained in the 'drive' data section these values are saved with the wheel component rather than the final drive component. +\par \pard\tx355 +\par The database wizard allows for multiple database files to be \uldb opened\plain\fs20 , the \uldb details\plain\fs20 of which can be displayed. The \uldb details\plain\fs20 and \uldb properties\plain\fs20 of individual components within a database can be viewed, \uldb edited\plain\fs20 or the component \uldb removed\plain\fs20 from the database. In addition any current 'Lotus Vehicle Simulation' data can be \uldb added\plain\fs20 to a database file. +\par +\par The database wizard can be used to put together a complete Lotus Vehicle Simulation data file all in one go, or alternatively can be used to just select single components to \uldb add/replace\plain\fs20 that in your current Lotus Vehicle Simulation data. +\par \pard\tx355 +\par \{button ,AL(`list16',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Opening the DataBase Wizard +\par \pard \plain\f0\fs20 +\par \f1 To open the DataBase wizard, select the menu item \ul Tools\plain\fs20 / \ul Database Wizard\plain\fs20 from the main menubar. When the wizard is open the pull down menu option is 'ticked' and all events in other windows ignored. +\par +\par On initially opening the wizard no database files are open. Previously opened database files names are saved to the bottom of the \ul DataBase\plain\fs20 menu on the wizards menubar. +\par +\par \{button ,AL(`list16',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 {\up A} +\b\fs28 Closing the DataBase Wizard +\par \pard \plain\f0\fs20 +\par \f1 To close the DataBase wizard, select either the menu item \ul File\plain\fs20 / \ul Close\plain\fs20 from the wizards menubar, or close from the wizards top left window menu or the close symbol at the top right of the wizards window. +\par +\par On closing the window all data settings within the wizard is lost and all opened database files are closed. Thus all settings are lost on close and will need to be re-set or files re-opened if required when the wizard is subsequently opened. +\par +\par Depending on the method of closing the window and the state of the selected data, a message prompt may be displayed on closing. This prompt is informing the user that they have selected a component from a database file and that if this component data is to be transferred into the current Lotus Vehicle Simulation data, the 'make current' option should be used. This warning is only given if the menu item \ul File\plain\fs20 / \ul Close\plain\fs20 from the wizards menubar is used. +\par \pard +\par On closing the database wizard any open data windows are 'refreshed' to reflect any changes made to the Lotus Vehicle Simulation data. +\par +\par \{button ,AL(`list16',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Creating a New DataBase File +\par \pard \plain\f0\fs20 +\par \f1 To create a new database file, with the database wizard open select the menu item \ul DataBase\plain\fs20 / \ul Create\plain\fs20 from the wizard menubar. The file browser is opened to allow the user to enter the required file name. The default extension for Lotus Vehicle Simulation database files is *.dbs. Note that you cannot select a file name of an existing file. +\par +\par The create dialog box is then displayed through which the user selects whether to apply any protection to the file, give the file an entry name and use three lines of text to describe the contents or function of this particular database file, only the entry name is compulsory. +\par \pard +\par File protection can be one of 'none', 'write' or 'read and write'. If either of the last two options are selected, a password must be entered. Note that the password string is case sensitive. +\par +\par Write protection implies that when ever a user tries to \uldb add a component\plain\fs20 to an opened database file they will be prompted for the required password. 'Read + Write' protection is similar to write protection in that a password is required to add a component to the database file but also that the password is required to initially \uldb open the database\plain\fs20 file. +\par \pard +\par Suggestions for what the entry name and text descriptions should be used for are, to provide easy identification of the database files contents, who created it and when, and whether it is a project specific file or not. +\par +\par Selecting 'Ok' will then create the file and leave it opened. The database file name being added to the 'details' and 'close' pop-up menus. +\par +\par \{button ,AL(`list16',0,"",`main')\} \uldb Related Topics\plain\fs20 \plain\f0\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Opening and Closing a DataBase File +\par \pard \plain\f0\fs20 +\par \f1 An existing database file can be opened in one of two modes, as either 'exclusive' or 'add'. Exclusive as it implies will open the selected file closing all other open database files. The 'add' mode will open the selected file in addition to any already opened. +\par +\par To open a existing database file, with the database wizard open select the menu item \ul DataBase\plain\fs20 / \ul Open (exclusive)\plain\fs20 or \ul DataBase\plain\fs20 / \ul Open (add)\plain\fs20 as required from the wizard menubar. The file browser is opened to allow the user to select the required file. The default extension for Lotus Vehicle Simulation database files is *.dbs. +\par \pard +\par The 5 most recently opened database files names are added to the bottom of the \ul DataBase\plain\fs20 menu and these can be opened in 'add' mode by simply selecting the required file from the list. +\par +\par If a database file has 'read' protection, the user is then prompted for the necessary password before the file will be loaded. Note that the password is case sensitive. +\par +\par When a database file is opened in the 'exclusive' mode the database files that as a result are being closed are checked to see if any component has been 'added' from them. The user is then warned that closing this file will lose the 'added' component details. +\par \pard +\par As database files are opened the file names are added to the \ul Database\plain\fs20 / \ul Close\plain\fs20 and \ul Database\plain\fs20 / \ul Details\plain\fs20 pull down menu lists. +\par +\par To close a database file select the required file name from the \ul Database\plain\fs20 / \ul Close\plain\fs20 list. The user will be warned if this database file currently has a component 'added' from it, and that this selection will be lost. +\par +\par \{button ,AL(`list16',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Viewing a DataBase File +\par \pard \plain\f0\fs20 +\par \f1 The details of an existing database file can be viewed by selecting the menu item \ul DataBase\plain\fs20 / \ul View\plain\fs20 from the wizard menubar. The file browser is opened to allow the user to select the required file. The default extension for Lotus Vehicle Simulation database files is *.dbs. +\par +\par If a database file has 'read' protection, the user is then prompted for the necessary password before the file can be viewed. Note that the password is case sensitive. +\par +\par The details of the particular selected database file are then displayed, giving filename, protection status, entry name and the descriptive strings. +\par \pard +\par \{button ,AL(`list16',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Listing DataBase File Details +\par \pard \plain\f0\fs20 +\par \f1 The details of an opened database file can be viewed by selecting the required filename from the list of opened files under the menu item \ul DataBase\plain\fs20 / \ul Details\plain\fs20 from the wizard menubar. +\par +\par The details of the particular selected database file are then displayed, giving filename, protection status, file number, entry name and the descriptive strings. +\par +\par \{button ,AL(`list16',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Listing Details of a Component +\par \pard \plain\f0\fs20 +\par \f1 Within the database wizard the available components are listed for the current selected component type. The component type is set by selecting the required component from the component icons arranged under the three categories of 'Compulsory', 'Optional' and 'Controllers'. Selecting the required component will change the list title and update the list entries. To identify what component an icon represents select it with the right mouse button. +\par +\par To display the details of a particular component, with the required component highlighted in the list select the 'details' button below the list. Alternatively again with the required component highlighted in the list use the right mouse button and select 'details' from the pop-up menu. +\par \pard +\par The details of the particular selected component are then displayed, giving the component type, its database filename, itas entry no. in the file, entry name and the descriptive strings. +\par +\par \{button ,AL(`list16',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Listing Properties of a Component +\par \pard \plain\f0\fs20 +\par \f1 Within the database wizard the available components are listed for the current selected component type. The component type is set by selecting the required component from the component icons arranged under the three categories of 'Compulsory', 'Optional' and 'Controllers'. Selecting the required component will change the list title and update the list entries. To identify what component an icon represents select it with the right mouse button. +\par +\par To display the properties of a particular component, with the required component highlighted in the list select the 'properties' button below the list. Alternatively again with the required component highlighted in the list use the right mouse button and select 'properties' from the pop-up menu. +\par \pard +\par The properties of the particular selected component are then displayed, giving the entry name, descriptive strings and the associated data. The data is displayed in a scrollable text region, (non-editable), in the standard 'Lotus Vehicle Simulation' data file format. +\par +\par \{button ,AL(`list16',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Editing Properties of a Component +\par \pard \plain\f0\fs20 +\par \f1 Within the database wizard the available components are listed for the current selected component type. The component type is set by selecting the required component from the component icons arranged under the three categories of 'Compulsory', 'Optional' and 'Controllers'. Selecting the required component will change the list title and update the list entries. To identify what component an icon represents select it with the right mouse button. +\par +\par To edit the properties of a particular component, with the required component highlighted in the list select the menu item \ul Component\plain\fs20 / \ul Edit\plain\fs20 from the wizard menubar,. Alternatively again with the required component highlighted in the list use the right mouse button and select 'edit' from the pop-up menu. +\par \pard +\par The properties of the particular selected component are then displayed, giving the entry name, descriptive strings and the associated data. The data is displayed in a scrollable editable text region, in the standard \uldb 'Lotus Vehicle Simulation' data file format\plain\fs20 . +\par +\par The data, (and text strings), can be edited and the changes saved by selecting 'ok', the user is warned that this will permanently change the stored data, and if it is a component that has currently been 'added' to the database wizard model, that this will change the data selection. Selecting 'cancel will ignore any changes made. +\par \pard +\par \{button ,AL(`list16',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Removing a Component from a DataBase File +\par \pard \plain\f0\fs20 +\par \f1 Within the database wizard the available components are listed for the current selected component type. The component type is set by selecting the required component from the component icons arranged under the three categories of 'Compulsory', 'Optional' and 'Controllers'. Selecting the required component will change the list title and update the list entries. To identify what component an icon represents select it with the right mouse button. +\par +\par To remove a particular component from an existing database file, with the required component highlighted in the list select the menu item \ul Component\plain\fs20 / \ul Remove\plain\fs20 from the wizard menubar,. Alternatively again with the required component highlighted in the list use the right mouse button and select 'remove' from the pop-up menu. +\par \pard +\par The user is warned that this will permanently removed the selected component from the database file, and if it is a component that has currently been 'added' to the database wizard model, that this will lose this data selection. +\par +\par \{button ,AL(`list16',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Adding a Component to a DataBase File +\par \pard \plain\f0\fs20 +\par \f1 Within the database wizard the available components are listed for the current selected component type. The component type is set by selecting the required component from the component icons arranged under the three categories of 'Compulsory', 'Optional' and 'Controllers'. Selecting the required component will change the list title and update the list entries. To identify what component an icon represents select it with the right mouse button. +\par +\par To add a particular component to an existing database file the required database file must be open and be the only database file opened. The component data required to save should have been loaded into Lotus Vehicle Simulation as part of a conventional Lotus Vehicle Simulation data file. +\par \pard +\par From the wizard menubar select \ul Component\plain\fs20 / \ul Check-in\plain\fs20 and then the required component, if the required component is 'greyed' out then the data for that component has not been loaded into Lotus Vehicle Simulation. +\par +\par The properties of the particular component to be added are then displayed, giving the entry name, descriptive strings and the associated data. The data is displayed in a scrollable editable text region, in the standard \uldb 'Lotus Vehicle Simulation' data file format\plain\fs20 . This data and text can be edited prior to adding to the database file. An entry name must be given. +\par \pard +\par Users should take every care to ensure that the data saved to a database file is both valid and clearly identified such that it can be safely recovered and used. Ideally data should have at least been checked with the data-checking wizard. +\par +\par \{button ,AL(`list16',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Selecting a Component from the DataBase +\par \pard \plain\f0\fs20 +\par \f1 Within the database wizard the available components are listed for the current selected component type. The component type is set by selecting the required component from the component icons arranged under the three categories of 'Compulsory', 'Optional' and 'Controllers'. Selecting the required component will change the list title and update the list entries. To identify what component an icon represents select it with the right mouse button. +\par +\par To add a particular component into your database wizard model, with the required component highlighted in the list select the 'add' button below the list. Alternatively again with the required component highlighted in the list use the right mouse button and select 'add' from the pop-up menu. +\par \pard +\par If this component type has already been 'added' you will be asked to confirm that you wish to replace your previous section with this selection. +\par +\par To indicate that this component has been added to the wizard model the particular icon on the graphical display will change from white text on a coloured background to coloured text on a grey background. In this way you can clearly see which components have been selected. +\par +\par \{button ,AL(`list16',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \pard +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Cancelling a Component Selection +\par \pard \plain\fs20 +\par To cancel the selection of a particular component in your database wizard model, select the required component by ensuring that the component icon on the graphical display portion of the wizard is 'indented', ( use left mouse button to select) . With the required component selected use the right mouse button and select 'remove' from the pop-up menu. +\par +\par You will be asked to confirm that you wish to cancel your previous section, and the component will then be displayed as 'unselected'. +\par \pard +\par To indicate that this component has been 'unselcted' from the wizard model the particular icon on the graphical display will change from coloured text on a grey background to white text on a coloured background. In this way you can clearly see which components are still selected. +\par +\par \{button ,AL(`list16',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 {\up A} +\b\fs28 Listing Details of a Selected Component +\par \pard \plain\f0\fs20 +\par \f1 To display the details of a selected component, select with the left mouse button from the graphical display on the wizard, the icon for the required component such that it is indented, (do not confuse the component icons at the top left of the wizard window with those on the graphical display. The icons on the top left are for setting the current component type when adding components to the wizard model, whilst those on the graphical display indicate which components have been added and allow specific functions to be applied to them). Use the right mouse button and select 'details' from the pop-up menu. +\par \pard +\par The details of the current selection for that component are then displayed, giving the component type, its database filename, itas entry no. in the file, entry name and the descriptive strings. +\par +\par If no current selection exists for that component, the user is informed via a reduced pop-up menu. +\par +\par \{button ,AL(`list16',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 {\up A} +\b\fs28 Listing Properties of a Selected Component +\par \pard \plain\f0\fs20 +\par \f1 To display the properties of a selected component, select with the left mouse button from the graphical display on the wizard, the icon for the required component such that it is indented, (do not confuse the component icons at the top left of the wizard window with those on the graphical display. The icons on the top left are for setting the current component type when adding components to the wizard model, whilst those on the graphical display indicate which components have been added and allow specific functions to be applied to them). Use the right mouse button and select 'properties' from the pop-up menu. +\par \pard +\par The properties of the current selection for that component are then displayed, giving the entry name, descriptive strings and the associated data. The data is displayed in a scrollable text region, (non-editable), in the standard \uldb 'Lotus Vehicle Simulation' data file format\plain\fs20 . +\par +\par If no current selection exists for that component, the user is informed via a reduced pop-up menu. +\par +\par \{button ,AL(`list16',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Making the Selected Data Current +\par \pard \plain\f0\fs20 +\par \f1 To move the selected component data from the database wizard and copy it into your Lotus Vehicle Simulation data you must use the \ul File\plain\fs20 / \ul Make Current\plain\fs20 menu item from the database wizard menubar. This will extract the data values from the database files for the selected components and load them into the current Lotus Vehicle Simulation data. This will overwrite any current Lotus Vehicle Simulation data for the components selected. Note that the Lotus Vehicle Simulation data values for components not selected within the wizard are left unchanged, thus individual components can be extracted from database files and added to or replace existing components in your Lotus Vehicle Simulation data. +\par \pard +\par \{button ,AL(`list16',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Users Guide - File Formats\plain\fs24 +\par \pard \b +\par \plain\fs20 LOTUS VEHICLE SIMULATION uses several file types for the storage of data and results. These are: +\par +\par \pard\li275\fi-275\tx355 \f2\fs18 \'b7\tab \f1\fs20 *.car : Contains the model data eg. Chassis, engine and transmission specifications\b\fs24 +\par \plain\f2\fs18 \'b7\tab \f1\fs20 *_n.crs : Text results file detailing modelled specification and simulation results\b\fs24 +\par \plain\f2\fs18 \'b7\tab \f1\fs20 *_n.grs : Graphical results file containing complete simulation results\b\fs24 +\par \plain\f2\fs18 \'b7\tab \f1\fs20 *_n.grd : Text results file containing grid simulation results\b\fs24 +\par \plain\f2\fs18 \'b7\tab \f1\fs20 *.cyc : User drive-cycle datafile - created using cycle builder\b\fs24 +\par \plain\f2\fs18 \'b7\tab \f1\fs20 *.ord : User track datafile - created using track builder\b\fs24 +\par \pard\li275\fi-275\tx355 \plain\f2\fs18 \'b7\tab \f1\fs20 *.prn : Space delimited column format results file\b\fs24 +\par \plain\f2\fs18 \'b7\tab \f1\fs20 *.txt : Tab delimited column format results file\b\fs24 +\par \plain\f2\fs18 \'b7\tab \f1\fs20 *.csv : Comma delimited column format results file\b\fs24 +\par \plain\f2\fs18 \'b7\tab \f1\fs20 *.stg : STAGS graph files - for the Lotus graph plotting software program \plain\f0\fs20 \'91\f1 STAGS\plain\f0\fs20 \'92\f1\b\fs24 +\par \pard\tx355 +\par \pard\tx355 \plain\fs20 For the \plain\f0\fs20 \'91\f1 crs\plain\f0\fs20 \'92\f1 , \plain\f0\fs20 \'91\f1 grs\plain\f0\fs20 \'92\f1 and \plain\f0\fs20 \'91\f1 grd\plain\f0\fs20 \'92\f1 files n is the \i Plot File Counter\plain\fs20 number which is incremented for each calculation, and the \plain\f0\fs20 \'91\f1 *\plain\f0\fs20 \'92\f1 is the \i Test No.\plain\fs20 string supplied by the user, both are displayed in the vehicle data window. +\par \pard\tx355 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Brief Explanations - Introduction\plain\fs24 +\par \pard \b +\par \plain\fs20 The three basic steps necessary to create and run a LOTUS VEHICLE SIMULATION vehicle simulation are;\b\fs24 +\par \plain\fs20 +\par \pard\tx355 \tab Step 1 Generate the model data through either editing the data values into the appropriate data windows, or load them from an existing data file. +\par +\par \tab Step 2 Select the required solution type, defining any user specific track or cycle file and solve. +\par +\par \tab Step 3 Load the simulation results as either textual or graphical displays to review the calculated values. +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Brief Explanations - Generating a Model\plain\fs24 +\par \pard \fs20 +\par Generating a model is the process by which the user identifies the modelling options required and sets the relevant data values. The data is for convenience broken down into eight major sub-sections, three of which are further sub-divided. +\par +\par Each sub-section has its own window that can be opened through either the main pull down menus or the \ul tool bar icons\plain\fs20 . +\par +\par Some of the data sections are \plain\f0\fs20 \'91\f1 optional\plain\f0\fs20 \'92\f1 , where this is the case the sub section\plain\f0\fs20 \'92\f1 s window will contain a combi-box to toggle the option \plain\f0\fs20 \'91\f1 on\plain\f0\fs20 \'92\f1 and \plain\f0\fs20 \'91\f1 off\plain\f0\fs20 \'92\f1 . Optional data values will be \plain\f0\fs20 \'91\f1 greyed\plain\f0\fs20 \'92\f1 out until their option is set \plain\f0\fs20 \'91\f1 on\plain\f0\fs20 \'92\f1 . +\par \pard +\par Where the data values are of a graphical nature the \ul graph icon\plain\fs20 can be used to open the graphical display of the data for viewing, listing, printing etc. +\par +\par Each required sub sections window should be opened in-turn and the required data values entered. Once entered, data values are retained even when that sub-section\plain\f0\fs20 \'92\f1 s window is closed, data is only overwritten if a data file is \plain\f0\fs20 \'91\f1 loaded\plain\f0\fs20 \'92\f1 or the \plain\f0\fs20 \'91\f1 new\plain\f0\fs20 \'92\f1 file option is selected. The \plain\f0\fs20 \'91\f1 new\plain\f0\fs20 \'92\f1 file option returns all modelling option settings to the defaults and zero\plain\f0\fs20 \'92\f1 s all data values. +\par \pard +\par A number of the data variables are selected from a combi-box, this presents a fixed list of the available choices and helps to minimise data entry errors. The validity of the current defined data can be checked using the \uldb \i Data Checking Wizard\plain\i\fs20 \plain\fs20 which identifies by section, any data irregularities. +\par +\par Spread sheet type forms are used for the entry of the 2d curves and 3d maps. The spread sheets support \plain\f0\fs20 \'91\f1 cut and paste\plain\f0\fs20 \'92\f1 type functionality via the right mouse button, which can be used to speed up repetitive data entry. If the individual cells of a spread sheet are \plain\f0\fs20 \'91\f1 greyed out\plain\f0\fs20 \'92\f1 this implies that either the relevant option is \plain\f0\fs20 \'91\f1 off\plain\f0\fs20 \'92\f1 or that the necessary spread sheet dimension(s) variable has not been set. Where multiple curves or maps are employed \plain\f0\fs20 \'91\f1 arrow\plain\f0\fs20 \'92\f1 icons are used to step through the defined data sets. +\par \pard +\par Existing data files can be loaded using either the \ul file open icon\plain\fs20 , or by using the pull down menu options. Since the \plain\f0\fs20 \'91\f1 *.car\plain\f0\fs20 \'92\f1 data files are ASCII text files and can thus be edited direct, two tools are provided within Lotus Vehicle Simulation to allow the user to either view the file or view and edit the data file. A direct link exists between these tools and the Lotus Vehicle Simulation data windows to allow data to be transferred between them without having to write and load data files. +\par \pard +\par \{button ,AL(`list10',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Brief Explanations - Solving a Model\plain\fs24 +\par \pard \fs20 +\par The solve module controls which particular calculation run is performed from the available options. The user can specify a steady speed test, an acceleration test, an emissions test and a track test, with sub-options available with each. Sub solution options included setting the required shift map, identifying the particular emissions cycle or selecting the target acceleration. +\par +\par To solve a model \uldb open\plain\fs20 the \i Calculation Set-up\plain\fs20 window and \uldb set\plain\fs20 the required solution run, setting any relevant sub options and solution run values. +\par \pard +\par Once the run has been defined selecting the \ul run icon\plain\fs20 will perform the calculations, displaying either a simple progress bar or the animated results on the \uldb telemetry screen\plain\fs20 . +\par +\par +\par \{button ,AL(`list9',0,"",`main')\} \uldb Related Topics\plain\fs20 +\par \plain\f0\fs20 +\par \f1 +\par \page +{\up +} +{\up $} +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Brief Explanations - Viewing Results\plain\fs24 +\par \pard \fs20 +\par The \i Result File Viewer\plain\fs20 is a scrollable resizable text window that allows the user to load, read and print the Lotus Vehicle Simulation text results files. These text results files contain a summary of the input data, the solution type and the major results pertinent to the solution run. +\par +\par \{button ,AL(`list7',0,"",`main')\} \uldb Related Text Results Topics\plain\fs20 +\par +\par The \i Result Graph Viewer\plain\fs20 is a resizable graphics window that allows the user to load, plot and print the Lotus Vehicle Simulation graphical results files that contain up to 77 calculated variables. Within the window a maximum of four graphs can be plotted, either as individual plots or overlayed on a single graph. All graphs are plotted against a single common x-axis variable. Cross plotting of up to five graphical results can be employed to enable rapid presentation of trends and differences to be performed. +\par \pard +\par \{button ,AL(`list8',0,"",`main')\} \uldb Related Graph Results Topics\plain\fs20 +\par \plain\f0\fs20 +\par \f1 Once the calculation is complete the results either textual or graphical can be loaded into the appropriate window. +\par +\par For text results \uldb open\plain\fs20 the text results file viewer and \uldb load\plain\fs20 the required text results file, selecting \uldb load current\plain\fs20 will load the last runs text results. +\par +\par For graph results \uldb open\plain\fs20 the graph viewer and \uldb load\plain\fs20 the required graphical results file, selecting \uldb load current\plain\fs20 will load the last runs graphical results.\plain\f0\fs20 +\par \pard +\par \f1 If the variables displayed need to be changed, open the \uldb \i specify graph axes\plain\i\fs20 \plain\fs20 window and set the required axes. The \uldb \i Autoscale\plain\i\fs20 \plain\fs20 . \uldb \i Zoom\plain\i\fs20 \plain\fs20 and \uldb \i Axis Scales\plain\i\fs20 \plain\fs20 functions can be used to manipulated the actual displayed area. +\par +\par Additional functionality can be used to \uldb cross plot\plain\fs20 the results against a previous run, \uldb list point values\plain\fs20 and \uldb generate hard copies\plain\fs20 of the graphs. +\par \plain\f0\fs20 +\par \page +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Naturally Aspirated / Turbocharged Simulation Input File +\par \pard \fs20 +\par NATURALLY ASPIRATED SIMULATION INPUT FILE +\par \plain\fs20 +\par ELAN 1.6 NA +\par SIMULATION +\par elana 301 +\par VEHICLE +\par 1175. +\par 1.920 0.3300 0.0000E+00 0.0000E+00 0.0000E+00 +\par 1.205 +\par 2.250 1.000 1.000 0.7425 0.4200 +\par TYRE +\par 0.2830 +\par 2 1.000 0.9500 +\par 10.00 -0.6418E-01 0.4274E-02 0.0000E+00 0.0000E+00 0.0000E+00 +\par DRIVE +\par 1 +\par 0.3692 0.3713 +\par 0.1000E-04 0.0000E+00 +\par 4.117 0.9700 2 +\par \pard GEARBOX +\par 5 200.0 0.0000E+00 2 +\par 3.333 0.9600 0.3600E-03 +\par 1.916 0.9600 0.1700E-03 +\par 1.333 0.9600 0.1400E-03 +\par 1.027 0.9500 0.1100E-03 +\par 0.8290 0.9500 0.9000E-04 +\par GSHIFT +\par 0 +\par CLUTCH +\par 1 5.000 +\par PDRIVE +\par 1.000 1.000 2 +\par ENGINE +\par 1 +\par 80.00 79.00 10.00 4 4 0.8200E-01 +\par 1000. 7600. +\par 19 +\par 1000. 7.980 +\par 1400. 8.440 +\par \pard 1800. 8.900 +\par 2200. 9.130 +\par 2600. 9.440 +\par 3000. 9.670 +\par 3400. 9.900 +\par 3800. 10.21 +\par 4200. 10.55 +\par 4600. 10.75 +\par 5000. 10.59 +\par 5400. 10.55 +\par 5800. 10.44 +\par 6200. 10.17 +\par 6600. 10.00 +\par 7000. 9.750 +\par 7200. 9.670 +\par 7400. 9.290 +\par 7600. 8.910 +\par +\par \b TURBOCHARGED SIMULATION INPUT FILE\plain\fs20 +\par +\par ELAN 1.6 TURBO +\par SIMULATION +\par \pard elant 301 +\par VEHICLE +\par 1191. +\par 1.920 0.3300 0.0000E+00 0.0000E+00 0.0000E+00 +\par 1.205 +\par 2.250 0.0000E+00 0.0000E+00 0.7425 0.4200 +\par TYRE +\par 0.2830 +\par 2 1.000 0.9500 +\par 10.00 -0.6418E-01 0.4274E-02 0.0000E+00 0.0000E+00 0.0000E+00 +\par DRIVE +\par 1 +\par 0.3692 0.3713 +\par 0.1000E-04 0.0000E+00 +\par 3.833 0.9700 2 +\par GEARBOX +\par 5 200.0 0.0000E+00 2 +\par 3.333 0.9600 0.3600E-03 +\par \pard 1.916 0.9600 0.1700E-03 +\par 1.333 0.9600 0.1400E-03 +\par 1.027 0.9500 0.1100E-03 +\par 0.8290 0.9500 0.9000E-04 +\par GSHIFT +\par 0 +\par CLUTCH +\par 1 5.000 +\par PDRIVE +\par 1.000 1.000 2 +\par ENGINE +\par 1 +\par 80.00 79.00 10.00 4 4 0.8200E-01 +\par 1000. 7000. +\par 13 +\par 1000. 7.320 +\par 1500. 10.52 +\par 2000. 12.96 +\par 2500. 14.42 +\par 3000. 15.21 +\par 3500. 15.61 +\par \pard 4000. 15.77 +\par 4500. 15.77 +\par 5000. 15.77 +\par 5500. 15.57 +\par 6000. 15.02 +\par 6500. 14.30 +\par 7000. 12.88 +\par +\par \page +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Naturally Aspirated / Turbocharged Simulation Results Files +\par \pard \plain\f0\fs20 +\par \pard\qc \f1\b\fs24 NATURALLY ASPIRATED SIMULATION RESULTS FILE\plain\f5\fs20 +\par \pard \f6 =================================================================== +\par VEHICLE PERFORMANCE SIMULATION PROGRAM - p2 +\par Test No. elana Counter No. 1 +\par run at 10:37:45 on 26/ 5/98 +\par ==================================================================== +\par +\par ELAN 1.6 NA +\par SIMULATION +\par RESULTS +\par ~~~~~~~ +\par Vehicle Acceleration From Rest (Slip start) +\par \pard +\par Total Cycle Time . . . 80.0 s +\par +\par Dist Travelled (nom) . 3570.0 m +\par Dist Travelled (nom) . 3.570 km +\par Dist Travelled (nom) . 2.218 miles +\par Mean Power Developed . 84.70 kw +\par +\par Default Gear Shift Map +\par No. of Gear Changes 4 +\par +\par Time to Speed +\par MPH Time (s) Ratio:1 RPM KMH Time (s) Ratio:1 RPM +\par 0 - 10 = 0.891 3.333 4595. 0 - 10 = 0.551 3.333 4596. +\par 0 - 20 = 1.802 3.333 4593. 0 - 20 = 1.111 3.333 4595. +\par \pard 0 - 30 = 2.877 3.333 6377. 0 - 30 = 1.678 3.333 4593. +\par 0 - 40 = 4.434 1.916 4840. 0 - 40 = 2.303 3.333 5291. +\par 0 - 50 = 6.300 1.916 6045. 0 - 50 = 3.001 3.333 6601. +\par 0 - 60 = 8.363 1.916 7245. 0 - 60 = 3.947 1.916 4512. +\par 0 - 70 = 11.320 1.333 5860. 0 - 70 = 5.073 1.916 5262. +\par 0 - 80 = 14.773 1.333 6693. 0 - 80 = 6.244 1.916 6011. +\par 0 - 90 = 18.931 1.333 7522. 0 - 90 = 7.492 1.916 6757. +\par \pard 0 - 100 = 25.981 1.027 6430. 0 - 100 = 8.850 1.916 7497. +\par 0 - 110 = 36.120 1.027 7070. 0 - 110 = 10.798 1.333 5722. +\par 0 - 120 = 12.833 1.333 6240. +\par 0 - 130 = 15.064 1.333 6758. +\par 0 - 140 = 17.553 1.333 7274. +\par 0 - 150 = 21.001 1.027 5994. +\par 0 - 160 = 25.513 1.027 6392. +\par \pard 0 - 170 = 31.099 1.027 6791. +\par 0 - 180 = 38.645 1.027 7189. +\par 0 - 190 = 53.345 1.027 7583. +\par +\par Time to Distance +\par Time (s) Ratio:1 RPM MPH KMH +\par 400 M = 16.5003 1.3330 7063.7 84.5 135.9 +\par 1/4 Mile = 16.5621 1.3330 7076.4 84.6 136.2 +\par Kilometre = 30.4462 1.0270 6749.1 105.0 169.0 +\par \pard Mile = 42.8175 1.0270 7347.3 114.3 184.0 +\par +\par Distance in Time +\par Distance in 3.0 seconds = 22.225 m +\par Distance in 5.0 seconds = 55.933 m +\par +\par Gear Change Points +\par Distance (m) Time (s) Ratio:1 RPM MPH KMH +\par 30.1 3.5250 3.3330 7497.6 35.4 56.9 +\par 152.2 9.0250 1.9160 7582.8 62.9 101.2 +\par 514.9 19.4250 1.3330 7596.4 91.0 146.4 +\par \pard 2251.5 55.1244 1.0270 7599.9 118.4 190.5 +\par +\par ===================================================================== +\par +\par \pard\qc \f1\b\fs24 TURBOCHARGED SIMULATION RESULTS FILE\plain\f6\fs20 +\par \pard +\par ===================================================================== +\par VEHICLE PERFORMANCE SIMULATION PROGRAM - p2 +\par Test No. elant Counter No. 2 +\par run at 10:38:59 on 26/ 5/98 +\par =================================================================== +\par +\par ELAN 1.6 TURBO +\par SIMULATION +\par RESULTS +\par ~~~~~~~ +\par Vehicle Acceleration From Rest (Slip start) +\par \pard +\par Total Cycle Time . . . 80.0 s +\par +\par Dist Travelled (nom) . 4071.0 m +\par Dist Travelled (nom) . 4.071 km +\par Dist Travelled (nom) . 2.530 miles +\par Mean Power Developed . 117.41 kw +\par +\par Default Gear Shift Map +\par No. of Gear Changes 4 +\par +\par Time to Speed +\par MPH Time (s) Ratio:1 RPM KMH Time (s) Ratio:1 RPM +\par 0 - 10 = 0.866 3.333 1994. 0 - 10 = 0.536 3.333 1825. +\par 0 - 20 = 1.736 3.333 3997. 0 - 20 = 1.081 3.333 2484. +\par \pard 0 - 30 = 2.605 3.333 5995. 0 - 30 = 1.618 3.333 3725. +\par 0 - 40 = 3.787 1.916 4539. 0 - 40 = 2.157 3.333 4967. +\par 0 - 50 = 5.089 1.916 5669. 0 - 50 = 2.698 3.333 6209. +\par 0 - 60 = 6.535 1.916 6780. 0 - 60 = 3.440 1.916 4231. +\par 0 - 70 = 8.604 1.333 5482. 0 - 70 = 4.236 1.916 4935. +\par 0 - 80 = 10.841 1.333 6258. 0 - 80 = 5.050 1.916 5637. +\par 0 - 90 = 13.664 1.027 5408. 0 - 90 = 5.916 1.916 6331. +\par \pard 0 - 100 = 17.399 1.027 6006. 0 - 100 = 6.919 1.365 6891. +\par 0 - 110 = 22.119 1.027 6601. 0 - 110 = 8.260 1.333 5353. +\par 0 - 120 = 29.885 0.829 5805. 0 - 120 = 9.589 1.333 5837. +\par 0 - 130 = 44.911 0.829 6286. 0 - 130 = 11.030 1.333 6318. +\par 0 - 140 = 12.651 1.333 6796. +\par 0 - 150 = 14.788 1.027 5600. +\par 0 - 160 = 17.162 1.027 5972. +\par \pard 0 - 170 = 19.890 1.027 6342. +\par 0 - 180 = 23.194 1.027 6710. +\par 0 - 190 = 27.986 0.829 5712. +\par 0 - 200 = 34.876 0.829 6011. +\par 0 - 210 = 46.111 0.829 6310. +\par +\par Time to Distance +\par Time (s) Ratio:1 RPM MPH KMH +\par \pard 400 M = 15.0697 1.0270 5646.9 94.0 151.3 +\par 1/4 Mile = 15.1253 1.0270 5656.0 94.1 151.5 +\par Kilometre = 27.5386 0.8290 5688.5 117.6 189.2 +\par Mile = 38.6500 0.8290 6133.4 126.8 204.1 +\par +\par Distance in Time +\par Distance in 3.0 seconds = 23.566 m +\par Distance in 5.0 seconds = 61.012 m +\par +\par Gear Change Points +\par Distance (m) Time (s) Ratio:1 RPM MPH KMH +\par \pard 24.0 3.0250 3.3330 6924.4 34.7 55.9 +\par 106.7 6.8250 1.9160 6972.7 61.8 99.4 +\par 332.5 13.4250 1.3330 6993.7 89.6 144.2 +\par 952.2 26.6249 1.0270 6998.2 116.7 187.9 +\par +\par ============================================================================ +\par +\par \page +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Engine Inertia Data +\par \pard \plain\fs24 +\par \fs20 The following curve provides a relatively general correlation for the relationship between engine inertia and the engine swept volume. This is a first approximation and can not be expected to provide close agreement for all types. +\par +\par \uldb \{bmc bm78.bmp\}\plain\fs20 +\par +\par \page +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \b\fs28 Automatic Economy Simulation Input File\f6 +\par \pard \plain\f6\fs20 1.5L AUTOMATIC +\par ECONOMY STUDY +\par autotrans 301 +\par VEHICLE +\par 1205. +\par 1.950 0.3800 0.0000E+00 0.0000E+00 0.0000E+00 +\par 1.205 +\par 2.450 1.000 1.000 0.8860 0.6000 +\par DYNO +\par 1250. 345.0 0.0000E+00 0.8000E-01 +\par TYRE +\par 0.2810 +\par 1 1.000 0.9500 +\par DRIVE +\par 2 +\par 0.6770 0.6770 +\par 0.0000E+00 0.0000E+00 +\par 3.742 0.9600 2 +\par GEARBOX +\par 4 0.0000E+00 0.0000E+00 2 +\par 3.027 0.9800 0.4330E-01 +\par \pard 1.619 0.9800 0.4470E-01 +\par 1.000 0.9800 0.7520E-01 +\par 0.6940 0.9800 0.7870E-01 +\par GSHIFT +\par 1 +\par Econ-Map +\par 10 1 3 +\par 0.0000E+00 +\par 0.0000E+00 12.00 +\par 9.000 26.00 +\par 9.000 35.00 +\par 40.00 170.0 +\par 0.4000 +\par 0.0000E+00 12.00 +\par 9.000 26.00 +\par 14.00 35.00 +\par 40.00 170.0 +\par 0.7000 +\par 0.0000E+00 12.00 +\par 9.000 26.00 +\par 19.00 35.00 +\par 40.00 170.0 +\par \pard 0.7800 +\par 0.0000E+00 12.00 +\par 9.000 26.00 +\par 20.00 65.00 +\par 40.00 170.0 +\par 0.8000 +\par 0.0000E+00 12.00 +\par 9.000 54.00 +\par 20.00 86.00 +\par 40.00 170.0 +\par 0.8600 +\par 0.0000E+00 12.00 +\par 9.000 71.00 +\par 30.00 110.0 +\par 40.00 170.0 +\par 0.9000 +\par 0.0000E+00 12.00 +\par 9.000 86.00 +\par 48.00 130.0 +\par 87.00 170.0 +\par 0.9400 +\par 0.0000E+00 12.00 +\par 9.000 100.0 +\par \pard 66.00 154.0 +\par 104.0 170.0 +\par 0.9800 +\par 0.0000E+00 12.00 +\par 44.00 103.0 +\par 75.00 170.0 +\par 142.0 170.0 +\par 1.000 +\par 0.0000E+00 58.00 +\par 44.00 103.0 +\par 75.00 170.0 +\par 142.0 170.0 +\par 2 0 +\par TORQUE CONVERTER +\par 11 +\par 0.0000000E+00 0.1000000 0.2000000 0.3000000 0.4000000 +\par 0.5000000 0.6000000 0.7000000 0.8000000 0.9000000 +\par 1.000000 +\par 2.280000 2.120000 1.960000 1.800000 1.640000 +\par \pard 1.480000 1.320000 1.160000 1.000000 1.000000 +\par 1.000000 +\par 23.30000 23.40000 23.60000 23.80000 24.10000 +\par 24.80000 25.80000 27.10000 29.30000 37.40000 +\par 1000.000 +\par 1 1 1 +\par 1.000 6000. 6000. 3200. 3200. +\par 2050. 2050. 1400. 1400. +\par 0 +\par PDRIVE +\par 1.000 1.000 1 +\par ENGINE +\par 1 +\par 77.00 79.00 10.00 4 4 0.1261 +\par \pard 850.0 6500. +\par 16 +\par 850.0 7.370 +\par 1000. 7.620 +\par 1400. 8.210 +\par 1800. 8.800 +\par 2200. 9.130 +\par 2600. 9.880 +\par 3000. 10.05 +\par 3400. 9.800 +\par 3800. 9.800 +\par 4200. 10.14 +\par 4600. 10.22 +\par 5000. 9.800 +\par 5400. 9.630 +\par 5800. 9.130 +\par 6200. 8.290 +\par 6500. 7.120 +\par MAPS +\par 16 +\par 850.0 1000. 1400. 1800. 2200. +\par \pard 2600. 3000. 3400. 3800. 4200. +\par 4600. 5000. 5400. 5800. 6200. +\par 6500. +\par 12 +\par 0.1000E-01 0.8380 1.676 2.514 3.352 +\par 4.190 5.028 5.866 6.704 7.542 +\par 8.380 9.218 +\par 1 +\par 1 2 0.7500 0.4200E+05 1.00 FUEL g/kW.h +\par 0.6973E+05 1008. 572.9 504.1 406.7 +\par 368.3 351.8 368.3 376.6 408.3 +\par \pard 440.2 471.7 +\par 0.5930E+05 816.3 462.1 381.0 340.1 +\par 313.1 299.1 313.1 320.1 347.1 +\par 374.2 401.0 +\par 0.4781E+05 748.0 461.9 374.0 313.0 +\par 299.0 292.0 286.0 286.0 298.9 +\par 326.1 353.1 +\par 0.3865E+05 680.0 449.0 367.0 313.0 +\par 299.0 279.0 270.0 264.9 270.1 +\par 299.0 311.9 +\par 0.3651E+05 653.1 435.1 353.0 299.0 +\par \pard 292.0 278.9 270.0 264.9 270.0 +\par 286.0 300.0 +\par 0.3701E+05 748.0 476.0 367.0 306.0 +\par 292.1 286.1 278.9 264.9 265.0 +\par 279.1 299.0 +\par 0.3798E+05 748.0 476.0 353.0 313.0 +\par 299.0 285.9 278.9 271.9 265.0 +\par 286.0 313.0 +\par 0.3874E+05 680.1 449.0 367.2 318.9 +\par 313.0 291.9 278.9 279.0 286.0 +\par \pard 313.0 313.0 +\par 0.3871E+05 653.0 449.0 381.1 340.0 +\par 326.0 326.1 340.1 326.0 326.0 +\par 313.0 313.0 +\par 0.3872E+05 748.0 517.2 407.9 393.9 +\par 374.0 347.0 353.0 340.0 326.0 +\par 319.0 313.0 +\par 0.5478E+05 789.0 639.0 544.0 476.0 +\par 435.0 394.0 367.0 360.0 353.0 +\par 340.0 333.0 +\par 0.6829E+05 952.2 789.0 585.1 489.1 +\par \pard 476.0 428.0 421.0 401.0 381.0 +\par 367.0 381.0 +\par 0.7976E+05 1292. 816.1 639.0 530.0 +\par 516.9 476.0 462.0 449.0 408.0 +\par 394.0 408.0 +\par 0.9116E+05 1400. 856.2 666.0 612.0 +\par 544.0 502.9 476.0 469.0 442.0 +\par 428.0 442.0 +\par 0.9120E+05 1496. 952.1 692.9 666.1 +\par 598.1 544.0 530.0 476.0 476.0 +\par \pard 476.0 496.0 +\par 0.9950E+05 1577. 982.8 710.9 672.6 +\par 600.3 543.8 526.9 472.7 470.7 +\par 469.0 486.7 +\par 2 +\par 0.1220 0.1220 0.1220 0.1220 0.1220 +\par 0.1200 0.1220 0.1220 0.1220 0.1220 +\par 0.1220 0.1220 0.1220 0.1220 0.1220 +\par 0.1220 +\par AUXILIARIES +\par 1 +\par AIR-CON +\par 1 2 1.000 0.1000E-02 +\par 1000. 15.13 +\par 6000. 15.13 +\par \pard DRIVER +\par 0.5000 1.000 0.5000 0.3000 0.3000 0 +\par +\par \page +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Economy Simulation Results +\par \pard \plain\f6\fs20 +\par ==================================================================== +\par VEHICLE PERFORMANCE SIMULATION PROGRAM - p1 +\par Test No. at3 Counter No. 5 +\par run at 7:53: 6 on 27/ 5/98 +\par ===================================================================== +\par +\par 1.5L AUTOMATIC +\par ECONOMY STUDY +\par INPUT DATA +\par ~~~~~~~~~~ +\par \pard VEHICLE +\par ~~~~~~~ +\par Weight . . . . . . . . 1205.0 kg +\par Frontal Area . . . . . 1.950 m2 Plan Area. . . . . . . 0.000 m2 +\par Air Density. . . . . . 1.205 kg/m3 Drag Coefficient . . . 0.380 +\par Front Lift Coeff . . . 0.000 Rear Lift Coeff. . . . 0.000 +\par Wheel Base . . . . . . 2.45 m Track. . . . . . . . . 1.00 m +\par CoG to front axle. . . 0.89 m CoG to ground. . . . . 0.60 m +\par DYNAMOMETER +\par ~~~~~~~~~~~ +\par Dyno Inertia Weight. . 1250.0 kg Load A constant. . . . 345.000 +\par \pard Load B*v constant. . . 0.000 Load C*v2 constant . . 0.080 +\par TYRE +\par ~~~~ +\par Rolling Radius . . . . 0.2810 m Coeff.of Friction. . . 1.000 +\par Default Rolling Resistance Coefficients +\par DRIVELINE +\par ~~~~~~~~~ +\par Rear wheel drive +\par Total Inertia Fr Wheels 1.354 kg.m2 Total Inertia Rr Wheels 1.354 kg.m2 +\par Driven Axle Inertia . . 0.000 kg.m2 Prop Shaft Inertia. . . 0.000 kg.m2 +\par Final Drive Ratio . . . 3.742 Final Drive Efficiency. 0.960 +\par \pard GEARBOX +\par ~~~~~~~ +\par Automatic +\par Number of ratios. . . . 4 +\par Gear change Time. . . . 0.3 s Min Time Between Shifts 0.3 s +\par Default Max Gearbox Torque. Default Max Gearbox Speed +\par Gear. . 1 Ratio . 3.0270 Effy. . 0.980 Box Inertia. 0.0433 kg.m2 +\par Overall Ratio . 11.3270 O.Effy. 0.941 MPH/1000 RPM 5.81 +\par Gear. . 2 Ratio . 1.6190 Effy. . 0.980 Box Inertia. 0.0447 kg.m2 +\par Overall Ratio . 6.0583 O.Effy. 0.941 MPH/1000 RPM 10.87 +\par \pard Gear. . 3 Ratio . 1.0000 Effy. . 0.980 Box Inertia. 0.0752 kg.m2 +\par Overall Ratio . 3.7420 O.Effy. 0.941 MPH/1000 RPM 17.59 +\par Gear. . 4 Ratio . 0.6940 Effy. . 0.980 Box Inertia. 0.0787 kg.m2 +\par Overall Ratio . 2.5969 O.Effy. 0.941 MPH/1000 RPM 25.35 +\par T.Converter Stall Speed 2331.4 rpm +\par ENGINE +\par ~~~~~~~ +\par Internal combustion engine +\par Number of Cylinders . 4 Cycle Type . . . . . . 4 +\par Bore . . . . . . . . . 77.00 mm Stroke . . . . . . . . 79.00 mm +\par \pard Swept Volume . . . . . 1.4715 l Rotating Inertia . . . 0.1261 kg.m2 +\par Idle Speed . . . . . . 850.0 rpm Max Engine Speed . . . 6500.0 rpm +\par Max Power. . . . . . . 64.9 kw Max Power Speed .. . . 5800.0 rpm +\par Max Torque . . . . . . 119.7 nm Max Torque Speed . . . 4600.0 rpm +\par Primary Drive Ratio. . 1.000 Primary Drive Effy . . 1.000 +\par Power/Weight Ratio . . 53.9 kw/tonne +\par +\par ===================================================================== +\par \pard +\par ===================================================================== +\par VEHICLE PERFORMANCE SIMULATION PROGRAM - p2 +\par Test No. at3 Counter No. 5 +\par run at 7:53: 6 on 27/ 5/98 +\par ===================================================================== +\par +\par 1.5L AUTOMATIC +\par ECONOMY STUDY +\par RESULTS - Air Con off +\par ~~~~~~~ +\par \pard Road Speed .. . . 40.0 kmh +\par +\par Total Cycle Time . . . 300.0 s +\par +\par Dist Travelled (nom) . 3222.2 m +\par Dist Travelled (nom) . 3.222 km +\par Dist Travelled (nom) . 2.002 miles +\par Mean Power Developed . 6.29 kw +\par +\par User Specified Shift Map Econ-Map +\par No. of Gear Changes 0 +\par +\par Fuel Consumption from Map . . 1 +\par Litres per 100 km. . . 6.786 Km per Litre . . . . . 14.737 km/l +\par Miles per Imp.Gallon . 41.63 mpg Miles per US Gallon. . 34.66 mpgUS +\par \pard Grams per Test . . . . 163.984 g +\par Grams per KM . . . . . 50.892 g/km Grams per Mile . . . . 81.902 g/mil +\par Mean Consumption . . . 1967.81 g/h Mean Spec.Consumption. 312.61 g/kw.h +\par Overall Cycle Efficiency 27.419 % +\par +\par ===================================================================== +\par +\par +\par ===================================================================== +\par VEHICLE PERFORMANCE SIMULATION PROGRAM - p2 +\par Test No. at3 Counter No. 6 +\par \pard run at 7:53:28 on 27/ 5/98 +\par ===================================================================== +\par +\par 1.5L AUTOMATIC +\par ECONOMY STUDY +\par RESULTS - Air Con off +\par ~~~~~~~ +\par Road Speed .. . . 60.0 kmh +\par +\par Total Cycle Time . . . 300.0 s +\par +\par Dist Travelled (nom) . 4833.3 m +\par Dist Travelled (nom) . 4.833 km +\par Dist Travelled (nom) . 3.003 miles +\par \pard Mean Power Developed . 7.95 kw +\par +\par User Specified Shift Map Econ-Map +\par No. of Gear Changes 0 +\par +\par Fuel Consumption from Map . . 1 +\par Litres per 100 km. . . 5.379 Km per Litre . . . . . 18.591 km/l +\par Miles per Imp.Gallon . 52.52 mpg Miles per US Gallon. . 43.73 mpgUS +\par Grams per Test . . . . 194.982 g +\par Grams per KM . . . . . 40.341 g/km Grams per Mile . . . . 64.923 g/mil +\par Mean Consumption . . . 2339.79 g/h Mean Spec.Consumption. 294.33 g/kw.h +\par \pard Overall Cycle Efficiency 29.122 % +\par +\par ===================================================================== +\par +\par +\par ===================================================================== +\par VEHICLE PERFORMANCE SIMULATION PROGRAM - p2 +\par Test No. at3 Counter No. 7 +\par run at 7:53:42 on 27/ 5/98 +\par ===================================================================== +\par +\par 1.5L AUTOMATIC +\par \pard ECONOMY STUDY +\par RESULTS - Air Con off +\par ~~~~~~~ +\par Road Speed .. . . 80.0 kmh +\par +\par Total Cycle Time . . . 300.0 s +\par +\par Dist Travelled (nom) . 6444.4 m +\par Dist Travelled (nom) . 6.444 km +\par Dist Travelled (nom) . 4.004 miles +\par Mean Power Developed . 11.25 kw +\par +\par User Specified Shift Map Econ-Map +\par No. of Gear Changes 0 +\par +\par Fuel Consumption from Map . . 1 +\par \pard Litres per 100 km. . . 5.480 Km per Litre . . . . . 18.247 km/l +\par Miles per Imp.Gallon . 51.55 mpg Miles per US Gallon. . 42.92 mpgUS +\par Grams per Test . . . . 264.878 g +\par Grams per KM . . . . . 41.102 g/km Grams per Mile . . . . 66.147 g/mil +\par Mean Consumption . . . 3178.53 g/h Mean Spec.Consumption. 282.56 g/kw.h +\par Overall Cycle Efficiency 30.335 % +\par +\par ===================================================================== +\par +\par +\par \pard ===================================================================== +\par VEHICLE PERFORMANCE SIMULATION PROGRAM - p2 +\par Test No. at3 Counter No. 8 +\par run at 7:53:47 on 27/ 5/98 +\par ===================================================================== +\par +\par 1.5L AUTOMATIC +\par ECONOMY STUDY +\par RESULTS - Air Con off +\par ~~~~~~~ +\par \pard Road Speed .. . . 100.0 kmh +\par +\par Total Cycle Time . . . 300.0 s +\par +\par Dist Travelled (nom) . 8055.6 m +\par Dist Travelled (nom) . 8.056 km +\par Dist Travelled (nom) . 5.005 miles +\par Mean Power Developed . 15.04 kw +\par +\par User Specified Shift Map Econ-Map +\par No. of Gear Changes 0 +\par +\par Fuel Consumption from Map . . 1 +\par Litres per 100 km. . . 5.862 Km per Litre . . . . . 17.060 km/l +\par Miles per Imp.Gallon . 48.19 mpg Miles per US Gallon. . 40.13 mpgUS +\par \pard Grams per Test . . . . 354.145 g +\par Grams per KM . . . . . 43.963 g/km Grams per Mile . . . . 70.751 g/mil +\par Mean Consumption . . . 4249.74 g/h Mean Spec.Consumption. 282.54 g/kw.h +\par Overall Cycle Efficiency 30.337 % +\par +\par ===================================================================== +\par +\par ========================================================================= +\par VEHICLE PERFORMANCE SIMULATION PROGRAM - p2 +\par Test No. at3 Counter No. 23 +\par \pard run at 9:29:59 on 27/ 5/98 +\par ===================================================================== +\par +\par 1.5L AUTOMATIC +\par ECONOMY STUDY +\par RESULTS - Air Con off +\par ~~~~~~~ +\par User Defined Test Cycle Simulation - Japanese 10 mode +\par +\par Total Cycle Time . . . 545.5 s +\par +\par Dist Travelled (nom) . 2655.1 m Dist Travelled (act) . 2655.1 m +\par \pard Dist Travelled (nom) . 2.655 km Dist Travelled (act) . 2.655 km +\par Dist Travelled (nom) . 1.650 miles Dist Travelled (act) . 1.650 miles +\par Mean Power Developed . 4.31 kw +\par +\par User Specified Shift Map Econ-Map +\par No. of Gear Changes 40 +\par +\par Fuel Consumption from Map . . 1 +\par Litres per 100 km. . . 12.246 Km per Litre . . . . . 8.166 km/l +\par Miles per Imp.Gallon . 23.07 mpg Miles per US Gallon. . 19.21 mpgUS +\par \pard Grams per Test . . . . 243.846 g +\par Grams per KM . . . . . 91.842 g/km Grams per Mile . . . . 147.806 g/mil +\par Mean Consumption . . . 1609.25 g/h Mean Spec.Consumption. 373.32 g/kw.h +\par Overall Cycle Efficiency 22.960 % +\par +\par ===================================================================== +\par \plain\f0\fs20 +\par \f6 ===================================================================== +\par VEHICLE PERFORMANCE SIMULATION PROGRAM - p2 +\par Test No. at3 Counter No. 1 +\par \pard run at 7:50: 4 on 27/ 5/98 +\par ===================================================================== +\par +\par 1.5L AUTOMATIC +\par ECONOMY STUDY +\par RESULTS - Air Con on +\par ~~~~~~~ +\par Road Speed .. . . 40.0 kmh +\par +\par Total Cycle Time . . . 300.0 s +\par +\par Dist Travelled (nom) . 3222.2 m +\par Dist Travelled (nom) . 3.222 km +\par Dist Travelled (nom) . 2.002 miles +\par \pard Mean Power Developed . 8.71 kw +\par +\par User Specified Shift Map Econ-Map +\par No. of Gear Changes 0 +\par +\par Fuel Consumption from Map . . 1 +\par Litres per 100 km. . . 8.731 Km per Litre . . . . . 11.454 km/l +\par Miles per Imp.Gallon . 32.35 mpg Miles per US Gallon. . 26.94 mpgUS +\par Grams per Test . . . . 210.998 g +\par Grams per KM . . . . . 65.482 g/km Grams per Mile . . . . 105.383 g/mil +\par Mean Consumption . . . 2531.97 g/h Mean Spec.Consumption. 290.78 g/kw.h +\par \pard Overall Cycle Efficiency 29.478 % +\par +\par ===================================================================== +\par +\par ===================================================================== +\par VEHICLE PERFORMANCE SIMULATION PROGRAM - p2 +\par Test No. at3 Counter No. 2 +\par run at 7:51:29 on 27/ 5/98 +\par ===================================================================== +\par +\par 1.5L AUTOMATIC +\par ECONOMY STUDY +\par \pard RESULTS - Air Con on +\par ~~~~~~~ +\par Road Speed .. . . 60.0 kmh +\par +\par Total Cycle Time . . . 300.0 s +\par +\par Dist Travelled (nom) . 4833.3 m +\par Dist Travelled (nom) . 4.833 km +\par Dist Travelled (nom) . 3.003 miles +\par Mean Power Developed . 10.21 kw +\par +\par User Specified Shift Map Econ-Map +\par No. of Gear Changes 0 +\par +\par Fuel Consumption from Map . . 1 +\par Litres per 100 km. . . 6.631 Km per Litre . . . . . 15.081 km/l +\par \pard Miles per Imp.Gallon . 42.60 mpg Miles per US Gallon. . 35.47 mpgUS +\par Grams per Test . . . . 240.370 g +\par Grams per KM . . . . . 49.732 g/km Grams per Mile . . . . 80.035 g/mil +\par Mean Consumption . . . 2884.43 g/h Mean Spec.Consumption. 282.49 g/kw.h +\par Overall Cycle Efficiency 30.342 % +\par +\par ===================================================================== +\par +\par ===================================================================== +\par VEHICLE PERFORMANCE SIMULATION PROGRAM - p2 +\par \pard Test No. at3 Counter No. 3 +\par run at 7:52: 1 on 27/ 5/98 +\par ===================================================================== +\par +\par 1.5L AUTOMATIC +\par ECONOMY STUDY +\par RESULTS - Air Con on +\par ~~~~~~~ +\par Road Speed .. . . 80.0 kmh +\par +\par Total Cycle Time . . . 300.0 s +\par +\par Dist Travelled (nom) . 6444.4 m +\par \pard Dist Travelled (nom) . 6.444 km +\par Dist Travelled (nom) . 4.004 miles +\par Mean Power Developed . 14.26 kw +\par +\par User Specified Shift Map Econ-Map +\par No. of Gear Changes 0 +\par +\par Fuel Consumption from Map . . 1 +\par Litres per 100 km. . . 6.600 Km per Litre . . . . . 15.152 km/l +\par Miles per Imp.Gallon . 42.80 mpg Miles per US Gallon. . 35.64 mpgUS +\par Grams per Test . . . . 318.992 g +\par Grams per KM . . . . . 49.499 g/km Grams per Mile . . . . 79.661 g/mil +\par \pard Mean Consumption . . . 3827.91 g/h Mean Spec.Consumption. 268.36 g/kw.h +\par Overall Cycle Efficiency 31.941 % +\par +\par ===================================================================== +\par +\par +\par ===================================================================== +\par VEHICLE PERFORMANCE SIMULATION PROGRAM - p2 +\par Test No. at3 Counter No. 4 +\par run at 7:52:21 on 27/ 5/98 +\par ===================================================================== +\par \pard +\par 1.5L AUTOMATIC +\par ECONOMY STUDY +\par RESULTS - Air Con on +\par ~~~~~~~ +\par Road Speed .. . . 100.0 kmh +\par +\par Total Cycle Time . . . 300.0 s +\par +\par Dist Travelled (nom) . 8055.6 m +\par Dist Travelled (nom) . 8.056 km +\par Dist Travelled (nom) . 5.005 miles +\par Mean Power Developed . 18.81 kw +\par +\par User Specified Shift Map Econ-Map +\par No. of Gear Changes 0 +\par \pard +\par Fuel Consumption from Map . . 1 +\par Litres per 100 km. . . 6.955 Km per Litre . . . . . 14.379 km/l +\par Miles per Imp.Gallon . 40.62 mpg Miles per US Gallon. . 33.82 mpgUS +\par Grams per Test . . . . 420.175 g +\par Grams per KM . . . . . 52.160 g/km Grams per Mile . . . . 83.943 g/mil +\par Mean Consumption . . . 5042.10 g/h Mean Spec.Consumption. 268.04 g/kw.h +\par Overall Cycle Efficiency 31.979 % +\par +\par ===================================================================== +\par \pard \plain\f0\fs20 +\par \f6 +\par ===================================================================== +\par VEHICLE PERFORMANCE SIMULATION PROGRAM - p2 +\par Test No. at3 Counter No. 24 +\par run at 9:30:41 on 27/ 5/98 +\par ===================================================================== +\par +\par 1.5L AUTOMATIC +\par ECONOMY STUDY +\par RESULTS - Air Con on +\par ~~~~~~~ +\par \pard User Defined Test Cycle Simulation - Japanese 10 Mode +\par +\par Total Cycle Time . . . 545.5 s +\par +\par Dist Travelled (nom) . 2655.2 m Dist Travelled (act) . 2655.2 m +\par Dist Travelled (nom) . 2.655 km Dist Travelled (act) . 2.655 km +\par Dist Travelled (nom) . 1.650 miles Dist Travelled (act) . 1.650 miles +\par Mean Power Developed . 6.21 kw +\par +\par User Specified Shift Map Econ-Map +\par No. of Gear Changes 24 +\par +\par Fuel Consumption from Map . . 1 +\par \pard Litres per 100 km. . . 15.977 Km per Litre . . . . . 6.259 km/l +\par Miles per Imp.Gallon . 17.68 mpg Miles per US Gallon. . 14.72 mpgUS +\par Grams per Test . . . . 318.164 g +\par Grams per KM . . . . . 119.825 g/km Grams per Mile . . . . 192.840 g/mil +\par Mean Consumption . . . 2099.71 g/h Mean Spec.Consumption. 338.23 g/kw.h +\par Overall Cycle Efficiency 25.342 % +\par +\par =====================================================================\plain\f0\fs20 +\par \pard +\par \page +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Emissions Simulation Input File +\par \pard \plain\f6\fs20 EMISSIONS SIMULATION +\par LOTUS LEV RESEARCH +\par lowemissionsvehicle 301 +\par VEHICLE +\par 1183. +\par 2.080 0.3300 0.0000E+00 0.0000E+00 0.0000E+00 +\par 1.205 +\par 2.520 1.000 1.000 0.9580 0.5800 +\par TYRE +\par 0.2896 +\par 1 0.9800 0.9500 +\par DRIVE +\par 1 +\par 0.7385 0.7385 +\par 0.1000E-03 0.1000E-03 +\par 3.550 0.9800 2 +\par GEARBOX +\par 5 -1.000 0.0000E+00 2 +\par 3.550 0.9700 0.1000E-02 +\par 2.160 0.9700 0.1000E-02 +\par \pard 1.480 0.9700 0.1000E-02 +\par 1.120 0.9700 0.1000E-02 +\par 0.8900 0.9700 0.1000E-02 +\par GSHIFT +\par 3 +\par EURO_shift +\par 1 10 3 +\par 1.000 +\par 0.0000E+00 15.00 +\par 5.000 35.00 +\par 5.000 50.10 +\par 50.00 70.00 +\par 69.00 150.0 +\par 2 0 +\par FTP_shift +\par 1 10 4 +\par 1.000 +\par 0.0000E+00 15.00 +\par 10.00 25.00 +\par 20.00 40.00 +\par 35.00 45.00 +\par 40.00 150.0 +\par 2 0 +\par \pard ACC_shift +\par 1 10 1 +\par 1.000 +\par 1000. 6500. +\par 1000. 6500. +\par 1000. 6500. +\par 1000. 6500. +\par 1000. 6500. +\par 2 0 +\par CLUTCH +\par 1 5.000 +\par PDRIVE +\par 1.000 1.000 2 +\par ENGINE +\par 1 +\par 79.00 81.50 10.00 4 4 0.0000E+00 +\par 1000. 6200. +\par 14 +\par 1000. 8.900 +\par 1400. 9.700 +\par 1800. 10.20 +\par 2200. 10.80 +\par 2600. 10.70 +\par 3000. 11.10 +\par \pard 3400. 11.10 +\par 3800. 11.80 +\par 4200. 11.60 +\par 4600. 11.80 +\par 5000. 11.50 +\par 5400. 10.60 +\par 5800. 10.20 +\par 6200. 9.700 +\par MAPS +\par 14 +\par 1000. 1400. 1800. 2200. 2600. +\par 3000. 3400. 3800. 4200. 4600. +\par 5000. 5400. 5800. 6200. +\par 12 +\par 1.000 2.000 3.000 4.000 5.000 +\par 6.000 7.000 8.000 9.000 10.00 +\par \pard 11.00 12.00 +\par 10 +\par 1 2 0.7500 0.4200E+05 1.00 FUEL g/kW.h +\par 594.0 389.8 338.0 301.0 285.0 +\par 273.0 280.0 257.0 275.0 274.9 +\par 275.0 275.1 +\par 574.9 397.1 338.0 293.0 271.0 +\par 264.0 252.0 252.0 245.0 257.0 +\par 257.0 257.0 +\par 588.9 381.9 326.0 294.0 272.0 +\par 259.1 248.0 250.1 244.0 269.0 +\par \pard 269.0 269.0 +\par 591.1 385.9 325.0 291.0 272.1 +\par 259.9 248.1 244.1 241.9 237.0 +\par 251.0 248.0 +\par 584.0 392.1 328.0 288.0 269.9 +\par 252.0 244.1 236.9 235.0 235.0 +\par 246.0 246.0 +\par 612.0 402.1 331.0 291.1 277.0 +\par 263.0 251.0 246.0 238.0 236.0 +\par 273.0 272.0 +\par 635.1 416.3 349.9 304.9 288.0 +\par \pard 269.0 259.0 249.0 245.0 240.0 +\par 235.0 293.0 +\par 635.0 409.1 333.9 300.9 277.0 +\par 263.0 253.0 248.0 243.0 241.0 +\par 240.0 307.0 +\par 661.1 427.1 345.0 302.0 285.9 +\par 264.0 258.0 249.0 245.0 240.0 +\par 240.0 267.0 +\par 655.9 438.1 351.1 310.0 283.0 +\par 270.0 263.0 254.0 252.0 246.0 +\par \pard 246.0 266.0 +\par 656.9 437.2 348.9 317.9 285.1 +\par 272.1 262.0 258.0 258.0 258.0 +\par 285.0 283.0 +\par 681.9 430.8 353.0 316.0 291.0 +\par 274.0 266.0 266.0 266.0 294.0 +\par 304.0 304.0 +\par 681.9 423.0 355.0 323.0 293.0 +\par 279.0 269.0 269.0 269.0 311.0 +\par 315.0 315.0 +\par 752.2 465.9 376.9 336.0 301.0 +\par \pard 292.0 275.0 269.0 311.0 299.0 +\par 315.0 320.0 +\par 2 +\par 0.1030 0.1554 0.1841 0.2258 0.2636 +\par 0.3186 0.3747 0.4188 0.4818 0.5277 +\par 0.5703 0.6392 0.6865 0.8099 +\par 3 2 1.000 HC g/kW.h +\par 11.33 6.290 5.400 4.511 3.960 +\par 3.550 3.150 3.609 4.139 4.139 +\par 4.139 4.141 +\par 9.310 6.160 5.321 4.118 3.730 +\par \pard 3.270 3.109 2.870 2.699 3.329 +\par 3.330 3.329 +\par 8.888 5.591 4.640 4.149 3.893 +\par 3.530 3.349 3.030 2.940 3.931 +\par 3.931 3.931 +\par 9.119 5.821 4.670 4.279 3.871 +\par 3.510 3.390 2.960 2.699 2.499 +\par 3.211 3.080 +\par 8.309 5.760 4.620 3.910 3.600 +\par 3.281 3.009 2.830 2.580 2.650 +\par \pard 3.200 3.200 +\par 7.711 5.438 4.470 3.972 3.540 +\par 3.370 3.100 2.991 2.800 2.750 +\par 4.219 4.252 +\par 7.639 4.449 3.599 3.320 3.300 +\par 2.919 2.660 2.390 2.450 2.280 +\par 2.320 4.298 +\par 5.749 3.988 3.351 3.120 2.940 +\par 2.930 2.610 2.420 2.310 2.320 +\par 2.220 4.522 +\par 4.961 3.717 3.480 3.360 2.970 +\par \pard 2.430 2.560 2.400 2.250 2.130 +\par 3.150 2.820 +\par 3.330 2.790 3.031 3.121 3.180 +\par 3.220 2.980 2.770 2.370 2.030 +\par 3.490 2.860 +\par 6.002 4.372 3.668 3.300 3.110 +\par 2.840 2.600 2.440 2.600 4.071 +\par 3.791 3.640 +\par 6.789 4.471 3.751 4.021 4.079 +\par 3.050 2.940 2.980 3.170 4.629 +\par \pard 4.770 4.769 +\par 9.928 5.400 3.650 3.160 3.040 +\par 3.140 2.810 3.150 2.750 4.871 +\par 4.848 4.848 +\par 8.062 4.432 4.118 4.118 3.801 +\par 3.820 3.859 3.410 5.591 5.280 +\par 5.280 5.280 +\par 2 +\par 0.4255E-02 0.4894E-02 0.6008E-02 0.7510E-02 0.8073E-02 +\par 0.8699E-02 0.9700E-02 0.8198E-02 0.7823E-02 0.7823E-02 +\par 0.7823E-02 0.8486E-02 0.1333E-01 0.1157E-01 +\par \pard 4 2 1.000 NOX g/kW.h +\par 2.250 4.900 6.271 8.131 10.91 +\par 12.26 15.05 14.33 6.149 6.148 +\par 6.149 6.148 +\par 3.121 7.319 10.52 13.01 15.06 +\par 16.05 16.35 15.61 15.60 7.189 +\par 7.189 7.190 +\par 7.139 12.42 15.75 17.28 17.16 +\par 17.27 16.59 16.21 16.07 5.512 +\par 5.512 5.512 +\par \pard 9.119 13.91 15.86 16.83 17.19 +\par 17.24 16.94 15.99 16.17 15.91 +\par 7.492 8.481 +\par 9.208 8.817 15.54 15.77 16.87 +\par 16.95 16.67 16.66 17.15 17.35 +\par 7.262 7.261 +\par 14.71 16.73 18.48 18.18 17.37 +\par 17.30 17.80 17.76 16.75 16.44 +\par 3.080 3.030 +\par 14.59 14.12 15.50 14.84 16.54 +\par \pard 16.63 15.77 14.84 15.32 14.72 +\par 14.93 2.310 +\par 17.62 16.94 17.56 18.75 19.10 +\par 19.51 18.69 18.20 18.04 18.18 +\par 17.45 1.620 +\par 16.48 17.54 19.18 19.79 20.59 +\par 20.30 19.83 19.24 19.10 18.43 +\par 4.349 6.040 +\par 21.18 23.55 24.72 24.90 23.99 +\par 24.18 24.29 22.51 20.31 18.22 +\par \pard 4.731 7.988 +\par 22.34 24.49 24.33 25.36 24.07 +\par 23.78 23.16 21.34 20.10 4.169 +\par 4.770 4.988 +\par 20.26 22.43 23.70 24.56 23.95 +\par 22.24 21.43 19.77 17.89 5.517 +\par 4.478 4.477 +\par 28.73 27.52 27.55 28.14 26.64 +\par 22.86 21.89 19.63 17.14 4.540 +\par 3.290 3.290 +\par 37.29 31.22 28.62 26.21 24.57 +\par \pard 24.85 24.43 23.12 5.591 6.942 +\par 6.941 6.940 +\par 2 +\par 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 +\par 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 +\par 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 +\par 5 2 1.000 CO g/kW.h +\par 50.01 33.29 32.50 28.10 31.80 +\par 29.20 23.30 29.00 114.6 114.6 +\par 114.6 114.6 +\par 47.41 37.19 33.90 25.80 19.10 +\par \pard 18.80 19.70 19.00 19.20 100.4 +\par 100.4 100.4 +\par 67.00 42.30 38.41 32.80 30.49 +\par 28.41 26.39 27.00 28.20 149.9 +\par 149.9 149.9 +\par 56.42 34.80 31.20 27.20 23.40 +\par 26.20 23.70 28.00 26.00 23.80 +\par 107.9 92.81 +\par 52.49 35.10 29.40 25.80 25.00 +\par 24.11 24.09 22.30 20.10 21.10 +\par \pard 112.1 112.1 +\par 72.69 43.09 39.71 31.99 34.50 +\par 33.00 31.21 31.10 28.00 25.80 +\par 220.6 219.7 +\par 114.4 67.39 56.00 54.11 53.50 +\par 45.51 44.21 63.28 40.72 40.72 +\par 37.51 279.9 +\par 64.69 39.09 35.50 32.50 28.60 +\par 26.80 25.80 26.31 25.10 25.60 +\par 26.90 322.2 +\par 58.29 42.29 35.70 32.51 28.59 +\par \pard 22.70 26.20 28.70 25.00 25.50 +\par 209.7 159.5 +\par 49.10 35.91 30.60 27.61 27.69 +\par 31.50 30.80 31.00 32.70 33.40 +\par 227.7 146.4 +\par 69.97 46.12 33.31 29.31 27.00 +\par 25.30 24.80 24.40 20.30 248.8 +\par 214.5 201.2 +\par 69.19 43.61 31.41 30.10 26.39 +\par 24.50 21.80 27.00 28.30 220.9 +\par \pard 237.9 237.9 +\par 96.02 53.79 37.51 26.50 24.10 +\par 37.80 26.90 32.00 25.00 248.9 +\par 283.7 283.7 +\par 70.99 41.51 34.69 33.10 30.60 +\par 28.10 25.80 26.50 255.6 209.4 +\par 209.4 209.4 +\par 2 +\par 0.9387E-02 0.0000E+00 0.0000E+00 0.9387E-02 0.9387E-02 +\par 0.9387E-02 0.9387E-02 0.9387E-02 0.9387E-02 0.9387E-02 +\par 0.9387E-02 0.9387E-02 0.9387E-02 0.9387E-02 +\par \pard 6 2 1.000 CO2 g/kW.h +\par 2010. 1330. 1140. 1020. 960.3 +\par 920.1 940.0 860.0 789.7 790.0 +\par 789.9 789.9 +\par 1950. 1340. 1140. 990.1 920.3 +\par 899.9 860.1 860.0 830.1 749.8 +\par 750.0 749.9 +\par 1971. 1280. 1090. 980.0 910.2 +\par 870.1 830.1 849.9 830.2 720.0 +\par 720.0 720.0 +\par \pard 1990. 1300. 1100. 980.0 920.2 +\par 879.9 850.0 820.1 820.1 799.9 +\par 730.0 740.2 +\par 1980. 1330. 1110. 980.0 920.2 +\par 850.0 830.2 799.9 800.0 799.9 +\par 699.9 699.9 +\par 2050. 1350. 1110. 969.9 920.1 +\par 879.8 839.9 830.2 799.9 800.0 +\par 630.0 630.0 +\par 2070. 1360. 1140. 989.9 929.8 +\par \pard 879.8 839.9 799.9 799.9 780.1 +\par 769.8 609.9 +\par 2150. 1380. 1130. 1010. 929.9 +\par 889.9 850.0 839.9 819.7 810.3 +\par 809.7 600.0 +\par 2250. 1440. 1160. 1020. 969.9 +\par 900.0 870.1 840.0 830.4 130.0 +\par 670.0 709.7 +\par 2260. 1510. 1200. 1060. 960.1 +\par 910.1 879.9 850.0 839.8 819.9 +\par \pard 690.3 719.9 +\par 2210. 1470. 1170. 1080. 969.8 +\par 920.1 889.8 900.3 889.7 689.9 +\par 679.8 699.7 +\par 2300. 1440. 1200. 1060. 980.0 +\par 920.3 909.7 869.9 860.0 699.9 +\par 710.0 710.1 +\par 2260. 1410. 1190. 1100. 1000. +\par 940.0 929.6 869.9 870.1 720.1 +\par 680.1 680.1 +\par 2540. 1580. 1270. 1130. 1010. +\par \pard 979.6 920.1 899.9 699.6 729.9 +\par 730.2 730.0 +\par 2 +\par 0.3066 0.0000E+00 0.0000E+00 0.1877 0.6258 +\par 1.252 1.502 1.752 2.003 2.190 +\par 2.378 2.628 2.816 3.442 +\par 7 2 1.000 O2 g/kW.h +\par 37.90 26.60 23.80 21.30 18.30 +\par 16.70 25.80 13.00 2.900 2.901 +\par 2.900 2.899 +\par 41.19 28.80 22.20 15.50 12.70 +\par \pard 11.80 12.40 11.00 9.400 3.401 +\par 3.400 3.400 +\par 34.80 22.00 19.50 22.40 16.50 +\par 14.70 12.50 12.40 12.00 2.600 +\par 2.600 2.600 +\par 34.30 21.00 19.00 14.10 12.90 +\par 12.40 11.90 10.10 9.601 9.399 +\par 2.900 3.500 +\par 25.30 17.20 14.60 13.00 11.90 +\par 11.40 11.80 10.00 11.30 9.000 +\par \pard 8.291 3.500 +\par 32.20 21.70 17.90 16.60 13.00 +\par 12.40 14.30 14.40 12.60 11.90 +\par 2.800 3.100 +\par 43.49 34.70 28.70 22.50 20.01 +\par 21.20 18.80 16.30 15.60 14.20 +\par 13.50 3.300 +\par 31.50 18.00 16.80 15.50 14.50 +\par 14.10 12.00 12.40 11.50 11.70 +\par 11.20 1.900 +\par 25.90 21.10 19.70 14.20 13.90 +\par \pard 14.60 12.70 13.10 13.50 12.00 +\par 3.100 2.500 +\par 24.90 19.20 17.00 16.21 15.40 +\par 13.70 12.80 12.10 11.30 10.40 +\par 2.800 3.999 +\par 35.70 22.50 20.49 20.60 15.70 +\par 14.10 13.10 11.80 12.90 2.500 +\par 3.000 2.700 +\par 52.82 30.69 22.60 23.69 22.50 +\par 22.70 19.10 20.00 14.10 3.300 +\par \pard 3.100 3.100 +\par 36.51 29.60 34.20 35.40 31.10 +\par 27.00 26.10 19.00 17.50 3.899 +\par 4.000 4.001 +\par 46.53 32.20 26.40 23.30 20.49 +\par 19.80 19.00 18.40 6.802 5.198 +\par 5.197 5.200 +\par 2 +\par 0.6590E-02 0.7159E-02 0.6050E-02 0.5963E-02 0.4398E-02 +\par 0.5597E-02 0.7560E-02 0.5476E-02 0.4502E-02 0.4329E-02 +\par 0.6206E-02 0.9181E-02 0.6346E-02 0.8085E-02 +\par \pard 10 0 1.000 SPARK +\par 22.00 20.00 15.00 11.00 9.000 +\par 6.000 4.500 3.400 1.000 1.000 +\par 1.000 1.000 +\par 22.00 20.00 17.00 15.00 14.00 +\par 13.00 12.00 7.000 6.000 6.000 +\par 6.000 6.000 +\par 22.00 20.00 20.00 19.00 18.00 +\par 17.50 14.00 10.00 9.000 9.000 +\par 9.000 9.000 +\par \pard 21.00 20.00 18.00 17.00 16.00 +\par 15.00 14.00 12.00 10.00 9.000 +\par 9.000 9.000 +\par 22.00 20.00 18.00 17.00 16.00 +\par 16.00 15.00 14.00 13.00 12.00 +\par 12.00 12.00 +\par 25.00 23.00 21.00 20.00 17.00 +\par 16.00 16.00 15.00 14.50 13.00 +\par 12.50 12.00 +\par 25.00 21.00 19.00 18.00 18.00 +\par \pard 18.00 15.00 13.00 13.00 12.00 +\par 12.00 10.00 +\par 25.00 23.00 21.00 20.00 19.00 +\par 19.00 17.00 15.00 15.00 14.00 +\par 12.00 8.000 +\par 25.00 24.00 23.00 22.00 21.00 +\par 21.00 19.00 18.00 17.00 15.00 +\par 12.00 10.00 +\par 26.00 25.00 25.00 24.00 23.00 +\par 23.00 21.00 21.00 14.00 11.00 +\par \pard 10.50 10.50 +\par 28.00 28.00 28.00 27.00 26.00 +\par 25.00 23.00 22.00 18.00 16.00 +\par 16.00 11.00 +\par 30.00 30.00 30.00 30.00 29.00 +\par 27.00 24.00 23.00 20.00 18.00 +\par 16.00 16.00 +\par 34.00 34.00 33.00 31.00 30.00 +\par 28.00 26.00 24.00 20.00 19.00 +\par 19.00 19.00 +\par 37.00 37.00 34.00 32.00 31.00 +\par \pard 30.00 30.00 27.00 28.00 25.00 +\par 25.00 25.00 +\par 2 +\par 22.00 22.00 22.00 21.00 22.00 +\par 25.00 25.00 25.00 25.00 26.00 +\par 28.00 30.00 34.00 37.00 +\par 11 0 1.000 THROTTLE +\par 1.000 4.000 7.000 11.00 10.00 +\par 15.00 21.00 28.00 100.0 100.0 +\par 100.0 100.0 +\par 4.000 8.000 12.00 14.00 18.00 +\par \pard 21.00 25.00 28.00 32.00 100.0 +\par 100.0 100.0 +\par 5.000 9.000 14.00 16.00 20.00 +\par 23.00 25.00 29.00 33.00 100.0 +\par 100.0 100.0 +\par 10.00 11.00 16.00 20.00 23.00 +\par 26.00 28.00 30.00 34.00 41.00 +\par 84.00 100.0 +\par 7.000 14.00 18.00 22.00 25.00 +\par 26.00 28.00 30.00 44.00 41.00 +\par \pard 100.0 100.0 +\par 14.00 19.00 22.00 25.00 27.00 +\par 29.00 31.00 33.00 36.00 42.00 +\par 70.00 100.0 +\par 18.00 23.00 27.00 29.00 31.00 +\par 32.00 34.00 36.00 39.00 44.00 +\par 60.00 100.0 +\par 16.00 22.00 27.00 27.00 31.00 +\par 32.00 34.00 36.00 39.00 43.00 +\par 53.00 100.0 +\par 23.00 27.00 29.00 31.00 33.00 +\par \pard 34.00 36.00 38.00 41.00 45.00 +\par 54.00 100.0 +\par 22.00 25.00 27.00 29.00 30.00 +\par 32.00 34.00 36.00 39.00 45.00 +\par 52.00 100.0 +\par 27.00 30.00 32.00 33.00 35.00 +\par 36.00 38.00 41.00 45.00 48.00 +\par 55.00 100.0 +\par 28.00 30.00 32.00 34.00 36.00 +\par 38.00 40.00 43.00 48.00 56.00 +\par \pard 100.0 100.0 +\par 15.00 18.00 20.00 22.00 24.00 +\par 27.00 29.00 34.00 45.00 70.00 +\par 100.0 100.0 +\par 18.00 20.00 22.00 24.00 25.00 +\par 29.00 32.00 39.00 52.00 100.0 +\par 100.0 100.0 +\par 2 +\par 1.000 4.000 5.000 10.00 7.000 +\par 14.00 18.00 16.00 23.00 22.00 +\par 27.00 28.00 15.00 18.00 +\par \pard 13 0 1.000 AFR +\par 14.49 14.56 14.55 14.57 14.49 +\par 14.49 14.83 14.38 13.19 13.19 +\par 13.19 13.19 +\par 14.60 14.58 14.51 14.47 14.47 +\par 14.47 14.49 14.47 14.42 13.31 +\par 13.31 13.31 +\par 14.43 14.43 14.43 14.58 14.45 +\par 14.44 14.40 14.41 14.39 12.78 +\par 12.78 12.78 +\par \pard 14.47 14.46 14.48 14.41 14.43 +\par 14.40 14.41 14.33 14.35 14.38 +\par 13.20 13.39 +\par 14.39 14.38 14.40 14.41 14.40 +\par 14.40 14.43 14.40 14.48 14.39 +\par 13.13 13.13 +\par 14.40 14.43 14.40 14.44 14.34 +\par 14.34 14.42 14.43 14.42 14.42 +\par 12.01 12.03 +\par 14.36 14.54 14.54 14.42 14.35 +\par \pard 14.48 14.44 14.17 14.39 14.35 +\par 14.36 11.56 +\par 14.48 14.44 14.45 14.45 14.47 +\par 14.48 14.44 14.45 14.45 14.45 +\par 14.42 11.23 +\par 14.45 14.48 14.51 14.41 14.45 +\par 14.56 14.46 14.45 14.51 14.47 +\par 12.25 12.72 +\par 14.52 14.52 14.51 14.52 14.49 +\par 14.40 14.39 14.37 14.35 14.33 +\par \pard 12.15 12.89 +\par 14.50 14.46 14.54 14.60 14.51 +\par 14.50 14.49 14.46 14.53 11.97 +\par 12.21 12.34 +\par 14.68 14.62 14.60 14.64 14.65 +\par 14.74 14.67 14.65 14.45 12.19 +\par 12.08 12.08 +\par 14.32 14.51 14.81 14.98 14.95 +\par 14.71 14.82 14.55 14.61 12.04 +\par 11.73 11.73 +\par 14.57 14.65 14.63 14.59 14.57 +\par \pard 14.57 14.58 14.58 12.01 12.35 +\par 12.35 12.35 +\par 2 +\par 14.49 14.60 14.43 14.47 14.39 +\par 14.40 14.36 14.48 14.45 14.52 +\par 14.50 14.68 14.32 14.57 +\par 14 0 1.000 EXH TEMP +\par 480.3 486.8 527.0 562.5 515.8 +\par 534.5 532.8 524.0 514.8 514.8 +\par 514.8 514.8 +\par 547.0 546.5 559.8 557.8 560.0 +\par \pard 560.3 561.0 572.8 576.0 557.3 +\par 557.3 557.3 +\par 568.0 563.5 574.3 571.3 579.8 +\par 579.8 587.5 599.3 601.5 573.3 +\par 573.3 573.3 +\par 607.3 600.8 606.5 610.8 614.0 +\par 620.0 627.5 631.0 643.0 647.5 +\par 631.3 635.5 +\par 632.0 625.8 636.3 634.3 635.5 +\par 636.5 640.5 648.0 654.5 662.5 +\par \pard 639.3 639.3 +\par 646.5 646.3 648.8 649.8 657.5 +\par 659.3 660.5 664.5 668.3 676.3 +\par 625.8 625.0 +\par 663.3 675.8 677.3 700.5 691.0 +\par 683.0 687.0 692.5 694.8 700.5 +\par 705.8 647.5 +\par 698.5 702.8 659.8 698.0 699.8 +\par 706.5 714.5 722.8 726.5 729.5 +\par 742.0 677.3 +\par 725.8 724.0 716.8 717.0 717.3 +\par \pard 718.5 723.3 726.8 733.3 738.8 +\par 700.8 723.5 +\par 710.3 755.5 747.3 743.8 742.8 +\par 740.0 742.0 739.5 766.3 781.5 +\par 731.5 751.8 +\par 744.3 764.5 766.0 762.3 764.8 +\par 767.5 767.5 788.3 806.0 737.0 +\par 740.3 760.5 +\par 770.8 777.3 776.5 775.0 773.5 +\par 781.3 794.0 801.8 817.5 767.5 +\par \pard 767.8 767.8 +\par 775.3 780.5 779.8 786.0 787.5 +\par 791.0 799.5 811.3 833.3 763.8 +\par 750.0 750.0 +\par 794.8 816.3 792.8 801.5 804.8 +\par 806.3 808.0 815.0 731.8 767.8 +\par 767.8 767.8 +\par 2 +\par 480.3 547.0 568.0 607.3 632.0 +\par 646.5 663.3 698.5 725.8 710.3 +\par 744.3 770.8 775.3 794.8 +\par \pard OPTIMUM +\par 2 +\par 1 +\par CATALYST +\par 0.9500 100.0 20.00 +\par 0.9800 80.00 20.00 +\par 0.9600 120.0 20.00 +\par WARM-UP +\par 4.000 80.00 0.8000E-01 +\par 0.0000E+00 0.0000E+00 0.0000E+00 +\par 1.000 80.00 0.0000E+00 +\par DRIVER +\par 1.000 1.000 0.5000 0.4000 0.4000 0 +\par \plain\f0\fs20 +\par \page +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Emissions Simulation Results\f6 +\par \pard \plain\f0\fs20 +\par \f6 ============================================================================ +\par VEHICLE PERFORMANCE SIMULATION PROGRAM - p1 +\par Test No. lev Counter No. 7 +\par run at 17:15:35 on 26/ 5/98 +\par ============================================================================ +\par +\par EMISSIONS SIMULATION +\par LOTUS LEV RESEARCH +\par INPUT DATA +\par ~~~~~~~~~~ +\par \pard VEHICLE +\par ~~~~~~~ +\par Weight . . . . . . . . 1183.0 kg +\par Frontal Area . . . . . 2.080 m2 Plan Area. . . . . . . 0.000 m2 +\par Air Density. . . . . . 1.205 kg/m3 Drag Coefficient . . . 0.330 +\par Front Lift Coeff . . . 0.000 Rear Lift Coeff. . . . 0.000 +\par Wheel Base . . . . . . 2.52 m Track. . . . . . . . . 1.00 m +\par CoG to front axle. . . 0.96 m CoG to ground. . . . . 0.58 m +\par TYRE +\par ~~~~ +\par Rolling Radius . . . . 0.2896 m Coeff.of Friction. . . 0.980 +\par \pard Default Rolling Resistance Coefficients +\par DRIVELINE +\par ~~~~~~~~~ +\par Front wheel drive +\par Total Inertia Fr Wheels 1.477 kg.m2 Total Inertia Rr Wheels 1.477 kg.m2 +\par Driven Axle Inertia . . 0.000 kg.m2 Prop Shaft Inertia. . . 0.000 kg.m2 +\par Final Drive Ratio . . . 3.550 Final Drive Efficiency. 0.980 +\par GEARBOX +\par ~~~~~~~ +\par Manual +\par Number of ratios. . . . 5 +\par Gear change Time. . . . 0.4 s Min Time Between Shifts 0.4 s +\par Default Max Gearbox Torque. Default Max Gearbox Speed +\par \pard Gear. . 1 Ratio . 3.5500 Effy. . 0.970 Box Inertia. 0.0010 kg.m2 +\par Overall Ratio . 12.6025 O.Effy. 0.951 MPH/1000 RPM 5.38 +\par Gear. . 2 Ratio . 2.1600 Effy. . 0.970 Box Inertia. 0.0010 kg.m2 +\par Overall Ratio . 7.6680 O.Effy. 0.951 MPH/1000 RPM 8.85 +\par Gear. . 3 Ratio . 1.4800 Effy. . 0.970 Box Inertia. 0.0010 kg.m2 +\par Overall Ratio . 5.2540 O.Effy. 0.951 MPH/1000 RPM 12.91 +\par Gear. . 4 Ratio . 1.1200 Effy. . 0.970 Box Inertia. 0.0010 kg.m2 +\par \pard Overall Ratio . 3.9760 O.Effy. 0.951 MPH/1000 RPM 17.06 +\par Gear. . 5 Ratio . 0.8900 Effy. . 0.970 Box Inertia. 0.0010 kg.m2 +\par Overall Ratio . 3.1595 O.Effy. 0.951 MPH/1000 RPM 21.47 +\par Vehicle declutch speed 5.0 kmh +\par ENGINE +\par ~~~~~~~ +\par Internal combustion engine +\par Number of Cylinders . 4 Cycle Type . . . . . . 4 +\par Bore . . . . . . . . . 79.00 mm Stroke . . . . . . . . 81.50 mm +\par Swept Volume . . . . . 1.5979 l Rotating Inertia . . . 0.0000 kg.m2 +\par \pard Idle Speed . . . . . . 1000.0 rpm Max Engine Speed . . . 6200.0 rpm +\par Max Power. . . . . . . 80.1 kw Max Power Speed .. . . 6200.0 rpm +\par Max Torque . . . . . . 150.0 nm Max Torque Speed . . . 4600.0 rpm +\par Primary Drive Ratio. . 1.000 Primary Drive Effy . . 1.000 +\par Power/Weight Ratio . . 67.7 kw/tonne +\par +\par ==================================================================== +\par +\par =================================================================== +\par \pard VEHICLE PERFORMANCE SIMULATION PROGRAM - p2 +\par Test No. lev Counter No. 7 +\par run at 17:15:35 on 26/ 5/98 +\par ==================================================================== +\par +\par EMISSIONS SIMULATION +\par LOTUS LEV RESEARCH +\par RESULTS +\par ~~~~~~~ +\par FTP75 Urban Cycle Simulation +\par +\par Total Cycle Time . . . 1876.5 s +\par \pard +\par Dist Travelled (nom) . 17722.1 m Dist Travelled (act) . 17767.5 m +\par Dist Travelled (nom) . 17.722 km Dist Travelled (act) . 17.767 km +\par Dist Travelled (nom) . 11.012 miles Dist Travelled (act) . 11.040 miles +\par Mean Power Developed . 4.10 kw +\par +\par Default Gear Shift Map +\par No. of Gear Changes 69 +\par +\par Fuel Consumption from Map . . 1 +\par Litres per 100 km. . . 7.133 Km per Litre . . . . . 14.019 km/l +\par Miles per Imp.Gallon . 39.60 mpg Miles per US Gallon. . 32.97 mpgUS +\par \pard Grams per Test . . . . 948.086 g +\par Grams per KM . . . . . 53.497 g/km Grams per Mile . . . . 86.096 g/mil +\par Mean Consumption . . . 1818.87 g/h Mean Spec.Consumption. 443.37 g/kw.h +\par Overall Cycle Efficiency 19.332 % +\par Weighted Results . . . . +\par Grams per KM . . . . . 54.074 g/km Grams per Mile . . . . 87.024 g/mil +\par +\par Hydrocarbon Emissions from Map 2 +\par Grams per Test . . . . 33.274 g +\par Grams per KM . . . . . 1.878 g/km Grams per Mile . . . . 3.022 g/mil +\par \pard Mean Consumption . . . 63.83 g/h Mean Spec.Consumption. 15.56 g/kw.h +\par Weighted Results . . . . +\par Grams per KM . . . . . 1.947 g/km Grams per Mile . . . . 3.134 g/mil +\par Post Catalyst . . . . +\par Grams per Test . . . . 4.366 g +\par Grams per KM . . . . . 0.246 g/km Grams per Mile . . . . 0.396 g/mil +\par Mean Consumption . . . 8.38 g/h Mean Spec.Consumption. 2.04 g/kw.h +\par Post Catalyst Weighted Results. +\par Grams per KM . . . . . 0.281 g/km Grams per Mile . . . . 0.453 g/mil +\par \pard +\par NOx Emissions from Map . . . 3 +\par Grams per Test . . . . 30.612 g +\par Grams per KM . . . . . 1.727 g/km Grams per Mile . . . . 2.780 g/mil +\par Mean Consumption . . . 58.73 g/h Mean Spec.Consumption. 14.32 g/kw.h +\par Weighted Results . . . . +\par Grams per KM . . . . . 1.688 g/km Grams per Mile . . . . 2.717 g/mil +\par Post Catalyst . . . . +\par Grams per Test . . . . 1.459 g +\par Grams per KM . . . . . 0.082 g/km Grams per Mile . . . . 0.132 g/mil +\par \pard Mean Consumption . . . 2.80 g/h Mean Spec.Consumption. 0.68 g/kw.h +\par Post Catalyst Weighted Results. +\par Grams per KM . . . . . 0.091 g/km Grams per Mile . . . . 0.147 g/mil +\par +\par CO Emissions from Map . . . . 4 +\par Grams per Test . . . . 85.205 g +\par Grams per KM . . . . . 4.808 g/km Grams per Mile . . . . 7.737 g/mil +\par Mean Consumption . . . 163.46 g/h Mean Spec.Consumption. 39.85 g/kw.h +\par Weighted Results . . . . +\par Grams per KM . . . . . 4.856 g/km Grams per Mile . . . . 7.815 g/mil +\par \pard Post Catalyst . . . . +\par Grams per Test . . . . 9.068 g +\par Grams per KM . . . . . 0.512 g/km Grams per Mile . . . . 0.823 g/mil +\par Mean Consumption . . . 17.40 g/h Mean Spec.Consumption. 4.24 g/kw.h +\par Post Catalyst Weighted Results. +\par Grams per KM . . . . . 0.580 g/km Grams per Mile . . . . 0.933 g/mil +\par +\par CO2 Emissions from Map . . . 5 +\par Grams per Test . . . . 2832.365 g +\par Grams per KM . . . . . 159.821 g/km Grams per Mile . . . . 257.208 g/mil +\par \pard Mean Consumption . . . 5433.79 g/h Mean Spec.Consumption. 1324.55 g/kw.h +\par Weighted Results . . . . +\par Grams per KM . . . . . 160.580 g/km Grams per Mile . . . . 258.429 g/mil +\par +\par O2 Emissions from Map . . . . 6 +\par Grams per Test . . . . 45.847 g +\par Grams per KM . . . . . 2.587 g/km Grams per Mile . . . . 4.163 g/mil +\par Mean Consumption . . . 87.96 g/h Mean Spec.Consumption. 21.44 g/kw.h +\par +\par Spark Timing from Map . . . . 7 +\par +\par \pard Throttle Position from Map. . 8 +\par +\par Air Fuel Ratio from Map . . . 9 +\par +\par Exhaust Temp from Map . . . . 10 +\par +\par ===================================================================== +\par +\par +\par \page +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 Track Simulation Input File\f6 +\par \pard \plain\f6\fs20 +\par esprit cardat file +\par 92 spec +\par esprt 301 +\par VEHICLE +\par 1509. +\par 1.770 0.3400 1.900 -0.2530 -0.3030 +\par 1.205 +\par 2.438 1.524 1.554 1.414 0.4800 +\par TYRE +\par 0.3146 +\par 2 1.090 0.9500 +\par 10.00 0.0000E+00 0.1500E-02 0.0000E+00 0.0000E+00 0.0000E+00 +\par DRIVE +\par 2 +\par 0.7385 0.7385 +\par 0.1000E-02 0.1000E-02 +\par 3.889 0.9700 2 +\par GEARBOX +\par 5 0.2000 0.0000E+00 2 +\par \pard 3.363 0.9800 0.1000E-02 +\par 2.059 0.9700 0.1000E-02 +\par 1.387 0.9700 0.1000E-02 +\par 1.037 0.9700 0.1000E-02 +\par 0.8205 0.9700 0.1000E-02 +\par GSHIFT +\par 1 +\par acc +\par 1 0 1 +\par 1.000 +\par 0.0000E+00 7400. +\par 0.0000E+00 7400. +\par 0.0000E+00 7400. +\par 0.0000E+00 7400. +\par 0.0000E+00 7400. +\par 2 0 +\par CLUTCH +\par 1 1.000 +\par PDRIVE +\par 1.000 1.000 2 +\par ENGINE +\par 1 +\par 95.30 76.20 10.00 4 4 0.1476 +\par \pard 1000. 7500. +\par 10 +\par 1000. 7.000 +\par 2000. 12.40 +\par 2500. 18.20 +\par 3000. 18.90 +\par 3900. 20.50 +\par 5000. 18.80 +\par 6000. 17.80 +\par 6500. 16.78 +\par 7000. 15.10 +\par 7500. 13.20 +\par DRIVER +\par 0.9000 0.8000 0.6000 0.1000 0.1000 0 +\par \page +{\up #} +{\up >} +\pard\keepn\sb235\sa55 \f1\b\fs28 TRACK SIMULATION RESULTS FILE +\par \pard \plain\f6\fs20 ========================================================================= +\par VEHICLE PERFORMANCE SIMULATION PROGRAM - p1 +\par Test No. esprt Counter No. 1 +\par run at 10:26: 4 on 26/ 5/98 +\par ========================================================================= +\par +\par esprit cardat file +\par 92 spec +\par INPUT DATA +\par ~~~~~~~~~~ +\par \pard VEHICLE +\par ~~~~~~~ +\par Weight . . . . . . . . 1509.0 kg +\par Frontal Area . . . . . 1.770 m2 Plan Area. . . . . . . 1.900 m2 +\par Air Density. . . . . . 1.205 kg/m3 Drag Coefficient . . . 0.340 +\par Front Lift Coeff . . . -0.253 Rear Lift Coeff. . . . -0.303 +\par Wheel Base . . . . . . 2.44 m Track. . . . . . . . . 1.54 m +\par CoG to front axle. . . 1.41 m CoG to ground. . . . . 0.48 m +\par TYRE +\par ~~~~ +\par Rolling Radius . . . . 0.3146 m Coeff.of Friction. . . 1.090 +\par \pard User Rolling Resistance Coefficients +\par DRIVELINE +\par ~~~~~~~~~ +\par Rear wheel drive +\par Total Inertia Fr Wheels 1.477 kg.m2 Total Inertia Rr Wheels 1.477 kg.m2 +\par Driven Axle Inertia . . 0.001 kg.m2 Prop Shaft Inertia. . . 0.001 kg.m2 +\par Final Drive Ratio . . . 3.889 Final Drive Efficiency. 0.970 +\par GEARBOX +\par ~~~~~~~ +\par Manual +\par Number of ratios. . . . 5 +\par Gear change Time. . . . 0.1 s Min Time Between Shifts 0.1 s +\par Max Gearbox Torque. . . 0.2 nm Default Max Gearbox Speed +\par \pard Gear. . 1 Ratio . 3.3630 Effy. . 0.980 Box Inertia. 0.0010 kg.m2 +\par Overall Ratio . 13.0787 O.Effy. 0.951 MPH/1000 RPM 5.63 +\par Gear. . 2 Ratio . 2.0590 Effy. . 0.970 Box Inertia. 0.0010 kg.m2 +\par Overall Ratio . 8.0075 O.Effy. 0.941 MPH/1000 RPM 9.20 +\par Gear. . 3 Ratio . 1.3870 Effy. . 0.970 Box Inertia. 0.0010 kg.m2 +\par Overall Ratio . 5.3940 O.Effy. 0.941 MPH/1000 RPM 13.66 +\par Gear. . 4 Ratio . 1.0370 Effy. . 0.970 Box Inertia. 0.0010 kg.m2 +\par \pard Overall Ratio . 4.0329 O.Effy. 0.941 MPH/1000 RPM 18.27 +\par Gear. . 5 Ratio . 0.8205 Effy. . 0.970 Box Inertia. 0.0010 kg.m2 +\par Overall Ratio . 3.1909 O.Effy. 0.941 MPH/1000 RPM 23.10 +\par Vehicle declutch speed 1.0 kmh +\par ENGINE +\par ~~~~~~~ +\par Internal combustion engine +\par Number of Cylinders . 4 Cycle Type . . . . . . 4 +\par Bore . . . . . . . . . 95.30 mm Stroke . . . . . . . . 76.20 mm +\par Swept Volume . . . . . 2.1742 l Rotating Inertia . . . 0.1476 kg.m2 +\par \pard Idle Speed . . . . . . 1000.0 rpm Max Engine Speed . . . 7500.0 rpm +\par Max Power. . . . . . . 197.6 kw Max Power Speed .. . . 6500.0 rpm +\par Max Torque . . . . . . 354.7 nm Max Torque Speed . . . 3900.0 rpm +\par Primary Drive Ratio. . 1.000 Primary Drive Effy . . 1.000 +\par Power/Weight Ratio . . 131.0 kw/tonne +\par +\par ======================================================================== +\par +\par ========================================================================= +\par \pard VEHICLE PERFORMANCE SIMULATION PROGRAM - p2 +\par Test No. esprt Counter No. 1 +\par run at 10:26: 4 on 26/ 5/98 +\par ========================================================================= +\par +\par esprit cardat file +\par 92 spec +\par RESULTS +\par ~~~~~~~ +\par Lotus Track Simulation +\par +\par Total Cycle Time . . . 173.6 s +\par +\par Dist Travelled (nom) . 6882.8 m +\par \pard Dist Travelled (nom) . 6.883 km +\par Dist Travelled (nom) . 4.277 miles +\par Mean Power Developed . 108.60 kw +\par +\par Default Gear Shift Map +\par No. of Gear Changes 26 +\par +\par ======================================================================== +\par \plain\f0\fs20 +\par \page +} \ No newline at end of file diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm0.shg b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm0.shg new file mode 100644 index 0000000000000000000000000000000000000000..9e338da2306898cb56967e4d8d7052006846169a GIT binary patch literal 664338 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 literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm1.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm1.bmp new file mode 100644 index 0000000000000000000000000000000000000000..1e738b67a35d65a9593fb255067fb8b4b4b8e641 GIT binary patch literal 3126 zcmZ?rHRE9b12Z700mKSW%*Y@CWB~zGK9mE(1(E+p!DtAKhQMeDjE2CF4S@y>KwYn3 Z7~eo$^G8h^4S~@R7!85Z5TJhu003qy literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm10.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm10.bmp new file mode 100644 index 0000000000000000000000000000000000000000..85b3fdd16d36ca781e209c7130c2b1e97dc28d4a GIT binary patch literal 3126 zcmeHHyAr}65X9cGwzTvM@&We#kp-XTpXr8!l^l=U(C9eaBzWxY?g2x*-It>av0%L7 zy~Ow6&d3n4etO7s9iQI_w(mDL(v-=n@;*N84H{`ZbLmoRu`zGclsTqRh##oZI7}NB zvUPtM(|?{1uFCK=7#9Be{p9~o_==m`+@qC3AaU=atsTCojI?HpRqv`*f`PJ6BcBO0 zzHu_-ATiQ%iR4D1kv9Fy6X+wxgKg1(BRVZm9lk#nZOH*5!Br(-gJXh)A&`)%5^{1H zK_n8v<})Y|Q)SC3N|ce7gRH)slZS{TRMAr<;+E5@{%|W>VLX;55~B!}g0fjP+ioHJQcQ@2bIHu>UWNgvP~qCz_|MFq_bXfI6uNKx zB3Qz*;Y0wJ-7jSBC6s^>_5SWQM7XQw^N{6+h7&ieH7!p966i6jFFj^Io-o178_YVdVe- literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm13.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm13.bmp new file mode 100644 index 0000000000000000000000000000000000000000..16d41eae8433cc9077ee95dc85f2380631537b2e GIT binary patch literal 3126 zcmd6i!BxXR3`EVH0&?U?1u1}guGByoTNAV&^HS@o z{;K~=`#&ugAyv~q-aW4U^B+_>sGq+Y-^m3r#;a6{+QV1Ygl%yJVEus;1Q$>RF=RJ33*5J#0sFBin%m58yn%?|m;4F3H$Yc7g@O zFtU|E+>#m9>x>FYPA9ud!kIwYN-Cqz$xL7bzn<@K`d#_jihg60!p=+}`uSu7Nh)ut zi&Ph56>JclVkrFHid~WlXOtqAqZ*r&6$ABXj@VoHk#sR`dBmnMR&>N+X+{n??-QFEzVZ547^zBXjlGr+Gk*Hlj{^5!4a6C2x_1)M=_JH-7 z-?3|%ud~FMbA)?Fdlp^kKP2+S2-A-;6Hm@AAUpy&Q^@(an=Fz{WBPg8t~#C|JObHv Z*JnshIFPs1h%}RP?ul<3@%h%@s9)ye6|DdO literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm14.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm14.bmp new file mode 100644 index 0000000000000000000000000000000000000000..be231b3b91c2cbd303288231208e070ede1092b3 GIT binary patch literal 3126 zcmeHI!4bkB5X8R)`1EN77U1}`0-K>UJBtf@AsZmXOpFgFH%N}%We*7I?QuQ27+3Tc ze9rbcxDzsj@y|Plp@02La7*iVQ}rR}<729X_v9UtDGdxvG(LIaq#AQw*M&Bot9nof zADiMp7)TUPxzW8phKbSy)6p1;1Mvoj?U!Ms_?H?Wl<|@IgEE?;YA^mJA1d}HNHTvQ z48>D!ocJe76UuyiC{6@Dn&O&=Nxi?~nnMBy_Ej8|;+ltPbN)VvtVBMyhO1_Hear7Z zd}3v%hGqUOP3a7T=AV?PPM-xoIiFdRwg8Jqm9}OLyZbjzFWsMwUcnFic}2Hd|JMFI zqAk|%@YfL=%o&ZFu#_6!Y|6g(MHb8O!;Y2$8(F&4Ob>^_Et(JGxP>((s^;*|N@Ppg Ihl@_&4KL(cK>z>% literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm15.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm15.bmp new file mode 100644 index 0000000000000000000000000000000000000000..4846c56533168f170c2b7287b34983a74b663a00 GIT binary patch literal 3126 zcmd^;!A(O!3`9S73gF0*3Q_=fD1u5Tjn3dD6RgpAaX>_o0+#;DejbmrE9LQNce@>8 z$N9i_fBbH?J2K+fe|c89Ki~d+)FV`K@=5j&cZjY82NdZ%WL^&9-hwFHVa`7%HkU0S z0=Q(A_|%YxUS&YWi&Qdrs)bVFN(iOS;9cy3i{j2;|}peSm8;?vl3s?VGv4@FjwhTzsZ;8 zmxQ_|r!VcW6W7mqn3uToPD(r^%PF99l}-l3Xni&1-18WpO9uO_pz}^<+iUE80Mq7} AZ~y=R literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm16.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm16.bmp new file mode 100644 index 0000000000000000000000000000000000000000..eb58e7c7b94d023255da7f5024bcbfd22aba4984 GIT binary patch literal 3126 zcmeH_%~8ZK3`WhJ0yuJ{f-QhM9Z-y$pdUJ0p7q&6#2edzWoDT{lX$-9=SflW{BpWa zW+%=k?#FuHr3VyNj>{>s=MYy^t^ure!@aZyWL2R!z zg&rF72QA?5wMY!sT1@$BLE6UhK3^rgf=YNiY7~mk>8o&&Y_Z}mk^|4dUxdR8w(TcT zHnS;N36T#{k5hhxZwG0yNR}3#v+(z?7#XDX{1isnMAaIn!_n^aT!|^Z% uCVth{Xs&OA&*Z!mUy&|=j~c8sktT)hFpl|C zxiMd3AX=49rACtzVCzZ}=R#f}i@cu~&|OC?j(|y%}lbqu853e2Nhi z{E80&m=3FH6NQTfi;#e@r8mGzDxI*|r0W|FRA_9YsFoJics_qx!73U+NWT2RjWhoj zjF^BdziK!DXMUPdHWqaAGt|hI?L5=)=Wz6H*RSC`j=ltPe1x-EAK!l;Uw75cscXbX zu~+LOQoq)zi81jaRxYZTWl;1}b8$sYjj%X^I*VAjrGSsQjUzayxEk>S^p2_Q-g>e` Tx|yc&<3Pj5_CH4Wb20J)DS?8_ literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm18.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm18.bmp new file mode 100644 index 0000000000000000000000000000000000000000..2cc1481847000ef087cf48eb5b04206f0c6eeb64 GIT binary patch literal 3126 zcmds$&2hsZ5QWJ-1>~4xDsTb0yC-T$MJXnIIB)l%r!`2j4NPWY2CbhK`1VKm^L%Egfi=lH4*wncxZmNVX; z0>7k$nG!;PsX*j+TV)hTR`L`1vA`C!usuc`T`R(*&q2#~{@)#?iN{}cF@Hy`&UuXA(!qsrE0;}+A z&qIO{d1Mn_oEE_b_IL0Z#m%+76ZOJn9W9~>W8 zjYo?2aXzEi@#W4y(mBPh`Fo0B#+^jJ zd&WQUd+fiv_CSR7`p3Jk@}IwA%Z+ST?0lH3BV=wVyrs8W7*JaZ)_0i zC8Hp!cvE;f(!C+|b5|}uauJ2enNi;nGQNGXuyc^SMGm8M`ZjP?td3w>i>oQ{JMA< zK3-scqK(J&=`U;j{p{|i?w|KtUorRz&TPe>AE%b9GkPb9Gt>`JxFIPjK2ww8D89jW zDZo$g>-8svV224do)~|PmUQ9Az|*woSeP`C2bU-1PyC|39?#5s;% z!HI`tff6UUu0_8piI2p#jNVWa&Y27K2YaR1;#(oUQq;B@tGVb8f$@Me4RdnkDUwMF zU*|Zm<7j)P=xbXc9lTbGiq8Po#3$$!XW|?jZINZ2zv*Z*#tD5q z`zH;s(9ZQ?lj(olpKEEy7Zt#P20cWAa536uae-snke|cF(?mkU0n}62l@gjply=rg zXb$1>G73xnr$fjE-b8|M7$zSoo;`Qz@a!GDK8r%+Ix0ru+^^3%ZAz4rb<)gjUBWC& n?u;%J`7na6n-W2M6s=3-e~#&qLd9JK@8TsAW)ZvdT^0BNIw{e; literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm20.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm20.bmp new file mode 100644 index 0000000000000000000000000000000000000000..f03cd7a8297f3c54a946a68b1c192b7891eef083 GIT binary patch literal 3126 zcmcJO!BNF93`EVH0yuJ{0t(&8vNr)m196tDs3$@Onj7MkFCsr~3;hgTNJ6^MDB zXNRDxXB~2O4PU6%Alu^|N8?9L4HC4|}d(Ni|4L1CQ2 z%tNy=#2%Gf9>+|f)}MA+)l?2jTSoTy-4+7lg1f2M$oT#(jBv~vnuBOfTlNbsr+Nk1 zV2G6<9Ps-s6bgt|8aPClX1*G1?EtRRvw9XYCAbn9|8>ft~T!<-S7iB45z)9Vu?!iTWy4@!y9C*!A~V(>Ht zet1T<$e?sl4CI|FVwl1d#q{O_``3ubZ^6&5`D%6{fxZTJ91(&`sVSgrQxou8`6Abp z4gUr>G@m~%E3b?A z{)*=^K8JLMf{ovg55B(rvspWVZ70z8JpmN(X1r&3rHI}#DZqhH8ugqXQhKi;d+O{_ zk0s|eR>t?{qm5YNTg}^yT7t)trawLs5XUj9+4f37h$C}A!pAmpEkv*?$xNH$+l6s7 zjdSnvfFJV>4#CCg(saN%KHAn+IfX`4>x?e`N4^`uHRis?0U257-x2oUTZssd4Ht8k z`~LyoO0ePR*> E}1uQX`X)n&AzK&HiAZwgV3G??vL7TBn!9O_lH RSjz!7(jvb_+6k;WffxBe)XV?? literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm22.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm22.bmp new file mode 100644 index 0000000000000000000000000000000000000000..c09fa4c6546c2f595d4e00e95097cf6f5362b6a8 GIT binary patch literal 3126 zcmZ?rHRE9b12Z700mKSW%*Y@CWB~zG-n*3%!UvQ885l;%QQ^!QS&jw1X*O*g%9~j5jj{!*`pzVCjAlO|Kxa-S!Pxy{BM>Ky=`l!Bo z7dG!tcGLgDv71 zqhYXx>=}5fyRs404Yn%gUJF7bgxUDa=9giuE(O3-cJ=TFHi3s>pp2lg1uNEuMNIYC R(q}((Tdmp3_XfYqegRv(!E68k literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm24.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm24.bmp new file mode 100644 index 0000000000000000000000000000000000000000..f4e8d389380f89d1a52dd9231c996e93b65a29e1 GIT binary patch literal 3126 zcmd^;K@P$o5JhqC0bIKD1RlV|rFZJdj5pI)ejS@aDNwqxKXx*Jygwbv?QuOiuPgDw za~__9JCUJb{dw20kMFqxgyuK)r@#+Bidt0gjRVt6y+gzzpAQzA!IhW=9P-I3 z!yd zTv0z;=H&0PV^zfy$tlN%If=FtLy4aQN&E*atDq)go|)2WLnC3sdHCz$A$D&wA9;aD AyZ`_I literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm25.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm25.bmp new file mode 100644 index 0000000000000000000000000000000000000000..6e5343fba4098bedaec7b7b49ed139810ddf5e6e GIT binary patch literal 3126 zcmeH{!EM7Z3`Ny@2gtFA=CO@e!#b4jo z_hfd(fAW0P=Pg}8Sbcx{(a+-N(@q5rE3n?Dp-6M(oXSe$m+n90^K32DXp}c8*n;sF z&vM&~y$~R(Y@vmJ3FbUalXC1;$s&IPlOIj_r3J{o4@KzA9^ydn7TdGI-aF{#(nyC|)8rvQ< vw#eyt$G?6*bxb{e5C1y9we50y_z|Q0@dtX>2htalJUqURpbdPw|E$0--?uBp literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm26.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm26.bmp new file mode 100644 index 0000000000000000000000000000000000000000..3f348254ffd772aba6b6ac1343bb3ea4006b2978 GIT binary patch literal 3126 zcmeH`F%Ez*2t{?*-Ou}}p{=W7Ny-JsT9BG*(G3xm<2A)&k_(5>oB U3&-|=`BmHYb)m)tVgl|2F2EXi@Bjb+ literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm27.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm27.bmp new file mode 100644 index 0000000000000000000000000000000000000000..76db9db3e1c4b4d27f9e7ac5a9c3ec0242349b5c GIT binary patch literal 3126 zcmeH{OHKqa3`B=L2VlvP6U+hF&oww_OB@UyT}@GVlF%Q-0*y5tl^y%pNu+tcobOMw zomrpw9+&U#^nk*a{nr<{AM4xyvaf?3Q@vX$H+IBrwlGjHV^_(W+#mV0n5HSyHn~}7 z?FoVF=Pksq@M(d8atj@V$a>4EQbYdkE~ii!e(sLl%(O0i5p)o8#=x>`W{M`C1hpuH zv71oNZ6iCw*gx#bmIU`x?`7_w#lOs;jO1tD(b2-+Cm3$S6 zpXJwjx&8V7jr_5JRe}VoBiCd_*3VBq@XxB{x_Vg0_wgy$@aFWy5x$SpgU@5EeP5Cb ku(-`Go8A{-&zkVRnLk@I-flMwt#`jKgffhoH!-+@cgOiVIRF3v literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm28.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm28.bmp new file mode 100644 index 0000000000000000000000000000000000000000..f07196524472b50a3e44e8f36707a3de59fd7d71 GIT binary patch literal 3126 zcmZ?rHRE9b12Z700mKSW%*Y@CWB~zGUWOaO1(E+p!DtAKhQMeDkQD-mas)4nEVDtH o@S2K{95o*i7T8#$;e#zy5MqNie8_g#sK(I{7!85Z5Fi)=0Mh-Ku>b%7 literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm29.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm29.bmp new file mode 100644 index 0000000000000000000000000000000000000000..4e5719077b08935c50fe4ae9fbf116ed1c2dded7 GIT binary patch literal 3126 zcmZ?rHRE9b12Z700mKSW%*Y@CWB~zGUWOaO1(E+p!DtAKhQMeD4DJws6j-!#Bced0 zO_7LfJ}vx$X+Cvr!DT*BoGOum%Y3RB4m1SQd}^5tF$dXv>Y9vfJ}pchHFGosMnho4 Gh5!I8tYh>5 literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm3.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm3.bmp new file mode 100644 index 0000000000000000000000000000000000000000..aa1ff939326bba7b1ad1091a9e3b99e224a90d27 GIT binary patch literal 3126 zcmds$%MHUI42IKt2k5cKPLKh5?|d0Ibz(r4Us%DYQc;5p*xzp(`u?o<N~lqx3$4zWe7^+ZAL7HCA|cJzV}+;g z#@?xj(yP$iLi|VxBXBIoAvi~@75-9iO8H_R8W`;iQxvF!Bz_m+pe0ap=QJI}*I{L}mF|2aYtxbM$Q}8ROpysNfuAIB05m-=9{>OV literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm31.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm31.bmp new file mode 100644 index 0000000000000000000000000000000000000000..2f6c5fdf2c6635864dbff47737b8f176df27b61d GIT binary patch literal 3126 zcmeH{F%Ezr5CpNeu(Y)F1w6ps|361hA%wuNwib5@1a>!r*}~(Db9g7(zT4XJn!;)) zo9xd^x<32m;|+KN-oT$4NWUliB4J@3#RNf=un>h}4QXBx7NSt>A>|ceAqvG2MC*t` qam2B(un>h}4=FKWmCWa%hBRSeHA!(z5DW+l^DcS=-hekSYTyQDSJ7<% literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm32.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm32.bmp new file mode 100644 index 0000000000000000000000000000000000000000..e4ab69c6f7dd8bf379d4480e7d0791ba617684e9 GIT binary patch literal 3126 zcmZ?rHRE9b12Z700mKSW%*Y@CWB~zGK3V|61(E+p!DtAKhQMeD49yTg6l4?>We`Jf z1pt0oT)L3O@tc5O7TFwJZ2TtRm&Ii!P#mHWlSI=pXw8Sa6Tb`b%fb!8!@zF>epx)m g!lm$-0FeTcaK%(-;IW$YIup>uaFo`SoeS`o109?{$Zc;jJ8V69Su5uH{@q*ZWp3cL2O*pT3 zF8MhPBM?^3KW=hO=QCDJASUn^6Oh02QKuP6`dA#gSYLz@`Q8T!Eq3Umh&Ov?yxTv& zFJl%LEdGJ}G*ifA#*UWWpfobcY669oIsGdO_4Sp>f{caWBPIUPzc0~# Z9;tP{?5~Zu`v2y4Efe5yARK5M_yFb?TpR!Z literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm36.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm36.bmp new file mode 100644 index 0000000000000000000000000000000000000000..35a89c6750a3e43d870528d7057a3f5a2d36f3f5 GIT binary patch literal 3126 zcmZ?rHRE9b12Z700mKSW%*Y@CWB~zGez78i3nKrIg3%Bd4S``A0*HK$n?;G&AteZ~ z5W$HkD`7^>Cm1`3Ai@^K1ho^R0AesPDk)S$Ym0`i`IvD_VNhdgN45e}mMS8&4u7gR Na@3H~5EwZj000UYJ-7e> literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm37.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm37.bmp new file mode 100644 index 0000000000000000000000000000000000000000..4507ab5786083f5effbb24ca8432490f32d95f87 GIT binary patch literal 3126 zcmZ?rHRE9b12Z700mKSW%*Y@CWB~zG{;EEN3nKrIg3%Bd4T0es0*I`RjYYY?A%zIA z9KnL9QM`(K-)p)V*rA#8dWeF L0;3@?3_<_^?^iPe literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm38.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm38.bmp new file mode 100644 index 0000000000000000000000000000000000000000..036622915e9fba84c41376fcbdc242d92134a8be GIT binary patch literal 3126 zcmZ?rHRE9b12Z700mKSW%*Y@CWB~zGez78i3nKrIg3%Bd4S``A0*HK$n?;G&AteZ~ z5W$HkD`7^>Cm1`3Ai@^K1ho^R0AesPDk)S$Q;U#;heCH^YDYGlcD|sU$q*k6b@MUf PWmIG|1V%#uPY3`2)TBMQ literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm39.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm39.bmp new file mode 100644 index 0000000000000000000000000000000000000000..b82dd6c38adb8406764f691756ca3a3ae5e91f6d GIT binary patch literal 3126 zcmZ?rHRE9b12Z700mKSW%*Y@CWB~zGUML;H1(E+p3_$pq2EJx!XaEK!0#VxvgvoGQ zsA>hx%|{ELhK3Q7?nv+`auTI_-b9aLs-_>HCx^WGXi1dX;e#GTv^F0YBSX*%^i)Ja zK>^QAXgLtw3bH~8#Sjb=P-MyS0*VQk=2M(j>1sYkQbe&GLl!N*aB*=Nf-X)i^MU5z qLKqQ*%gt!wI1NO$h+M;gcG22=!d6h=c;v9c;t?vDjBLvYWCH*t;nvLn literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm4.shg b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm4.shg new file mode 100644 index 0000000000000000000000000000000000000000..fe24b020de9bd8d970c1d85ae9c269e8b63bf54b GIT binary patch literal 626698 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%0A!`Kj%j~#iI=N zoI}4gXg7x)c~XsAWr9!HhfwX6&c9baId0^X)+Fu}N&eKDkiZ>)s8aKM|JeiRPl69yPk|Xp{bU*lcuoP?24c~&#vA{>d2LQi%yqsC6|pyoC~f9^I?o?V`M;w?1Y zMoo^E1?o*TduAbRv0^5q%xJ_@ z?o@Y^%%Pi*waRP`x%(NNp%+T|CRM!TPrOZk^P!%%4)`hLppegqV>bhBoYD?D$%Aw6 zo5+ESQ8AQ{x#sM)lt+BZ92;1~2wL?L7dC1~encw<{5Ei4S8bCW`&{T<3d zwn@HO?cV}}9YF`um<_MNfF3d6W0kEs!}xAjRy9}2igd+kqcUIVUZ*4n|99^qALQkI zfxb6J`Yg|U53AYxt4wt_>O9tRW#5q}o2_S!2P3fO`?Nl1G*#0tW$GuHI#SrE9r;Y> zu*(#7>C|_6=F#F`M0>Tp@M<>Pc~038nsGZm@z-bB z-4W%jh;G7W5(-%zzrFl2*P0Mt2jYVVMeV4K{D^A(@PnPo=m#D3na-i3A9&6|U($e# z7@P~`U+l$ci4)_y%KD%b^WN|thu`crvuA^dj0%c~j7olszJx!0GEX@v^`w-Oj^xyn z9o zroQUMzvAkzdVJL)<*OEWo3CD}O$NDR(Kb_J1x9^Ut$+V|Zw1o&`npfClAw5+@$u#5 z3x1QbTZv@RJd2pTzUJF}4!+vp`9>=WJ$+zLTg+cl*|#3(s-Z@%kjizgeV}~Lhjz2!b3S;+L9Ml3Sf)ey`DjaF$wj*GxN*KSKJx1VPd>QzM0;oM_K2* zow0^)V7Z;)&1S=XV~+PiptqQV*1HGi$Zl@rk2+C{Qk_$m`$0MB++Z{}1~P~hsTt@B zVV(zkG-K6MN2)rV>uu4gl9_MPy2slNWuMfsGq=X0nQi*%&B2ucMc#KC$XDgcdu?*Q zp{s-P=u4HGO}Z&)2@Me9U#jp`jg{q``_^}Xt}5qBZH1dV0%yf!I8!rlZ5*Q5DPsE~ z^Va`0@OC;DUGiF4bI|%sVLh4UxdL$*7xWf9Xzhu}8k@a40`*0W@SAOb_qpAtbIj2@ z^b>mMZVf&1Trs6;osa#|>jw7BH~hU@JUb#otHf6n^G60VrZ4#srJddnyZLUP|8bqm z*-@Lx|6av{sk+jiMfWg2tVwQ%2fwH5`2ybt=93M79*CGTc&zjK{R5=5&Ub>X$jyE> zdE@TKbA@rTFIN)mqIw_TFMj+2iS25?gU#2UTq^?58p#ZwB*~`${AqxrrCL#wyL(p2Y$u@XH1A9GfxP{TE`IW? zV|aS8C^#WF9ehTRs!=Id+}AO9%0W5$`Z@Z2E9Vm{TA~_nk#&X3D*oy>h5akFo)^5z znw2cu_50#~4Tcpgc0BW}jPD{k+4r+9Rcn=QC+oe^MJEK$_hg)m9C-&xP|C?t^j%*$ z@pW~$N+UXJgqYKo*^mc?tS5(V4u4z2n2}EK;{MY60P9_L2-d317YQ_DnXR(j3BI#% zc43P%W3sQYhrXH=!?iIt`xz47bv}b9cFbZI^VguuUS~bEQmK<&acZ^t^8o6$;q$l| z5EG-lp$cc`7^l&)sdYzY#XYyYE-es zd{kq|o4Uo8y&`SxX5J4x@vM%g8rhX~qy}}PHp}1g{c`(igEH87Rb^eRzVhV3x~y{3 zEW_omydStTEql+h$5VHLqH^FN&-OlGFKF?;boLv`smYKJoe5|T_>$&%}$6nx$@U;%EIsIl+{Bt%g ze~tYV)mkm9E};vk5gmzIF^644^D{xIjM1ILna8`E+6m@#{M@t7a>_k>RQOV!Hf)C1 zeSBhoS7K<4X9sy+@I1g%5mnR*quNR2(CI+s;7O?~9h!OOOQz*CdWM!q|J_WSt`aIu{;~tiXtmomd-HWmh0bz z7(a*diqT?^fuVlh{k=fUh zi|I;tU>)~_zcQc_to@SxQVY=h{&SB~VZmW9O3Xu*vMQ%(bsJr+kd+1vA9mo0cf=^- zrd;lc@AIsHe&`Lr{ax1N)cJq0T~VJCenV$%-}v5+9l(8H*tX9K*E}K2u_I>Pjm6q_ z%xml-%Q#kXwYLxK2>4*9#Ak-(^yAY48;n2sxy0GG^+A09KedI6|3}7&V|Co;QMuhV zrG`>dk^=w5Mp%Wmo|=Qt3fS4)-AYln@|Z7ty$7)V>^{zLsUKD1HrMwEv_h?XkFY#1 zl;?r=7C^6A`7+0yQAV#qtf;Q4&aHyodm!1fV$`+N4-`id87<$3&bGS#?1#=q)IB<< z?9^Vfr#x3hIp|ER+6QVU)6~xnF#iR)Vqe_6An9a6MVsDMWEw-&f`R zX8Fv(UtzF2Y+!EIGr0EEF!o&7c^0@A3SZWfbu?8*wUDt>4ejg_yB~g;YgSercd2D% z_k-cw?5943zLdP#gO=-cgcf`Egq)(;;``Iea;CT{r2~BZV2x3e_M@qpc0y@8o9y<* z)}47S>(2Y3cN@eLfqCK60_%-G5g3N`r>uU-y_J+IN~Prjt6$Z?(hMB1w3{EXMUtTT27c9WeZp7%NMu;&e-?2t-dW5+D}q3H>0 zK22@Em!|=*5OHhlcpbzY@Ira74?P*}y*K`TqIQYT19Q~2@a4u0dFkR3x#?*=8(dwi zs?GEMR2g>x`$kH+`||wjp5WZ`wQeD^l2>%dyHoD$vUXda8^Q-2FZSpYeC!hwr{~`f zNYxYOy-xIG;%6BtC-W?SAKvz$t=uc`JBgpyll*KpnhWN2M75QN4l)k{WGmc zfpvb5kWXfB=erDh*mp@|VUqHSfVIXhSayQW{Z(YS7kqbN$00h$@LP&As|$+y*frKl zzSbEXlcyfU(`VvxtNmd=IqcMB>sRdYe;XZceGeSzM7f!kS9+->=g!)Cl=aR{Z)Sc9 zfZprMf@dY=75|T^SkMxy$ESb(grIn=SG9Dctan*IJ?qw&vU8bZtt;0mJZgm95!=Sb z>RNU~MKD>GALi@M*~6%3yi_b_agO+zdgh_id@xtORw$UR_iAYkI@wq~<(EBHp7oYz zS?o@e)!kf9ZYwFP>F*EhtZ>JG!fqugr)0LBc1JYV&t^?eiB)Cw{l8^CN8OofpE$2Q zLB-*h>FpP+i9{_mmwv>*3{$Hx-SQsDGXA~slzf->3Dvh~b5DNr9`W4$&Mp-C%GZLO z{iUm$=j;>fF8sWldSp~r!un8ZM(1k(FIfpzNg!iSw72|p(WAYmtv2N-t(6gN%iFVj7Nr=W#+vio__6>t<&O- z`D6pu?7>1U&+=4OR*|duWQu*`dnf1|lyXv+bI-sAbE7Zf=Qb<>fsvmqgh)*8W&eSXKjZyuwJM!Kj?|Y)Ln|Wtw zRGlMwJQ>vtnHlUbH@dPR2C4eMp8WdeIJtIQ-(|ncUf9Bl&jr+vb7HRO79Q6HHbXnT zGiLKZ1X4!dqwv8vWGC6U&+6VFlB2;|-xv3UhP zKXKw-sWp}Tgp_hpVq~6j(5kETv9?UP@1tha z(R_Z8dck^~Qs-xd5?VM?bd9p-(|S*wdzz9iv@18hE!>XXVqN`Pf_ziGeM@A3WHzd3Ke%y{Z&R+jA)&%=xk zT^&*l?ObO*$hds!XPMjlC2&AFD6jDtcl{dAb&1Y%O?#9*sq6X6TzknXDn(Y-XI4bH zXUl&%v!jRII_p>?tk2#vitJD3ONzWPCx4nQr!^rF`F&|Uv35@}(%Bl|N8cW8^xPZt z8J}5L;#J+SXX|fEDSwpq@F1Ha4so;H7Ehh#>o~uz^AB4*y&u>;)h13LDY~sz@mx(J5kAy;Wc5#7{EliGK^5>{ImJr-P`xb}9B2_npey&b3jQ z!4V3ZDKgFW%v|N1qdLqpPr1?_&YqsQq<9b3Ih}Q{baZ0>h%Y`zd$IZq*`g3(^R;a! z8)A&sQj!Iss+0M~Bk04PrgNZi8K1j71o$FdrewKPC zkk>{o(9P6GZHxn59UUF)+&1YpWnnwP7jqkPP{bmpV}Q5c>Y{u_1FPDa{mMo#p&Jdy z2)sGr___zqYHmJ^-{@#h8g`Rlcl}P(lxrm(Y1VJ%$2@a>$md8-k9-ayF+Jxaak7u| z^}g}jRqG$EH|5#(6d(C|pZhn?k&41*M&~ilJmjhqOk_JzN4tX*zN|J=&*dPF=O(tq zf}C@wk~i=nb82$e+eycbF!G^2`@^`jcRph195KL8hzY%onG`Y%#Qyi_v+*7yu!!$8 z{2U*4X*9OL4SlBYt9ZS6$mrMDOAgRyo6J{Vv2~kXeY6oBY^RWe4tt}%;m_C}kNQ2z z*q`KQGWW=LHi~-oC~Ji+hV!f`WYjfOdp5pJV5OECL3A@Bkq`TtNyuxap?4qiJ3`@m zM+_UpA%*`D4ESa{Vz5T?PAyN^W3H4q*%opR>cC@8{t%6RF{gX@&%j4c(m%{02d?Y& z`6cYm#H20q#vq@m$Li>rv)gaPhking4I9R1Y~|gz6W?utsUzE&j+msxUQyy?4CEfN zCT6ySKV{E&W+B!?v_7}kr#%x8SRJX!W*ar*m{(q_5gqi|#`)E~;!(|-eb2PfGb^R$ zJ8QI=N)Ojq$iaF$W*x7KKn8R=616#z%KGi<3X2XCTpEN2T{*2d9h{S=R~Atkn-BK72a=-J7DKIdt@H4eYqnJxZSZqW5c z&P{E~=SqzPDD08UVFM&b3;j$zcpYjNa`;WKx8Z)Y2^r*D1OE50!JP4YzT>O7z1YN1 z3On$#=NqLPt8Z(OB6p=^P_u#B+SebR?WJInb7rahkOn#G);IPfZLE~6n5kh8*}n!C~dW$lquEuWU(Hp!}ILbB>kGLwTu%@|6#;JANwToEWDlpD%I@^1b-fy@}SF z;pj6)>ay<|m0334iS{lykYo9#)v`8oAX$bsGtR!JS^w`boI~gMJ;=xdo%il**EC15 zyGN92Z#tbf^_4uDoe;S#vh*r#IXYfTy^?kp!cJc$>~~DQ{buO?I|$lSv(j25rwJIL zL%iAM9v9RGPP!rb+%aHpV>J&9*t#AzGAILf&xU%VUkzI;Kt24ev0rbfIO|b2zP(nk z!`C=PVV@uaO3h=LdtPd%k{?Lt&H)PpU zahJe1c3IIfZ}cPOS#w4|Xg8u^L%WRSy!Mrtt1O7%-KSN`tcyO%tdZCAKX{!7@?D~V zXS7vjT94Vy^jn{PK_MDxvx2eCmSw@SH8s?77f=ElMvjQ!fj5EIp3zQe!C6)`>FU5{)}_r`w=IdyL_qGUj@tVLw>BS&LelmC%sEd*isIvbI&W+k2o=) z#~`oqtFGfupG=7(IrN_lYA@(vNXz+NX1v=VVF$~3XNQ+{_FBwN>WL?#9~ewcxsL#xxC7VNfQw5^(;yW3D(+EaFh&cyN_z>~vK z`+3Liu(jn*C_BUCj>mlhZw^C-4yY5N^pUsMJTQ=9&dzzt4^Yoj?0`ub=@#aU{Noj} z+2eID0TIv4FZ$g4tK2|!4c*eL*%QXk^d9+Ux$~A!l}B$U&%khv`aJx>du?IoJm$)q z4dfhi%tu2aV6%*h+%D!s9%XwkSY8cmnqe5TR193; z5p%*k#o5xqe>CWa_>2?uYfxKrs~NWftEVL;%uIF%aJ`2iGah}*_cEg{_XT%a?73J6 zpoJ~7%sk~QDxIW{(?JIt8^%?P$aS63Dl)y_N^7RGceD5T#T?zy>^Wy%;8jK+=ygy| z+ZC;AL@&3fSvEV#GrpC$zK5)a@(P3f^_M^>d&BZzY^6Zg2-Jmd&7Ja9zEPiIz?b$9 z;RGfzGHr6moxvxXdWPzbg4~}=DDgAs(juXJxlyH#oWmVxBRzL?N%V$*)|X)^S$+%x>lgM2*e z;W-A?q6%ckxmOjHG3$4wd_uJxY9291_3s+n@$Dp9l=A-O9uZ}oxI-&tM$8U;mO)1h zQrZk@U2S-CceypzBi4lL9&*dwRy%ZzMCv$_$uM$MKt27)6OWYgJ*qggB?c+wdlXpo zY3SZwmG?G=QTi420<(!LeTGiYg7c8Ym}L$bdEjA?A5r*l-6r@%9gq`)dhn3DUCgO- z9Lf@PKfw)b+&oQf#BXT$Q8pPi=b)T7`HI~234=a8f5)l!IxRCg`KAI^!|0i(e2+3) zKTkCSO3k}Q-$QyxulEomF^e9hOl`A_x>K~hhgeI$4}NzpyJ3zlSuHlJTu3!L%?R_+ zfRFq2`e*`8=E$aw?UEXY-31Axz_y+&zeQOzpEs$8$NPxc77)hAYU(?xPgB&Nh@{uKW6%# zzexqNISGMN*MPZ@O1uW2dQ#ef=bV%_cxPpE;#9ky4}Bk{74wO=hUJ2so4i>Y}xjW9dn|v8*?CxDC~Qq>)(k-yGJSWLJp5&&<_~I>r&01@p`hJPVF$)VfKivgYi{{ zIdb)U#UH-`!x|>Fv3bL54zyF5&H22bafv;mO)ZjFl}jE?J|-X4#Qmr->kScp@SSB| z9Mq8qO+HO-v_DCS zLF}BD^C<`Bto1Z9=FsztIyQZq+l85RBQVlaDQ=gS`0SVc*rLenZUdQO&PX}%qe(M z;%dH>IVG0hQ1A5un>wR2_=p90%|&eJ{}2uAt}k=#{rrhK=COrCn^RPtYVcD!#tVvk z?>5*g@ZKwl;r$95_K-HNi<~jtwUk&KBCK5e8MLXKP* zw}~h6rvF+u=fDknj}5uVa(;~0qmbo1$UA0WyG-IYF~X+GA~&9dCho|VKA`nn{e9E?otPu?vq|$1eJXv(uf|l%l_`CIWV?T*(Z#H zN^o|ozuIFy@X7JPH^Y3L2aS1+VYWK&Vcj}$-7e(>yRCsZ9!u~XC*+tr&wPysUUOeW zOvqgqbb?(B${7p(oM%7EGhN-Gh^xb5O^8PsW0O~^I-Acnmrgtbr~f zTJFgE@p7vidDhU5M6TYQG_Na>>2` z;Das^M=9od-kcBHIyZdS+&UPLt>nqJ=DFcd98&n?dNmGon)f~I=`)Ex{3ut-y8$u| z@4xXHYYrZ=9@a{h*Mq$IPd1uZ)F};{iVK~|W*a>UnaZ6HALmB_?^Lrehurg^lSrR=Uu8j*53g&U`XG z@{^eC^C(~Qlsl&Lyn^~!d#!a8Gceh+x_)L~W$leJLZZB8SrC}Xh$3Phh|Ekjsm8)Q z55qxRVgT2N*|{v+gAX52^_%T?a>^)}bJ+DLF`(ldSc(TZhucML+PI89DKGkMQTS`j z9xi^C3pTl%KlN#=XIOLT=j<}E+Wlp4w zP1?xANBwYB$z<``o{TyHLGEclL-{Tn%u{55__b{l34=~8HtCZV1 znHHQ5%9QFHwm`hwfIJWARmSL~u9x*w+pRhLfI*y0Gp_SyuX6X19RYqC;NBoN+Z=~H z^capW6f(z@ICT%3j{c;?aUMP#J)G=M+lbZ6h4`S2p1v6~^MS4Td0#>fT>Ehx2?XL?{+o>Xo2=I}vmc8m6q zW1i_srn^Drz?%XWl)D=Kd$C}nc60EMIi|#MT;)6X9uGDgg5T3M`H2tn7*XWMI*HLx z!D{4^Gvs;Hx=lAhuQ1z06+gmOm9|6Ojm1&6<0flRFz_SX?z?)K8Bg87wsTFuNZe)AOmkeN@h zB_}sr@q(odU?sfj+akEt;v0VSjT+{H%F3LYWu>Tv^{5nh$x%Rx#})%S{~pbLe8tGAB~hIH^s>C{HMm z#_(*-gWVxdM88cHQEchcr?$JT-~7vNeVZljN-sGw*M>5We{oMg-JU!BkTc$S_bc?*`^v?u+%U(cTZ9#mww1 zp1;HScc9w%-#yn_@yp*rZhE&v7BZ}^!k2e#wr7g{ge?DI!>D8Y^;UF7y_<#$U)RHi z#4ze>%w<{UcabYOL`z8JPwuxgVHP#t+ikMY>^_B&`_ zzSUa{n8$o0r(}P|S7Wgj_}5oko(<4aubzuCcg@VRVzN6dy;JD9oh1BhrFd8BJzq53 z*+t)S$j1?HzGIj(WY#_WA6k!J|KH+RPN5-kIUCixVy(^$G^2q`Fh=?_a^mb!VxEmX zN1k08s|?J0)HEe~#_dt~shm71bif1evSl}wb%KB7(9mS>7<+btjacwOe2+^iHcdRm zrfs6Y(ZRYazG9>~Y$hAbr}}g-RY&_F{qph)?h$+K{LJ@AR9Rjp%bh#(*6^O-p06jG z_ekxR-z&?FVYdD{R`mWiRIO*|f@_v8N7u?7uE-|Y=arP*&&cgt?&Qn8^eDCgBrWUhmMmhJJ3X|(s=e}X@4_OL=<^8}{J97A-}AEJou zzHzI3r5B_}Mz#l^Wk+yI7R6Wn>p5L|-|5%f-Y${5N!^R|9=U->jH&Uug*7O&HvAbu zS05>EF+)rfr}g(Y_(-9rPPy}t~{Sdp1=#8 z*GD^2VkN%j5_0gw!JLD#b98y4xd-likTMU%W6ZM{jKvx%rvBWb^S%c0%-5b2fB>&i zWXPeX-Nc&(-3}e}HZRW|E`>F;8#H3ms@#?2NX1|6+jm4MR%GMxfx`j$NJpD3y5&D3 z4)-6a#Phh)F~ngmq`<(aafm}|I{0zG7V|AiEK=mCui3-`^*ka+V!ABi5JP3FnwhIo z`csx-Y1}$DTaCl{ds1NgK%O?Af_EA+=)LC9HS>_UP1tb`s-yOsIEUzR*Gz%m^xtH? zb<dRe3OV%5#^&bblISgR0DliF@U&j# z?VnVB|W)}>%>)jiNn5wD4#a6 zP3;;tVl^=+lRRo)LZ-DLFVF2E8n?z*A~4d3&K3o_Y@hj&zseO0{)*xAy-tN5IIzFl z06uX^A%~uJQ`kYq)x_N8DJJla3}Vw3Jmy(W{T77}^qybL)gJPmj(%#}n~(gt3yDMO zvCtO|iC=X|2H##Bw>O>VWq6E1>T=VQcN%fwI|c4NFd)NlKeOXJQ{rVg{HDOjI_D9a zF(QxJ2lB+|+0xf2bEH4xk#FLNAMG}&tU$O=7S#Zrz|sNVd&nF|d!lptK^AhyNjA(yDRKc% z8F=_MR56ntwmo~`-EDwQVgnxbe&S+IjH;teqOiN$fSud2UafOWW_}ZWjWTY%9YogP zn|uykro?FEnveN8)=8>25_2YP@Ot$|EZQMQ%*k_3O8q(d#HSL=4Y4_x7xS&_)2lUl zJx6`_zyS|DQpkbV*oiM}CmWT94nCv!#DY&Adw#HYo1mOi4t@??rzzJ)Cw3W!c)Jw% z5d*e5h}omF+1_nX2Oho+pK@1h+V?0hhz&|yV)NBm@i?zG;z!+t{8FuMuQJSoCzkt* z+;M<~7$Rq!Mjlwy&5_rLx*ah$C}Q{s{E7L1s-Mbj&V1nuAMl)m>Od~w&(XI&v7C=s zGW5<#wydPv(T&RH(A@(IJTOQh2R7|6&pU>`r1W)L*dH8>L3`q4IrUqVzRUrXbNG>` z-4O~K4Eo+|jzQc*l)E*2iLr+>oBds4fma{r<8)xI19q+-P~=T)P}oC;fjQT^hvRy& ztv)83AZNWwfr+8A$X)%1x0l)~262tfG0$|AFXNt}$Pf1P0XF6nDD$E|^C71_eTfC? z1AfFfMNdAt2=;7q#5_u2%Te=AGU&ZFt*0|bOxWGSA3S_}@@l6zVGkb;k88YB*ya)V zu%|73t1SCO%sJxF50rEIf_J;*L*LotnA48_Z=w+kIrK&kTXW!<=~(q2qrK}WlWM*b@qC*v zQ}z&D?h@A6^=3v-0zN_o!EEnA_vzE=FDqm9NH1PN6m(Q4ei-NMthyBtS6`bA-dc< zllg1^yiSv4+SJjBi5hg!o;X)A;RwI@C)<8SgK{6SBEwaT@JLAyb&4F+v9 z&AwTGh#!5D!|oi)L?W@9nG%P%s)vrl<*ZC8V?ZYMcbhBL96FT)n>_UNSHC=`-AE2h z=tfli-in17jKi496MsbEb94}c_KZX7@>m1f9HDc{fq0~@KY&Y|Oo@}}4ZRcG><7Ku z1f?D_&Kn9W4q(HNywW2&_@=>FS>ELt?_jK&Yqlq!De;wNn>X>xlg{06P$TQl>v)vU zeae2sS3B5nxLoVyJlAP*_}p#4hq$0wo_UWEe$as*QN`V|%l^F>k75Cv_{>3h#>)8Q zsXszTK4;~bVzKspzDpmWD4{b(N{d7LE@5+~Z=}>)LjQ+VM9w~b=8wO>h&~Z>k zyFHq5VGr3o;?V!rk*gi_+>=xIlDaPZiSr00&Lh6aHTzLUx$+td^Ev#p{0QIp#$L;Q zjm^PWdp^{Y-a5F{Wy)S;Ir&>)Wgc?MG6wl-gI;i$AN5WtkAAIW)QcZ*F&Z4>NBPh` zQ`$Ra9MXs}%$xChd8@9cml(N*$N9LU>@U1Lj?wSy2#@{KzS34@*^Yds^i?@z_gD*+ z-%Pg06A!kSJFn|O*#i`q%z<&BL$uygzbt>XZ>wU}v1^ag9+t{DpRE$iN0jkZ57|BZ;HyLJAkRE) zfkAA_KzlOPf5eh_XA6QsN>OF)-(# zo;1tJ)0cLjklh1I` zN3^;9Y;8B=<$W|d)heeCWE`D6#M~L5`MR8bN{M@vs&8*j9O!gTTgu)<<(9I)A%hwx z8?`SHJNJP6qtxrMzd$|PU#Iqgzw&9r{{m_Jb?7^JQrOxYf3xQvHg0dc|IN|RLC-Pc zuWbuYIp}P|{eX49{hucJ-y(z1x)rqlbwP12``g-}7;Y1D@{r+gar+1xm)V@z02B7# z;_q`qUv|_2mOc%Y{Ze;jb27{ttE+>%#O=6yM>KqwznVrQ zqU=#-qjr$pQ&z;?q|ukjeEs_f!4rGa_h3BcdlZYY=?BXBQH)3JJa%v84%W)JTR5&W zJW~3AQbtN0`An%-%3keJ_+-3>XCG)6d&6->S9!DZJi@Nd#nxp#JH}9*_|+JJ-SD(i zYB-Gz{;DEnq>9y(_4KqmMCC3y@!F$3YHCRJ&6b1Lq<<^AdoR&4Q%5%xl|yz9WR>4S zHl)$5$?R4)iDu6E4xZ;mTczg5yxa!yVhnSOSoCu{V21oCZT!Wzk-sPI32f%nQ1fTc zZjnFvOzD^9@N-?{vYJyb)G=VM!}JX{btXrQ##VF<7BNKczLb+f&v~Xjo#54Y%im>f zb0ePO&|hV=>r%NXYNqTCE6Q{>B&|yId%kLm`An?UT|&(sWklNDqRyTiI@)Cl9R~e4 zC!Z^+k$;4aFq-(W@6O<7T=I^~{k+jbjYVHl>d2E$ z=v(AU*}Kpbqt+z#R2gdxAD44|sUuH1vZbDs{z^@E!%z&>>l`@!_d#mKIir$7&N*q7 z$qn@G&noCC`#M^0?}^!w_Us|Miw$gvN52tuJF6ZT6EJEgI$bh7?0`i|{}I010W%N7 za9_b927HK587S?YMxL%Gw%Is8p!BB=`EHH_jO?5FBUp^PMS*j-;dmX&xFbE~u-l5W zt7mUX4bNkfSIRuMWLq|hO}i0gj4eH%RcI4F+8fSEQ5)vuC!0e?O8J<|4N^}Et-W)B zsPj2wJ-ePvee=9x)pvSCpoSjgGo`)SL3ZzCPMa-CJj78P@bEiJ;WHYHHPUDK99Y>8 ze3rqN_9F_Lqk|Z{X|Ce$YruoUpFxa4s56knaimkQn{Bt^vT9M zXIagXEo9_L*?sb$kln+N@>}qGlz5<=!-sRnlaAL;M~8d(?%VS*T*ni9`setxa~iQ4 znP3rPi;jF(bv_f9JvfQUIy7hYhxyWmRBb5(r9CNR+4fN$SQw7YT949^Utm^T+U-%s z&32T7#x25nHSgLV+8fRkSXE~{@`C(WesY_*2fXqiI_aFy)t)v-X~h~o<lp3#3sfTg)Q_> z4VQDqcB(&n3xdKf>$D;RCF@xE z#$Zg!J!WsErLG=6{Yi7~XK{(sqrkdLK8!V@x3JAvkY`!uVRLpc58g%@v*CHlj#A5~ z;=eUFjS1X(dh6X|7Kk<>60IXDMt_tGId+#9r5PK zfwbC$e0@{VlGHuSnmj4xN|6z>Qu*#YvWD*znbC)Mk5b}*K8oRf(a|Yz=E#$n(T)!g2gZj9<(VV@Aw5*V^ZKGZV5A=N~aX{$q^zT63+v_d1HN z*16J3=_Zm+zS7f>vCA~R+r*V^$rE&a#LaeBefKkNQ1;^dR^rWghS=eUKlWSj%+USQ zy!F#+KG+jOe8^tK%psoXIOh>L=XH81*UY7Uy>(2MbD$4;j`FiSJ|Y*#kYRVkAM%8x zC?!&zab<>$XWO3w$*Fp*#?Hii2Z{rpnf^?M-@s9-$u{D;JI-FDQ}$UxcMZ7Uz-E4<5}?ZlxXe!-vwM+e#OHA%j%@JFe#l z*Rk@f?fRL@*;16sps^wmZKgky;kV+*dSbnTIrgWxVg)~<)-7fe&KyU5^i}Tm%xB;h z-1uZpWMJhx8xKAa1ABBJ@;itRC?DngE#~Bmqt~BoXZ0c@hOqmV`BOaX@XIoEpmb*~ zbDY_^j$FvE;Hx=b#QS=oAI{>YI%C~GlvmjUlA-T;4*B1C=2~SmWAuzt1bp3A*-YB& zcN9@FnazzZCRf_kR4-i>dW00cxpR|zlH1t zzpv9g61TYEbN+Nrv+g7Lh|_(-cI;n2fl)_A=YiW0{UA^IDUVrO-*8wvbF6~N{F66* z`bKN@5f`tDx$e#w`Db7HZjkz@IcDv5E@l!;HNMJOWBfkG zo8?>MDDOMD4>qwkyDY}=XLK9pE8}ABvafPwto~UemlfiR-g#>s5kod^m-D5ca)Jx) z6MXxA`iNYJrLp2Tmi)2V@#2m;smbSOQmb=ETx^J!>tEkZcsYvcC;we8`wr$`tg_U8 zGvWQ|(RW1mZ&{k=+24oD^P4qgL_BAs;*8ZM{N$_lj-PzghSiw4LUDc0#g~~be@-BrK(%)_H5KDf@DoS_O;JCsm2Yc0G$RCcW?Ie#aWH0!A zz2eS!IKOhVI3LO{`U6MEJcrzu{f*zR8o12IW4dpP%NV5AdA#FV9d9cl!Z?n%-#*(- zb$Fus#p?Mbe!_{5A@^3)4y)bIKbx-ptxu{fah&cj7^yt_&16|$`vX^G{1G_~I+Jn2 zDn}moRS;Kh=6~Q5=ii{F+P+!y8c*`>b6_^Jnvo4?bJhLwys3YaM|O7_`Cnn>+Qc9E zkSjQ>^-0c^vy5N5jode4eOPYF#q%-LSbEUqId^RBiDa{=zt}0)JEfh$*~KESMMazR z)BezUfUd3PSi97^AjxEJH~^w&R~`Y({cu~9(Me* zZYIn6+OJ%Uzr~C)?!0L>E0>R@&&_zm;mzcmHQz1Rm~P6mkc(&Ff0JhxQ#Dd|)>C^$ z&&7PIT)xP#=}5ky*>;`v<;xh3EJG*Rod(A#DwjoEpX)y;bDnI;2PDpo+`eAfh-=`B zJU=8)eep;pbo5*gi4&nosP;>Sz>dW(o4qJ3v*n;S<5dRfc zfB3OSk6cI}9f%y?6=Hvaek;izjuYGI{$x+%zrv40jLl-#ry{&(S!}T~ZWBAxWw{?V z*+1Jz-rlhtEKK8;14Df-YVR=ZY3TI1=$oSSNXDwCqW)>OA`_`w4pH};K(@1nzt2Un znaO4x$SN29Gn9f!ZtdL>@xbnHe$J17#6bq)$Jmh^%=aPx!_yVk(yGPy@O0I0F5cOl zysx8DyZwSyNPZR3xtx46?pbw?18=scKk=)v^H_a7CvS$VrNkP5WNMFA6D`s8gmF`ZfoWq!Pi1j4~ygoMF z;B%7i$_~C0{3@ON;W)AFb#I!3QiJ%d!c$a&7zLiX7v`(qEzY*)U>zZw6Pzx1-p{OZ5bhPg2lXdjb zC6xUO?W=56U!H?o{^U?`%C}jZ>8bCzZjpDzLtc}3)rax=ISGpaf7*Vw+tf1p9zR3; z{@d+0lbgyug|bheyy5?d?8&yG^us5>s={RWSHxd7-d?HtA{TMfctWc28I#8u%2xV{ z_&8Uo_Ypasq5B1|>==KR_bg`B4Y4c-#@I0iCEu*A5W9@@*1<2?UqvInu;%&d z_(uL;Wg}j=Z}^O7Ci%hv!gb`|EN=WRLF`>@h4`;9+iqr`$Mlh}IIeH6!t~Q-aW=bW z?5B8Y*4G%T6;eC-fXlq1e(WkQ@-zRH&q{v9b*7h&rrgxuY)#1%JmXMa?zcdEovYk+ z@QY*Bu&MZ2-m7@h69Xg%#&9qOCC3)TR)}3j`YS#D*lj0shV8G3#21p&yLcnd&);?0 zd$crn%9*@d9-HpB@>9W_A=WFL*=`XLT={nS@*O4YFjchQKlQuK@3^1P;Rl^=! z*-MU(`q+cL4%1;fL&<3PY#{@YUm-jd<(J#+hRd?*pT}Fy&32P`k$HZfz2S=gyPP@a zRo}T|Ze&x(_-(o7Nnds|8~lahhCj<|ADb=WRQ>O3?D1nQ-ib*aH+;X!=I;DdzAfg7 zcoos(cZ{=H{FC1dP3u;<8N)3^_A(ysJ6N}<5Ug^K6e~qkY*r{cH8>r`K?^;0;(_~B z%sIU3TkVH@Q~t8cO?Db*R30n;nOw5m;Kx>DpRdIGknE!24?0icc$aq-mpIZB3tMy` za_q94{tRa_aeRxpnCTy(BNpSoYE-Uj%Hvghp_Z@Wm;DPqeQ$YQ`OHUOoVgwOH;enD zpY5pNHXiOeujj^mdxUgH%<#hk~x9PXFuWPT*iO>&LVR~&eP zZ?oTC#4r1H+r;;<{#EmsWo}&-xxI5oUd24qdmX6;#$fg(&y0N@tS0q8GzXKl5D%RA zOZHdUlt<3L=N;=qp5%Qa*U#TmIVbv)c~VYeUYqW!_229yd;BWq`l{~sczIjFzC|?^ zJwlmzZ1AlpA2O2;dt@`rJ~O>|uH-q7E88o5=2CyNCX^pdGBu4in~vbo#bFWJKfzRP+Y?h8&`1?6H|4e%J~no5`hv1G_5I_^+yMCwZ@O zl8$VR@%*VFAL<_z)%RvCCL% zgCpDIezniKJAKcsh(Kxr@B}aHAS6@hbgssr+;0e@yC!OrEp4pJ@5pJLX$7)#fEZO+vH5C`*_e7mjm?=(0;xHX0^_mPEN&a>wi_FLGx zP4er!N7+~DWdDNCo@ek4IUQq6_&1At{=`Ks6^B^N;bOj28}0a$Of*EOW8^&|vvd(n z_U;qWohN*dgNms>v0lZ@BQE%auX5pE5gx^&VIv)SWZ*0}bl?^_YfL};Ap>Q1w_W+5 z2k-Kp+1=sF^@)oynEBz$IJ1*%CKngJ>aT31yKMQi#eR0~+&|%w?W^&f|24m_s^e@v zq`zu+;~wK|7JvCv#SB^ocO%qH@dLB|c*j*M#ua^C$~s=H)v~x5(-vYz}r&N%t$`EygoH zbSvLi7Gr4T8d^68!Kb@q02PJ;u z=XfhVY*+d!hw}x$&);#>mg_cI%}qItd2MI+95(>$2k(8wsJh}1EoFDS->T;$@<-0t z87G;cuXwE4<^})A=p!l{xQh*WxJ~3nEZ1dw`o*rtHF@Tn=Gc7guM{@_D}|DEijbMe z=x-v80%KinPL!KTt-5!%T&OgT3EH>{K4<2GGGv(eTibuBW!7)P2X!1GUYea?t z+~u|p`nSD5?M~kBW&111ST)eRG^78zHOaK9}=-=aaOIpUt zdh_g+wbgWtrOa8|*8i#fHI@BEmGbZ3{_MW~Gu9Sqoc}6Itgyd{%35u&sP&Qe?BPFF zl>XY@@=D*UgifILD2(j^`ymk^Ppb z=hL##T;};yKkZ&y|H+z>wRCsdmS>^(pu0f-OH9sZ>|%cvjU7IGXNToPO<=A`6{)VI z+j@q!=dG{5ET_#*0QQekO&+_A)>7Z2ZFi=gx>Z5DKc9i^rfKr*ZGG|sHP@^DaviqF z5Ht?AWeg$*B|p>2j(yPnb}Uw+Kig=PRM%;3%0)Hxx;E`UeHUdq1*Z3$^Gb9Xx|i~8 ze0%=EpSWiHChK`F^exY8o_T$zew)SS?jbrAoSI+I7=N9q;C$$={ z*Hi0L#;(Ixh)mB~mUq4#y^h$m&waLoUG~Q3@8T`ePmkZ&ebAm`c$IAW79q*x*W+5h zuT9AdyBTi5;kxvk`0V-Wr0t(4HF=9`KDI{QJdf0u+-39i-b&`(8n2X9we3}!P1X6h zt%iRK>=spks$^`w_sL$!eYjV~?M_a4wTsOBGgt4EXU=_P`=Y$h^oxEyx6k=)7XL7Z z1Gm>~^RhzX5Biv6WLuus(8=$(y9UeMYu^q14rx1qoxz=gzoBL}eVQAuh4zUXS()A| zHQS-$D#w0>*b7%SqkQ8jMb*&yJ5OxmX7T4Nk;Ib6@Pz4f(Y5$O@?c=G0(uQ`&6%_^*k%$#%<*vQJzZMD173CHgohxO<+ zP|vg$?ist!pMOYJMD}so=Yu?DEW7i}uJt{3;Z1U8_|{q{zaM13S$usmXY-loB=UW= ze$TJ)3>-<<_u8S7Euw?R_eAVv_BA(*$8X-6*V)`61BV?=u0#frU!le9)nE%p#ik#2 z_t|X|Gba{#b~HJW&am4TfA6 zJJu9={W!bL;+M|_hN!ioIvz4Po6$7O$2)0@y5?v(PM>-9y`KCupR+k_@1EoT-ZYzD zWv%Gd@q1kMWOL&)NOI}VL7w$ybGgOt%$PHo^<^u0Mn&)_tXWnOyf%{;8my z-Ti)Q>xG9{EHd{~+8@%KHD+an_-?@iPEY?uEV%r0DS!ReEt}iE3wPV+YzMa6C(U!R z-|M~7-_CcOL*{B4bL8~gw^6p|_p8e{iyzNQ7HgI_vMDluD~$ZtcTk-npNaGxNKUE2?|nckpeCd6HZKMlw0=*WMwQaOKh;-L41eEg%h2l;)ec^3prV~mbramqnTH0KDV%Qm`}uV zzbs$yE%Pz^Eqti=MlN=WcfT9acQVXpFidnu1iw@$0H?04!U4&xchMsgwckCQx{!*cFEk-z&!-)&Af zGCzEh5x@EG_2t_Xn<*-O>?!=;v8)F?$tf8CRRTPO@){HOKBT)5m#%vm(B) zB0M?fs~p%nS328++-hRH!iU+2W8eusJy}UFUu@hiWc5BFhJ047+Q0|8-o6vpxv4AT z3HK_dcB`z&_7o_F$j-)7TY6rU%? z8s_|+UyEPyFdB-f%EttS+L&U6?tje>#a`bW8VfcWzDoK@VS+)fq zn00siKQ#Br&ztY&@p-%L>@K>wBDZGaaNm&ocCjALZZ_FYvTwyN>&4Aj{obeuG~KQ2 zGe`8_^~I2} z!g`NjS9w$`q%lni1}FIY~Cb8 z&OG728Y9Q=3bDV!?PPxwyM4l2Dt{%L&)IIe znO^@?DX&`0XnmC;ujA*}Xew?nE!IeS&HcB~S9`|bBkVwzm(1T?%UAr|HgZ=ko<|y! zAG@HBQ~s6XYCMa9>@Lpo$g(~M)WY1>ah0dKGGFaq)rekx^fz%wJY;v#eG^yB=k}O- zSGcJEZl2h^oNs;(Qf`YpejWLio`LQ}*djZxHqRtkXIZM|c;CQOkt~oiuURhHw}^;c zMeHlWSM3?2uYRlXncru*;I7zt(+p4Zo2*9VV%#}xUXfLNlsRX7g>X-?=2*uO6JKI6 zuDBI@^xQx4cbob%JmeGX9KlTvpT@KGTj?hAMg7s0cfKv%K+H3!HBZ6mtdiQx5oMZkJ)3apH&n0&QK| ztG4tX>X){aF?!?+-hIB6pK)NnLfM?PX&h=d-$9SO;zf*E{2||53*1o~c9jG9kYCOB zjl61{!#Hw1$QA2EN50h$`Df~Ij{GE)=Ap*>^~PJei-8U0!tO(i;K1H< zO!Xk2V*Jg@{kZ<7JIHou`y(6ewOb_mgMUvBPvr=`a;jJeSe_ktDN_|_rKM`L%DwcgNOemS3iIDZD0DU z3#&!H{U7{}$}BgJ*W!~0h#%v@FDgXW(EqB;v;7`fJNiDiEOQ=Tp8kzw`sT!zp`B{~ zjtR4>Ijh3tt5|vbi1CmMHJWaa2akMm+oGP}jaPzaR3U85_D;TU+Wpvm?yG(q2Y1Pl z?`E0i?z!YSjrLp5OX@X3fRdn2!|>^W}S?%whPS=V(4xHNkU0&B@|PW?STP z;P|xNX7i&HX*;2Ck%Q`^M%mDJj5Qv7SF$8u-y%eX(Z}{T9)4?-Cz_DjiD=p5+cLI0 zBq}nrGid)>t?itcMLU)0Y@#!}!(2#*e5l{#b&Os1Q9n0qcHhnP$L|Mzwz^H1*5~JT zE_aTHo@Ms4o9fIl>F<6mr(vu$igiL>@lk5gST=ht;?-Zrc|BS)J=a(TRHJ^}zI)cK zs_Bhm5&Ftmq_&pBe2%gA8eCp$iu&+T?iL~1X821q&3SHFj=f{g&UpA{A!HRJPWVSI zd;EcSwCy>5(nc}c9e-HsACQ`gzA0EHWCNl8oyV)7D+1IP9T6;2U zPXPmu?UDFhz(-pHdygWSF{WGd$bY;Il#A@#R;!kq$(8@A;VXTMwHZEsW10JnVz)|r zPVm=;9%Fv5j5{V(VNueETxxAK?_+M{IKwpWhg(I}40Dk8&JVj$YCW%xOO8X%oy$*I zAE~Nw)(5XM#;I<}wb_j6saCssm`RVPe8@?>^c`hS8&_fEO1$gmmy&h+76i|#egDB0 zYrn-UxJ5+IFyB!7tDL>Fc>e4+cKoF_F@`E?RX4`O7T-Otjc?rG_BftB4!@A{OR%X0qKuXgkCum-W4lyhsIcaF|YBBY<^o;`;y`;PlRWv^MD zXLnyNj%m}Z+`f0M?@{7@u{B)mE0dF1MsYf?s?V#K?5{Y<%l_8;r^g>!-gYngb4h&eHQXeM zr_T&^uh`7n-Tqtq^oT4*WMxcB4mo$1kvEuZ@j2pV^Az*zcQ|tm{$lae?{PJ+%CE#TnP)EkG_!U}zn(vl$Xc1y zZ0fkPrwZiTTSRug;T%iyZ4$xcx8K_|f7^!4n*++rlGz>rY#7xKDhSpy&Gs?JiM&&;J+W82;Z8F}K#< z@w7-b1M_Geg{%x2gZZ?mGL2og$BEm@J}Z9p_QWHjill1Q6iMR& zC!erxewut|4))6M$PSyBJr`N2KS69?MfmU&H~kCD_oL+$_eiP`{~9C9rDF_Y|A<;= zh^J`5QP*4~OK9Yx5Pc8%4K^-;S}{U>ot)ouVj25Y}a{ea9t+x9=D-BE!TvWQg5LU*%hwovPOu&W`(2i`L_Ej$X83jrBC}_2gN_ z?3B?*#NPrv%blaIH~JypWGDIYKKLf7HN3&bV&6;}pZdjF^xxRfsoZOJhW`A6|A5M3 z5(Ar|A~G&MZj(5~H}zY5A26?$EtATYGm(xlXtMn*MuwaHj=S`-_upxoWn{9)tQiNs z(mThOO~0`d?_r*H=AJ*dpE?;wo|V?Ob7}hc6l5AB=aX_!EbNto`i>F9^)=pMR&77n zSs!FX-y)YQyG?%LWCkyu zFUW)Z-9P7+^HaaJ$a8(t$r$E9|G%((2kLVRjSk-us+`n{XI~d*p5#LvHpL(%^2;uU#H$a zb!pAk>5F}ed)x<;b%1w*%kFeUxYK2UV-=Ju_7rH_UVW^BCre+d?Vo58Jv3(- zysRS{PaF2c(LNzs&8g(*hP=z%U~`obe4T546GWbFrGC$Q@59h-A|pi@bc{0xvI*X; z`b~~F3@?O}S#UQ`CcvgpVupasI)6Ep0QuE=~;xqMug@_C%h$G3=4`NZ>5iyD;A zhkU6i_y=&Qf1J$XiUWD&LcYRb=cfAM z$+@VHe8q=cw)7q0P8@K__HGl`hwR}qoXNWW1@5aHJl_=8#}j_!UU%r#XAEA&o9Xe* ze8U<};@~smL$*!okPbNMz?x{CDJ=xRy^XWFTg@oM5)`45$X2 z_`r4X1Y@4go|uT{3^5n5W!c~tcKA+_7~omfrhDXu4|v0OnuGZv7r*!63`9TFjO_*D z1ILVCaj{eXs)++Ww@rC|$Uo=5;KRQnv8%j}Ww(`B*ti_MA#zZ@>N5r-<)hql6 ze`I|gQY>-dnPwQV zvkkd8?<6-{D?}hV+7&0w`OBu- zNq)C^OgJnLxX6j|fH~hqtic}s7f|_oZmgj&o_nMdzsHDNa$ou%*3zw{-z@Z;$c-GX zFmk+=6ZJ+7>nEQfljOzB4|+1ju3|)+We6Wwd68dX=EnAIuA0A%H_864HFT_s#;HDH zW|{irG(|Xr3l1TDamOHeXR+3pQ}<=*H3EldM5HSpQ_vBU)H7C{FRO) zw>ocqJU$g^g;PaX{m=@^J+$H`_7rcf@ye)K(6;}MHo7-Pp6L|*Gb ze}(dwO||R1X&zRxmG3t5Wu235Y8U#-{pxs_7vpq)<&ZxiN;y^jRn2e8{qN-L_xajS z*cCU;gZef8FwXYm9I`F*B)h|{q`w6E*;@N6dhe$g`m3>|eOlibi1m|?C5vc=?eA+^ z=H~5^UGJ{~A)`OsPr3fYI@sKjlVhq~+?$OzJ@Z(*!=ri3c8s&E&j+?8wtN&<@pH=@ zzt%mHV<@(A5h5oa#vt-uo8^!03gNGIowLltK^}93|0es%{B^(3xt-a9U7zB?`7Y-9 z5P#?CpMOZwrHZWVN`|w{-jH#7l%IcPrXiDAX38+yc9w0L|HB=k+rxa_A3oiu;bZo3 zySfGa-6tgEYF7CcY5SGi;;SO5nRUKjT7R_7GV)4DydRBZXm$8b*lZqX%n3FtlyBB) ztUQqqIcuILO}5xqd<5U`>)sjiwb+WUHp|O()DwAPe}#%eEZOG%l`ndH9F<4P6C1~r z<7PHXyU-23FUZJ;z0>nj{5U%w#^-C9a>9??-i=@UxOFanE3o+a{Pf&c_0Q%zWa3-h zJ;d6Acf66}27(40Nwz&cElCVz-m`5tU*+#i&S`{($E9&GEN_Ph^OnbET}m|7#}sD(M!U9rvde)3iA;ojqyjeUhPkb{n2`#PYLg`3v9fYZ<1e zlwjf>601DLiL8zEp6l;g)3>%+f7QOrE;YA{zd3H-9jOTIZ;&g>@0puoC0q5?lmoWJ z8vMi&wp|{6_-Lc&T*$vE$H*n4e7=SJ@dJ?<)KJGgR^+dp zfNj?;@{yg|k~8VBspzp{u1@2TU&_U~lAL@_d6K{EoWs!bkPg0#;ltBV&lwy18E34z z{U;nJp8(VfhAhP%8J!_MZj*d^rHP}RT-fk5)T!0|Dcg32b;E{d)9cPPyNKX2UNLn8 zv{z8$X|KDF_8QH1RXM^(W*O<5-%C~Fw?blWmUnILqk2+v8_Pj{(yPJI?L)3yy9^F| zG!Ea)0q@!U;GE_w{~y(Qo{6)^A@{&;o8{*BVNE*KpuD<&lA&86KA?EsY0jVWbG|h0 zYnpP)G3j@|R1Z4kr9R_RRBUW>9y8f~H>}^M!(skjYv!@OV)Ys$Hg;VXcI55yCi|*B z_5GJjZfC#c)9!-SH~-LUygy-=e913k@>|w9*yLEs+hTYNIb&j^xj5`U zpAY$m@8R`;SSwV05nt&3LbIQpd*veCo!rjyp6MzlV^H}K-}{m0jH}ATp|)A;9MMMx zO0UKkBo7d~y9f^mkK+rq5U=tuC(^^ooPC6BkZV5koZ`2_nQfEZcyCSC;E;VVqZ=@E z*t;&-dqtLU_SyD#&Ze1p_IXHpnA|=hv?qk5nY?EhZLkGXUSCsx%s2AKCnNopZ1#`tsXMFMGxCzU-}e%;@_Lk)6h}3wzm+n`GF@ru)+e6Oa4bSP17|>5UWhQPZrR zUYBfXmj6f8=kq|VhMEgx>R*l{2W(fk1sD2Zoa?auH0Q9vuh(q6^asBr|4?84IZo0K ze%Q@$f3jG;>%hy{hfE_f)ejgt>|K}asV@7>ZwnYeJbg@NC0b%??@TOnMRK3{)5iFu zQTT`nip%>sK7Hb38~O>w;m!QE)U=*CPPfB8a7$zQ@}s{(xO@KQlV!??vc&&MS0 zBV_W21KBIM@Bp#K?YWN9iPUG+^SFIc8)jdsJuCs$|>6{ z^Kpt<^>AgML%(p2dOMBwo~8a(FFDU}%j=QnPJNo$VCNjkj+|%QRR#x`b4RwqgKgwM z{8PWE@o@v;fj1-lJ3O)(xJteUuB4Zr>m{?6`>e?p_QK3XOz;skV>3nLs4?Y-Og`#M zR-1HiR^8e7%E$H87;(FgQjTuLx$}Y;@@kW#O=D212Ipr za+Nw}zCBj;oy7KfgA*>7X%0*-*+=wQZy!r$4WAiqp%>C*r~V_M`njQZPHHe4_qDO~ zxi4RQ)c<`n&n@y$yw&)SOU(6|&x&h{+R%#wSw-n`yV7G@?XJezkG$?8+}N|f;B;jD z)4WOUzD4IeVFzcIWn1<4yCvTL3{lHW!{$*<*IAk6%AVzgE60JaA~wi1_M6oZ*-JQ^ z6>*l_ULBLe%x@<1Iuu%UMU6)!Wkz%Rfl{P6S@3yzw@Ly@3K61=qtjP4&qbeA-}^RU+m!NW2;^L z59Q3 zRdvWeiv#bEtR->f7+&*C7qVeavP^y2Wc@m?Z1(3Oo4@zJBT1Y?K50Fe_o`ow^BmBJ z1FUk5ho=8v82M$aSpDr`eml+P*U0ia%p8b1A;d%j$F)Rfir9&%5|g%V)9Xr}4X- zaLFGI`0DsWb73`kv%bc|?VjhN_RW@9cW{$^<@2En%KB4d4kwQ9Qe9zdUE>feD|<+%pGG; z^5GNkT0iq(h>v5L7xB#6FmH+Lt~_(z^;y|vuCu=Uo#XGtJHe=J#Vh%S&jkDZ5Ln)zhz(Z_s%lDV-m1pFN z{eb8*?swGc_ox>$nln)pB4zoH>Ti+53Kd83(UZ$Crs`ye9>j0Jn9)b%@G8Rfs^82W zt`*|5MXs{r_SXLm^r7*MI`D^2=v?wm^O*Hl{cRC<$Y(Ow_<^f9=)r79j1^*wFNpj{ zBYB9ISQTr`Pw6M~Dt^ynp{wy{<6g&%L$aBixFB{bWRB3=-*EG3ls{F$V>rukB~$J_ z{}+8%oRV+B1!Bt>lw9$Byw}!q!fw#Z4xfr=x@tQaGZ(~N#+mry13K5FCUIt7*>OK@ zk^hIuz7;!oGpe7*4{?Q``rd-GkCC6?cB1P%#*1A=Y^uDDtDVL*|CJAR=;ccvl#GV# zRU{5PuV9UZ@2hh6OY2zu?~ZdVx$pd%tBA4GNuO;dea{6ukahk1lU8EvS*KP0jLb7P zE)cFf*32*-FlJ(qC0k|`J!8=2!QnFM%sAnDm`qLnulNzSqUTZK^xG-L`iQ>ohLj^W z7(C)9hVo?hcpr`ngsb{w-cA4Oqw!Q*#;>BdR*krDG6v;`4wQ`Mc4^M~945cag&(*j zE@U&r4ulg#zQV^O&S!I)3q;I%IZjN;>(M!JHIP1SZ39i#TY7E9#zT`5o z8)^u>Y8`62F=jo%?r*-xmbFD(^zJ+Hll)U$X};hg7AX1ZuEFL}^3CIHL*F^GkMhXl z8-2K{pSWG8Z!x$2s;-qka!?#s4ci)valT73SJ&T&A-@_YbD;yXZq~={U7T_L$a-e{ zcVy(?b;Z8wefE2nvq#YFchkF{JHZ6=4ZKsCY`l_$_#xL=Gr+i_&kp&OS-_SV1d%_C zSM9(7Uy6$_KCk-WUvX0o7EdVM>}HZ2yMFTIQ|g6#$W8n&G>=p4iS7C638=)y=L#Re ziyh+`dMyzL{hj){pL}z(*u>2|RmS)(KB6W#E8gXi-AlQbx$!)xH*zAkVIHu_$lPR^ z`uolC{!>lOg*ubG*FDko8j`(aTZ~tj{ls7GW-;A{IWQl$nIK%mz>e`1;$QtFud;}v3ehWI{GZD)PBy5DT=Q*8rRUQ291i|^cZ zoaOZQ&#B*i!r7Vn4(}D2PFXXqI8+q2S>{!o$g^JDj0a>EgxDanam{Hu#y%rli9`Iv zaGq>Wzxqioj`+T8|1NF&PHw*2Ti^Gs?}GKF@9MVi*!J&!)%U-ug{}Jd$i}~?``>CZ zmz&tpc-pKx2Xf79&jyTRq(^Y}xmzFo0qDXQLL#+Y@+Q@rC-Y^FT10`KJe zh&`oop)mN z*+o;7P4;0&CnTq-f3lMv+lTelu~BI|zpd!SD|TjUCqG2<(g z?OF3IlMUmF#2MtddgD0gLXRAdQ_QnSKXK#xNIAO<+l z-_(C1hadYDVt0s{I9I-sAN;Ozo#>q(`5CTqk`KA;HvU^P_V@Dk$};{1s%-DJp}w8F zuY>2F!K&+@}pGTNQ^ z^1}`e#_$NyWtsYJoA#*RTY3M5uKOq3%B3-OE1da|?-h==YY;VLE zsy*=|HumJs*pb=El@}TI?w@txgT5m1L9ajir`#`m{i(9ON_ZAAOY*9oS?~QEF=ebz zO7I7jsrvE*)z4$ECU|<^#h+_yP?Jn{y%)Ad!ln1xAb}Jv8FP6FZYvv z`+8W9!~hf6nN+o!*&^!|C7JsbyULaQ&@GX;;GJBt!6zfRB4fPrS;?25)-XE{^So+( zCdek^4S)ETvlkrXG__Mqs=R@xT*;r@Kw{&6g*hiUz`I;wKfEI%u5|E(-E_THHpq=n z|NoY;iKSv@c8|Qmcl+?hN)dw$h{5<0r~ju2td2R7_x%aQdT2> z+~pz`_GgIhVR3Rp4%Z5Ep6=tbvd;%ROI^07=8TqC_ieWPWkGzZ@`%jIkntH-TaQ4b z6FlRT4xVa<93(#D6;AD#9gA1>50m9q^~6Db7sZJ!93b+WSe{z&QiMAVdwxd4*ig5P zelpYFF&LlzFCUW`whHwB1&m|;uYuBKX_F|UpWJ$9ZU3`i{+|cioss^fiuTi}o&Ec7 z(4?IANG-oU2cr$Q4AM=xSp$(@VLq*H+fLMe!r%;f<*OAC{|>@cZINGL&%NfH&VzF^ z26Iiwz^scW7k&D&l}}&D?P2y;&28b&m}8yr)cIjtS zS&luo{P_y3ig2fy{p?93-3c&u%deT&Zj}803#z}5+yCy2Fz)BXevV|(!V>Mf=&VF#M@`0?$rRI3cJvcUHj}## zcINwTuJ|2dkax}tS&G|d5M9_iZ;_Gn_b;}RR`oAd+3`KOGP%>p{4RR*$nJ{YZK-mC z#KdmkqiXZ(voPVn7leZ`F+Pjp{Sh23ukW^Q@2{EVQqLx1M~}hz-}82z-7K0}v_J1m zLv^vjVGYNA2Q>zhTQ1y3;@{(&E}lnRX1Zo;(zY|f&>Uu0@*yYvq`KcO!->I?Jwx^p z$yq|?QM28wAAV#ebU!e2A-jvjtM)U_iS4u&F5-sa3=7hPFy&7Y%-vjO0 zL)9!S@5&X$qqDm+PBNJC$|v&3=)CYJz2sA#7vy~=$T!9DxRF!uV;6Fdzmlaq+&{f@ zd1{9S$HVOIHs_hxyFBM{lN&zp5!{TKU&a;Pp19^)^^Dyv=^1|($q&54hwY|X$z5pc z<9A1V)=;_JKIW&copD~@8sXb*zdB342h75=L$==sKO29(IbwZ_b@P`c*>HE*-4pri z&OnPjx_+Lh-TBGNP;!@f{2%(xB{Sz$p>O)A;1bEcBL2uVt`)vIW+%WsAh~Cxjw@Nw zw|6e~1QMU8k|(uXqWFjn<{0!%x8mADw?h2L4LjtFPjQxK%IVaXx^5sjg39rV8(Zuc z7aV?GBi`Kb&9c(}x*BixTkY~!JZtexk)JtwCi*N?k^Pg=$vcvmWg>MBo@T_|`t3F` zE`36)=-o##h|@CaI@w?gO4jpp9zHLX=A8yxJ%h*xO#7RRUPaHb%p4r9d$A7kldtpS zyl6y2lJdM2jl~m`UhQ#QRR$1M&_WO z;*kgVFx|lq*~(A6?WyDN8?WTzC_Cfu)^f4)Ianw{e}5oN)~c`EdVYE;NHsl7=g$nt zB3`$bFE_*Z%tSUkn}lbM?(9TYq-Zl6={%|-dQNwfb7!D^6=BbjkPUb?7pfrZ>8I?) zucrLe=)Z#GbMRTrvfGmjXtAgA;2_3ev)>i(K5azB%KX=A+r_L>8Fn=faY z)I==ouMj@`K>6kVj0gRSBlOd!5PVjsc+wfi;r+%|=7v1v6pL$1GNs<+xd% z``Kpf|B&B!&-MMt{+8xVyo^D~)L1j*6|q~%uk_XLmGvVx#W?sOGxQjF&C2t`kb~^- z5!zUK@mu>UU21(S8|3uEr=8wAy;RMZe z#`92%I6VjWv)p9V;Xe2l%pBN}v&L{VS^ha{_pF&7ydvYAUG_11B6dz>*)I1@@7bEH z`((ZPvplYND@Pu~m$}iy8+U?!x8kqk=LNE2$=)JHj+r@ge@n6HXTKrW;FbR%k38_}x-&cWAee2fpL1OGiHDvs zDETHX&u{h<4?M5XS;#Q5>s8LG$9ATp;u!|FGR{?8`Z#GhFqIAF(Qo!Id0+#TpO)72=N{DEr)B`DeSqUMpyy64*~n`)8M1s!{!Zmzb^k z?k~U8Bv%aCOP^!VAN9u~p>fO&96PMSi+<#E> z8jNd&?1Yt`JgUCR8CS#)`77&3Zt^|&rTM`Q^jK|AXhnYZ-;0Rny7qgRoBggtZ>HbW z{-D`C+V4@=3LMAsK`#5J#)aQyCco5Sa|1o5;?Sy3&LQ{Bj{KZMV`OlJz2sZy8y?;@ zq&a6jSGa|3UX#9tv-NE2HSW`NF5m+_ZqhT(@mzM1Gko0-&d8_d9Amf7Hm}&p_VdpT zHF_RjRI3@G;)>E`Ju`wGdJs8S<#mkR3W;|Y;i>kDTV-`Do7@I{ThVlL_=$1 ziJctvpK)rQ<>Yla`tU`*{oQsN89UB6B%`HxkHo9~z;iX8#YsM$JM0(_SU5K2lk9zL zGO+#J*5^9!S^8;jvL3ub4?cB$lYjTq`nGj!`@QyK?0dla1HW{%RZi$DlAGlCW}B=J z8*<)ECm+U+`)v`cyX!so@Hy=hzjB|9Px;JmTg0t$YJm@Z#k+d=rbwM&%CpA9pSXR! zlW*5Wtp^{;Wp6muMSR814O?OEXPzvVFJtwwqpvZtnh$<%Lv1Bzw^_-uPwtab_>n_K zVqc+rwy41|<#Od)_3$7UH~lH*no`_hKb+(zesAVGFT^LyvK*hgSa~wn zmg8wH7T+_I?KZO`_ORpGQE5HhF0U~*8E5t@pRn!mZLE42S5)3Jy=3Sr`Zvj!{HhIO z;!SVR!r`{HuE_7PLO9Sb)<^#21lHV;JHk6dxX>{+%r$hLq<7i=^ie+9=oy*E)j2vi54>sd&aG z-DWK#_Eiq=N?+|iJ0{+{NPOjcmjjKvABHtDH=1OP6 z_iNTwpR}jl7T;`#ES{%anQ>)w<>20X4~mA zH}mybj5Sa^a=t=xyu!+(7*{^hSHD-sisL@)$*VDTc|YcU_Rsz7XZ@O|@|d-1$5^&o z_{KK3K4*eD4H?>p#lU%VS)@M;Megubja=vxEl{uX1)0&;;gk8+h zV2du*MJ%_w;{!*=#5cr?x{whI+(Hi`#~zd%n<y#uZn7 zRqo?Fw=t*Ky^7=o-totFvw68=zp{}(95W=&JLr6Mo)}wPI3KDZ&tddkkNq7ia{)hf zG4^;VewRmF>@#BXF7|Vs>mUbYHuji|LF5U^!)q}+#_uBY-{aTZl*?Tid54d4l6!hj z^z`2$xW9jg+H#ECw>Um0#5=(&JK_!bpYT;X=g+y(e}SWNk`pL>wW;H5yV{2jpZM;|XECR~ zr8aWGma(I3$s0c#OQyNU=UqIkA2C4Yf$<&O-_MkvM|sv{e}Pnl&ldJqxUxqMu6WQB ze`SXp`-8w`7Cu4CPzpJr4Pr4YDa> zC#<$BS@y{`lm3CT#z-|#4=7*yj=_&i`d1rsa5$Bdyt=L8l-TGTvrhdOdv3Y^V!p)a zxthP%o?_(qy&p0Ac;e?gCeJp#U!Ov-GrTk32X68Ob3TdNo7p+4zp!~E9X8d6anHNVh3866Sy%gY zOin9bFz%#ZR{Q;r#tV~0N5Aj_EhSGHMC9Lf58(7(b|C-LFST&_#DilrvG>)t@( za98zsiUVKtvGrJ0PhNNA@jH0${e2KwoTB{=+aFo}e`IUXa0`4E`AU!d3aekWdz857 z@mnEw6|sMoI#y%+@dIU_`wtse4)iMy^cBUWCcoUCF-FH2e~qP^;g;m;tI6+<@8iU7 z8n#=Bfn0v*W{BN0{I3uW{2u0q4>HED;v2Swzrr7wn70q_#Q#rA#SnVDWzuGaz-cWy8V&9>x|G&<^OSvHbuU$rc4|Dg? z|3Tr=?0=%LIZFS=w=(FyH%%L@{`J2wbbq(D->T|t)<@P5-foejcF#SkK4-L*_1~Rn zpE>s5O)Z*cm2I=+*l%@fXY4Vu)luFgyPsw(c2?k6UDF}k>#*vYeMfAjvtm)2e4iB} z=NZ}ic@BhgSw%%UrEWvK61h~1Xachn!4&2TDwUvWy}JhOuv##0|Q7QgMq zK;#**u^jbmWAEs!wYkLC)-%>*jXgK7x!HM6p67d~oVcyF{Z?RH^FuzM$4~WJec!)q zR?qe-etnp){Fd$K6|bH4n8BB@o}zwQd{_BQH$IIw-({-ZN4xe$>^5UN*TcSxvd!*( z?>sm&+Lg!CHA<+qp1x*&$Z@z-Q1RFpw0g?*2trnKb+lu!ifz&D_q&tJh2&HaBzX3J)AzNzgvPkpzUCmCvncpVpKnTsN+GXjfdWYs^` zf2_H!lxH0Iw5&>vThun$VbfjKKIdrr&-Y!i^8La-J?znV&sX)cvH5m>>8-*RyPhN4 zL$NMv^D7a)E&g` zh*^w1aNK)GiOrs3*xofx`_sCtMRlI(HggYmb6oq<+-1=KJT3)YqCe~ z&uqwioSBxP<=0j@?kKOh%iKdV5>>QW(rENru7$51wqo07r1f9<*Vo248n&t#jm#Fw zbB@Sqe`$}=+_#;&HV64R!!tLFzU#`Kc710m?@W--FmrleQSCnHr?};EeH&;dusucp z#<2aAV@ri#l`{sht624n9m}i@y2BkfYLC^m$lKR^%ahHOZ`1qD(f5(>5}QTPcX}F! zJZ@^N9NB$ExA~3}kMa^e63Wx$&1d>=*Z$U-^5-6HFLRdaiThDIm%0X>*`JR$)5F`&yX_&J?{R{%!jLNgkileRB<~NMk zlwHB&PHmFGZp=n37D2nA-Cg4i)^|zQbAGEw_B%42OVGA?pyuhUsN#A~hs@!co!c}U zeHLOCgL6I`JLhb!j@nqAMPB=g%F}Zio)7P88#|^Wxs9`g%ec^S*>}M&oeK znar{q?~1zbZQn#KM;)uhpWf>nKK=({j)Omy~-Jl zvlKiU<@1_PU-nqpWbUJVX1mj$F~pgQoA~7!u{xO%&0Xt{bCRQuS=QKX?(YA~YMDn{ zqhAy`q*@t2BYHJE{@-Z(KIPS}ob` z{B}FlJ=VVKcH10>{%3KE8iZ>uTbtMk$x63}uT9Riacr;O9~R$p`Dx=xqeVRa%RWD9 zBFC7?J`!)+W17pRW!!PFmQ~Bf>v7$7{I_u(&yXa#wfL8_HJ3L_Ux)6Iy>q`YWeMJu zJKLfqfp}$}_+U?0Hf#c=S3-cH4;j3%qT;Om8cuTVeg$HvRup zeYN9kdcQHHcP-_2Jn~I3>s#*eq|r01=ga2I?~fU}ZRNH3^j(F#_`@$g`kzJS;+*rB z@qS?b`|SWr%jT1}!@ke*o}=GqyPxcKN~=7x_^r@#oWGXFeUN?b^u;@WMI29$Y>txb z%Q>rTN3WIT9kymOa>ltD=H*W9*@o(J4z?;Wph3bd*xw& zjwdAEhj7AX*iYAcH-i0Er?QV~);B<_vgpaD=MX17KKC4J8GX@Bd3{Dl`!hSZw(tYz zKGS-CV|R4FAK+{L+t>W5=bUrTb@261IizELZz8A0S7i%t5VqAA`4v{4EBnxE7q?f! zcE{yc#iJx!W-a$)K9_fyGf$3w-nYHs6_8OIy&}ak=b1S#<1^!@cx3Ti-DlnOzi3D4 zp3?dI>1odv_KY!{#dL3&x9>^x75VG}yNcCbV{Fv7e0Z|h>uNSvXQlHPU$q_1k?xZm zx7cS}`diq%iumVz)*QYPwg+1N33aFU`vfl6mrp*EPn`CVi+sY@-i>VKJ}BdMqPo?- zCN_tj=QXyRmalZTdG5yhTRW}!^}77cou_tATK@g4|D7_9eI@<&)pg~}Z*k82OoZ+z zJ9!Q=|L!Y)TDrrYT8H5F93tkbKb%jq9rD5V#pfY7r@7ARPH`1~@T;#E$#%b?#;gy& z8^SzgU+Zg5+;jhwgs0{GDY`$)v>1zbAo#@|XlJ3^Y^E#n{NCV3zw*U+e+IF+@(5MZ z?EJY9?}@YVP99xBvFa;$4t)$Nshc za1Qj8!86ZlKO*-t5b=f^E6=6h*T3}hxpR$kb>L8bx;tWyIo}0CdpNDf6XNyy2~N4}&oM3jaoqAf z`XLWL?zEpS?lA0>gZh3tH+iXXuD)7Nty&)??Q|dIN6E@^C5It)^m+!EiG=%_T~|Py zW?7?U|Egm=diK%vo@*KJ`>^f%$z3v>eY5Z5@;t%W$@{jJH6?T z88r_pxP}?N)u} z6F?alM`Tdv8T()oD%x<9Y%_Sskc>i=s#bEry7@0Hv<+X@6W7UpoF?Y17B-w=R&gwK(~$DoZo8lx{RZZcg(zlf5dYcd1p*q_+{?F&+7Zd zD$pv7xW%~r46Es?>}j9E9zCy^VCld8aolC>aCXvscXq2bQ|(^RY^qvA^V;XuM+Xl) zGvf1rNnZ6-wFtiUZl7Gv5ta%Rb~zhZBe_q6+G9KL6@`>q^wjC zIm3D5W+a}^+Sv_kY;+U%vnQA^Y<#oBLKi zxc+hYwek1w+rRws{l7Tn`ttoh9(?v3$faV(82?7w{fvs-rf?{%J8g5jFWd-z_(JMm-#Z?^x3 zT~QX~-GcHnfIqfv_UN_Qn!haD<{5fukCi6ttMwr?s~S}9%FTvW%+*oo^hULC{E<+>&)x1L)R*f|m@klm20{oArdnSJM^Z2nG?{mVOjecLg|6hrB&2u*%^=12e^O|FCp3|4_ z|0HtDy5}_Cz0SX!>i7E;e{tqkX-Lw#?#zOZwj6qj-J-LmgbPaeqH z1n--V3IAWyB4hJhY!Kwwjrire4&lREmOn4JWUmW?!_FaWat_I^XJZjV{OX^#{eV3p zpBah+dFzkwdFlm*{T#o1|4)PO8TknxUw-$WJd#}fr`4|)5b4!tE>_4KIbZl`4p(ws zB%1xszp^Lpe`VY)zY(`Czc;Vqpf%qg^Fa1YyztKuyNv09?03_fYeqDaZJxyB=8BJD z_tVWubpPGvHZOHKNVlui))3?WG}wG#vz-=#`yBMrWlWiHADRL-b1!N{?hIK)>76EFNAkJrsE@+99=+;fF%h19YcpXTyMer{Itet3-YI+l-Vs{*RL7Ig9k zldC|;@%R34nPn^b*&3O9>JrfhWcve|m}{F}An=%dToMhP_ud7D-;|%6Zy-Fv1=m{_ zSY4~TV=hBB)OK=c?s8(s0~MPS+~R;`R9~@qfI{~O+Zi^WcF{;Le_b+anJ4?or`eA9 z9OUiATDC5a3ruxAgP$68smlichWm>^mE#BUqEPL)EJk^avyV5+;gRyF>>j$?m)-tgRzB+IMtIomuxi{ORgc^`W*?GGI0v74 zBdsbjJN#Bi9ZCOxXu-Bv@D#IE{ zC|>01*S5K=@#`kz;DG;IaLTXQuJIZCGdsy#|K-_#I|lm^*SFZ82LEWk&u^3OHPlOj zn(p${j}2yVx5(*Hu*vsahz+tgxI((xHkYmIIXsoM z56?KwKR}1cdZf(8RXSM2|We=in@-N@DHy$T(^@PH{YrgBff}QyEBKT*)o%zK?iO>~@R)z)%=P$h zX0$&B@P{(J71U++vp=YDUA=yp$#cKR?9rzEnlVQnv@N!LB*W$u7gyP-&kI)=JoW0T zW9&ey%dfLXEKNn03_0V9&&9F9uIiioc%5Ot<9;peva>5=-&S0e56cbT=aA=qWOOan z?Kc~5VV6;Fbm0eyQ^!sI<@MJ9dmO07d}S*qwvf3JC9y_ zKC`%cj^uh5^9Km6-Wh+suJ@Nd=I4L;5%W^6v%C3MyZLq2zR9UwWqLN_(CcEd>r9f# zhyR0BdY5`C-`X#j883fJvA)!l$LmeJ?{RY>-Nmis#~7UO{NHCARXVlpCO)Sd>-xE% z@$awC^LXn^ZxxqMj4B`Y$m_Vu(XSBuiho`Ob^I(7>*L9v18{1t9$J5VxN7|s!wizeo@do(c@LQ`uhwPq{c-KuJrYzHNRH;c={EW zFR$UcenBvO=A4l4_o$acBZ;~ z{ou{V<7|z}b3Q&kwZXIFm+$|3$?Xy2S8(TRPdooOIFR!cmY;;!j#qg0CUob2;YH!g z@A~i2UfoSA{kun*xhC(=<9=OT&12QGMh{!7mdE~LH_vO2wVIceyvAl6zem&8LvKRS zy^6fC^?LSqq1-(AWOv!^d#roJEtu}HryiuFw+MII>hg#@i>Qj z9_Xj|<#+%6BmAd&(~a`|VRe*OJH}tW|38cT@ZVmF4{t>~K%bb`{BEs2+WhIQ{O;d- zm7hDu=cD}o*{k;#_PL(@8p{Wl%LwcrroHsjPP~P2ot^(t6PLskVY56({qOIcCYKhM zSVi;+|A8Jzcmq>6a~mJ^*rBhRqK@l}B7Vr>d-`S_Kk9-DA2!Jf|7mRaM?&$+Unu#A z`=u-0Ypwl+U<<#B&xO3&4dXArJN(@_bI|zq^?-lG{Q=_7BR=}AjOX&>CAsoz{`&(o zd=(!N_df1FjgU{}n~%SI|I0;v)n1%xRX&dAzrumlDQ$!5Hw>Xp^Tetpzf_EOcK_oPeLUA=A?r|ahUoR@N{cKCyjh*j;{_;<#g+nC#^ zlilCy$2rJz_ao+~a{Orizg@pycm3|n?=N*Y`UyKm#(A1%naB99!8h#^!S@)v4MU*p#9{p}5Y zkKoWtsebAwxn$1;qMu`{Nwvnu%Kbg1?A4x$SN%Lz4%9r#ce^e8NBr@BV}6W(om=&3 zIqvWKAHCi$-~S@b!!Fwece;~tmvPI{8S_l2RS_=mn+=dZvR=4?4Q#*_We~~_x_~Bg7bd}c^mJ% zilO$LVOfuN>-i6ZTXFVp|K!^zcS-xb+lf4VK@b<5;iju6Uug8vVf*<9w8ZF9VKz*c z-0bm>oP^1XEAkeGFOk8~_m6&R7upt+J;%>K#PNrK@IPl8$7DzSerTI+y@}b>`3GYU z=WK^V{?F8;+sFHbCKJ{KCXU;Q;GaqL`Ce;gqA^?|bby4)2@vCpqdSXtLG6_ITotB>8@z&pnaPeeT=0{_3$!kAuYJE>I3v4O_?H zMdrTkk!^OHov_33E^fgMjy!g|4R2A|H5K{QC3e9I$KA0$ZTMf=W7of4=MmdaTYj~* z^KaYAUL?=J)^G2BkUw0%A482-O+M(<-z<;(2T{+^SCs9;?dK?a*|=T&mZ!Ki@see| z`f88R2^oW1(KAL5uH@+d8J+j>-o!p4Vd3We`J2?$qSqbE19anpb6mVV);@ufsXa6P zN)K$4M>2nqTgm(Tuy{W?yV$DCj=vxMej&xL-oAJZ=>i+Cj{QO$&H7EYA3xbW!oFg& zZ9MAh?#X{J^BjD?eCK`7C@;q*Vs-BL{Q>y(7%G4C&vM^ALjNOCvCjDZ(Q`0pUu-gW zxHqxccXRIdzTlBfQtvhKt2OQ&kw1%`v19s0K`k~LY_Ku^)p&F6`h`OM8IAu%p*_9j zC${|mF@)9RFAK_r;n!HX&RixtWB)-H8&Qd5=b$}({t-{1?LxhAEe#i=*{{Y!Wj*fx zW0AT3M_+NPRi4ZDYm0Xt>;~Rlwy}2SZu{;PCobhd(|B+D&VBffY$u}jWiOeqweu^E z6GzVYKb>d)Cdi%7c+(Z9>rC(JvtGVxRrUz^j@Q2h!n})5b6m%N=JNIFZGPzYr>$Ln zZ(fx%ZHrvk1Cl>O#(Y++dH+S?lYis9#ukTMcxO8Q$~5ubX)X5nPTLRu;W=&j%+@}d zE7u#B0hbMke2xAVbvyl5+lOa(d}^xKkJ~A-*|#g^;;JLd@Tq)1YTR#ZMGEmd2J z_wgA^4#HQ*N&fHpxvKkBAD=(0;i!IV`#o3pG#vHE6yi|Z0_ksdp7W<#cV3y{5Vro# zq5FY*Ofeo|Bl&+9<59lXC;4X0F}~?m{axPPre@hT=*Rhz-6QlF<&($H7smhXeaHPU zKdtyX6Pvj=Pip7T1hTjl>n8ZiQc&YM?r6nRL(ljb@-{xd;IO^I%{g;D|4M&;%TH{p z{`J#azg*Ir)^xr3VQ&}8kNxzG%gSEl+oyTDf~~f=ymaZQed^LGT+TVlzDl-vEd2oW z-luJKBmKU{`Bj@u#_tZdaod>cKV#$Iv&H7z;y{2pWXhkh@a`|e%a&UZKgN&XeHX>2 zUkI@$Hva^aoQT8t8F3{4eXYa0ame{`BUdh`wr=?Xc)iZQ=xaY-Te2CQ&u91le|zWh>P>Ri@fv>TWC%Em1YX>z1k68>>vjSfFd!Q6 z511_6h+qWcLPXx0+`*a5L~|L;U=~JWNTL``Bq8K&6fX-EBkDrbS0T805#lBbg&gat zs&Ca(PgiwU-+tY{^Q!}Wp04}tsZT#u-M{Xoh{&e*w;B8%oW+JkMBiph!aQ1lEQC3{ z05g>~oGB0Kkl&a@d`KHVgF9v0VsZDPvQyuy#nb9})AASQdeJRCsLXU(uh#$L)tTx} zN9QG#Ne8)co|6==e7v0GX(%p`Luey6P2WGa67Fg3M*cUQCEG`B5hjb1dOsC~{U{J!XY0r^@cTcYi$Eq5VwL7u{;srheRV2b;n}U+{Ev z&JQizopIY2-P(Xt_h*PqZVDuKNm3jNPi4B%<~F5h78|3+&gMCiHnnJ`Qa*eoxY%7- zr-Ct#5qaLBCV?-+7|R)9%AwXNgF;JC)}ZuhQ6?nPn0h`ihv^~9vyWm_db8w%G*%OR z`CZi;^|j8AdP!0V${cBUx}8kn<)hC)Vh+V8FyL8R%3qsrN4y+}a_?oR3j8_h?*Q6Hxuh14Y7l_jK40`#lO&VZ2Ma+263Hxh&0i=(?1MN9B;deA$;t?#`E8mXS5ur*ksZP0lft&-I(~ zSH8R`$2ab|0cHlr+Q^h%(_ui?;oP~yYkNLm+&Ah|6im@mdAcJz&-&je+M-N@;f_7* z!u#&2J7UO(Mh{zz+E>NNv{z}g(3_Ba=EHAH{v(=OkZB!KHCH|j$&RNN4|>dP4~;O& zu$xY9`^;^Y@vXGJkB`Y7%@tD`Q(GGZ(9|xug@4#wgT07wNQ()dr#!cDfJ;boVRw0n z8>5B#qMWG`?d(bWf;zKs33V=`jmEeLF>M3Iq6Zk{+A%Qqke&Cl?o;=IV(D)p*=#gp zqSfzHyehCmPqAS*Cb)*trhQkTg^@Gu>?9KQ_#B>)bf+^Tt>% z+~ym25z{$;vARV0nfSq|HCY5+Z{-8A+ynK9HsK6ix?)n|lOdBh$Inhh2EIy38gS zy&;t*2t^?n;P*M?CgpW8{xift%(Z17DX^ANGdbyIm~Dpm+V+$i zST)u!nHQ&^9%IUbcxgN7PA50O_<3ric|)hOYeHt488ldQaBLaB1Z~AQ1T^y?$1I?Q z5|BHjtw|YVMF5%f1ho~yO{vFv* zIM)N4xflzuaZ7G0D8}rO65wE`)Jh4CQaTy$cMB>-U8jPo#pP_NzWmNiNXLFuFty)a zNy=xcL~A~7lGU6Wu66$2WZtZ}9#;Tc*uPR5^yE?I+;X;ePQB&EadWevpZ=P}lX zQh1>*x8(2A6z_bxnf5_#M$Jqg5~KvqiF*UW*9D5%_`R+)?wk6@H`NT6Ump+pjz%M2 zxFMZ?|5sFLIMaXL52q&|RL1RAlrQiFycvYl`El-~M8O%hUl^r>2En0Vm5Sl3B zW5qo+>kGS0a?ZPxI1BAIo0qA{uq@ms7)=NMESIPs7^tZCPG)Huwsn*l657J?c0d@R zzE>ue-}|A-ma6`F-R#o6e!-zf3c70={*`P6kT5IREdmNRk7<~E(rnzW8Bq(d+@Th{E+2`^{Igqj*(p`!NfB#Cn(eJM!zLa_L#f>$-rN+;l{bmV3)(#QG zSv^^c&4k;T%ZX;wI4elbZtD(l&5SmwADdEKNp9}|QUUZ#O^cN&G{nm6oeGe(;*XhjW8o4^aC^Y@Ub+6Ls$bYhi}=x0KMu0g?6OwsslqS)umW2OO8$?z_cwlm|cL+iu~O>EItF z*@5j1`Dq_W8@%<;b@z{)BP;0#za!c|w?+?@L`DjinEA36Yq<5TTCyU|tbOywT)}X& zZ5E0{7-kE6N{EE=VtrZu*`7R zpthcC$J=p`tX6)yP=V9kcSh6}Jv_BXl60ph-Ew|#s zScumkm_h|=8zERXa^w5XCb z71)*_BsCYyCat!uk2%(+8;(c433b{{9)p6={V}N*Qm~nVBbHlX0G6AAoixP?Zd3sA zt$PIuUXLj#p_9PQVbGg{0%$NBAr16uz=!1;v5`YKMhtE#Ww>>(z&%)fkYvd?ThCZ|Zh9w= z(SyL~tEDGzi-A73nt=f*c7UoaO@N>U< zwNI(gK^Id_1*aHkBoxjn+jlWAX0U4ki@(k*|Dd?bthmpnG>X;!1cmZ@{Qn9o+ zPs)Cper{=A`(qy#r#;0(KyTOmKm1?_Gsnp?>o7y+G7srX(%t=Swx2{?dD&YULAmS& zYcSGqmt+!e1?I^Sr^(v4_P9?TipN~>O56cO6OlKDI2jJiafvwG&zze_98HhA!=8Km z(RT(&2Oiij4$#>%3cu*gxe)($Fjkra(mYTv`O+w7I&Ky87d}po6G-Y4+}n~VK9}O& z{`<0Als*%>@iv@2P%>89*uKHCcKAQ6ogv?nM9)LY--e;=&W?F`WbxxY&2?n;I}bHK zyfE`bt~L+4(-!A+{7G)uLlaNkc@{AafCsasWev)Mq<5Q}dI`SVs^8?}>d#Y(+$x$? zHGX}LaN^YGBJhR%DHI=JM6Y+hdogIb>mKDqiW;IUMv4~s!EIam||Hu32ymo&fb9g_tlw@bYOYl zU~G3HKJIEe|CnC-;}(sr|LMtUY}39z+Ve}wdafPUP6JP@gso(4GGV7#+sUy?@=Lk} ziw3#YEBB_i71lQeK9eX)dU2|^vikX^q^#v&nkscgwn53Ql7{+6rLLtI;?1R5P--Z5 zPEMlPr$cMxNbF6te@Qz#t=_V*^1y*kF8{cl5BHaH9d7)z_wRUju0S*78>F|?+^mgH zxw%<;*_Il}lTeLWZjLsV#{SlY>xK9zuXH2FDH5fRq~SJN-Xe(fNU2gwrnLxHm(SmF z#a(=Uy4#9yit5JRDM#+U?fHxvx0Lth+u(}OHgoYX^q-xBW(<;4x}Y;1*MWoHt62^X9)3oS<2Ky_GWsaxKf0T4IFixKfZwzD@zHH zpoqY%Q9RvFP7!L{C2@G+veXy zs57k6Ih`~9@|@%8UR%7SiCdGQY(0OOVFvn`sCKN+Fdr<5CmRJX~g9M($(v?tgMfVDD@kCy1G*UJGYA z#PO2GVOBdi^+K58X<3&~+{A&~*5lOSTMTzk$B!>ikhI>$I&kj==cXL9eU$-eC;Z^9 zl{ViMIELqAwXctxko^rb>woEwjHM8$uJYfB+^)C4dBfNTieT$c;EM4E{(P zrMVc~gpX*_P{(JT$`6l~?788G%s7IcDLgn*+U7sEl~n?hoeY>zY@45y`bK3Q94mL# z-Z1*-q%COEVi_&l&gV5Isqg5~GwkeF)oX=E$ofFaTT!sGyu9Ft_9YflH?^LQ>4-u; zzzih(xdeI;2NM2$X%V&eY}xgJe$cOKW|-N888tPX%Rj!;(&dBv!lsYg^Eo{Udq0Em z786C3%km2qa1}2{+$Q|@YYU7_tgVRa(IYUCHkiFj}?msHR8$%3>G_}J~yKQtb^4sCpnH9mZ7mgvV_@-b9t*=ef- z#11M$$^-MTXz}@b3*Opu+)w?w5zEi@19-Yf?tJ0DJI0%P$BYPs!=ix z4i3jg4&ibHr`;3T0*3|<=_7T)mACu|fgFuMfWwRnTkBlk&icd`w*YNjd3|8DQN7U? z9v%^@d0NVoyH`E8b=g_j{a2vn6g-!^`|h7OxOd+4l2Qwk%(kVry#&@^JtpW|6?Hj`HvE}8y07LZnwvD`Ul7eT0n-?ys zkz5?$O@=xD@(AvWzmuEtV|REt?q~{2_c0OZ7QLpv9&^B(^S9{sPx~MQHXhsnA>5EM z9^A|1AwanAQn<8JCwV2^YjIF6(A>K%pL{Hx)#l4<2`1_(k>)c$-Ogs=-Sl@`$`O<9 zX&hYsdDpc3)C_b~NS_2uU4nrJ=3mBqODN_y1v}65Bn)OG%LCyhxr~4?4;u;ZQvEF3 z4>I0A%_NhvQ*du2N=K~IohRXk;YPWQgn6ddj~IFqav}*gcuN2?@%S$__<7F+gh_Zz z6aq`yqYM%lv*8Yf1(OgtoL3$Kg!9dm{M4A9-@fJ!7RO0z*wcfF|4jVO$z$JMF%8|f z0=Tyux^9KnL4~|9j783YcQx{uOa%L^6ieiB9ww;`Rma>DxcR`vJp}vqT@J$}m@3y= z4$E?z5eP1%vb-FYJy`3WXaxR!4_s*lt4ZDYboP5I_7TBT=D)ugT4LV?@UFC^9kc<* z7$?IgFwflT#^RSt%fOFfaLYg0O@Dm5_nPdtP~pCuzbx98Y4P(l^m>Jx^hE>@{5$UR zZ+_Ujw>SHxZ!N22ylL!O{+c^znfB~5@5rT3MukJa@u)XxG3hNh$OQ9dn6@zRPbZrj z%-Wlw&YuIK?i^r3d6hB)r4&f>-|dupiOJp*>F=OO>&W#UPLUJLnPG#-x>aACU;*s^ zv5aa1Wu39%SEh(RUUDcUtz1Onbs-ail z@Bd{lftntRW`!qxWX5g4{p+>>7vU(Jvy04x0>zo>7oYmDgadV~gjHwTHt_fzk0<&8 z`Kf6H^ZnE@l39wqtb}DCxy2Wg`B&K;kz${c&2sKYqs}*bOlli1rgQn!&eHJ(Zr*zP zMD8kZt4c4JieD<+-*($<0g5I6*oYwLg)#Ve7kIwsBd6FMueIQdwWdkoxtYGWmgdoHh|1da!mG7xLpX?Ogmt4 zB{I1i8t^vSYL7yeD|)X&db`bDHvGA@;jR^Rs)#41q$Um~3>Hnb>0G?{R?u!}g7$2< z5!98Iudm(x>)cmw!O3x!792oer@fiV<>{}@G^Hs@M~$^NH4f!Z_d@WvNqu_T25FI* zeBAw1abH!&TgP&HCiaQNSa_I2?z-jduv)(%dt(|0Ql`|Vy|BHvC$(RkxMF-sJe1se zo}IS%Ub`zdUiOF({@o?Q{J^~KvFYI40&{!yM*A{%6FjpbbMmazK2I=yEPh?M6D*M*ih>RjWPKINbgSQC48p!!VR(I4}O4TZtTqk*cm(a z30zF|{`w44IGvjM_@)@cnr(wcRsm%|HzZ5D0lLnza~ww5&ur%2_qPT>RX2nj6NYeY zdg?P`?Ha|c$dHZHAzS3CAr(}M#`oIX9%1MA3QJP^a4FY+ z4Kek9`?^8e2Xeol_0M(pkDMcG=!fB7*r~f0^b53;y(5Rl zB=;yJ`C#Y4A8sf0u{ZV@0kt`&I-?y{+SThX+gB@%e|Q3xUP-EOx7k^g^WEdP7@V~k z9h?|{-!rn;~srkDkr#N8y*p%y1$c^Y2*2g!~{!)~>AZ({u488@`X43|0KWJD5b z2|qK^180yXA8W9hO*v<{&d764JqFV>gU-^cAq;bh%YA#rT;}$z0B%c!E;%iKhB@Sg zi?}6>HiVgVT#P}NZ1u659C2%J7Gnq5HifT^gN=hl+7ttNvl+8`Ww~z!&d0%-mez?Z zHJZV6OqunyaVh@=mSCn%;GwOrcOjx_AMcAs!$!j*bBY0thO70!BH9qGj!i@D zX#<&|;eKBi%ds%?D$tk2HGcRfyx0C@##g3O7zZ{t z&Mml(FTG6fJ59cOH<4GaV@dD z3y(ddkCe>)4#u_HC6hT<_z32;_v815K)7Ald2PGb*&3e4fe%$B5?jIPN(#|d7?!~qBzb(7$M+*Ab_8V+ANMpNc`_tUa*U7fG+cG30 z8`#op3niVD=cLF>Z%^dX?^}WV8v&l|TPd^Fyz&b4e@4~_ICWKN?X?WuoWHnZ5mvYG zr`^omjw{#x-RFO!Vqv>)U&TBx73a+U3$P0f5kW>P?fxC8N3UCP`;t<|{Yn>pK6iUP z(azRTqv4g)@UgLlW*x^~C1-3ymH6Qbkh_C(1V7ZT$sKL=J=Y1X?7=nK5$0&F4zQqd zVN3nU0wq=x6PD(cOAprM!j9l)cNIx_mhL zI8goQ*karlGBG@rE$enE_f}-Rn|m8QEA=bp9%LzA^FPnH9DN+9espZ14=b@SFwsAW z7~EUbc}|{Z8)I|-eop;nrIBSxca6@>NmG-rkAr@PoYl?=<+c2W_3!B8K=q?zi*a0u zb*66pUl|L(P3k|VPtG>p8*?PIJy%Z7uSSRFrmM&s{SF!GUy-)OU4Q-`eH^HMbZjy9 z3%Qr66ZmKAOK(}Qze0%&+@>8<`)2hq=WpzK9cv@^=jS{QjV*WsiEy|}as$0U-#||7 z+fC!+O~SdpM4xTYCrjFN$bMvfMD?R%NgGRPwb9$hChz&rL}_0y$R1xzIQ$^DX-lb% zCI3~&9rK^Y3FnaTo9gCcjC=&fQ2e<|o79mQt1>!{J7`D@x2C zNa)rfWUk%ZkIu*3EB4h|eR9aYX8lCINIivCP?Ri64u*O`CZ8 zhR!z~cgzDw8b3Ox^#>i&pN}uXq(mOlU%Gi-E1jdSAcy+(>|tm>Z!7o1Ij!$-j=tn+ z4sw3TK4yJG^`m2pan@#hR^So4N2qN*@s>OBhLcU&FsENuA9KFHA$5MLn~ycpN=b3Z zPx?zY&ugV~^d01!{@*MO+Rxj{{rEZJkRSKw=ZJFvdC2}|{X+GlV~erXW=vM#6zb;J zeERxWRnl#~7t2}3&v_ggXXN!-bB-{IPj2V|;=sM4#C(7ZWv*Dp>^w{D=Kaaf(SJv% zJFCMX`&QKN;LL$-WSMgn&s3FkpN-q>d6mmUmM7i0G*kT6&X1Li`31RZzp!#<<-0|@ zx5#s8J5BmS_CISE)sK!@<2aH|n=x6@wla0pzMf8A)mo72H$NX4gIVJ$^Ox?WWv-nc zs}JTI|i=#c%-+C}xFV@jK9oyvn+Ht(pc$j;Tm)ef|QtzXW1J#d?E&6*Q3%QMF8CO`-HvVliep~3o z)_G#SL2g}M%YT?1M;`~OA01na<3j$KI_W~aoWHoQ(Kxu#IBuaETjz;+2f1~5E&pML z9DN+9espXxj@s-~EV$RiOqomPjC)}IjWP{maL)dkQWpBQNyno-`+>%7&+=Q@Y5z}|N9T@u{g-krmGc`>Y zFJBki7`8FoQwLUJA(+VJCi|Xy_Ejsp&DEv@_d^F(;+|n#_V>sc|NGHzP5;|CHXXQM zIiYtrZx) znq}?1TdaXKNY}X6SijM)K^qs&&xQNm=hfWH-UTrXB&+Xfb3AV>zZ=tAcs8(6pi!Xd zK+}Ok>cB$kxi(oM2D{IN=hc-s7f0_<79XO{B=vwYQpmFhccir> zdwHG3{vM>!ZSD0tk&S=({%b5~{nB(`M;%zmKgK&H#?kT*T!a*HWSZt~c0tpDrUU2I z0lnM?WE|AQIPi|k#=ae|b8SwYcTTnbzKs4}$iBw3#27;T)I z4xC2^5+=T1>67_UTRU1GG#zL5PN~NRJX3EQnY})=d&n+)WU?l%;du7_>Y>pXcDzz) z7Y0n;ne4)0nIyO%LPIreBAFnYHjpl6g+fCRvaON*Y$&^s)vP+OMC_DmlXZ^PU!=-4 z%SGwsBvJ}ztkHyoEDv_t&nk3dHkRn%Uitm}LW*4To8RTL-s;I?qY2ya?wjv;hf-P( z9~9@2SPW+t!a}9F_OYPR)2QTDxmo<`5MFf6xhO*>5y8yKPRo_6iX@VcRAD5TmB>yr zMU+FULRchrD#}?mM7F%SFQ0KiVFKq~D|pA;b#~mBo_p@uQLYj9D4x?$f3Sfs3WmLsx|{HdrB zi!>aS&m}Zgq^x$9 zBeD>7ny8XnIwDyO> zAx8^Qx``kU7ErV013AqVN1IKj9hlj+eP1p{x0eRhM++*obg+gGJCw90tZDC*2)HCeYf`zpzO z>i?8`f^~d>JCS>LUk)}OY`c=QH(nnaR?c12){Msv)6o@4_AfscTc8`XB&{K8JG-VE z)UalVTbzc)S{<+|nwWb=>yssK!95j&CYvdHe9xNrDF$m>)Z#VmZ#vL)V2%z18WItw z95ZNm_jzj=lF>&8Z3O1eUt}fi1-8zt82^lKhjUBgDKPt;*^U!4d z$RDM1o37E&+%0W0wDm#Lfy>eXyRtU6qO~mvWnDvALs>(4(}Anifj$xmi|uHA&~%{b zz!mENHxuou*Yrh`tq+s^+D5trUO^61Gnm_*C_h?uN(Dx_0m&s zcOF?9rdH?W9n1tW#@dGdZYRU^`d&oIe$)lL;Z^S z5%n?W{2}#k>h(|kta{Nnf8xFG`=wue@B7~HcJ(vw{>gX!)H~n()9-$}g6G?!=i7qk cTchV&gXdeK=Uam3o1^EOgXf!~=bP030|FN-fdBvi literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm40.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm40.bmp new file mode 100644 index 0000000000000000000000000000000000000000..068bc479c444707fe6c0da3f191d75f8023f64c4 GIT binary patch literal 92278 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 literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm41.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm41.bmp new file mode 100644 index 0000000000000000000000000000000000000000..1583afbba6b3929ff17056571d35fdb76f135734 GIT binary patch literal 91254 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 azE-1PU+sfGf9=oJj46WuU&39jf&UNEudI9k literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm43.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm43.bmp new file mode 100644 index 0000000000000000000000000000000000000000..59a17430be218f7cb7174b447a0a6a54ccf526d7 GIT binary patch literal 91510 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%0DV1-%;7b$pj0(=PEash!&a!fJJv+=Q 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 literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm45.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm45.bmp new file mode 100644 index 0000000000000000000000000000000000000000..3e3d99aa1415ba80d84b3bbf50f7fbe17dc28dac GIT binary patch literal 182778 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 QyCxC{y=4sA^^(B<4|Hu+>;M1& literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm47.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm47.bmp new file mode 100644 index 0000000000000000000000000000000000000000..c0bfc0b5883e12b47573a706b67d91116c62bea3 GIT binary patch literal 92278 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 literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm48.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm48.bmp new file mode 100644 index 0000000000000000000000000000000000000000..3896b7dbf598092484215b766ac9ba6d58185b2b GIT binary patch literal 92022 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 literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm49.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm49.bmp new file mode 100644 index 0000000000000000000000000000000000000000..a055291b9b8623ef1c52dc3fe96dd35054e18c66 GIT binary patch literal 92022 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 OMyGEQS>^N3vu|mS;Q~ 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 i|FQzZY7pXhoGvX76T_*X^n4}SB{ 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 literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm52.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm52.bmp new file mode 100644 index 0000000000000000000000000000000000000000..e52fc2d5042bf3850c7f561a4afafd7f3a6d0037 GIT binary patch literal 91254 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 AJpcdz literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm54.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm54.bmp new file mode 100644 index 0000000000000000000000000000000000000000..3fc8b629845c9f168f56e3bfb8dfdb18976139da GIT binary patch literal 94758 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 literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm55.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm55.bmp new file mode 100644 index 0000000000000000000000000000000000000000..18dcb7040e722c426991c0c847c7d9e488aeb01f GIT binary patch literal 3126 zcmb`H&2_^d5QND+1>~4xDsTb0rze$`&Xj>c!?H4e4m?>NmgSof^7Hr4<2|JD!2JuK z&-{4{A5a*1os)b&LP*!|?m=w4pVmq~#$|BA(Vp8XgZ4kob_nvR~L&o9Xdzs^6_ zr!89fOLB{C=oX|^FA3}9cwP)zTa8K!b+0ca&&}z%?kHq%#R9j)45psa3KSbhm( zUY~uHrJ?a6&|ra9`{c?jK_;zTv9=Rd=i}jZzmL6Q0WZIOn6n#RG(LrS*ji6ukL8ej8pb~+33AsioYR95-ur-da`i%;@vaOM#TLPjhCj_ZZkW()sX z;$22?*-FO2V&JS|TDm+9klJ)}uS4~YC>Dv|>BN%dyG|~tN2_*=)oP%yOHSXJ!!3@m zG?m@buKzSoJ&u0H^;_up5<7qk3js2xGZrvTV=}<7nVbwofW&XYubid7n^|pHh?{n? gsM-c0#AU3)2H_Ch2Y0qxi#TTfNqUhjm`ym;ovhTTE{_(Z?*`fAGH;9C^`D*F*?ZZK zuIR;$*UEPnM4QLcuKqO)zRNkJi~y)ZMq&Wv*Erl3K%*u9*04}K*IzjH@vTFVFfj6G Fd;uvN5w-vT literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm57.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm57.bmp new file mode 100644 index 0000000000000000000000000000000000000000..08bc06a347f293e55667418b8d7d3990120db851 GIT binary patch literal 3126 zcmb`IL2|<&3`O02571?oIe`z5eGk$5_&Ad63$8O2|h@VskICH8y@wdRh-!t%_M-1A3O zLcaQ^J3FF2II=Hqpz9wf$=B~^&u1o4arpw*n`IwiEuZi)B{cU6)W1QJAm_VV;NiT* zKhzV6#5SjL^ER7ESWObhasO)eT z*}|PfR#xxSEHUsGD%rf{HCEP;ZI~>VDYWi#OGc-z^CPU~`K{2+np-!>Od72YU|XC& z|1MpuB`@%~gc5pA2J?e42_>%UdeT27&q^qqS1c0g``K&;#bwL&X_F>XO5?EfBYen# m5H@uKtd#K?gzM7sStcawFTpp7=TY<$+#oAo>7#=>$@~Wr>!S1k literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm58.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm58.bmp new file mode 100644 index 0000000000000000000000000000000000000000..895074b4e56a79cf23989254982afb367a1765e2 GIT binary patch literal 630 zcma)3F%p6>5IochXBZh9D#y|i#~;}H9cuUqbt-!ro)SNhFW~M0nVjP|Zj#F_yLS+B ze>59WG>8|h^RhD8Ap;hj=>aQaqG&}hrETX85vh#hh@HZuQ>KX-76u<7bfrO68CrH2 z37{GS#l)c6@fLAq={H`>mZqrJ?tjjci(`|3=MnP89P>D=K$>7DM#zg!t;mV0jPvwXlsjDb{s$3kH9z$kHj)Szp$RV zn$*F9XuR#kCH)Qw27-ZKWMKWsKUt@zC*V?!9^W5EkrS7&Q=q79mU6mzB;MY??Rm%c z^q+H9R3gO4;^Ke@|EqIxd6b{cE6Qwn1{8cL0d2*GJS7B^I;|tfOXkrKh3CPqxrA?} amgD_;%ww!27H~nkY6MSjksA#BCj&Ek)M4EK literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm6.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm6.bmp new file mode 100644 index 0000000000000000000000000000000000000000..b58a91282fadd66a11a0d3f1c24301770a5503f1 GIT binary patch literal 3126 zcmds#O>)B^42AK&2k5fPo*)P4zIXD?>64x$WNc3+F=QrXun_wBB)~tvw~wOZ2KkNe z%f6+2Lc=gWH>E7D%w21#lV>O0fTm>(Md11hFEu1o)y3l?I=41c773?=$)p zh|hef*7o);7PfWeurs~q`ztVh|lXj8Wr4vkJ*1NDF+t=_>1>H`P#16TQJw%$;=J&24mjA)$Dc)25 E0Z!Vl!~g&Q literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm60.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm60.bmp new file mode 100644 index 0000000000000000000000000000000000000000..7331510a1e793a771d0b3fe9bf1d6e76f96efd93 GIT binary patch literal 3126 zcmeH{F%E+;5Cln|2T-C^c>z82{E4UKX<6@D3lgNUPfBwZ9Onbio>#!S&Ch{jMttL( z>iHN(WEl1S^3t@#PmXjT9r&vQ`Wkm$c8jq(-(`PXg% sFWvL~N3>{jLKuNy^1!61g#IE#JG97e?)i2hku}^tki~Q$9k@F11tWC8|A>g?pv7%eBAY?DxdRiw~8kY$6v#Q8m*@AW3874d<4 z_Ir{$GRU957EU#8sdOM6NCzSuD3l1t2xMoJirpvu@mTiNISbWtW8e+{SjhPp?3at! zS4z27f&`_TbV_&yV#@0RzqMy9QXi*NP=_# literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm62.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm62.bmp new file mode 100644 index 0000000000000000000000000000000000000000..5596b1c15dbdf3c131dea012ccd2a5ee311a32b7 GIT binary patch literal 3126 zcmeH{K?;K~5Jm022XIqx*%NpG_bz&)9IZENpMDt=nhKfHg)jpNKa-i4Iz&|9VM7Kn)y~v^uEMa`@S+Xc~EnbJ=Lhems zb6W&iJtR*mzc)0h9BX_r?5sv)QEq%_pF!!L?$24e$M1Xy(3q=&Wbxqk#R~p9weu<+ da>M+mg0GCIl)6&Jhbe8s#fzqJARIV{18={J$-Mvo literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm63.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm63.bmp new file mode 100644 index 0000000000000000000000000000000000000000..ce4e1bf0cca2ec217143326d8cda414aa21d0d6e GIT binary patch literal 3126 zcmeH`u@QqX3`I?!0a8*@rec8f?BvmMEJnU0Tcpse;_1dKgsg>xy-l3nqeor zV|j;khXqA1auTXR#I`G#H=xyv#1>m`=x$pUk>u>qUgHV-``dkVD*7A4X(|nX_ zq0E!2TkAU-@Qrd0z7{5M4dF;WJMyiM;$?}gTp^wK$R#PR<%6kYI3(VcZpY`OqQYY? tfhG1a?JB}=+lQwfjh*c9f#+IVgK-D#XbJ6tf$AL1jPd9|bl_(lcmvWIPB8!g literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm64.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm64.bmp new file mode 100644 index 0000000000000000000000000000000000000000..ac55dc0fd17af36f3d9bc32ae45f57a4ffacab62 GIT binary patch literal 3126 zcmZ?rHRE9b12Z700mKSW%*Y@CWB~zG{+Kj`3nCAUg3%Bd4S``D0+8Ge^dcm`L%0nM z4b<{9F7v5n1s?OMVg-KlsbU2rsDT#2!yITV9KZ!BWYEEUNLZnf6gnHO9nDxc7p{Op z2GBsb3Gl!NGT?#~GH7HzBpiTlgP0HDQqlbbXg-Aj4$+Rs{Zui3)R55-7_K1z0IcR; AZU6uP literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm65.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm65.bmp new file mode 100644 index 0000000000000000000000000000000000000000..0b6bc47efb52e52a2319eeb33f22f3ed27e6a72a GIT binary patch literal 3126 zcmeH`!41P83`OZZ1N7M3GC>CDy*n{lX37HTryqS;QBDR9scZ%GG4O1@l=o+y(l1ub z3&yLCM|wgb>i#}+S>`Pw90&*g-2wja$C2*uS4N?DY gPcAzl-1g7RC+`RFi<> literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm67.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm67.bmp new file mode 100644 index 0000000000000000000000000000000000000000..b9402af7cdc38a81ab7f7f0d7fcbde08952faefe GIT binary patch literal 3126 zcmeH`F%H5o3`N7v0T>xsSbKo(+$l%nX5q&_{k1A8kz`=8m0CYe{p`B!`dY5ZY=M8^ zy0`0+Zcwo8{K;+g@35FaOyD0ANI897=%xOd&W5`qpXtz^13b3$KK{GTIU~JUZqK6h z?I0=AD?mUAm{1UcKo>huq*ox@@Vhf!D`BTK(2LdmM%dv{6=y(d_7AO;EQ^1 z>>~4KHB6x`E24R>VLqx5b>K5T-@o{*Lhm1Ka{i59O44#)3(E0@v*MUP%p6;Bz-Rx8 c3=2OQK^TNrWK4)Nj~Z(rvSI=;fwKvG0K+i}VE_OC literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm68.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm68.bmp new file mode 100644 index 0000000000000000000000000000000000000000..c95124fa0b831abdb4820b3082d05078a0a36615 GIT binary patch literal 3126 zcmeHGF%Ezr46M78lcS?A-~sMF!N2e{pJufT7t#QY>DES?La)c=h{u^``XX`Od2MA) zv~tB!`qv`cH{TKAKsYe$fc!bba5Io7^Jg9#9`NTEhw3~mumcqR6?eKkFI>LC0gj|FCY-G~m6+dqE0sARx#@f!*pYYI+w|eWxyP^&U I!hx;>4|B?VyZ`_I literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm69.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm69.bmp new file mode 100644 index 0000000000000000000000000000000000000000..e18c70f031c78dea0de46ae4ab5cb787010ae699 GIT binary patch literal 3126 zcmZ?rHRE9b12Z700mKSW%*Y@CWB~zGewHYN3nCAUg3%Bd4S^950u2ofkZccR(89YA z!yzP%%m=z02!K}5$b7i5RJQ`tKui(1?PM^pnub-7T80D70h$j4WEhC11*;*Dhz3dl z8EEQB;^H@)a`SPy6CzHbvJ+2U>(j<*3wX2#kinFbe?yjLdKa&fp1WtH&NI$LW}nEj;-r4h|(zBHNN*WJ&Sc z$LB$!d@-KUck~6_N!qyYF^~%zC+1zWZ0O@FeQzt2$6O2{1UzGWWgKmV@|cUkVQ-P^ zZG!}n&75DCF1*Th9rK-?3zzG7_(kE4v6QgJrPkcw#5;AOarUfzGIBgeA4ffAPM}1A zjf;lmr{tG7_lWawnz%upMJnf1Ri=2x#d?XyFC2^$PW0k9_BWT~O&mEbI3eDX^=}q0 z)l1P-Ft7KIc(sevn`Bl;&d*{Lp{?1NxRPH%nz`0XqlX%)!KVJDd(iGyn{(rRp{+>u gx2v3A>t5I;-eRM1bm4pZeYQ)rCc}T(&kq;<0p=pSYybcN literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm70.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm70.bmp new file mode 100644 index 0000000000000000000000000000000000000000..cb2281faa44e1b3ddc6ef14f0adcb35a92a5fce0 GIT binary patch literal 3126 zcmeH`K@Ng25Jl_W1Gsc)JOBr9?^(P;kLJzr*$>|m49ZC2rV}W?znwQ_0+(yIPbE6W z6ZdhrcjhfGfq-WC%O=&(XG zG{V6&MphOa!6#V0RbQo2xPpLk!1Z1*PUA8;;EiO3jCa3EUQpAfk@>a9e0FbB+mzdPWZ&p)pifD$Lpb>@_iA9{ZPp%L3ZYY%CNJmhYb1g&x? zEQ&}&D6L#@JNKrj_yP$ZGv!!ih7g33R-yF##{a^f^84jCpo=RM~$kLCcl(zNBB+s&W}dzz28`BY`a{7 tkeh7&e~|9g4gec5NB)TGo-0NwG>V?ii~<(A;Q6i#c`__JkR3Q~2VQ`0SM~q^ literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm74.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm74.bmp new file mode 100644 index 0000000000000000000000000000000000000000..444a0c467a0e1666a835df50c904583e148118da GIT binary patch literal 3126 zcmeH{F%rTs361$h8HKcdLfcp3+rIW+cQoH(UDW6jx?_7oMl-KS&vtV!{z zeO~q4~v0={Fc0&93r{}n!1Mx?aZK#PW~ z%*=vggm3FVl5Jt(wh=82mpP_IFKft(Wnue`EhJPGkKDAQDw!E}M{>n&ssI20 literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm75.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm75.bmp new file mode 100644 index 0000000000000000000000000000000000000000..27a94d1a7210bcaa141ab2bdd0e13974fb2e5992 GIT binary patch literal 3126 zcmeH{F%Ezr3`Ohi0o-&napwT;-if1mG(QxO)P>MEXxd0Esk{%L#Qkt1#c;?g#*)TB z6DmaNZ!=FrJ}t}vbKs{A5c!rzfBO4}5-V2KV{3vqN!`-d-g`ihi;A8p2rLm)@|B1W zG}8iS$mb-){`nM?L*oqA0*(-n%ua97ZJ#onbG_HSq=v4y;&!2wpIN(bvd%OI4)@gixV{q{L@oPqqAgTVYT>&1yUl}(jE5M9^b9R_!`<~u>pIJ z^<3AjdBB6M`FqE3-lwuspcMEG1+M-d&*eMqy*J9~1v!C9AR9hSVU8KPK-<8(FU~_{ zBGgrZ{w$^$OeL7!qRSJG5RQ-V;zK?m&gX@FgtCXoUMvFjAzV*D=*0;i1egS&O416c z1T(ZapM%5?m5C5QbYTQcuTYo(dJEw^AyYdKy}%pO{^`JQldJh*T!p2;zbo(s^K@}M literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm78.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm78.bmp new file mode 100644 index 0000000000000000000000000000000000000000..a8858e40cbf2b72404c679866ee0ff9723c23eed GIT binary patch literal 92534 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 R%(&Pc?F`Z*wwER?@PAqTvPJ*^ literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm8.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm8.bmp new file mode 100644 index 0000000000000000000000000000000000000000..497d25b425c6d2f6f6e7536e22b885feb3abde82 GIT binary patch literal 3126 zcmZ?rHRE9b12Z700mKSW%*Y@CWB~zG{)Z-n3nKrIg3%Bd4S``A0*HK$jYYYqAteZ~ z5W#||QMTYWAL1uUd_ll`puZ^d1&a9)=OU97n-BCm!aVxK0t3)Sr0AwBd?0ZL4J9xI vG8~GaKBFXl;d;Sl!A*uT;IdR?Kpam+1JR5c>gJ<)XOue{0;3@?fFS??l4Ud> literal 0 HcmV?d00001 diff --git a/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm9.bmp b/Lotus Vehicle Simulation 3.11f/VEHICLE.HLP/bm9.bmp new file mode 100644 index 0000000000000000000000000000000000000000..9be7a838eb3d8067aec856801f9316b10f3a651a GIT binary patch literal 3126 zcmd6p!F7W`3`Cu~3&=4?SKtD2Pfyg4ic(Daum{A<3SlEe*6&4cL1Ha^%`VvZ^Xqy( zO?Jikg5zU8-cIj`VDsm{-*!2kZ?rbmBObody{max-width:1250px;}body,table,td {font-size:14px; font-family: Arial, Helvetica, sans-serif;} + + + + + + +