modelGenset
Extends from Partial.PartialGenset (GenSet= GMS+ICE+GEN).
Information
Generator set containing Internal Combustion Engine (ICE), electric generator (with DC output), and the related control.
This model models a generator set, as the one present in a series-hybrid vehicle: it contains an Internal Combustion engine (ICE), coupled through an ideal reduction gear (set its ratio to 1 in case it is absent) to an electric generator (with DC output).
It contains also the control logic of this set, that asks the ICE deliver, using the optimal generator speed, the requested input power. Actual DC power will be lower, due to the generator efficiency.
The model can work at two levels of complexity (and modeling detail).
Level 1: Fixed limits, fixed consumption
At this level, the model will limit the torque internally exchanged between ICE and generator to maxTau, its speed to maxGenW, its power to maxGenPow. Fuel consumption is evaluated using a fixed value of g/kWh, reference ICE speed is constant, gen efficiency is constant.
To operate at this level, parameter mapsOnFile must be unselected (i.e., false).
Level 2: limits and consumption from a txt file
At this level, the model will limit the torque internally exchanged between ICE and generator to matrices read from a txt file. The file and matrix names can be inputted, while it is easier to stick with the default names.
Input and output values to all matrices are multiplied by factors that are under user control. This allows using matrices with different units of measures (e.g. rpm or rad/s), and/or re-use matrices for devices with different maximum values, but limits and/or consumption with the same shape. If we, for instance, multiply input torque and speed by two, we can use torque limits referring to a machine having twice the maximum torque and speed, and the same shape between 0 and maxima. If we multiply output consumption by 0.8, we will have an engine with the same consumption map shape, but lower consumptions values by 20%.
ICE consumption and generator efficiency are evaluated according to maps read from the input txt file.
***************
This model uses GMS, IceT and OneFlange EHPTlib models.
All of them allow implementing limitation of torque between iceT and gen. Torque limitation in principlle should be done by the HW, so ICE and Gen, Further limitation in the GMS is in principle un-needed.
However it has been seen that giving charge of this limitation only to HW produces unacceptable results when genset power in involved in model SHEV_OO. It in not totally clear why this happens. Since, however, leaving in place also the GM limtation does not harm, it is left in place, and therefore the GMS is still contributing to torque limitation.
IceT and gen torque limiations are different: gen has a near-symmetrical torque limitation, while ICE, as it is implemented has zero minimum torque. This does not create issues, since the power request to ICE is always positive, and therefore gen will never (or nearly never) apply accelerating torques to the ICE.
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Real | gsRatio (from PartialGenset) | 1 | IdealGear speed reduction factor |
| Real | throttlePerWerr (from PartialGenset) | 100/maxGenW | internal throttle controller proportional gain |
| Real | uDcNom (from PartialGenset) | 100 | nominal DC voltage (only order of magnitude needs to be right |
| Boolean | mapsOnFile (from PartialGenset) | true | |
| Modelica.Units.SI.AngularVelocity | constOptimalSpeed (from PartialGenset) | 100 | Optimal speed when mapsOnfile=false |
| ICE parameters | |||
| Modelica.Units.SI.MomentOfInertia | jIce (from PartialGenset) | 0.1 | ICE moment of inertia |
| Modelica.Units.SI.AngularVelocity | wIceStart (from PartialGenset) | 167 | |
| Real | constFuelConsumption (from PartialGenset) | 200 | Fuel consumption in g/kWh when mapsOnfile=false |
| Generator parameters | |||
| Modelica.Units.SI.MomentOfInertia | jGen (from PartialGenset) | 0.1 | Generator moment of inertia |
| Modelica.Units.SI.AngularVelocity | maxGenW (from PartialGenset) | 1e6 | Max generator angular speed when not mapsOnFile |
| Modelica.Units.SI.Power | maxGenPow (from PartialGenset) | 100e3 | Max mechanical power of the internal generator when not mapsOnFile |
| Modelica.Units.SI.Torque | maxTau (from PartialGenset) | 200 | Max torque between internal ICE and generator when not mapsOnFile |
| Real | constGenEfficiency (from PartialGenset) | 0.85 | Gen efficiency when mapsOnfile=false |
| Map related parameters | |||
| String | mapsFileName (from PartialGenset) | "maps.txt" | File containing data maps |
| Map related parameters › GMS parameters | |||
| String | optiSpeedName (from PartialGenset) | "optiSpeed" | Name of the on-file specific consumption variable |
| Real | osInFactor (from PartialGenset) | 1 | Factor before inputting pRef into map from txt file |
| Real | osOutFactor (from PartialGenset) | 2*pi/60 | Factor after reading optiSpeed from txt file |
| Map related parameters › ICE parameters | |||
| String | specConsName (from PartialGenset) | "specificCons" | Name of the on-file specific consumption variable |
| Real | scTorqueFactor (from PartialGenset) | 1 | Torque multiplier for specific consumption map |
| Real | scSpeedFactor (from PartialGenset) | 2*pi/60 | Torque multiplier for specific consumption map |
| Real | scConsFactor (from PartialGenset) | 1 | Output multiplier for specific consumption map |
| String | iceTauLimitName (from PartialGenset) | "maxIceTau" | Name of the on-file max ICE torque matrix |
| Real | tlIceTorqueFactor (from PartialGenset) | 1 | Torque multiplier for torque limit map |
| Real | tlIceSpeedFactor (from PartialGenset) | 1 | Speed multiplier for torque limit map |
| Map related parameters › Gen parameters | |||
| String | efficiencyName (from PartialGenset) | "gensetGenEff" | Name of the on-file generator efficiency matrix |
| Real | eTorqueFactor (from PartialGenset) | 1 | Factor applied to input torque for efficiencies when they are from file |
| Real | eSpeedFactor (from PartialGenset) | 60/(2*pi) | Factor applied to input speed for efficiencies when they are from file |
| String | genTauLimitName (from PartialGenset) | "minMaxGenTau" | Name of the on-file max ICE torque matrix |
| Real | tlGenTorqueFactor (from PartialGenset) | 1 | Torque multiplier for torque limit map |
| Real | tlGenSpeedFactor (from PartialGenset) | 1 | Speed multiplier for torque limit map |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Electrical.Analog.Interfaces.PositivePin | pin_p (from PartialGenset) | ||
| Modelica.Electrical.Analog.Interfaces.NegativePin | pin_n (from PartialGenset) | ||
| Modelica.Blocks.Interfaces.RealInput | powRef (from PartialGenset) | Reference genset power |