16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-22 17:29:18 +02:00

Added efficiency of transmision

This commit is contained in:
Królik Uszasty
2019-11-02 15:50:53 +01:00
parent 7c4f2008e0
commit 4163c251e4
2 changed files with 6 additions and 4 deletions

View File

@@ -637,6 +637,7 @@ struct TTransmision
int NToothM = 0; int NToothM = 0;
int NToothW = 0; int NToothW = 0;
double Ratio = 1.0; double Ratio = 1.0;
double Efficiency = 1.0;
}; };
enum class TCouplerType { NoCoupler, Articulated, Bare, Chain, Screw, Automatic }; enum class TCouplerType { NoCoupler, Articulated, Bare, Chain, Screw, Automatic };

View File

@@ -5248,7 +5248,7 @@ double TMoverParameters::TractionForce( double dt ) {
Itot = Im; Itot = Im;
else else
Itot = Im * RList[MainCtrlActualPos].Bn; // prad silnika * ilosc galezi Itot = Im * RList[MainCtrlActualPos].Bn; // prad silnika * ilosc galezi
Mw = Mm * Transmision.Ratio; Mw = Mm * Transmision.Ratio * Transmision.Efficiency;
Fw = Mw * 2.0 / WheelDiameter; Fw = Mw * 2.0 / WheelDiameter;
Ft = Fw * NPoweredAxles; // sila trakcyjna Ft = Fw * NPoweredAxles; // sila trakcyjna
break; break;
@@ -5256,9 +5256,9 @@ double TMoverParameters::TractionForce( double dt ) {
case TEngineType::DieselEngine: case TEngineType::DieselEngine:
{ {
Mw = dmoment * dtrans; // dmoment i dtrans policzone przy okazji enginerotation Mw = dmoment * dtrans * Transmision.Efficiency; // dmoment i dtrans policzone przy okazji enginerotation
if ((hydro_R) && (hydro_R_Placement == 0)) if ((hydro_R) && (hydro_R_Placement == 0))
Mw -= dizel_MomentumRetarder(nrot * Transmision.Ratio, dt) * Transmision.Ratio; Mw -= dizel_MomentumRetarder(nrot * Transmision.Ratio, dt) * Transmision.Ratio * Transmision.Efficiency;
Fw = Mw * 2.0 / WheelDiameter / NPoweredAxles; Fw = Mw * 2.0 / WheelDiameter / NPoweredAxles;
Ft = Fw * NPoweredAxles; // sila trakcyjna Ft = Fw * NPoweredAxles; // sila trakcyjna
Ft = Ft * DirAbsolute; // ActiveDir*CabNo; Ft = Ft * DirAbsolute; // ActiveDir*CabNo;
@@ -5826,7 +5826,7 @@ double TMoverParameters::TractionForce( double dt ) {
} }
Mm = eimv[eimv_M] * DirAbsolute; Mm = eimv[eimv_M] * DirAbsolute;
Mw = Mm * Transmision.Ratio; Mw = Mm * Transmision.Ratio * Transmision.Efficiency;
Fw = Mw * 2.0 / WheelDiameter; Fw = Mw * 2.0 / WheelDiameter;
Ft = Fw * NPoweredAxles; Ft = Fw * NPoweredAxles;
eimv[eimv_Fr] = DirAbsolute * Ft / 1000; eimv[eimv_Fr] = DirAbsolute * Ft / 1000;
@@ -9878,6 +9878,7 @@ void TMoverParameters::LoadFIZ_Engine( std::string const &Input ) {
Transmision.Ratio = static_cast<double>( Transmision.NToothW ) / Transmision.NToothM; Transmision.Ratio = static_cast<double>( Transmision.NToothW ) / Transmision.NToothM;
else else
Transmision.Ratio = 1.0; Transmision.Ratio = 1.0;
extract_value(Transmision.Efficiency, "TransEff", Input, "");
} }
switch( EngineType ) { switch( EngineType ) {