Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS has been phased out. To see alternatives please check here

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
Branches
Tags
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.
Please register or to comment