Download Latest Version OpenDSSInstaller_1100_1.exe (148.5 MB)
Email in envelope

Get an email when there's a new version of OpenDSS

Home
Name Modified Size InfoDownloads / Week
OpenDSS 2026-01-30
OpenDSSCmd 2023-09-20
License.txt 2026-01-30 1.8 kB
README.txt 2026-01-30 13.5 kB
Getting Started With OpenDSS.pdf 2014-09-02 30.3 kB
Totals: 5 Items   45.5 kB 480
The Open Distribution System Simulator, OpenDSS

Copyright (c) 2008-2026, Electric Power Research Institute, Inc.
All rights reserved.

Version 11.0.0.1 - Charlottesville

This version of the program is named after the birthplace of Tom McDermott, who, together with Roger Dugan, has been instrumental in developing the core architecture of OpenDSS and advancing the program since its inception.


Changes this version
====================

Protection Elements Enhancements:

- Enhanced Fuses, SwtControls, Reclosers and OC Relay Functions with new properties and improved functionality
- Added RatedCurrent property to SwtControls, Fuses, Reclosers and Relays (for Relays, these are data points of the associated protected switch or breaker)
- Added InterruptingRating property for Fuses, Reclosers and Relays (for Relays, these are data points of the associated protected switch or breaker)
- Added support for unganged operation, single-phase tripping and single-phase lockout for Reclosers and OC Relay Functions
- Standardized TCC curve behavior - no curves assigned by default ('none' is used as keyword to represent no curve specified. 'none' can also be used to specify non-existing curve setting)
- Enhanced Recloser and OC Relay Function properties: renamed properties for consistency and to reflect terms more commonly used in the industry, all while maintaining backwards compatibility
- Added separate pickup currents for fast and slow curves for both phase and ground elements on Reclosers
- Improved SwtControl to support ungagged operation with single switch object
- More informative event logging and debug tracing for Reclosers and OC Relay Functions

RegControl Improvements:

- Added fwdThreshold property to RegControl for uneven no-load zone bands
- Updated revThreshold property description for better clarity on no-load band configuration

BatchEdit Enhancements:

- Added conditionals to BatchEdit command allowing users to focus edits on object subsets within affected classes

Control Element Fixes:

- Fixed StorageController synchronization issue between %kWBandLow and kWBandLow properties
- Updates to prevent convergence issues on StorageController under very specific edge cases
- Fixed floating-point precision issue in InvControl volt-var function affecting 64-bit version

CIM Export Updates:

- Fixed CIM export for PV systems and batteries to follow negative sign convention
- Addressed missing ACLineSegmentPhase instances in low voltage circuits
- Fixed CIM export issues for LineCode-based lines

COM and DDLL Improvements:

- Added missing properties and methods to DirectDLL to match COM interface. Enhanced Direct DLL DSS Properties interface to better mimic COM interface behavior.
- Added CktElement.AllLosses property to retrieve complex losses array (total, load, and no-load losses)
- Updated COM and DDLL interfaces for all protection element changes

Bug Fixes and Stability:

- Fixed bug in parser when Solve command includes option settings with equals signs and spaces
- Fixed memory mapping bug when working with files of different sizes for pmult/qmult
- Fixed issue in Overload reports not considering seasonal ratings when enabled
- Fixed transformer seasonal ratings factor and updated property descriptions
- Fixed issue rejecting negative values for PCE elements
- Resolved progress bar synchronization issues and added guardrails for abrupt program termination

Platform and Development:

- Enhanced support for Linux environments including pyControl debugging with xterm
- Added OpenDSS version checking enhancement for better error handling with internet connection issues

Documentation and Examples:

- Added examples for current and power calculations in DSS
- Added example for projecting polar data into time-domain for dynamics simulation waveforms
- Updated documentation to reflect all changes
- Enhanced property descriptions for clarity and consistency

C++:

- All Delphi changes have been ported to the C++ version including protection elements, RegControl, and BatchEdit enhancements
- Fixed C++ version issue where program would hang applying long line correction


