Skip to content

Implementation of pandapower net impedance element #88

@rbolgaryn

Description

@rbolgaryn

Is your feature request related to a problem? Please describe.

Dear Benjamin, we just implemented a new feature in pandapower for unsymmetric (different for from and to bus) shunt admittances. Earlier, we relied on the column BR_B for the shunt admittance, where there was a complex value to represent B and G. Actually, the values in this column were:

b = 2 * net.f_hz * math.pi * line["c_nf_per_km"].values * 1e-9 * baseR * length_km * parallel
g = line["g_us_per_km"].values * 1e-6 * baseR * length_km * parallel
branch[f:t, BR_B] = b - g * 1j

You can notice that the b here is defined as b-g1j, instead of the correct way g + b1j, because at a later point it was multiplied by 1j in makeYbus, where it became correct g + b*1j.

We made it explicit now in the PR e2nIEE/pandapower#2347

This also allows us creating an impedance element with unequal shunt admittances, and also transformer elements with unequal leakage impedances.

In the case 118, there are some branches that connect different voltage levels and have positive shunt reactances B. When imported from ppc earlier, we used to represent them as transfromers. However, this would be incorrect because transformers are inductive elements and they only can have negative B. To rectify this, we are importing them as impedance elements now, because they can have positive B and still connect different voltage levels (https://github.com/pawellytaev/pandapower/blob/1f40fa0192e997d694c3fc620ac1e5ab83c47ce8/pandapower/converter/pypower/from_ppc.py#L380).

Due to the fact that the impedance elements are not converted from pandapower in init at the moment, we now have failing tests in the contingency function that relies on the lightsim2grid model.

Describe the solution you'd like

An addition of impedance element in the pandapower -> lightsim2grid init function, that supports unequal values for rft and rtf, xft and xtf, gf and dt, bf and bt. This would actually be a very versatile element because of this possibility of unequal impedances.

Describe alternatives you've considered

We can take the case118 out of the test coverage temporarily, to be able to have passing tests.

Additional context

Here relevant parts of the code in pandapower:

Calculating the impedance parameters for ppc:

https://github.com/pawellytaev/pandapower/blob/1f40fa0192e997d694c3fc620ac1e5ab83c47ce8/pandapower/build_branch.py#L614

Build Ybus matrix vectors while considering unequal from and to values:
https://github.com/pawellytaev/pandapower/blob/1f40fa0192e997d694c3fc620ac1e5ab83c47ce8/pandapower/pypower/makeYbus.py#L96

What do you think about this?

Best regards,
Roman

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions