OpenDSS C++
OpenDSS-C is an electric power distribution system simulator (DSS) designed to support distributed energy resource (DER) grid integration and grid modernization. It enables engineers to perform complex analyses using a flexible, customization, and easy to use platform intended specifically to meet current and future distribution system challenges and provides a foundation for understanding and integrating new technologies and resources. This power system analysis software tool was translated from the Delphi computer language (Electric Power Research Institute, 2022) into C++ to make it accessible to a larger community of software developers and used as a core library upon which to build new capabilities. OpenDSS (the Delphi version) that runs on a Windows operating system is available at the software repository along with the C++ version. The C++ mimics the Delphi version, which is the reference.
This guide documents the process for building the OpenDSS – C++ version (henceforth referred to as OpenDSS-C) for the Microsoft Windows 10 and Red Hat Enterprise Linux 8 (RHEL 8) Operating System (OS). Build instructions are provided for the Integrated Development Environments (IDEs) listed in Table 1 and using Clang/CMake in a command line environment (Table 2). Throughout this guide the IDEs will typically be referred to by their acronyms as listed in Table 1. Software developers are welcome to contribute instructions to this guide for building OpenDSS-X for other IDEs and OS.
Table 1. IDEs supported by OpenDSS C++
IDE |
OS |
Acronym |
Visual Studio Community 2019 |
Windows 10 |
VS Code 2019 |
Visual Studio Community 2022 |
Windows 10 |
VS Code 2022 |
Visual Studio Professional 2019 |
Windows 10 |
VS Pro 2019 |
Visual Studio Professional 2022 |
Windows 10 |
VS Pro 2022 |
Table 2. OpenDSS-C compiler requirements
Item |
Description |
C++ |
GCC 4.8.5 (Red Hat 4.8.5-4) Microsoft Visual Studio Community 2022 (64-bit) - Version 17.1.3 (Windows 10) |
Build Engine |
Clang 12.0.1 C++ compiler (Red Hat 12.0.1-4) CMake 3.20.2 for build process |
The Visual Studio IDEs were selected because of their compatibility with CMake. Information on CMake can be found on the distribution site for the software application (CMake, 2022). The OpenDSS-X project files do not include a Visual Studio project because Visual Studio operates as an IDE around CMake. However, you do not need Visual Studio for compiling OpenDSS-C, the compilation process can also be done using command line commands. Both processes are described in this section.