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

Skip to content
Snippets Groups Projects
Commit f7552b76 authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

Merge pull request #140 in VECTO/vecto-sim from ~EMKRISPMI/vecto-sim:master to master

* commit '8890ae9f':
  reverted smaller margin in Note: Vecto ... again. problem with images.
  added bugfixes in changelog
  exception when Roll Resistance coefficient could not be calculated
  exception when driving cycle could not be read!
  changed style: smaller note vecto-xxx, box around code examples
  better descriptions
  better examples of json files
  corrected column field names in csv files
  corrected link
  driver acceleration limit new image and text
  output of warning fuelmap extrapolated: n in rpm instead of 1/s
  [VECTO-229] removed disable logging during search in measured speed
  moved logger from code to app.config
  easier logging configuration
parents 0e293a78 8890ae9f
No related branches found
No related tags found
No related merge requests found
Showing
with 395 additions and 343 deletions
......@@ -15,7 +15,7 @@ In order to start a simulation the [Calculation Mode](#calculation-modes) must b
The Main Form includes three tabs as described below:
* Job Files Tab
* Driving Cycles Tab (only if [Batch Mode](#batch-mode) is enabled)
* Driving Cycles Tab (only if [Batch Mode](#batch-mode-1) is enabled)
* Options Tab
......
......@@ -22,31 +22,17 @@ In VectoCMD V3.x the default mode is Declaration Mode.
- Sum results (.vsum). One file for each invocation of VECTO.
###Options###
The option depends on the driving cycle and cannot be chosen explicitely. For more information see [Driving Cycles](#driving-cycles).
###Target Speed
This option is the a target vehicle speed distance based cycle (like in Declaration Mode). With this option experiments can be made by the manufacturer.
###Measured Speed
See [Measured speed, time-based cycle](#engineering-mode-measured-speed-time-based-cycle).
###Measured Speed with Gear
See [Measured speed with gear, time-based cycle](#engineering-mode-measured-speed-with-gear-time-based-cycle).
###Pwheel (SiCo)
In Pwheel mode the measured power at the wheels is given, and the simulation takes that as input.
For more information see [P~wheel~-Input (SiCo Mode)](#pwheel-input-sico-mode).
###Options
The Driving Cycle determines the simulation method in engineering mode. The option depends directly on the driving cycle input and cannot be set explicitely. For more information about the formats see [Driving Cycles](#driving-cycles).
* [Target speed, distance-based](#engineering-mode-target-speed-distance-based-cycle)
: This option is the a target vehicle speed distance based cycle (like in Declaration Mode). With this option experiments can be made by the manufacturer.
* [Measured speed, time-based](#engineering-mode-measured-speed-time-based-cycle)
: Driving Mode where the actual speed from measurements is simulated.
* [Measured speed with gear, time-based](#engineering-mode-measured-speed-with-gear-time-based-cycle)
: Driving Mode where the actual speed from measurements is simulated. Also defines the chosen gear.
* [Pwheel (SiCo) Mode, time-based](#engineering-mode-pwheel-sico-time-based)
: In Pwheel mode the measured power at the wheels is given, and the simulation takes that as input.
......
##Acceleration Limiting
To model a realistic driver behavior, VECTO limits the vehicle acceleration and deceleration according to speed-dependent limits. These limits are defined in the [Acceleration Limiting Input File (.vacc)](#acceleration-limiting-input-file-.vacc), which is defined in the [Job File](#job-file).
VECTO limits the vehicle acceleration and deceleration depending on current vehicle speed, to model a realistic driver behavior. These limits are defined in the [Acceleration Limiting Input File (.vacc)](#acceleration-limiting-input-file-.vacc), which can be set in the [Job File](#job-file). In Declaration mode this is already predefined.
* If the engine can't provide the required power, the vehicle might accelerate slower than the defined driver limit.
* The minimum deceleration can always be maintained via the brakes.
* In [Measured Speed Mode](#engineering-mode-measured-speed) this limits are not used, due to the nature of this mode (speeds and accelerations are already real measured values, therefore VECTO uses these directly).
* In Measured Speed Mode these limits are not used, due to the nature of this mode (speeds and accelerations are already real measured values, therefore VECTO uses them directly without limitation).
![](pics/AccLimit.png)
The Image shows the acceleration and deceleration limits depending on the current vehicle speed.
![The graph shows the acceleration and deceleration limits depending on the current vehicle speed.](pics/AccLimit.png)
###Engine: Transient Full Load
##Engine: Transient Full Load
The engine implements a PT1 behaviour to model transient torque build up.
<div class="vecto2">
VECTO uses a PT1 function to model transient torque build up using this formula:
VECTO 2 uses a PT1 function to model transient torque build up using this formula:
$P_{fld\ dyn_{i}} = \frac{1}{T(n_{i})+1} \cdot [P_{fld\ stat}(n_{i})+T(n_{i}) \cdot P_{act_{i-1}}]$
$P_{fld\ dyn_{i}} = \frac{1}{T(n_{i})+1} \cdot \left(P_{fld\ stat}(n_{i})+T(n_{i}) \cdot P_{act_{i-1}}\right)$
with:
* n~i~ ... current engine speed
* n~i~ ... current engine speed
* T(n~i~) ... PT1 time constant at engine speed n~i~ (col. 4 in [.vfld file](#full-load-and-drag-curves-.vfld))
* P~fld\ stat~(n~i~) ... Static full load at engine speed n~i~ (col. 2 in [.vfld file](#full-load-and-drag-curves-.vfld))
* P~act\ i-1~ ... Engine power in previous time step
......@@ -17,13 +19,15 @@ with:
<div class="vecto3">
Vecto 3 uses basically the same PT1 behavior to model transient torque build up. However, due to the dynamic time steps the formula is implemented as follows:
$P_{fld\ dyn_{i}} = P_{fld\ stat}(n_i) \cdot (1 - exp(-\frac{t_i^*}{PT1}))$
where $t^*$ is computed from the dynamic full-load power in the previous simulation interval:
$P_{fld\ dyn_{i}} = P_{fld\ stat}(n_i) \cdot \left(1 - e^{-\frac{t_i^*}{\mathit{PT1}}}\right)$
$t_{i-1}^* = PT1 \cdot ln(\frac{1.0}{1 - \frac{P_{eng_{i - 1}}}{P_{fld\ stat}(n_i)}})$
where t* is computed from the dynamic full-load power in the previous simulation interval:
$t_i^* = t_{i-1}^* + dt$
$t_{i-1}^* = \mathit{PT1} \cdot ln\left(\frac{1}{1 - \frac{P_{eng_{i - 1}}}{P_{fld\ stat}(n_i)}}\right)$
</div>
......@@ -34,8 +34,6 @@ For vehicles with [Start/Stop](#engine-startstop) the fuel consumption needs to
2. From the difference between the energy consumed by the auxiliaries in the simulation with Start/Stop function and the target value (unit kilowatt-hours), a cycle average change in mechanical power “ΔPe” (unit kilowatt) of the internal combustion engine is calculated (using an average alternator efficiency and the cycle time with running engine).
3. The correction of the fuel consumption is performed for all 1Hz time steps using: ΔFC (unit: grams per hour) = ΔPe \* k where k = gradient in the regression. If the engine is running in motoring conditions ΔFC is set to zero.
![](pics/StartStopCorrection.svg)
*Example of a linear regression between engine power and fuel consumption*
![Example of a linear regression between engine power and fuel consumption](pics/StartStopCorrection.svg)
</div>
......@@ -3,30 +3,33 @@
<div class="declaration">
In declaration mode the fuel consumption is corrected as follows:
To prevent inconsistencies of regulated emissions and fuel consumption between the WHTC (hot part) test and the steady state fuel map as well as considering effects of transient engine behaviour a WHTC correction factor is used.
To prevent inconsistencies of regulated emissions and fuel consumption between the WHTC (hot part) test and the steady state fuel map as well as considering effects of transient engine behaviour a "WHTC correction factor" is used.
Based on the target engine operation points of the particular engine in WHTC the fuel consumption is interpolated from the steady state fuel map (“backward calculation”) in each of the three parts of the WHTC separately. The measured specific fuel consumption per WHTC part in [g/kWh] is then divided by the interpolated specific fuel consumption to obtain the WHTC correction factors CF~Urb~, CF~Road~, CF~MW~. For the interpolation the same method as for interpolation in VECTO is applied (Delauney triangulation).
Based on the target engine operation points of the particular engine in WHTC the fuel consumption is interpolated from the steady state fuel map (“backward calculation”) in each of the three parts of the WHTC separately. The measured specific fuel consumption per WHTC part in [g/kWh] is then divided by the interpolated specific fuel consumption to obtain the "WHTC correction factors" CF~urb~ (Urban), CF~rur~ (Rural), CF~mot~ (Motorway). For the interpolation the same method as for interpolation in VECTO is applied (Delauney triangulation).
All calculations regarding the brake specific fuel consumption from the interpolation as well as from the measurement and the three correction factors CF~Urb~, CF~Road~, CF~MW~ are fully implemented in the VECTO-Engine evaluation tool.
All calculations regarding the brake specific fuel consumption from the interpolation as well as from the measurement and the three correction factors CF~urb~, CF~rur~, CF~mot~ are fully implemented in the VECTO-Engine evaluation tool.
The total correction factor CF~Tot-i~ depends on the mission profile "i" and is produced in VECTO by mission profile specific weighting factors (WF~i~) listed in the table below.
The total correction factor CF~total~ depends on the mission profile and is produced in VECTO by mission profile specific weighting factors listed in the table below.
CF~Tot-i~ = CF~Urb~ * WF~Urb-i~ + CF~Rur~ * WF~Rur-i~ + CF~MW~ * WF~MW-i~
$CF_{total} = CF_{urb} \cdot WF_{urb} + CF_{rur} \cdot WF_{rur} + CF_{mot} \cdot WF_{mot}$
| Index | Mission profile | WF~MW~| WF~Road~| WF~Urb~ |
|-------|-----------------------|-------|-------|---------|
| 1 | Long haul | 89% | 0% | 11% |
| 2 | Regional delivery | 53% | 30% | 17% |
| 3 | Urban delivery | 4% | 27% | 69% |
| 4 | Municipial utility | 2% | 0% | 98% |
| 5 | Construction | 6% | 32% | 62% |
| 6 | Citybus | 0% | 0% | 100% |
| 7 | Interurban bus | 19% | 36% | 45% |
| 8 | Coach | 78% | 22% | 0% |
with the correction factor CF~urb~, CF~rur~, CF~mot~ coming from the [Engine](#engine-file), and weighting factors WF~urb~, WF~rur~, WF~mot~ predefined in the declaration data:
| Mission profile | WF~urb~ | WF~rur~ | WF~mot~ |
|--------------------|---------|---------|---------|
| Long haul | 11% | 0% | 89% |
| Regional delivery | 17% | 30% | 53% |
| Urban delivery | 69% | 27% | 4% |
| Municipial utility | 98% | 0% | 2% |
| Construction | 62% | 32% | 6% |
| Citybus | 100% | 0% | 0% |
| Interurban bus | 45% | 36% | 19% |
| Coach | 0% | 22% | 78% |
The whtc fuel consumption is then calculated with: $FC_{whtc} = FC \cdot CF_{total}$
</div>
<div class="engineering">
In engineering mode no WHTC correction is applied by Vecto. For an arbitrary cycle the weighting factors are not known, hence the total correction factor CF~Tot~ can not be computed.
In engineering mode no WHTC correction is applied by Vecto. For an arbitrary cycle the weighting factors are not known, hence the total correction factor CF~total~ can not be computed.
WHTC correction can be applied manually as a post-processing step.
</div>
\ No newline at end of file
......@@ -7,26 +7,25 @@ VECTO offers three different modes to consider cross wind influence on the drag
###Speed dependent correction (Declaration Mode)
This is the default mode which is used in [Declaration Mode](#declaration-mode). The speed dependent c~d~ x A curve (see below) is calculated based on generic parameters for each vehicle class and the base c~d~ x A value from the [Vehicle File](#vehicle-file).
This is the mode which is used in [Declaration Mode](#declaration-mode). The speed dependent C~d~A curve (see below) is calculated based on generic parameters for each vehicle class and the C~d~A value from the [Vehicle File](#vehicle-file).
###Speed dependent correction (User-defined)
The base c~d~ x A value (see [Vehicle File](#vehicle-file)) is corrected with a user-defined speed dependent scaling function. The input file (.vcdv) format is described [here](#speed-dependent-cross-wind-correction-input-file-.vcdv).
The base C~d~A value (see [Vehicle File](#vehicle-file)) is corrected with a user-defined speed dependent scaling function. A [vcdv-File](#speed-dependent-cross-wind-correction-input-file-.vcdv) is needed for this calculation.
The CdxA value given in the vehicle configuration is corrected depending on the vehicle's speed and the CD scaling factor from the input file as follows:
The C~d~A value given in the vehicle configuration is corrected depending on the vehicle's speed and the C~d~ scaling factor from the input file as follows:
C~d~xA~effective~ = CdxA * Cd(v_veh)
$C_dA_{effective} = C_dA * C_d(v_{veh})$
![](pics/VCDV.png)
###Correction using Vair & Beta Input
The actual (measured) air speed and direction can be used to correct cross-wid influence if available. The input file (.vcdb) defines delta C~d~xA in square meters depending on the wind speed and wind angle. The input file (.vcdb) format is described [here](#vair-beta-cross-wind-correction-input-file-.vcdb). The [driving cycle](#driving-cycles) must include the air speed relative to the vehicle v~air~ (&lt;vair\_res&gt;) and the wind yaw angle (&lt;vair\_beta&gt;).
The actual (measured) air speed and direction can be used to correct cross-wid influence if available. A [vcdb-File](#vair-beta-cross-wind-correction-input-file-.vcdb) is needed for this calculation. This file defines a ΔC~d~A value in \[\] depending on the wind angle. The [driving cycle](#driving-cycles) must include the air speed relative to the vehicle v~air~ (\<vair\_res\>) and the wind yaw angle (\<vair\_beta\>).
The CdxA value given in the vehicle configuration is corrected depending on the wind speed and wind angle (given in the driving cycle) using the input file as follows:
The C~d~A value given in the vehicle configuration is corrected depending on the wind speed and wind angle (given in the driving cycle) using the input file as follows:
C~d~xA~effective~ = CdxA + delta-Cd(beta)
$C_dA_{effective} = C_dA + {\Delta}C_d(\beta)$
![](pics/VCDB.png)
......@@ -4,17 +4,19 @@
The rolling resistance is calculated using a speed-independent rolling resistance coefficient (RRC).
In order to consider that the RRC depends on the vehicle weight it is modelled as a function of the total vehicle mass. The total RRC is calculated in VECTO using the following equation (the index i refers to the vehicle's axle (truck and trailer)):
$RRC = \sum_{i=1}^{n} s_{(i)} \cdot RRC_{ISO(i)} \cdot \left( \frac{s_{(i)} \cdot m \cdot g }{w_{(i)} \cdot F_{zISO(i)} } \right)^{\beta-1}$
$RRC = \sum_{i=1}^{n} s_{(i)} \cdot RRC_{ISO(i)} \cdot \left( \fracs{_{(i)} \cdot m \cdot g }{w_{(i)} \cdot F_{zISO(i)} } \right)^{\beta-1}$
| | | | |
|-------------|--------|--------------------------------------------------------------------------------------------------------------------|----------------------------|
| RRC | [-] | Total rolling resistance coefficient used for calculation | [calculated] |
with:
| | | | |
| ----------- | ------ | ---------------------------------------------------------------------------------------------------------------- | -------------------------- |
| RRC | [-] | Total rolling resistance coefficient used for calculation | [calculated] |
| s~(i)~ | [-] | Relative axle load. Defined in the [Vehicle File](#vehicle-file). | [user input] |
| RRC~ISO(i)~ | [-] | ...Tyre RRC according to ISO 28580. Defined in the [Vehicle File](#vehicle-file). | [user input] |
| m | [kg] | Vehicle mass plus loading. | [calculated] |
| g | [m/s²] | Earth gravity acceleration (constant = 9.81, Vecto 3.x: 9.80665) | [constant model parameter] |
| w~(i)~ | [-] | Number of tyres (4 if Twin Tyres, else 2). Defined in the Vehicle File. | [user input] |
| F~zISO(i)~ | [N] | Tyre test load according to ISO 28580 (85% of max. load capacity). Defined in the [Vehicle File](#vehicle-editor). | [user input] |
| β | [-] | Constant parameter = 0.9 | [constant model parameter] |
| w~(i)~ | [-] | Number of tyres (4 if Twin Tyres, else 2). Defined in the [Vehicle File](#vehicle-file). | [user input] |
| F~zISO(i)~ | [N] | Tyre test load according to ISO 28580 (85% of max. load capacity). Defined in the [Vehicle File](#vehicle-file). | [user input] |
| m | [kg] | Vehicle mass plus loading. | [calculated] |
| g | [m/s²] | Earth gravity acceleration (constant = 9.81, Vecto 3.x: 9.80665) | [constant model parameter] |
| β | [-] | Constant parameter = 0.9 | [constant model parameter] |
For each axle the parameters **Relative axle load, RRC~ISO~** and **F~zISO~** have to be defined. Axles with twin tyres have to be marked using the respective checkbox in the [Vehicle-Editor](#vehicle-editor).
......@@ -9,7 +9,7 @@ In Vecto 3 the order of the columns is arbitrary if the column header matches th
| | |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Header:** | Vecto CSV needs exactly one header line with the definition of the columns at the beginning of the file. Columns can be surrounded with "<" and ">" to mark them as identifiers (which makes them position independent) (In Vecto 3.x every column is seen as identifier, regardless of "<>"). Columns may be succeded with unit information (enclosed in "[" and "]") for documentation purposes. |
| **Header:** | Vecto CSV needs exactly one header line with the definition of the columns at the beginning of the file. <br>Columns can be surrounded with "\<" and "\>" to mark them as identifiers (which makes them position independent). In Vecto 3.x every column is seen as identifier, regardless of "\<\>". <br>Columns may be succeded with unit information (enclosed in "[" and "]") for documentation purposes. |
| **Column Separator:** | **,** (Comma. Separates the columns of a data line.) |
| **Decimal-Mark:** | **.** (Dot. Splits numbers into integer part and decimal part.) |
| **Thousand-Separator:** | Vecto CSV does not allow a thousand-separator. |
......
......@@ -13,16 +13,16 @@ vehicle speed. The filepath has to be defined in the [Job File](#job-file). The
**Example Data:**
v [km/h], acc [m/s^2] , dec [m/s^2]
0 , 1.01570922360353, -0.231742702878269
5 , 1.38546581120225, -0.45346198022574
10 , 1.34993329755465, -0.565404125020508
15 , 1.29026714002479, -0.703434814668512
...
~~~
v [km/h],acc [m/s^2],dec [m/s^2]
0 ,1 ,-1
25 ,1 ,-1
50 ,0.6 ,-1
60 ,0.5 ,-0.5
120 ,0.5 ,-0.5
~~~
**Example Graph:**
![](pics/AccLimit.png)
**Example Graph: **
![The graph shows the acceleration and deceleration limits depending on the current vehicle speed.](pics/AccLimit.png)
......@@ -5,24 +5,26 @@ See [Auxiliaries](#auxiliaries) for details on how the power demand for each aux
- Filetype: .vaux
- Multiple Header must exist in the following sequence:
- **[TransRatio \[-\]](#auxiliaries)**: Speed ratio between auxiliary and engine. 1 Value.
- **[EffToEng \[-\]](#auxiliaries)**: Efficiency of auxiliary (belt/gear) drive. 1 Value.
- **[EffToSply \[-\]](#auxiliaries)**: Consumer efficiency. 1 Value.
- **Auxiliary speed [rpm], Mechanical power [kW],Supply power [kW]**
- Requires at least 3 data entries for the last header.
- **Transmission ration to engine rpm \[-\]**: Speed ratio between auxiliary and engine. Followed by just one value line.
- **Efficiency to engine \[-\]**: Efficiency of auxiliary (belt/gear) drive. Followed by just one value line.
- **Efficiency auxiliary to supply \[-\]**: Consumer efficiency. Followed by just one value line.
- **Auxiliary speed [rpm], Mechanical power [kW], Supply power [kW]**
+ Actual map entries
- Requires exact one value for the first 3 headers, and at least 3 data lines for the map entries.
**Example:**
Transmission ration to engine rpm [-]
4.078
Efficiency to engine [-]
0.96
Efficiency auxiliary to supply [-]
1
Auxiliary speed [rpm], Mechanical power [kW],Supply power [kW]
1415,0.07,0
1415,0.87,0.53
1415,1.03,0.64
1415,1.17,0.75
...
~~~
Transmission ration to engine rpm [-]
4.078
Efficiency to engine [-]
0.96
Efficiency auxiliary to supply [-]
1
Auxiliary speed [rpm],Mechanical power [kW],Supply power [kW]
1415 ,0.07 ,0
1415 ,0.87 ,0.53
1415 ,1.03 ,0.64
1415 ,1.17 ,0.75
...
~~~
......@@ -4,28 +4,32 @@ The file is needed for Vair & Beta [Cross Wind Correction](#cross-wind-correctio
- Filetype: .vcdb
- Header: **beta [°], delta CdA [m^2]**
+ **beta [°]**: the wind yaw angle (0° means that the wind comes directly from the front)
+ **delta CdA [m^2]**: The ΔC~d~A value which will be added to the base C~d~A value.
- Requires at least 2 data entries
**Example:**
beta [°],delta CdA [m²]
0,0.00
1,0.07
2,0.21
3,0.40
4,0.64
5,0.90
6,1.19
7,1.48
8,1.76
9,2.02
10,2.25
20,3.14
40,3.24
60,-0.76
80,-4.76
100,-9.01
120,-15.01
140,-21.01
160,-20.86
180,-16.15
~~~
beta [°],delta CdA [m^2]
0 ,0.00
1 ,0.07
2 ,0.21
3 ,0.40
4 ,0.64
5 ,0.90
6 ,1.19
7 ,1.48
8 ,1.76
9 ,2.02
10 ,2.25
20 ,3.14
40 ,3.24
60 ,-0.76
80 ,-4.76
100 ,-9.01
120 ,-15.01
140 ,-21.01
160 ,-20.86
180 ,-16.15
~~~
......@@ -3,35 +3,36 @@
The file is needed for speed dependent [Cross Wind Correction](#cross-wind-correction). The file uses the [VECTO CSV format](#csv).
- Filetype: .vcdv
- Header: **vehicle speed [km/h], c~d~xA scaling factor [-]**
- Header: **v_veh [km/h], Cd [-]**
+ **v_veh [km/h]**: the vehicle speed
+ **Cd [-]**: the scaling factor which will be multiplied with the base C~d~A value.
- Requires at least 2 data entries
The CdxA value given in the vehicle configuration is corrected depending on the vehicle's speed and the CD scaling factor from the input file as follows:
C~d~xA~effective~ = CdxA * Cd(v_veh)
**Example:**
v_veh [km/h], Cd [-]
0, 1.173
5, 1.173
10, 1.173
15, 1.173
20, 1.173
25, 1.173
30, 1.173
35, 1.173
40, 1.173
45, 1.173
50, 1.173
55, 1.173
60, 1.173
65, 1.153
70, 1.136
75, 1.121
80, 1.109
85, 1.099
90, 1.090
95, 1.082
100, 1.07
~~~
v_veh [km/h],Cd [-]
0 ,1.173
5 ,1.173
10 ,1.173
15 ,1.173
20 ,1.173
25 ,1.173
30 ,1.173
35 ,1.173
40 ,1.173
45 ,1.173
50 ,1.173
55 ,1.173
60 ,1.173
65 ,1.153
70 ,1.136
75 ,1.121
80 ,1.109
85 ,1.099
90 ,1.090
95 ,1.082
100 ,1.07
~~~
......@@ -79,7 +79,7 @@ Header: **\<t>, \<v>***\[, \<grad>]\[, \<Padd>]\[, \<vair\_res>, \<vair\_beta>\]
**Example:**
| \<t> [m] | \<v> [km/h] | \<grad> [%] | \<Padd> [kW] |
| \<t> [s] | \<v> [km/h] | \<grad> [%] | \<Padd> [kW] |
| -------- | ----------- | ----------- | ------------ |
| 0 | 0 | 2.95 | 1.5 |
| 1 | 0.6 | 2.97 | 1.3 |
......@@ -107,7 +107,7 @@ Header: **\<t>, \<v>, \<n>, \<gear>***\[, \<grad>]\[, \<Padd>]\[, \<vair\_res>,
**Example:**
| \<t> [m] | \<v> [km/h] | \<n> [rpm] | \<gear> [-] | \<grad> [%] | \<Padd> [kW] |
| \<t> [s] | \<v> [km/h] | \<n> [rpm] | \<gear> [-] | \<grad> [%] | \<Padd> [kW] |
| -------- | ----------- | ---------- | ----------- | ----------- | ------------ |
| 0 | 0 | 600 | 0 | 2.95 | 1.5 |
| 1 | 0.6 | 950 | 3 | 2.97 | 1.3 |
......@@ -129,7 +129,7 @@ Header: **\<t>, \<Pwheel>, \<gear>, \<n>***\[, \<Padd>]*
**Example:**
| \<t> [m] | \<Pwheel> [kW] | \<gear> [-] | \<n> [rpm] | \<Padd> [kW] |
| \<t> [s] | \<Pwheel> [kW] | \<gear> [-] | \<n> [rpm] | \<Padd> [kW] |
| -------- | -------------- | ----------- | ---------- | ------------ |
| 0 | 0 | 0 | 600 | 1.5 |
| 1 | 4.003 | 3 | 950 | 1.3 |
......@@ -152,13 +152,13 @@ Header: **\<t>, \<n>, (\<Pe>|\<Me>)***\[, \<Padd>]*
**Example:**
| \<t> [m] | \<n> [rpm] | \<Pe> [kW] | \<Padd> [kW] |
| \<t> [s] | \<n> [rpm] | \<Pe> [kW] | \<Padd> [kW] |
| -------- | ---------- | ---------- | ------------ |
| 0 | 600 | 0 | 1.5 |
| 1 | 950 | 25.3 | 1.3 |
| 2 | 1200 | 65.344 | 1.3 |
| 3 | 1400 | 110.1 | 1.3 |
<div class="vecto2">
To explicitly define *motoring operation* use the **\<DRAG>** keyword as power demand (column \<Pe> or \<Me>). VECTO v2 replaces the keyword with the corresponding motoring torque/power from the drag curve during calculation (see [Full Load and Drag Curve File](#full-load-and-drag-curves-.vfld)).
<div class="vecto2"
>To explicitly define *motoring operation* use the **\<DRAG>** keyword as power demand (column \<Pe> or \<Me>). VECTO v2 replaces the keyword with the corresponding motoring torque/power from the drag curve during calculation (see [Full Load and Drag Curve File](#full-load-and-drag-curves-.vfld)).
</div>
......@@ -5,61 +5,75 @@ File for the definition of an job in vecto. A job contains everything what is ne
- File format is [JSON](#json).
- Filetype ending is ".vecto"
Refers to other files:
* [Vehicle (VVEH)](#vehicle-file)
* [Engine (VENG)](#engine-file)
* [Gearbox (VGBX)](#gearbox-file)
* [Driving Cycle (VDRI)](#driving-cycles)
* [Auxiliary Input File (VAUX)](#auxiliary-input-file-.vaux)
* [Acceleration Limiting (VACC)](#acceleration-limiting-input-file-.vacc)
**Example:**
{
"Header": {
"CreatedBy": " ()",
"Date": "3/4/2015 2:09:13 PM",
"AppVersion": "2.0.4-beta3",
"FileVersion": 2
~~~json
{
"Header": {
"CreatedBy": "Michael Krisper (Graz University of Technology)",
"Date": "2016-03-18T14:37:05+01:00",
"AppVersion": "3.0.2",
"FileVersion": 2
},
"Body": {
"SavedInDeclMode": false,
"VehicleFile": "Vehicle.vveh",
"EngineFile": "Engine.veng",
"GearboxFile": "Gearbox.vgbx",
"Cycles": [
"DrivingCycle_Rural.vdri",
"DrivingCycle_Urban.vdri"
],
"Aux": [
{
"ID": "ALT",
"Type": "Alternator",
"Path": "Alternator.vaux",
"Technology": ""
},
"Body": {
"SavedInDeclMode": false,
"VehicleFile": "24t Coach.vveh",
"EngineFile": "24t Coach.veng",
"GearboxFile": "24t Coach.vgbx",
"Cycles": [
"LOT2_rural Engine Only.vdri"
],
"Aux": [
{
"ID": "ALT1",
"Type": "Alternator",
"Path": "24t_Coach_ALT.vaux",
"Technology": ""
},
{
"ID": "ALT2",
"Type": "Alternator",
"Path": "24t_Coach_ALT.vaux",
"Technology": ""
},
{
"ID": "ALT3",
"Type": "Alternator",
"Path": "24t_Coach_ALT.vaux",
"Technology": ""
}
],
"VACC": "Coach.vacc",
"EngineOnlyMode": true,
"StartStop": {
"Enabled": false,
"MaxSpeed": 5.0,
"MinTime": 0.0,
"Delay": 0
},
"LAC": {
"Enabled": true,
"Dec": -0.5,
"MinSpeed": 50.0
},
"OverSpeedEcoRoll": {
"Mode": "OverSpeed",
"MinSpeed": 70.0,
"OverSpeed": 5.0,
"UnderSpeed": 5.0
}
{
"ID": "PN",
"Type": "PneumaticSystem",
"Path": "Pneumatic System.vaux",
"Technology": ""
},
{
"ID": "HVAC",
"Type": "HVAC",
"Path": "AirCondition.vaux",
"Technology": ""
}
],
"VACC": "Driver.vacc",
"EngineOnlyMode": true,
"StartStop": {
"Enabled": false,
"MaxSpeed": 5.0,
"MinTime": 0.0,
"Delay": 0
},
"LAC": {
"Enabled": true,
"Dec": -0.5,
"MinSpeed": 50.0
},
"OverSpeedEcoRoll": {
"Mode": "OverSpeed",
"MinSpeed": 70.0,
"OverSpeed": 5.0,
"UnderSpeed": 5.0
}
}
}
~~~
......@@ -5,25 +5,34 @@ File for the definition of an engine in Vecto. Can be created with the [Engine E
- File format is [JSON](#json).
- Filetype ending is ".veng"
Refers to other files:
* [Full Load And Drag Curve (VFLD)](#full-load-and-drag-curves-.vfld)
* [Fuel Consumption (VMAP)](#fuel-consumption-map-.vmap)
**Example:**
{
"Header": {
"CreatedBy": "Raphael Luz IVT TU-Graz (14fea510-e457-4bf6-860f-a9514dc327f1)",
"Date": "25.06.2015 11:23:22",
"AppVersion": "2.2 beta",
"FileVersion": 3
},
"Body": {
"SavedInDeclMode": false,
"ModelName": "Generic 24t Coach",
"Displacement": 12730.0,
"IdlingSpeed": 560.0,
"Inertia": 3.8,
"FullLoadCurve": "24t Coach.vfld",
"FuelMap": "24t Coach.vmap",
"WHTC-Urban": 0.0,
"WHTC-Rural": 0.0,
"WHTC-Motorway": 0.0
}
}
~~~json
{
"Header": {
"CreatedBy": "Michael Krisper (Graz University of Technology",
"Date": "2016-03-18T14:48:38+01:00",
"AppVersion": "3.0.2",
"FileVersion": 3
},
"Body": {
"SavedInDeclMode": false,
"ModelName": "Engine",
"Displacement": 7700.0,
"IdlingSpeed": 600.0,
"Inertia": 3.789,
"FullLoadCurve": "EngineFullLoadCurve.vfld",
"FuelMap": "FuelConsumptionMap.vmap",
"WHTC-Urban": 0.97,
"WHTC-Rural": 0.99,
"WHTC-Motorway": 1.05
}
}
~~~
##Full Load and Drag Curves (.vfld)
This file contains the full load and drag curves and the PT1 values for the [transient full load calculation](#transient-full-load). The file uses the [VECTO CSV format](#csv).
This file contains the full load and drag curves and the PT1 values for the [transient full load calculation](#engine-transient-full-load). The file uses the [VECTO CSV format](#csv).
- Filetype: .vfld
- Header: **engine speed [1/min], full load torque [Nm], motoring torque [Nm], PT1 time constant [s]**
- Header: **engine speed [1/min], full load torque [Nm], motoring torque [Nm], PT1 [s]**
+ **engine speed [1/min]**: the engine speed in rpm.
+ **full load torque [Nm]**: the maximum possible full load for the engine speed.
+ **motoring torque [Nm]**: the minimum possible drag load in motoring for the engine speed.
+ **PT1 [s]**: the PT1 constant for the transient full load calculation.
- Requires at least 2 data entries
**Example:**
engine speed [1/min],full load torque [Nm],motoring torque [Nm],PT1 time constant [s]
560,1180,-149,0.6
600,1282,-148,0.6
799.9999999,1791,-149,0.6
~~~
engine speed [1/min],full load torque [Nm],motoring torque [Nm],PT1 [s]
560 ,1180 ,-149 ,0.6
600 ,1282 ,-148 ,0.6
800 ,1791 ,-149 ,0.6
...
~~~
......@@ -3,16 +3,23 @@
Defines up- and down-shift curves. See [Gear Shift Model](#gear-shift-model) for details. The file uses the [VECTO CSV format](#csv).
- Filetype: .vgbs
- Header: **Engine Torque [Nm], Downshift rpm [1/min], Upshift rpm [1/min]**
- Header: **engine torque [Nm], downshift rpm [1/min], upshift rpm [1/min]**
- Requires at least 2 data entries
![](pics/Shift.svg)
**Example:**
Engine Torque [Nm], Downshift rpm [1/min], Upshift rpm [1/min]
-400,560,1289
759,560,1289
1252,742,1289
2372,1155,1942
~~~
engine torque [Nm],downshift rpm [1/min],upshift rpm [1/min]
-400 ,560 ,1289
759 ,560 ,1289
1252 ,742 ,1289
2372 ,1155 ,1942
...
~~~
**Example Graph:**
![A typical shift curve.](pics/Shift.svg)
......@@ -5,95 +5,106 @@ File for the definition of a gearbox in Vecto. Can be created with the [Gearbox
- File format is [JSON](#json).
- Filetype ending is ".vgbx"
Refers to other files:
* [Shift Polygon (VGBS)](#shift-polygons-input-file-.vgbs)
* [Loss Map (VTLM)](#transmission-loss-map)
* [Full Load Curve (VFLD)](#full-load-and-drag-curves-.vfld)
* [Torque Converter (VTCC)](#torque-converter-characteristics-.vtcc)
**Example:**
{
"Header": {
"CreatedBy": "Raphael Luz IVT TU-Graz (14fea510-e457-4bf6-860f-a9514dc327f1)",
"Date": "25.06.2015 11:23:31",
"AppVersion": "2.2 beta",
"FileVersion": 5
~~~json
{
"Header": {
"CreatedBy": "Michael Krisper (Graz University of Technology)",
"Date": "2016-03-18T14:37:18+01:00",
"AppVersion": "3.0.2",
"FileVersion": 5
},
"Body": {
"SavedInDeclMode": false,
"ModelName": "Generic 8 Gears",
"Inertia": 0.0,
"TracInt": 1.0,
"Gears": [
{
"Ratio": 3.2,
"LossMap": "Axle.vtlm"
},
{
"Ratio": 6.4,
"LossMap": "Indirect Gear.vtlm",
"TCactive": false,
"ShiftPolygon": "ShiftPolygon.vgbs",
"FullLoadCurve": "<NOFILE>"
},
{
"Ratio": 4.6,
"LossMap": "Indirect Gear.vtlm",
"TCactive": false,
"ShiftPolygon": "ShiftPolygon.vgbs",
"FullLoadCurve": "<NOFILE>"
},
{
"Ratio": 3.4,
"LossMap": "Indirect Gear.vtlm",
"TCactive": false,
"ShiftPolygon": "ShiftPolygon.vgbs",
"FullLoadCurve": "<NOFILE>"
},
"Body": {
"SavedInDeclMode": false,
"ModelName": "Generic 24t Coach",
"Inertia": 0.0,
"TracInt": 1.0,
"Gears": [
{
"Ratio": 3.240355,
"LossMap": "Axle.vtlm"
},
{
"Ratio": 6.38,
"LossMap": "Indirect Gear.vtlm",
"TCactive": false,
"ShiftPolygon": "ShiftPolygons.vgbs",
"FullLoadCurve": "<NOFILE>"
},
{
"Ratio": 4.63,
"LossMap": "Indirect Gear.vtlm",
"TCactive": false,
"ShiftPolygon": "ShiftPolygons.vgbs",
"FullLoadCurve": "<NOFILE>"
},
{
"Ratio": 3.44,
"LossMap": "Indirect Gear.vtlm",
"TCactive": false,
"ShiftPolygon": "ShiftPolygons.vgbs",
"FullLoadCurve": "<NOFILE>"
},
{
"Ratio": 2.59,
"LossMap": "Indirect Gear.vtlm",
"TCactive": false,
"ShiftPolygon": "ShiftPolygons.vgbs",
"FullLoadCurve": "<NOFILE>"
},
{
"Ratio": 1.86,
"LossMap": "Indirect Gear.vtlm",
"TCactive": false,
"ShiftPolygon": "ShiftPolygons.vgbs",
"FullLoadCurve": "<NOFILE>"
},
{
"Ratio": 1.35,
"LossMap": "Indirect Gear.vtlm",
"TCactive": false,
"ShiftPolygon": "ShiftPolygons.vgbs",
"FullLoadCurve": "<NOFILE>"
},
{
"Ratio": 1.0,
"LossMap": "Direct Gear.vtlm",
"TCactive": false,
"ShiftPolygon": "ShiftPolygons.vgbs",
"FullLoadCurve": "<NOFILE>"
},
{
"Ratio": 0.76,
"LossMap": "Indirect Gear.vtlm",
"TCactive": false,
"ShiftPolygon": "ShiftPolygons.vgbs",
"FullLoadCurve": "<NOFILE>"
}
],
"TqReserve": 20.0,
"SkipGears": true,
"ShiftTime": 2,
"EaryShiftUp": true,
"StartTqReserve": 20.0,
"StartSpeed": 2.0,
"StartAcc": 0.6,
"GearboxType": "AMT",
"TorqueConverter": {
"Enabled": false,
"File": "<NOFILE>",
"RefRPM": 0.0,
"Inertia": 0.0
}
{
"Ratio": 2.6,
"LossMap": "Indirect Gear.vtlm",
"TCactive": false,
"ShiftPolygon": "ShiftPolygon.vgbs",
"FullLoadCurve": "<NOFILE>"
},
{
"Ratio": 1.9,
"LossMap": "Indirect Gear.vtlm",
"TCactive": false,
"ShiftPolygon": "ShiftPolygon.vgbs",
"FullLoadCurve": "<NOFILE>"
},
{
"Ratio": 1.3,
"LossMap": "Indirect Gear.vtlm",
"TCactive": false,
"ShiftPolygon": "ShiftPolygon.vgbs",
"FullLoadCurve": "<NOFILE>"
},
{
"Ratio": 1,
"LossMap": "Direct Gear.vtlm",
"TCactive": false,
"ShiftPolygon": "ShiftPolygon.vgbs",
"FullLoadCurve": "<NOFILE>"
},
{
"Ratio": 0.75,
"LossMap": "Indirect Gear.vtlm",
"TCactive": false,
"ShiftPolygon": "ShiftPolygon.vgbs",
"FullLoadCurve": "<NOFILE>"
}
],
"TqReserve": 20.0,
"SkipGears": true,
"ShiftTime": 2,
"EaryShiftUp": true,
"StartTqReserve": 20.0,
"StartSpeed": 2.0,
"StartAcc": 0.6,
"GearboxType": "AMT",
"TorqueConverter": {
"Enabled": false,
"File": "<NOFILE>",
"RefRPM": 0.0,
"Inertia": 0.0
}
}
}
~~~
......@@ -3,7 +3,7 @@ The FC map is used to interpolate the base fuel consumption before corrections
- Filetype: .vmap
- Header: **engine speed [rpm], engine torque [Nm], Fuel Consumption [g/h]**
- Header: **engine speed [rpm], torque [Nm], fuel consumption [g/h]**
- Requires at least 3 data entries
- The map must cover the full engine range between full load and motoring curve.
......@@ -12,17 +12,23 @@ Extrapolation of fuel consumption map is not possible.
</div>
<div class="vecto3">
Extrapolation of fuel consumption map is possible, but only allowed in Engineering Mode (with warnings). In Declaration Mode the simulation aborts.
Extrapolation of fuel consumption map is possible in Engineering Mode (with warnings!). In Declaration Mode it is not allowed.
</div>
**Example:**
engine speed [rpm], engine torque [Nm], Fuel Consumption [g/h]
600,-45,0,
600,0,767,
600,100,1759,
600,200,2890,
600,300,4185,
600,400,5404,
600,500,6535,
600,600,7578,
~~~
engine speed [rpm],torque [Nm],fuel consumption [g/h]
600 ,-45 ,0
600 ,0 ,767
600 ,100 ,1759
600 ,200 ,2890
600 ,300 ,4185
600 ,400 ,5404
600 ,500 ,6535
600 ,600 ,7578
...
~~~
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