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

add flag to skip validation of run data

parent b3c5de3b
No related branches found
No related tags found
No related merge requests found
......@@ -115,6 +115,8 @@ Partial Class MainForm
Me.OpenInGraphWindowToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ShowInFolderToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
Me.cbValidateRunData = New System.Windows.Forms.CheckBox()
Me.GroupBox3 = New System.Windows.Forms.GroupBox()
Me.StatusBAR.SuspendLayout()
Me.TabControl1.SuspendLayout()
Me.TabPageGEN.SuspendLayout()
......@@ -131,6 +133,7 @@ Partial Class MainForm
Me.SplitContainer1.SuspendLayout()
Me.ToolStrip1.SuspendLayout()
Me.CmOpenFile.SuspendLayout()
Me.GroupBox3.SuspendLayout()
Me.SuspendLayout()
'
'StatusBAR
......@@ -373,6 +376,7 @@ Partial Class MainForm
'
'PanelOptAllg
'
Me.PanelOptAllg.Controls.Add(Me.GroupBox3)
Me.PanelOptAllg.Controls.Add(Me.GroupBox2)
Me.PanelOptAllg.Controls.Add(Me.GroupBox1)
Me.PanelOptAllg.Location = New System.Drawing.Point(6, 6)
......@@ -384,12 +388,12 @@ Partial Class MainForm
'
Me.GroupBox2.Controls.Add(Me.ChBoxModOut)
Me.GroupBox2.Controls.Add(Me.ChBoxMod1Hz)
Me.GroupBox2.Location = New System.Drawing.Point(9, 81)
Me.GroupBox2.Location = New System.Drawing.Point(3, 82)
Me.GroupBox2.Name = "GroupBox2"
Me.GroupBox2.Size = New System.Drawing.Size(167, 89)
Me.GroupBox2.Size = New System.Drawing.Size(173, 89)
Me.GroupBox2.TabIndex = 16
Me.GroupBox2.TabStop = False
Me.GroupBox2.Text = "Mode"
Me.GroupBox2.Text = "Output"
'
'ChBoxModOut
'
......@@ -797,6 +801,28 @@ Partial Class MainForm
Me.ShowInFolderToolStripMenuItem.Size = New System.Drawing.Size(173, 22)
Me.ShowInFolderToolStripMenuItem.Text = "Show in Folder"
'
'cbValidateRunData
'
Me.cbValidateRunData.AutoSize = True
Me.cbValidateRunData.Checked = True
Me.cbValidateRunData.CheckState = System.Windows.Forms.CheckState.Checked
Me.cbValidateRunData.Location = New System.Drawing.Point(6, 19)
Me.cbValidateRunData.Name = "cbValidateRunData"
Me.cbValidateRunData.Size = New System.Drawing.Size(90, 17)
Me.cbValidateRunData.TabIndex = 17
Me.cbValidateRunData.Text = "Validate Data"
Me.cbValidateRunData.UseVisualStyleBackColor = True
'
'GroupBox3
'
Me.GroupBox3.Controls.Add(Me.cbValidateRunData)
Me.GroupBox3.Location = New System.Drawing.Point(3, 177)
Me.GroupBox3.Name = "GroupBox3"
Me.GroupBox3.Size = New System.Drawing.Size(173, 64)
Me.GroupBox3.TabIndex = 18
Me.GroupBox3.TabStop = False
Me.GroupBox3.Text = "Misc"
'
'MainForm
'
Me.AcceptButton = Me.btStartV3
......@@ -833,6 +859,8 @@ Partial Class MainForm
Me.ToolStrip1.ResumeLayout(False)
Me.ToolStrip1.PerformLayout()
Me.CmOpenFile.ResumeLayout(False)
Me.GroupBox3.ResumeLayout(False)
Me.GroupBox3.PerformLayout()
Me.ResumeLayout(False)
Me.PerformLayout()
......@@ -925,5 +953,7 @@ Partial Class MainForm
Friend WithEvents btnExportXML As System.Windows.Forms.Button
Friend WithEvents btnImportXML As System.Windows.Forms.Button
Friend WithEvents ShowInFolderMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents GroupBox3 As System.Windows.Forms.GroupBox
Friend WithEvents cbValidateRunData As System.Windows.Forms.CheckBox
End Class
......@@ -1022,6 +1022,7 @@ lbFound:
Dim runsFactory As SimulatorFactory = New SimulatorFactory(mode, input, fileWriter)
runsFactory.WriteModalResults = Cfg.ModOut
runsFactory.ModalResults1Hz = Cfg.Mod1Hz
runsFactory.Validate = cbValidateRunData.Checked
For Each runId As Integer In jobContainer.AddRuns(runsFactory)
fileWriters.Add(runId, fileWriter)
......
......@@ -80,6 +80,7 @@ Description:
-1Hz: convert mod-data to 1Hz resolution
-eng: switch to engineering mode (implies -mod)
-q: quiet - disables console output unless verbose information is enabled
-nv: skip validation of internal data structure before simulation
-v: Shows verbose information (errors and warnings will be displayed)
-vv: Shows more verbose information (infos will be displayed)
-vvv: Shows debug messages (slow!)
......@@ -156,7 +157,8 @@ Examples:
}
var fileList =
args.Except(new[] { "-v", "-vv", "-vvv", "-vvvv", "-V", "-mod", "-eng", "-t", "-1Hz", "-q", "-act" }).ToArray();
args.Except(new[] { "-v", "-vv", "-vvv", "-vvvv", "-V", "-nv", "-mod", "-eng", "-t", "-1Hz", "-q", "-act" })
.ToArray();
var jobFiles =
fileList.Where(
f =>
......@@ -222,7 +224,8 @@ Examples:
var runsFactory = new SimulatorFactory(mode, dataProvider, fileWriter) {
ModalResults1Hz = args.Contains("-1Hz"),
WriteModalResults = args.Contains("-mod"),
ActualModalData = args.Contains("-act")
ActualModalData = args.Contains("-act"),
Validate = args.Contains("-nv"),
};
_jobContainer.AddRuns(runsFactory);
......
......@@ -57,12 +57,13 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
private readonly bool _engineOnlyMode;
public SimulatorFactory(ExecutionMode mode, IInputDataProvider dataProvider, IOutputDataWriter writer,
IDeclarationReport declarationReport = null)
IDeclarationReport declarationReport = null, bool validate = true)
{
Log.Info("########## VectoCore Version {0} ##########", Assembly.GetExecutingAssembly().GetName().Version);
JobNumber = Interlocked.Increment(ref _jobNumberCounter);
_mode = mode;
ModWriter = writer;
Validate = validate;
int workerThreads;
int completionThreads;
......@@ -98,6 +99,8 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
}
}
public bool Validate { get; set; }
public IVectoRunDataFactory DataReader { get; private set; }
public SummaryDataContainer SumData { get; set; }
......@@ -177,13 +180,14 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
throw new ArgumentOutOfRangeException("CycleType unknown:" + data.Cycle.CycleType);
}
var validationErrors = run.Validate(_mode, data.GearboxData == null ? (GearboxType?)null : data.GearboxData.Type,
data.Mission != null && data.Mission.MissionType.IsEMS());
if (validationErrors.Any()) {
throw new VectoException("Validation of Run-Data Failed: " +
string.Join("\n", validationErrors.Select(r => r.ErrorMessage + string.Join("; ", r.MemberNames))));
if (Validate) {
var validationErrors = run.Validate(_mode, data.GearboxData == null ? (GearboxType?)null : data.GearboxData.Type,
data.Mission != null && data.Mission.MissionType.IsEMS());
if (validationErrors.Any()) {
throw new VectoException("Validation of Run-Data Failed: " +
string.Join("\n", validationErrors.Select(r => r.ErrorMessage + string.Join("; ", r.MemberNames))));
}
}
yield return run;
}
}
......
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