Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS will be completely phased out by mid-2025. To see alternatives please check here

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

Pull request #135: Bugfix/VECTO-1514 modeldata uses wrong inertia in case...

Pull request #135: Bugfix/VECTO-1514 modeldata uses wrong inertia in case multiple ems are used on a position

Merge in VECTO/vecto-dev from VECTO/mq_vecto-dev:bugfix/VECTO-1514-modeldata-uses-wrong-inertia-in-case-multiple-ems-are-used-on-a-position to develop

* commit 'e0b13127':
  fix: correctly set inertia in em model data
  adding testcase to check model parameters of electric machine
parents e08110ef e0b13127
No related branches found
No related tags found
No related merge requests found
......@@ -906,7 +906,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
return new ElectricMotorData() {
EfficiencyData = new VoltageLevelData() { VoltageLevels = voltageLevels},
DragCurve = ElectricMotorDragCurveReader.Create(motorData.DragCurve, count),
Inertia = motorData.Inertia,
Inertia = motorData.Inertia * count,
ContinuousTorque = motorData.ContinuousTorque * count,
ContinuousTorqueSpeed = motorData.ContinuousTorqueSpeed,
OverloadTorque = (motorData.OverloadTorque ?? 0.SI<NewtonMeter>()) * count,
......
......@@ -36,6 +36,45 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
Directory.SetCurrentDirectory(TestContext.CurrentContext.TestDirectory);
}
[TestCase(1),
TestCase(2),
]
public void ElectricMotorModelDataTest(int count)
{
var inputData = JSONInputDataFactory.ReadElectricMotorData(MotorFile, false);
var dao = new EngineeringDataAdapter();
var electricMachine = new MockElectricMachinesInputData() {
Entries = new List<ElectricMachineEntry<IElectricMotorEngineeringInputData>>() {
new ElectricMachineEntry<IElectricMotorEngineeringInputData>() {
ElectricMachine = inputData,
Count = count,
RatioADC = 1,
MechanicalTransmissionEfficiency = 1
}
}
};
var data = dao.CreateElectricMachines(electricMachine, null);
var emModelData = data.First().Item2;
Assert.AreEqual(0.15 * count, emModelData.Inertia.Value(), 1e-3);
Assert.AreEqual(2000, emModelData.ContinuousTorqueSpeed.AsRPM, 1e-3);
Assert.AreEqual(238.7323 * count, emModelData.ContinuousTorque.Value(), 1e-3);
Assert.AreEqual(334.23 * count, -emModelData.EfficiencyData.VoltageLevels.First().FullLoadCurve.FullLoadDriveTorque(2000.RPMtoRad()).Value(), 1e-3);
Assert.AreEqual(-334.23 * count, -emModelData.EfficiencyData.VoltageLevels.First().FullLoadCurve.FullGenerationTorque(2000.RPMtoRad()).Value(), 1e-3);
Assert.AreEqual(30 * count, emModelData.DragCurve.Lookup(2500.RPMtoRad()).Value(), 1e-3);
Assert.AreEqual(-14579 * count,
emModelData.EfficiencyData.VoltageLevels.First().EfficiencyMap
.LookupElectricPower(190.99.RPMtoRad(), (-500 * count).SI<NewtonMeter>(), false).ElectricalPower.Value(),
1e-3);
}
[TestCase(100, 100, -1484.401151),
TestCase(100, 30, -498.336701),
TestCase(100, 300, -5058.393920),
......
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