Where is Walter Roberson, the dude who has a house at the matlab forum?

26 views (last 30 days)

Show older comments

Meme Young
on 28 Mar 2021

Walter Roberson
on 3 Apr 2021

baseMVA = 100; baseKV = 500;

Zbase = baseKV ^ 2 / baseMVA;

fn = 60; wn = 2 * pi * fn;

%% line data p.u.

r12 = 0.0014; x12 = 0.03;

r23_1 = 0.0067; l23_1 = 0.0739;

r23_2 = 0.0074; l23_2 = 0.08; c23_2 = 0.55 * l23_2;

r34 = 2e-4; x34 = 0.02;

%% line data nominal

R12 = Zbase * r12; L12 = Zbase * x12 / wn;

R23_1 = r23_1 * Zbase; L23_1 = l23_1 * Zbase / wn;

R23_2 = r23_2 * Zbase; L23_2 = l23_2 * Zbase / wn; C23_2 = 1 / (c23_2 * Zbase * wn);

R34 = r34 * Zbase; L34 = x34 * Zbase / wn;

M = diag([ones(1,5), zeros(1,5)]);

A = [-R12 / L12 0 0 0 0 1 / L12 0 0 0 0;

0 -R23_1 / L23_1 0 0 0 0 1 / L23_1 0 0 0;

0 0 -R23_2 / L23_2 0 0 0 0 1 / L23_2 0 0;

0 0 0 0 0 0 0 0 1 / C23_2 0;

0 0 0 0 -R34 / L34 0 0 0 0 1 / L34;

0 0 0 1 0 0 -1 1 0 0;

0 0 0 0 0 1 1 0 0 1;

0 0 -1 0 0 0 0 0 1 0;

1 -1 -1 0 0 0 0 0 0 0;

1 0 0 0 -1 0 0 0 0 0]; % dF/dy

syms lambda

D = det(M + lambda * A);

R = solve(D./lambda^7, lambda);

vpa(R)

subs(M, lambda, R(3))

That is obviously singular.

Therefore, there are three lambda values (one of them real) for which M + lambda*A is singular.

If you are correct that "the (M + lamda * dF/dy) has to be non-singular for all nonzero lamda" then you do not meet the conditions, and that would imply that you cannot reduce the DAE order.

Since the slx file can run, it must be a set of solvable DAE

Your code might possibly not match the slx model.

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!