Merge pull request '방위각 절대치 적용' (#268) from dev into dev-deploy
Reviewed-on: #268
This commit is contained in:
commit
cd91cc9006
@ -253,9 +253,10 @@ public class PwrGnrSimService {
|
||||
} else { // 각도
|
||||
dKoubai[i] = (2 * Math.PI) * (Double.parseDouble(data.getSlopeAngle()) / 360);
|
||||
}
|
||||
|
||||
// dHoui[i] = Math.abs((2 * Math.PI) * (Double.parseDouble(data.getAzimuth()) / 360));
|
||||
dHoui[i] = (2 * Math.PI) * (Double.parseDouble(data.getAzimuth()) / 360);
|
||||
//초기 계산식 - 절대치인정
|
||||
dHoui[i] = Math.abs((2 * Math.PI) * (Double.parseDouble(data.getAzimuth()) / 360));
|
||||
//변경된 계산식 - 절대치 불인정
|
||||
//dHoui[i] = (2 * Math.PI) * (Double.parseDouble(data.getAzimuth()) / 360);
|
||||
// 지붕별 모듈정보 셋팅
|
||||
int j = 0;
|
||||
for (PwrGnrSimRoofResponse m : moduleGroupList) {
|
||||
@ -867,11 +868,11 @@ public class PwrGnrSimService {
|
||||
// houi[rad]을 [도]로 변환
|
||||
houi = (houi / (2 * Math.PI)) * 360;
|
||||
|
||||
// 電力ピークカット(houi 절대값으로 변경)
|
||||
// 電力ピークカット
|
||||
double watt_peakcut_result =
|
||||
((matrix_multiply1 * (Math.cos(Math.abs(houi) * Math.PI / 180) + 1) + matrix_multiply2) < 0.1)
|
||||
((matrix_multiply1 * (Math.cos(houi * Math.PI / 180) + 1) + matrix_multiply2) < 0.1)
|
||||
? 0.1
|
||||
: (matrix_multiply1 * (Math.cos(Math.abs(houi) * Math.PI / 180) + 1) + matrix_multiply2);
|
||||
: (matrix_multiply1 * (Math.cos(houi * Math.PI / 180) + 1) + matrix_multiply2);
|
||||
|
||||
////////////
|
||||
// pcs1과 모듈 1의 전류차 구하기 용도
|
||||
@ -987,26 +988,23 @@ public class PwrGnrSimService {
|
||||
int sekisairitsu_ceil = (int) Math.ceil(sekisairitsu / 5.0) * 5;
|
||||
double pcs_henkankouritsu = (pcsHenkankouritsu * 1000 <= 985) ? Math.ceil(pcsHenkankouritsu * 1000 / 5) * 5 : 985;
|
||||
|
||||
int a = 1, b = 1;
|
||||
|
||||
for(int i = 1 ; i < 37 ; i++){
|
||||
a++;//pcs効率によるピークカットデータベースから積載率の一致する行番号取得
|
||||
if(sekisairitsu_ceil == peakcut_by_pcs_data.get(i).get(0)){
|
||||
int i;
|
||||
for (i = 1; i < 37; i++) { // pcs効率によるピークカットデータベースから積載率の一致する行番号取得
|
||||
if (sekisairitsu_ceil == peakcut_by_pcs_data.get(i).get(0)) {
|
||||
break;
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
for(int j = 1 ; j < 15 ; j++){
|
||||
b++;//pcs効率によるピークカットデータベースから積載率の一致する列番号取得
|
||||
if(pcs_henkankouritsu == peakcut_by_pcs_data.get(0).get(j)){
|
||||
int j;
|
||||
for (j = 1; j < 15; j++) { // pcs効率によるピークカットデータベースから積載率の一致する列番号取得
|
||||
if (pcs_henkankouritsu == peakcut_by_pcs_data.get(0).get(j)) {
|
||||
break;
|
||||
};
|
||||
};
|
||||
|
||||
double peakcut_by_pcs = peakcut_by_pcs_data.get(a).get(b); //ピークカット率を代入
|
||||
double peakcut_by_pcs_kijun = peakcut_by_pcs_data.get(a).get(10); //基準ピークカット率(変換効率0.965)を代入
|
||||
double peakcut_by_pcs_result = peakcut_by_pcs_kijun - peakcut_by_pcs; //ピークカット率と基準ピークカット率の差分を代入
|
||||
}
|
||||
}
|
||||
|
||||
double peakcut_by_pcs = peakcut_by_pcs_data.get(i).get(j); // ピークカット率を代入
|
||||
double peakcut_by_pcs_kijun = peakcut_by_pcs_data.get(i).get(10); // 基準ピークカット率(変換効率0.965)を代入
|
||||
double peakcut_by_pcs_result = peakcut_by_pcs_kijun - peakcut_by_pcs; // ピークカット率と基準ピークカット率の差分を代入
|
||||
|
||||
if(((100 - watt_peakcut_result + peakcut_by_pcs_result) /100) < 1){
|
||||
|
||||
@ -1869,20 +1867,20 @@ public class PwrGnrSimService {
|
||||
// + Math.cos(taiyousekii[i]) * Math.sin(koubai) * Math.sin(houi) *
|
||||
// Math.sin(jikakudo[i][j])));
|
||||
// System.err.println( " " );
|
||||
//houi 절대값으로 변경
|
||||
|
||||
cosTheta[m][j] =
|
||||
Math.max(
|
||||
0,
|
||||
(Math.sin(latlng[i][0]) * Math.cos(koubai)
|
||||
- Math.cos(latlng[i][0]) * Math.sin(koubai) * Math.cos(Math.abs(houi)))
|
||||
- Math.cos(latlng[i][0]) * Math.sin(koubai) * Math.cos(houi))
|
||||
* Math.sin(taiyousekii[i])
|
||||
+ (Math.cos(latlng[i][0]) * Math.cos(koubai)
|
||||
+ Math.sin(latlng[i][0]) * Math.sin(koubai) * Math.cos(Math.abs(houi)))
|
||||
+ Math.sin(latlng[i][0]) * Math.sin(koubai) * Math.cos(houi))
|
||||
* Math.cos(taiyousekii[i])
|
||||
* Math.cos(jikakudo[i][j])
|
||||
+ Math.cos(taiyousekii[i])
|
||||
* Math.sin(koubai)
|
||||
* Math.sin(Math.abs(houi))
|
||||
* Math.sin(houi)
|
||||
* Math.sin(jikakudo[i][j]));
|
||||
|
||||
rb[m][j] = (cosThetaZ[i][j] == 0) ? 0 : cosTheta[m][j] / cosThetaZ[i][j];
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user