boolean isTOU () { return tariff.isTimeOfUse(); }
/** * Computes composite per-tariff inconvenience of a tariff. */ public double computeInconvenience (Tariff tariff) { double result = 0.0; // Time-of-use tariffs have multiple Rates, at least one of which // has a daily or weekly begin/end if (tariff.isTimeOfUse()) result += touFactor; // Tiered tariffs have multiple Rates, at least one having // a non-zero tier threshold. if (tariff.isTiered()) result += tieredRateFactor; // Variable-rate tariffs have at least one non-fixed Rate if (tariff.isVariableRate()) result += variablePricingFactor; // Interruptible tariffs are for an interruptible PowerType, and // have a Rate with a maxCurtailment != 0 if (tariff.isInterruptible()) result += interruptibilityFactor; return result; }
@Override public CapacityProfile getCapacityProfile (Tariff tariff) { // lazy creation of capacityProfile table if (null == TariffProfiles) { TariffProfiles = new HashMap<Tariff, TariffInfo>(); } // return existing capacityProfile if it exists TariffInfo info = TariffProfiles.get(tariff); if (null != info) { return info.getCapacityProfile(); } // otherwise, create a new capacityProfile info = makeTariffInfo(tariff); if (tariff.isTimeOfUse()) { heuristicTouProfile(info); } else { // fill capacityProfile with nominal consumption double[] pr = new double[profileSize]; Arrays.fill(pr, getNominalHourlyConsumption()); info.setCapacityProfile(new CapacityProfile(pr, lastSunday())); } log.debug(getName() + " capacityProfile " + Arrays.toString(info.getCapacityProfile().getProfile())); TariffProfiles.put(tariff, info); return info.getCapacityProfile(); }
regCapacity = new RegulationCapacity(subscription, 0.0, 0.0); else if (tariff.isTimeOfUse() || tariff.isVariableRate()) {