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

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

updating user manual

parent 9586df9d
No related branches found
No related tags found
No related merge requests found
No preview for this file type
......@@ -49,13 +49,12 @@ $E_{ICE,start} = E_{ICE,rampUp} / \eta_{alternator}^2$
$E_{ICE,start}$ is the amount of energy the combustion engine needs to provide to compensate the start up is the ramp-up energy multiplied by the efficiency of the alternator. $t_{ICE,start}$ is assumed to be 1 second and $\eta_{alternator}$ is 0.7.
###Utility Factor
###Auxiliaries and Utility Factor
Engine Stop/Start is usually not activated at every vehicle stop. This is considered in VECTO via a utility factor (e.g. 0.8). This utility factor (f) is applied for every engine stop as follows:
- the auxiliary demand during engine stops is multiplied by the utility factor
- the fuel consumption FC_final during engine stop is the fuel consumption with the engine idling and all auxiliaires on multiplied by 1-f
- the energy demand for starting the engine is multiplied by the utility factor
During ICE-off phases the ICE is fully shut of in the simulation (.vmod data). However, in reality the ICE is not always switched off due to certain
boundary conditions (e.g. power demand from an auxiliary, temperature, etc.). This is considered in the [post-processing](#engine-fuel-consumption-correction).
Therefore, the demand for different auxiliaries is balanced in separate columns in the [.vmod](#modal-results-.vmod) file for the two cases a) ICE is really off, and b) ICE would be on.
This is done for the mechanical auxiliaries, bus-aux electric demand (all different cases like ES connected to the REESS, smart ES, conventional ES, and combinations thereof), bus-aux pneumatic system. A detailed description which auxiliary power demand is balanced in which columns can be found in [this spreadsheet](BusAuxCases with ESS_Formatted.xlsx) for all combinations of conventional vehicles, bus auxiliaries, and hybrid vehicles.
<div class="declaration">
**Auxiliary energy demand**
......@@ -67,7 +66,12 @@ In Declaration Mode the energy demand of all auxiliaries except the engine cooli
<div class="engineering">
**Auxiliary energy demand**
In Engineering Mode the energy demand of all auxiliaries is assumed to be drawn also during engine-off periods and the fuel consumption is corrected in a post-processing step.
In Engineering Mode the energy demand of the auxiliaries can be specified for the cases:
- ICE on
- ICE off, vehicle standstill
- ICE off, vehicle driving
</div>
......@@ -167,7 +171,7 @@ In declaration mode, the whole long-haul cycle is considered as highway. Moreove
1. In a preprocessing step the road gradient where the vehicle would accelerate on its own is computed for certain velocities. If the vehicle is equipped with eco-roll the powertrain is declutched, otherwise the engine is in full drag. The slope is calculated for every simulated cycle as this values vary with the vehicle's payload, rolling resistance and air drag.
2. All positions in the driving cycle where the slope is lower than the road gradient required that the vehicle accelerates on its own are marked as potential candidates for PCC events. At this distance the vehicle's velocity shall be a minimum. Denoted as $x_{v_{low}}$.
3. For every potential PCC event, the end position is marked in the driving cycle. This is the first position in the driving cycle after $x_v_{low}}$ where the slope is greater than the road gradient required that the vehicle accelerates on its own. Latest at this position the vehicle shall reach the target velocity again. Denoted as $x_{end, max}$
3. For every potential PCC event, the end position is marked in the driving cycle. This is the first position in the driving cycle after $x_{v_{low}}$ where the slope is greater than the road gradient required that the vehicle accelerates on its own. Latest at this position the vehicle shall reach the target velocity again. Denoted as $x_{end, max}$
4. For every potential PCC event, the earliest start position is marked. This is calculated as $x_{start} = x_{v_{low}} - d_{preview}$.
5. For every potential PCC event, the vehicle's energy is calculated:
$E(x_{v_{low}}) = m \cdot g \cdot h(x_{v{low}}) + \frac{m \cdot (v_{target}(x_{v_{low}}) - v_{neg})^2}{2}$
......
......@@ -4,30 +4,109 @@ The final fuel consumption is corrected in a post-processing to reflect systems
###Engine Stop/Start Correction
As the energy demand of auxiliaries is modeled as an average power demand over the whole simulated cycle, the energy demand of certain auxiliaries during engine-off periods needs to be compensated during engine-on periods. This is done using the [Engine-Line approach](##engine-line-approach). The energy demand of the auxiliaries that shall be active also during engine-off periods as well as the energy demand for starting the engine is accumulated (see [Engine Stop/Start](#advanced-driver-assistant-systems-engine-stopstart), [Eco-Roll with Engine Stop/Start](#advanced-driver-assistant-systems-eco-roll), and [PCC with Eco-Roll and Engine Stop/Start](#advanced-driver-assistant-systems-predictive-cruise-control)) during the simulation. The final fuel consumption is corrected for this "missing" energy
As the energy demand of auxiliaries is modeled as an average power demand over the whole simulated cycle, the demand of certain auxiliaries during engine-off periods needs to be compensated during engine-on periods. This is done using the [Engine-Line approach](#engine-line-approach).
###Bus Auxiliaries Correction
During the simulation the combustion engine is allways off. In this phases the "missing" auxiliary demand is balanced in separate colums for the cases a) the ICE is really off, and b) the ICE would be on. This allows for an accurate correction of the fuel consumption taking into account that ESS is in reality not active in all possible cases due to e.g. auxiliary power demand, environmental conditions, etc.
**Electric System**
A general goal is that the actual auxiliary demand matches the target auxiliary demand over the cycle. So in case the ICE is off, some systems still consume electric energy but no electric energy is created during ICE-off phases. Or in case of bus auxiliaries the total air demand is pre-calculated and thus leading to an average air demand over the cycle. During ICE-off phases, however, no compressed air is generated. This 'missing' compressed air is corrected in the post-processing.
In case smart electrics are used the electric energy generated may be different from the electric energy consumed as the smart alternator may generate more electric power in drag situations. Moreover, the state of charge of a battery may be different at the end of the simulated cycle than at the beginning and thus the fuel consumption needs to be corrected.
A utility factor (UF) considers that the ICE is not off in all cases. Therefore the fuel consumption for compensating the missing auxiliary demand consists of two parts. The first part considers the fuel consumption required for the 'missing' auxiliary demand if the ICE is really off. Here the according auxiliary energy demand is multiplied by the utility factor and the engine line. The second part considers the fuel consumption in case the ICE would not be switched off. Here the 'missing' auxiliary energy demand is multiplied by (1 - utility factor) and the engine line and the idle fuel consumption is added for time periods the ICE would be on.
$\Delta E_\textrm{ES} = E_\textrm{ES,consumed} - E_\textrm{ES,generated} + (\textrm{SOC}_\textrm{start} - \textrm{SOC}_\textrm{end}) * \textrm{Capacity}_{\textrm{RESS}}$
For the post-processing two different utility factors are considered. One for ICE-off phases during vehicle standstill and one for ICE-off phases during driving.
$E_\textrm{ES,mech,corr} = \Delta E_\textrm{ES} / \eta_\textrm{alternator} / \eta_\textrm{pulley}$
####ICE Start
**Pneumatic System**
$\textrm{E\_ICE\_start} = \sum{\textrm{P\_ICE\_start} \cdot dt}$
In case of smart pneumatics the total air generated may be different from the total air consumed by all pneumatic consumers as the smart compressor generates more compressed air in drag situations. The fuel energy difference is corrected according to the following equations:
$\textrm{FC\_ICE\_start} = \textrm{E\_ICE\_start} \cdot k_\textrm{engline}$
$\Delta \textrm{Air} = \textrm{Air}_\textrm{consumed,total} - \textrm{Air}_\textrm{generated,total}$
####Mechanical Auxiliaries
$k_\textrm{Air} = (E_\textrm{PS,generated} - E_\textrm{PS,off}) / (\textrm{Air}_\textrm{generated,total} - 0)$
$\textrm{E\_aux\_ESS\_mech\_ICEoff\_standstill} = \sum_{\forall \textrm{v\_act}_i = 0}{\textrm{P\_aux\_ESS\_mech\_ICE\_off} \cdot dt}$
$E_\textrm{PS,corr} = k_\textrm{Air} * \Delta \textrm{Air}$
$\textrm{E\_aux\_ESS\_mech\_ICEoff\_driving} = \sum_{\forall \textrm{v\_act}_i > 0}{\textrm{P\_aux\_ESS\_mech\_ICE\_off} \cdot dt}$
**Aux Heater**
$\textrm{E\_aux\_ESS\_mech\_ICEon\_standstill} = \sum_{\forall \textrm{v\_act}_i = 0}{\textrm{P\_aux\_ESS\_mech\_ICE\_on} \cdot dt}$
$\textrm{E\_aux\_ESS\_mech\_ICEon\_driving} = \sum_{\forall \textrm{v\_act}_i > 0}{\textrm{P\_aux\_ESS\_mech\_ICE\_on} \cdot dt}$
$\begin{align*}
\textbf{\textrm{FC\_ESS}} =\, & \textrm{FC\_ICE\_start} + \\
& \textrm{E\_aux\_ESS\_mech\_ICEoff\_standstill} \cdot k_\textrm{engline} \cdot \textrm{UF}_\textrm{standstill} + \\
& (\textrm{E\_aux\_ESS\_mech\_ICEon\_standstill} \cdot k_\textrm{engline} + \textrm{FC}(n_\textrm{idle}, 0) \cdot \textrm{t\_ICEoff\_standstill}) \cdot (1 – \textrm{UF}_\textrm{standstill}) \\
& \textrm{E\_aux\_ESS\_mech\_ICEoff\_driving} \cdot k_\textrm{engline} \cdot \textrm{UF}_\textrm{driving} + \\
& (\textrm{E\_aux\_ESS\_mech\_ICEon\_driving} \cdot k_\textrm{engline} + \textrm{FC}(n_\textrm{idle}, 0) \cdot \textrm{t\_ICEoff\_driving}) \cdot (1 – \textrm{UF}_\textrm{driving})
\end{align*}
$
####Bus Auxiliaries Correction -- Electric System
The bus auxiliaries electric system correction is used for conventional vehicles with ESS and buses with smart electric system in the same way.
$\textrm{E\_BusAux\_ES\_consumed} = \sum{\textrm{P\_BusAux\_ES\_consumed} \cdot dt}$
$\textrm{E\_BusAux\_ES\_gen} = \sum{\textrm{P\_BusAux\_ES\_gen} \cdot dt}$
$\Delta\textrm{E\_BusAux\_ES\_mech} = (\textrm{E\_BusAux\_ES\_consumed} – \textrm{E\_BusAux\_ES\_gen}) / \textrm{AlternatorEfficiency} / \textrm{AlternatorGearEfficiency}$
$\textbf{\textrm{FC\_BusAux\_ES}} = \textrm{E\_BusAux\_ES} \cdot k_\textrm{engline}$
####Bus Auxiliaries Correction -- Electric System Supply from REESS
$\textrm{E\_DCDC\_missing} = \textrm{P\_DCDC\_missing} \cdot dt$
$\textrm{E\_DCDC\_missing\_mech} = \textrm{E\_DCDC\_missing} / \textrm{DCDC\_ConverterEfficiency} / \eta_{\textrm{EM}_\textrm{chg}}$
$\textbf{\textrm{FC\_DCDCMissing}} = \textrm{E\_DCDC\_missing\_mech} \cdot k_\textrm{engline}$
####Bus Auxiliaries Correction -- Pneumatic System
For the pneumatic system the goal of the post-processing correction is that the correct amount of compressed air is generated, even when the ICE is off. As the average
air demand is calculated with an estimated cycle driving time, the first step is to correct the air demand using the actual cycle driving time.
The missing (or excessive) amout of air is transferred into mechanical energy demand using $k_\textrm{Air}$. This value depicts the delta energy demand for a certain delta compressed air.
$k_\textrm{Air}$ is derived from two points. on the one hand the compressor runs in idle mode, applying only the drag load and producing no compressed air and the second point is that the compressor
is always on, applying the always-on mechanical power demand and generating the maximum possible amount of compressed air.
The mechanical energy is then corrected using the engineline.
$\textrm{E\_busAux\_PS\_drag} = \sum_{\textrm{Nl\_busAux\_consumed}_i = \textrm{Nl\_busAux\_gen}_i}{\textrm{P\_busAux\_PS\_drag}\cdot dt}$
$\textrm{E\_busAux\_PS\_alwaysOn} = \sum_{\textrm{Nl\_busAux\_consumed}_i = \textrm{Nl\_busAux\_gen}_i}{\textrm{P\_busAux\_PS\_alwaysOn} \cdot dt}$
$\textrm{Nl\_alwaysOn} = \sum_{\textrm{Nl\_busAux\_consumed}_i = \textrm{Nl\_busAux\_gen}_i}{\textrm{Nl\_busAux\_gen\_max}}$
$k_\textrm{Air} = \frac{\textrm{E\_busAux\_PS\_alwaysOn} – \textrm{E\_busAuxPS\_drag}}{\textrm{Nl\_alwaysOn} – 0}$
![](pics/BusAux_PS_kAir.png)
$\textrm{CorrectedAirDemand} = \textrm{[Calculate Air demand with actual cycle time]}$
$\textrm{AirGenerated} = \sum{\textrm{Nl\_busAux\_PS\_gen}}$
$\Delta\textrm{Air} = \textrm{CorrectedAirDemand} – \textrm{AirGenerated}$
$\textrm{E\_busAux\_PS\_corr} = \Delta\textrm{Air} \cdot k_\textrm{Air}$
$\textrm{FC\_BusAux\_PS\_AirDemand} = \textrm{E\_busAux\_PS\_corr} \cdot k_\textrm{engline}$
$\textrm{FC\_BusAux\_PS\_Drag\_ICEoff\_driving} = \textrm{P\_PS\_drag}(n_\textrm{idle}) \cdot k_\textrm{engline} \cdot \textrm{t\_ICEoff\_driving} \cdot (1 – \textrm{UF}_\textrm{driving})$
$\textrm{FC\_BusAux\_PS\_Drag\_ICEoff\_standstill} = \textrm{P\_PS\_drag}(n_\textrm{idle}) \cdot k_\textrm{engline} \cdot \textrm{t\_ICEoff\_standstill} \cdot (1 – \textrm{UF}_\textrm{standstill})$
$\begin{align*}
\textbf{\textrm{FC\_BusAux\_PS}} =\, & \textrm{FC\_BusAux\_PS\_AirDemand} + \\
& \textrm{FC\_BusAux\_PS\_Drag\_ICEoff\_driving} + \\
& \textrm{FC\_busAux\_PS\_Drag\_ICEoff\_standstill} \\
\end{align*}
$
####Bus Auxiliaries Correction -- Aux Heater
The power demand for an additional fuel-fired heater is calculated in the post-processing. The HVAC steaty state model calculates the heating demand (weighted sum of different climatic conditions) and based on the engine's average waste heat over the cycle the power demand for the aux heater is calculated.
......@@ -35,7 +114,38 @@ $E_\textrm{ice,waste heat} = \sum_\textrm{fuels} FC_\textrm{final,sum}(fuel) * N
$\overline{P}_\textrm{ice,waste heat} = E_\textrm{ice, waste heat} / t_\textrm{cycle}$
$E_{auxHeater} = P_\textrm{HVACSSM,auxHtr}(\overline{P}_\textrm{ice,waste heat}) * t_\textrm{cycle}$
$E_{auxHeater} = \textrm{HVACSSM}_\textrm{AuxHtr}(\overline{P}_\textrm{ice,waste heat}) * t_\textrm{cycle}$
####Waste Heat Recovery Systems
$\textrm{E\_WHR\_mech} = \sum{\textrm{P\_WHR\_mech} \cdot dt}$
$\textrm{E\_WHR\_el} = \sum{\textrm{P\_WHR\_el} \cdot dt}$
$\textrm{E\_WHR\_el\_mech} = \begin{cases}
\textrm{E\_WHR\_el} / \textrm{AlternatorEfficiency} & if conventional truck \\
\textrm{E\_WHR\_el} / \eta_{\textrm{EM}_\textrm{chg}} & if bus with ES connected to REES and smart alternator \\
\textrm{E\_WHR\_el} / \textrm{BusAlternatorEfficiency} & otherwise
\end{cases}
$
$\textbf{\textrm{FC\_WHR}} = - (\textrm{E\_WHR\_mech} + \textrm{E\_WHR\_el\_mech}) \cdot k_\textrm{engline}$
####Hybrid Vehicles: REESS SoC Correction
If the REESS Soc at the end of the simulation is higher than the initial SoC the correction is done according to:
$\textbf{\textrm{FC\_SoC}} = -\frac{\Delta\textrm{E\_REESS} \cdot k_\textrm{engline}}{\eta_{\textrm{EM}_\textrm{chg}} \cdot \eta_{\textrm{REESS}_\textrm{chg}}} $
If the REESS Soc at the end of the simulation is lower than the initial SoC the correction is done according to:
$\textbf{\textrm{FC\_SoC}} = - \Delta\textrm{E\_REESS} \cdot k_\textrm{engline} \cdot \eta_{\textrm{EM}_\textrm{dischg}} \cdot \eta_{\textrm{REESS}_\textrm{dischg}} $
###Engine-Line Approach
......
Documentation/User Manual/pics/BusAux_PS_kAir.png

34.9 KiB

......@@ -432,15 +432,15 @@ namespace TUGraz.VectoCore.Models.Simulation.Data
P_electricMotor_mech_B2,
// -->
[ModalResultField(typeof(SI), caption: "P_reess_T [kW]", outputFactor: 1e-3)] P_reess_terminal,
[ModalResultField(typeof(SI), caption: "P_reess_int [kW]", outputFactor: 1e-3)] P_reess_int,
[ModalResultField(typeof(SI), caption: "P_reess_loss [kW]", outputFactor: 1e-3)] P_reess_loss,
[ModalResultField(typeof(SI), caption: "P_REESS_T [kW]", outputFactor: 1e-3)] P_reess_terminal,
[ModalResultField(typeof(SI), caption: "P_REESS_int [kW]", outputFactor: 1e-3)] P_reess_int,
[ModalResultField(typeof(SI), caption: "P_REESS_loss [kW]", outputFactor: 1e-3)] P_reess_loss,
[ModalResultField(typeof(SI), caption: "REESS SOC [%]", outputFactor: 100)] REESSStateOfCharge,
[ModalResultField(typeof(SI), caption: "P_reess charge max [kW]", outputFactor: 1e-3)] P_reess_charge_max,
[ModalResultField(typeof(SI), caption: "P_reess discharge max [kW]", outputFactor: 1e-3)] P_reess_discharge_max,
[ModalResultField(typeof(SI), caption: "U_reess_terminal [V]")] U_reess_terminal,
[ModalResultField(typeof(SI), caption: "U_0_reess [V]")] U0_reess,
[ModalResultField(typeof(SI), caption: "I_reess [A]")] I_reess,
[ModalResultField(typeof(SI), caption: "P_REESS_charge_max [kW]", outputFactor: 1e-3)] P_reess_charge_max,
[ModalResultField(typeof(SI), caption: "P_REESS_discharge_max [kW]", outputFactor: 1e-3)] P_reess_discharge_max,
[ModalResultField(typeof(SI), caption: "U_REESS_terminal [V]")] U_reess_terminal,
[ModalResultField(typeof(SI), caption: "U_0_REESS [V]")] U0_reess,
[ModalResultField(typeof(SI), caption: "I_REESS [A]")] I_reess,
[ModalResultField(typeof(SI), caption: "T_max_propulsion [Nm]")] MaxPropulsionTorqe,
[ModalResultField(typeof(SI), caption: "P_DC/DC_In [kW]", outputFactor: 1e-3)] P_DCDC_In,
......
......@@ -407,6 +407,7 @@ namespace TUGraz.VectoCore.OutputData
public KilogramPerWattSecond EngineLineCorrectionFactor { get; set; }
public KilogramPerWattSecond VehicleLine { get; set; }
public KilogramPerSecond FC_ESS_H => Duration != null ? (FcESS / Duration) : null;
public KilogramPerSecond FC_ESS_CORR_H => Duration != null ? (FcEssCorr / Duration) : null;
public KilogramPerSecond FC_BusAux_PS_CORR_H => Duration != null ? (FcBusAuxPsCorr / Duration) : null;
public KilogramPerSecond FC_BusAux_ES_CORR_H => Duration != null ? (FcBusAuxEsCorr / Duration) : null;
......@@ -419,6 +420,7 @@ namespace TUGraz.VectoCore.OutputData
public KilogramPerMeter FC_REESS_SOC_KM => Distance != null ? FcREESSSoc / Distance : null;
public KilogramPerMeter FC_REESS_SOC_CORR_KM => Distance != null ? (FcREESSSoCCorr / Distance) : null;
public KilogramPerMeter FC_ESS_KM => Distance != null ? (FcESS / Distance) : null;
public KilogramPerMeter FC_ESS_CORR_KM => Distance != null ? (FcEssCorr / Distance) : null;
public KilogramPerMeter FC_WHR_CORR_KM => Distance != null ? (FcWHRCorr / Distance) : null;
public KilogramPerMeter FC_BusAux_PS_CORR_KM => Distance != null ? (FcBusAuxPsCorr / Distance) : null;
......
......@@ -413,12 +413,12 @@ namespace TUGraz.VectoCore.OutputData
row[FcCol(Fields.FCWHTCC_KM, suffix)] =
modData.FuelConsumptionPerMeter(ModalResultField.FCWHTCc, fuel)?.ConvertToGrammPerKiloMeter();
row[FcCol(Fields.FCESS_H, suffix)] = modData.FuelConsumptionPerSecond(ModalResultField.FCICEStopStart, fuel)
?.ConvertToGrammPerHour();
row[FcCol(Fields.FCESS_KM, suffix)] = modData.FuelConsumptionPerMeter(ModalResultField.FCICEStopStart, fuel)
?.ConvertToGrammPerKiloMeter();
//modData.FuelConsumptionPerSecond(ModalResultField.FCICEStopStart, fuel)
// ?.ConvertToGrammPerHour();
//modData.FuelConsumptionPerMeter(ModalResultField.FCICEStopStart, fuel)
// ?.ConvertToGrammPerKiloMeter();
var fuelConsumption = modData.CorrectedModalData.FuelConsumptionCorrection(fuel);
var fuelConsumption = modData.CorrectedModalData.FuelConsumptionCorrection(fuel);
row[FcCol(Fields.K_ENGLINE, suffix)] = fuelConsumption.EngineLineCorrectionFactor.ConvertToGramPerKiloWattHour();
row[FcCol(Fields.K_VEHLINE, suffix)] = fuelConsumption.VehicleLine?.ConvertToGramPerKiloWattHour();
......@@ -428,6 +428,7 @@ namespace TUGraz.VectoCore.OutputData
row[FcCol(Fields.K_VEHLINE, suffix)] = vehLine.ConvertToGramPerKiloWattHour();
}
row[FcCol(Fields.FCESS_H, suffix)] = fuelConsumption.FC_ESS_H?.ConvertToGrammPerHour();
row[FcCol(Fields.FCESS_H_CORR, suffix)] = fuelConsumption.FC_ESS_CORR_H?.ConvertToGrammPerHour();
row[FcCol(Fields.FC_BusAux_PS_CORR_H, suffix)] = fuelConsumption.FC_BusAux_PS_CORR_H?.ConvertToGrammPerHour();
row[FcCol(Fields.FC_BusAux_ES_CORR_H, suffix)] = fuelConsumption.FC_BusAux_ES_CORR_H?.ConvertToGrammPerHour();
......@@ -447,6 +448,7 @@ namespace TUGraz.VectoCore.OutputData
row[FcCol(Fields.FC_AUXHTR_KM, suffix)] = fuelConsumption.FC_AUXHTR_KM?.ConvertToGrammPerKiloMeter();
row[FcCol(Fields.FC_AUXHTR_KM_CORR, suffix)] = fuelConsumption.FC_AUXHTR_KM_CORR?.ConvertToGrammPerKiloMeter();
row[FcCol(Fields.FCESS_KM, suffix)] = fuelConsumption.FC_ESS_KM?.ConvertToGrammPerKiloMeter();
row[FcCol(Fields.FCESS_KM_CORR, suffix)] = fuelConsumption.FC_ESS_CORR_KM?.ConvertToGrammPerKiloMeter();
row[FcCol(Fields.FCFINAL_KM, suffix)] = fuelConsumption.FC_FINAL_KM?.ConvertToGrammPerKiloMeter();
......@@ -707,7 +709,7 @@ namespace TUGraz.VectoCore.OutputData
}
foreach (var field in new[] {
Fields.REESS_DeltaSoC, Fields.E_REESS_LOSS, Fields.E_REESS_T_chg, Fields.E_REESS_T_dischg,
Fields.REESS_DeltaEnergy, Fields.E_REESS_LOSS, Fields.E_REESS_T_chg, Fields.E_REESS_T_dischg,
Fields.E_REESS_int_chg, Fields.E_REESS_int_dischg
}) {
if (Table.Columns.Contains(field)) {
......@@ -727,14 +729,14 @@ namespace TUGraz.VectoCore.OutputData
if (runData.BatteryData != null) {
row[Fields.REESS_StartSoC] = runData.BatteryData.InitialSoC * 100;
row[Fields.REESS_EndSoC] = modData.REESSEndSoC();
row[Fields.REESS_DeltaSoC] = modData.TimeIntegral<WattSecond>(ModalResultField.P_reess_int.GetName())
row[Fields.REESS_DeltaEnergy] = modData.TimeIntegral<WattSecond>(ModalResultField.P_reess_int.GetName())
.ConvertToKiloWattHour();
}
if (runData.SuperCapData != null) {
row[Fields.REESS_StartSoC] = runData.SuperCapData.InitialSoC * 100;
row[Fields.REESS_EndSoC] = modData.REESSEndSoC();
row[Fields.REESS_DeltaSoC] = modData.TimeIntegral<WattSecond>(ModalResultField.P_reess_int.GetName())
row[Fields.REESS_DeltaEnergy] = modData.TimeIntegral<WattSecond>(ModalResultField.P_reess_int.GetName())
.ConvertToKiloWattHour();
}
}
......@@ -1277,7 +1279,7 @@ namespace TUGraz.VectoCore.OutputData
public const string REESS_CAPACITY = "REESS Capacity";
public const string REESS_StartSoC = "REESS Start SoC [%]";
public const string REESS_EndSoC = "REESS End SoC [%]";
public const string REESS_DeltaSoC = "ΔE_REESS [kWh]";
public const string REESS_DeltaEnergy = "ΔE_REESS [kWh]";
public const string E_REESS_LOSS = "E_REESS_loss [kWh]";
public const string E_REESS_T_chg = "E_REESS_T_chg [kWh]";
......
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