CoilCoolingDXVariableRefrigerantFlow::CoilCoolingDXVariableRefrigerantFlow(const Model& model)
  : HVACComponent(CoilCoolingDXVariableRefrigerantFlow::iddObjectType(),model)
{
  OS_ASSERT(getImpl<detail::CoilCoolingDXVariableRefrigerantFlow_Impl>());

  Schedule schedule = model.alwaysOnDiscreteSchedule();
  setAvailabilitySchedule(schedule);

  autosizeRatedTotalCoolingCapacity();

  autosizeRatedSensibleHeatRatio();

  autosizeRatedAirFlowRate();

  CurveBiquadratic vrfTUCoolCapFT(model);
  vrfTUCoolCapFT.setName("VRFTUCoolCapFT");
  vrfTUCoolCapFT.setCoefficient1Constant(5.85884077803259E-02);
  vrfTUCoolCapFT.setCoefficient2x(5.87396532718384E-02);
  vrfTUCoolCapFT.setCoefficient3xPOW2(-2.10274979759697E-04);
  vrfTUCoolCapFT.setCoefficient4y(1.09370473889647E-02);
  vrfTUCoolCapFT.setCoefficient5yPOW2(-0.0001219549);
  vrfTUCoolCapFT.setCoefficient6xTIMESY(-0.0005246615);
  vrfTUCoolCapFT.setMinimumValueofx(15);
  vrfTUCoolCapFT.setMaximumValueofx(23.89);
  vrfTUCoolCapFT.setMinimumValueofy(20);
  vrfTUCoolCapFT.setMaximumValueofy(43.33);
  vrfTUCoolCapFT.setMinimumCurveOutput(0.8083);
  vrfTUCoolCapFT.setMaximumCurveOutput(1.2583);
  setCoolingCapacityRatioModifierFunctionofTemperatureCurve(vrfTUCoolCapFT);

  CurveQuadratic vrfACCoolCapFFF(model);
  vrfACCoolCapFFF.setName("VRFACCoolCapFFF");
  vrfACCoolCapFFF.setCoefficient1Constant(0.8);
  vrfACCoolCapFFF.setCoefficient2x(0.2);
  vrfACCoolCapFFF.setCoefficient3xPOW2(0.0);
  vrfACCoolCapFFF.setMinimumValueofx(0.5);
  vrfACCoolCapFFF.setMaximumValueofx(1.5);
  setCoolingCapacityModifierCurveFunctionofFlowFraction(vrfACCoolCapFFF);
}
CoilHeatingDXVariableRefrigerantFlow::CoilHeatingDXVariableRefrigerantFlow(const Model& model)
  : HVACComponent(CoilHeatingDXVariableRefrigerantFlow::iddObjectType(),model)
{
  OS_ASSERT(getImpl<detail::CoilHeatingDXVariableRefrigerantFlow_Impl>());

  Schedule schedule = model.alwaysOnDiscreteSchedule();
  setAvailabilitySchedule(schedule);

  autosizeRatedTotalHeatingCapacity();

  autosizeRatedAirFlowRate();

  CurveBiquadratic vrfTUHeatCAPFT(model);
  vrfTUHeatCAPFT.setName( name().get() + " VRFTUHeatCAPFT");
  vrfTUHeatCAPFT.setCoefficient1Constant(0.375443994956127);
  vrfTUHeatCAPFT.setCoefficient2x(6.68190645147821E-02);
  vrfTUHeatCAPFT.setCoefficient3xPOW2(-1.94171026482001E-03);
  vrfTUHeatCAPFT.setCoefficient4y(4.42618420640187E-02);
  vrfTUHeatCAPFT.setCoefficient5yPOW2(-0.0004009578);
  vrfTUHeatCAPFT.setCoefficient6xTIMESY(-0.0014819801);
  vrfTUHeatCAPFT.setMinimumValueofx(21.11);
  vrfTUHeatCAPFT.setMaximumValueofx(27.22);
  vrfTUHeatCAPFT.setMinimumValueofy(-15);
  vrfTUHeatCAPFT.setMaximumValueofy(18.33);
  vrfTUHeatCAPFT.setMinimumCurveOutput(0.6074);
  vrfTUHeatCAPFT.setMaximumCurveOutput(1.0);
  setHeatingCapacityRatioModifierFunctionofTemperatureCurve(vrfTUHeatCAPFT);

  CurveQuadratic vrfACCoolCapFFF(model);
  vrfACCoolCapFFF.setName( name().get() + " VRFACCoolCapFFF");
  vrfACCoolCapFFF.setCoefficient1Constant(0.8);
  vrfACCoolCapFFF.setCoefficient2x(0.2);
  vrfACCoolCapFFF.setCoefficient3xPOW2(0.0);
  vrfACCoolCapFFF.setMinimumValueofx(0.5);
  vrfACCoolCapFFF.setMaximumValueofx(1.5);
  setHeatingCapacityModifierFunctionofFlowFractionCurve(vrfACCoolCapFFF);
}