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

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

Merge pull request #255 in VECTO/vecto-sim from ~EMQUARIMA/vecto-sim:develop to develop

* commit 'ad6dd5be':
  removed speed limit of torque converter (only limited by engine rated speed)
  write torque converter speeds in rpm to mod-file
  bugfix: corrected computation of average input speed for mod-data
  fix: don't require deprecated LAC input data
parents d04888dc ad6dd5be
No related branches found
No related tags found
No related merge requests found
......@@ -402,8 +402,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
: null;
return new LookAheadCoastingInputData() {
Enabled = lac.GetEx<bool>(JsonKeys.DriverData_Lookahead_Enabled),
Deceleration = lac.GetEx<double>(JsonKeys.DriverData_Lookahead_Deceleration).SI<MeterPerSquareSecond>(),
MinSpeed = lac.GetEx<double>(JsonKeys.DriverData_Lookahead_MinSpeed).KMPHtoMeterPerSecond(),
//Deceleration = lac.GetEx<double>(JsonKeys.DriverData_Lookahead_Deceleration).SI<MeterPerSquareSecond>(),
//MinSpeed = lac.GetEx<double>(JsonKeys.DriverData_Lookahead_MinSpeed).KMPHtoMeterPerSecond(),
LookaheadDistanceFactor = distanceScalingFactor,
CoastingDecisionFactorOffset = lacDfOffset,
CoastingDecisionFactorScaling = lacDfScaling,
......
......@@ -59,9 +59,9 @@ namespace TUGraz.VectoCore.InputData.Impl
{
public bool Enabled { get; internal set; }
public MeterPerSquareSecond Deceleration { get; internal set; }
//public MeterPerSquareSecond Deceleration { get; internal set; }
public MeterPerSecond MinSpeed { get; internal set; }
//public MeterPerSecond MinSpeed { get; internal set; }
public double CoastingDecisionFactorOffset { get; internal set; }
public double CoastingDecisionFactorScaling { get; internal set; }
......
......@@ -343,7 +343,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Data
/// <summary>
/// [1/min] Torque converter output speed
/// </summary>
[ModalResultField(typeof(SI), "n_TC_out")] TC_angularSpeedOut,
[ModalResultField(typeof(SI), "n_TC_out", outputFactor: 60 / (2 * Math.PI))] TC_angularSpeedOut,
/// <summary>
/// [Nm] Torque converter output torque
......@@ -353,7 +353,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Data
/// <summary>
/// [1/min] Torque converter output speed
/// </summary>
[ModalResultField(typeof(SI), "n_TC_in")] TC_angularSpeedIn,
[ModalResultField(typeof(SI), "n_TC_in", outputFactor: 60 / (2 * Math.PI))] TC_angularSpeedIn,
/// <summary>
/// [m] Altitude
......
......@@ -265,8 +265,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
protected override void DoWriteModalResults(IModalDataContainer container)
{
var avgInAngularSpeed = (PreviousState.OutAngularVelocity +
CurrentState.OutAngularVelocity) / 2.0 * ModelData.Gears[Gear].Ratio;
var avgInAngularSpeed = (PreviousState.InAngularVelocity +
CurrentState.InAngularVelocity) / 2.0;
container[ModalResultField.Gear] = Disengaged || DataBus.VehicleStopped ? 0 : Gear;
container[ModalResultField.TC_Locked] = TorqueConverterLocked;
......
......@@ -119,8 +119,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
throw new VectoException("Invalid operating point, inAngularVelocity below engine's idle speed: {0}",
operatingPoint.InAngularVelocity);
}
if (operatingPoint.InAngularVelocity.IsGreater(ModelData.TorqueConverterSpeedLimit)) {
operatingPoint = ModelData.GetOutTorque(ModelData.TorqueConverterSpeedLimit, outAngularVelocity);
if (operatingPoint.InAngularVelocity.IsGreater(DataBus.EngineRatedSpeed)) {
//ModelData.TorqueConverterSpeedLimit)) {
operatingPoint = ModelData.GetOutTorque(DataBus.EngineRatedSpeed, outAngularVelocity);
}
return operatingPoint;
} catch (VectoException ve) {
......
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