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

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

Merge pull request #28 in VECTO/vecto-sim from ~EMQUARIMA/vecto-sim:develop to develop

* commit '95f090e9':
  update repository
parents 4a6469cf 95f090e9
No related branches found
No related tags found
No related merge requests found
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Newtonsoft.Json.Schema;
using TUGraz.VectoCore.Exceptions;
using TUGraz.VectoCore.Models.Connector.Ports;
using TUGraz.VectoCore.Models.Simulation;
......@@ -11,6 +12,15 @@ using TUGraz.VectoCore.Utils;
namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
{
public class SuperEninge : CombustionEngine
{
protected new void ValidatePowerDemand(double requestedEnginePower, double maxEnginePower, double minEnginePower)
{
}
}
public class CombustionEngine : VectoSimulationComponent, ICombustionEngine, ITnOutPort, IMemento
{
private const int EngineIdleSpeedStopThreshold = 100;
......@@ -116,14 +126,14 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
_currentState.EngineSpeed = engineSpeed;
_currentState.AbsTime = absTime;
var requestedPower = VectoMath.ConvertRpmToPower(engineSpeed, torque);
var enginePowerLoss = InertiaPowerLoss(torque, engineSpeed);
var requestedEnginePower = requestedPower + enginePowerLoss;
var requestedPower = VectoMath.ConvertRpmTorqueToPower(engineSpeed, torque);
_currentState.EnginePowerLoss = InertiaPowerLoss(torque, engineSpeed);
var requestedEnginePower = requestedPower + _currentState.EnginePowerLoss;
if (engineSpeed < _data.IdleSpeed - EngineIdleSpeedStopThreshold)
{
_currentState.OperationMode = EngineOperationMode.Stopped;
_currentState.EnginePowerLoss = enginePowerLoss;
//_currentState.EnginePowerLoss = enginePowerLoss;
}
var currentGear = Cockpit.Gear();
......
<?xml version="1.0" encoding="utf-8"?>
<SequenceDesignerModel xmlns:dm0="http://schemas.microsoft.com/VisualStudio/2008/DslTools/Core" xmlns:dm1="http://schemas.microsoft.com/dsltools/Kernel" xmlns:dm2="http://schemas.microsoft.com/dsltools/Component" xmlns:dm3="http://schemas.microsoft.com/dsltools/UseCase" xmlns:dm4="http://schemas.microsoft.com/dsltools/Activity" xmlns:dm5="http://schemas.microsoft.com/dsltools/Interaction" xmlns:dm6="http://schemas.microsoft.com/dsltools/UmlModelLibrary" xmlns:dm7="http://schemas.microsoft.com/dsltools/UmlDiagrams" xmlns:dm8="http://schemas.microsoft.com/dsltools/ModelStore" xmlns:dm9="http://schemas.microsoft.com/dsltools/LogicalClassDesigner" dslVersion="1.0.0.0" Id="784de59c-9096-4010-b35c-fa2e1ce01da2" name="Sequence1" linkedPackageId="d9536f1a-29ae-4998-a61d-8ed09f4ae8e4" xmlns="http://schemas.microsoft.com/VisualStudio/TeamArchitect/SequenceDesigner">
<profileInstances>
<packageHasProfileInstances Id="5cc078d7-edae-48fe-b2c4-874722ecc648">
<profileInstance Id="5465f10b-5a51-4760-b8ac-33cd360ee53e" name="CSharpProfile">
<elementDefinition Id="a6d84b35-fa55-4f2c-bad4-64e6c6bb5f81" />
</profileInstance>
<elementDefinition Id="24c10212-1b6e-4dbf-9717-54ac8ebd361f" />
</packageHasProfileInstances>
</profileInstances>
<packagedElements>
<packageHasNamedElement>
<interaction Id="60558488-6e4a-41e5-b61d-87aa0c2c6371" name="Sequence1" collapseFragmentsFlag="false" isActiveClass="false" isAbstract="false" isLeaf="false" isReentrant="false">
......
......@@ -62,6 +62,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
var vehicle = new VehicleContainer();
var engineData = CombustionEngineData.ReadFromFile(CoachEngine);
var engine = new CombustionEngine(vehicle, engineData);
new EngineOnlyGearbox(vehicle);
var port = engine.OutShaft();
var absTime = new TimeSpan(seconds: 0, minutes: 0, hours: 0);
......@@ -86,7 +87,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
//Assert.AreEqual(dataWriter[ModalResultField.FC], 13000);
//Assert.AreEqual(dataWriter[ModalResultField.FCAUXc], 14000);
//Assert.AreEqual(dataWriter[ModalResultField.FCWHTCc], 15000);
Assert.AreEqual(2.906175, dataWriter[ModalResultField.PaEng]);
Assert.AreEqual(1152.40304, Double.Parse(dataWriter[ModalResultField.PaEng].ToString()), 0.001);
}
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\\TestData\\EngineTests.csv", "EngineTests#csv", DataAccessMethod.Sequential)]
......
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