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

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

Merge pull request #262 in VECTO/vecto-sim from...

Merge pull request #262 in VECTO/vecto-sim from ~EMQUARIMA/vecto-sim:feature/VECTO-343-disable-1hz-output-for-time-based to develop

* commit '6360a47b':
  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
  adding missing file
parents 7715ace2 6360a47b
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>
......
namespace TUGraz.VectoCommon.InputData
{
public enum DataSourceType
{
Embedded,
CSVFile,
JSONFile,
}
}
\ No newline at end of file
......@@ -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