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

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

VTP: move computation of PWheel T_wheel etc fro data parser to cycle

parent 4e891a8b
No related branches found
No related tags found
No related merge requests found
......@@ -262,7 +262,7 @@ Imports TUGraz.VectoCore.Utils
DeclOnOff()
End Sub
' ReSharper disable once UnusedMember.Global -- used via Logging Framework!
' ReSharper disable once UnusedMember.Global -- used via Logging Framework!
Public Shared Sub LogMethod(level As String, message As String)
If VectoWorkerV3.IsBusy AndAlso Not VectoWorkerV3.CancellationPending Then
If level = "Warn" Then
......
......@@ -723,22 +723,16 @@ namespace TUGraz.VectoCore.InputData.Reader
ValidateHeader(table.Columns);
var entries = table.Rows.Cast<DataRow>().Select(row => {
var wheelSpeed =
((row.ParseDouble(Fields.WheelSpeedLeft) + row.ParseDouble(Fields.WheelSpeedRight)) / 2).RPMtoRad();
var tqLeft = row.ParseDouble(Fields.WheelTorqueLeft).SI<NewtonMeter>();
var tqRight = row.ParseDouble(Fields.WheelTorqueRight).SI<NewtonMeter>();
var speedLeft = row.ParseDouble(Fields.WheelSpeedLeft).RPMtoRad();
var speedRight = row.ParseDouble(Fields.WheelSpeedRight).RPMtoRad();
var wheelPower = tqLeft * speedLeft + tqRight * speedRight;
return new DrivingCycleData.DrivingCycleEntry {
Time = row.ParseDouble(Fields.Time).SI<Second>(),
VehicleTargetSpeed = row.ParseDouble(Fields.VehicleSpeed).KMPHtoMeterPerSecond(),
AdditionalAuxPowerDemand =
row.ParseDoubleOrGetDefault(Fields.AdditionalAuxPowerDemand).SI(Unit.SI.Kilo.Watt).Cast<Watt>(),
EngineSpeed = row.ParseDouble(Fields.EngineSpeedSuffix).RPMtoRad(),
WheelAngularVelocity = wheelSpeed,
Torque = wheelSpeed.IsEqual(0, 1e-3) ? 0.SI<NewtonMeter>() : wheelPower / wheelSpeed,
PWheel = wheelPower,
FanSpeed = row.ParseDouble(Fields.FanSpeed).RPMtoRad(),
Gear = (uint)row.ParseDoubleOrGetDefault(Fields.Gear),
Fuelconsumption = row.ParseDoubleOrGetDefault(Fields.FuelConsumption).SI(Unit.SI.Gramm.Per.Hour).Cast<KilogramPerSecond>(),
......
......@@ -53,10 +53,21 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
public override IResponse Initialize()
{
PrepareCycleData();
SelectStartGear();
return base.Initialize();
}
private void PrepareCycleData()
{
foreach (var entry in Data.Entries) {
var wheelSpeed = (entry.WheelSpeedLeft + entry.WheelSpeedRight) / 2;
var wheelPower = entry.TorqueWheelLeft * entry.WheelSpeedLeft + entry.TorqueWheelRight * entry.WheelSpeedRight;
entry.PWheel = wheelPower;
entry.WheelAngularVelocity = wheelSpeed;
entry.Torque = wheelSpeed.IsEqual(0, 1e-3) ? 0.SI<NewtonMeter>() : wheelPower / wheelSpeed;
}
}
private void SelectStartGear()
{
var transmissionRatio = RunData.AxleGearData.AxleGear.Ratio *
......
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