Introduction

Whether you are new to GridLAB-D™ or a seasoned developer, you're in the right place.

Prospective Users

What is GridLAB-D™? What can it do? Will it work for my use case? Find the answers to all these questions and more!

GridLAB-D™ is a power system simulation tool that provides valuable information to users who design and operate electric power transmission and distribution systems, and to utilities that wish to take advantage of the latest smart grid technology. It incorporates advanced modeling techniques with high-performance algorithms to deliver the latest in end use load modeling technology integrated with three-phase unbalanced power flow and retail market systems. Historically, the inability to effectively model and evaluate smart grid technologies has been a barrier to adoption. GridLAB-D™ is designed to address this problem.

The coupling of engineered systems and markets impacts broader and broader areas of the electric power industry. Energy trading products cover increasingly shorter time periods, and demand response programs are moving more and more toward real-time pricing. Market-based trading activity impacts ever more directly the physical operation of the system and the boundaries of these coupled systems extend beyond the traditional boundaries of utility-centric energy system operations. To address the gaps in our simulation capabilities, the US Department of Energy is developing GridLAB-D™ at Pacific Northwest National Laboratory in collaboration with industry and academia. This is the first of a new generation of power distribution system simulation software.

GridLAB-D™ combines end use and power distribution automation models with other software tools, resulting in a powerful tool for power system analysis capable of running on high-performance computers. It is a flexible simulation environment that can further be integrated with a variety of third-party data management and analysis tools.

At its core, GridLAB-D™ has an advanced algorithm that can determine the simultaneous state of millions of independent devices, each of which is described by multiple differential equations solved only locally for both state and time. The advantages of this algorithm over traditional finite difference-based simulators are:

1) It handles complex situations with a high degree of accuracy.

2) It can handle widely disparate time scales, ranging from sub-seconds to many years.

3) It is easy to integrate with new modules and third-party systems. The advantage over traditional differential-based solvers is that it is not necessary to integrate all the device's behaviors into a single set of equations that must be solved.

At its simplest GridLAB-D™ can examine in detail the interplay of every part of a distribution system with every other. GridLAB-D™ does not require the use of reduced-order models, so the danger of erroneous assumptions is averted. GridLAB-D™ is more likely to find problems with programs and business strategies than any other tool available. It is therefore an essential tool for industry and government planners.

This guide to using GridLAB-D™ is intended to help those who are at least slightly familiar with distribution systems to establish a foundation that will allow them to use GridLAB-D™ in their work. It is not intended to be comprehensive, as GridLAB-D™ contains many models with many parameters, but this guide will provide context about some fundamental features and the underlying architecture of GridLAB-D™. It will also address practical issues such as how certain models function.

  • To see what projects use GridLAB-D™, and what tools complement it, check out our Projects page.
  • To read about how GridLAB-D™ has been used in various studies, peruse our Publications page.
  • Check out our Technical Overview to see if GridLAB-D™ is right for your work.
  • To interact with the GridLAB-D™ community, head over to the Discussions GitHub page.
  • If you are unable to answer your question on the discussion forum or feel an issue is more appropriate, feel free to post a new issue on our GitHub issue tracker. We will try to respond as soon as possible.
  • An archive of the SourceForge discussion is preserved for users working with previous versions of GridLAB-D™. Note that the SourceForge forum is preserved in archival state and users can no longer interact with or create new discussions.

New Users

We have a number of resources for getting new users onboarded, depending on what is best for you. Visit our Resources page for even more content. This resource provides a quick and simple overview of the features and architecture of GridLAB-D™.

  • Quick Install: Start here for a brief walkthrough of the installation process for GridLAB-D™, how to verify your installation, and how to run your first simulation.
  • Tutorial: An introduction to GridLAB-D™ and step-by-step walkthrough for new users to learn the fundamentals of GridLAB-D™, how to read, modify, and create their own models. The tutorial then explains how to run simulations and capture simulation results.
  • Online Webinars: This is a series of webinar tutorials that were developed to describe the principles and standard usage of the major modules in GridLAB-D™. While the material is a bit out-of-date (2012), it is still mostly applicable as we try to maintain backwards compatibility. The material includes YouTube videos, along with PowerPoint presentations, demonstration models, and example cases.TODO - Revisit - When the online webinars are created, polish this preceding statement

Modelers

Once you've completed the GridLAB-D™ tutorial, or if you are already familiar with GridLAB-D™, the Modeling Reference section will serve as your primary reference material to lookup parameter lists, functionality, use cases, and object interactions. This section is organized by module or feature: * Loads: loadshape, load composition, and industrial and agricultural load examples * Climate: climate object, weather, and CSV reader * Generators: energy storage, diesel generators, inverters, solar panels, and wind turbines * Powerflow: user guide and technical refernce, Newton-Raphson poweflow solver, and complete list of powerflow classes. * Residential: house object, Equivalent Thermal Paramter Model, EV chargers, lights, end use and occupant loads, plug loads, thermal energy storage, water heater, and ZIPloads * Tape: recorder, player, multi recorder, group recorder, violation recorder, collector, and metrics collector. * Other Features: any other reference material like units, options, command line options, etc. * Python API: introduction, overview, and use cases and examples of the GridLAB-D™ python API introduced in 6.0.

Developers

Dive into our developer-focused content to get started:

  • Introduction - This section of the documentation provides guidance on how to design, implement, and integrate new features within GridLAB-D™. It outlines the architectural principles, coding standards, and development workflows that ensure new contributions are consistent with the core system design and maintain high levels of performance and reliability.
  • Style Guide - A style guide for developers when writing source code and in-line documentation.
  • GridLAB-D Release Process - Guidelines and checklists to complete prior to building a release of GridLAB-D.
  • Building from Source - This section walks through the process of building GridLAB-D™ from source. We also include sub-sections on setting up your development environment to enable this build.
  • Development Fundamentals - Guidelines for new developers, including programming conventions and how-to pages for creating a module, class, solver, and how to perform device modeling, integrated testing, and issue tracking.
  • Software Architecture and Design - The fundamentals of GridLAB-D, its operation, and its underlying software architecture and design.
  • Testing and Debugging - An overview of the Assert module and the testing and validation process for GridLAB-D.

Contact

Users or developers can always reach out with questions by either emailing us directly at gridlabd@pnnl.gov, visiting GridLab-D™'s Github Discussions page, or creating a GitHub Issue. We try to monitor these platforms and forums on a regular basis to answer a wide range of questions.