Changes in previous releases
============================

v 10.2.0.1
- Fixes sync issues with load allocation routines due to lack of sync with solution actor.
- Restores A-Diakoptics functionality that was broken in v10.1.0.1.
- Adds RegControl idle flags (idle, idleReverse, idleForward) for controlling tap position under no-load, forward, and reverse flow conditions.
- Introduces pyControl object allowing users to model elements in native Python with script integration into simulation.
- Fixes DLL/COM issues including Y value retrieval, reactor pointer verification, AllowForms assignment, XYCurves, and allocation factors.

v 10.1.0.1
- Provides better sync between actors and main thread through queues preventing polling.
- Includes the property SemiConLayer the declare the existence of a semicon layer for CNData/LineGeometry objects.
- Improves the sync with the progress bar app.
- Removes over estimation (Size) for IBR working in GFM mode for better exposing the short circuit features of the model.

v 10.0.0.2
- Solves a bug found when reporting powers for generators while using NCIM solution mode.
- Adds interfaces in COM / DLL for directly handling Storage and WindGen objects.


The Version 8 was the first to be delivered with parallel processing capabilities in both 32-bit (X86) and 
64-bit (X64) versions. Version 9 is the latest update. The files are still listed under the 'Version8' folder on Sourceforge.net.
The OpenDSSInstaller download includes both X86 and X64 versions of Version 9, along 
with optional documentation and examples.  

If you have 64-bit Windows, you may install both the 64-bit and 32-bit 
versions.  The 32-bit version is required if you plan to automate OpenDSS 
from Excel or any other 32-bit program.  The 64-bit version is required to 
automate OpenDSS from 64-bit MatLab or other 64-bit apps on a 64-bit system.  

Installation
============

The installer will give you a choice to install the executables and 
optional files under a target directory of your choice, such as 
c:\opendss.  Files that are specific to the 32-bit version will be written 
to an x86 subdirectory, such as c:\opendss\x86.  Files that are specific 
to the 64-bit version will be written to an x64 subdirectory, such as 
c:\opendss\x64.  The EXE and DLL files should not be moved after 
installation, but may be updated in place with newer versions.
  
On a 64-bit system, you may install and use both the 32-bit and 64-bit 
versions with no conflict between them.  

Short-cuts to the program and manual are created under Start Menu/OpenDSS.
Please see the manual, OpenDSSManual.PDF, for an overview of the program. 
The most up-to-date reference information will always be found through the 
software's "Help / DSS Help" menu command.

If you have an earlier version of OpenDSS installed and registered, such as 7.4.3,
remove it completely. Otherwise, Windows may retain a registry entry to the
old 32-bit COM server when you start it up from a 32-bit program.

COM Automation
==============

The COM Server in OpenDSSEngine.DLL may be automated.  The installer will 
register either or both versions, depending on your selection.  Even 
though the file names and registration commands match, they are in 
separate locations and Windows will activate the correct version required 
by the calling program.  For example, 64-bit MatLab will call the 64-bit 
OpenDSSEngine.DLL and 32-bit Microsoft Excel will call the 32-bit version.  
(Note: The 64-bit version of Excel is rarely installed.) 

Background
==========

The OpenDSS is a simulator specifically designed to represent electric 
power distribution circuits.  OpenDSS is designed to support most types of 
power distribution planning analysis associated with the interconnection 
of distributed generation (DG) to utility systems.  It also supports many 
other types of frequency-domain circuit simulations commonly performed on 
utility electric power distribution systems.  It represents unbalanced 
conditions, stochastic processes, and other aspects of electrical power 
distribution systems and equipment in far greater detail than many other 
tools, including commercial products.  Through COM and scripting 
interfaces, other programs can drive OpenDSS in highly customized 
simulations, Monte Carlo analysis, etc.  Users can define their own models 
through dynamic linking, scripting, or automation.  

