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

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

add new columns to vsum, adapt testdata

parent c0756c32
No related branches found
No related tags found
No related merge requests found
Showing
with 151 additions and 70 deletions
......@@ -94,7 +94,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
var retVal = SetCommonVehicleData(data);
retVal.TrailerGrossVehicleWeight = mission.TrailerGrossVehicleWeight;
retVal.CurbWeight += mission.BodyCurbWeight + mission.TrailerCurbWeight;
retVal.BodyAndTrailerWeight = mission.BodyCurbWeight + mission.TrailerCurbWeight;
retVal.CurbWeight += retVal.BodyAndTrailerWeight;
retVal.Loading = loading;
retVal.DynamicTyreRadius =
DeclarationData.Wheels.Lookup(data.Axles[DeclarationData.PoweredAxle()].Wheels).DynamicTyreRadius; // TODO!
......@@ -103,7 +104,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
var aerodynamicDragArea = data.AirDragArea + mission.DeltaCdA;
retVal.CrossWindCorrectionCurve =
new CrosswindCorrectionCdxALookup(
new CrosswindCorrectionCdxALookup(aerodynamicDragArea,
GetDeclarationAirResistanceCurve(mission.CrossWindCorrectionParameters, aerodynamicDragArea),
CrossWindCorrectionMode.DeclarationModeCorrection);
var axles = data.Axles;
......
......@@ -55,7 +55,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
}
var retVal = SetCommonVehicleData(data);
retVal.BodyAndTrailerWeight = data.CurbWeightExtra;
retVal.CurbWeight += data.CurbWeightExtra;
retVal.TrailerGrossVehicleWeight = 0.SI<Kilogram>();
retVal.Loading = data.Loading;
......@@ -65,11 +65,12 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
switch (data.CrossWindCorrectionMode) {
case CrossWindCorrectionMode.NoCorrection:
retVal.CrossWindCorrectionCurve =
new CrosswindCorrectionCdxALookup(CrossWindCorrectionCurveReader.GetNoCorrectionCurve(data.AirDragArea),
new CrosswindCorrectionCdxALookup(data.AirDragArea,
CrossWindCorrectionCurveReader.GetNoCorrectionCurve(data.AirDragArea),
CrossWindCorrectionMode.NoCorrection);
break;
case CrossWindCorrectionMode.SpeedDependentCorrectionFactor:
retVal.CrossWindCorrectionCurve = new CrosswindCorrectionCdxALookup(
retVal.CrossWindCorrectionCurve = new CrosswindCorrectionCdxALookup(data.AirDragArea,
CrossWindCorrectionCurveReader.ReadSpeedDependentCorrectionCurve(data.CrosswindCorrectionMap,
data.AirDragArea), CrossWindCorrectionMode.SpeedDependentCorrectionFactor);
break;
......@@ -79,7 +80,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
break;
case CrossWindCorrectionMode.DeclarationModeCorrection:
retVal.CrossWindCorrectionCurve =
new CrosswindCorrectionCdxALookup(
new CrosswindCorrectionCdxALookup(data.AirDragArea,
DeclarationDataAdapter.GetDeclarationAirResistanceCurve(
GetAirdragParameterSet(retVal.VehicleCategory, data.AxleConfiguration, axles.Count),
data.AirDragArea), CrossWindCorrectionMode.DeclarationModeCorrection);
......
......@@ -154,10 +154,11 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
WriteModalResults = _mode != ExecutionMode.Declaration || WriteModalResults
};
var current = i++;
var builder = new PowertrainBuilder(modContainer, (writer, mass, loading, volume, gearCount) => {
var builder = new PowertrainBuilder(modContainer, (modData) => {
if (SumData != null) {
SumData.Write(modContainer, d.JobName, string.Format("{0}-{1}", JobNumber, current),
d.Cycle.Name + Constants.FileExtensions.CycleFile, mass, loading, volume ?? 0.SI<CubicMeter>(), gearCount);
SumData.Write(modData, string.Format("{0}-{1}", JobNumber, current), d);
//SumData.Write(modContainer, d.JobName, string.Format("{0}-{1}", JobNumber, current),
// d.Cycle.Name + Constants.FileExtensions.CycleFile, mass, loading, volume ?? 0.SI<CubicMeter>(), gearCount);
}
});
......
......@@ -327,8 +327,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
Log.Info("VehicleContainer finishing simulation.");
ModData.Finish(RunStatus);
WriteSumData(ModData, VehicleMass, VehicleLoading, Vehicle != null && Vehicle.CargoVolume != null ? Vehicle.CargoVolume : 0.SI<CubicMeter>(),
Gearbox != null ? Gearbox.NumGears : 0u);
WriteSumData(ModData);
ModData.FinishSimulation();
DrivingCycle.FinishSimulation();
......
......@@ -43,15 +43,19 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
{
protected List<CrossWindCorrectionCurveReader.CrossWindCorrectionEntry> Entries;
public CrosswindCorrectionCdxALookup(List<CrossWindCorrectionCurveReader.CrossWindCorrectionEntry> entries,
public CrosswindCorrectionCdxALookup(SquareMeter airDragArea,
List<CrossWindCorrectionCurveReader.CrossWindCorrectionEntry> entries,
CrossWindCorrectionMode correctionMode)
{
AirDragArea = airDragArea;
CorrectionMode = correctionMode;
Entries = entries;
}
public CrossWindCorrectionMode CorrectionMode { get; internal set; }
public SquareMeter AirDragArea { get; internal set; }
public void SetDataBus(IDataBus dataBus) {}
public Watt AverageAirDragPowerLoss(MeterPerSecond v1, MeterPerSecond v2)
......
......@@ -43,7 +43,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
{
internal class CrosswindCorrectionVAirBeta : LoggingObject, ICrossWindCorrection
{
protected SquareMeter AirDragArea { get; set; }
public SquareMeter AirDragArea { get; protected set; }
protected List<CrossWindCorrectionCurveReader.AirDragBetaEntry> AirDragEntries;
protected IDataBus DataBus;
......
......@@ -42,6 +42,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
void SetDataBus(IDataBus dataBus);
CrossWindCorrectionMode CorrectionMode { get; }
SquareMeter AirDragArea { get; }
Watt AverageAirDragPowerLoss(MeterPerSecond v1, MeterPerSecond v2);
}
......
......@@ -78,6 +78,13 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
[Required, SIRange(500, 40000)]
public Kilogram CurbWeight { get; internal set; }
/// <summary>
/// Curb Weight of Standard-Body (if it has one)
/// + Curb Weight of Trailer (if it has one)
/// </summary>
public Kilogram BodyAndTrailerWeight { get; internal set; }
[Required, SIRange(0, 40000)]
public Kilogram Loading { get; internal set; }
......@@ -121,7 +128,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
}
return _totalRollResistanceCoefficient.GetValueOrDefault();
}
private set { _totalRollResistanceCoefficient = value; }
protected internal set { _totalRollResistanceCoefficient = value; }
}
public CrossWindCorrectionMode CrossWindCorrectionMode { get; set; }
......
......@@ -37,13 +37,15 @@ using Org.BouncyCastle.Asn1;
using TUGraz.VectoCommon.Models;
using TUGraz.VectoCommon.Utils;
using TUGraz.VectoCore.Configuration;
using TUGraz.VectoCore.Models.Declaration;
using TUGraz.VectoCore.Models.Simulation.Data;
using TUGraz.VectoCore.Models.SimulationComponent.Data;
// ReSharper disable MemberCanBePrivate.Global -- used by API!
namespace TUGraz.VectoCore.OutputData
{
public delegate void WriteSumData(
IModalDataContainer data, Kilogram vehicleMass, Kilogram loading, CubicMeter cargoVolume, uint gearCount);
public delegate void WriteSumData(IModalDataContainer data);
/// <summary>
/// Class for the sum file in vecto.
......@@ -55,8 +57,24 @@ namespace TUGraz.VectoCore.OutputData
public const string INPUTFILE = "Input File [-]";
public const string CYCLE = "Cycle [-]";
public const string STATUS = "Status";
public const string MASS = "Mass [kg]";
public const string CURB_MASS = "Chassis curb mass [kg]";
public const string LOADING = "Loading [kg]";
public const string HDV_CO2_VEHICLE_CLASS = "HDV CO2 vehicle class [-]";
public const string TOTAL_VEHICLE_MASS = "Total vehicle mass [kg]";
public const string ENGINE_RATED_POWER = "Engine rated power [kW]";
public const string ENGINE_IDLING_SPEED = "Engine idling speed [rpm]";
public const string ENGINE_RATED_SPEED = "Engine rated speed [rpm]";
public const string ENGINE_DISPLACEMENT = "Engine displacement [ccm]";
public const string CD_x_A = "CdxA [m²]";
public const string ROLLING_RESISTANCE_COEFFICIENT = "weighed RRC [-]";
public const string TRANSMISSION_TYPE = "Transmission type [-]";
public const string GEAR_RATIO_FIRST_GEAR = "Gear ratio first gear [-]";
public const string GEAR_RATIO_LAST_GEAR = "Gear ratio last gear [-]";
public const string AXLE_GEAR_RATIO = "Axle gear ratio [-]";
public const string R_DYN = "r_dyn [m]";
public const string RETARDER_TYPE = "Retarder type [-]";
public const string VOLUME = "Cargo Volume [m³]";
public const string TIME = "time [s]";
public const string DISTANCE = "distance [km]";
......@@ -146,9 +164,21 @@ namespace TUGraz.VectoCore.OutputData
_table.Columns.Add(INPUTFILE, typeof(string));
_table.Columns.Add(CYCLE, typeof(string));
_table.Columns.Add(STATUS, typeof(string));
_table.Columns.Add(HDV_CO2_VEHICLE_CLASS, typeof(string));
_table.Columns.AddRange(new[] {
MASS, LOADING, VOLUME, TIME, DISTANCE, SPEED, ALTITUDE_DELTA, FCMAP_H, FCMAP_KM, FCAUXC_H, FCAUXC_KM, FCWHTCC_H,
CURB_MASS, LOADING, TOTAL_VEHICLE_MASS, ENGINE_RATED_POWER, ENGINE_IDLING_SPEED, ENGINE_RATED_SPEED,
ENGINE_DISPLACEMENT, CD_x_A,
ROLLING_RESISTANCE_COEFFICIENT
}.Select(x => new DataColumn(x, typeof(SI))).ToArray());
_table.Columns.Add(TRANSMISSION_TYPE, typeof(string));
_table.Columns.AddRange(new[] {
GEAR_RATIO_FIRST_GEAR, GEAR_RATIO_LAST_GEAR, AXLE_GEAR_RATIO, R_DYN
}.Select(x => new DataColumn(x, typeof(SI))).ToArray());
_table.Columns.Add(RETARDER_TYPE, typeof(string));
_table.Columns.AddRange(new[] {
VOLUME, 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, FCFINAL_LiterPer100M3KM,
CO2_KM, CO2_TKM, CO2_M3KM,
......@@ -175,20 +205,51 @@ namespace TUGraz.VectoCore.OutputData
/// Writes the result of one run into the summary data container.
/// </summary>
[MethodImpl(MethodImplOptions.Synchronized)]
public virtual void Write(IModalDataContainer modData, string jobFileName, string jobName, string cycleFileName,
Kilogram vehicleMass, Kilogram vehicleLoading, CubicMeter cargoVolume, uint gearCount)
//public virtual void Write(IModalDataContainer modData, string jobFileName, string jobName, string cycleFileName,
// Kilogram vehicleMass, Kilogram vehicleLoading, CubicMeter cargoVolume, uint gearCount)
public virtual void Write(IModalDataContainer modData, string current, VectoRunData runData)
{
var row = _table.NewRow();
_table.Rows.Add(row);
row[JOB] = ReplaceNotAllowedCharacters(jobName);
row[INPUTFILE] = ReplaceNotAllowedCharacters(jobFileName);
row[CYCLE] = ReplaceNotAllowedCharacters(cycleFileName);
row[JOB] = ReplaceNotAllowedCharacters(current);
row[INPUTFILE] = ReplaceNotAllowedCharacters(runData.JobName);
row[CYCLE] = ReplaceNotAllowedCharacters(runData.Cycle.Name + Constants.FileExtensions.CycleFile);
row[STATUS] = modData.RunStatus;
row[MASS] = vehicleMass;
row[LOADING] = vehicleLoading;
row[VOLUME] = cargoVolume;
var vehicleLoading = 0.SI<Kilogram>();
var cargoVolume = 0.SI<CubicMeter>();
uint gearCount = 0u;
if (runData.Cycle.CycleType != CycleType.EngineOnly) {
row[HDV_CO2_VEHICLE_CLASS] = runData.VehicleData.VehicleClass.GetClassNumber();
row[CURB_MASS] = runData.VehicleData.CurbWeight - (runData.VehicleData.BodyAndTrailerWeight ?? 0.SI<Kilogram>());
row[LOADING] = runData.VehicleData.Loading;
row[VOLUME] = runData.VehicleData.CargoVolume;
row[TOTAL_VEHICLE_MASS] = runData.VehicleData.TotalVehicleWeight;
row[ENGINE_RATED_POWER] =
runData.EngineData.FullLoadCurve.FullLoadStationaryPower(runData.EngineData.FullLoadCurve.RatedSpeed)
.ConvertTo().Kilo.Watt;
row[ENGINE_IDLING_SPEED] = runData.EngineData.IdleSpeed.AsRPM.SI<Scalar>();
row[ENGINE_RATED_SPEED] = runData.EngineData.FullLoadCurve.RatedSpeed.AsRPM.SI<Scalar>();
row[ENGINE_DISPLACEMENT] = runData.EngineData.Displacement.ConvertTo().Cubic.Centi.Meter;
row[CD_x_A] = runData.VehicleData.CrossWindCorrectionCurve.AirDragArea;
row[ROLLING_RESISTANCE_COEFFICIENT] = runData.VehicleData.TotalRollResistanceCoefficient.SI<Scalar>();
row[TRANSMISSION_TYPE] = runData.GearboxData.Type;
row[GEAR_RATIO_FIRST_GEAR] = runData.GearboxData.Gears.Count > 0
? runData.GearboxData.Gears.First().Value.Ratio.SI<Scalar>()
: 0.SI<Scalar>();
row[GEAR_RATIO_LAST_GEAR] = runData.GearboxData.Gears.Count > 0
? runData.GearboxData.Gears.Last().Value.Ratio.SI<Scalar>()
: 0.SI<Scalar>();
row[AXLE_GEAR_RATIO] = runData.AxleGearData.AxleGear.Ratio.SI<Scalar>();
row[R_DYN] = runData.VehicleData.DynamicTyreRadius;
row[RETARDER_TYPE] = runData.Retarder.Type;
vehicleLoading = runData.VehicleData.Loading;
cargoVolume = runData.VehicleData.CargoVolume;
gearCount = (uint)runData.GearboxData.Gears.Count;
}
var totalTime = modData.Duration();
row[TIME] = totalTime;
......
......@@ -30,5 +30,5 @@
*/
using System.Reflection;
[assembly: AssemblyVersion("3.1.2.796")]
[assembly: AssemblyFileVersion("3.1.2.796")]
[assembly: AssemblyVersion("3.1.2.805")]
[assembly: AssemblyFileVersion("3.1.2.805")]
......@@ -81,9 +81,7 @@ namespace TUGraz.VectoCore.Tests.Integration
WriteModalResults = true,
HasTorqueConverter = true
};
var container = new VehicleContainer(ExecutionMode.Engineering, modData) {
RunData = new VectoRunData { JobName = modFileName, Cycle = cycleData },
};
var engineData = MockSimulationDataFactory.CreateEngineDataFromFile(EngineFile);
var axleGearData = CreateAxleGearData(gbxType);
var gearboxData = CreateGearboxData(gbxType);
......@@ -94,15 +92,20 @@ namespace TUGraz.VectoCore.Tests.Integration
var vehicleData = CreateVehicleData(3300.SI<Kilogram>());
var driverData = CreateDriverData(AccelerationFile, overspeed);
var cycle = new DistanceBasedDrivingCycle(container, cycleData);
var engine = new CombustionEngine(container, engineData);
var runData = new VectoRunData() {
AxleGearData = axleGearData,
VehicleData = vehicleData,
GearboxData = gearboxData,
EngineData = engineData
EngineData = engineData,
JobName = modFileName,
Cycle = cycleData,
Retarder = new RetarderData() { Type = RetarderType.None }
};
var container = new VehicleContainer(ExecutionMode.Engineering, modData) {
RunData = runData,
};
var cycle = new DistanceBasedDrivingCycle(container, cycleData);
var engine = new CombustionEngine(container, engineData);
var tmp = cycle.AddComponent(new Driver(container, driverData, new DefaultDriverStrategy()))
.AddComponent(new Vehicle(container, vehicleData))
.AddComponent(new Wheels(container, vehicleData.DynamicTyreRadius, vehicleData.WheelsInertia))
......@@ -132,21 +135,21 @@ namespace TUGraz.VectoCore.Tests.Integration
return new GearboxData {
Type = gbxType == GearboxType.ATSerial ? GearboxType.ATSerial : GearboxType.ATPowerSplit,
Gears = ratios.Select((ratio, i) =>
Tuple.Create((uint)i,
new GearData {
//MaxTorque = 2300.SI<NewtonMeter>(),
LossMap = ratio.IsEqual(1)
? TransmissionLossMapReader.Create(0.96, ratio, string.Format("Gear {0}", i))
: TransmissionLossMapReader.Create(0.98, ratio, string.Format("Gear {0}", i)),
Ratio = ratio,
ShiftPolygon = ShiftPolygonReader.ReadFromFile(GearboxShiftPolygonFile),
TorqueConverterRatio = i == 0 ? (gbxType == GearboxType.ATPowerSplit ? 1.0 : ratio) : double.NaN,
TorqueConverterGearLossMap = i == 0
? TransmissionLossMapReader.Create(gbxType == GearboxType.ATPowerSplit ? 1.0 : 0.98, ratio,
string.Format("Gear {0}", i))
: null,
TorqueConverterShiftPolygon = i == 0 ? ShiftPolygonReader.ReadFromFile(GearboxShiftPolygonFile) : null
}))
Tuple.Create((uint)i,
new GearData {
//MaxTorque = 2300.SI<NewtonMeter>(),
LossMap = ratio.IsEqual(1)
? TransmissionLossMapReader.Create(0.96, ratio, string.Format("Gear {0}", i))
: TransmissionLossMapReader.Create(0.98, ratio, string.Format("Gear {0}", i)),
Ratio = ratio,
ShiftPolygon = ShiftPolygonReader.ReadFromFile(GearboxShiftPolygonFile),
TorqueConverterRatio = i == 0 ? (gbxType == GearboxType.ATPowerSplit ? 1.0 : ratio) : double.NaN,
TorqueConverterGearLossMap = i == 0
? TransmissionLossMapReader.Create(gbxType == GearboxType.ATPowerSplit ? 1.0 : 0.98, ratio,
string.Format("Gear {0}", i))
: null,
TorqueConverterShiftPolygon = i == 0 ? ShiftPolygonReader.ReadFromFile(GearboxShiftPolygonFile) : null
}))
.ToDictionary(k => k.Item1 + 1, v => v.Item2),
ShiftTime = 1.SI<Second>(),
Inertia = 0.SI<KilogramSquareMeter>(),
......@@ -201,7 +204,8 @@ namespace TUGraz.VectoCore.Tests.Integration
//AerodynamicDragAera = 3.2634.SI<SquareMeter>(),
//CrossWindCorrectionMode = CrossWindCorrectionMode.NoCorrection,
CrossWindCorrectionCurve =
new CrosswindCorrectionCdxALookup(CrossWindCorrectionCurveReader.GetNoCorrectionCurve(3.2634.SI<SquareMeter>()),
new CrosswindCorrectionCdxALookup(3.2634.SI<SquareMeter>(),
CrossWindCorrectionCurveReader.GetNoCorrectionCurve(3.2634.SI<SquareMeter>()),
CrossWindCorrectionMode.NoCorrection),
CurbWeight = 11500.SI<Kilogram>(),
Loading = loading,
......
......@@ -184,7 +184,7 @@ namespace TUGraz.VectoCore.Tests.Integration
//AerodynamicDragAera = 3.2634.SI<SquareMeter>(),
//CrossWindCorrectionMode = CrossWindCorrectionMode.NoCorrection,
CrossWindCorrectionCurve =
new CrosswindCorrectionCdxALookup(CrossWindCorrectionCurveReader.GetNoCorrectionCurve(3.2634.SI<SquareMeter>()),
new CrosswindCorrectionCdxALookup(3.2634.SI<SquareMeter>(), CrossWindCorrectionCurveReader.GetNoCorrectionCurve(3.2634.SI<SquareMeter>()),
CrossWindCorrectionMode.NoCorrection),
CurbWeight = 15700.SI<Kilogram>(),
Loading = loading,
......
......@@ -190,7 +190,7 @@ namespace TUGraz.VectoCore.Tests.Integration
//AerodynamicDragAera = 3.2634.SI<SquareMeter>(),
//CrossWindCorrectionMode = CrossWindCorrectionMode.NoCorrection,
CrossWindCorrectionCurve =
new CrosswindCorrectionCdxALookup(CrossWindCorrectionCurveReader.GetNoCorrectionCurve(3.2634.SI<SquareMeter>()),
new CrosswindCorrectionCdxALookup(3.2634.SI<SquareMeter>(), CrossWindCorrectionCurveReader.GetNoCorrectionCurve(3.2634.SI<SquareMeter>()),
CrossWindCorrectionMode.NoCorrection),
CurbWeight = 15700.SI<Kilogram>(),
Loading = loading,
......
......@@ -314,13 +314,13 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns
return new GearboxData {
Gears = ratios.Select((ratio, i) =>
Tuple.Create((uint)i,
new GearData {
MaxTorque = ratio > 5 ? 2300.SI<NewtonMeter>() : null,
LossMap = TransmissionLossMapReader.ReadFromFile(GearboxLossMap, ratio, string.Format("Gear {0}", i)),
Ratio = ratio,
ShiftPolygon = ShiftPolygonReader.ReadFromFile(GearboxShiftPolygonFile)
}))
Tuple.Create((uint)i,
new GearData {
MaxTorque = ratio > 5 ? 2300.SI<NewtonMeter>() : null,
LossMap = TransmissionLossMapReader.ReadFromFile(GearboxLossMap, ratio, string.Format("Gear {0}", i)),
Ratio = ratio,
ShiftPolygon = ShiftPolygonReader.ReadFromFile(GearboxShiftPolygonFile)
}))
.ToDictionary(k => k.Item1 + 1, v => v.Item2),
ShiftTime = 2.SI<Second>(),
Inertia = 0.SI<KilogramSquareMeter>(),
......@@ -401,7 +401,8 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns
return new VehicleData {
AxleConfiguration = AxleConfiguration.AxleConfig_6x2,
CrossWindCorrectionCurve =
new CrosswindCorrectionCdxALookup(CrossWindCorrectionCurveReader.GetNoCorrectionCurve(3.2634.SI<SquareMeter>()),
new CrosswindCorrectionCdxALookup(3.2634.SI<SquareMeter>(),
CrossWindCorrectionCurveReader.GetNoCorrectionCurve(3.2634.SI<SquareMeter>()),
CrossWindCorrectionMode.NoCorrection),
CurbWeight = 15700.SI<Kilogram>(),
Loading = loading,
......
......@@ -276,7 +276,8 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns
return new VehicleData {
AxleConfiguration = AxleConfiguration.AxleConfig_6x2,
CrossWindCorrectionCurve =
new CrosswindCorrectionCdxALookup(CrossWindCorrectionCurveReader.GetNoCorrectionCurve(3.2634.SI<SquareMeter>()),
new CrosswindCorrectionCdxALookup(3.2634.SI<SquareMeter>(),
CrossWindCorrectionCurveReader.GetNoCorrectionCurve(3.2634.SI<SquareMeter>()),
CrossWindCorrectionMode.NoCorrection),
CurbWeight = 15700.SI<Kilogram>(),
Loading = loading,
......
......@@ -220,7 +220,7 @@ namespace TUGraz.VectoCore.Tests.Integration
//AerodynamicDragAera = 6.2985.SI<SquareMeter>(),
//CrossWindCorrectionMode = CrossWindCorrectionMode.NoCorrection,
CrossWindCorrectionCurve =
new CrosswindCorrectionCdxALookup(CrossWindCorrectionCurveReader.GetNoCorrectionCurve(6.2985.SI<SquareMeter>()),
new CrosswindCorrectionCdxALookup(6.2985.SI<SquareMeter>(), CrossWindCorrectionCurveReader.GetNoCorrectionCurve(6.2985.SI<SquareMeter>()),
CrossWindCorrectionMode.NoCorrection),
CurbWeight = 7100.SI<Kilogram>() + massExtra,
Loading = loading,
......
......@@ -203,7 +203,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration
public void CrossWindCorrectionTest(string parameterSet, double crossSectionArea, double kmph,
double expected)
{
var crossWindCorrectionCurve = new CrosswindCorrectionCdxALookup(
var crossWindCorrectionCurve = new CrosswindCorrectionCdxALookup(crossSectionArea.SI<SquareMeter>(),
DeclarationDataAdapter.GetDeclarationAirResistanceCurve(parameterSet, crossSectionArea.SI<SquareMeter>()),
CrossWindCorrectionMode.DeclarationModeCorrection);
......@@ -215,7 +215,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration
TestCase("TractorSemitrailer", 6.46, 130.1),]
public void CrossWindCorrectionExceptionTest(string parameterSet, double crossSectionArea, double kmph)
{
var crossWindCorrectionCurve = new CrosswindCorrectionCdxALookup(
var crossWindCorrectionCurve = new CrosswindCorrectionCdxALookup(crossSectionArea.SI<SquareMeter>(),
DeclarationDataAdapter.GetDeclarationAirResistanceCurve(parameterSet, crossSectionArea.SI<SquareMeter>()),
CrossWindCorrectionMode.DeclarationModeCorrection);
......
......@@ -71,7 +71,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
var sumWriter = new SummaryDataContainer(fileWriter);
var container = new VehicleContainer(ExecutionMode.Declaration, modData,
(writer, mass, loading, volume, gearCount) => sumWriter.Write(modData, "", "", "", null, null, null, gearCount));
(modalData) => sumWriter.Write(modalData, "AuxWriteSumFile", new MockRunData()));
var data = DrivingCycleDataReader.ReadFromFile(@"TestData\Cycles\LongHaul_short.vdri", CycleType.DistanceBased, false);
new MockDrivingCycle(container, data);
......
......@@ -231,7 +231,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
new VehicleData {
VehicleCategory = VehicleCategory.RigidTruck,
CrossWindCorrectionCurve =
new CrosswindCorrectionCdxALookup(
new CrosswindCorrectionCdxALookup(6.16498344.SI<SquareMeter>(),
CrossWindCorrectionCurveReader.GetNoCorrectionCurve(6.16498344.SI<SquareMeter>()),
CrossWindCorrectionMode.NoCorrection),
GrossVehicleWeight = 12000.SI<Kilogram>(),
......@@ -294,7 +294,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
WheelsInertia = 2.SI<KilogramSquareMeter>(),
DynamicTyreRadius = 0.85.SI<Meter>(),
CrossWindCorrectionCurve =
new CrosswindCorrectionCdxALookup(
new CrosswindCorrectionCdxALookup(6.16498344.SI<SquareMeter>(),
CrossWindCorrectionCurveReader.GetNoCorrectionCurve(6.16498344.SI<SquareMeter>()),
CrossWindCorrectionMode.NoCorrection)
},
......
......@@ -30,14 +30,14 @@
*/
using TUGraz.VectoCommon.Utils;
using TUGraz.VectoCore.Models.Simulation.Data;
using TUGraz.VectoCore.OutputData;
namespace TUGraz.VectoCore.Tests.Models.Simulation
{
public class MockSumWriter : SummaryDataContainer
{
public override void Write(IModalDataContainer modData, string jobFileName, string jobName,
string cycleFileName, Kilogram vehicleMass, Kilogram vehicleLoading, CubicMeter cargoVolume, uint gearCount) {}
public override void Write(IModalDataContainer modData, string jobFileName, VectoRunData runData) {}
public override void Finish() {}
}
......
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