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

Skip to content
Snippets Groups Projects
Commit 47102ca7 authored by Markus QUARITSCH's avatar Markus QUARITSCH
Browse files

Merge pull request #540 in VECTO/vecto-sim from...

Merge pull request #540 in VECTO/vecto-sim from ~EMQUARIMA/vecto-sim:feature/VECTO-592-eptp-simulation-mode to develop

* commit 'c4a95ecb':
  bugfix: if wheelspeed is 0 set torque to 0
  adding documentation for VTP mode
parents ff430fb6 c4a95ecb
No related branches found
No related tags found
No related merge requests found
Showing with 166 additions and 4 deletions
##VTP-Job Editor
![](pics/VTP-Job.png)
###Description
The [VTP job file (.vecto)](#vtp-job-file) includes all informations to run a VECTO calculation. It defines the vehicle and the driving cycle(s) to be used for calculation. In summary it defines:
- Filepath to the Vehicle File (.xml)](#vehicle-editor which defines all relevant parameters, including all components
- Driving Cycles
###Relative File Paths
It is recommended to use relative filepaths. This way the Job File and all input files can be moved without having to update the paths. Example: "Vehicles\\Vehicle1.xml" points to the "Vehicles" subdirectory of the Job File's directoy.
VECTO automatically uses relative paths if the input file (e.g. Vehicle File) is in the same directory as the Job File. (*Note:* The Job File must be saved before browsing for input files.)
Cycles
: List of cycles used for calculation. The .vdri format is described [here](#driving-cycles-.vdri).
**Double-click** an entry to open the file (see [File Open Command](#settings)).
**Click** selected items to edit file paths.
: ![addcycle](pics/plus-circle-icon.png) Add cycle (.vdri)
: ![remcycle](pics/minus-circle-icon.png) Remove the selected cycle from the list
###Chart Area
If a valid Vehicle File is loaded into the Editor the main vehicle parameters like HDV class and axle configuration are shown here. The plot shows the full load curve(s) and sampling points of the fuel consumption map.
###Controls
![new](pics/blue-document-icon.png) New Job File
: Create a new empty .vecto file
![open](pics/Open-icon.png) Open existing Job File
: Open an existing .vecto file
![save](pics/Actions-document-save-icon.png) ***Save current Job File***
![SaveAs](pics/Actions-document-save-as-icon.png) ***Save Job File as...***
![sendto](pics/export-icon.png) Send current file to Job List in [Main Form](#main-form)
: **Note:** The file will be sent to the Job List automatically when saved.
![](pics/browse.png) ***Browse for vehicle file***
![OK](pics/OK.png) Save and close file
: File will be added to Job List in the [Main Form](#main-form).
![Cancel](pics/Cancel.png) ***Cancel without saving***
......@@ -8,6 +8,9 @@ VECTO supports different calculation modes for declaring a vehicle, validation o
- [**Engineering Mode**](#engineering-mode)
: This mode is for experimenting and validation of a vehicle. There exist several options how the driving cycle may be defined (Target speed, Measured Speed, Pwheel).
- [**Verification Test Mode**](#verification-test-mode)
: This mode is for simulating a vehicle defined in declaration mode for the purpose of verification tests. This mode is similar to the PWheel simulation in engineering mode.
- [**Engine Only Mode**](#engine-only-mode)
: This mode is for validation of a measured engine component. Only the engine is simulated in this mode.
......
......@@ -14,5 +14,5 @@ Declaration Mode can be activated in the [Options Tab](#main-form).
- Modal results (.vmod). One file for each vehicle/cycle/loading combination. Modal results are only written if the modal output is enabled in the 'Options' tab on the [Main Window](#main-form)
- Sum results (.vsum). One file for each invocation of VECTO.
- Results overview (.pdf). One file for each job.
- Results (.xml). One file for each job.
##Verification Test Mode
The purpose of the verification test is to simulate a vehicle defined in declaration mode on a measured real-driving cycle. This simulation mode uses its own [cyle format](#verification-test-cycle), requiring mainly vehicle speed, wheel speed, wheel torque, engine-fan speed, and engine speed. VECTO then calculates the appropriate gear and simulates the cycle. Auxiliary power is according to the technologies defined in the vehicle. However, the engine fan auxiliary is ignored and the power demand for the engine fan is calcuated based on the engine-fan speed. The power demand for the other auxiliaries depends on the vehicle's actual speed. The fuel consumption is calculated using the engine speed from the driving cycle and the torque demand as given in the cycle, adding the losses of all powertrain components.
###Requirements
- One or more checked job files in the Job List
- Each job must include a vehicle in declaration mode (XML)
- Each job file must include at least one driving cycle
###Results
- Modal results (.vmod). One file for each vehicle/cycle combination. Modal results are only written if the modal output is enabled in the 'Options' tab on the [Main Window](#main-form)
- Sum results (.vsum). One file for each invocation of VECTO.
......@@ -5,6 +5,7 @@ The basic file format is [Vecto-CSV](#csv) and the file type ending is ".vdri".
###Driving Cycle Types
- **Declaration Mode**: [Target speed, distance-based](#declaration-mode-cycles)
- **Verification Test Mode**: [Measured driving cycle, time-based](#verification-test-cycle)
- **Engineering Mode**:
- [Target speed, distance-based](#engineering-mode-target-speed-distance-based-cycle)
- [Measured speed, time-based](#engineering-mode-measured-speed-time-based-cycle)
......@@ -30,6 +31,45 @@ In Declaration Mode driving cycles are automatically chosen depending on vehicle
- Urban: 40km
- Urban Delivery: 28km
###Verification Test Cycle
This kind of cycle is used for simulating vehicles defined in declaration mode (xml) on a real driving cycle.
Header: **\<t>, \<v>, \<n\_eng>,\<n\_fan>, \<tq\_left>, \<tq\_right>, \<n\_wh\_left>, \<n\_wh\_right>***, \<fc>, \<gear>*
**Bold columns** are mandatory. *Italic columns* are optional. Only the listed columns are allowed (no other columns!).<br />
Units are optional and are enclosed in [square-brackets] after the header-column. Comments may be written with a preceding hash-sign "#".
| Identifier | Unit | Description |
| ------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **t** | [s] | The absolute time. Must always be increasing. |
| **v** | [km/h] | The actual velocity of the vehicle. Must be >= 0 km/h. |
| **n_eng** | [rpm] | The actual engine speed. Must be >= 0 rpm. |
| **n_fan** | [rpm] | The actual engine-fan speed. Must be >= 0 rpm. |
| **tq_left** | [Nm] | The actual torque at the driven wheel (left side) |
| **tq_right** | [Nm] | The actual torque at the driven wheel (left side) |
| **n_wh_left** | [rpm] | The actual wheel speed of the driven wheel (left side). Must be >= 0 rpm. |
| **n_wh_right** | [rpm] | The actual wheel speed of the driven wheel (right side). Must be >= 0 rpm. |
| *fc* | [g/h] | Fuel consumption |
| *gear* | [-] | The actual gear |
**Example:**
| \<t> [s] | \<v> [km/h] | \<n_eng> [rpm] | \<n_fan> [rpm] | \<tq_left> [Nm] | \<tq_right> [Nm] | \<n_wh_left> [rpm] | \<n_wh_right> [rpm] | \<fc> [g/h] | \<gear> |
| --------- | ------------ | --------------- | --------------- | ---------------- | ----------------- | ------------------- | -------------------- | ------------ | -------- |
| 0 | 0 | 599.7 | 727.3 | 319.1 | 429.8 | 0.78 | 0.78 | 836 | 3 |
| 0.5 | 0 | 600.2 | 727.3 | 316.7 | 430.0 | 0.78 | 0.78 | 836 | 3 |
| 1 | 0 | 600.1 | 726.9 | 319.9 | 430.8 | 0.78 | 0.78 | 836 | 3 |
| 1.5 | 0 | 599.9 | 726.6 | 317.4 | 431.1 | 0.78 | 0.79 | 836 | 3 |
| 2 | 0 | 600.1 | 726.2 | 319.5 | 421.7 | 0.78 | 0.78 | 836 | 3 |
| 2.5 | 0 | 599.7 | 726 | 319.0 | 434.1 | 0.78 | 0.78 | 836 | 3 |
| 3 | 0 | 600.2 | 725.4 | 322.2 | 428.5 | 0.78 | 0.78 | 836 | 3 |
| 3.5 | 0 | 599.9 | 724.7 | 317.3 | 430.4 | 0.78 | 0.78 | 836 | 3 |
| 4 | 0 | 599.5 | 724.0 | 320.9 | 428.0 | 0.78 | 0.78 | 836 | 3 |
| 4.5 | 0 | 599.9 | 723.4 | 187.0 | 247.6 | 0.78 | 0.78 | 836 | 3 |
| 5 | 0 | 598.7 | 722.5 | 156.9 | 171.5 | 0.78 | 0.78 | 1003.2 | 3 |
###Engineering Mode: Target-Speed, Distance-Based Cycle
This driving cycle defines the target speed over distance. Vecto tries to achieve and maintain this target speed.
......
## VTP-Job File
File for the definition of a verification test job in vecto. A job contains everything what is needed to run a simulation. Can be created with the [Verifcation Test Job Editor](#vtp-job-editor).
- File format is [JSON](#json).
- Filetype ending is ".vecto"
Refers to other files:
* [Vehicle (XML)](#vehicle-file-.vveh)
* [Gearbox (VGBX)](#gearbox-file-.vgbx)
* [Driving Cycle (VDRI)](#driving-cycles-.vdri)
**Example:**
~~~json
{
"Header": {
"CreatedBy": "VECTO 3.2",
"Date": "2017-11-14T13:16:31.7337506Z",
"AppVersion": "3",
"FileVersion": 4
},
"Body": {
"SavedInDeclMode": false,
"DeclarationVehicle": "SampleVehicle.xml",
"FanPowerCoefficients": [
0.00000055,
14.62,
108.5
],
"FanDiameter": 0.225,
"Cycles": [
"VTP-cycle.vdri"
]
}
}
~~~
......@@ -9,7 +9,11 @@ for /f %%f in (files.txt) do set LIST=!LIST! "%%f"
REM pandoc --verbose -f markdown+raw_html %LIST% -s -S --toc --toc-depth=2 --self-contained --email-obfuscation=none --section-divs --mathjax=includes/mathjax.js -c includes/style.css -c includes/print.css -B includes/header.html -A includes/footer.html -o help.html -H includes/jquery.js -H includes/jquery-ui.js -H includes/include.js
%LOCALAPPDATA%\Pandoc\pandoc --verbose -f markdown+raw_html %LIST% -s --toc --toc-depth=2 --self-contained --email-obfuscation=none --section-divs --webtex -c includes/style.css -c includes/print.css -B includes/header.html -A includes/footer.html -o help.html -H includes/jquery.js -H includes/jquery-ui.js -H includes/include.js
REM %LOCALAPPDATA%\Pandoc\pandoc --verbose -f markdown+raw_html %LIST% -s --toc --toc-depth=2 --self-contained --email-obfuscation=none --section-divs --webtex -c includes/style.css -c includes/print.css -B includes/header.html -A includes/footer.html -o help.html -H includes/jquery.js -H includes/jquery-ui.js -H includes/include.js
%LOCALAPPDATA%\Pandoc\pandoc --verbose -f markdown+raw_html %LIST% -s -S --toc --toc-depth=2 --self-contained --email-obfuscation=none --section-divs --webtex -c includes/style.css -c includes/print.css -B includes/header.html -A includes/footer.html -o help.html -H includes/jquery.js -H includes/jquery-ui.js -H includes/include.js
REM pandoc %LIST% -s -S --toc --toc-depth=2 --self-contained --email-obfuscation=none --section-divs --webtex -c includes/style.css -B includes/header.html -A includes/footer.html -o help.html -H includes/jquery.js -H includes/jquery-ui.js -H includes/include.js
REM pandoc %LIST% -s -S --toc --toc-depth=2 --self-contained --email-obfuscation=none --section-divs --webtex="https://latex.codecogs.com/svg.latex?\large " -c includes/style.css -B includes/header.html -A includes/footer.html -o help.html -H includes/jquery.js -H includes/jquery-ui.js -H includes/include.js
......
......@@ -2,7 +2,8 @@
1-user-interface/A_index.md
1-user-interface/B_mainform.md
1-user-interface/C_settings.md
1-user-interface/D_VECTO-Job-Editor.md
1-user-interface/D1_VECTO-Job-Editor.md
1-user-interface/D2_VTP-Job-Editor.md
1-user-interface/E_VECTO-Editor_Aux.md
1-user-interface/K0_VECTO-AdvancedAux.md
1-user-interface/K1_VECTO-AdvancedAux_EL.md
......@@ -17,6 +18,7 @@
2-calculation-modes/calculation-modes.md
2-calculation-modes/engineering.md
2-calculation-modes/declaration.md
2-calculation-modes/verification-test.md
2-calculation-modes/engine-only.md
3-simulation-models/simulation-models.md
3-simulation-models/powertrain.md
......@@ -44,6 +46,7 @@
5-input-and-output-files/CSV.md
5-input-and-output-files/JSON.md
5-input-and-output-files/VECTO.md
5-input-and-output-files/VECTO-VTP.md
5-input-and-output-files/VVEH.md
5-input-and-output-files/VCDV.md
5-input-and-output-files/VCDB.md
......
......@@ -732,7 +732,7 @@ namespace TUGraz.VectoCore.InputData.Reader
row.ParseDoubleOrGetDefault(Fields.AdditionalAuxPowerDemand).SI().Kilo.Watt.Cast<Watt>(),
EngineSpeed = row.ParseDouble(Fields.EngineSpeedSuffix).RPMtoRad(),
WheelAngularVelocity = wheelSpeed,
Torque = (row.ParseDouble(Fields.WheelTorqueLeft).SI<NewtonMeter>() * row.ParseDouble(Fields.WheelSpeedLeft).RPMtoRad() + row.ParseDouble(Fields.WheelTorqueRight).SI<NewtonMeter>() * row.ParseDouble(Fields.WheelSpeedRight).RPMtoRad()) / wheelSpeed,
Torque = wheelSpeed.IsEqual(0, 1e-3) ? 0.SI<NewtonMeter>() : (row.ParseDouble(Fields.WheelTorqueLeft).SI<NewtonMeter>() * row.ParseDouble(Fields.WheelSpeedLeft).RPMtoRad() + row.ParseDouble(Fields.WheelTorqueRight).SI<NewtonMeter>() * row.ParseDouble(Fields.WheelSpeedRight).RPMtoRad()) / wheelSpeed,
FanSpeed = row.ParseDouble(Fields.FanSpeed).RPMtoRad(),
Gear = (uint)row.ParseDoubleOrGetDefault(Fields.Gear),
Fuelconsumption = row.ParseDoubleOrGetDefault(Fields.FuelConsumption).SI().Gramm.Per.Hour.ConvertTo().Kilo.Gramm.Per.Second.Cast<KilogramPerSecond>(),
......
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