Electric Power Research Institute, Inc.  (http://www.epri.com) uses 
OpenDSS in its research and services work, and continues to enhance the 
software.  Earlier proprietary versions were used in dozens of studies for 
electric utility clients, and in a Web-based wind power simulator.  
There were several goals in making OpenDSS an open-source project in 2008: 

1 - Enhance the modeling capabilities available to government 
laboratories, universities, and other researchers engaged in grid 
modernization work.  

2 - Encourage interfaces between OpenDSS and complementary tools, such as 
communication system simulators or model compilers.  

3 - Encourage the adoption of items 1 and 2 into commercial products used 
by electric utilities.  

4 - Encourage collaborative efforts between industry, government, and 
university researchers in power distribution system analysis for grid 
modernization efforts.  

5 - Provide a capable testing platform for data and object modeling 
efforts currently underway in the electric utility industry.

Source Code
===========

The programming language for OpenDSS is Delphi 
(http://www.embarcadero.com), currently version Delphi 10.4 Sydney.  A free community version is available
to certain non-commercial users (see license requirements on Embarcadero site).
There is also a Free Pascal (Lazarus) version of the program.  Some of the supporting modules may 
require a C++ compiler to build from source.  OpenDSS source code is 
available from the following SVN repository: 

https://sourceforge.net/p/electricdss/code/HEAD/tree/trunk/


Third-party Components
======================

KLUSolve.DLL is open source software, available from
www.sourceforge.net/projects/klusolve

Other convenient Sourceforge.net Links
======================================

OpenDSS Download Files:

http://sourceforge.net/projects/electricdss/files/

Getting Started

http://sourceforge.net/apps/mediawiki/electricdss/index.php?title=Getting_Started

Latest Tech Notes in Wiki

Selected Tech Notes are available in the Doc Folder

Questions and Answers

Selected Q&A files are available in the Doc Folder

OpenDSS Forum

http://sourceforge.net/p/electricdss/discussion/861976/

What is Unique About OpenDSS?

OpenDSS was derived from a family of power system harmonics solvers designed for analysis of distributions systems. This analysis requires very detailed models of the circuit topology. This gives the program the capability to represent nearly any circuit topology that might be encountered on a power distribution system. While the power flow solution is the most common application, the program is technically not a power flow program. The solution method and circuit modeling has more in common with harmonics and dynamics solvers.

The program was developed because users realized in 1996 that they were not getting the correct answer for distributed generation problems when using only the typical static power flow analysis used for distribution planning. OpenDSS was one of the first programs to implement an efficient quasi-static time series (QSTS) simulation for DER analysis. The capability was built into the program from the start.

It was recognized that it is not possible to anticipate everything that users will want to do in DER analysis and build a single user interface for this. This issue was addressed by building the program around a scripting interface that is user defined. Also, the COM interface was added so that users could drive the program from other software such as MATLAB and Python. This feature is popular among researchers and graduate students who want to do things not already supported in the program. Of course, EPRI uses this feature extensively in its research. A direct function call DLL interface (OpenDSSDirect.DLL) was also developed to allow this feature to be used on platforms and computer languages that do not support COM.



IEEE Test Cases

https://sourceforge.net/p/electricdss/code/HEAD/tree/trunk/Version8/Distrib/IEEETestCases/

EPRI Test Circuits
https://sourceforge.net/p/electricdss/code/HEAD/tree/trunk/Version8/Distrib/EPRITestCircuits/

Source Code

https://sourceforge.net/p/electricdss/code/HEAD/tree/trunk/Version8/Source/

Top level of Distribution area (Releases)

https://sourceforge.net/p/electricdss/code/HEAD/tree/trunk/Version8/Distrib/

Examples

https://sourceforge.net/p/electricdss/code/HEAD/tree/trunk/Version8/Distrib/Examples/

License
=======

Use of this software is subject to a license. The terms are in:

 1 - A file called "license.txt" distributed with the software,
 2 - The user manual, and
 3 - The executable program's Help/About dialog box
Source: README.txt, updated 2026-01-30