12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- package com.gyee.power.fitting.dispersionanalysis;
- import java.util.HashMap;
- import java.util.Map;
- public class PhotovoltaicEfficiencyAnalysis {
- public static void main(String[] args) {
- // 模拟全站光伏逆变单元的数据,这里用一个Map来表示每个逆变单元的发电功率和入射光能
- Map<String, Double[]> inverterData = new HashMap<>();
- inverterData.put("Inverter1", new Double[]{500.0, 600.0});
- inverterData.put("Inverter2", new Double[]{550.0, 600.0});
- inverterData.put("Inverter3", new Double[]{450.0, 600.0});
- inverterData.put("Inverter4", new Double[]{600.0, 600.0});
- inverterData.put("Inverter5", new Double[]{350.0, 600.0});
- // 分析光伏逆变单元的运行水平
- for (Map.Entry<String, Double[]> entry : inverterData.entrySet()) {
- String inverterName = entry.getKey();
- Double[] data = entry.getValue();
- double actualOutputPower = data[0]; // 实际发电功率
- double incidentSolarPower = data[1]; // 入射光能
- double efficiency = calculatePhotovoltaicEfficiency(actualOutputPower, incidentSolarPower);
- OperatingLevel currentLevel = determinePhotovoltaicLevel(efficiency);
- // 输出每个逆变单元的运行水平
- System.out.println(inverterName + "的运行水平是: " + currentLevel);
- }
- }
- // 根据转换效率确定光伏运行水平
- private static OperatingLevel determinePhotovoltaicLevel(double efficiency) {
- if (efficiency >= 90.0) {
- return OperatingLevel.STABLE;
- } else if (efficiency >= 80.0) {
- return OperatingLevel.GOOD;
- } else if (efficiency >= 70.0) {
- return OperatingLevel.NEEDS_IMPROVEMENT;
- } else {
- return OperatingLevel.MUST_CORRECT;
- }
- }
- // 计算光伏转换效率
- private static double calculatePhotovoltaicEfficiency(double actualOutputPower, double incidentSolarPower) {
- // 转换为百分比
- return (actualOutputPower / incidentSolarPower) * 100.0;
- }
- }
|