Opendss Manual

0 views
Skip to first unread message

Brayan Jacobsen

unread,
Aug 3, 2024, 6:01:06 PM8/3/24
to motinsmilti

This document is a manual for the OpenDSS program, which is a distribution system simulation program. It discusses the history and objectives of OpenDSS, provides instructions for installing and updating the program, summarizes its simulation capabilities such as power flow analysis and fault studies, and describes the overall modeling concepts and syntax for defining distribution system components in OpenDSS. The manual also includes a reference for all the commands that can be used in OpenDSS to model distribution equipment, set simulation parameters, and view simulation results.Read less

Expected behaviour: Line element created with geometry=somegeom should inherit normamps and emergamps parameters values from linegeometry.somegeom object (based on manual - I think that's how it's supposed to work)

In OpenDSS manual it's stated that for LineGeometry object Normamps "Normal ampacity, amperes for the line. Defaults to first conductor if not specified.", but it looks like LineGeometry param is discarded and WireData parameter is used.

When defining the line you are overriding the normamps property, this is because by calling the wiredata after declaring the normamps, it will overwrite this value by the one contained on the wiredata. To solve it declare the normamps after calling the wriedata like this:

Thanks! It works now :) Maybe it's worth mentioning in manual? "Defaults to first conductor if not specified" sounds like all you have to do is specify this parameter anywhere in definition, and then if you specify conductor and you haven't specified normamps of linegeometry yet, it will be set to conductor's normamps, but if you have specified it, it won't be changed.

Hey ,
I have a 84Node OpenDSS Test case, i have already interfaced it with MATLAB nad playing with it.
How can i use MATLAB to get the line losses associated to each line ?
I know CSV Read is an Option, but i want to use the COM interface directly.

There is the OpenDSSComDoc.pdf file in the Doc folder. However, I always recommend using MS Excel VBA editor to learn the COM interface. Once you connect OpenDSSEngine to VBA, open the Object Browser (F2) and select the OpenDSSEngine library. Then you can browse all the interfaces.

As for Java, some users have some difficulty. However, I think there are some libraries available, although they may not be free (I think VMWare provides one.). It may be easier to connect Java to the DirectDLL interface (OpenDSSDirect.DLL). This uses standard DLL calls that mimic the functions available through the COM interface. (see OpenDSS_Direct_DLL.pdf)

From OpenDSS manual, it seems that OpenDSS uses a Current Injection Method to solve the power flow. Is there any detailed documentation how the CIM works ? Like an overview of the steps , how to merge the Y Bus, programming details if that is not a proprietary thing ?

There is lots of documentation in the Doc folder which you should have on your disk if you used the Installer. I encourage you to browse through the files. The User Manual has an illustrated explanation around page 50, as I recall.

Also, the entire source code is available on Sourceforge.net. There are instructions for installing TortoiseSVN and connecting it to the repository on this Forum somewhere. Search and you should be able to find it. Once you have TortoiseSVN installed, you can download the entire project with a couple of clicks of the mouse. Then keeping up with changes is a simple matter also.

There is nothing magic about the solution method. Since the circuit model is basically Nodal Admittance, all nonlinear elements (Loads, Generators, etc.) are converted into Norton equivalents. The Norton admittance is incorporated into the system Y matrix, so the current source is basically the difference between the terminal current and the current in the ahunt admittance,

Sir,
Thanks for this documentation.This is a great help.
I have already formulated the Y bus for the IEEE 4 Bus Test Case and it matches with the OpenDSS one. Currently working on getting the final calculation done.

Sir,
If OpenDSS takes 4 iterations (just an example) for solving a distribution system, is there any way i can check the Ipc Current or Vn, calculated at every iteration ? As far i know the debugtrace options works for the generator as far i remember, but not for others.
I know how to interface MATLAB with OpenDSS (know the basic commands, still learning) , So if there is any way to extract the values OpenDSS are calculating in every iteration that can help me cross-check my code for possible errors.

Sorry, except for a few elements like the Generator, there is no convenient way to do this. You can SET TRACECONTROL=YES to get a debug file of the control actions, but that doesn't have the values after each iteration.

