dss-extensions / dss-extensions/dss-extensions

Open terminals/conductors: incorrect results (especially transformers)

Open
#24 1 comment 2 reactions 0 assignees View on GitHub
⚙ engine
Dominant language
TeX
Stars
9
Forks
0
PR merge metrics
No merged PRs in 30d

Description

From the report in https://github.com/orgs/dss-extensions/discussions/21#discussioncomment-5623086 (see the link for more details).

Currently, `Transformers.WdgCurrents` and `Transformers.WdgVoltages` can return invalid values if the transformer has open conductors.

Open conductors are handled mostly by updating the `Yprim` of the element, which calls [TDSSCktElement.DoYprimCalcs()](https://github.com/dss-extensions/dss_capi/blob/0.13.1/src/Common/CktElement.pas#L992) to zero

```
// Now Account for Open Conductors
// For any conductor that is open, zero out row and column
inherited CalcYPrim;
```

In WdgCurrents/Voltages, the original `Y_Term` and `Y_Term_NL` are used, so the elements are not zeroed: https://github.com/dss-extensions/dss_capi/blob/0.13.1/src/PDElements/Transformer.pas#L1350-L1476

That's only part of the issue since, effectively, the transformer still gets the voltage values from the disconnected conductors/terminals.

Ideally, we would need to provide the correct open-conductor solution. Worst case, error out instead of returning the incorrect values.

The transformer-specific issue should affect `TTransfObj` and `TAutoTransObj`. For most other components, since they use `Yprim` to compute the currents and there is no concept of winding, I believe the current logic is correct, but it's a good idea to check other potential situations like this.

For Loads, [there is a warning in the code](https://github.com/dss-extensions/dss_capi/blob/0.13.1/src/PCElements/Load.pas#L1746) about open conductors. We could document this better.

A workaround for transformers would be to avoid using Open/Close and more the open terminal to an empty bus, or add a small line element after the transformer and switch that instead. But this requires several steps from the user and may not be trivial, so we should emulate this internally if possible.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.