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 80b41239 authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

Merge branch 'develop' of...

parents 70ed87a2 df437dae
No related branches found
No related tags found
No related merge requests found
...@@ -122,7 +122,8 @@ Public Class VehicleForm ...@@ -122,7 +122,8 @@ Public Class VehicleForm
_changed = False _changed = False
cbEmPos.DataSource = EnumHelper.GetKeyValuePairs(Of PowertrainPosition)(Function(t) t.GetLabel(), cbEmPos.DataSource = EnumHelper.GetKeyValuePairs(Of PowertrainPosition)(Function(t) t.GetLabel(),
Function(x) x <> PowertrainPosition.GEN) Function(x) x <> PowertrainPosition.GEN _
AndAlso x <> PowertrainPosition.HybridP0)
NewVehicle() NewVehicle()
End Sub End Sub
......
...@@ -72,14 +72,20 @@ namespace TUGraz.VectoCommon.InputData ...@@ -72,14 +72,20 @@ namespace TUGraz.VectoCommon.InputData
public static bool IsBatteryElectric(this PowertrainPosition pos) public static bool IsBatteryElectric(this PowertrainPosition pos)
{ {
return pos == PowertrainPosition.BatteryElectricE2 || pos == PowertrainPosition.BatteryElectricE3 || switch (pos) {
pos == PowertrainPosition.BatteryElectricE4; case PowertrainPosition.BatteryElectricE2:
case PowertrainPosition.BatteryElectricE3:
case PowertrainPosition.BatteryElectricE4:
return true;
default:
return false;
}
} }
public static bool IsParallelHybrid(this PowertrainPosition pos) public static bool IsParallelHybrid(this PowertrainPosition pos)
{ {
switch (pos) { switch (pos) {
case PowertrainPosition.HybridP0: //case PowertrainPosition.HybridP0: // special case currently modelled in BusAuxiliary as SmartAlternator.
case PowertrainPosition.HybridP1: case PowertrainPosition.HybridP1:
case PowertrainPosition.HybridP2: case PowertrainPosition.HybridP2:
case PowertrainPosition.HybridP2_5: case PowertrainPosition.HybridP2_5:
......
...@@ -235,6 +235,10 @@ namespace TUGraz.VectoCore.Models.Simulation.Data ...@@ -235,6 +235,10 @@ namespace TUGraz.VectoCore.Models.Simulation.Data
} }
} }
if (runData.ElectricMachinesData?.Any(e => e.Item1 == PowertrainPosition.HybridP0) ?? false){
return new ValidationResult("P0 Hybrids are modeled as SmartAlternator in the BusAuxiliary model.");
}
return ValidationResult.Success; return ValidationResult.Success;
} }
......
...@@ -412,6 +412,9 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl ...@@ -412,6 +412,9 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
if (data.ElectricMachinesData.Count != 1) { if (data.ElectricMachinesData.Count != 1) {
throw new VectoException("ParallelHybrid needs exactly one electric motor."); throw new VectoException("ParallelHybrid needs exactly one electric motor.");
} }
if (data.ElectricMachinesData.Any(e => e.Item1 == PowertrainPosition.HybridP0)) {
throw new VectoException("P0 Hybrids are modeled as SmartAlternator in the BusAuxiliary model.");
}
var container = new VehicleContainer(data.ExecutionMode, _modData, _sumWriter) { RunData = data }; var container = new VehicleContainer(data.ExecutionMode, _modData, _sumWriter) { RunData = data };
var es = ConnectREESS(data, container); var es = ConnectREESS(data, container);
......
...@@ -82,8 +82,12 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl ...@@ -82,8 +82,12 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
if (operatingPointList.Count > 0) { if (operatingPointList.Count > 0) {
operatingPoint = SelectOperatingPoint(operatingPointList); operatingPoint = SelectOperatingPoint(operatingPointList);
} else { } else {
Log.Warn( if (outTorque.IsEqual(0) && outAngularVelocity.IsEqual(0)) {
"TorqueConverter Initialize: No operating point found. Using output as input values as fallback for initialize."); Log.Info("TorqueConverter Initialize: No operating point found. Using output as input values as fallback for initialize.");
}
else {
Log.Warn("TorqueConverter Initialize: No operating point found. Using output as input values as fallback for initialize.");
}
var inAngularVelocity = outAngularVelocity.LimitTo(DataBus.EngineInfo.EngineIdleSpeed, DataBus.EngineInfo.EngineN95hSpeed); var inAngularVelocity = outAngularVelocity.LimitTo(DataBus.EngineInfo.EngineIdleSpeed, DataBus.EngineInfo.EngineN95hSpeed);
operatingPoint = new TorqueConverterOperatingPoint { operatingPoint = new TorqueConverterOperatingPoint {
OutAngularVelocity = outAngularVelocity, OutAngularVelocity = outAngularVelocity,
......
...@@ -260,7 +260,7 @@ public class JSONFileWriter : IOutputFileWriter ...@@ -260,7 +260,7 @@ public class JSONFileWriter : IOutputFileWriter
body.Add(JsonKeys.Gearbox_GearboxType, gbx.Type.ToString()); body.Add(JsonKeys.Gearbox_GearboxType, gbx.Type.ToString());
var torqueConverterDict = new Dictionary<string, object> { { "Enabled", torqueConverter != null && gbx.Type.AutomaticTransmission() } }; var torqueConverterDict = new Dictionary<string, object> { { "Enabled", torqueConverter != null && gbx.Type.AutomaticTransmission() } };
if (gbx.Type.AutomaticTransmission() && torqueConverter != null) { if (gbx.Type.AutomaticTransmission() && gbx.Type != GearboxType.APTN) {
torqueConverterDict.Add("File", GetRelativePath(torqueConverter.TCData.Source, Path.GetDirectoryName(filename))); torqueConverterDict.Add("File", GetRelativePath(torqueConverter.TCData.Source, Path.GetDirectoryName(filename)));
torqueConverterDict.Add(JsonKeys.Gearbox_TorqueConverter_ReferenceRPM, Math.Round(torqueConverter.ReferenceRPM.AsRPM, 4)); torqueConverterDict.Add(JsonKeys.Gearbox_TorqueConverter_ReferenceRPM, Math.Round(torqueConverter.ReferenceRPM.AsRPM, 4));
torqueConverterDict.Add(JsonKeys.Gearbox_TorqueConverter_Inertia, torqueConverter.Inertia.Value()); torqueConverterDict.Add(JsonKeys.Gearbox_TorqueConverter_Inertia, torqueConverter.Inertia.Value());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment