Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS will be completely phased out by mid-2025. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit 0098d690 authored by Michael KRISPER's avatar Michael KRISPER
Browse files

Updated Test Data of measured speed test cases (sometimes n was lower than...

Updated Test Data of measured speed test cases (sometimes n was lower than idle speed); Corrected Error in CycleGearbox (TorqueConverterLocked check); Updated ENG_Class5 .veng data
parent 83ac8234
No related branches found
No related tags found
No related merge requests found
Job [-],Input File [-],Cycle [-],Status,Mass [kg],Loading [kg],time [s],distance [km],speed [km/h],altitudeDelta [m],FC-Map [g/h],FC-Map [g/km],FC-AUXc [g/h],FC-AUXc [g/km],FC-WHTCc [g/h],FC-WHTCc [g/km],FC-AAUX [g/h],FC-AAUX [g/km],FC-Final [g/h],FC-Final [g/km],FC-Final [l/100km],FC-Final [l/100tkm],CO2 [g/km],CO2 [g/tkm],P_wheel_in_pos [kW],P_brake_loss [kW],P_angle_loss [kW],P_tc_loss [kW],P_clutch_pos [kW],P_clutch_neg [kW],P_fcmap_pos [kW],E_aux_CYCLE [kWh],E_aux_CONSTANTAUX [kWh],E_aux_ES [kWh],E_aux_sum [kWh],E_air [kWh],E_roll [kWh],E_grad [kWh],E_inertia [kWh],E_brake [kWh],E_gbx_loss [kWh],E_axl_loss [kWh],E_angle_loss [kWh],E_ret_loss [kWh],E_tc_loss [kWh],E_clutch_pos [kWh],E_clutch_neg [kWh],E_fcmap_pos [kWh],a [m/s^2],a_pos [m/s^2],a_neg [m/s^2],AccelerationTimeShare [%],DecelerationTimeShare [%],CruiseTimeShare [%],StopTimeShare [%]
1-0,Class5_Tractor_ENG,Long_Haul.vdri,Success,15729.0000,19300.0000,5352.7246,108.1910,72.7644,0.1702,22838.5126,313.8695,22838.5126,313.8695,22838.5126,313.8695,22838.5126,313.8695,22838.5126,313.8695,37.7247,1.9546,991.8275,51.3900,101.6342,15.1578,0.0000,0.0000,154.7178,-24.5568,150.7650,0.0000,7.4350,4.0021,11.4371,56.8832,60.9612,0.0026,-0.0138,22.5376,9.7783,7.5428,0.0000,2.0417,0.0000,167.1868,-7.5101,176.9343,0.0000,0.3424,-0.4739,6.5396,4.6898,0.0000,4.5584
......@@ -16,6 +16,7 @@
"WHTC-Urban": 0.0,
"WHTC-Rural": 0.0,
"WHTC-Motorway": 0.0,
"WHTC-Engineering": 1.0,
"ColdHotBalancingFactor": 0.0
}
}
\ No newline at end of file
......@@ -12,7 +12,7 @@ Imports System.Runtime.InteropServices
<Assembly: AssemblyDescription("Vehicle Energy Consumption Calculation Tool")>
<Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("VECTO")>
<Assembly: AssemblyCopyright("© European Commission 2014")>
<Assembly: AssemblyCopyright("© European Commission 2016")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
......
......@@ -32,12 +32,14 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Diagnostics;
using System.Linq;
using System.Runtime.Serialization;
using TUGraz.VectoCommon.Models;
using TUGraz.VectoCommon.Utils;
using TUGraz.VectoCore.Configuration;
using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox;
using TUGraz.VectoCore.Utils;
namespace TUGraz.VectoCore.Models.SimulationComponent.Data
{
......@@ -46,13 +48,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
/// </summary>
/// <remarks>The Axle Gear has its own Property "AxleGearData" and is *not included* in the Gears-Dictionary.</remarks>
[DataContract, CustomValidation(typeof(GearboxData), "ValidateGearboxData")]
[DebuggerDisplay("GearboxData({Type}, #Gears: {Gears.Count}, ...)")]
public class GearboxData : SimulationComponentData
{
public GearboxType Type { get; internal set; }
/// <summary>
/// The gear data.
/// </summary>
[Required, ValidateObject] public Dictionary<uint, GearData> Gears = new Dictionary<uint, GearData>();
public TorqueConverterData TorqueConverterData { get; internal set; }
......@@ -89,14 +89,6 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
[Required, SIRange(double.Epsilon, 2)]
public MeterPerSquareSecond StartAcceleration { get; internal set; }
///// <summary>
///// Gets a value indicating whether this instance has torque converter.
///// </summary>
///// <value>
///// <c>true</c> if this instance has torque converter; otherwise, <c>false</c>.
///// </value>
//public bool HasTorqueConverter { get; internal set; }
[Required, SIRange(0, double.MaxValue)]
public Second UpshiftAfterDownshiftDelay { get; internal set; }
......
......@@ -50,7 +50,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
{
protected bool? TorqueConverterActive;
protected internal TorqueConverterData TorqueConverter;
protected internal readonly TorqueConverterData TorqueConverter;
private readonly KilogramSquareMeter _engineInertia;
public CycleGearbox(IVehicleContainer container, GearboxData gearboxModelData, KilogramSquareMeter engineInertia)
......@@ -164,11 +164,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
private IResponse RequestEngaged(Second absTime, Second dt, NewtonMeter outTorque, PerSecond outAngularVelocity,
bool dryRun)
{
var TorqueConverterLocked = TorqueConverterActive != null && !TorqueConverterActive.Value;
var torqueConverterLocked = TorqueConverterActive == null || !TorqueConverterActive.Value;
var effectiveRatio = ModelData.Gears[Gear].Ratio;
var effectiveLossMap = ModelData.Gears[Gear].LossMap;
if (!TorqueConverterLocked) {
if (!torqueConverterLocked) {
effectiveRatio = ModelData.Gears[Gear].TorqueConverterRatio;
effectiveLossMap = ModelData.Gears[Gear].TorqueConverterGearLossMap;
}
......@@ -179,17 +179,17 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
var inTorque = outTorque / effectiveRatio + inTorqueLossResult.Value;
CurrentState.TorqueLossResult = inTorqueLossResult;
if (!TorqueConverterLocked && !ModelData.Gears[Gear].HasTorqueConverter) {
if (!torqueConverterLocked && !ModelData.Gears[Gear].HasTorqueConverter) {
throw new VectoSimulationException("Torque converter requested by strategy for gear without torque converter!");
}
var inAngularVelocity = outAngularVelocity * effectiveRatio;
if (ModelData.Type.AutomaticTransmission() && TorqueConverterLocked &&
if (ModelData.Type.AutomaticTransmission() && torqueConverterLocked &&
inAngularVelocity.IsSmaller(DataBus.EngineIdleSpeed)) {
Log.Error(
"ERROR: EngineSpeed is lower than Idlespeed in Measuredspeed-Cycle with given Gear (Automatic Transmission). AbsTime: {0}, Gear: {1} TC-Active: {2}, EngineSpeed: {3}",
absTime, Gear, !TorqueConverterLocked, inAngularVelocity.AsRPM);
absTime, Gear, !torqueConverterLocked, inAngularVelocity.AsRPM);
return new ResponseEngineSpeedTooLow { Source = this };
}
......@@ -204,7 +204,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
}
if (dryRun) {
if (TorqueConverter != null && TorqueConverterActive != null && TorqueConverterActive.Value) {
if (TorqueConverter != null && !torqueConverterLocked) {
return RequestTorqueConverter(absTime, dt, inTorque, inAngularVelocity, true);
}
if (outTorque.IsSmaller(0) && inAngularVelocity.IsSmaller(DataBus.EngineIdleSpeed)) {
......@@ -226,7 +226,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
CurrentState.Gear = Gear;
// end critical section
if (TorqueConverter != null && TorqueConverterActive != null && TorqueConverterActive.Value) {
if (TorqueConverter != null && !torqueConverterLocked) {
CurrentState.TorqueConverterActive = true;
return RequestTorqueConverter(absTime, dt, inTorque, inAngularVelocity);
}
......
......@@ -107,8 +107,9 @@ namespace TUGraz.VectoCore.Tests.FileIO
Assert.AreEqual(downshiftSpeeds.Length, runData.GearboxData.Gears[2].ShiftPolygon.Downshift.Count);
for (var i = 0; i < downshiftSpeeds.Length; i++) {
Assert.AreEqual(downshiftSpeeds[i].RPMtoRad().Value(),
runData.GearboxData.Gears[2].ShiftPolygon.Downshift[i].AngularSpeed.Value(), Tolerance);
Assert.AreEqual(downshiftTorque[i], runData.GearboxData.Gears[2].ShiftPolygon.Downshift[i].Torque.Value(), Tolerance);
runData.GearboxData.Gears[2].ShiftPolygon.Downshift[i].AngularSpeed.Value(), Tolerance, "i: " + i);
Assert.AreEqual(downshiftTorque[i], runData.GearboxData.Gears[2].ShiftPolygon.Downshift[i].Torque.Value(), Tolerance,
"i: " + i);
}
var upshiftSpeed = new[] { 1889.6633, 1889.6633, 606.64575 / Constants.RPMToRad };
......
......@@ -172,7 +172,7 @@
171,31.0,-0.3,2,0,4.5
172,26.6,-0.3,1,0,4.5
173,22.0,-0.3,1,0,4.5
174,17.0,-0.3,1,0,4.5
174,17.0,-0.3,0,0,4.5
175,11.9,-0.3,0,0,4.5
176,6.8,-0.3,0,0,4.5
177,2.4,-0.3,0,0,4.5
......
......@@ -20,7 +20,7 @@
19,18.1,-0.3,3,0,4.5
20,15.1,-0.3,2,0,4.5
21,11.5,-0.3,1,0,4.5
22,8.0,-0.3,1,0,4.5
22,8.0,-0.3,1,1,4.5
23,4.2,-0.3,1,1,4.5
24,0.6,-0.3,1,1,4.5
25,0.0,-0.3,1,1,4.5
......@@ -73,7 +73,7 @@
72,17.4,-0.3,1,0,4.5
73,13.8,-0.3,1,0,4.5
74,10.3,-0.3,1,0,4.5
75,7.0,-0.3,1,0,4.5
75,7.0,-0.3,1,1,4.5
76,2.5,-0.3,1,1,4.5
77,0.0,-0.3,1,1,4.5
78,0.0,-0.3,1,1,4.5
......@@ -124,7 +124,7 @@
123,16.8,-0.3,1,0,4.5
124,13.5,-0.3,1,0,4.5
125,10.1,-0.3,1,0,4.5
126,7.0,-0.3,1,0,4.5
126,7.0,-0.3,1,1,4.5
127,3.1,-0.3,1,1,4.5
128,0.2,-0.3,1,1,4.5
129,0.0,-0.3,1,1,4.5
......@@ -152,7 +152,7 @@
151,18.9,0.3,2,0,4.5
152,16.5,0.3,2,0,4.5
153,12.8,0.3,1,0,4.5
154,8.5,0.3,1,0,4.5
154,8.5,0.3,1,1,4.5
155,3.8,0.3,1,1,4.5
156,0.2,0.3,1,1,4.5
157,0.0,0.3,1,1,4.5
......
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