|
| | Car (double carLength_m, double carDragCoef, double carFrontalArea_sqm, double carEmptyWeight_t, double carCurrentWeight_t, int carNoOfAxles, int carType, double auxiliaryPower_kw=EC::DefaultCarAuxiliaryPower, double batteryMaxCapacity_kWh=EC::DefaultCarBatteryMaxCapacity, double batteryInitialCharge_perc=EC::DefaultCarBatteryInitialCharge, double tenderMaxCapacity_kg_l=EC::DefaultCarTenderMaxCapacity, double tenderInitialCapacity_perc=EC::DefaultCarTenderInitialCapacity, std::string carName=DefaultCarName) |
| | Constructor.
|
| |
| double | getCargoNetWeight () |
| | Gets the cargo net weight.
|
| |
| void | setCarCurrentWeight (double newCurrentWeight) |
| | Sets the car's current weight.
|
| |
| double | getResistance (double trainSpeed) override |
| | Gets the resistance contributed by this car to the whole train.
|
| |
| double | getEnergyConsumption (double &timeStep) |
| | Gets the energy consumption of the car (in case there is auxiliary power).
|
| |
| std::pair< bool, double > | consumeFuel (double timeStep, double trainSpeed, double EC_kwh, double carVirtualTractivePower=std::numeric_limits< double >::quiet_NaN(), double dieselConversionFactor=EC::DefaultDieselConversionFactor, double biodieselConversionFactor=EC::DefaultBiodieselConversionFactor, double hydrogenConversionFactor=EC::DefaultHydrogenConversionFactor, double dieselDensity=EC::DefaultDieselDensity, double biodieselDensity=EC::DefaultBioDieselDensity, double hydrogenDensity=EC::DefaultHydrogenDensity) override |
| | Consumes fuel from the tender.
|
| |
| double | getMaxProvidedEnergy (double &timeStep) |
| | Gets the maximum energy provided by the car.
|
| |
| bool | canProvideEnergy (double &EC, double &timeStep) |
| | Checks if the car can provide energy.
|
| |
| virtual double | getResistance (double trainSpeed) |
| | Gets the resistance applied on only this vehicle.
|
| |
| virtual void | resetTimeStepConsumptions () |
| | Resets the energy consumptions data for the current time step.
|
| |
| virtual void | setCurrentWeight (double newCurrentWeight) |
| | sets the current weight of the vehicle
|
| |
| virtual std::pair< bool, double > | consumeFuelDiesel (double EC_kwh, double dieselConversionFactor, double dieselDensity) |
| | consume the locomotive diesel fuel.
|
| |
| virtual std::pair< bool, double > | consumeFuelBioDiesel (double EC_kwh, double bioDieselConversionFactor, double bioDieselDensity) |
| | consume the locomotive bio diesel fuel.
|
| |
| virtual std::pair< bool, double > | consumeElectricity (double timeStep, double EC_kwh) |
| | consume any source of electricity in the locomotive; either the catenary or the batteries.
|
| |
| virtual std::pair< bool, double > | consumeFuelHydrogen (double EC_kwh, double hydrogenConversionFactor, double hydrogenDensity) |
| | consume the locomotive hydrogen fuel.
|
| |
| virtual double | refillBattery (double timeStep, double EC_kwh) |
| | refill the locomtoive battery
|
| |
| virtual bool | rechargeCatenary (double EC_kwh) |
| | Rechage catenary and grid system if they are available.
|
| |
| virtual std::pair< bool, double > | consumeFuel (double timeStep, double trainSpeed, double EC_kwh, double LocomotiveVirtualTractivePower=std::numeric_limits< double >::quiet_NaN(), double dieselConversionFactor=EC::DefaultDieselConversionFactor, double biodieselConversionFactor=EC::DefaultBiodieselConversionFactor, double hydrogenConversionFactor=EC::DefaultHydrogenConversionFactor, double dieselDensity=EC::DefaultDieselDensity, double biodieselDensity=EC::DefaultBioDieselDensity, double hydrogenDensity=EC::DefaultHydrogenDensity) |
| | Consume fuel or battery from the vehicle.
|
| |
| void | setBattery (double maxCharge, double initialChargePercentage, double depthOfDischarge, double batteryCRate, double maxRechargeSOC=0.9, double minRechargeSOC=0.5) |
| | Sets the battery properties.
|
| |
| double | getBatteryMaxCharge () const |
| | Gets the maximum charge of the battery.
|
| |
| void | setBatteryMaxCharge (double newMaxCharge) |
| | Sets the maximum charge of the battery.
|
| |
| double | getBatteryInitialCharge () const |
| | Gets the initial charge of the battery.
|
| |
| void | setBatteryInitialCharge (double newInitialCharge) |
| | Sets the initial charge of the battery.
|
| |
| double | getBatteryCurrentCharge () const |
| | Gets the current charge of the battery.
|
| |
| std::pair< bool, double > | consumeBattery (double timeStep, double consumedCharge) |
| | Consumes charge from the battery.
|
| |
| double | rechargeBatteryForHybrids (double timeStep, double recharge) |
| | Recharges the battery for hybrid vehicles.
|
| |
| double | rechargeBatteryByRegeneratedEnergy (double timeStep, double recharge) |
| | Recharges the battery by regenerated energy.
|
| |
| double | getBatteryStateOfCharge () const |
| | Gets the state of charge of the battery.
|
| |
| double | getBatteryDOD () const |
| | Gets the depth of discharge of the battery.
|
| |
| void | setBatteryDOD (double newBatteryDOD) |
| | Sets the depth of discharge of the battery.
|
| |
| double | getBatteryCRate () const |
| | Gets the C-Rate of discharge for the battery.
|
| |
| void | setBatteryCRate (double newBatteryCRate) |
| | Sets the C-Rate of discharge for the battery.
|
| |
| bool | isBatteryDrainable (double requiredCharge) |
| | Checks if the battery can be drained by the required charge.
|
| |
| bool | isBatteryRechargable () |
| | Checks if the battery can be recharged.
|
| |
| double | getBatteryMaxDischarge (double timeStep) |
| | Gets the maximum discharge of the battery.
|
| |
| double | getBatteryMaxRecharge (double timeStep) |
| | Gets the maximum recharge of the battery.
|
| |
| bool | isRechargeRequired () const |
| | Checks if the battery requires a recharge.
|
| |
| double | getBatteryRechargeSOCUpperBound () const |
| | Gets the upper bound of the battery's recharge state of charge.
|
| |
| void | setBatteryRechargeSOCUpperBound (double newBatteryMaxSOC) |
| | Sets the upper bound of the battery's recharge state of charge.
|
| |
| double | getBatteryRechargeSOCLowerBound () const |
| | Gets the lower bound of the battery's recharge state of charge.
|
| |
| void | setBatteryRechargeSOCLowerBound (double newBatteryRechargeSOCLowerBound) |
| | Sets the lower bound of the battery's recharge state of charge.
|
| |
| double | getBatteryCumEnergyConsumption () |
| | Gets the cumulative energy consumption for this battery only.
|
| |
| double | getBatteryCumEnergyRegenerated () |
| | Gets the cumulative energy regenerated for this battery only.
|
| |
| double | getBatteryCumNetEnergyConsumption () |
| | Gets the cumulative net energy consumption for this battery.
|
| |
| bool | batteryHasCharge () |
| | Checks if the battery has enough charge.
|
| |
| bool | IsBatteryExceedingThresholds () |
| | Checks if the battery exceeds certain thresholds.
|
| |
| void | SetTank (double maxCapacity, double initialCapacityPercentage, double depthOfDischarge) |
| | Set the main properties of the tank (initialize the tank)
|
| |
| double | getTankMaxCapacity () const |
| | Gets the maximum capacity of the tank.
|
| |
| void | setTankMaxCapacity (double newMaxCapacity) |
| | Sets the maximum capacity of the tank.
|
| |
| double | getTankInitialCapacity () const |
| | Gets the initial capacity of the tank.
|
| |
| void | setTankInitialCapacity (double newInitialCapacityPercentage) |
| | Sets the initial capacity of the tank.
|
| |
| double | getTankCurrentCapacity () const |
| | Gets the current capacity of the tank.
|
| |
| double | consumeTank (double consumedAmount) |
| | Consumes fuel from the tank.
|
| |
| double | getTankStateOfCapacity () const |
| | Gets the state of capacity of the tank.
|
| |
| bool | isTankDrainable (double consumedAmount) |
| | Checks if the specified amount of fuel is drainable from the tank.
|
| |
| double | getTankDOD () const |
| | Gets the depth of discharge of the tank.
|
| |
| void | setTankDOD (double newTankDOD) |
| | Sets the depth of discharge of the tank.
|
| |
| bool | tankHasFuel () |
| | Checks if the tank has fuel (current capacity > 0)
|
| |
| double | getTankCumConsumedFuel () const |
| | Gets the total amount of fuel consumed from the tank.
|
| |
A rail car.
The Car class represents a rail car in a train system. It is a type of TrainComponent and can carry either commodities or fuel. Unlike the locomotive, the car does not provide power to the train. However, in the case of a fuel tender, it can provide power to the locomotive when its stored power is low. This is achieved by consuming fuel and reducing the weight of the car.
@Author Ahmed @Date 2/14/2023