diff --git a/CHANGES.md b/CHANGES.md index 44e7d3427cb2b3e07330ed72a9abf338a73a0dac..86f927333543b2dfff5089077c0eacde5ec64342 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,17 +2,22 @@ ### VECTO x.x (current source) + +### VECTO 2.0.4-beta1 +* Updated CSV format of some declaration config files +* Various bugfixes in AT model +* rdyn validation +* Fixed bug in map interpolation + ### VECTO 2.0.4-beta * AT update for 1C2C gearboxes * Warning when opening or running files if file was created in different mode (Declaration/Engineering Mode) - ### VECTO 2.0.3-beta0 * Implemented engine-side TC inertia input parameter in GBX file * Updated User Manual for TC inertia * Relabeled "OK" buttons to "Save" in input file editors - ### VECTO 2.0.2-beta2 * AT/TC Update * Various smaller fixes diff --git a/Declaration/PT1.csv b/Declaration/PT1.csv index b666b9ad8c769df203f6085881906bde14e1d4d5..24cc22da1382b33832e940314cad5cd591d8e2c0 100644 --- a/Declaration/PT1.csv +++ b/Declaration/PT1.csv @@ -1,4 +1,5 @@ -400,0 +rpm,PT1 +400,0 800,0.47 1000,0.58 1200,0.53 diff --git a/Declaration/Rims.csv b/Declaration/Rims.csv index 64094a386e04d3da8ed3c39c618bf36a56113b8b..d1a72c53eb3f747e7edb6e0a1e1370fa3112529d 100644 --- a/Declaration/Rims.csv +++ b/Declaration/Rims.csv @@ -1,4 +1,5 @@ -5° DC Rims,3.03,3.03 +rims,F(a),F(b) +5° DC Rims,3.03,3.03 15° DC Rims,3.03,3.05 Multipurpose – Radial,3,3 Multipurpose – Diagonal,2.94,2.94 diff --git a/Declaration/Wheels.csv b/Declaration/Wheels.csv index e8aabb9196fb060eef287ba2dd600787cc5968b9..3c01c43e64217d44b4aac1c60bed2d1e8be03cb6 100644 --- a/Declaration/Wheels.csv +++ b/Declaration/Wheels.csv @@ -1,4 +1,5 @@ -9 R 22.5,8.9,970,0 +Wheel,Inertia,d,Size-Class(0/1) +9 R 22.5,8.9,970,0 9.00 R 20,10.5,1018,0 9.5 R 17.5,4.9,842,0 10 R 17.5,5,858,0 diff --git a/Developer Guide/Segment Table Description.xlsx b/Developer Guide/Segment Table Description.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..c0d41b90f57bbfb785b3faff11d4440dd8978da0 Binary files /dev/null and b/Developer Guide/Segment Table Description.xlsx differ diff --git a/VECTO/Input Files/cGBX.vb b/VECTO/Input Files/cGBX.vb index 0340b33d0a2924adbfef13a40e597c69b56ad7f4..bf1c73f5c194de390da677288f2b566a21b74aad 100644 --- a/VECTO/Input Files/cGBX.vb +++ b/VECTO/Input Files/cGBX.vb @@ -439,7 +439,7 @@ Public Class cGBX Dim MsgSrc As String - MsgSrc = "GBX/TCiteration/t= " & t + MsgSrc = "GBX/TCiteration/t= " & t + 1 TC_PeBrake = 0 TCReduce = False diff --git a/VECTO/Input Files/cVEH.vb b/VECTO/Input Files/cVEH.vb index 9d4c046eb6486df1e8ba02afdfa22508b104ddc7..7915ed7c158ccab95b7bebaf1bdb335c707f46c5 100644 --- a/VECTO/Input Files/cVEH.vb +++ b/VECTO/Input Files/cVEH.vb @@ -134,6 +134,21 @@ Public Class cVEH End Sub + Public Function Validate() As Boolean + Dim MsgSrc As String + Dim Check As Boolean = True + + MsgSrc = "VEH/Validate" + + If rdyn < 100 Then + WorkerMsg(tMsgID.Err, "Parameter 'Dynamic Tire Radius' is invalid (" & rdyn & "mm).", MsgSrc, sFilePath) + Check = False + End If + + Return Check + + End Function + Public Function ReadFile(Optional ByVal ShowMsg As Boolean = True) As Boolean Dim Itemp As Single Dim a0 As cAxle diff --git a/VECTO/MODcalc/cPower.vb b/VECTO/MODcalc/cPower.vb index 08a595caf6ea59d2eba17ef1500de29283364c14..4e80f0fcf34934cb7fc8bce39f69d628dd1e6406 100644 --- a/VECTO/MODcalc/cPower.vb +++ b/VECTO/MODcalc/cPower.vb @@ -901,7 +901,7 @@ lbCheck: '*** Start: Revolutions Check 'Check whether Revolutions too high! => Speed Reduction - Do While nU > 1.2 * (ENG.Nrated - ENG.Nidle) + ENG.Nidle + Do While Gear < GBX.GearCount AndAlso nU > 1.2 * (ENG.Nrated - ENG.Nidle) + ENG.Nidle Gear += 1 nU = fnU(Vact, Gear, Clutch = tEngClutch.Slipping) Loop @@ -1799,6 +1799,7 @@ lb_nOK: Dim PlusGearLockUp As Boolean Dim MinusGearTC As Boolean Dim iRatio As Single + Dim n As Single 'First time step (for vehicles with TC always the first gear is used) If t = 0 Then Return fStartGear(0, Grad) @@ -1828,33 +1829,33 @@ lb_nOK: MinusGearTC = False End If - 'Rpm - nU = MODdata.nU(t - 1) - - If LastGear < GBX.GearCount AndAlso Not GBX.IsTCgear(LastGear + 1) Then - nUnext = Vact * 60.0 * GBX.Igetr(0) * GBX.Igetr(LastGear + 1) / (2 * VEH.rdyn * Math.PI / 1000) - Else - nUnext = 0 - End If - - OutOfRpmRange = (nU >= 1.2 * (ENG.Nrated - ENG.Nidle) + ENG.Nidle) - '2C-to-1C - If MinusGearTC Then + If MinusGearTC And GBX.IsTCgear(LastGear) Then If fnUout(Vact, LastGear) <= ENG.Nidle Then Return LastGear - 1 End If End If - 'No gear change 3s after last one -except rpm out of range - If Not PlusGearLockUp Then + If LastGear < GBX.GearCount AndAlso PlusGearLockUp Then + nUnext = Vact * 60.0 * GBX.Igetr(0) * GBX.Igetr(LastGear + 1) / (2 * VEH.rdyn * Math.PI / 1000) + Else + nUnext = 0 + End If + + 'nU + If GBX.IsTCgear(LastGear) Then + n = MODdata.TCnu(t - 1) + nU = (Vact * 60.0 * GBX.Igetr(0) * GBX.Igetr(LastGear) / (2 * VEH.rdyn * Math.PI / 1000)) / n + Else + nU = Vact * 60.0 * GBX.Igetr(0) * GBX.Igetr(LastGear) / (2 * VEH.rdyn * Math.PI / 1000) + OutOfRpmRange = (nU >= 1.2 * (ENG.Nrated - ENG.Nidle) + ENG.Nidle) Or nU < ENG.Nidle + 'No gear change 3s after last one -except rpm out of range If Not OutOfRpmRange AndAlso t - LastGearChange <= GBX.gs_ShiftTime And t > GBX.gs_ShiftTime - 1 Then Return LastGear End If 'previous power demand LastPe = MODdata.Pe(t - 1) - - 'previous torque demand + 'Torque Tq = LastPe * 1000 / (nU * 2 * Math.PI / 60) 'Up/Downshift rpms diff --git a/VECTO/M_MAIN.vb b/VECTO/M_MAIN.vb index 4f692f3cc77ee61ec61d8ef2826f0a5939a93f73..33953d1eadd93ac14ea8546343aeaa1f270e3123 100644 --- a/VECTO/M_MAIN.vb +++ b/VECTO/M_MAIN.vb @@ -725,6 +725,8 @@ lbExit: 'Check if file was saved in different mode If Cfg.DeclMode <> VEH.SavedInDeclMode Then WorkerMsg(tMsgID.Warn, "Vehicle file was created in " & OtherModeString & " Mode! Some parameters might be missing and cause errors.", MsgSrc, "<GUI>" & VEC.PathVEH) + If Not VEH.Validate Then Return False + End If diff --git a/VECTO/VECTO_Global.vb b/VECTO/VECTO_Global.vb index 3e446be80b85ed513cb752a3266241629c0d4cbf..99c36582175bae52197fe3f69ecce1a0c715b2db 100644 --- a/VECTO/VECTO_Global.vb +++ b/VECTO/VECTO_Global.vb @@ -12,7 +12,7 @@ Imports System.Collections.Generic Module VECTO_Global - Public Const VECTOvers As String = "2.0.4-beta" + Public Const VECTOvers As String = "2.0.4-beta1" Public Const LicSigAppCode As String = "VECTO-Release-0093C61E0A2E4BFA9A7ED7E729C56AE4" Public MyAppPath As String Public MyConfPath As String diff --git a/VECTO/cDeclaration.vb b/VECTO/cDeclaration.vb index fffe0bb9d27227f0fe50e2eecdce29062081fab8..a21785b8a4d3907c68cdc1ecf5e705ba4d0da001 100644 --- a/VECTO/cDeclaration.vb +++ b/VECTO/cDeclaration.vb @@ -582,6 +582,9 @@ Public Class cDeclaration Return False End If + 'Skip Header + file.ReadLine() + Try Do While Not file.EndOfFile @@ -609,6 +612,9 @@ Public Class cDeclaration Return False End If + 'Skip Header + file.ReadLine() + Try Do While Not file.EndOfFile @@ -641,6 +647,9 @@ Public Class cDeclaration Return False End If + 'Skip Header + file.ReadLine() + Try Do While Not file.EndOfFile diff --git a/VECTO/cDelaunayMap.vb b/VECTO/cDelaunayMap.vb index 6595d4552b1e4b88ea0cc7ad2fe6f4d7184b12fb..ab34c3b6cbb8a48be3517d778c52c8c64c8a6f11 100644 --- a/VECTO/cDelaunayMap.vb +++ b/VECTO/cDelaunayMap.vb @@ -144,9 +144,8 @@ Public Class cDelaunayMap If DualMode Then - j = -1 - 'Try exact solution for IsInside() + j = -1 For Each tr In lDTXZ j += 1 If IsInside(tr, x, z, True) Then @@ -156,6 +155,7 @@ Public Class cDelaunayMap Next 'Try approx. solution (fixes rounding errors when points lies exactly on an edge of a triangle) + j = -1 For Each tr In lDTXZ j += 1 If IsInside(tr, x, z, False) Then