Dear Ray,

No problem. Thank you so much for looking into it!

Sincerely,
Alex Loh

On Wed, Aug 30, 2017 at 10:35 AM, Ray Zimmerman <[email protected]> wrote:

> *(Sorry, for all of the e-mails … one more try … seems the comments in the
> Matlab code are triggering a bug in the mailing list software.)*
>
> There are a couple of things missing.
>
> 1. The Pbusinj, is simply an injection offset to handle phase shifters
> (all zeros in case14), so it does not include the load and generation terms
> from (3.32) in B_dc.
> 2. Voltage angles must be in radians (and injections in p.u.)
>
> Try this …
>
> define_constants;
> mpc = loadcase('case14');
> r = rundcpf(mpc);
> Va = r.bus(:, VA) * pi/180;
> [Bbus, Bf, Pbusinj, Pfinj] = makeBdc(r);
> Pd = r.bus(:, PD) / r.baseMVA;
> Pg = zeros(size(Pd));
> Pg(r.gen(:, GEN_BUS)) = r.gen(:, PG) / r.baseMVA;
> mis = Bbus*Va+Pbusinj + Pd - Pg
>
> Hope this helps,
>
>     Ray
>
>
>
> On Aug 29, 2017, at 2:04 AM, Alexander Loh <[email protected]> wrote:
>
> I am trying to solve a power flow problem with MATPOWER using the DC model
> and trying to verify that the solution fits the DC power flow equations
> (eqn. 4.7 in the MATPOWER user manual). I have a minimal working example
> that goes as follows:
>
> close all
> clear all
> clc
>
> option = mpoption('model','DC');
> mpc = loadcase('case14');
>
> result = runpf(mpc, option);
>
> [Bbus, Bf, Pbusinj, Pfinj] = makeBdc(result);
> theta = result.bus(:,9);
> diff = Bbus*theta-Pbusinj;
>
> disp(diff)
>
> If my understanding of subsection 9.5.2 (pg. 102) and eqn 4.7 (pg. 30) are
> correct, diff should be a vector of all zero values, or close to it.
> However, that doesn't appear to be the case; diff(1) is about 125, for
> example. Is there a mistake in my understanding of the way the code is
> meant to operate?
>
> Thanks for your time,
> Alex
>
>
>

Reply via email to