mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-23 00:29:19 +02:00
gfx resource sweep configuration switches, diesel electric vehicle engine power output scaling with engine revolutions, velocity-based activation points for combined running noise sounds, shadow colour take into account overcast value
This commit is contained in:
@@ -4429,29 +4429,36 @@ double TMoverParameters::TractionForce(double dt)
|
||||
}
|
||||
else // jazda ciapongowa
|
||||
{
|
||||
|
||||
auto power = Power;
|
||||
if( true == Heating ) { power -= HeatingPower; }
|
||||
if( power < 0.0 ) { power = 0.0; }
|
||||
tmp = std::min( DElist[ MainCtrlPos ].GenPower, power );// Power - HeatingPower * double( Heating ));
|
||||
// NOTE: very crude way to approximate power generated at current rpm instead of instant top output
|
||||
auto const currentgenpower { (
|
||||
DElist[ MainCtrlPos ].RPM > 0 ?
|
||||
DElist[ MainCtrlPos ].GenPower * ( 60.0 * enrot / DElist[ MainCtrlPos ].RPM ) :
|
||||
0.0 ) };
|
||||
|
||||
tmp = std::min( power, currentgenpower );
|
||||
|
||||
PosRatio = DElist[MainCtrlPos].GenPower / DElist[MainCtrlPosNo].GenPower;
|
||||
PosRatio = currentgenpower / DElist[MainCtrlPosNo].GenPower;
|
||||
// stosunek mocy teraz do mocy max
|
||||
if ((MainCtrlPos > 0) && (ConverterFlag))
|
||||
if (tmpV <
|
||||
(Vhyp * power /
|
||||
DElist[MainCtrlPosNo].GenPower)) // czy na czesci prostej, czy na hiperboli
|
||||
Ft = (Ftmax -
|
||||
((Ftmax - 1000.0 * DElist[MainCtrlPosNo].GenPower / (Vhyp + Vadd)) *
|
||||
(tmpV / Vhyp) / PowerCorRatio)) *
|
||||
PosRatio; // posratio - bo sila jakos tam sie rozklada
|
||||
if( ( MainCtrlPos > 0 ) && ( ConverterFlag ) ) {
|
||||
|
||||
// Ft:=(Ftmax - (Ftmax - (1000.0 * DEList[MainCtrlPosNo].genpower /
|
||||
//(Vhyp+Vadd) / PowerCorRatio)) * (tmpV/Vhyp)) * PosRatio //wersja z Megapacka
|
||||
else // na hiperboli //1.107 -
|
||||
// wspolczynnik sredniej nadwyzki Ft w symku nad charakterystyka
|
||||
Ft = 1000.0 * tmp / (tmpV + Vadd) /
|
||||
PowerCorRatio; // tu jest zawarty stosunek mocy
|
||||
if( tmpV < ( Vhyp * power / DElist[ MainCtrlPosNo ].GenPower ) ) {
|
||||
// czy na czesci prostej, czy na hiperboli
|
||||
Ft = ( Ftmax
|
||||
- ( ( Ftmax - 1000.0 * DElist[ MainCtrlPosNo ].GenPower / ( Vhyp + Vadd ) )
|
||||
* ( tmpV / Vhyp )
|
||||
/ PowerCorRatio ) )
|
||||
* PosRatio; // posratio - bo sila jakos tam sie rozklada
|
||||
}
|
||||
else {
|
||||
// na hiperboli
|
||||
// 1.107 - wspolczynnik sredniej nadwyzki Ft w symku nad charakterystyka
|
||||
Ft = 1000.0 * tmp / ( tmpV + Vadd ) /
|
||||
PowerCorRatio; // tu jest zawarty stosunek mocy
|
||||
}
|
||||
}
|
||||
else
|
||||
Ft = 0; // jak nastawnik na zero, to sila tez zero
|
||||
|
||||
|
||||
Reference in New Issue
Block a user