EvaporativeFluidCoolerSingleSpeed::EvaporativeFluidCoolerSingleSpeed(const Model& model)
  : StraightComponent(EvaporativeFluidCoolerSingleSpeed::iddObjectType(),model)
{
  BOOST_ASSERT(getImpl<detail::EvaporativeFluidCoolerSingleSpeed_Impl>());
 
  autosizeDesignAirFlowRate();
  autosizeFanPoweratDesignAirFlowRate();
  setDesignSprayWaterFlowRate(0.03);
  setPerformanceInputMethod("UFactorTimesAreaAndDesignWaterFlowRate");
  resetStandardDesignCapacity();
  autosizeUfactorTimesAreaValueatDesignAirFlowRate();
  autosizeDesignWaterFlowRate();
  resetUserSpecifiedDesignCapacity();
  resetDesignEnteringWaterTemperature();
  resetDesignEnteringAirTemperature();
  resetDesignEnteringAirWetbulbTemperature();
  setCapacityControl("FanCycling");
  setSizingFactor(1.0);
  setEvaporationLossMode("SaturatedExit");
  setDriftLossPercent(0.008);
  setBlowdownCalculationMode("ConcentrationRatio");
  setBlowdownConcentrationRatio(3.0);
  resetBlowdownMakeupWaterUsageSchedule();
  setString(OS_EvaporativeFluidCooler_SingleSpeedFields::SupplyWaterStorageTankName,"");
}
// create a new EvaporativeCoolerDirectResearchSpecial object in the model's workspace
EvaporativeCoolerDirectResearchSpecial::EvaporativeCoolerDirectResearchSpecial(const Model& model,Schedule & schedule)
  : StraightComponent(EvaporativeCoolerDirectResearchSpecial::iddObjectType(),model) 
{
  OS_ASSERT(getImpl<detail::EvaporativeCoolerDirectResearchSpecial_Impl>());

  this->setAvailabilitySchedule(schedule);

  setCoolerEffectiveness(1.0);

  setRecirculatingWaterPumpPowerConsumption(0.0);

  setDriftLossFraction(0.0);

  setBlowdownConcentrationRatio(0.0);

  setWaterPumpPowerSizingFactor(0.1);
}