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

📄 fm_call.m

📁 一个较好的MATLAB潮流程序
💻 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_mn(1);

 case 'pq'

  fm_mn(1);

 case '3'

  fm_syn(3);
  fm_exc(3);
  fm_tg(3);

 case '1r'

  fm_lf(1);
  fm_mn(1);
  fm_syn(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);
  fm_syn(4);
  fm_exc(4);
  fm_tg(4);

 case '0'

  fm_mn(0);
  fm_syn(0);
  fm_exc(0);
  fm_tg(0);

 case 'fdpf'

  fm_lf(1);
  fm_mn(1);

  DAE.g = [DAE.gp; DAE.gq];


 case 'l'

  fm_lf(1);
  fm_mn(1);

  DAE.g = [DAE.gp; DAE.gq];

  fm_lf(2);
  DAE.Jlf = [DAE.J11, DAE.J12; DAE.J21, DAE.J22];
  fm_mn(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_mn(1);
  fm_syn(1);
  fm_exc(1);
  fm_tg(1);

  DAE.g = [DAE.gp; DAE.gq];

  fm_lf(2);
  DAE.Jlf = [DAE.J11, DAE.J12; DAE.J21, DAE.J22];
  fm_mn(2);
  fm_syn(2);
  fm_exc(2);
  fm_tg(2);

  DAE.Jlfv = [DAE.J11, DAE.J12; DAE.J21, DAE.J22];

  fm_mn(3);
  fm_syn(3);
  fm_exc(3);
  fm_tg(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_mn(4);
  fm_syn(4);
  fm_exc(4);
  fm_tg(4);

 case 'kgpf'

  fm_lf(1);
  fm_mn(1);

  DAE.g = [DAE.gp; DAE.gq];

  fm_lf(2);
  DAE.Jlf = [DAE.J11, DAE.J12; DAE.J21, DAE.J22];
  fm_mn(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_mn(1);
  fm_syn(1);

  DAE.g = [DAE.gp; DAE.gq];

  fm_lf(2);
  DAE.Jlf = [DAE.J11, DAE.J12; DAE.J21, DAE.J22];
  fm_mn(2);
  fm_syn(2);

  DAE.Jlfv = [DAE.J11, DAE.J12; DAE.J21, DAE.J22];

 case 'i'

  fm_lf(1);
  fm_mn(1);
  fm_syn(1);

  DAE.g = [DAE.gp; DAE.gq];

  fm_lf(2);
  DAE.Jlf = [DAE.J11, DAE.J12; DAE.J21, DAE.J22];
  fm_mn(2);
  fm_syn(2);

  DAE.Jlfv = [DAE.J11, DAE.J12; DAE.J21, DAE.J22];

  fm_syn(3);
  fm_exc(3);
  fm_tg(3);


  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 
  fm_syn(4);
  fm_exc(4);
  fm_tg(4);

 case '5'

  fm_exc(5);
  fm_tg(5);

end

⌨️ 快捷键说明

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