Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update branch model to support asymmetrical line charging #214

Closed
ccoffrin opened this issue Mar 1, 2018 · 1 comment
Closed

Update branch model to support asymmetrical line charging #214

ccoffrin opened this issue Mar 1, 2018 · 1 comment

Comments

@ccoffrin
Copy link
Member

ccoffrin commented Mar 1, 2018

And also add a conductance parameter.

@ccoffrin ccoffrin added this to the PSSE v33 Support milestone Mar 1, 2018
@ccoffrin
Copy link
Member Author

Make sure to revise this function as well,

https://github.com/lanl-ansi/PowerModels.jl/blob/master/src/core/data.jl#L439

pseudocubic added a commit that referenced this issue Mar 28, 2018
Updated the Branch model to support asymmetrical line charging by
allowing for full complex variable in Ohms constraint equations, e.g.:
(from `form/acp.jl:90::91`)

    p[f_idx] ==  g/tm*v[f_bus]^2 +
        (-g*tr+b*ti)/tm*(v[f_bus]*v[t_bus]*cos(t[f_bus]-t[t_bus])) +
        (-b*tr-g*ti)/tm*(v[f_bus]*v[t_bus]*sin(t[f_bus]-t[t_bus]))
    q[f_idx] == -(b+c/2)/tm*v[f_bus]^2 -
        (-b*tr-g*ti)/tm*(v[f_bus]*v[t_bus]*cos(t[f_bus]-t[t_bus])) +
        (-g*tr+b*ti)/tm*(v[f_bus]*v[t_bus]*sin(t[f_bus]-t[t_bus]))

to

    p[f_idx] ==  (g+g_fr)/tm*v[f_bus]^2 +
        (-g*tr+b*ti)/tm*(v[f_bus]*v[t_bus]*cos(t[f_bus]-t[t_bus])) +
        (-b*tr-g*ti)/tm*(v[f_bus]*v[t_bus]*sin(t[f_bus]-t[t_bus]))
    q[f_idx] == -(b+b_fr)/tm*v[f_bus]^2 -
        (-b*tr-g*ti)/tm*(v[f_bus]*v[t_bus]*cos(t[f_bus]-t[t_bus])) +
        (-g*tr+b*ti)/tm*(v[f_bus]*v[t_bus]*sin(t[f_bus]-t[t_bus]))

where `c` is defined as `"br_b"`, or the total line charging susceptance
from the Matpower parser, and `g_fr` and `b_fr` are the real and
imaginary parts of the full complex admittance of the line shunt at the
"from"-bus end of the branch, respectively.

The Matpower parser now splits `"br_b"` into `b_fr = br_b / 2` and
`b_to = br_b / 2`, and assigns default values `g_fr = 0` and `g_to = 0`.

The constraints

- `constraint_loss_lb`
- `constraint_power_magnitude_link`
- `constraint_power_magnitude_link_on_off`

were changed to fail if `assert(g_fr == 0 && g_to == 0)`  fails, and
assigns  `c = b_fr + b_to`. These constraints will be re-derived from
first principles in the future.

Unit tests required no change.

Closes #214
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant