diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/TorqueConverter.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/TorqueConverter.cs index 89c0ff871423a32e977941bfb2ad2ef9f7f6bd5b..40711b1c59cd302dd201733db76add4b5db59c42 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/TorqueConverter.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/TorqueConverter.cs @@ -75,7 +75,19 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl public IResponse Initialize(NewtonMeter outTorque, PerSecond outAngularVelocity) { var operatingPointList = ModelData.FindOperatingPoint(outTorque, outAngularVelocity, DataBus.EngineIdleSpeed); - var operatingPoint = SelectOperatingPoint(operatingPointList); + TorqueConverterOperatingPoint operatingPoint; + if (operatingPointList.Count > 0) { + operatingPoint = SelectOperatingPoint(operatingPointList); + } else { + Log.Warn( + "TorqueConverter Initialize: No operating point found. Using output as input values as fallback for initialize."); + operatingPoint = new TorqueConverterOperatingPoint { + OutAngularVelocity = outAngularVelocity, + OutTorque = outTorque, + InAngularVelocity = outAngularVelocity, + InTorque = outTorque + }; + } var retVal = NextComponent.Initialize(operatingPoint.InTorque, operatingPoint.InAngularVelocity); PreviousState.SetState(operatingPoint.InTorque, operatingPoint.InAngularVelocity, operatingPoint.OutTorque, operatingPoint.OutAngularVelocity);