|
@@ -27,9 +27,9 @@ public class PhotovoltaicEfficiencyAnalysis2 {
|
|
|
private IvPvCurveFittingService curveFittingService;
|
|
|
|
|
|
// 计算光伏转换效率
|
|
|
- public double calculatePhotovoltaicEfficiency(double actualOutputPower, double incidentSolarPower) {
|
|
|
- double v = (actualOutputPower / incidentSolarPower) * 100.0;
|
|
|
- if (v > 95) v = 95.0;
|
|
|
+ public double calculatePhotovoltaicEfficiency(double power, double lightIntensity, double installedCapacity) {
|
|
|
+ if (lightIntensity == 0) return 0;
|
|
|
+ double v = (power * 100.0) / (lightIntensity * installedCapacity);
|
|
|
// 转换为百分比
|
|
|
return v;
|
|
|
}
|
|
@@ -55,7 +55,7 @@ public class PhotovoltaicEfficiencyAnalysis2 {
|
|
|
//double sPower = v.stream().mapToDouble(PhotovoltaicInfo::getS).sum();
|
|
|
//log.info(k + "逆变器转换率2:" + actualOutputPower / sPower);
|
|
|
|
|
|
- double efficiency = calculatePhotovoltaicEfficiency(actualOutputPower, incidentSolarPower);
|
|
|
+ double efficiency = calculatePhotovoltaicEfficiency(actualOutputPower, incidentSolarPower, 100.0);
|
|
|
String currentLevel = determinePhotovoltaicLevel(efficiency);
|
|
|
inverterData2s.add(new InverterData2(k, efficiency, actualOutputPower / v.size(), currentLevel, "转换效率"));
|
|
|
});
|