modelDrivingCycle
Extends from EMOTH.Icons.DrivingCycle (Basic graphical layout of driving cycle).
Information
Defines the driving cycle v(t) as one of the following choices:
- user defined by a table
- UDC urban driving cycle [0..195] s with vMax=50 km/h
- EUDC extra urban driving cycle [0..400] s with vMax=120 km/h
- NEDC new European driving cycle [0..1180] s = 4 x UDC + 1 x EUDC
- WLTC Worldwide Harmonized Light-Duty Vehicles Test Procedure - Class 3 [0..1800] s with vMax=131.3 km/h
- FTP75 EPA Federal Test Procedure - 75 [0..1874] s with vMax=56.7 mph=91.25 km/h
- CADCU Common Artemis Driving Cycle - Urban
- CADCR Common Artemis Driving Cycle - Rural Road
- CADCM130 Common Artemis Driving Cycle - Motor Highway with vMax=130 km/h
- CADCM150 Common Artemis Driving Cycle - Motor Highway with vMax=150 km/h
The first column specifies in a strict monotonically rising order the time (measured in s), the second column the speed (either in m/s or km/s). The table can be given by the user or read from an external file. If the speed is given in km/h, the user has to set the parameter convert_from_kmh=true. When the time leaves the time range defined in the table, the user can choose the behaviour:
- HoldLastPoint: Hold the first/last table point outside of the table scope
- LastTwoPoints: Extrapolate by using the derivative at the first/last table points outside of the table scope
- Periodic: Repeat the table scope periodically
- NoExtrapolation: Extrapolation triggers an error
Note: The table is linearly interpolated. The user may choose that (in case of periodic extrapolation) after a given count of cycles n the simulation is terminated (if the simulation Stop time is set long enough). Note: If n≤0, the simulaton is terminated by the simulation Stop time.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| EMOTH.Drivers.Components.CycleType | cycle | Type of driving cycle | |
| EMOTH.Drivers.Components.SpeedConversion | speedConversion | EMOTH.Drivers.Components.SpeedConversion.kmh | Speed conversion |
| Integer | n | 0 | Terminate after n cycles (n<=0 means no termination) |
| Modelica.Units.SI.Time | t_min | combiTable.u_min | Mimimum time of table |
| Modelica.Units.SI.Time | t_max | combiTable.u_max | Maximum time of table |
| Modelica.Units.SI.Velocity | v0 | combiTable.y0[1]*conversionFactor | Initial velocity in table |
| Table data definition | |||
| Boolean | tableOnFile | false | = true, if table is defined on file or in function usertab |
| Real[:,2] | table | fill(0.0, 0, 2) | Table matrix (grid = first column; e.g., table=[0,2]) |
| String | tableName | "NoName" | Table name on file or in function usertab (see docu) |
| String | fileName | "NoName" | File where matrix is stored |
| Table data interpretation | |||
| Modelica.Blocks.Types.Extrapolation | extrapolation | Modelica.Blocks.Types.Extrapolation.NoExtrapolation | Extrapolation of data outside the definition range |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Interfaces.DriverInterface | driverInterface |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Blocks.Math.Gain | from_kmh | ||
| Blocks.CombiTable1Dse | combiTable | ||
| Modelica.Blocks.Sources.ContinuousClock | clock | ||
| Blocks.CombiTable1Dse | combiTablePreview | ||
| Modelica.Blocks.Math.Gain | from_kmhPreview | ||
| Modelica.Blocks.Math.Add | add | ||
| Modelica.Blocks.Logical.TerminateSimulation | terminateSimulation |