43 BaseCurve(
const double flow,
const double pressure,
const double power)
44 : flow(flow), pressure(pressure), power(power) {};
46 const double flow, pressure, power;
52 RatedPoint(
const double flow,
const double pressure,
const double power,
const double density,
53 const double speed,
const double speedCorrected)
54 :
BaseCurve(flow, pressure, power), density(density), speed(speed), speedCorrected(speedCorrected) {};
56 const double density, speed, speedCorrected;
62 BaseOperatingPoint(
const double flow,
const double pressure,
const double power,
const double density,
63 const double speed,
const double speedCorrected,
const double pressureBarometric,
64 const bool usePt1Factor,
const double pt1 = 0)
65 :
RatedPoint(flow, pressure, power, density, speed, speedCorrected), pressureBarometric(pressureBarometric),
66 usePt1Factor(usePt1Factor), pt1(pt1) {};
68 const double pressureBarometric;
78 : curveType(curveType), ratedPointData(std::move(ratedPointData)), calcType(
CalculationType::RatedPoint) {}
81 : curveType(curveType), baseOperatingPointData(std::move(baseOperatingPointData)),
86 std::vector<BaseCurve> baseCurveData;
87 std::vector<RatedPoint> ratedPointData;
88 std::vector<BaseOperatingPoint> baseOperatingPointData;
97 FanCurve(
const double density,
const double densityCorrected,
const double speed,
const double speedCorrected,
98 const double pressureBarometric,
const double pressureBarometricCorrected,
const double pt1Factor,
99 const double gamma,
const double gammaCorrected,
const double area1,
const double area2,
FanCurveData data)
100 : density(density), densityCorrected(densityCorrected), speed(speed), speedCorrected(speedCorrected),
101 pressureBarometric(pressureBarometric), pressureBarometricCorrected(pressureBarometricCorrected),
102 pt1Factor(pt1Factor), gamma(gamma), gammaCorrected(gammaCorrected), area1(area1), area2(area2),
103 curveData(std::move(data)) {};
105 std::vector<ResultData> calculate();
108 std::vector<ResultData> calculateBaseCurve();
109 std::vector<ResultData> calculateBaseOperatingPoint();
110 std::vector<ResultData> calculateRatedPoint();
112 double density, densityCorrected, speed, speedCorrected, pressureBarometric, pressureBarometricCorrected;
113 double pt1Factor, gamma, gammaCorrected, area1, area2;