📄 fm_call.m
字号:
function fm_call(flag)
%FM_CALL calls component equations
%
%FM_CALL(CASE)
% CASE '1' algebraic equations
% CASE 'pq' load algebraic equations
% CASE '3' differential equations
% CASE '1r' algebraic equations for Rosenbrock method
% CASE '4' state Jacobians
% CASE '0' initialization
% CASE 'l' the complete set of equations and Jacobians
% CASE 'kg' as "L" option but for distributed slack bus
% CASE 'n' algebraic equations and Jacobians
% CASE 'i' set initial point
% CASE '5' non-windup limits
%
%see also FM_WCALL
global DAE Bus
switch flag
case '1'
fm_pq(1);
case 'pq'
fm_pq(1);
case '3'
case '1r'
fm_lf(1);
fm_pq(1);
fm_pv(1);
fm_sw(1);
DAE.g = [DAE.gp; DAE.gq];
case '4'
DAE.Fx = sparse(DAE.n,DAE.n);
DAE.Fy = sparse(DAE.n,2*Bus.n);
DAE.Gx = sparse(2*Bus.n,DAE.n);
case '0'
case 'fdpf'
fm_lf(1);
fm_pq(1);
fm_pv(1);
fm_sw(1);
DAE.g = [DAE.gp; DAE.gq];
case 'l'
fm_lf(1);
fm_pq(1);
fm_pv(1);
fm_sw(1);
DAE.g = [DAE.gp; DAE.gq];
fm_lf(2);
DAE.Jlf = [DAE.J11, DAE.J12; DAE.J21, DAE.J22];
fm_pq(2);
fm_pv(2);
fm_sw(2);
DAE.Jlfv = [DAE.J11, DAE.J12; DAE.J21, DAE.J22];
DAE.Fx = sparse(DAE.n,DAE.n);
DAE.Fy = sparse(DAE.n,2*Bus.n);
DAE.Gx = sparse(2*Bus.n,DAE.n);
case 'kg'
fm_lf(1);
fm_pq(1);
fm_pv(1);
DAE.g = [DAE.gp; DAE.gq];
fm_lf(2);
DAE.Jlf = [DAE.J11, DAE.J12; DAE.J21, DAE.J22];
fm_pq(2);
DAE.Jlfv = [DAE.J11, DAE.J12; DAE.J21, DAE.J22];
fm_pq(3);
DAE.Fx = sparse(DAE.n,DAE.n);
DAE.Fy = sparse(DAE.n,2*Bus.n);
DAE.Gx = sparse(2*Bus.n,DAE.n);
fm_pq(4);
case 'kgpf'
fm_lf(1);
fm_pq(1);
fm_pv(1);
DAE.g = [DAE.gp; DAE.gq];
fm_lf(2);
DAE.Jlf = [DAE.J11, DAE.J12; DAE.J21, DAE.J22];
fm_pq(2);
DAE.Jlfv = [DAE.J11, DAE.J12; DAE.J21, DAE.J22];
DAE.Fx = sparse(DAE.n,DAE.n);
DAE.Fy = sparse(DAE.n,2*Bus.n);
DAE.Gx = sparse(2*Bus.n,DAE.n);
case 'n'
fm_lf(1);
fm_pq(1);
fm_pv(1);
fm_sw(1);
DAE.g = [DAE.gp; DAE.gq];
fm_lf(2);
DAE.Jlf = [DAE.J11, DAE.J12; DAE.J21, DAE.J22];
fm_pq(2);
fm_pv(2);
fm_sw(2);
DAE.Jlfv = [DAE.J11, DAE.J12; DAE.J21, DAE.J22];
case 'i'
fm_lf(1);
fm_pq(1);
fm_pv(1);
fm_sw(1);
DAE.g = [DAE.gp; DAE.gq];
fm_lf(2);
DAE.Jlf = [DAE.J11, DAE.J12; DAE.J21, DAE.J22];
fm_pq(2);
fm_pv(2);
fm_sw(2);
DAE.Jlfv = [DAE.J11, DAE.J12; DAE.J21, DAE.J22];
if DAE.n > 0
DAE.Fx = sparse(DAE.n,DAE.n);
DAE.Fy = sparse(DAE.n,2*Bus.n);
DAE.Gx = sparse(2*Bus.n,DAE.n);
end
case '5'
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -