📄 intervention.m
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -