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 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
Me.ShowInFolderToolStripMenuItem.Size = New System.Drawing.Size(198, 22)
Me.ShowInFolderToolStripMenuItem.Text = "Show in Folder"
'
'F_MAINForm
'MainForm
'
Me.AcceptButton = Me.btStartV3
Me.ClientSize = New System.Drawing.Size(1045, 670)
......
......@@ -451,7 +451,7 @@ Public Class VectoJobForm
Dim sb As ICycleData
For Each sb In vectoJob.Cycles
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)
Next
......@@ -1006,7 +1006,6 @@ lbDlog:
Public Sub UpdatePic()
TbHVCclass.Text = ""
TbVehCat.Text = ""
TbMass.Text = ""
......@@ -1119,8 +1118,8 @@ lbDlog:
If gear.ShiftPolygon Is Nothing OrElse gear.ShiftPolygon.Rows.Count = 0 Then Continue For
Dim shiftPolygon As ShiftPolygon = ShiftPolygonReader.Create(gear.ShiftPolygon)
s = New Series
s.Points.DataBindXY(shiftPolygon.Upshift.Select(Function(x) x.AngularSpeed),
shiftPolygon.Upshift.Select(Function(x) x.Torque))
s.Points.DataBindXY(shiftPolygon.Upshift.Select(Function(x) x.AngularSpeed.AsRPM).ToArray(),
shiftPolygon.Upshift.Select(Function(x) x.Torque.Value()).ToArray())
s.ChartType = SeriesChartType.FastLine
s.BorderWidth = 2
s.Color = Color.DarkRed
......@@ -1128,8 +1127,8 @@ lbDlog:
' MyChart.Series.Add(s) 'MQ 2016-06-20: do not plot shift lines in engine dialog
s = New Series
s.Points.DataBindXY(shiftPolygon.Downshift.Select(Function(x) x.AngularSpeed),
shiftPolygon.Downshift.Select(Function(x) x.Torque))
s.Points.DataBindXY(shiftPolygon.Downshift.Select(Function(x) x.AngularSpeed.AsRPM).ToArray(),
shiftPolygon.Downshift.Select(Function(x) x.Torque.Value()).ToArray())
s.ChartType = SeriesChartType.FastLine
s.BorderWidth = 2
s.Color = Color.DarkRed
......@@ -1194,7 +1193,8 @@ lbDlog:
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)
......
......@@ -12,7 +12,7 @@
internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
<targets async="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="${message}" />
</target>
......
......@@ -112,7 +112,9 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
var i = 0;
var modDataFilter = ModalResults1Hz
? new IModalDataFilter[] { new ModalDataContainer.ModalData1HzFilter() }
: new IModalDataFilter[0];
: null;
var warning1Hz = false;
foreach (var data in DataReader.NextRun()) {
var d = data;
......@@ -121,14 +123,18 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
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 =
new ModalDataContainer(data, ModWriter,
addReportResult: _mode == ExecutionMode.Declaration ? addReportResult : null,
writeEngineOnly: _engineOnlyMode,
filter: modDataFilter) {
WriteAdvancedAux = data.AdvancedAux != null && data.AdvancedAux.AuxiliaryAssembly == AuxiliaryModel.Advanced,
WriteModalResults = _mode != ExecutionMode.Declaration || WriteModalResults
};
filter: data.Cycle.CycleType.IsDistanceBased() ? modDataFilter : null) {
WriteAdvancedAux = data.AdvancedAux != null && data.AdvancedAux.AuxiliaryAssembly == AuxiliaryModel.Advanced,
WriteModalResults = _mode != ExecutionMode.Declaration || WriteModalResults
};
var current = i++;
var builder = new PowertrainBuilder(modContainer, (writer, mass, loading) =>
SumData.Write(modContainer, d.JobName, string.Format("{0}-{1}", JobNumber, current),
......@@ -146,6 +152,8 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
case CycleType.MeasuredSpeedGear:
run = new TimeRun(builder.Build(data));
break;
case CycleType.PTO:
throw new VectoException("PTO Cycle can not be used as main cycle!");
default:
throw new ArgumentOutOfRangeException("CycleType unknown:" + data.Cycle.CycleType);
}
......
......@@ -46,6 +46,14 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
PTO
}
public static class CycleTypeHelper
{
public static bool IsDistanceBased(this CycleType type)
{
return type == CycleType.DistanceBased;
}
}
public class DrivingCycleData : SimulationComponentData
{
internal DrivingCycleData() {}
......
......@@ -80,7 +80,7 @@ namespace TUGraz.VectoCore.OutputData
_writer = writer;
_writeEngineOnly = writeEngineOnly;
_filters = filters;
_filters = filters ?? new IModalDataFilter[0];
_addReportResult = addReportResult ?? (x => { });
Data = new ModalResults();
......
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