mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-11-12 23:24:16 +01:00
AI braking: predict the ESt3 brake force from the distributor characteristic
This commit is contained in:
@@ -5091,6 +5091,7 @@ void TMoverParameters::ComputeTotalForce(double dt)
|
|||||||
double TMoverParameters::BrakeForceR(double ratio, double velocity)
|
double TMoverParameters::BrakeForceR(double ratio, double velocity)
|
||||||
{
|
{
|
||||||
double press = 0;
|
double press = 0;
|
||||||
|
ratio = Hamulec->GetBrakeRatio(ratio);
|
||||||
if (MBPM > 2)
|
if (MBPM > 2)
|
||||||
{
|
{
|
||||||
press = MaxBrakePress[1] + (MaxBrakePress[3] - MaxBrakePress[1]) * std::min(1.0, (TotalMass - Mass) / (MBPM - Mass));
|
press = MaxBrakePress[1] + (MaxBrakePress[3] - MaxBrakePress[1]) * std::min(1.0, (TotalMass - Mass) / (MBPM - Mass));
|
||||||
|
|||||||
@@ -351,6 +351,17 @@ double TNESt3::GetCRP()
|
|||||||
// return Miedzypoj.P;
|
// return Miedzypoj.P;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
double TNESt3::GetBrakeRatio( double const Ratio ) const // udzial cisnienia w cylindrze dla udzialu spadku w PG
|
||||||
|
{
|
||||||
|
if( MaxBP <= 0.0 || BVM <= 0.0 ) {
|
||||||
|
return Ratio;
|
||||||
|
}
|
||||||
|
// pelny spadek sluzbowy w PG (HPP - LPP), odtworzony z przelozenia
|
||||||
|
double const spadek{ MaxBP / BVM + dPSprezyny };
|
||||||
|
double const cel{ ( Ratio * spadek - dPSprezyny ) * BVM };
|
||||||
|
return ( cel > 0.0 ? std::max( cel, pStopnia ) / MaxBP : 0.0 );
|
||||||
|
}
|
||||||
|
|
||||||
double TNESt3::CelBCP( double const CVP, double const VVP ) const // docelowe cisnienie w cylindrze
|
double TNESt3::CelBCP( double const CVP, double const VVP ) const // docelowe cisnienie w cylindrze
|
||||||
{
|
{
|
||||||
double const cel{ ( CVP - dPSprezyny - VVP ) * BVM };
|
double const cel{ ( CVP - dPSprezyny - VVP ) * BVM };
|
||||||
|
|||||||
@@ -197,6 +197,7 @@ class TNESt3 : public TBrake {
|
|||||||
double GetCRP() override;
|
double GetCRP() override;
|
||||||
double GetRapidRatio(double const Vel) const override;
|
double GetRapidRatio(double const Vel) const override;
|
||||||
double CelBCP(double const CVP, double const VVP) const; // docelowe cisnienie w cylindrze
|
double CelBCP(double const CVP, double const VVP) const; // docelowe cisnienie w cylindrze
|
||||||
|
double GetBrakeRatio(double const Ratio) const override; // udzial cisnienia w cylindrze dla udzialu spadku w PG
|
||||||
void CheckState(double const BCP, double &dV1); // glowny przyrzad rozrzadczy
|
void CheckState(double const BCP, double &dV1); // glowny przyrzad rozrzadczy
|
||||||
void CheckReleaser(double const dt); // odluzniacz
|
void CheckReleaser(double const dt); // odluzniacz
|
||||||
double CVs(double const BP) const; // napelniacz sterujacego
|
double CVs(double const BP) const; // napelniacz sterujacego
|
||||||
|
|||||||
@@ -421,6 +421,10 @@ class TBrake
|
|||||||
double GetVRP() const; // cisnienie komory wstepnej rozdzielacza
|
double GetVRP() const; // cisnienie komory wstepnej rozdzielacza
|
||||||
/// <summary>Returns control reservoir (ZS) pressure [bar]; defaults to the auxiliary reservoir for valves without a dedicated ZS.</summary>
|
/// <summary>Returns control reservoir (ZS) pressure [bar]; defaults to the auxiliary reservoir for valves without a dedicated ZS.</summary>
|
||||||
virtual double GetCRP(); // cisnienie zbiornika sterujacego
|
virtual double GetCRP(); // cisnienie zbiornika sterujacego
|
||||||
|
/// <summary>Share of the full cylinder pressure the distributor settles at for the given share
|
||||||
|
/// of the full service pipe drop. Used only to predict the brake force; the default is proportional.</summary>
|
||||||
|
/// <param name="Ratio">Share of the full service brake pipe drop.</param>
|
||||||
|
virtual double GetBrakeRatio(double const Ratio) const { return Ratio; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Sets the brake delay (G/P/R/M) selector if requested mode is supported.
|
/// Sets the brake delay (G/P/R/M) selector if requested mode is supported.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user