Menu

topology loops

2019-05-06
2021-01-13
  • Ezequiel Campos Pereira

    Hello all,
    I'm using the OpenDSS Loops function to get the loops from real MT feeders from the utility I work for. But, I'm getting a strange result when the feeder have any voltage regulators banks in LN connection. The Loops function" gives me the result:
    "Loops and Paralleled Lines in all EnergyMeter Zones
    (allcircuit) Transformer.TRTR6378CN: LOOPED TO Transformer.trtr6378bn
    (allcircuit) Transformer.TRTR6378BN: LOOPED TO Line.tr12221978
    (allcircuit) Transformer.TRTR6378AN: LOOPED TO Line.tr12221978"

    Is that correct? The circuit file is attached
    Thanks

     
  • Roger Dugan

    Roger Dugan - 2019-05-06

    The Loop detection funtion can be fooled by single-phase regulators and a few other devices. The report you are looking at takes the approach of reporting ambiguous cases so you can check them out.

     
    • Hongda Ren

      Hongda Ren - 2021-01-12

      Hi Mr. Roger Dugan,

      Thank you for pointing out the loop detection function can be fooled by single-phase regulators and a few other devices.
      Could you please specify "other devices" or where to find the list?

      I am using Python COM DSSTopology = DSSCircuit.Topology numLoops = DSSTopology.NumLoops LoopPairs = DSSTopology.AllLoopedPairs to get loops in the IEEE 123 feeder, which includes one single-phase regulator. I see numLoops = 2 there if there is no actual loop in feeder. The LoopPairs show "Transformer.reg4c
      Transformer.reg4b
      Transformer.reg4a
      Transformer.reg4c
      Transformer.reg3c
      Transformer.reg3a "

      I notice the signle-phase regulator reg2a is not on the list as a loop.

      I also add an action to open switch 4 to disconnect Regulator 4 at t=2, after "Solve", the numLoops still show 2, and LoopPairs do not change. Do you know how to differentiate the real loops or loops caused by regulators?

      Thank you!
      Hongda

       
  • Roger Dugan

    Roger Dugan - 2021-01-12

    The loop detection algorithm you are referring to is mainly for debugging the circuit so you can spot connection errors more easily. I suspect you are wanting to count loops for some other purpose such are a metric to judge a power flow algorithm. You may have to write you own circuit tracing algorithm for that.

    Davis may have written something for that to support Diakoptics, but I'll let him answer that.

    The power flow solution engine in OpenDSS doesn't care about loops - only nodes. It can solve the circuit with or without loops with the same algorithm. That is one of the reasons we use that algorithm. It is compact and efficient. You probably won't find it described in any distribution system analysis textbook, but you did learn the basics in your first Electrical Engineering course where you learned how to write nodal admittance equations.

    I learned about 1977 that I=YV will generally converge to a fixed point if the first guess at V is not too far off from the final solution. That's basically how OpenDSS works.

     
    • Hongda Ren

      Hongda Ren - 2021-01-12

      Thank you for swift reply, Mr. Roger Dugan!

      Yes, my application is building IEEE 123 node system in OpenDSS as an gym environment for algorithm to train switches operations for restoration purpose.

      I would like to count loops in system to ensure the taken switches operations do not cause any loops in the system (keep the radial structure). If there is a loop showing, the switch operation will be recalled.

      Thank you, and look forward to learning more details about the loop functions!
      Hongda

       
      • Davis Montenegro

        Hello,

        for finding loops within the model you can use the incidence B2N matrix provided by OpenDSS. This matrix is a graph that allows to localize loops and other topological features of the system. This is an example on how to get the matrix:

        https://sourceforge.net/p/electricdss/discussion/861977/thread/ecc16f6e19/?limit=25#1a11/a0d5

        Then, by having the graph you can extract the data you need. There are a bunch of tools/add-ons for doing that out there, for example, the following library finds loops on a graph using MATLAB:

        https://www.mathworks.com/matlabcentral/fileexchange/10722-count-loops-in-a-graph

        Best regards

        Davis

         
        • Hongda Ren

          Hongda Ren - 2021-01-13

          Thank you, Mr. Davis Montenegro, for answering my question and sharing those resource !

          Best regards,
          Hongda

           

Log in to post a comment.