📄 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_WCALLglobal 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 = zeros(DAE.n,DAE.n); DAE.Fy = zeros(DAE.n,2*Bus.n); DAE.Gx = zeros(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 = zeros(DAE.n,DAE.n); DAE.Fy = zeros(DAE.n,2*Bus.n); DAE.Gx = zeros(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 = zeros(DAE.n,DAE.n); DAE.Fy = zeros(DAE.n,2*Bus.n); DAE.Gx = zeros(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 = zeros(DAE.n,DAE.n); DAE.Fy = zeros(DAE.n,2*Bus.n); DAE.Gx = zeros(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 = zeros(DAE.n,DAE.n); DAE.Fy = zeros(DAE.n,2*Bus.n); DAE.Gx = zeros(2*Bus.n,DAE.n); end case '5'end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -