diff --git a/VECTO/GUI/VectoVTPJobForm.Designer.vb b/VECTO/GUI/VectoVTPJobForm.Designer.vb index 1ed6e984eafd997f9eadac8fa23b86016b5d578a..68fdf8037eca39d7fce9de4120e0ae9b58b79b8c 100644 --- a/VECTO/GUI/VectoVTPJobForm.Designer.vb +++ b/VECTO/GUI/VectoVTPJobForm.Designer.vb @@ -98,6 +98,13 @@ Partial Class VectoVTPJobForm Me._ncvFuel1Txtbox = New System.Windows.Forms.TextBox() Me._ncvFuel2Lbl = New System.Windows.Forms.Label() Me._ncvFuel1Lbl = New System.Windows.Forms.Label() + Me._wheelTorqueDriftGrpbox = New System.Windows.Forms.GroupBox() + Me._tqDriftLeftUnitsLbl = New System.Windows.Forms.Label() + Me._tqDriftRightTextbox = New System.Windows.Forms.TextBox() + Me._tqDriftLeftTextbox = New System.Windows.Forms.TextBox() + Me._tqDriftRightLbl = New System.Windows.Forms.Label() + Me._tqDriftLeftLbl = New System.Windows.Forms.Label() + Me._tqdriftRightUnitsLbl = New System.Windows.Forms.Label() Me.GrCycles.SuspendLayout() Me.GrAux.SuspendLayout() Me.StatusStrip1.SuspendLayout() @@ -111,6 +118,7 @@ Partial Class VectoVTPJobForm Me.pnFanParameters.SuspendLayout() Me.pnManufacturerRecord.SuspendLayout() Me._ncvGrpBox.SuspendLayout() + Me._wheelTorqueDriftGrpbox.SuspendLayout() Me.SuspendLayout() ' 'GrCycles @@ -280,7 +288,7 @@ Partial Class VectoVTPJobForm ' Me.StatusStrip1.ImageScalingSize = New System.Drawing.Size(20, 20) Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripStatusLabelGEN}) - Me.StatusStrip1.Location = New System.Drawing.Point(0, 783) + Me.StatusStrip1.Location = New System.Drawing.Point(0, 803) Me.StatusStrip1.Name = "StatusStrip1" Me.StatusStrip1.Padding = New System.Windows.Forms.Padding(1, 0, 19, 0) Me.StatusStrip1.Size = New System.Drawing.Size(1259, 26) @@ -297,7 +305,7 @@ Partial Class VectoVTPJobForm 'ButOK ' Me.ButOK.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.ButOK.Location = New System.Drawing.Point(1037, 748) + Me.ButOK.Location = New System.Drawing.Point(1037, 768) Me.ButOK.Margin = New System.Windows.Forms.Padding(4) Me.ButOK.Name = "ButOK" Me.ButOK.Size = New System.Drawing.Size(100, 28) @@ -309,7 +317,7 @@ Partial Class VectoVTPJobForm ' Me.ButCancel.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.ButCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel - Me.ButCancel.Location = New System.Drawing.Point(1145, 748) + Me.ButCancel.Location = New System.Drawing.Point(1145, 768) Me.ButCancel.Margin = New System.Windows.Forms.Padding(4) Me.ButCancel.Name = "ButCancel" Me.ButCancel.Size = New System.Drawing.Size(100, 28) @@ -324,7 +332,7 @@ Partial Class VectoVTPJobForm Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripBtNew, Me.ToolStripBtOpen, Me.ToolStripBtSave, Me.ToolStripBtSaveAs, Me.ToolStripSeparator1, Me.ToolStripBtSendTo, Me.ToolStripSeparator2, Me.ToolStripButton1}) Me.ToolStrip1.Location = New System.Drawing.Point(0, 0) Me.ToolStrip1.Name = "ToolStrip1" - Me.ToolStrip1.Size = New System.Drawing.Size(1259, 27) + Me.ToolStrip1.Size = New System.Drawing.Size(1259, 31) Me.ToolStrip1.TabIndex = 20 Me.ToolStrip1.Text = "ToolStrip1" ' @@ -767,9 +775,9 @@ Partial Class VectoVTPJobForm Me._ncvGrpBox.Controls.Add(Me._ncvFuel1Txtbox) Me._ncvGrpBox.Controls.Add(Me._ncvFuel2Lbl) Me._ncvGrpBox.Controls.Add(Me._ncvFuel1Lbl) - Me._ncvGrpBox.Location = New System.Drawing.Point(723, 668) + Me._ncvGrpBox.Location = New System.Drawing.Point(723, 670) Me._ncvGrpBox.Name = "_ncvGrpBox" - Me._ncvGrpBox.Size = New System.Drawing.Size(270, 97) + Me._ncvGrpBox.Size = New System.Drawing.Size(270, 90) Me._ncvGrpBox.TabIndex = 42 Me._ncvGrpBox.TabStop = False Me._ncvGrpBox.Text = "Net Calorific Values" @@ -777,7 +785,7 @@ Partial Class VectoVTPJobForm '_ncvFuel2UnitLbl ' Me._ncvFuel2UnitLbl.AutoSize = True - Me._ncvFuel2UnitLbl.Location = New System.Drawing.Point(205, 65) + Me._ncvFuel2UnitLbl.Location = New System.Drawing.Point(203, 60) Me._ncvFuel2UnitLbl.Name = "_ncvFuel2UnitLbl" Me._ncvFuel2UnitLbl.Size = New System.Drawing.Size(52, 16) Me._ncvFuel2UnitLbl.TabIndex = 5 @@ -786,7 +794,7 @@ Partial Class VectoVTPJobForm '_ncvFuel1UnitLbl ' Me._ncvFuel1UnitLbl.AutoSize = True - Me._ncvFuel1UnitLbl.Location = New System.Drawing.Point(205, 34) + Me._ncvFuel1UnitLbl.Location = New System.Drawing.Point(203, 28) Me._ncvFuel1UnitLbl.Name = "_ncvFuel1UnitLbl" Me._ncvFuel1UnitLbl.Size = New System.Drawing.Size(52, 16) Me._ncvFuel1UnitLbl.TabIndex = 4 @@ -794,14 +802,14 @@ Partial Class VectoVTPJobForm ' '_ncvFuel2Txtbox ' - Me._ncvFuel2Txtbox.Location = New System.Drawing.Point(93, 62) + Me._ncvFuel2Txtbox.Location = New System.Drawing.Point(93, 57) Me._ncvFuel2Txtbox.Name = "_ncvFuel2Txtbox" Me._ncvFuel2Txtbox.Size = New System.Drawing.Size(100, 22) Me._ncvFuel2Txtbox.TabIndex = 3 ' '_ncvFuel1Txtbox ' - Me._ncvFuel1Txtbox.Location = New System.Drawing.Point(93, 31) + Me._ncvFuel1Txtbox.Location = New System.Drawing.Point(93, 25) Me._ncvFuel1Txtbox.Name = "_ncvFuel1Txtbox" Me._ncvFuel1Txtbox.Size = New System.Drawing.Size(100, 22) Me._ncvFuel1Txtbox.TabIndex = 2 @@ -809,7 +817,7 @@ Partial Class VectoVTPJobForm '_ncvFuel2Lbl ' Me._ncvFuel2Lbl.AutoSize = True - Me._ncvFuel2Lbl.Location = New System.Drawing.Point(18, 65) + Me._ncvFuel2Lbl.Location = New System.Drawing.Point(18, 60) Me._ncvFuel2Lbl.Name = "_ncvFuel2Lbl" Me._ncvFuel2Lbl.Size = New System.Drawing.Size(71, 16) Me._ncvFuel2Lbl.TabIndex = 1 @@ -818,19 +826,85 @@ Partial Class VectoVTPJobForm '_ncvFuel1Lbl ' Me._ncvFuel1Lbl.AutoSize = True - Me._ncvFuel1Lbl.Location = New System.Drawing.Point(18, 34) + Me._ncvFuel1Lbl.Location = New System.Drawing.Point(18, 28) Me._ncvFuel1Lbl.Name = "_ncvFuel1Lbl" Me._ncvFuel1Lbl.Size = New System.Drawing.Size(71, 16) Me._ncvFuel1Lbl.TabIndex = 0 Me._ncvFuel1Lbl.Text = "<fuel type>" ' + '_wheelTorqueDriftGrpbox + ' + Me._wheelTorqueDriftGrpbox.Controls.Add(Me._tqdriftRightUnitsLbl) + Me._wheelTorqueDriftGrpbox.Controls.Add(Me._tqDriftLeftUnitsLbl) + Me._wheelTorqueDriftGrpbox.Controls.Add(Me._tqDriftRightTextbox) + Me._wheelTorqueDriftGrpbox.Controls.Add(Me._tqDriftLeftTextbox) + Me._wheelTorqueDriftGrpbox.Controls.Add(Me._tqDriftRightLbl) + Me._wheelTorqueDriftGrpbox.Controls.Add(Me._tqDriftLeftLbl) + Me._wheelTorqueDriftGrpbox.Location = New System.Drawing.Point(1011, 670) + Me._wheelTorqueDriftGrpbox.Name = "_wheelTorqueDriftGrpbox" + Me._wheelTorqueDriftGrpbox.Size = New System.Drawing.Size(230, 90) + Me._wheelTorqueDriftGrpbox.TabIndex = 43 + Me._wheelTorqueDriftGrpbox.TabStop = False + Me._wheelTorqueDriftGrpbox.Text = "Wheel Torque Drift" + ' + '_tqDriftLeftUnitsLbl + ' + Me._tqDriftLeftUnitsLbl.AutoSize = True + Me._tqDriftLeftUnitsLbl.Location = New System.Drawing.Point(180, 28) + Me._tqDriftLeftUnitsLbl.Name = "_tqDriftLeftUnitsLbl" + Me._tqDriftLeftUnitsLbl.Size = New System.Drawing.Size(36, 16) + Me._tqDriftLeftUnitsLbl.TabIndex = 4 + Me._tqDriftLeftUnitsLbl.Text = "[Nm]" + ' + '_tqDriftRightTextbox + ' + Me._tqDriftRightTextbox.Location = New System.Drawing.Point(70, 57) + Me._tqDriftRightTextbox.Name = "_tqDriftRightTextbox" + Me._tqDriftRightTextbox.Size = New System.Drawing.Size(100, 22) + Me._tqDriftRightTextbox.TabIndex = 3 + ' + '_tqDriftLeftTextbox + ' + Me._tqDriftLeftTextbox.Location = New System.Drawing.Point(70, 25) + Me._tqDriftLeftTextbox.Name = "_tqDriftLeftTextbox" + Me._tqDriftLeftTextbox.Size = New System.Drawing.Size(100, 22) + Me._tqDriftLeftTextbox.TabIndex = 2 + ' + '_tqDriftRightLbl + ' + Me._tqDriftRightLbl.AutoSize = True + Me._tqDriftRightLbl.Location = New System.Drawing.Point(18, 60) + Me._tqDriftRightLbl.Name = "_tqDriftRightLbl" + Me._tqDriftRightLbl.Size = New System.Drawing.Size(38, 16) + Me._tqDriftRightLbl.TabIndex = 1 + Me._tqDriftRightLbl.Text = "Right" + ' + '_tqDriftLeftLbl + ' + Me._tqDriftLeftLbl.AutoSize = True + Me._tqDriftLeftLbl.Location = New System.Drawing.Point(18, 28) + Me._tqDriftLeftLbl.Name = "_tqDriftLeftLbl" + Me._tqDriftLeftLbl.Size = New System.Drawing.Size(28, 16) + Me._tqDriftLeftLbl.TabIndex = 0 + Me._tqDriftLeftLbl.Text = "Left" + ' + '_tqdriftRightUnitsLbl + ' + Me._tqdriftRightUnitsLbl.AutoSize = True + Me._tqdriftRightUnitsLbl.Location = New System.Drawing.Point(180, 60) + Me._tqdriftRightUnitsLbl.Name = "_tqdriftRightUnitsLbl" + Me._tqdriftRightUnitsLbl.Size = New System.Drawing.Size(36, 16) + Me._tqdriftRightUnitsLbl.TabIndex = 5 + Me._tqdriftRightUnitsLbl.Text = "[Nm]" + ' 'VectoVTPJobForm ' Me.AcceptButton = Me.ButOK Me.AutoScaleDimensions = New System.Drawing.SizeF(8.0!, 16.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.CancelButton = Me.ButCancel - Me.ClientSize = New System.Drawing.Size(1259, 809) + Me.ClientSize = New System.Drawing.Size(1259, 829) + Me.Controls.Add(Me._wheelTorqueDriftGrpbox) Me.Controls.Add(Me._ncvGrpBox) Me.Controls.Add(Me.pnManufacturerRecord) Me.Controls.Add(Me.Label5) @@ -880,6 +954,8 @@ Partial Class VectoVTPJobForm Me.pnManufacturerRecord.PerformLayout() Me._ncvGrpBox.ResumeLayout(False) Me._ncvGrpBox.PerformLayout() + Me._wheelTorqueDriftGrpbox.ResumeLayout(False) + Me._wheelTorqueDriftGrpbox.PerformLayout() Me.ResumeLayout(False) Me.PerformLayout @@ -955,4 +1031,11 @@ End Sub Friend WithEvents _ncvFuel2Txtbox As TextBox Friend WithEvents _ncvFuel1Txtbox As TextBox Friend WithEvents _ncvFuel2UnitLbl As Label + Friend WithEvents _wheelTorqueDriftGrpbox As GroupBox + Friend WithEvents _tqDriftLeftLbl As Label + Friend WithEvents _tqDriftLeftUnitsLbl As Label + Friend WithEvents _tqDriftRightTextbox As TextBox + Friend WithEvents _tqDriftLeftTextbox As TextBox + Friend WithEvents _tqDriftRightLbl As Label + Friend WithEvents _tqdriftRightUnitsLbl As Label End Class diff --git a/VECTO/GUI/VectoVTPJobForm.resx b/VECTO/GUI/VectoVTPJobForm.resx index eaeb295425ee0e1204395f7683360d33bdb72f6e..ea7c990646d7a66b2863af762d61152605f9f018 100644 --- a/VECTO/GUI/VectoVTPJobForm.resx +++ b/VECTO/GUI/VectoVTPJobForm.resx @@ -151,7 +151,7 @@ <data name="PictureBox2.InitialImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> iVBORw0KGgoAAAANSUhEUgAAApMAAACBCAYAAACclzFEAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - vQAADr0BR/uQrQAAIcpJREFUeF7tnY2167xxRVNCakgJqcElpAaXkB5SgmtwCV8NLsE1uARnH5ojj0ag + vAAADrwBlbxySQAAIcpJREFUeF7tnY2167xxRVNCakgJqcElpAaXkB5SgmtwCV8NLsE1uARnH5ojj0ag REok+HfOWvs9XZAiKYgABjMD6j/++c9/GmOMMacB/Tf8Bf4G/4C/wx/w59b+xphtaRYaY4wxRwT9FWRA /hn+cyz7L5BxqT+07U/1fcaY7WgWGmOMMUdjNBjlhRyMyMZ2eSf1Qvx3ax9jzPo0C40xxpgjgeR91IvJ UDb607iP+HtrH2PM+jQLjTHGmCOBFNYOQ/EvE/v8Z9pHND2Yxph1aRYaY4wxRwL9bzIS/2jtI9I+wsak diff --git a/VECTO/GUI/VectoVTPJobForm.vb b/VECTO/GUI/VectoVTPJobForm.vb index c451e5203e8bec81a92007c76538665e63fde341..31444796c858adc810e2fd7dcad50e01f3edb383 100644 --- a/VECTO/GUI/VectoVTPJobForm.vb +++ b/VECTO/GUI/VectoVTPJobForm.vb @@ -75,6 +75,8 @@ Public Class VectoVTPJobForm GrCycles.Enabled = True _changed = False + + HideGUIComponentsOfNCV() End Sub 'Close - Check for unsaved changes @@ -255,6 +257,8 @@ Public Class VectoVTPJobForm UpdatePic() + ReadWheelTorqueDriftsFromVectoJob() + '------------------------------------------------------------- End Sub @@ -314,6 +318,18 @@ Public Class VectoVTPJobForm ReadFuelNCVFromGUIComponents(_ncvFuel1Lbl, _ncvFuel1Txtbox, vectoJob) ReadFuelNCVFromGUIComponents(_ncvFuel2Lbl, _ncvFuel2Txtbox, vectoJob) + Dim torqueLeft As Double + If (Not Double.TryParse(_tqDriftLeftTextbox.Text, torqueLeft)) Then + Throw New Exception($"Torque Drift for left wheel has invalid value") + End If + vectoJob.TorqueDriftLeftWheel = torqueLeft.SI(Of NewtonMeter) + + Dim torqueRight As Double + If (Not Double.TryParse(_tqDriftRightTextbox.Text, torqueRight)) Then + Throw New Exception($"Torque Drift for right wheel has invalid value") + End If + vectoJob.TorqueDriftRightWheel = torqueRight.SI(Of NewtonMeter) + 'SAVE If Not vectoJob.SaveFile Then MsgBox("Cannot safe to " & file, MsgBoxStyle.Critical) @@ -401,13 +417,30 @@ Public Class VectoVTPJobForm Change() End Sub - Private Sub UpdateNCVs() + Private Sub ReadWheelTorqueDriftsFromVectoJob() + Dim leftInput As NewtonMeter = _vectoJob.TorqueDriftLeftWheel + Dim rightInput As NewtonMeter = _vectoJob.TorqueDriftRightWheel + + If (Not (leftInput Is Nothing)) Then + _tqDriftLeftTextbox.Text = leftInput.Value.ToString() + End If + + If (Not (rightInput Is Nothing)) Then + _tqDriftRightTextbox.Text = rightInput.Value.ToString() + End If + End Sub + + Private Sub HideGUIComponentsOfNCV() _ncvFuel1Lbl.Visible = False _ncvFuel1Txtbox.Visible = False _ncvFuel1UnitLbl.Visible = False _ncvFuel2Lbl.Visible = False _ncvFuel2Txtbox.Visible = False _ncvFuel2UnitLbl.Visible = False + End Sub + + Private Sub UpdateNCVs() + HideGUIComponentsOfNCV() Dim vehicleFile As String = If _ @@ -853,9 +886,6 @@ Public Class VectoVTPJobForm End If End Sub - Private Sub Label13_Click(sender As Object, e As EventArgs) Handles _ncvFuel1Lbl.Click - - End Sub End Class diff --git a/VECTO/Input Files/VectoEPTPJob.vb b/VECTO/Input Files/VectoEPTPJob.vb index 3b7b863a844e73751d61543438d6c9b8bf2c7991..ebf5c4b553638cf6f396498b33ed761dfa69d84e 100644 --- a/VECTO/Input Files/VectoEPTPJob.vb +++ b/VECTO/Input Files/VectoEPTPJob.vb @@ -176,7 +176,9 @@ Public Class VectoVTPJob End Get End Property + Public Property TorqueDriftLeftWheel As NewtonMeter Implements IVTPEngineeringJobInputData.TorqueDriftLeftWheel + Public Property TorqueDriftRightWheel As NewtonMeter Implements IVTPEngineeringJobInputData.TorqueDriftRightWheel Public ReadOnly Property FanPowerCoefficents As IEnumerable(Of Double) _ Implements IVTPEngineeringJobInputData.FanPowerCoefficents diff --git a/VectoCommon/VectoCommon/InputData/VTPDeclarationInputData.cs b/VectoCommon/VectoCommon/InputData/VTPDeclarationInputData.cs index 6a1bb68370ec22dfc3812850b36911d7a5ec7952..5216d2ceeaabdd91673e50099957898017de2315 100644 --- a/VectoCommon/VectoCommon/InputData/VTPDeclarationInputData.cs +++ b/VectoCommon/VectoCommon/InputData/VTPDeclarationInputData.cs @@ -64,6 +64,10 @@ namespace TUGraz.VectoCommon.InputData Meter FanDiameter { get; } IList<IFuelNCVData> FuelNCVs { get; } + + NewtonMeter TorqueDriftLeftWheel { get; } + + NewtonMeter TorqueDriftRightWheel { get; } } public interface IManufacturerReport diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs index 4b9bde69ace260e4b5bb59c37d6c92231987a8a9..7b768e7acef8eebad00a5367bc82cf0daaa520ce 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONInputData.cs @@ -914,9 +914,30 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON } } - #region Implementation of IVTPDeclarationInputDataProvider + public NewtonMeter TorqueDriftLeftWheel + { + get + { + return (Body.SelectToken(JsonKeys.Job_TorqueDriftLeftWheel) != null) + ? Body.GetEx<double>(JsonKeys.Job_TorqueDriftLeftWheel).SI<NewtonMeter>() + : null; + } + } + + public NewtonMeter TorqueDriftRightWheel + { + get + { + return (Body.SelectToken(JsonKeys.Job_TorqueDriftRightWheel) != null) + ? Body.GetEx<double>(JsonKeys.Job_TorqueDriftRightWheel).SI<NewtonMeter>() + : null; + } + } + + + #region Implementation of IVTPDeclarationInputDataProvider - IVTPDeclarationJobInputData IVTPDeclarationInputDataProvider.JobInputData + IVTPDeclarationJobInputData IVTPDeclarationInputDataProvider.JobInputData { get { return JobInputData; } } diff --git a/VectoCore/VectoCore/JsonKeys.Designer.cs b/VectoCore/VectoCore/JsonKeys.Designer.cs index f302f26313b6e8ef5fc99790046d17c17db40ea4..06328c6a4b5b707b3e49b4b71eac77262e0be744 100644 --- a/VectoCore/VectoCore/JsonKeys.Designer.cs +++ b/VectoCore/VectoCore/JsonKeys.Designer.cs @@ -519,6 +519,24 @@ namespace TUGraz.VectoCore { } } + /// <summary> + /// Looks up a localized string similar to TorqueDriftLeftWheel. + /// </summary> + internal static string Job_TorqueDriftLeftWheel { + get { + return ResourceManager.GetString("Job_TorqueDriftLeftWheel", resourceCulture); + } + } + + /// <summary> + /// Looks up a localized string similar to TorqueDriftRightWheel. + /// </summary> + internal static string Job_TorqueDriftRightWheel { + get { + return ResourceManager.GetString("Job_TorqueDriftRightWheel", resourceCulture); + } + } + /// <summary> /// Looks up a localized string similar to Body. /// </summary> diff --git a/VectoCore/VectoCore/JsonKeys.resx b/VectoCore/VectoCore/JsonKeys.resx index 0b70c04ec0ee4159d778c94e0c9975c835a2a6a9..a7a3d7df35a22ed9889d5cbe24eb7add91237e2a 100644 --- a/VectoCore/VectoCore/JsonKeys.resx +++ b/VectoCore/VectoCore/JsonKeys.resx @@ -384,4 +384,10 @@ <data name="Job_FuelNCV_Type" xml:space="preserve"> <value>Type</value> </data> + <data name="Job_TorqueDriftLeftWheel" xml:space="preserve"> + <value>TorqueDriftLeftWheel</value> + </data> + <data name="Job_TorqueDriftRightWheel" xml:space="preserve"> + <value>TorqueDriftRightWheel</value> + </data> </root> \ No newline at end of file diff --git a/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs b/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs index 87870289cdf7007fe02e52fb246ef4afa32687bc..1432975c68d9f2a78d653679be3863dd820fc8c5 100644 --- a/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs +++ b/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs @@ -620,6 +620,8 @@ public class JSONFileWriter : IOutputFileWriter body.Add("FanPowerCoefficients", job.FanPowerCoefficents); body.Add("FanDiameter", job.FanDiameter.Value()); body.Add(JsonKeys.Job_FuelNCVs, job.FuelNCVs.Select(x => new FuelNCVOutput() { Type = x.Type.GetLabel(), NCV = x.NCV }).ToArray()); + body.Add(JsonKeys.Job_TorqueDriftLeftWheel, job.TorqueDriftLeftWheel.Value()); + body.Add(JsonKeys.Job_TorqueDriftRightWheel, job.TorqueDriftRightWheel.Value()); body.Add( "Cycles", job.Cycles.Select(x => GetRelativePath(x.CycleData.Source, Path.GetDirectoryName(filename))).ToArray()); diff --git a/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/DualFuelVehicle/VTP_DualFuel.vecto b/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/DualFuelVehicle/VTP_DualFuel.vecto index 75742366dad5e4a4825dc45af0bd4dbe97dc57dd..706d19c7a6bc637fe0f06a1252881bec88d5319a 100644 --- a/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/DualFuelVehicle/VTP_DualFuel.vecto +++ b/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/DualFuelVehicle/VTP_DualFuel.vecto @@ -1,7 +1,7 @@ -{ +{ "Header": { "CreatedBy": "", - "Date": "2018-06-12T11:24:10.6066876Z", + "Date": "2022-09-09T14:41:31.5292729Z", "AppVersion": "3", "FileVersion": 4 }, @@ -11,21 +11,23 @@ "ManufacturerRecord": "vehicle_sampleSingleModeDualFuel.RSLT_MANUFACTURER.xml", "Mileage": 30000.0, "FanPowerCoefficients": [ - 0.0, - 1.0, - 1.0 + 7.32, + 1200.0, + 810.0 ], "FanDiameter": 0.3, - "FuelNCVs": [ - { - "Type": "Diesel CI", - "NCV": 12 - }, - { - "Type": "NG CI", - "NCV": 45 - } - ], + "FuelNCVs": [ + { + "Type": "Diesel CI", + "NCV": 12.0 + }, + { + "Type": "NG CI", + "NCV": 45.0 + } + ], + "TorqueDriftLeftWheel": 4.0, + "TorqueDriftRightWheel": 5.0, "Cycles": [ "vtp_cycle_2Hz.vdri" ]