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 ...@@ -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>
......
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 ...@@ -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,14 +123,18 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl ...@@ -121,14 +123,18 @@ 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
}; };
var current = i++; var current = i++;
var builder = new PowertrainBuilder(modContainer, (writer, mass, loading) => var builder = new PowertrainBuilder(modContainer, (writer, mass, loading) =>
SumData.Write(modContainer, d.JobName, string.Format("{0}-{1}", JobNumber, current), SumData.Write(modContainer, d.JobName, string.Format("{0}-{1}", JobNumber, current),
...@@ -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.
Finish editing this message first!
Please register or to comment