intervention.m
来自「电力系统分析计算程序」· M 代码 · 共 57 行
M
57 行
function a = intervention(a,t)global DAE Bus Settingspersistent angles voltagesif ~a.n, return, end% do not repeat computations if the simulation is stuckingif a.time ~= t a.time = t;else returnend for i = 1:a.n h = a.bus(i); if t == a.con(i,5) % fault occurrence fm_disp(['Applying fault(s) at bus <', ... Bus.names{h},'> for t = ',num2str(t),' s']) % enable fault a.u(i) = 1; % store pre-fault bus angles angles = DAE.y(Bus.a); voltages = DAE.y(Bus.v); % update algebraic variables %conv = fm_nrlf(40,1e-4,1,0); elseif t == a.con(i,6) % fault clearance fm_disp(['Clearing fault(s) at bus <', ... Bus.names{h},'> for t = ',num2str(t),' s']) % disable fault a.u(i) = 0; % recover bus voltages %DAE.y(Bus.n+1:2*Bus.n) = ones(Bus.n,1); %DAE.y(getbus(PV,'v')) = getvg(PV,'all'); %DAE.y(getbus(SW,'v')) = getvg(SW,'all'); DAE.y(Bus.v) = voltages; if Settings.resetangles DAE.y(Bus.a) = angles; end % update algebraic variables %conv = fm_nrlf(40,1e-4,1,1); end end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?