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

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

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

Merge pull request #268 in VECTO/vecto-sim from ~EMQUARIMA/vecto-sim:feature/VECTO-348-separate-columns-e_gbx_axl-into to develop

* commit '6d07135b':
  separate transmission losses into axle and gearbox (sum file)
parents 9e0b0d46 6d07135b
No related branches found
No related tags found
No related merge requests found
......@@ -193,8 +193,8 @@ namespace TUGraz.VectoCore.OutputData
public static Scalar StopTimeShare(this IModalDataContainer data)
{
var stopTime = data.GetValues<MeterPerSecond>(ModalResultField.v_act)
.Zip(data.SimulationIntervals(), (v, dt) => new { v, dt })
.Where(x => x.v < 0.1).Sum(x => x.dt) ?? 0.SI<Second>();
.Zip(data.SimulationIntervals(), (v, dt) => new { v, dt })
.Where(x => x.v < 0.1).Sum(x => x.dt) ?? 0.SI<Second>();
return 100 * (stopTime / data.Duration()).Cast<Scalar>();
}
......@@ -223,11 +223,14 @@ namespace TUGraz.VectoCore.OutputData
return paEngine + paGearbox;
}
public static WattSecond WorkTransmission(this IModalDataContainer data)
public static WattSecond WorkGearbox(this IModalDataContainer data)
{
var plossdiff = data.TimeIntegral<WattSecond>(ModalResultField.P_gbx_loss);
var plossgb = data.TimeIntegral<WattSecond>(ModalResultField.P_axle_loss);
return plossdiff + plossgb;
return data.TimeIntegral<WattSecond>(ModalResultField.P_gbx_loss);
}
public static WattSecond WorkAxlegear(this IModalDataContainer data)
{
return data.TimeIntegral<WattSecond>(ModalResultField.P_axle_loss);
}
public static WattSecond WorkRetarder(this IModalDataContainer data)
......
......@@ -35,6 +35,7 @@ using System.Linq;
using System.Runtime.CompilerServices;
using TUGraz.VectoCommon.Models;
using TUGraz.VectoCommon.Utils;
// ReSharper disable MemberCanBePrivate.Global -- used by API!
namespace TUGraz.VectoCore.OutputData
......@@ -91,7 +92,8 @@ namespace TUGraz.VectoCore.OutputData
public const string E_GRAD = "E_grad [kWh]";
public const string E_INERTIA = "E_inertia [kWh]";
public const string E_BRAKE = "E_brake [kWh]";
public const string E_GBX_AXL_LOSS = "E_gbx_axl_loss [kWh]";
public const string E_GBX_LOSS = "E_gbx_loss [kWh]";
public const string E_AXL_LOSS = "E_axl_loss [kWh]";
public const string E_RET_LOSS = "E_ret_loss [kWh]";
public const string E_TC_LOSS = "E_tc_loss [kWh]";
public const string E_ANGLE_LOSS = "E_angle_loss [kWh]";
......@@ -132,7 +134,7 @@ namespace TUGraz.VectoCore.OutputData
MASS, LOADING, TIME, DISTANCE, SPEED, ALTITUDE_DELTA, FCMAP_H, FCMAP_KM, FCAUXC_H, FCAUXC_KM, FCWHTCC_H, FCWHTCC_KM,
FCAAUX_H, FCAAUX_KM, FCFINAL_H, FCFINAL_KM, FCFINAL_LITERPER100KM, FCFINAL_LITERPER100TKM, CO2_KM, CO2_TKM,
P_WHEEL_POS, P_BRAKE_LOSS, P_ANGLE_LOSS, P_TC_LOSS, P_CLUTCH_POS, P_CLUTCH_NEG, P_FCMAP_POS, E_AUX, E_AIR, E_ROLL,
E_GRAD, E_INERTIA, E_BRAKE, E_GBX_AXL_LOSS, E_RET_LOSS, E_TC_LOSS, E_ANGLE_LOSS, E_CLUTCH_POS, E_CLUTCH_NEG,
E_GRAD, E_INERTIA, E_BRAKE, E_GBX_LOSS, E_AXL_LOSS, E_ANGLE_LOSS, E_RET_LOSS, E_TC_LOSS, E_CLUTCH_POS, E_CLUTCH_NEG,
E_FCMAP_POS, ACC, ACC_POS, ACC_NEG, ACC_TIMESHARE, DEC_TIMESHARE, CRUISE_TIMESHARE, STOP_TIMESHARE
}.Select(x => new DataColumn(x, typeof(SI))).ToArray());
}
......@@ -250,7 +252,8 @@ namespace TUGraz.VectoCore.OutputData
row[E_GRAD] = modData.WorkRoadGradientResistance().ConvertTo().Kilo.Watt.Hour;
row[E_INERTIA] = modData.PowerAccelerations().ConvertTo().Kilo.Watt.Hour;
row[E_BRAKE] = modData.WorkTotalMechanicalBrake().ConvertTo().Kilo.Watt.Hour;
row[E_GBX_AXL_LOSS] = modData.WorkTransmission().ConvertTo().Kilo.Watt.Hour;
row[E_GBX_LOSS] = modData.WorkGearbox().ConvertTo().Kilo.Watt.Hour;
row[E_AXL_LOSS] = modData.WorkAxlegear().ConvertTo().Kilo.Watt.Hour;
row[E_RET_LOSS] = modData.WorkRetarder().ConvertTo().Kilo.Watt.Hour;
row[E_TC_LOSS] = modData.WorkTorqueConverter().ConvertTo().Kilo.Watt.Hour;
row[E_ANGLE_LOSS] = modData.WorkAngledrive().ConvertTo().Kilo.Watt.Hour;
......
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