⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setx0.m

📁 这是一个很适合研究和学习用的电力系统仿真软件
💻 M
字号:
function a = setx0(a)

global Bus DAE PV Syn Line jay

if ~a.n, return, end

% reset transmission line reactance and admittance matrix
Line.con(a.line,9) = Line.con(a.line,9) + a.xcs;
fm_y;

V1 = DAE.V(a.bus1);
V2 = DAE.V(a.bus2);
a1 = DAE.a(a.bus1);
a2 = DAE.a(a.bus2);

vp_max = a.con(:,9);
vp_min = a.con(:,10);
vq_max = a.con(:,11);
vq_min = a.con(:,12);
iq_max = a.con(:,13);
iq_min = a.con(:,14);

kp = a.Cp./(1-a.Cp);
V = V1.*exp(jay.*a1)-V2.*exp(jay.*a2);
theta = angle(V)-pi/2;

% if vp = 0, gamma is as follows:
a.gamma = pi/2+theta-a1;

DAE.x(a.vp) = 0;
DAE.x(a.vq) = kp.*V1.*sin(a1-a2)./sin(a1-a2+a.gamma);
DAE.x(a.iq) = Bus.Qg(a.bus1)./V1;

idx = find(DAE.x(a.vp) > vp_max);
if idx, upfcwarn(idx,' Vp is over its max limit.'), end
idx = find(DAE.x(a.vp) < vp_min);
if idx, upfcwarn(idx,' Vp is under its min limit.'), end

idx = find(DAE.x(a.vq) > vq_max);
if idx, upfcwarn(idx,' Vq is over its max limit.'), end
idx = find(DAE.x(a.vq) < vq_min);
if idx, upfcwarn(idx,' Vq is under its min limit.'), end

idx = find(DAE.x(a.iq) > iq_max);
if idx, upfcwarn(idx,' Ish is over its max limit.'), end
idx = find(DAE.x(a.iq) < iq_min);
if idx, upfcwarn(idx,' Ish is under its min limit.'), end

DAE.x(a.vp) = max(DAE.x(a.vp),vp_min);
DAE.x(a.vp) = min(DAE.x(a.vp),vp_max);

DAE.x(a.vq) = max(DAE.x(a.vq),vq_min);
DAE.x(a.vq) = min(DAE.x(a.vq),vq_max);

DAE.x(a.iq) = max(DAE.x(a.iq),iq_min);
DAE.x(a.iq) = min(DAE.x(a.iq),iq_max);

% reference voltages
a.vp0 = DAE.x(a.vp);
a.vq0 = DAE.x(a.vq);
a.Vref = DAE.x(a.iq)./a.con(:,7) + V1;   

% eliminate PV components used for initializing UPFC's
global Syn
for i = 1:a.n
  idxg = find(Syn.bus == a.bus1(i));
  if ~isempty(idxg)
    upfcwarn(a,i,[' UPFC cannot be connected at the same bus as ' ...
                'synchronous machines.'])
    continue
  end
  idx = findbus(PV,a.bus1(i));
  PV = remove(PV,idx);
  if isempty(idx)
    upfcwarn(a,i,' no PV generator found at the bus.')
  end
end

fm_disp('Initialization of UPFC completed.')  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -