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

disable 1hz filter for time-based cycles, fix: log method: changed class name...

disable 1hz filter for time-based cycles, fix: log method: changed class name in app.config, fix: plotting shift polygons in job form, fix: plotting path for cycles in gui, not name
parent ab2fe0ae
No related branches found
No related tags found
No related merge requests found
...@@ -776,7 +776,7 @@ Partial Class MainForm ...@@ -776,7 +776,7 @@ Partial Class MainForm
Me.ShowInFolderToolStripMenuItem.Size = New System.Drawing.Size(198, 22) Me.ShowInFolderToolStripMenuItem.Size = New System.Drawing.Size(198, 22)
Me.ShowInFolderToolStripMenuItem.Text = "Show in Folder" Me.ShowInFolderToolStripMenuItem.Text = "Show in Folder"
' '
'F_MAINForm 'MainForm
' '
Me.AcceptButton = Me.btStartV3 Me.AcceptButton = Me.btStartV3
Me.ClientSize = New System.Drawing.Size(1045, 670) Me.ClientSize = New System.Drawing.Size(1045, 670)
......
...@@ -451,7 +451,7 @@ Public Class VectoJobForm ...@@ -451,7 +451,7 @@ Public Class VectoJobForm
Dim sb As ICycleData Dim sb As ICycleData
For Each sb In vectoJob.Cycles For Each sb In vectoJob.Cycles
Dim lv0 As ListViewItem = New ListViewItem Dim lv0 As ListViewItem = New ListViewItem
lv0.Text = sb.Name lv0.Text = GetRelativePath(sb.CycleData.Source, Path.GetDirectoryName(Path.GetFullPath(file))) 'sb.Name
LvCycles.Items.Add(lv0) LvCycles.Items.Add(lv0)
Next Next
...@@ -1006,7 +1006,6 @@ lbDlog: ...@@ -1006,7 +1006,6 @@ lbDlog:
Public Sub UpdatePic() Public Sub UpdatePic()
TbHVCclass.Text = "" TbHVCclass.Text = ""
TbVehCat.Text = "" TbVehCat.Text = ""
TbMass.Text = "" TbMass.Text = ""
...@@ -1119,8 +1118,8 @@ lbDlog: ...@@ -1119,8 +1118,8 @@ lbDlog:
If gear.ShiftPolygon Is Nothing OrElse gear.ShiftPolygon.Rows.Count = 0 Then Continue For If gear.ShiftPolygon Is Nothing OrElse gear.ShiftPolygon.Rows.Count = 0 Then Continue For
Dim shiftPolygon As ShiftPolygon = ShiftPolygonReader.Create(gear.ShiftPolygon) Dim shiftPolygon As ShiftPolygon = ShiftPolygonReader.Create(gear.ShiftPolygon)
s = New Series s = New Series
s.Points.DataBindXY(shiftPolygon.Upshift.Select(Function(x) x.AngularSpeed), s.Points.DataBindXY(shiftPolygon.Upshift.Select(Function(x) x.AngularSpeed.AsRPM).ToArray(),
shiftPolygon.Upshift.Select(Function(x) x.Torque)) shiftPolygon.Upshift.Select(Function(x) x.Torque.Value()).ToArray())
s.ChartType = SeriesChartType.FastLine s.ChartType = SeriesChartType.FastLine
s.BorderWidth = 2 s.BorderWidth = 2
s.Color = Color.DarkRed s.Color = Color.DarkRed
...@@ -1128,8 +1127,8 @@ lbDlog: ...@@ -1128,8 +1127,8 @@ lbDlog:
' MyChart.Series.Add(s) 'MQ 2016-06-20: do not plot shift lines in engine dialog ' MyChart.Series.Add(s) 'MQ 2016-06-20: do not plot shift lines in engine dialog
s = New Series s = New Series
s.Points.DataBindXY(shiftPolygon.Downshift.Select(Function(x) x.AngularSpeed), s.Points.DataBindXY(shiftPolygon.Downshift.Select(Function(x) x.AngularSpeed.AsRPM).ToArray(),
shiftPolygon.Downshift.Select(Function(x) x.Torque)) shiftPolygon.Downshift.Select(Function(x) x.Torque.Value()).ToArray())
s.ChartType = SeriesChartType.FastLine s.ChartType = SeriesChartType.FastLine
s.BorderWidth = 2 s.BorderWidth = 2
s.Color = Color.DarkRed s.Color = Color.DarkRed
...@@ -1194,7 +1193,8 @@ lbDlog: ...@@ -1194,7 +1193,8 @@ lbDlog:
pmax = fullLoadCurve.MaxPower.Value() / 1000 'FLD0.Pfull(FLD0.EngineRatedSpeed) pmax = fullLoadCurve.MaxPower.Value() / 1000 'FLD0.Pfull(FLD0.EngineRatedSpeed)
TbEngTxt.Text = String.Format("{0} l {1} kw {2}", (engine.Displacement.Value() * 1000).ToString("0.0"), pmax.ToString("#"), engine.ModelName) TbEngTxt.Text = String.Format("{0} l {1} kw {2}", (engine.Displacement.Value() * 1000).ToString("0.0"),
pmax.ToString("#"), engine.ModelName)
Dim fuelConsumptionMap As FuelConsumptionMap = FuelConsumptionMapReader.Create(engine.FuelConsumptionMap) Dim fuelConsumptionMap As FuelConsumptionMap = FuelConsumptionMapReader.Create(engine.FuelConsumptionMap)
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log"> internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
<targets async="true"> <targets async="true">
<target xsi:type="Console" name="ConsoleLogger" error="true" /> <target xsi:type="Console" name="ConsoleLogger" error="true" />
<target name="WarningLogger" xsi:type="MethodCall" className="VECTO.F_MAINForm, VECTO" methodName="LogMethod"> <target name="WarningLogger" xsi:type="MethodCall" className="TUGraz.VECTO.MainForm, VECTO" methodName="LogMethod">
<parameter layout="${level}" /> <parameter layout="${level}" />
<parameter layout="${message}" /> <parameter layout="${message}" />
</target> </target>
......
...@@ -112,7 +112,9 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl ...@@ -112,7 +112,9 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
var i = 0; var i = 0;
var modDataFilter = ModalResults1Hz var modDataFilter = ModalResults1Hz
? new IModalDataFilter[] { new ModalDataContainer.ModalData1HzFilter() } ? new IModalDataFilter[] { new ModalDataContainer.ModalData1HzFilter() }
: new IModalDataFilter[0]; : null;
var warning1Hz = false;
foreach (var data in DataReader.NextRun()) { foreach (var data in DataReader.NextRun()) {
var d = data; var d = data;
...@@ -121,11 +123,15 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl ...@@ -121,11 +123,15 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
d.Report.AddResult(d.Loading, d.Mission, writer); d.Report.AddResult(d.Loading, d.Mission, writer);
} }
}; };
if (!data.Cycle.CycleType.IsDistanceBased() && ModalResults1Hz && !warning1Hz) {
Log.Error("Output filter for 1Hz results is only available for distance-based cycles!");
warning1Hz = true;
}
IModalDataContainer modContainer = IModalDataContainer modContainer =
new ModalDataContainer(data, ModWriter, new ModalDataContainer(data, ModWriter,
addReportResult: _mode == ExecutionMode.Declaration ? addReportResult : null, addReportResult: _mode == ExecutionMode.Declaration ? addReportResult : null,
writeEngineOnly: _engineOnlyMode, writeEngineOnly: _engineOnlyMode,
filter: modDataFilter) { filter: data.Cycle.CycleType.IsDistanceBased() ? modDataFilter : null) {
WriteAdvancedAux = data.AdvancedAux != null && data.AdvancedAux.AuxiliaryAssembly == AuxiliaryModel.Advanced, WriteAdvancedAux = data.AdvancedAux != null && data.AdvancedAux.AuxiliaryAssembly == AuxiliaryModel.Advanced,
WriteModalResults = _mode != ExecutionMode.Declaration || WriteModalResults WriteModalResults = _mode != ExecutionMode.Declaration || WriteModalResults
}; };
...@@ -146,6 +152,8 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl ...@@ -146,6 +152,8 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
case CycleType.MeasuredSpeedGear: case CycleType.MeasuredSpeedGear:
run = new TimeRun(builder.Build(data)); run = new TimeRun(builder.Build(data));
break; break;
case CycleType.PTO:
throw new VectoException("PTO Cycle can not be used as main cycle!");
default: default:
throw new ArgumentOutOfRangeException("CycleType unknown:" + data.Cycle.CycleType); throw new ArgumentOutOfRangeException("CycleType unknown:" + data.Cycle.CycleType);
} }
......
...@@ -46,6 +46,14 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data ...@@ -46,6 +46,14 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
PTO PTO
} }
public static class CycleTypeHelper
{
public static bool IsDistanceBased(this CycleType type)
{
return type == CycleType.DistanceBased;
}
}
public class DrivingCycleData : SimulationComponentData public class DrivingCycleData : SimulationComponentData
{ {
internal DrivingCycleData() {} internal DrivingCycleData() {}
......
...@@ -80,7 +80,7 @@ namespace TUGraz.VectoCore.OutputData ...@@ -80,7 +80,7 @@ namespace TUGraz.VectoCore.OutputData
_writer = writer; _writer = writer;
_writeEngineOnly = writeEngineOnly; _writeEngineOnly = writeEngineOnly;
_filters = filters; _filters = filters ?? new IModalDataFilter[0];
_addReportResult = addReportResult ?? (x => { }); _addReportResult = addReportResult ?? (x => { });
Data = new ModalResults(); Data = new ModalResults();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment