diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs index f0db6c2284e483b91d6f58712cb45fbd210510b1..318d48794afb1c5186e87af64a8a1c6722d36196 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/DistanceBasedDrivingCycle.cs @@ -298,6 +298,17 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl protected override void DoWriteModalResults(IModalDataContainer container) { + // sanity check: is the vehicle in step with the cycle? + if (container[ModalResultField.dist] == DBNull.Value) { + Log.Warn("Distance field is not set!"); + } else { + var distance = (SI)container[ModalResultField.dist]; + if (!distance.IsEqual(CurrentState.Distance)) { + Log.Warn("Vehicle Distance diverges from Cycle by {0} [m]. Distance: {1}", + (distance - CurrentState.Distance).Value(), distance); + } + } + container[ModalResultField.dist] = CurrentState.Distance; // (CurrentState.Distance + PreviousState.Distance) / 2.0; container[ModalResultField.simulationDistance] = CurrentState.SimulationDistance; container[ModalResultField.v_targ] = CurrentState.VehicleTargetSpeed; diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Vehicle.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Vehicle.cs index 1b691725ab1b27ffdeccd2dc117ba5931db8948c..6e0a47dbc8c8670f5b1ace639a83440116a39b64 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Vehicle.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Vehicle.cs @@ -173,16 +173,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl container[ModalResultField.P_air] = CurrentState.AirDragResistance * averageVelocity; container[ModalResultField.P_slope] = CurrentState.SlopeResistance * averageVelocity; container[ModalResultField.P_trac] = CurrentState.VehicleTractionForce * averageVelocity; - // sanity check: is the vehicle in step with the cycle? - if (container[ModalResultField.dist] == DBNull.Value) { - Log.Warn("Distance field is not set!"); - } else { - var distance = (SI)container[ModalResultField.dist]; - if (!distance.IsEqual(CurrentState.Distance)) { - Log.Warn("Vehicle Distance diverges from Cycle by {0} [m]. Distance: {1}", - (distance - CurrentState.Distance).Value(), distance); - } - } + + container[ModalResultField.dist] = CurrentState.Distance; } protected override void DoCommitSimulationStep()