diff --git a/Documentation/User Manual/5-input-and-output-files/VEMx.md b/Documentation/User Manual/5-input-and-output-files/VEMx.md index d383f96f0da1cab68a765e76534b1b1f1d23229c..4d99f951ae769d35523f7e9c2715f5cc6c8fe26b 100644 --- a/Documentation/User Manual/5-input-and-output-files/VEMx.md +++ b/Documentation/User Manual/5-input-and-output-files/VEMx.md @@ -19,6 +19,22 @@ n [rpm] , T_drive [Nm] , T_recuperation [Nm] ... ~~~ +##Electric Motor Drag Curve File (.vemd) + +This file contains the electric motor's drag torque (i.e. the eletric motor is not energized) depending on the motor's angluar speed. The file uses the [VECTO CSV format](#csv). + +- Filetype: .vemd +- Header: **n [rpm] , T_drag [Nm]** +- Requires at least 2 data entries + +**Example:** + +~~~ +n [rpm] , T_drag [Nm] +0 , -10 +5000 , -50 +~~~ + ##Electric Motor Map (.vemo) diff --git a/Documentation/User Manual/help.html b/Documentation/User Manual/help.html index f6078934d528955387a9ab9bd132594b7f2e1485..46d38b88b8d06fb082aedd73dec5f585bb4a9f2f 100644 --- a/Documentation/User Manual/help.html +++ b/Documentation/User Manual/help.html @@ -225,6 +225,7 @@ code > span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Inf <li><a href="#full-load-and-drag-curves-.vfld">Full Load and Drag Curves (.vfld)</a></li> <li><a href="#fuel-consumption-map-.vmap">Fuel Consumption Map (.vmap)</a></li> <li><a href="#electric-motor-max-torque-file-.vemp">Electric Motor Max Torque File (.vemp)</a></li> +<li><a href="#electric-motor-drag-curve-file-.vemd">Electric Motor Drag Curve File (.vemd)</a></li> <li><a href="#electric-motor-map-.vemo">Electric Motor Map (.vemo)</a></li> <li><a href="#battery-internal-voltage-file-.vbatv">Battery Internal Voltage File (.vbatv)</a></li> <li><a href="#battery-internal-resistance-file-.vbatv">Battery Internal Resistance File (.vbatv)</a></li> @@ -4697,6 +4698,7 @@ iteration of u values in the previous step, calculate the maximum drive configur <div id="cost-function" class="section level3"> <h3>Cost Function</h3> <p>A cost value is calculated for every evaluated solution described above. In case the configurration results in an invalid operating point the cost value is set to invalid. Reasons for invalid configurations are that the engine operating point is outside the shift polygons, the engine speed is too high or too low, the electric power demand is too high or too low, the battery’s SoC would go below the <img style="vertical-align:middle" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAQBAMAAABJt1qBAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAVImZZiIy3RDNu6t2RO9ilkPgAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABDElEQVQYGV2QPUvDUBSGnyZNSjVpLroqRnRUEBEXRS8pbhkKujdboQ7tqNtFcDY/oZM4BnQuUfwBASe3LA6uji41ucEQeob3Pue859wvWNu5EOhwn/eigwq1tnxGsspPFB95hVo7CkNqMmfg5Bor8QZYUuMkKpapxkq6TzDQeFZq8yx78aJgI8y41Q1NuV784Pgc8dusVmyfywfFkG+dul91hwVmvAVeNi9rGXltOWBPtaVvmNpJbXXBTYaKiSrfZWdOyut+OzHvYzyflcjwOYXiN66KZDXryJseM4y7t2MIA1FMH74LeozwrHiMrDf+hzF9PttpQNG7FIFY59EQuy21ZMClMMLI2u5v8gezMDVOs4zUbwAAAABJRU5ErkJggg==" alt="\textrm{SoC}_{low}" title="\textrm{SoC}_{low}" /> threshold, etc.</p> +<p>If a configuration is not valid because for example the ICE speed is too high or too low, or the torque demand is too high, or too low the corresponding value of the cost function is set to ‘NaN’ (not a number) and thus the total score is invalid. In addition, certain flags indicating why a certain configuration is considered invalid are set. These flags are used for the selection of a hybrid configuration to be used as described below. *Note: the calculated score may be a valid number but certain ignore flags may be set. For example if the engine speed is slightly too high or the battery SoC is</p> <p>For all valid configurations a cost function is calculated which basically considers the fuel consumption and the electric power:</p> <p><img style="vertical-align:middle" src="data:image/png;base64,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" alt="C = \sum_{i \in \textrm{Fuels}}{FC_{i} \cdot NCV_{i} \cdot dt} + f_{\textrm{equiv}} \cdot (P_\textrm{Bat} \cdot dt + C_{\textrm{Pen1}}) \cdot f_{SoC} + C_{\textrm{Pen2}}" title="C = \sum_{i \in \textrm{Fuels}}{FC_{i} \cdot NCV_{i} \cdot dt} + f_{\textrm{equiv}} \cdot (P_\textrm{Bat} \cdot dt + C_{\textrm{Pen1}}) \cdot f_{SoC} + C_{\textrm{Pen2}}" /></p> <ul> @@ -4707,15 +4709,57 @@ iteration of u values in the previous step, calculate the maximum drive configur <li><img style="vertical-align:middle" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAARBAMAAADXimp6AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAdmZU3TIiRM0Qibvvq5mze/DLAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAtUlEQVQYGVWNsQqCYBSFvxI1KVLaA/sFoa2hV3Bo8wWstqbAoSkoWmsS2lw0aOlBGiN7g6ZmH6Hr5n/g3nvOx+VegE4gra3JvJ3ERxsdWLWeMU46cO6XVCd9X88MYvaqbGCuQk9GgVNxFmMtGH5l7jArpmJ6Pk4DxvBKMQKvWEMs4APbt5ewXElo9JQyoxtus5GBU2OvUQLkBj72tcIu+SUc5IuR4R5jbKVmxuhBHoTQVXKipT+gvSBqGdaAkAAAAABJRU5ErkJggg==" alt="f_\textrm{SoC}" title="f_\textrm{SoC}" /> is a cost factor that depends on the battery’s state of charge.</li> <li><p><img style="vertical-align:middle" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAAQBAMAAABn8nsTAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAid2ZuzKrVCJmEO9Eds0xWRQzAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAs0lEQVQYGWNgYBD6LOwSwIAGWBIY2H+giTHwT2Dg+okuGB/AwPodXXA+AwPzLnTBFAaG0xgWbZl5VwpdIccfoEjzz7lWUInlDkAG5wcgwarAMAUqWP4AyGADEUDBeCAFAhwPgASTAJAAqWSfOeHQdEuIYH8BSHB7rVUIQxazwDqwIKN/OkhwAwOD2Jkc5gJuiEqgEETQFugJDMEQhg6woAJYGZBoBoYIu/iEuKz7BQd3NgAAtyctTX0NWqcAAAAASUVORK5CYII=" alt="P_\textrm{Pen1}" title="P_\textrm{Pen1}" /> is a penalty for starting the combustion engine. It is set to 0.1 times the energy required to ramp up the combustion engine. The ramp-up energy is calculated the same way as for the engine stop/start correction - see <a href="#advanced-driver-assistant-systems-engine-stopstart">Advanced Driver Assistant Systems: Engine Stop/Start</a>.</p> <p>If the combustion engine is currently off and is off in the considered configuration <img style="vertical-align:middle" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAAQBAMAAABn8nsTAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAid2ZuzKrVCJmEO9Eds0xWRQzAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAs0lEQVQYGWNgYBD6LOwSwIAGWBIY2H+giTHwT2Dg+okuGB/AwPodXXA+AwPzLnTBFAaG0xgWbZl5VwpdIccfoEjzz7lWUInlDkAG5wcgwarAMAUqWP4AyGADEUDBeCAFAhwPgASTAJAAqWSfOeHQdEuIYH8BSHB7rVUIQxazwDqwIKN/OkhwAwOD2Jkc5gJuiEqgEETQFugJDMEQhg6woAJYGZBoBoYIu/iEuKz7BQd3NgAAtyctTX0NWqcAAAAASUVORK5CYII=" alt="P_\textrm{Pen1}" title="P_\textrm{Pen1}" /> is set to 0.</p> -If the battery’s SoC is below the lower SoC threshold <img style="vertical-align:middle" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAQBAMAAABJt1qBAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAVImZZiIy3RDNu6t2RO9ilkPgAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABDElEQVQYGV2QPUvDUBSGnyZNSjVpLroqRnRUEBEXRS8pbhkKujdboQ7tqNtFcDY/oZM4BnQuUfwBASe3LA6uji41ucEQeob3Pue859wvWNu5EOhwn/eigwq1tnxGsspPFB95hVo7CkNqMmfg5Bor8QZYUuMkKpapxkq6TzDQeFZq8yx78aJgI8y41Q1NuV784Pgc8dusVmyfywfFkG+dul91hwVmvAVeNi9rGXltOWBPtaVvmNpJbXXBTYaKiSrfZWdOyut+OzHvYzyflcjwOYXiN66KZDXryJseM4y7t2MIA1FMH74LeozwrHiMrDf+hzF9PttpQNG7FIFY59EQuy21ZMClMMLI2u5v8gezMDVOs4zUbwAAAABJRU5ErkJggg==" alt="\textrm{SoC}_{low}" title="\textrm{SoC}_{low}" />, <img style="vertical-align:middle" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAAQBAMAAABn8nsTAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAid2ZuzKrVCJmEO9Eds0xWRQzAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAs0lEQVQYGWNgYBD6LOwSwIAGWBIY2H+giTHwT2Dg+okuGB/AwPodXXA+AwPzLnTBFAaG0xgWbZl5VwpdIccfoEjzz7lWUInlDkAG5wcgwarAMAUqWP4AyGADEUDBeCAFAhwPgASTAJAAqWSfOeHQdEuIYH8BSHB7rVUIQxazwDqwIKN/OkhwAwOD2Jkc5gJuiEqgEETQFugJDMEQhg6woAJYGZBoBoYIu/iEuKz7BQd3NgAAtyctTX0NWqcAAAAASUVORK5CYII=" alt="P_\textrm{Pen1}" title="P_\textrm{Pen1}" /> is set to 0.</li> +If the battery’s SoC is below the lower SoC threshold <img style="vertical-align:middle" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAQBAMAAABJt1qBAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAVImZZiIy3RDNu6t2RO9ilkPgAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABDElEQVQYGV2QPUvDUBSGnyZNSjVpLroqRnRUEBEXRS8pbhkKujdboQ7tqNtFcDY/oZM4BnQuUfwBASe3LA6uji41ucEQeob3Pue859wvWNu5EOhwn/eigwq1tnxGsspPFB95hVo7CkNqMmfg5Bor8QZYUuMkKpapxkq6TzDQeFZq8yx78aJgI8y41Q1NuV784Pgc8dusVmyfywfFkG+dul91hwVmvAVeNi9rGXltOWBPtaVvmNpJbXXBTYaKiSrfZWdOyut+OzHvYzyflcjwOYXiN66KZDXryJseM4y7t2MIA1FMH74LeozwrHiMrDf+hzF9PttpQNG7FIFY59EQuy21ZMClMMLI2u5v8gezMDVOs4zUbwAAAABJRU5ErkJggg==" alt="\textrm{SoC}_{low}" title="\textrm{SoC}_{low}" /> then <img style="vertical-align:middle" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAAQBAMAAABn8nsTAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAid2ZuzKrVCJmEO9Eds0xWRQzAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAs0lEQVQYGWNgYBD6LOwSwIAGWBIY2H+giTHwT2Dg+okuGB/AwPodXXA+AwPzLnTBFAaG0xgWbZl5VwpdIccfoEjzz7lWUInlDkAG5wcgwarAMAUqWP4AyGADEUDBeCAFAhwPgASTAJAAqWSfOeHQdEuIYH8BSHB7rVUIQxazwDqwIKN/OkhwAwOD2Jkc5gJuiEqgEETQFugJDMEQhg6woAJYGZBoBoYIu/iEuKz7BQd3NgAAtyctTX0NWqcAAAAASUVORK5CYII=" alt="P_\textrm{Pen1}" title="P_\textrm{Pen1}" /> is set to 0.</li> <li><p>$P_ is a penalty considering idling costs of the combustion engine, currently set to 0.</p></li> </ul> <p><img style="vertical-align:middle" src="data:image/png;base64,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" alt="f_\textrm{SoC} = 1 - \left(\frac{\textrm{SoC} - \textrm{TargetSoC}}{0.5 \cdot (\textrm{SoC}_\textrm{max} - \textrm{SoC}_{min}} \right)^5 + C_\textrm{SoC}" title="f_\textrm{SoC} = 1 - \left(\frac{\textrm{SoC} - \textrm{TargetSoC}}{0.5 \cdot (\textrm{SoC}_\textrm{max} - \textrm{SoC}_{min}} \right)^5 + C_\textrm{SoC}" /></p> <p><img style="vertical-align:middle" src="data:image/png;base64,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" alt="C_\textrm{SoC} = \left\{ \begin{array}{ll} \frac{p_\textrm{minSoC}}{\textrm{SoC}_\textrm{min} - \textrm{SoC}_{low}} \cdot \textrm{SoC} + p_\textrm{minSoC} - \frac{p_\textrm{minSoC}}{\textrm{SoC}_\textrm{min} - \textrm{SoC}_{low}} \cdot \textrm{SoC}_{min} : \textrm{SoC} < \textrm{SoC}_{low}\\ 0 : \textrm{otherwise} \end{array} \right." title="C_\textrm{SoC} = \left\{ \begin{array}{ll} \frac{p_\textrm{minSoC}}{\textrm{SoC}_\textrm{min} - \textrm{SoC}_{low}} \cdot \textrm{SoC} + p_\textrm{minSoC} - \frac{p_\textrm{minSoC}}{\textrm{SoC}_\textrm{min} - \textrm{SoC}_{low}} \cdot \textrm{SoC}_{min} : \textrm{SoC} < \textrm{SoC}_{low}\\ 0 : \textrm{otherwise} \end{array} \right." /></p> <p><img style="vertical-align:middle" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVQAAAATBAMAAAA9lujmAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAVImZZiIy3RDNu6t2RO9ilkPgAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAD6klEQVRIDbVWT4gbZRT/TSYzmSYzzTa1t6XNtiIFV1jKKmqtna20FNpChIJIkR3sYdFiNwcPETwMUqhowVwq2tMc2lJ6Sm27FNLWuIY92FVmbQ/iio43vS1Fl1WR9X3vSybTyWS2h/gOX9733u+995vvz/sC/N9ybigFTJGltOvgiMxmXR93JgYkfjxUUnADys7JVzue5T0LahJI2lKKGERMKWPGlsi9Lu4HUo2PymOhgJ8O+CLU+jRMYPooQX9XztVbsF4OXXFFSSvyBJBzkbEhRPUAMxBav2yIcjlGr+M8KdrCaphiE1ADnpTzF+nnu9AVV1KLUJ5iBZrNQbMO/VRZ7Rs2RB3jkPwIvmalR5VW40/gOFt1Yc6xmjSkFsmMYNMVoMKBvDN0JJJkQ5SkWnTwM4f3qF4CLrjQ2KoG9KOymjSkFrEa0NdvuMDoUR/vJYV3bBuiJNXZCmYpG9CjGgCz/xymO9H+Frm68A2U9CIBcGr9IcwyJvF3f469TZIvhD0NJfyS6i9ElbeoR7UK6F+ulzEP1S56AjpYUousUJy+3/7ExTR+5xwzfnKqR1ESo9ghNlxVYkvCVF9z6IbVxfTkH8YatJXNPBGGAZJUhA47y2/iFKn1HXS9/LvC4quJVOMoGd0d1Wbz82azDEw72OEKK1M9TamoJ4ir8IKyAvxbCMhlCX9UfrxKcpEs6UVqoGdArzJV7gCtZKpxVLQU63JViz628zQ8AEYVaAEzTJU7AKUaIOlFAlC/shrTLl0H0Vd1WlVlqrX90Pv5BiUMz2ocde6ZrcdLOGLMLz0v60qqeRv3eB5SRQDUgWVtDfoaRF99h4KenSpjrI2lfd3d5aBYkR8Yl21QLZf8AYpl5J1MGS8RMZf6n+qfwsmCfy3L0d0hjrJXTS+XzZ0pOmMSIqlaHj0BJ1za624gPgMeApexE2oL9FppdrbofINq3pk37NvfhzhSYkUkzq7Zq9RToXnIfDD/HHD0AM2sPe0RojqOojJx71GqcZTuFfyzeB1vY04Wk1QxWvJxumI8/ddT0gx8Bewe3+Ug2xYfdX98ChR0x6jOYJ/BT1sXiD4qjNPqVMsBsnYP2NGYKn796I0+T9RgtnLuVnouF8UGC+lQlZPoeCI6kfoiasrEK/TeGlWj39uzMC5jm63NZMu7PUdHEwdgGU3T6/NEDQXnLO7Q3sxZN322fxj1RvWEEnNGtfCgpNVGt3jbotC4zrjcmYKzTOuW8Mlv3VLau/FA/OlKkTzexKIzWfGMGyko4dL6E3l62VxQt9y2jo3J7xyQQuIO5vGxDXSu7wDocMxLQ0mTdYaSJj0JNfYhCGX5D/3qMZa0lc+KAAAAAElFTkSuQmCC" alt="\textrm{SoC}_\textrm{low} = \textrm{SoC}_{min} + 0.1 \cdot \left(\textrm{SoC}_{max} - \textrm{SoC}_{min}\right)" title="\textrm{SoC}_\textrm{low} = \textrm{SoC}_{min} + 0.1 \cdot \left(\textrm{SoC}_{max} - \textrm{SoC}_{min}\right)" /></p> +<div id="flags-for-ignoring-a-evaluated-hybrid-configuration" class="section level4"> +<h4>Flags for ignoring a evaluated hybrid configuration</h4> +<ul> +<li><em>EngineSpeedTooLow</em>: the engine speed is below the engine idle speed</li> +<li><em>EngineSpeedTooHigh</em>: the engine speed is above the engine’s <img style="vertical-align:middle" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAALBAMAAAB1x0uHAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAVHZmEKsyIkTvu92Zic2ZjesdAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAmklEQVQIHWNgVHY2TWBAAhWZBowLkPgMAtYMTAEMTUYMB2sKvBRAMmcZWBVYNvA2xE9mYG0ACcxg4C9gXsAYYMDAwA3is39gkONgDmB8cMmWwdv4AgMD8wOGs8xALRsKeA3kGDYwMDAZMOSKMAg1PWBgXnCCBSgAAQ5M1xYwLtjCeAAmsIHL3YDHZANrM0zAUJ1BWIntArMGAwB82yGfFCHBCgAAAABJRU5ErkJggg==" alt="n_{95h}" title="n_{95h}" /> speed</li> +<li><em>EngineTorqueDemandTooHigh</em>: the torque demanded from the engine is above the dynamic full-load</li> +<li><em>EngineTorqueDemandTooLow</em>: the torque demanded from the engine is below the drag-torque</li> +<li><em>EngineSpeedAboveUpshift</em>: the engine operating point is right of the upshift line of the current gear</li> +<li><em>EngineSpeedBelowDownshift</em>: the engine operating point is left of the downshift line of the current gear</li> +<li><em>BatteryBelowMinSoC</em>: the battery’s state of charge falls below the allowed minimum SoC</li> +<li><em>BatteryAboveMaxSoC</em>: the battery’s state of charge exceeds the allowed maximum SoC</li> +<li><em>BatterySoCTooLow</em>: the strategy may add a certain safety margin to the minimum SoC for certain reasons. Set if the SoC falls below the lower boundary <img style="vertical-align:middle" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAAQBAMAAACra0H4AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAVImZZiIy3RDNu6t2RO9ilkPgAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABCElEQVQYGWNgEFJ2FWAAA97NOgkGECaYZFRgSHeA8K0bGC4/gDDBJHsDA5MDmMW8gIGB5wGYCSH4AxhYHcDM/AQgVQBmQgjOFQwMAWCmHYhEtovt/5YGBgYZnwsMlWAFyET2/08MPAoMJgy/kEUhbDZ7h/4GhniGl2Bu+gW4ClYGBuYJ8gwM/Bf2gcQuMCOkeBgY2ArAUmAXHkCS4mRg4N0Q38CQ3wDyFxtQF6PjATm3Gq4NDPwKDFwJTAoMNgwMwNAIYWC+kM2QzH1hIwsDA1PTITMGBh8nAaBuoyMCQCkdBn5Gg9NAKXQAlmJ42BWLLgF0LtDA2wy7eRZgSmXuYDyiwXCFw4ABAJTROdGQCcplAAAAAElFTkSuQmCC" alt="\textrm{SoC}_\textrm{low}" title="\textrm{SoC}_\textrm{low}" /></li> +</ul> +</div> </div> <div id="selection-of-the-best-option." class="section level3"> <h3>Selection of the best option.</h3> +<p>From the list of possible hybrid powertrain configurations with its cost value the best option is selected according to the following list of conditions. If one or many configurations match the criteria listed in a step, the first configuration is used. If no configuration matches the criteria the next step is evaluated.</p> +<ol style="list-style-type: decimal"> +<li>Select all configurations with a valid score (i.e. the score is not NaN). +<ul> +<li>If the vehicle speed is above the gearbox’ start speed no flag to ignore the configuration must be set.</li> +<li>If the vehicle speed is below the gearbox’ start speed (i.e. the vehicle is accelerating from standstill) the engine speed must not be too high.</li> +<li>Order the configurations by score</li> +</ul></li> +<li>Select all configurations with a valid score and the engine speed is valid (i.e., not too high, nor too low and within the shift lines) and order by score</li> +<li>Select all configurations with a valid score and order by score</li> +<li>If the driver is accelerating and in all evaluated configurations the engine’s torque demand is above the engine’s maximum torque filter the possible configurations according to the following criteria +<ol style="list-style-type: decimal"> +<li>If the electric motor can propell during traction interruptions (i.e., P4 and P3 configurations) or the gearbox is engaged (P2 configuration) select all configurations where the battery SoC is within the allowed range, order the configurations by difference in gear to the current gear and then order the configurations by the mecanical torque the electric motor can provide</li> +<li></li> +</ol></li> +<li>If the driver is accelerating and in all evaluated configurations the engine’s torque demand is below the engine’s drag torque filter the possible configurations according to the following criteria. If the electric motor can propel during traction interruptions (i.e., P4 and P3 configurations) or the gearbox is engaged (P2 configuration) +<ol style="list-style-type: decimal"> +<li>Select all configurations where the engine speed is valid and the battery’s SoC is within the allowed range and order the configurations by the difference in gear to the current gear and then by the mechanical torque the motor can provide</li> +<li>Select all configurations where the battery’s SoC is within the allowed range and order the configurations by the difference in gear to the current gear and then by the mechanical torque the motor can provide</li> +</ol></li> +<li>If the driver is accelerating and the gearbox is engaged filter the possible configurations according to the following criteria. +<ol style="list-style-type: decimal"> +<li>Select all configurations where the engine speed is not too low nor too high and order the configurations by the difference in gear to the current gear</li> +<li>If no entries match the previous criteria order all configurations by the difference in gear to the current gear</li> +<li>Order the configurations by the mechanical torque provided by the electric motor</li> +</ol></li> +<li>If the driver is braking and the gearbox is engaged select all configurations where the battery SoC is within the allowed range and order by the torque the electric motor can apply for braking</li> +</ol> </div> </div> </div> @@ -5221,6 +5265,19 @@ If the battery’s SoC is below the lower SoC threshold <img style="vertical-ali 1695 , 788.74 , -788.74 ...</code></pre> </div> +<div id="electric-motor-drag-curve-file-.vemd" class="section level2"> +<h2>Electric Motor Drag Curve File (.vemd)</h2> +<p>This file contains the electric motor’s drag torque (i.e. the eletric motor is not energized) depending on the motor’s angluar speed. The file uses the <a href="#csv">VECTO CSV format</a>.</p> +<ul> +<li>Filetype: .vemd</li> +<li>Header: <strong>n [rpm] , T_drag [Nm]</strong></li> +<li>Requires at least 2 data entries</li> +</ul> +<p><strong>Example:</strong></p> +<pre><code>n [rpm] , T_drag [Nm] +0 , -10 +5000 , -50</code></pre> +</div> <div id="electric-motor-map-.vemo" class="section level2"> <h2>Electric Motor Map (.vemo)</h2> <p>This file is used to interpolate the electric power required for a certain mechanical power at the eletric motor’s shaft. The file uses the <a href="#csv">VECTO CSV format</a>.</p>