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

Skip to content
Snippets Groups Projects
Commit 638f642f authored by Raphael LUZ's avatar Raphael LUZ
Browse files

- Implemented new Cd*A(v) method

- Small update in TC model
parent 93074455
No related branches found
No related tags found
No related merge requests found
Valid,tVehCat,tAxleConf,GVW_Min,GVW_Max,HDV_Class,VACC,VCDV - Long Haul,VCDV - Other,Rigid/Truck Axles - Long haul,Rigid/Truck Axles - Other,Trailer Axles - Long haul,Trailer Axles - Other,LongHaul,RegionalDelivery,UrbanDelivery,MunicipalUtility,Construction,HeavyUrban,Urban,Suburban,Interurban,Coach,MassExtra - LongHaul,MassExtra - RegionalDelivery,MassExtra - UrbanDelivery,MassExtra - MunicipalUtility,MassExtra - Construction,MassExtra - HeavyUrban,MassExtra - Urban,MassExtra - Suburban,MassExtra - Interurban,MassExtra - Coach,RefLoad - LongHaul,RefLoad - RegionalDelivery,RefLoad - UrbanDelivery,RefLoad - MunicipalUtility,RefLoad - Construction,RefLoad - HeavyUrban,RefLoad - Urban,RefLoad - Suburban,RefLoad - Interurban,RefLoad - Coach,WHTCWF - LongHaul,WHTCWF - RegionalDelivery,WHTCWF - UrbanDelivery,WHTCWF - MunicipalUtility,WHTCWF - Construction,WHTCWF - HeavyUrban,WHTCWF - Urban,WHTCWF - Suburban,WHTCWF - Interurban,WHTCWF - Coach
0,RigidTruck,4x2,0,7.5,0,Truck.vacc,-,RigidSolo.vcdv,???,???,0/0,0/0,0,1,1,0,0,0,0,0,0,0,-,???,???,-,-,-,-,-,-,-,-,???,???,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
1,RigidTruck,4x2,7.5,10,1,Truck.vacc,-,RigidSolo.vcdv,-,45/55,0/0,0/0,0,1,1,0,0,0,0,0,0,0,-,1600,1600,-,-,-,-,-,-,-,-,f,f,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
1,RigidTruck,4x2,10,12,2,Truck.vacc,RigidSolo.vcdv,RigidSolo.vcdv,40/60,45/55,0/0,0/0,1,1,1,0,0,0,0,0,0,0,1900,1900,1900,-,-,-,-,-,-,-,f,f,f,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
1,RigidTruck,4x2,12,16,3,Truck.vacc,-,RigidSolo.vcdv,-,40/60,0/0,0/0,0,1,1,0,0,0,0,0,0,0,-,2000,2000,-,-,-,-,-,-,-,-,f,f,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
1,RigidTruck,4x2,16,99,4,Truck.vacc,RigidTrailer.vcdv,RigidSolo.vcdv,20/30,45/55,50/2,0/0,1,1,0,1,0,0,0,0,0,0,7500,2100,-,2100,-,-,-,-,-,-,14000,4400,-,4400,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
1,Tractor,4x2,16,99,5,Truck.vacc,TractorSemitrailer.vcdv,TractorSemitrailer.vcdv,20/25,25/25,55/3,50/3,1,1,0,0,0,0,0,0,0,0,7500,7500,-,-,-,-,-,-,-,-,19300,12900,-,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,4x4,7.5,16,6,Truck.vacc,-,RigidSolo.vcdv,???,???,0/0,0/0,0,0,0,1,1,0,0,0,0,0,-,-,-,???,???,-,-,-,-,-,-,-,-,???,???,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,4x4,16,99,7,Truck.vacc,-,RigidSolo.vcdv,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,B5,-,-,-,-,-,-,-,-,-,4300,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,Tractor,4x4,16,99,8,Truck.vacc,-,TractorSemitrailer.vcdv,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
1,RigidTruck,6x2,0,99,9,Truck.vacc,RigidTrailer.vcdv,RigidSolo.vcdv,20/30/15,35/40/25,35/2,0/0,1,1,0,1,0,0,0,0,0,0,7600,2200,-,2200,-,-,-,-,-,-,17900,7100,-,7100,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
1,Tractor,6x2,0,99,10,Truck.vacc,TractorSemitrailer.vcdv,TractorSemitrailer.vcdv,15/10/20,20/10/20,55/2,50/2,1,1,0,0,0,0,0,0,0,0,7500,7500,-,-,-,-,-,-,-,-,19000,12700,-,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,6x4,0,99,11,Truck.vacc,-,RigidSolo.vcdv,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,B7,-,-,-,-,-,-,-,-,-,7600,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,Tractor,6x4,0,99,12,Truck.vacc,-,TractorSemitrailer.vcdv,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,ST2,-,-,-,-,-,-,-,-,-,12100,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,6x6,0,99,13,Truck.vacc,-,RigidSolo.vcdv,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,0,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,Tractor,6x6,0,99,14,Truck.vacc,-,TractorSemitrailer.vcdv,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,0,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,8x2,0,99,15,Truck.vacc,-,RigidSolo.vcdv,???,???,0/0,0/0,0,1,0,0,0,0,0,0,0,0,-,???,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,8x4,0,99,16,Truck.vacc,-,RigidSolo.vcdv,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,B9,-,-,-,-,-,-,-,-,-,11600,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,8x6,0,99,17,Truck.vacc,-,RigidSolo.vcdv,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,4x2,0,7.5,0,Truck.vacc,-,RigidSolo,???,???,0/0,0/0,0,1,1,0,0,0,0,0,0,0,-,???,???,-,-,-,-,-,-,-,-,???,???,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
1,RigidTruck,4x2,7.5,10,1,Truck.vacc,-,RigidSolo,-,45/55,0/0,0/0,0,1,1,0,0,0,0,0,0,0,-,1600,1600,-,-,-,-,-,-,-,-,f,f,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
1,RigidTruck,4x2,10,12,2,Truck.vacc,RigidSolo,RigidSolo,40/60,45/55,0/0,0/0,1,1,1,0,0,0,0,0,0,0,1900,1900,1900,-,-,-,-,-,-,-,f,f,f,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
1,RigidTruck,4x2,12,16,3,Truck.vacc,-,RigidSolo,-,40/60,0/0,0/0,0,1,1,0,0,0,0,0,0,0,-,2000,2000,-,-,-,-,-,-,-,-,f,f,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
1,RigidTruck,4x2,16,99,4,Truck.vacc,RigidTrailer,RigidSolo,20/30,45/55,50/2,0/0,1,1,0,1,0,0,0,0,0,0,7500,2100,-,2100,-,-,-,-,-,-,14000,4400,-,4400,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
1,Tractor,4x2,16,99,5,Truck.vacc,TractorSemitrailer,TractorSemitrailer,20/25,25/25,55/3,50/3,1,1,0,0,0,0,0,0,0,0,7500,7500,-,-,-,-,-,-,-,-,19300,12900,-,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,4x4,7.5,16,6,Truck.vacc,-,RigidSolo,???,???,0/0,0/0,0,0,0,1,1,0,0,0,0,0,-,-,-,???,???,-,-,-,-,-,-,-,-,???,???,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,4x4,16,99,7,Truck.vacc,-,RigidSolo,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,B5,-,-,-,-,-,-,-,-,-,4300,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,Tractor,4x4,16,99,8,Truck.vacc,-,TractorSemitrailer,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
1,RigidTruck,6x2,0,99,9,Truck.vacc,RigidTrailer,RigidSolo,20/30/15,35/40/25,35/2,0/0,1,1,0,1,0,0,0,0,0,0,7600,2200,-,2200,-,-,-,-,-,-,17900,7100,-,7100,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
1,Tractor,6x2,0,99,10,Truck.vacc,TractorSemitrailer,TractorSemitrailer,15/10/20,20/10/20,55/2,50/2,1,1,0,0,0,0,0,0,0,0,7500,7500,-,-,-,-,-,-,-,-,19000,12700,-,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,6x4,0,99,11,Truck.vacc,-,RigidSolo,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,B7,-,-,-,-,-,-,-,-,-,7600,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,Tractor,6x4,0,99,12,Truck.vacc,-,TractorSemitrailer,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,ST2,-,-,-,-,-,-,-,-,-,12100,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,6x6,0,99,13,Truck.vacc,-,RigidSolo,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,0,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,Tractor,6x6,0,99,14,Truck.vacc,-,TractorSemitrailer,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,0,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,8x2,0,99,15,Truck.vacc,-,RigidSolo,???,???,0/0,0/0,0,1,0,0,0,0,0,0,0,0,-,???,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,8x4,0,99,16,Truck.vacc,-,RigidSolo,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,B9,-,-,-,-,-,-,-,-,-,11600,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,8x6,0,99,17,Truck.vacc,-,RigidSolo,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,RigidTruck,8x8,0,99,17,Truck.vacc,-,-,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,CityBus,4x2,0,18,B1,N/A,-,CoachBus.vcdv,???,???,0/0,0/0,0,0,0,0,0,1,1,1,0,0,-,-,-,-,-,???,???,???,-,-,-,-,-,-,-,???,???,???,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,InterurbanBus,4x2,0,18,B2,N/A,-,CoachBus.vcdv,???,???,0/0,0/0,0,0,0,0,0,0,0,0,1,0,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,Coach,4x2,0,18,B3,N/A,-,CoachBus.vcdv,???,???,0/0,0/0,0,0,0,0,0,0,0,0,0,1,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,CityBus,6x2,18,99,B4,N/A,-,CoachBus.vcdv,???,???,0/0,0/0,0,0,0,0,0,1,1,1,0,0,-,-,-,-,-,???,???,???,-,-,-,-,-,-,-,???,???,???,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,InterurbanBus,6x2,18,99,B5,N/A,-,CoachBus.vcdv,???,???,0/0,0/0,0,0,0,0,0,0,0,0,1,0,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,Coach,6x2,18,99,B6,N/A,-,CoachBus.vcdv,???,???,0/0,0/0,0,0,0,0,0,0,0,0,0,1,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,CityBus,4x2,0,18,B1,N/A,-,CoachBus,???,???,0/0,0/0,0,0,0,0,0,1,1,1,0,0,-,-,-,-,-,???,???,???,-,-,-,-,-,-,-,???,???,???,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,InterurbanBus,4x2,0,18,B2,N/A,-,CoachBus,???,???,0/0,0/0,0,0,0,0,0,0,0,0,1,0,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,Coach,4x2,0,18,B3,N/A,-,CoachBus,???,???,0/0,0/0,0,0,0,0,0,0,0,0,0,1,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,CityBus,6x2,18,99,B4,N/A,-,CoachBus,???,???,0/0,0/0,0,0,0,0,0,1,1,1,0,0,-,-,-,-,-,???,???,???,-,-,-,-,-,-,-,???,???,???,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,InterurbanBus,6x2,18,99,B5,N/A,-,CoachBus,???,???,0/0,0/0,0,0,0,0,0,0,0,0,1,0,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
0,Coach,6x2,18,99,B6,N/A,-,CoachBus,???,???,0/0,0/0,0,0,0,0,0,0,0,0,0,1,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
Parameters,a1,a2,a3
RigidSolo,0.013526,0.017746,-0.000666
RigidTrailer,0.017125,0.072275,-0.004148
TractorSemitrailer,0.030042,0.040817,-0.00213
CoachBus,-0.000794,0.02109,-0.00109
This diff is collapsed.
This diff is collapsed.
......@@ -573,7 +573,7 @@ Public Class cGBX
Return True
End If
If iOptPassed > -1 AndAlso nuStep > 0.00001 Then
If ErrMin > DEV.TCiterPrec AndAlso iOptPassed > -1 AndAlso nuStep > 0.00001 Then
nuMin = nuList(iOptPassed - 1)
nuMax = nuList(iOptPassed)
nuStep = Math.Max((nuMax - nuMin) / 10, 0.00001)
......
......@@ -340,108 +340,108 @@ Public Class cVEH
End Function
Public Function DeclInit() As Boolean
Dim al As List(Of Single)
Dim i As Integer
Dim a As Single
Dim a0 As cAxle
Dim MissionID As tMission
Dim MsgSrc As String
Public Function DeclInitCycle() As Boolean
Dim al As List(Of Single)
Dim i As Integer
Dim a As Single
Dim a0 As cAxle
Dim MissionID As tMission
Dim MsgSrc As String
MsgSrc = "VEH/DeclInit"
MsgSrc = "VEH/DeclInit"
MissionID = Declaration.CurrentMission.MissionID
MissionID = Declaration.CurrentMission.MissionID
MassExtra = Declaration.SegRef.GetBodyTrWeight(MissionID)
MassExtra = Declaration.SegRef.GetBodyTrWeight(MissionID)
al = Declaration.SegRef.AxleShares(MissionID)
al = Declaration.SegRef.AxleShares(MissionID)
If al.Count > Axles.Count Then
WorkerMsg(tMsgID.Err, "Invalid number of axles! Defined: " & Axles.Count & ", required: " & al.Count, MsgSrc)
Return False
End If
If al.Count > Axles.Count Then
WorkerMsg(tMsgID.Err, "Invalid number of axles! Defined: " & Axles.Count & ", required: " & al.Count, MsgSrc)
Return False
End If
i = -1
For Each a In al
i += 1
Axles(i).Share = a / 100
Next
i = -1
For Each a In al
i += 1
Axles(i).Share = a / 100
Next
'Remove non-Truck axles
Do While Axles.Count > al.Count
Axles.RemoveAt(Axles.Count - 1)
Loop
'Remove non-Truck axles
Do While Axles.Count > al.Count
Axles.RemoveAt(Axles.Count - 1)
Loop
'(Semi-) Trailer
If Not Declaration.SegRef.TrailerOnlyInLongHaul OrElse MissionID = tMission.LongHaul Then
al = Declaration.SegRef.AxleSharesTr(MissionID)
For Each a In al
'(Semi-) Trailer
If Not Declaration.SegRef.TrailerOnlyInLongHaul OrElse MissionID = tMission.LongHaul Then
al = Declaration.SegRef.AxleSharesTr(MissionID)
For Each a In al
a0 = New cAxle
a0 = New cAxle
a0.Inertia = 0 'Defined later
a0.Wheels = "385/65 R 22.5"
a0.Inertia = 0 'Defined later
a0.Wheels = "385/65 R 22.5"
a0.Share = a / 100
a0.TwinTire = False
a0.RRC = cDeclaration.RRCTr
a0.FzISO = cDeclaration.FzISOTr
a0.Share = a / 100
a0.TwinTire = False
a0.RRC = cDeclaration.RRCTr
a0.FzISO = cDeclaration.FzISOTr
Axles.Add(a0)
Axles.Add(a0)
Next
End If
Next
End If
'Wheels Inertias
For Each a0 In Axles
a0.Inertia = Declaration.WheelsInertia(a0.Wheels)
'Wheels Inertias
For Each a0 In Axles
a0.Inertia = Declaration.WheelsInertia(a0.Wheels)
If a0.Inertia < 0 Then
WorkerMsg(tMsgID.Err, "Selected wheels (" & a0.Wheels & ") are not supported!", MsgSrc)
Return False
End If
If a0.Inertia < 0 Then
WorkerMsg(tMsgID.Err, "Selected wheels (" & a0.Wheels & ") are not supported!", MsgSrc)
Return False
End If
Next
CdMode = tCdMode.CdOfV
Next
CdFile.Init(MyPath, Declaration.SegRef.VCDVfile(MissionID))
CdMode = tCdMode.CdOfVdecl
If Not Declaration.SegRef.VCDVparam.ContainsKey(MissionID) Then
WorkerMsg(tMsgID.Err, "No Cross Wind Correction parameters defined for current vehicle & mission profile!", MsgSrc)
Return False
End If
If Declaration.SegRef.TrailerOnlyInLongHaul Then
If Declaration.SegRef.TrailerOnlyInLongHaul Then
If MissionID = tMission.LongHaul Then
Cd0Act = Cd0
AquersAct = Aquers
Else
Cd0Act = Cd02
AquersAct = Aquers2
End If
If MissionID = tMission.LongHaul Then
Cd0Act = Cd0
AquersAct = Aquers
Else
Cd0Act = Cd02
AquersAct = Aquers2
End If
Else
Else
Cd0Act = Cd0
AquersAct = Aquers
Cd0Act = Cd0
AquersAct = Aquers
End If
End If
If Axles.Count < 2 Then
rdyn = -1
Else
rdyn = Declaration.rdyn(Axles(1).Wheels, Rim)
End If
If Axles.Count < 2 Then
rdyn = -1
Else
rdyn = Declaration.rdyn(Axles(1).Wheels, Rim)
End If
If rdyn < 0 Then
WorkerMsg(tMsgID.Err, "Failed to calculate dynamic tire radius! Check wheels/rims", MsgSrc)
Return False
End If
If rdyn < 0 Then
WorkerMsg(tMsgID.Err, "Failed to calculate dynamic tire radius! Check wheels/rims", MsgSrc)
Return False
End If
Return True
Return True
End Function
End Function
Public Function DeclInitLoad(ByVal LoadingID As tLoading) As Boolean
Dim lmax As Single
......@@ -588,50 +588,158 @@ Public Class cVEH
End If
'If Cd-value is constant then do nothing
If CdMode = tCdMode.ConstCd0 Then Return True
'Read Inputfile
file = New cFile_V3
If Not file.OpenRead(CdFile.FullPath) Then
WorkerMsg(tMsgID.Err, "Failed to read Cd input file! (" & CdFile.FullPath & ")", MsgSrc)
Return False
End If
'Skip Header
file.ReadLine()
CdDim = -1
Do While Not file.EndOfFile
CdDim += 1
line = file.ReadLine
Try
CdX.Add(CSng(line(0)))
CdY.Add(CSng(line(1)))
Catch ex As Exception
WorkerMsg(tMsgID.Err, "Error during file read! Line number: " & CdDim + 1 & " (" & CdFile.FullPath & ")", MsgSrc, CdFile.FullPath)
file.Close()
Return False
End Try
Loop
file.Close()
If CdDim < 1 Then
WorkerMsg(tMsgID.Err, "Cd input file invalid! Two or more lines required! (" & CdFile.FullPath & ")", MsgSrc, CdFile.FullPath)
Return False
End If
Return True
End Function
If CdMode = tCdMode.ConstCd0 Then Return True
'Declaration Mode
If CdMode = tCdMode.CdOfVdecl Then Return CdofVdeclInit()
'Read Inputfile
file = New cFile_V3
If Not file.OpenRead(CdFile.FullPath) Then
WorkerMsg(tMsgID.Err, "Failed to read Cd input file! (" & CdFile.FullPath & ")", MsgSrc)
Return False
End If
'Skip Header
file.ReadLine()
CdX.Clear()
CdY.Clear()
CdDim = -1
Do While Not file.EndOfFile
CdDim += 1
line = file.ReadLine
Try
CdX.Add(CSng(line(0)))
CdY.Add(CSng(line(1)))
Catch ex As Exception
WorkerMsg(tMsgID.Err, "Error during file read! Line number: " & CdDim + 1 & " (" & CdFile.FullPath & ")", MsgSrc, CdFile.FullPath)
file.Close()
Return False
End Try
Loop
file.Close()
If CdDim < 1 Then
WorkerMsg(tMsgID.Err, "Cd input file invalid! Two or more lines required! (" & CdFile.FullPath & ")", MsgSrc, CdFile.FullPath)
Return False
End If
Return True
End Function
Private Function CdofVdeclInit() As Boolean
Dim lBeta As New List(Of Single)
Dim lDeltaCdA As New List(Of Single)
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim vveh As Single
Dim alpha As Single
Dim beta As Single
Dim CdA0 As Single
Dim CdA As Single
Dim CdAsum As Single
Dim Vwind As Single
Dim VwindX As Single
Dim VwindY As Single
Dim vair As Single
Dim vairX As Single
Dim vairY As Single
Dim a As List(Of Single)
Dim iDim As Integer
Dim DeltaCdA As Single
Dim share As Single
CdA0 = Cd0Act * AquersAct
Vwind = cDeclaration.Vwind * 3.6
Try
If Cfg.DeclMode Then
a = Declaration.SegRef.VCDVparam(Declaration.CurrentMission.MissionID)
Else
a = Declaration.VCDVparamPerCat(VEH.VehCat)
End If
Catch ex As Exception
Return False
End Try
For i = 0 To 12
beta = CSng(i)
lBeta.Add(beta)
lDeltaCdA.Add(a(0) * beta + a(1) * beta ^ 2 + a(2) * beta ^ 3)
Next
iDim = lBeta.Count - 1
CdX.Clear()
CdY.Clear()
CdDim = -1
CdX.Add(0)
CdY.Add(0)
For i = 60 To 100 Step 5
vveh = CSng(i)
CdAsum = 0
For j = 0 To 180 Step 10
alpha = CSng(j)
VwindX = Vwind * Math.Cos(alpha * Math.PI / 180)
VwindY = Vwind * Math.Sin(alpha * Math.PI / 180)
vairX = vveh + VwindX
vairY = VwindY
vair = Math.Sqrt(vairX ^ 2 + vairY ^ 2)
beta = Math.Atan(vairY / vairX) * 180 / Math.PI
If lBeta(0) >= beta Then
k = 1
Else
k = 0
Do While lBeta(k) < beta And k < iDim
k += 1
Loop
End If
DeltaCdA = (beta - lBeta(k - 1)) * (lDeltaCdA(k) - lDeltaCdA(k - 1)) / (lBeta(k) - lBeta(k - 1)) + lDeltaCdA(k - 1)
CdA = CdA0 + DeltaCdA
If j = 0 OrElse j = 180 Then
share = 5 / 180
Else
share = 10 / 180
End If
CdAsum += share * CdA * (vair ^ 2 / vveh ^ 2)
Next
CdX.Add(vveh)
CdY.Add(CdAsum)
Next
CdY(0) = CdY(1)
CdDim = CdX.Count - 1
Return True
End Function
Public Function Cd(ByVal x As Single) As Single
Return CdIntpol(x) * Cd0Act
End Function
End Function
Public Function CdA(ByVal vveh As Single) As Single
Return CdIntpol(vveh)
End Function
Public Function Cd() As Single
Return Cd0Act
......
......@@ -2374,25 +2374,30 @@ lb10:
'----------------Drag-resistance----------------
Private Function fPair(ByVal v As Single, ByVal t As Integer) As Single
Dim vair As Single
Dim Cd As Single
Dim CdA As Single
Select Case VEH.CdMode
Case tCdMode.ConstCd0
vair = v
Cd = VEH.Cd
CdA = VEH.Cd * VEH.CrossSecArea
Case tCdMode.CdOfV
Case tCdMode.CdOfVeng
vair = v
Cd = VEH.Cd(v)
CdA = VEH.Cd(v) * VEH.CrossSecArea
Case tCdMode.CdOfVdecl
vair = v
CdA = VEH.CdA(v)
Case Else 'tCdType.CdOfBeta
vair = MODdata.Vh.VairVres(t)
Cd = VEH.Cd(Math.Abs(MODdata.Vh.VairBeta(t)))
CdA = VEH.Cd(Math.Abs(MODdata.Vh.VairBeta(t))) * VEH.CrossSecArea
End Select
Return CSng((Cd * VEH.CrossSecArea * Cfg.AirDensity / 2 * ((vair) ^ 2)) * v * 0.001)
Return CSng((CdA * Cfg.AirDensity / 2 * ((vair) ^ 2)) * v * 0.001)
End Function
'--------Vehicle Acceleration-capability(Beschleunigungsleistung) --------
......
......@@ -341,8 +341,10 @@ Module VECTO_Global
Select Case CdMode
Case tCdMode.CdOfBeta
Return "CdOfBeta"
Case tCdMode.CdOfV
Return "CdOfV"
Case tCdMode.CdOfVeng
Return "CdOfVeng"
Case tCdMode.CdOfVdecl
Return "CdOfVdecl"
Case Else 'tCdMode.ConstCd0
Return "Off"
End Select
......@@ -352,8 +354,10 @@ Module VECTO_Global
Select Case UCase(Trim(CdMode))
Case "CDOFBETA"
Return tCdMode.CdOfBeta
Case "CDOFV"
Return tCdMode.CdOfV
Case "CDOFV", "CDOFVENG"
Return tCdMode.CdOfVeng
Case "CDOFVDECL"
Return tCdMode.CdOfVdecl
Case Else '"OFF"
Return tCdMode.ConstCd0
End Select
......
......@@ -100,8 +100,9 @@ End Enum
Public Enum tCdMode
ConstCd0 = 0
CdOfV = 1
CdOfBeta = 2
CdOfVeng = 1
CdOfVdecl = 2
CdOfBeta = 3
End Enum
Public Enum tRtType
......
This diff is collapsed.
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