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

📄 fm_call.m

📁 这是一个很适合研究和学习用的电力系统仿真软件
💻 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 + -