You might try SET MAXITERATIONS=1 and check the results after each SOLVE command. Of course, the program will complain that the solution is not converged. I've never tried this so I don't know how well it will work.

Hi, I am learning openDSS for my Engineering studies. I went through the manual and openDSS examples. I created a basic 1 phase circuit for my first attempt, but while compiling it gives me error:" You must create a new circuit". My script is as follow.

show voltage LL will not work i changed that. Also i tried interfacing it with MATLAB and it says " (302) openDSS Unknown command "yP something like this in different alphabets. Can you please give me any material about going basics of openDSS. i am stuck because i cannot create a circuit as openDSS says.

No, don't use that button. If you have the file opened, you can simply select the lines of code you want to run, then right click and choose "Do Selected", or just press Ctrl+D. If you want to run everything, simply press Ctrl+A then Ctrl+D.

Thank you Luke, it worked, but while interfacing it with MATLAB we use command compile, so at that instant it gives me same error. how can i use do command instead of compile in MATLAB. I can see examples which uses compile command. And talking about the tutorial, I have manual by Dr. Roger C. Dugan. are you talking about the same material or there is other important stuffs. If there is can you please give me hints to find those tutorials.
Thank you again.

It appears to me that you are already one step ahead in trying to exploit the varieties of OpenDSS. Hence, I would like to ask you for a recommendation which program might be the best way to run the scripts.

You recommended in this post to run the script in Matlab in order to make it debug able, but for this purpose, you would need to transform the whole script into the Matlab language. I just read somewhere that it is would always better to build the electric circuit within the inbuild programming language (same like used above), and then use Matlab to implement the certain control mechanism. Or would it be better and easier to completely use Matlab instead? What would you say would be the best way to go with?

The initial error that started this thread is likely the ANSI/Unicode conflict for which we have yet to implement a solution acceptable to all. For now, convert all your DSS script files to ANSI encoding before attempting to read them back in with a Compile or Redirect command. Most text editors, including Notepad, can change the encoding (do a File>Save As..).

Note that if you create a script in an OpenDSS window in some of the more recent versions, it will save it as Unicode by default. So, to be safe, create the scripts in a text editor and save as ANSI.

Hi, I'm quite new to DSS as a whole and I am playing with the IEEE13 bus.
I came across regcontrol, but I can't find the documentation for it in the manual. Any pointers or help on the different parameters available and what they mean?

The documentation for the RegControl element starts on p. 211 in the most recent user manual.
You will have to do some study to understand all of how this model works. If you have access to Kersting's book, it has a good explanation. Otherwise, you will have to visit the website of one of the manufacturers of this device and get a copy of a manual for applying the control. I would recommend Eaton or Beckwith Electric. Siemens and GE also provide controls. This will be a good learning experience for you!

Hello! I'm working with OpenDSS at my thesis degree. As part of it, I have to explain the mathematical method of this software, I was reading information about it on the User's Manual but I need more mathematical information about snapshot and direct mode (which I use to simulate single faults). I really appreciate if you can help me.

The calculations performed by OpenDSS consist into the initialization of variables, the calculation of injected currents in the solution process and the management of controls and other elements present in the model. On the other hand, the KLUSolver has to solve the sparse matrix using the vector of injected currents, which basically is populated on each iteration of the solution.
The method, as explained in page 49 of the user manual, is an iterative method where the non linear solution of the system is aggregated to the linear approach, which will be the initial state of the current injections vector including only the currents injected by the voltage sources of the system.
For calculating the currents injected by loads, generators and elements different from voltage sources, OpenDSS calculates the error from what do you obtain from KLUSolver and the expected value for each load connected to the system. This process is performed over and over again until reach convergence.
You can see how it works if you inspect the source in the file "solution.pas" located in the folder "Common". The program is well coded, so it should be very easy to understand.

Well in general terms, that is the way it works. The difference between solveSnap and solve direct is that solvesnap performs control actions, while solve direct does not. In fact, you will note that solvesnap calls solvedirect.

c80f0f1006
Reply all
Reply to author
Forward
0 new messages