Commit 74de611f by Lian-runzhe

pfsoln函数修改

parent b7e628cd
......@@ -28,12 +28,12 @@ bus_type = slice(bus, [0], [BUS_TYPE-1,BUS_TYPE]);
ref = find(bus_type == REF) + 1;
pv = find(bus_type == PV) + 1;
pq = find(bus_type == PQ) + 1;
//bus_output = pfsoln(baseMVA, bus, gen, branch, Ybus, Yf, Yt, V, ref, pv, pq, []);
//branch_output = pfsoln(baseMVA, bus, gen, branch, Ybus, Yf, Yt, V, ref, pv, pq, []);
bus_output = pfsoln(baseMVA, bus, gen, branch, Ybus, Yf, Yt, V, ref, pv, pq, []);
gen_output = pfsoln(baseMVA, bus, gen, branch, Ybus, Yf, Yt, V, ref, pv, pq, []);
branch_output = pfsoln(baseMVA, bus, gen, branch, Ybus, Yf, Yt, V, ref, pv, pq, []);
//bus结果
/*assert_relative_eq(bus_output, [
assert_relative_eq(bus_output, [
[c(1,0), c(3,0), c(0.0,0.0), c(0.0,0.0), c(0.0,0.0), c(0.0,0.0), c(1.0,0.0), c(1.0600,0.0), c(0.0,0.0), c(0.0,0.0), c(1.0,0.0), c(1.06,0.0), c(0.94,0.0)],
[c(2,0), c(2,0), c(21.7,0.0), c(12.7,0.0), c(0.0,0.0), c(0.0,0.0), c(1.0,0.0), c(1.0450,0.0), c(-4.9826,0.0), c(0.0,0.0), c(1.0,0.0), c(1.06,0.0), c(0.94,0.0)],
[c(3,0), c(2,0), c(94.2,0.0), c(19.0,0.0), c(0.0,0.0), c(0.0,0.0), c(1.0,0.0), c(1.0100,0.0), c(-12.7251,0.0), c(0.0,0.0), c(1.0,0.0), c(1.06,0.0), c(0.94,0.0)],
......@@ -48,7 +48,7 @@ gen_output = pfsoln(baseMVA, bus, gen, branch, Ybus, Yf, Yt, V, ref, pv, pq, [])
[c(12,0), c(1,0), c(6.1,0.0), c(1.6,0.0), c(0.0,0.0), c(0.0,0.0), c(1.0,0.0), c(1.0552,0.0), c(-15.0756,0.0), c(0.0,0.0), c(1.0,0.0), c(1.06,0.0), c(0.94,0.0)],
[c(13,0), c(1,0), c(13.5,0.0), c(5.8,0.0), c(0.0,0.0), c(0.0,0.0), c(1.0,0.0), c(1.0504,0.0), c(-15.1563,0.0), c(0.0,0.0), c(1.0,0.0), c(1.06,0.0), c(0.94,0.0)],
[c(14,0), c(1,0), c(14.9,0.0), c(5.0,0.0), c(0.0,0.0), c(0.0,0.0), c(1.0,0.0), c(1.0355,0.0), c(-16.0336,0.0), c(0.0,0.0), c(1.0,0.0), c(1.06,0.0), c(0.94,0.0)]
],4);*/
],4);
//gen结果
/*assert_relative_eq(gen_output, [
......@@ -84,4 +84,6 @@ gen_output = pfsoln(baseMVA, bus, gen, branch, Ybus, Yf, Yt, V, ref, pv, pq, [])
],4);*/
return gen_output;
\ No newline at end of file
return bus_output;
//return gen_output;
//return branch_output;
\ No newline at end of file
......@@ -35,10 +35,10 @@ fn pfsoln(baseMVA, bus0, gen0, branch0, Ybus, Yf, Yt, V, ref, pv, pq, mpopt){
gen_QG = set(slice(gen, [0], [QG-1, QG]), off, zeros(length(off), 1)); // zero out off-line Qg(离线发电机QG=0)
gen = assign(gen, gen_QG, [0], [QG-1, QG] );
// don't touch the ones at PQ buses
Pd_gbus = total_load(select(bus, gbus-1), [], 1, [], [], []);
//Pd_gbus = slice(total_load(select(bus, gbus-1), [], 1, [], [], mpopt), [0], [0,1]);
//Qd_gbus = slice(total_load(bus(gbus-1, :), [], 1, [], [], mpopt), [0], [1,2]);
/*gen_QG = set(slice(gen, [0], [QG-1, QG]), on, imag(Sbus) * baseMVA + Qd_gbus); // inj Q + local Qd
PQ_gbus = total_load(select(bus, gbus-1), [], 1, [], [], mpopt);
Pd_gbus = slice(PQ_gbus, [0], [0,1]);
Qd_gbus = slice(PQ_gbus, [0], [1,2]);
gen_QG = set(slice(gen, [0], [QG-1, QG]), on, imag(Sbus) * baseMVA + Qd_gbus); // inj Q + local Qd
gen = assign(gen, gen_QG, [0], [QG-1, QG] );
// ... at this point any buses with more than one generator will have
......@@ -97,7 +97,8 @@ fn pfsoln(baseMVA, bus0, gen0, branch0, Ybus, Yf, Yt, V, ref, pv, pq, mpopt){
// update Pg for slack gen(s)
for k in 1..length(ref){
refgen = find(gbus == get_multi(get_multi(ref, [k-1]), 0) ); // which is(are) the reference gen(s)?
//Pd_refk = slice(total_load(select(bus, get_multi(ref, [k-1] )), [], 1, [], [], mpopt), [0], [0,1]);
PQ_refk = total_load(select(bus, get_multi(ref, [k-1] )), [], 1, [], [], mpopt);
Pd_refk = slice(PQ_refk, [0], [0,1]);
Pd_refk = [[c(0,0)]];
gen_PG = set(slice(gen, [0], [PG-1, PG]), get_multi(on, [get_multi(refgen,0)]), real(get_multi(Sbus, [get_multi(refgen,0)])) * baseMVA + Pd_refk );
gen = assign(gen, gen_PG, [0], [PG-1, PG] );
......@@ -127,11 +128,11 @@ fn pfsoln(baseMVA, bus0, gen0, branch0, Ybus, Yf, Yt, V, ref, pv, pq, mpopt){
branch = horzcat(branch, branch_PT);
branch_QT = zeros(size(branch,0), 1);
branch_QT = set(branch_QT, br, imag(St));
branch = horzcat(branch, branch_QT);*/
branch = horzcat(branch, branch_QT);
//return bus, gen, branch;
//return bus;
return Pd_gbus;
return bus;
//return gen;
//return branch;
}
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论