You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
RES: (0, 100%] range check
-FC does not supply aux load directly for FCEVs, it comes from the RES
create new optional field in FC and RES components for aux load efficiency penalty
FC: represents an alternator (fuel cell stacks dont directly supply aux power, all goes to RES)
for FCEV, check on initialization this value is None or Some(1.0), e.g.:
implInitforFuelCellElectricVehicle{fninit(&mutself) -> Result<(),Error>{// Validate that FC doesn't have alternator (FCEV is purely electrical)ifletSome(eff) = self.fc.aux_load_eff{ensure!(
eff == 1.0* uc::R,"FCEV fuel converter should not have alternator losses. aux_load_eff must be None or 1.0, got {}",
eff.get::<si::ratio>());}// ... rest of initself.fc.init()?;self.res.init()?;// ...Ok(())}}
RES: represents DC:DC conversion efficiency
figure out how to maintain serde format compatibilty
Eventually port to style of #279, delegate some efficiency range checks to that implementation Did this already, why not
Necessary for #270Not necessary, but usefulAuxiliary Load Efficiency Refactoring Architecture
Problem with current state
In BEV, HEV, PHEV:
In HEV:
FuelConverterhasalt_effthat accounts for thisFor FCEVs (modeled as a powertrain type around
HybridElectricVehicle): there should be no alternator, so how should this be accounted for?Potential solutions, but not ideal:Add alt_eff toHybridElectricVehicle(as in Alternator efficiency for HEVs (applies fc aux load only) #272)Does not apply when we get to modeling FCEVs, FCEVs have no alternatorIntroduce a single vehicle-level fieldcan't distinguish between mechanical (FC) vs electrical (RES) conversion lossesIntroduce multiple vehicle-level fields, for FC and RESpossibility of modeling inapplicable vehicles (conventional vehicle with a RES aux load efficiency?)Solution: Component-Level Efficiency Fields
Add optional
aux_load_eff: Option<si::Ratio>to:FuelConverter— represents mechanical-to-electrical conversion (alternator for ICE, inapplicable for fuel cell)ReversibleEnergyStorage— represents electrical-to-electrical conversion (DC-DC inverter)Add initialization checks
Conv init:
HEV/PHEV init:
FCEV init:
ensure!(fc.aux_load_eff == None or Some(1.0))-FC does not supply aux load directly for FCEVs, it comes from the RES
create new
optionalfield in FC and RES components for aux load efficiency penaltyEventually port to style of #279, delegate some efficiency range checks to that implementationDid this already, why not