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

update repository

parent d9cd58d9
Branches
Tags
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.
Please register or to comment