Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit bd336433 authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

update calculation of PEV shift polygon for downshifts. introduce new...

update calculation of PEV shift polygon for downshifts. introduce new parameter to adapt shift lines
parent dd497d48
No related branches found
No related tags found
No related merge requests found
......@@ -343,6 +343,7 @@ namespace TUGraz.VectoCommon.InputData
double? PEV_TargetSpeedBrakeNorm { get; }
double? PEV_DownshiftSpeedFactor { get; }
double? PEV_DeRatingDownshiftSpeedFactor { get; }
double? PEV_DownshiftMinSpeedFactor { get; }
}
......
......@@ -376,6 +376,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
public Second ATLookAheadTime => null;
public double[][] ShiftSpeedsTCToLocked => null;
public double? PEV_TargetSpeedBrakeNorm => null;
public double? PEV_DownshiftSpeedFactor => null;
public double? PEV_DeRatingDownshiftSpeedFactor => null;
public double? PEV_DownshiftMinSpeedFactor => null;
......
......@@ -265,6 +265,18 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
}
}
public double? PEV_DownshiftSpeedFactor
{
get
{
if (Body["PEV_DownshiftSpeedFactor"] != null) {
return Body.GetEx<double>("PEV_DownshiftSpeedFactor");
}
return null;
}
}
public double? PEV_DeRatingDownshiftSpeedFactor
{
get
......
......@@ -122,6 +122,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider
public Second ATLookAheadTime => null;
public double[][] ShiftSpeedsTCToLocked => null;
public double? PEV_TargetSpeedBrakeNorm => null;
public double? PEV_DownshiftSpeedFactor => null;
public double? PEV_DeRatingDownshiftSpeedFactor => null;
public double? PEV_DownshiftMinSpeedFactor => null;
......
......@@ -780,6 +780,10 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
retVal.PEV_DeRatedDownshiftSpeedFactor = gsInputData.PEV_DeRatingDownshiftSpeedFactor.Value;
}
if (gsInputData.PEV_DownshiftSpeedFactor != null) {
retVal.PEV_DownshiftSpeedFactor = gsInputData.PEV_DownshiftSpeedFactor.Value;
}
if (gsInputData.PEV_TargetSpeedBrakeNorm != null) {
retVal.PEV_TargetSpeedBrakeNorm = gsInputData.PEV_TargetSpeedBrakeNorm.Value;
}
......
......@@ -607,7 +607,7 @@ namespace TUGraz.VectoCore.Models.Declaration
var nMax = downshiftMaxSpeed ?? fullLoadCurve.NP80low;
var nMin = downshiftMinSpeed ?? 0.1 * fullLoadCurve.RatedSpeed;
downShift.AddRange(DownshiftLineDrive(fullLoadCurve, nMin, nMax));
downShift.AddRange(DownshiftLineDrive(fullLoadCurve, nMin, fullLoadCurve.NP80low));
downShift.AddRange(DownshiftLineDrag(fullLoadCurve, nMin, nMax));
}
......
......@@ -13,6 +13,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Data {
PEV_DownshiftMinSpeedFactor = 0.1;
PEV_TargetSpeedBrakeNorm = 0.7;
PEV_DeRatedDownshiftSpeedFactor = 1;
PEV_DownshiftSpeedFactor = 1;
}
public MeterPerSecond StartVelocity { get; internal set; }
......@@ -109,6 +110,8 @@ namespace TUGraz.VectoCore.Models.Simulation.Data {
public double[] LoadStageThresoldsDown { get; set; }
public double[][] ShiftSpeedsTCToLocked { get; set; }
public double PEV_TargetSpeedBrakeNorm { get; set; }
public double PEV_DownshiftSpeedFactor { get; set; }
public double PEV_DeRatedDownshiftSpeedFactor { get; set; }
public double PEV_DownshiftMinSpeedFactor { get; set; }
}
......
......@@ -120,8 +120,12 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
IList<ITransmissionInputData> gearboxGears, CombustionEngineData engineData, double axlegearRatio, Meter dynamicTyreRadius,
ElectricMotorData electricMotorData = null)
{
if (electricMotorData == null) {
throw new VectoException("ElectricMotorData is required to calculate Shift Polygon!");
}
var emFld = electricMotorData.EfficiencyData.VoltageLevels.First().FullLoadCurve;
return ComputeDeclarationShiftPolygon(i, gearboxGears, axlegearRatio, dynamicTyreRadius, electricMotorData,
null, shiftStrategyParameters.PEV_DownshiftMinSpeedFactor * electricMotorData.EfficiencyData.VoltageLevels.First().FullLoadCurve.RatedSpeed);
shiftStrategyParameters.PEV_DownshiftSpeedFactor.LimitTo(0, 1) * emFld.RatedSpeed, shiftStrategyParameters.PEV_DownshiftMinSpeedFactor * emFld.RatedSpeed);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment