Pandapower — различия между версиями

Материал из Wiki Power System
Перейти к: навигация, поиск
(Анализ электрической сети)
м (Расчёт установившегося режима)
 
(не показано 106 промежуточных версий 4 участников)
Строка 1: Строка 1:
'''Pandapower''' - это Python, [https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_BSD BSD-лицензированный] инструмент для анализа режимов работы [[Энергосистема|энергосистем]], предназначенный для автоматизации статических и квазистатических аналитических и оптимизационых расчётов для сбалансированных энергосистем. Данная библиотека предоставляет возможность расчёта потоков мощностей, оптимизации потоков мощностей, оценку состояния и расчёт токов коротких замыканий согласно стандарту [https://webstore.iec.ch/publication/24100 IEC 60909]. Дополнительные усовершенствования алгоритма решения включают в себя возможность моделирования постоянных токовых нагрузок, сетей с несколькими балансирующими узлами и проверки связности. Модель сети pandapower основана на электрических элементах, таких как [[Линия электропередачи|линии электропередачи]], [[Трансформатор|трансформаторы]] с двумя и тремя обмотками или идеальные переключатели. Все элементы могут быть определены с помощью параметров паспортной таблицы и внутренне обработаны с использованием схем замещения моделей. Структура табличных данных, используемая для определения электрчиеских сетей, основана на библиотеке Python-а [https://pandas.pydata.org/ pandas], что позволяет удобно обрабатывать входные и выходные параметры. Реализация в Python упрощает использование pandapower и обеспечивает удобное расширение сторонних библиотек.  
+
<p style="text-align:justify;">
 +
'''Pandapower''' — это Python, [https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_BSD BSD-лицензированный] инструмент для анализа режимов работы [[Энергосистема|энергосистем]], предназначенный для автоматизации статических и квазистатических аналитических и оптимизационых расчётов для сбалансированных энергосистем. Данная библиотека предоставляет возможность [[Расчет потоков мощности|расчетов потоков мощности]], оптимизации потоков мощности, [[Оценка состояния|оценку состояния]] и расчёт токов [[Короткое замыкание|коротких замыканий]] согласно стандарту [https://webstore.iec.ch/publication/24100 IEC 60909]. Дополнительные усовершенствования алгоритма решения включают в себя возможность моделирования постоянных токовых нагрузок, сетей с несколькими [[Балансирующий узел|балансирующими узлами]] и проверки связности. Модель сети pandapower основана на электрических элементах, таких как [[Линия электропередачи|линии электропередачи]], [[трансформатор]]ы с двумя или тремя обмотками и [[Идеальный выключатель|идеальные выключатели]]. Все элементы могут быть определены с помощью параметров паспортной таблицы и внутренне обработаны с использованием [[Схема замещения|схем замещения]] моделей. Структура табличных данных, используемая для определения электрических сетей, основана на библиотеке Python-а [https://pandas.pydata.org/ pandas], что позволяет удобно обрабатывать входные и выходные параметры. Реализация на языке Python упрощает использование pandapower и обеспечивает удобное расширение сторонних библиотек.
 +
</p>
  
=Общие сведения=
+
= Общие сведения =
  
 
Основные возможности предоставляемые библиотекой:
 
Основные возможности предоставляемые библиотекой:
 
# Расчёт [[Установившийся режим|установившегося режима]].
 
# Расчёт [[Установившийся режим|установившегося режима]].
# Расчёт токов короткого замыкания.
+
# [[Расчёт тока короткого замыкания|Расчёт токов короткого замыкания]].
# [[Оценка состояния|Оценка состояния]] по данным измерений.
+
# [[Оценка состояния]] по данным измерений.
 
# Визуализация схем.
 
# Визуализация схем.
 
# Топологический анализ на основе библиотеки [https://networkx.github.io/ NetworkX] языка Python. Например, можно найти кратчайший путь между двумя узлами, выяснить, связаны ли две области в сети друг с другом или существуют ли циклы в сети. Полный список всех алгоритмов NetworkX представлен на [https://networkx.github.io/ оффициальном сайте].
 
# Топологический анализ на основе библиотеки [https://networkx.github.io/ NetworkX] языка Python. Например, можно найти кратчайший путь между двумя узлами, выяснить, связаны ли две области в сети друг с другом или существуют ли циклы в сети. Полный список всех алгоритмов NetworkX представлен на [https://networkx.github.io/ оффициальном сайте].
  
=Краткий обзор pandapower=
+
= Краткий обзор pandapower =
  
pandapower реализован в Python, гарантируя свободную доступность и гибкое расширение с другими библиотеками с открытым исходным кодом. Поскольку он разработан как межплатформенная библиотека, его можно легко применять на вычислительных кластерах и распараллелить без каких-либо ограничений лицензии. Все реализации тщательно проверяются и, по возможности, проверяются путем сравнения с инструментами коммерческих программных обеспечений. pandapower была успешно применена в нескольких исследованиях сети [20], [21], [22], [23]. Благодаря обширной библиотеке моделей и удобному интерфейсу Python, pandapower имеет относительно низкий входной барьер для новых пользователей для выполнения основного анализа энергетических систем, что также делает его отличным инструментом для образовательных целей. В то время как pandapower первоначально была реализована для анализа симметричных систем распределения, впоследствии она была расширена с помощью моделей для систем передачи, таких как трехобмоточные трансформаторы, шунтирующие элементы или эквивалентные модели сети. В своей нынешней версии pandapower подходит для анализа симметричного распределения, а также для систем передачи.
+
Библиотека pandapower реализована на языке Python, гарантируя свободную доступность и гибкое расширение с другими библиотеками с открытым исходным кодом. Поскольку он разработан как межплатформенная библиотека, его можно легко применять на вычислительных кластерах и распараллелить без каких-либо ограничений лицензии. Все реализации тщательно проверяются и, по возможности, проверяются путем сравнения с инструментами коммерческих программных обеспечений. pandapower была успешно применена в нескольких исследованиях сети<ref>A. Scheidler, L. Thurner, and M. Braun, "Heuristic optimisation for automated distribution system planning in network integration studies, " IET Renewable Power Generation, vol. 12, no. 5, pp. 530—538, April 2018.</ref>,<ref>J.-H. Menke, J. Hegemann, S. Gehler, and M. Braun, "Heuristic monitoring method for sparsely measured distribution grids, " International Journal of Electrical Power & Energy Systems, vol. 95</ref>,<ref>H. Wang, M. Kraiczy, S. Wende-von Berg et al., "Reactive power coordination on strategies with distributed generators in distribution networks, " in . 1st International Conference on Large-Scale Grid Integration of Renewable Energy in India, September 2017</ref>,<ref>W. McKinney, "pandas: a foundational python library for data analysis and statistics, " Python for High Performance and Scientific Computing, 2011.</ref>. Благодаря обширной библиотеке моделей и удобному интерфейсу Python, pandapower имеет относительно низкий входной барьер для новых пользователей для выполнения основного анализа энергетических систем, что также делает его отличным инструментом для образовательных целей.
  
Инструмент pandapower для анализа энергосистемы с открытым исходным кодом направлен на автоматизацию статического и квазистатического анализа и оптимизации в сбалансированных трехфазных энергосистемах. pandapower включает в себя модели статических схем замещения для электрических элементов, которые могут быть определены общими параметрами паспортной таблицы. Все модели энергосистемы тщательно протестированы на уровне коммерческих программных обеспечений и обеспечивают стандартное моделирование энергетических систем. Идеальная модель выключателя, как она реализована в pandapower, насколько нам известно, нигде в литературе не была описана или реализована в любом другом инструменте с открытым исходным кодом. Удобные функции для задания элементов, а также библиотеки стандартных типов облегчают пользователю автоматизацию создания сетей, что позволяет удобно импортировать сетевые данные из разных форматов. Структура табличных данных позволяет легко получать и анализировать входные и выходные параметры. Для исследований потока мощности pandapower использует jit ускоренную версию алгоритма PYPOWER Newton-Raphson в качестве алгоритма решения по умолчанию. Дополнительные усовершенствования были были сделаны для алгоритма рещения PYPOWER, а именно возможности моделировать постоянные токовые нагрузки, асимметричные сопротивления или сети с несколькими балансирующими узлами. В дополнение к расчету потоков мощности и оптимальных потоков мощности, pandapower является первым инструментом анализа энергосистемы с открытым исходным кодом, который включает оценку состояния, а также расчет короткого замыкания в соответствии со стандартом IEC 60909. Кроме того, интерфейс для исследования топологии позволяет пользователю выполнять настраиваемое исследование графов в электрической сети. pandapower также включает в себя библиотеку графики для удобной визуализации энергосистем. Эта эксклюзивная функция сетевого анализа в сочетании с обширной библиотекой моделей делает pandapower ценным и инновационным вкладом в существующие инструменты с открытым исходным кодом.
+
Инструмент pandapower для анализа режимов работы ([[УР]] и [[КЗ]]) энергосистемы с открытым исходным кодом направлен на автоматизацию статического и квазистатического анализа и оптимизации в сбалансированных трёхфазных энергосистемах. Pandapower включает в себя модели статических [[Категория:Схемы замещения|схем замещения]] для электрических элементов, которые могут быть определены общими параметрами паспортной таблицы. Все модели энергосистемы тщательно протестированы на уровне коммерческих программных обеспечений и обеспечивают стандартное моделирование энергетических систем. Идеальная модель выключателя, как она реализована в pandapower, насколько нам известно, нигде в литературе не была описана или реализована в любом другом инструменте с открытым исходным кодом. Удобные функции для задания элементов, а также библиотеки стандартных типов облегчают пользователю автоматизацию создания сетей, что позволяет удобно импортировать сетевые данные из разных форматов. Структура табличных данных позволяет легко получать и анализировать входные и выходные параметры. Для исследований потока мощности pandapower использует jit ускоренную версию алгоритма PYPOWER Newton-Raphson в качестве алгоритма решения по умолчанию. Дополнительные усовершенствования были сделаны для алгоритма рещения PYPOWER, а именно возможности моделировать постоянные токовые нагрузки, асимметричные сопротивления или сети с несколькими балансирующими узлами. В дополнение к расчёту потоков мощности и оптимальных потоков мощности, pandapower является первым инструментом анализа энергосистемы с открытым исходным кодом, который включает оценку состояния, а также расчёт короткого замыкания в соответствии со стандартом IEC 60909. Кроме того, интерфейс для исследования топологии позволяет пользователю выполнять настраиваемое исследование [[Граф электрической сети|графов в электрической сети]]. pandapower также включает в себя библиотеку графики для удобной визуализации энергосистем. Эта эксклюзивная функция сетевого анализа в сочетании с обширной библиотекой моделей делает pandapower ценным и инновационным вкладом в существующие инструменты с открытым исходным кодом.
  
=Модели сети=
+
= Модели сети =
Любая функция анализа электроэнергетической системы, такая как расчет потока мощности или короткого замыкания, основана на математической модели [[Электрические сети|электрической сети]]. Существуют различные подходы к тому, как инструменты энергосистемы позволяют пользователю определять эту модель. Обычно используемым подходом является модель узлов и ветвей, которая определяет сеть как совокупность узлов, которые связаны между собой определенными ветвями. Ветви моделируются стандартной схемой замещения и используются для моделирования многополюсных элементов, таких как линии или трансформаторы. К узлам приписываются подача мощности или поперечная проводимость для моделирования однополюсных элементов, таких как нагрузки, генераторы или конденсаторные батареи. Модель узлов и ветвей также может свободно параметризоваться и она не привязана к конкретным моделям электрических сетей. С другой стороны, пользователю необходимо рассчитать сопротивления для каждой ветви и суммировать подачи мощности для каждого узла вручную по данным паспортных таблиц элементов сети. Это может быть громоздким и подверженным ошибкам, особенно для сложных элементов, таких как трансформаторы с переключателями отпаек или трехобмоточных трансформаторов.
+
Любая функция анализа электроэнергетической системы, такая как расчёт потоков мощности или короткого замыкания, основана на математической модели [[Электрическая сеть|электрической сети]]. Существуют различные подходы к тому, как инструменты энергосистемы позволяют пользователю задать эту модель. Обычно используемым подходом является модель узлов и ветвей, которая определяет сеть как совокупность узлов, которые связаны между собой определенными ветвями. Ветви моделируются стандартной схемой замещения и используются для моделирования [[Многополюсный элемент|многополюсных элементов]], таких как линии или трансформаторы. К узлам приписываются узловая мощность или [[Электрическая проводимость|проводимость]] для моделирования [[Однополюсный элемент|однополюсных элементов]], таких как нагрузки, генераторы или конденсаторные батареи. Модель узлов и ветвей также может свободно параметризоваться и она не привязана к конкретным моделям электрических сетей. С другой стороны, пользователю необходимо рассчитать [[Электрическое сопротивление|сопротивления]] для каждой ветви и суммировать узловые мощности для каждого узла вручную по данным паспортных таблиц элементов сети. Это может быть громоздким и подверженным ошибкам, особенно для сложных элементов, таких как трансформаторы с переключателями отпаек (РПН или ПБВ) или трёхобмоточных трансформаторов.
  
Вместо модели узлов и ветвей pandapower использует модель на основе элементов для моделирования электрических сетей. Элемент либо подключен к одной либо к нескольким шинам и определяется характеристическими параметрами. Вместо общей модели ветвей существуют отдельные модели для линий, двухобмоточных, трехобмоточных трансформаторов и т. д. Это позволяет моделировать сеть по паспортным данным, такими как длина и удельное сопротивление для [[Линия электропередачи|линий электропередачи]], или напряжение короткого замыкания и номинальная мощность для [[Трансформатор|трансформаторов]]. Поскольку модель узлов и ветвей допускает только определение суммированной мощности в каждом узле, однополюсные элементы (например, элементы [[Нагрузка|нагрузки]] или генерации) могут быть подключены к шинам независимо друг от друга. Это также позволяет подключать несколько элементов на одной шине.
+
Вместо модели узлов и ветвей pandapower использует модель на основе элементов для моделирования электрических сетей. Элемент либо подключен к одной либо к нескольким шинам и определяется характеристическими параметрами. Вместо общей модели ветвей существуют отдельные модели для линий, двухобмоточных, трехобмоточных трансформаторов и т. д. Это позволяет моделировать сеть по паспортным данным, такими как длина и удельное сопротивление для [[Линия электропередачи|линий электропередачи]], или [[напряжение короткого замыкания]] и номинальная мощность для [[трансформатор]]ов. Поскольку модель узлов и ветвей допускает только определение суммарной мощности в каждом узле, однополюсные элементы (например, элементы [[Нагрузка|нагрузки]] или [[Генератор|генерации]]) могут быть подключены к шинам независимо друг от друга. Это также позволяет подключать несколько элементов на одной шине.
  
Модели элементов должны обрабатываться соответствующими эквивалентными схемами для получения математического описания сети. Разрыв связи между элементами модели и моделью сети позволяет определить разные эквивалентные схемы для различных функциональных возможностей анализа. Например, внешний элемент сети может быть смоделирован как балансирующий узел при расчете потоков мощности, но как источник напряжения с внутренним сопротивлением при вычислении короткого замыкания.
+
Модели элементов должны обрабатываться соответствующими эквивалентными схемами для получения математического описания сети. Разрыв связи между элементами модели и моделью сети позволяет определить разные эквивалентные схемы для различных функциональных возможностей анализа. Например, внешний элемент сети может быть смоделирован как балансирующий узел при расчёте потоков мощности, но как источник напряжения с внутренним сопротивлением при вычислении короткого замыкания.
  
=Структура данных=
+
= Структура данных =
[[Файл:Схематический обзор представления элементов в pandapower.jpg|мини|300px| Рис. 1 - Схематический обзор представления элементов в pandapower]]
+
[[Файл:Схематический обзор представления элементов в pandapower.jpg|мини|300px| Рис. 1 — Схематический обзор представления элементов в pandapower]]
pandapower основан на табличной структуре данных, где каждый тип элемента представлен таблицей, содержащей все параметры для конкретного элемента и результирующую таблицу, которая содержит конкретные результаты для различных методов анализа. Структура табличных данных основана на библиотеке Python-a pandas[1]. Он позволяет хранить переменные любого типа данных, так что электрические параметры могут храниться вместе с параметрами состояния и метаданными, такими как имена или описания. Таблицы можно легко расширить и настроить, добавив новые столбцы, не влияя на функциональность pandapower. Все встроенные методы pandas могут использоваться для эффективного чтения, записи и анализа данных сети и результатов. Сеть pandapower (сокращенно net) представляет собой словарь Python, который содержит всю информацию о сети (см. Рис.1). Самое главное, он включает в себя элемент и результирующую таблицу для каждого типа элементов, такие как линия, трансформатор, переключатель и т.д. Таблица элементов содержит все входные параметры, заданные пользователем, тогда как таблица результатов используется функциями потокораспределения или оптимальным потокораспределением для хранения результатов. Кроме того, net включает словари, которые содержат данные стандартного типа и параметры сети, такие как частота, сетевое имя или номинальная мощность в системе о.е.
+
pandapower основан на табличной структуре данных, где каждый тип элемента представлен таблицей, содержащей все параметры для конкретного элемента и результирующую таблицу, которая содержит конкретные результаты для различных методов анализа. Структура табличных данных основана на библиотеке Python-a pandas<ref>Оффициальный сайт [https://pandapower.readthedocs.io/ pandapower].</ref>. Он позволяет хранить переменные любого типа данных, так что электрические параметры могут храниться вместе с параметрами состояния и метаданными, такими как имена или описания. Таблицы можно легко расширить и настроить, добавив новые столбцы, не влияя на функциональность pandapower. Все встроенные методы pandas могут использоваться для эффективного чтения, записи и анализа данных сети и результатов. Сеть pandapower (сокращенно net) представляет собой словарь Python, который содержит всю информацию о сети (см. Рис.1). Самое главное, он включает в себя элемент и результирующую таблицу для каждого типа элементов, такие как линия, трансформатор, переключатель и т. д. Таблица элементов содержит все входные параметры, заданные пользователем, тогда как таблица результатов используется функциями потокораспределения или оптимальным потокораспределением для хранения результатов. Кроме того, net включает словари, которые содержат данные стандартного типа и параметры сети, такие как частота, сетевое имя или номинальная мощность в системе о.е.
  
=Модели электрических элементов=
+
= Модели электрических элементов =
Библиотека pandapower включает в себя множество различных электрических моделей, некоторые из которых недоступны ни в одном другом инструменте с открытым исходным кодом. Подробные формулы для расчета электрических параметров доступны в документации pandapower [24]. Удобное пошаговое задание каждого элемента сети производится с помощью функции create. Основные элементы, включаемые pandapower:
+
Библиотека pandapower включает в себя множество различных электрических моделей, некоторые из которых недоступны ни в одном другом инструменте с открытым исходным кодом. Подробные формулы для расчёта электрических параметров доступны в документации pandapower<ref>"IEEE recommended practice for industrial and commercial power systems analysis (brown book), " IEEE Std 399—1997, Aug 1998.</ref>. Удобное пошаговое задание каждого элемента сети производится с помощью функции create. Более подробное описание элементов представленных в библиотеке приведено [[Модели электрических элементов Pandapower|здесь]].
  
* Шина (bus)
+
= Анализ электрической сети =
Шины представляют собой узлы сети. Они задаются номинальным напряжением bus.vn_kv1, которое является опорным напряжением в системе о.е. Номинальная мощность в системе о.е. определяется в масштабе системы с параметром net.sn_kva. Величина напряжения res_bus.vm_pu и угол res_bus.va_degree являются результатами анализа сети.
+
[[Файл:Анализ электрической сети в pandapower.jpg|мини|300px| Рис. 2 — Анализ электрической сети в pandapower]]
 +
Благодаря возможности управлять настройками расчёта установившегося режима, оптимизации потокораспределения, оценкой состояния и токов коротких замыканий, pandapower обеспечивает все наиболее часто используемые функции статического сетевого анализа. Структура данных pandapower содержит общие параметры паспортной таблицы для удобной параметризации сетевых элементов. Для проведения анализа [[Электрическая сеть|электрической сети]] все элементы модели должны быть переведены в их эквивалентное электрическое представление. Этот перевод выполняется путем преобразования внутренней структуры данных на основе элементов в модель узлов и ветвей, как показано на рисунке 2.
  
* Нагрузка (load)
+
Внутренняя модель узлов и ветвей имеет аналогичную структуру как файл PYPOWER, но была расширена для включения параметров, таких как асимметричные сопротивления или постоянная токовая нагрузка. После проведения расчёта установившегося режима, на основе модели узлов и ветвей, полученные результаты распределяются по элементам в соответствии с заданной схемой. Таким образом, результаты также могут быть заданы относительно входных параметров, например, для расчёта нагрузок линий электропередач как отношение максимального допустимого термического тока и фактического тока, возникающего в результате распределения потоков мощности.
Нагрузки используются для моделирования потребления электроэнергии. Они определяются активной нагрузкой load.p_kw и реактивной мощностью load.q_kvar. Модель ZIP позволяет моделировать нагрузки с постоянной мощностью, постоянным током или постоянным сопротивлением. Процент нагрузки, которая потребляет постоянный ток, определяется параметром load.const_i_percent, постоянная импедансная часть определяется параметром load.const_z_percent. Остальная часть нагрузки предполагает постоянную мощность нагрузки. При постоянном токе и постоянном сопротивлении считается, что активным значением мощности является потребление энергии при номинальном напряжении. Все узловые мощности включают в себя правило знаков. Модель нагрузки включает в себя масштабирующий коэффициент load.scaling, который позволяет масштабировать нагрузку.
 
  
* Статический генератор (sgen)
+
== Расчёт установившегося режима ==
Статические генераторы используются для моделирования постоянной выдачи мощности с активной мощностью sgen.p_kw и реактивной мощностью sgen.q_kvar. В правиле знаков выработка мощности определяется как отрицательная. Модель статического генератора включает коэффициент масштабирования sgen.scaling, эквивалентный коэффициенту масштабирования нагрузки.
+
[[Файл:Сравнение_расчетных_библиотек.jpg|мини|300px| Рис. 3 — Вычислительная скорость pandapower, PYPOWER и MATPOWER для файлов MATPOWER]]
 +
Алгоритм расчёта установившегося режима pandapower основан на методе Ньютона-Рафсона<ref>S. K. Lam, A. Pitrou, and S. Seibert, "Numba: a LLVM-based Python JIT compiler, " 2015.</ref>. Реализация была первоначально основана на PYPOWER, но была улучшена в отношении надёжности расчёта, времени выполнения и удобства использования. Внутренние параметры потокораспределения, такие как тип узла ([[Балансирующий узел|база]], [[PV узел|PV]] или [[PQ узел]]) или преобразования в о.е., выполняются автоматически с помощью pandapower. Это улучшает удобство пользователя и снижает риск несвязных входных данных. Библиотека pandapower предлагает три разных метода для инициализации начальных приближений комплексного вектора напряжения для установившегося режима в электрической сети переменного тока:
  
* Генератор, управляемый напряжением (gen)
+
* результаты предыдущего расчёта установившегося режима;
Элементы генератора используются для моделирования блоков выработки электроэнергии с регулируемым напряжением с фиксированной выдачей активной мощности gen.p_kw и заданным значением величины напряжения gen.vm_pu. Точное соблюдение величины напряжения при расчете потокораспределения достигается настройкой шины генератора в качестве узла PV. Затем вычисляется реактивная мощность res_gen.q_kvar, так что величина напряжения равна заданному значению. Ограничения реактивной мощности gen.q_min_kvar и gen.q_max_kvar могут быть задействованы при расчетах потоков мощности, и в этом случае необходимое значение напряжения не всегда может быть достигнуто.
+
* расчёт установившегося режима для случая постоянного тока;
 +
* алгоритм плоского старта.
  
* Внешняя сеть (ext_grid)
+
Инициализация с использованием результатов расчёта потокораспределения для случая постоянного тока рекомендуется использовать при расчёте сложнозамкнутых сетей, где могут быть большие разности углов напряжений между шинами, что может привести к расхождению итерационного процесса в случае плоского старта. С другой стороны, в радиальных распределительных сетях опорный угол напряжения диктуется внешней сетью, так что сдвиги углов соответствующих напряжений на трансформаторах не влияют на результаты расчёта потокораспределения. Вот почему pandapower дает возможность пренебрегать углами напряжений, чтобы обеспечить более быструю и надежную сходимость в радиальных распределительных сетях. Дополнительный шаг преобразования, который необходим для преобразования модели pandapower в модель узлов и ветвей, и последующего отображения результатов. Это вызывает дополнительное потребление ресурсов по сравнению с программами, которые работают непосредственно на модели узлов и ветвей, такие как MATPOWER или PYPOWER.
Модель элемента внешней сети представляет собой источник напряжения с величиной напряжения ext_grid.vm_pu и соответствующим углом напряжения ext_grid.va_degree. Точное соблюдение значения комплексного напряжения при расчете потоков мощности достигается установкой шины генератора в качестве балансирующего узла. pandapower поддерживает подключение нескольких внешних сетей в гальванически подключенных сетевых зонах.
 
  
* Шунт (shunt)
+
С другой стороны, некоторые части алгоритма решения pandapower были ускорены с использованием оперативного компилятора (jit) numba<ref>J.-H. Teng, "A direct approach for distribution system load flow solutions, " IEEE Transactions on Power Delivery, vol. 18, no. 3, pp. 882—887, July 2003.</ref>. Чтобы определить разницу вычислительного времени, на рисунке 3 показано время вычисления для разных стандартных файлов MATPOWER. Можно увидеть, что pandapower быстрее, чем PYPOWER во всех случаях из-за ускоренного jit построения матрицы Якоби и других аспектов метода [https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%9D%D1%8C%D1%8E%D1%82%D0%BE%D0%BD%D0%B0|Ньютона-Рафсона]. Можно также заметить, что, хотя расходы на преобразование занимают более половины времени вычисления для небольших сетей, его доля значительно уменьшается для крупных сетей. В то время как pandapower медленнее, чем MATPOWER для небольших сетей, она быстрее для сетей среднего и крупного масштаба, даже включая время необходимое на преобразование в модель узлов и ветвей.
Шунты являются сетевыми элементами, которые могут использоваться для моделирования конденсаторной батареи или реактора. Шунты определяются реактивной мощностью shunt.q_kvar и активной мощностью shunt.p_kw, которое представляет собой потери. Значения мощности равны потреблению при номинальном напряжении shunt.vn_kv. Параметр shunt.step позволяет моделировать дискретно сегментированный шунт, такой как переключаемые конденсаторные батареи.
 
  
* Линия (line)
+
По умолчанию преобразование в модель узлов и ветвей выполняется перед каждым расчётом установившегося режима. Однако, если несколько последовательных расчётов установившихся режимов выполняются для одной и той же сети, которые отличаются только значениями узловых мощностей, то повторное преобразование становится излишним. По этой причине pandapower предлагает возможность повторно использовать модель узлов и ветвей и узловые точки матрицы проводимости из предыдущих расчётов потоков мощности. Эта функция позволяет ускорить работу приложений, таких как квазистатическое моделирование временных рядов или оптимизация эвристической мощности. В дополнение к алгоритму Newton-Raphson, применяемого по умолчанию, pandapower также обеспечивает реализацию прокрутки назад / вперед<ref name="Abur">A. Abur and A. Exposito, ´ Power System State Estimation: Theory and Implementation, ser. Power Engineering (Willis). CRC Press, 2004.</ref>.
Линии моделируются с помощью π-эквивалентной схемы [25]. Электрические параметры линии указаны относительно длины линии line.length_km. Продольное сопротивление определяется активным сопротивлением line.r_ohm_per_km и реактивным сопротивлением line.x_ohm_per_km. Поперечная проводимость линии определяется пропускной способностью line.c_nf_per_km. Линейный ток res_line.i_ka рассчитывается как максимальный ток на обоих концах линии. Линейная загрузка res_line.loading_percent может быть рассчитана как отношение тока линии res_line.i_ka к максимальной термическому току линии. Модель также обеспечивает параметр line.parallel для определения количества параллельных линий.
 
  
* Двухоборотный трансформатор (trafo)
+
Пример расчётов установившегося режима представлен [[Расчёт установившегося режима pandapower|здесь]].
Двухобмоточные трансформаторы обычно моделируются с помощью T-образной схемы [25]. Однако, для полноты, pandapower также включает в себя модель π-трансформатора. Продольное сопротивление определяется напряжением короткого замыкания trafo.v_sc_percent и его активной частью trafo.v_scr_percent. Активная часть сопротивления трансформатора представляет собой потери меди в обмотках трансформатора. Поперечная проводимость представляет собой потери в железном сердечнике трансформатора. Ток разомкнутого контура trafo.i0_percent определяет общие потери холостого хода и активные потери мощности trafo.pfe_kw определяют потери в железе. Номинальные напряжения трансформатора для стороны высокого напряжения trafo.vn_hv_kv и стороны низкого напряжения trafo.vn_lv_kv определяют номинальный коэффициент трансформации и не обязательно должен быть равен номинальным напряжениям подключенных шин. Если задан угловой сдвиг trafo.shift_percent, соотношение становится сложным и угол напряжения между стороной высокого и низкого напряжения сдвигается. Коэфициент трансформации также может зависить от определения переключателя отпаек и его текущего положения trafo.tp_pos. С каждым шагом положение отпайки trafo.tp_pos расходится с его средним положением trafo.tp_mid, коэффициент трансформации изменяется на процент, определяемый trafo.tp_st_percent. Также возможно определить сдвиг угла на шаг trafo.tp_degree_percent для моделирования фазорегулирующего транформатора. Переключатель отпаек может быть расположен на низком напряжении или стороне высокого напряжения трансформатора, который определяется параметром trafo.tp_side. Нагрузка res_trafo.loading_percent рассчитана на максимальную нагрузку со стороны высокого и низкого напряжения. Она может быть рассчитана относительно номинальной мощности trafo.sn_kva или относительно номинального тока. Как и для линий, существует параметр trafo.parallel, который позволяет определять несколько параллельных трансформаторов в одном элементе.
 
  
* Трехмоторный трансформатор (trafo3w)
+
== Оптимизация потоков мощности ==
Трехобмоточные рансформаторы могут быть смоделированы тремя двухобмоточными трансформаторами, соединенными звездой [25]. Трехобмоточный трансоформатор в pandapower осуществляет внутреннее преобразование. Потери холостого хода, определяемые trafo3w.i0_percent и trafo3w.pfe_kw, рассматриваются в трансформаторе на ВН. Напряжения короткого замыкания двухобмоточных трансформаторов рассчитываются с преобразованием соединения в звезду из напряжений короткого замыкания trafo3w.vsc_hv_percent, trafo3w.vsc_mv_percent и trafo3w.vsc_lv_percent, а также их соответствующих активных частей trafo3w.vscr_hv_percent, trafo3w.vscr_mv_percent и trafo3w .vscr_lv_percent. Сопротивления схемы замещения для трех двухобмоточных трансформаторов вычисляются по параметрам паспортной таблицы в соответствии с моделью двухмоторного трансформатора. Загрузка res_trafo3w.loading_percent рассчитывается как максимальная нагрузка трех двухобмоточных трансформаторов. Загрузка эквивалентных двухмоторных трансформаторов рассчитывается либо по отношению к номинальным мощностям trafo3w.sn_lv_kva, trafo3w.sn_mv_kva и trafo3w.sn_hv_kva, либо по отношению к соответствующему номинальному току.
+
pandapower позволяет решать проблемы оптимальных потоков мощности с переменным и постоянным током (OPF) через сопряжение PYPOWER. Фиксированные ограничения задаются как максимальная загрузка [[трансформатор]]ов и линий вместо абсолютных пределов для потоков мощности. Ограничения узлов включают в себя максимальную и минимальную величину напряжения. Пределы активной и реактивной мощности могут быть определены для PV / slack-элементов, таких как внешние сети и генераторы, но также и для PQ-элементов, таких как нагрузки и статические генераторы.
  
* Выключатель (switch)
+
== Оценка состояния ==
Элемент выключателя позволяет моделировать идеальные выключатели. Элемент выключателя соединяет шину switch.bus с элементом switch.element. Тип элемента определяется параметром switch.et и может быть либо второй шиной, либо линией, либо трансформатором. Параметр switch.close указывает переключатель включен или отключен. Включенный шиносоединительный выключатель гальванически соединяет две шины без падения напряжения. В инструментах расчета сети без явной модели выключателя шиносоединительный выключатель может моделироваться только малым сопротивлением между двумя шинами, это может привести к нежелательным падениям напряжения и проблемам сходимости при расчете потоков мощности. Модель выключателя pandapower позволяет избежать этой проблемы.
+
pandapower включает в себя модуль [[Оценка состояния|оценки состояния]], который позволяет оценить электрическое состояние сети, имея дело с неточностями и ошибками в данных измерений. Метод оптимизации по [https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%BD%D0%B0%D0%B8%D0%BC%D0%B5%D0%BD%D1%8C%D1%88%D0%B8%D1%85_%D0%BA%D0%B2%D0%B0%D0%B4%D1%80%D0%B0%D1%82%D0%BE%D0%B2  методу взвешенных наименьших квадратов] минимизирует разницу средневзвешанного квадрата разницы между измеренными значениями и соответствующими уравнениями потоков мощности<ref name="Abur"/>. Pandapower поддерживает измерения шины, линии и [[трансформатор]]а. Измерения шины могут быть заданы для значений напряжения или активной и реактивной мощности. Измерения на [[Линия электропередачи|линиях]] или [[трансформатор]]ах могут быть заданы для активных и реактивных потоков мощности на обоих концах ветви. Более подробное описание приведено [[Оценка состояния в Pandapower|здесь]].
  
* Линия передачи DC (dcline)
+
== Расчёт тока короткого замыкания в соответствии со стандартом IEC 60909 ==
Линия передачи постоянного тока передает активную мощность между двумя шинами. Передаваемая активная мощность dcline.p_kw уменьшается за счет абсолютных потерь преобразования dcline.p_loss_kw и относительных потерь передачи dcline.p_loss_percent на шине конечного потребителя. Линия постоянного тока моделируется двумя генераторами на обеих шинах, где управление напряжением с реактивной мощностью работает так же, как описано для модели генератора.
+
Стандарт IEC 60909<ref>"IEC 60909-0:2016: Short-circuit currents in three-phase a.c. systems — part 0: Calculation of currents, " International Standard, 2016.</ref> определяет правила для расчёта некоторых характерных значений короткого замыкания, таких как начальный ток короткого замыкания, ударный ток короткого замыкания или длительный ток короткого замыкания. В pandapower реализован расчёт начальных токов короткого замыкания для симметричных трехфазных коротких замыканий, а также двухфазных коротких замыканий. Необходимые поправочные коэффициенты реализуются в pandapower в соответствии со стандартом и автоматически применяются при преобразовании в модель узлов и ветвей. Дополнительные входные параметры, необходимые для расчёта внутренних сопротивлений внешних сетей или синхронных генераторов, определяются в таблицах элементов вместе с параметрами по умолчанию.
  
* Импеданс (импеданс)
+
<div class="toccolours mw-collapsible mw-collapsed"> Описание интерфейса функций <div class="mw-collapsible-content">
Элемент сопротивления соединяет две шины с относительным сопротивлением по отношению к номинальной мощности impedance.sn_kva. Сопротивление не обязательно должно быть симметричным. Прямое сопротивление определяется активной частью impedance.rft_pu и реактивной частью impedance.xft_pu, обратное сопротивление impedance.rtf_pu и impedance.xtf_pu.
 
  
* Эквивалент энергорайона (ward / xward)
+
Функция для [[Расчёт тока короткого замыкания|расчёта тока короткого замыкания]]:
Эквивалент энергорайона представляет собой комбинацию постоянной полной мощности  потребления и постоянным сопротивлением нагрузки [26]. Постоянное сопротивление нагрузки определяется как активная и реактивная потребляемая мощность ward.pz_kw и ward.qz_kvar при номинальном напряжении шины. Постоянная активная и реактивная мощность задаются ward.ps_kw и ward.qs_kvar. Расширенный эквивалент энергорайона включает в себя дополнительный источник напряжения с внутренним сопротивлением [26]. Источник напряжения моделируется как генератор с нулевой активной мощностью и уставкой по напряжению, определяемой параметром xward.vm_pu. Внутреннее сопротивление определяется параметрами xward.r_ohm и xward.x_ohm.
 
  
=Анализ электрической сети=
+
<syntaxhighlight lang="Python">
[[Файл:Анализ электрической сети в pandapower.jpg|мини|300px| Рис. 2 - Анализ электрической сети в pandapower]]
+
pandapower.shortcircuit.calc_sc(net, fault='3ph', case='max', lv_tol_percent=10, topology='auto', ip=False, ith=False, tk_s=1.0, kappa_method='C', r_fault_ohm=0.0, x_fault_ohm=0.0, branch_results=False)
Благодаря возможности управлять расчетом потоков мощности, оптимальных потоков мощности, оценкой состояния и вычислением коротких замыканий, pandapower обеспечивает все наиболее часто используемые функции статического сетевого анализа. Как было указано ранее, структура данных pandapower содержит общие параметры паспортной таблицы для удобной параметризации. Для проведения анализа электрической сети все элементы модели должны быть переведены в их эквивалентное электрическое представление. Этот перевод выполняется путем преобразования внутренней структуры данных на основе элементов в модель узлов и ветвей, как показано на рисунке 2. Внутренняя модель узлов и ветвей имеет аналогичную структуру как файл PYPOWER, но была расширена для включения параметров, таких как асимметричные сопротивления или постоянная токовая нагрузка. После проведения электрического анализа на основе модели узлов и ветвей полученные результаты распределяются по элементам в соответствии с заданной схемой. Таким образом, результаты также могут быть заданы относительно входных параметров, например, для расчета линейных нагрузок как отношения максимального термического тока и фактического тока, возникающего в результате распределения потоков мощности.
+
</syntaxhighlight>
  
* Расчет потоков мощности
+
# Входные аргументы
[[Файл:Сравнение.jpg|мини|300px| Рис. 3 - Вычислительная скорость pandapower, PYPOWER и MATPOWER для файлов MATPOWER]]
+
#* '''net''' (pandapowerNet) pandapower Network
Алгоритм решения потока мощности pandapower основан на методе Ньютона-Рафсона [27]. Реализация была первоначально основана на PYPOWER, но была улучшена в отношении надежности, времени выполнения и удобства использования.
+
#* '''fault''' (string, 3ph) — вид короткого замыкания.
Внутренние параметры потокораспределения, такие как тип узла для расчета потокораспределения (база, PV или узел PQ) или преобразования в о.е., выполняются автоматически с помощью pandapower. Это улучшает удобство пользователя и снижает риск несвязных входных данных. pandapower предлагает три разных метода для инициализации комплексного вектора напряжения для вычисления потока мощности переменного тока. Это может быть либо результатом предыдущего расчета потоков мощности, либо решением потоков мощности постоянного тока, либо плоским стартом. Инициализация с использованием потоков мощности постоянного тока рекомендуется в сложнозамкнутых сетях, где большие разности углов напряжений между шинами могут привести к несходимости в случае плоского старта. С другой стороны, в радиальных распределительных сетях опорный угол напряжения диктуется внешней сетью, так что сдвиги углов соответствующих напряжений на трансформаторах не влияют на результат потокораспределения. Вот почему pandapower дает возможность пренебрегать углами напряжений, чтобы обеспечить более быструю и надежную сходимость в радиальных распределительных сетях. Дополнительный шаг преобразования, который необходим для преобразования модели pandapower в модель узлов и ветвей и последующего отображения результатов, вызывает дополнительное потребление ресурсов по сравнению с программами, которые работают непосредственно на модели узлов и ветвей, такие как MATPOWER или PYPOWER.  
+
#*# «3ph» — трёхфазное короткое замыкание.
 +
#*# «2ph» — двухфазное короткое замыкание.
 +
#*# «1ph» — однофазное короткое замыкание.
 +
#* '''case''' (string, «max»)
 +
#*# «max» — расчёт максимального тока.
 +
#*# «min» — расчёт минимального тока.
 +
#* '''lv_tol_percent''' (int, 10) — допуск по напряжению в низковольтных сетях.
 +
#*# 6 для 6 % допуска
 +
#*# 10 для 10 % допуска
 +
#* '''ip''' (bool, False) — Если значение True, то выполняется расчёт апериодической составляющей тока короткого замыкания.
 +
#* '''Ith''' (bool, False) — Если True, то выполняется расчёт теплового тока короткого замыкания.
 +
#* '''topology''' (string, «auto») define option for meshing (only relevant for ip and ith)
 +
#*# «meshed» — Расчёт выполняет для сложнозамкнутой сети.
 +
#*# «radial» — Расчёт выполняет для радиальной сети.
 +
#*# «auto» — Для каждого узла выполняется топологический анализ для оценки путей протекания тока короткого замыкания.
 +
#* '''tk_s''' (float, 1) failure clearing time in seconds (only relevant for ith)
 +
#* '''r_fault_ohm''' (float, 0) — Активное сопротивление в точке корокткого замыкания, [Ом].
 +
#* '''x_fault_ohm''' (float, 0) — Реактивное сопротивление в точке корокткого замыкания, [Ом].
 +
#* '''consider_sgens''' (bool, True) — Следует ли учитывать подпитку тока короткого замыкания от статических генераторов.
 +
# Результирующие таблицы.
 +
#* '''res_bus_sc''' — Таблица с результатми расчёта по узлам.
 +
#*# ikss_ka — Расчётный ток короткого замыкания, [кА].
 +
#*# ip_ka — Расчётное значение апериодической составляющей, [кА].
 +
#*# ith_ka — Расчётное значение теплового тока короткого замыкания, [кА].
 +
#* '''res_line_sc''' — Таблица с результатми расчёта по линиям электрпередачи. Показывает максимальный ток по линиям.
 +
#* '''res_trafo_sc''' — Таблица с результатми расчёта по трансформаторам. Показывает максимальный ток.
  
С другой стороны, некоторые части алгоритма решения pandapower были ускорены с использованием оперативного компилятора (jit) numba [28]. Чтобы определить разницу  вычислительного времени, на рисунке 3 показано время вычисления для разных стандартных файлов MATPOWER. Можно увидеть, что pandapower быстрее, чем PYPOWER во всех случаях из-за ускоренного jit построения матрицы Якоби и других аспектов алгоритма решения Newton-Raphson. Можно также заметить, что, хотя расходы на преобразование занимают более половины времени вычисления для небольших сетей, его доля значительно уменьшается для крупных сетей. В то время как pandapower медленнее, чем MATPOWER для небольших сетей, он быстрее для сетей среднего и крупного масштаба, даже включая преобразование для модели узлов и ветвей.
+
</div> </div>
  
По умолчанию преобразование в модель узлов и ветвей выполняется перед каждым расчетом потоеов мощности. Однако, если несколько последовательных расчетов потоков мощности выполняются для той же сети, которые отличаются только в узловых выдачах мощности, преобразование становится излишним. По этой причине pandapower предлагает возможность повторно использовать модель узлов и ветвей и узловые точки матрицы проводимости из предыдущих расчетов потоков мощности. Эта функция позволяет ускорить работу приложений, таких как квазистатическое моделирование временных рядов или оптимизация эвристической мощности. В дополнение к алгоритму решения по умолчанию Newton-Raphson, pandapower также обеспечивает реализацию прокрутки назад / вперед [29].  
+
== Топологический анализ сети ==
 +
pandapower предоставляет возможность исследования графа с использованием библиотеки [https://networkx.github.io/documentation/stable/tutorial.html Python NetworkX]<ref>A. A. Hagberg, D. A. Schult, and P. J. Swart, «Exploring network structure, dynamics, and function using NetworkX,» in Proceedings of the 7th Python in Science Conference (SciPy2008), Pasadena, CA USA, Aug. 2008, pp. 11-15.</ref>, предоставляя возможность переводить сети pandapower в графики NetworkX. Когда сеть транслируется в абстрактный граф, все анализы графов, реализованные в библиотеке NetworkX, могут использоваться для анализа структуры сети. Затем можно, например, найти подключенные компоненты или циклы в графе и перенести результаты в pandapower. Длина линии может быть преобразована как вес ребра на графе, так что можно найти кратчайший путь между двумя шинами или измерить расстояния между шинами в сети. Перевод сети в граф также можно настроить в зависимости от варианта использования. Например, строки с отключенными [[Выключатель|выключателями]] по умолчанию не передаются в графы, так как между этими узлами нет электрического соединения. Кроме того, pandapower также предоставляет некоторые предопределенные алгоритмы для решения общих проблем исследования графа в [[Электрическая сеть|электрических сетях]], таких как поиск всех неиспользуемых шин или поиск гальванически подключенных шин.
  
* Оптимизация потоков мощности
+
Алгоритмы топологического анализа, включённые в pandapower:
pandapower позволяет решать проблемы оптимальных потоков мощности с переменным и постоянным током (OPF) через сопряжение PYPOWER. Фиксированные ограничения задаются как максимальная загрузка трансформаторов и линий вместо абсолютных пределов для потоков мощности. Ограничения узлов включают в себя максимальную и минимальную величину напряжения. Пределы активной и реактивной мощности могут быть определены для PV / slack-элементов, таких как внешние сети и генераторы, но также и для PQ-элементов, таких как нагрузки и статические генераторы.
 
  
* Оценка состояния
+
# calc_distance_to_bus — Алгоритм расчёта кратчайшего расстояние между шиной источника и всеми подключенными к ней шинами.
pandapower включает в себя модуль оценки состояния, который позволяет оценить электрическое состояние сети, имея дело с неточностями и ошибками из данных измерений. Метод оптимизации по методу взвешенных наименьших квадратов минимизирует разницу средневзвешанного квадрата разницы между измеренными значениями и соответствующими уравнениями потока мощности [29]. pandapower поддерживает измерения шины, линии и трансформатора. Измерения шины могут быть заданы для значений напряжения или активной и реактивной мощности. Измерения на линиях или трансформаторах могут быть заданы для активных и реактивных потоков мощности на обоих концах ветви.
+
# connected_component — Находит все шины в графике NetworkX, которые подключены к определенной шине.
 +
# connected_components — Находит все связанные острова в электрической сети.
 +
# unsupplied_buses — Находит все шины не подключенные к базисному узлу (внешней сети).
  
Оценка состояния может не сходиться, если измерения включают плохие данные. Поэтому перед процессом оценки необходимо удалить плохие данные. Эта проблема решена в пандапуре с помощью тестирования χ2 и нормированным тестом остатков 29]. Тест χ2 способен идентифицировать вероятность того, что плохие измерения существуют в наборе измерений, или если топология сети не соответствует данным измерений. Нормализованный тест остатков может принимать информацию об испытании χ2, вычислять нормированные остатки и удалять измерение с самым высоким остатком. Цикл повторяется до тех пор, пока не пройдет проверка плохих данных или никакие измерения не будут удалены.
+
<div class="toccolours mw-collapsible mw-collapsed"> Описание интерфейса функций <div class="mw-collapsible-content">
  
* Расчет короткого замыкания в соответствии со стандартом IEC 60909
+
<syntaxhighlight lang="Python">
Стандарт IEC 60909 [30] определяет правила для расчета некоторых характерных значений короткого замыкания, таких как начальный ток короткого замыкания, ударный ток короткого замыкания или длительный ток короткого замыкания. В pandapower реализован расчет начальных токов короткого замыкания для симметричных трехфазных коротких замыканий, а также двухфазных коротких замыканий. Необходимые поправочные коэффициенты реализуются в pandapower в соответствии со стандартом и автоматически применяются при преобразовании в модель узлов и ветвей. Дополнительные входные параметры, необходимые для расчета внутренних сопротивлений внешних сетей или синхронных генераторов, определяются в таблицах элементов вместе с параметрами по умолчанию.
+
pandapower.topology.calc_distance_to_bus(net, bus, respect_switches=True, nogobuses=None, notravbuses=None)
 +
</syntaxhighlight>
  
* Топологический анализ сети
+
# Входные аргументы:
pandapower предоставляет возможность исследования графа с использованием библиотеки Python NetworkX [31], предоставляя возможность переводить сети pandapower в графики NetworkX. Когда сеть транслируется в абстрактный граф, все анализы графов, реализованные в библиотеке NetworkX, могут использоваться для анализа структуры сети. Затем можно, например, найти подключенные компоненты или циклы в графе и перенести результаты на pandapower. Длина линии может быть преобразована как вес ребра на графе, так что можно найти кратчайший путь между двумя шинами или измерить расстояния между шинами в сети. Перевод сети в граф также можно настроить в зависимости от варианта использования. Например, строки с отключенными выключателями по умолчанию не передаются в графы, так как между этими узлами нет электрического соединения. Кроме того, pandapower также предоставляет некоторые предопределенные алгоритмы для решения общих проблем исследования графа в электрических сетях, таких как поиск всех неиспользуемых шин или поиск гальванически подключенных шин.
+
#* '''net''' (pandapowerNet) — Анализируемая электрчиеская сеть.
 +
#* '''bus''' (integer) — Индекс в таблице '''bus''' стартовой шины.
 +
#* '''respect_switches''' (boolean, True) — Опционально. Если значение True, то Рассматриваются только влюченные ветви.
 +
# Выходные аргументы
 +
#* '''dist''' — Возвращает pandas series которая содержит все расстояния от стартовой шины до всех подключенных шин.
  
=Литература=
+
<syntaxhighlight lang="Python">
# Оффициальный сайт [https://pandapower.readthedocs.io/ pandapower].
+
pandapower.topology.connected_component(mg, bus, notravbuses=[])
# Оффициальный сайт [https://networkx.github.io/ networkx].
+
</syntaxhighlight>
# [https://ru.wikibooks.org/wiki/Python/%D0%A3%D1%87%D0%B5%D0%B1%D0%BD%D0%B8%D0%BA_Python_3.1 Вики-учебник по Python].
 
# F. Milano and L. Vanfretti, “State of the art and future of oss for power systems,” in IEEE Power Energy Society General Meeting, July 2009.
 
# F. Milano and L. Vanfretti, “State of the art and future of oss for power systems,” in IEEE Power Energy Society General Meeting, July 2009.
 
# R. D. Zimmerman, C. E. Murillo-Sanchez, and R. J. Thomas, “Matpower: Steady-state operations, planning, and analysis tools for power systems research and education,” IEEE Transactions on Power Systems, vol. 26, no. 1, pp. 12–19, Feb 2011.
 
# C. E. Murillo-Sanchez, R. D. Zimmerman, C. L. Anderson, and R. J. Thomas, “Secure planning and operations of systems with stochastic sources, energy storage, and active demand,” IEEE Transactions on Smart Grid, vol. 4, no. 4, pp. 2220–2229, Dec 2013.
 
# R. Lincoln, “Learning to trade power,” Ph.D. dissertation, University of Strathclyde, 2011.
 
# S. Cole and R. Belmans, “Matdyn, a new matlab-based toolbox for power system dynamic simulation,” IEEE Transactions on Power Systems, vol. 26, no. 3, pp. 1129–1136, Aug 2011.
 
# J. Susanto, “pypower-dynamics,” https://pypi.python.org/pypi/pypowerdynamics.
 
# F. Milano, “An open source power system analysis toolbox,” IEEE Transactions on Power Systems, vol. 20, no. 3, pp. 1199–1206, Aug # F. Milano, “A python-based software tool for power system analysis,” in 2013 IEEE Power Energy Society General Meeting, July 2013.
 
# S. P. Vera, “Gridcal - reasearch oriented power systems software,” https://github.com/SanPen/GridCal.
 
# T. Brown, J. Horsch, and D. Schlachtberger, “Pypsa - python ¨ for power system analysis,” preprint. [Online]. Available: https: //arxiv.org/abs/1707.09913
 
# H. G. Svendsena and O. C. Spro, “Powergama: A new simplified modelling approach for analyses of large interconnected power systems, applied to a 2030 western mediterranean case study,” Journal of Renewable and Sustainable Energy, vol. 8, July 2016.
 
# D. Krishnamurthy, “psst: An open-source power system simulation toolbox in python,” in 2016 North American Power Symposium (NAPS), Sept 2016.
 
# R. C. Dugan and T. E. McDermott, “An open source platform for collaborating on smart grid research,” in 2011 IEEE Power and Energy Society General Meeting, July 2011.
 
# D. P. Chassin, K. Schneider, and C. Gerkensmeyer, “Gridlab-d: An opensource power systems modeling and simulation environment,” in 2008 IEEE/PES Transmission and Distribution Conference and Exposition, April 2008.
 
# E. Jones, T. Oliphant, P. Peterson et al., “SciPy: Open source scientific tools for Python,” http://www.scipy.org, 2001.
 
# L. Thurner, A. Scheidler, A. Probst, and M. Braun, “Heuristic optimization for network restoration and expansion in compliance with the single contingency policy,” IET Generation, Transmission & Distribution, vol. 11, pp. 4264–4273, July 2017.
 
# A. Scheidler, L. Thurner, and M. Braun, “Heuristic optimisation for automated distribution system planning in network integration studies,” IET Renewable Power Generation, vol. 12, no. 5, pp. 530–538, April 2018.
 
# J.-H. Menke, J. Hegemann, S. Gehler, and M. Braun, “Heuristic monitoring method for sparsely measured distribution grids,” International Journal of Electrical Power & Energy Systems, vol. 95,
 
# H. Wang, M. Kraiczy, S. Wende-von Berg et al., “Reactive power coordination on strategies with distributed generators in distribution networks,” in . 1st International Conference on Large-Scale Grid Integration of Renewable Energy in India, September 2017.
 
# W. McKinney, “pandas: a foundational python library for data analysis and statistics,” Python for High Performance and Scientific Computing, 2011.
 
# “IEEE recommended practice for industrial and commercial power systems analysis (brown book),” IEEE Std 399-1997, Aug 1998.
 
# J. B. Ward, “Equivalent circuits for power-flow studies,” Transactions of the American Institute of Electrical Engineers, vol. 68, no. 1, pp. 373–382, July 1949.
 
# J. J. Grainger and W. D. Stevenson, Power system analysis. McGrawHill, 1994.
 
# S. K. Lam, A. Pitrou, and S. Seibert, “Numba: a LLVM-based Python JIT compiler,” 2015.
 
# J.-H. Teng, “A direct approach for distribution system load flow solutions,” IEEE Transactions on Power Delivery, vol. 18, no. 3, pp. 882– 887, July 2003.
 
# A. Abur and A. Exposito, ´ Power System State Estimation: Theory and Implementation, ser. Power Engineering (Willis). CRC Press, 2004.
 
# “IEC 60909-0:2016: Short-circuit currents in three-phase a.c. systems - part 0: Calculation of currents,” International Standard, 2016.
 
# A. A. Hagberg, D. A. Schult, and P. J. Swart, “Exploring network structure, dynamics, and function using NetworkX,” in Proceedings of the 7th Python in Science Conference (SciPy2008), Pasadena, CA USA, Aug. 2008, pp. 11–15.
 
  
 +
# Входные аргументы
 +
#* '''mg''' (NetworkX graph) — NetworkX граф или MultiGraph, который представляет электрическую сеть.
 +
#* '''notravbuses''' (set) — Опционально. Индексы линий, которые не учитыаются при анализе.
 +
# Выходные аргументы
 +
#* '''cc''' (generator) — Возвращает генератор, который содержит все группы узлов соединённых между собой.
  
[[Категория:Библиотеки для расчётов]]
+
<syntaxhighlight lang="Python">
 +
pandapower.topology.connected_components(mg, notravbuses=set([]))
 +
</syntaxhighlight>
 +
 
 +
<syntaxhighlight lang="Python">
 +
pandapower.topology.unsupplied_buses(net, mg=None, in_service_only=False, slacks=None, respect_switches=True)
 +
</syntaxhighlight>
 +
 
 +
# Входные аргументы
 +
#* '''net''' (pandapowerNet) — Электрчиеская сеть.
 +
#* '''mg''' (NetworkX graph) — Опционально. Граф NetworkX представляющий электрическую сеть.
 +
#* '''in_service_only''' (boolean, False) — Опционально. Учитываются только включенные узлы.
 +
#* '''slacks''' (set, None) — Опционально. Список узлов, которые считаются базисными узлами. Если нет, то учитываются только узлы отмеченные как внешняя сеть ext_grid.
 +
#* '''respect_switches''' (boolean, True) — Опционально. Как рассматривать выключатели, только в случае отсутствия графа NetworkX в переменной mg.
 +
# Выходные аргументы
 +
#* '''ub''' (set) — Возвращает pandas series которая содержит все неподключенные шины к базисному узлу.
 +
 
 +
</div> </div>
 +
 
 +
= Список использованных источников =
 +
 
 +
[[Категория:Pandapower]]

Текущая версия на 08:39, 6 ноября 2020

Pandapower — это Python, BSD-лицензированный инструмент для анализа режимов работы энергосистем, предназначенный для автоматизации статических и квазистатических аналитических и оптимизационых расчётов для сбалансированных энергосистем. Данная библиотека предоставляет возможность расчетов потоков мощности, оптимизации потоков мощности, оценку состояния и расчёт токов коротких замыканий согласно стандарту IEC 60909. Дополнительные усовершенствования алгоритма решения включают в себя возможность моделирования постоянных токовых нагрузок, сетей с несколькими балансирующими узлами и проверки связности. Модель сети pandapower основана на электрических элементах, таких как линии электропередачи, трансформаторы с двумя или тремя обмотками и идеальные выключатели. Все элементы могут быть определены с помощью параметров паспортной таблицы и внутренне обработаны с использованием схем замещения моделей. Структура табличных данных, используемая для определения электрических сетей, основана на библиотеке Python-а pandas, что позволяет удобно обрабатывать входные и выходные параметры. Реализация на языке Python упрощает использование pandapower и обеспечивает удобное расширение сторонних библиотек.

Общие сведения

Основные возможности предоставляемые библиотекой:

  1. Расчёт установившегося режима.
  2. Расчёт токов короткого замыкания.
  3. Оценка состояния по данным измерений.
  4. Визуализация схем.
  5. Топологический анализ на основе библиотеки NetworkX языка Python. Например, можно найти кратчайший путь между двумя узлами, выяснить, связаны ли две области в сети друг с другом или существуют ли циклы в сети. Полный список всех алгоритмов NetworkX представлен на оффициальном сайте.

Краткий обзор pandapower

Библиотека pandapower реализована на языке Python, гарантируя свободную доступность и гибкое расширение с другими библиотеками с открытым исходным кодом. Поскольку он разработан как межплатформенная библиотека, его можно легко применять на вычислительных кластерах и распараллелить без каких-либо ограничений лицензии. Все реализации тщательно проверяются и, по возможности, проверяются путем сравнения с инструментами коммерческих программных обеспечений. pandapower была успешно применена в нескольких исследованиях сети[1],[2],[3],[4]. Благодаря обширной библиотеке моделей и удобному интерфейсу Python, pandapower имеет относительно низкий входной барьер для новых пользователей для выполнения основного анализа энергетических систем, что также делает его отличным инструментом для образовательных целей.

Инструмент pandapower для анализа режимов работы (УР и КЗ) энергосистемы с открытым исходным кодом направлен на автоматизацию статического и квазистатического анализа и оптимизации в сбалансированных трёхфазных энергосистемах. Pandapower включает в себя модели статических для электрических элементов, которые могут быть определены общими параметрами паспортной таблицы. Все модели энергосистемы тщательно протестированы на уровне коммерческих программных обеспечений и обеспечивают стандартное моделирование энергетических систем. Идеальная модель выключателя, как она реализована в pandapower, насколько нам известно, нигде в литературе не была описана или реализована в любом другом инструменте с открытым исходным кодом. Удобные функции для задания элементов, а также библиотеки стандартных типов облегчают пользователю автоматизацию создания сетей, что позволяет удобно импортировать сетевые данные из разных форматов. Структура табличных данных позволяет легко получать и анализировать входные и выходные параметры. Для исследований потока мощности pandapower использует jit ускоренную версию алгоритма PYPOWER Newton-Raphson в качестве алгоритма решения по умолчанию. Дополнительные усовершенствования были сделаны для алгоритма рещения PYPOWER, а именно возможности моделировать постоянные токовые нагрузки, асимметричные сопротивления или сети с несколькими балансирующими узлами. В дополнение к расчёту потоков мощности и оптимальных потоков мощности, pandapower является первым инструментом анализа энергосистемы с открытым исходным кодом, который включает оценку состояния, а также расчёт короткого замыкания в соответствии со стандартом IEC 60909. Кроме того, интерфейс для исследования топологии позволяет пользователю выполнять настраиваемое исследование графов в электрической сети. pandapower также включает в себя библиотеку графики для удобной визуализации энергосистем. Эта эксклюзивная функция сетевого анализа в сочетании с обширной библиотекой моделей делает pandapower ценным и инновационным вкладом в существующие инструменты с открытым исходным кодом.

Модели сети

Любая функция анализа электроэнергетической системы, такая как расчёт потоков мощности или короткого замыкания, основана на математической модели электрической сети. Существуют различные подходы к тому, как инструменты энергосистемы позволяют пользователю задать эту модель. Обычно используемым подходом является модель узлов и ветвей, которая определяет сеть как совокупность узлов, которые связаны между собой определенными ветвями. Ветви моделируются стандартной схемой замещения и используются для моделирования многополюсных элементов, таких как линии или трансформаторы. К узлам приписываются узловая мощность или проводимость для моделирования однополюсных элементов, таких как нагрузки, генераторы или конденсаторные батареи. Модель узлов и ветвей также может свободно параметризоваться и она не привязана к конкретным моделям электрических сетей. С другой стороны, пользователю необходимо рассчитать сопротивления для каждой ветви и суммировать узловые мощности для каждого узла вручную по данным паспортных таблиц элементов сети. Это может быть громоздким и подверженным ошибкам, особенно для сложных элементов, таких как трансформаторы с переключателями отпаек (РПН или ПБВ) или трёхобмоточных трансформаторов.

Вместо модели узлов и ветвей pandapower использует модель на основе элементов для моделирования электрических сетей. Элемент либо подключен к одной либо к нескольким шинам и определяется характеристическими параметрами. Вместо общей модели ветвей существуют отдельные модели для линий, двухобмоточных, трехобмоточных трансформаторов и т. д. Это позволяет моделировать сеть по паспортным данным, такими как длина и удельное сопротивление для линий электропередачи, или напряжение короткого замыкания и номинальная мощность для трансформаторов. Поскольку модель узлов и ветвей допускает только определение суммарной мощности в каждом узле, однополюсные элементы (например, элементы нагрузки или генерации) могут быть подключены к шинам независимо друг от друга. Это также позволяет подключать несколько элементов на одной шине.

Модели элементов должны обрабатываться соответствующими эквивалентными схемами для получения математического описания сети. Разрыв связи между элементами модели и моделью сети позволяет определить разные эквивалентные схемы для различных функциональных возможностей анализа. Например, внешний элемент сети может быть смоделирован как балансирующий узел при расчёте потоков мощности, но как источник напряжения с внутренним сопротивлением при вычислении короткого замыкания.

Структура данных

Рис. 1 — Схематический обзор представления элементов в pandapower

pandapower основан на табличной структуре данных, где каждый тип элемента представлен таблицей, содержащей все параметры для конкретного элемента и результирующую таблицу, которая содержит конкретные результаты для различных методов анализа. Структура табличных данных основана на библиотеке Python-a pandas[5]. Он позволяет хранить переменные любого типа данных, так что электрические параметры могут храниться вместе с параметрами состояния и метаданными, такими как имена или описания. Таблицы можно легко расширить и настроить, добавив новые столбцы, не влияя на функциональность pandapower. Все встроенные методы pandas могут использоваться для эффективного чтения, записи и анализа данных сети и результатов. Сеть pandapower (сокращенно net) представляет собой словарь Python, который содержит всю информацию о сети (см. Рис.1). Самое главное, он включает в себя элемент и результирующую таблицу для каждого типа элементов, такие как линия, трансформатор, переключатель и т. д. Таблица элементов содержит все входные параметры, заданные пользователем, тогда как таблица результатов используется функциями потокораспределения или оптимальным потокораспределением для хранения результатов. Кроме того, net включает словари, которые содержат данные стандартного типа и параметры сети, такие как частота, сетевое имя или номинальная мощность в системе о.е.

Модели электрических элементов

Библиотека pandapower включает в себя множество различных электрических моделей, некоторые из которых недоступны ни в одном другом инструменте с открытым исходным кодом. Подробные формулы для расчёта электрических параметров доступны в документации pandapower[6]. Удобное пошаговое задание каждого элемента сети производится с помощью функции create. Более подробное описание элементов представленных в библиотеке приведено здесь.

Анализ электрической сети

Рис. 2 — Анализ электрической сети в pandapower

Благодаря возможности управлять настройками расчёта установившегося режима, оптимизации потокораспределения, оценкой состояния и токов коротких замыканий, pandapower обеспечивает все наиболее часто используемые функции статического сетевого анализа. Структура данных pandapower содержит общие параметры паспортной таблицы для удобной параметризации сетевых элементов. Для проведения анализа электрической сети все элементы модели должны быть переведены в их эквивалентное электрическое представление. Этот перевод выполняется путем преобразования внутренней структуры данных на основе элементов в модель узлов и ветвей, как показано на рисунке 2.

Внутренняя модель узлов и ветвей имеет аналогичную структуру как файл PYPOWER, но была расширена для включения параметров, таких как асимметричные сопротивления или постоянная токовая нагрузка. После проведения расчёта установившегося режима, на основе модели узлов и ветвей, полученные результаты распределяются по элементам в соответствии с заданной схемой. Таким образом, результаты также могут быть заданы относительно входных параметров, например, для расчёта нагрузок линий электропередач как отношение максимального допустимого термического тока и фактического тока, возникающего в результате распределения потоков мощности.

Расчёт установившегося режима

Рис. 3 — Вычислительная скорость pandapower, PYPOWER и MATPOWER для файлов MATPOWER

Алгоритм расчёта установившегося режима pandapower основан на методе Ньютона-Рафсона[7]. Реализация была первоначально основана на PYPOWER, но была улучшена в отношении надёжности расчёта, времени выполнения и удобства использования. Внутренние параметры потокораспределения, такие как тип узла (база, PV или PQ узел) или преобразования в о.е., выполняются автоматически с помощью pandapower. Это улучшает удобство пользователя и снижает риск несвязных входных данных. Библиотека pandapower предлагает три разных метода для инициализации начальных приближений комплексного вектора напряжения для установившегося режима в электрической сети переменного тока:

  • результаты предыдущего расчёта установившегося режима;
  • расчёт установившегося режима для случая постоянного тока;
  • алгоритм плоского старта.

Инициализация с использованием результатов расчёта потокораспределения для случая постоянного тока рекомендуется использовать при расчёте сложнозамкнутых сетей, где могут быть большие разности углов напряжений между шинами, что может привести к расхождению итерационного процесса в случае плоского старта. С другой стороны, в радиальных распределительных сетях опорный угол напряжения диктуется внешней сетью, так что сдвиги углов соответствующих напряжений на трансформаторах не влияют на результаты расчёта потокораспределения. Вот почему pandapower дает возможность пренебрегать углами напряжений, чтобы обеспечить более быструю и надежную сходимость в радиальных распределительных сетях. Дополнительный шаг преобразования, который необходим для преобразования модели pandapower в модель узлов и ветвей, и последующего отображения результатов. Это вызывает дополнительное потребление ресурсов по сравнению с программами, которые работают непосредственно на модели узлов и ветвей, такие как MATPOWER или PYPOWER.

С другой стороны, некоторые части алгоритма решения pandapower были ускорены с использованием оперативного компилятора (jit) numba[8]. Чтобы определить разницу вычислительного времени, на рисунке 3 показано время вычисления для разных стандартных файлов MATPOWER. Можно увидеть, что pandapower быстрее, чем PYPOWER во всех случаях из-за ускоренного jit построения матрицы Якоби и других аспектов метода [1]. Можно также заметить, что, хотя расходы на преобразование занимают более половины времени вычисления для небольших сетей, его доля значительно уменьшается для крупных сетей. В то время как pandapower медленнее, чем MATPOWER для небольших сетей, она быстрее для сетей среднего и крупного масштаба, даже включая время необходимое на преобразование в модель узлов и ветвей.

По умолчанию преобразование в модель узлов и ветвей выполняется перед каждым расчётом установившегося режима. Однако, если несколько последовательных расчётов установившихся режимов выполняются для одной и той же сети, которые отличаются только значениями узловых мощностей, то повторное преобразование становится излишним. По этой причине pandapower предлагает возможность повторно использовать модель узлов и ветвей и узловые точки матрицы проводимости из предыдущих расчётов потоков мощности. Эта функция позволяет ускорить работу приложений, таких как квазистатическое моделирование временных рядов или оптимизация эвристической мощности. В дополнение к алгоритму Newton-Raphson, применяемого по умолчанию, pandapower также обеспечивает реализацию прокрутки назад / вперед[9].

Пример расчётов установившегося режима представлен здесь.

Оптимизация потоков мощности

pandapower позволяет решать проблемы оптимальных потоков мощности с переменным и постоянным током (OPF) через сопряжение PYPOWER. Фиксированные ограничения задаются как максимальная загрузка трансформаторов и линий вместо абсолютных пределов для потоков мощности. Ограничения узлов включают в себя максимальную и минимальную величину напряжения. Пределы активной и реактивной мощности могут быть определены для PV / slack-элементов, таких как внешние сети и генераторы, но также и для PQ-элементов, таких как нагрузки и статические генераторы.

Оценка состояния

pandapower включает в себя модуль оценки состояния, который позволяет оценить электрическое состояние сети, имея дело с неточностями и ошибками в данных измерений. Метод оптимизации по методу взвешенных наименьших квадратов минимизирует разницу средневзвешанного квадрата разницы между измеренными значениями и соответствующими уравнениями потоков мощности[9]. Pandapower поддерживает измерения шины, линии и трансформатора. Измерения шины могут быть заданы для значений напряжения или активной и реактивной мощности. Измерения на линиях или трансформаторах могут быть заданы для активных и реактивных потоков мощности на обоих концах ветви. Более подробное описание приведено здесь.

Расчёт тока короткого замыкания в соответствии со стандартом IEC 60909

Стандарт IEC 60909[10] определяет правила для расчёта некоторых характерных значений короткого замыкания, таких как начальный ток короткого замыкания, ударный ток короткого замыкания или длительный ток короткого замыкания. В pandapower реализован расчёт начальных токов короткого замыкания для симметричных трехфазных коротких замыканий, а также двухфазных коротких замыканий. Необходимые поправочные коэффициенты реализуются в pandapower в соответствии со стандартом и автоматически применяются при преобразовании в модель узлов и ветвей. Дополнительные входные параметры, необходимые для расчёта внутренних сопротивлений внешних сетей или синхронных генераторов, определяются в таблицах элементов вместе с параметрами по умолчанию.

Описание интерфейса функций

Функция для расчёта тока короткого замыкания:

pandapower.shortcircuit.calc_sc(net, fault='3ph', case='max', lv_tol_percent=10, topology='auto', ip=False, ith=False, tk_s=1.0, kappa_method='C', r_fault_ohm=0.0, x_fault_ohm=0.0, branch_results=False)
  1. Входные аргументы
    • net (pandapowerNet) pandapower Network
    • fault (string, 3ph) — вид короткого замыкания.
      1. «3ph» — трёхфазное короткое замыкание.
      2. «2ph» — двухфазное короткое замыкание.
      3. «1ph» — однофазное короткое замыкание.
    • case (string, «max»)
      1. «max» — расчёт максимального тока.
      2. «min» — расчёт минимального тока.
    • lv_tol_percent (int, 10) — допуск по напряжению в низковольтных сетях.
      1. 6 для 6 % допуска
      2. 10 для 10 % допуска
    • ip (bool, False) — Если значение True, то выполняется расчёт апериодической составляющей тока короткого замыкания.
    • Ith (bool, False) — Если True, то выполняется расчёт теплового тока короткого замыкания.
    • topology (string, «auto») define option for meshing (only relevant for ip and ith)
      1. «meshed» — Расчёт выполняет для сложнозамкнутой сети.
      2. «radial» — Расчёт выполняет для радиальной сети.
      3. «auto» — Для каждого узла выполняется топологический анализ для оценки путей протекания тока короткого замыкания.
    • tk_s (float, 1) failure clearing time in seconds (only relevant for ith)
    • r_fault_ohm (float, 0) — Активное сопротивление в точке корокткого замыкания, [Ом].
    • x_fault_ohm (float, 0) — Реактивное сопротивление в точке корокткого замыкания, [Ом].
    • consider_sgens (bool, True) — Следует ли учитывать подпитку тока короткого замыкания от статических генераторов.
  2. Результирующие таблицы.
    • res_bus_sc — Таблица с результатми расчёта по узлам.
      1. ikss_ka — Расчётный ток короткого замыкания, [кА].
      2. ip_ka — Расчётное значение апериодической составляющей, [кА].
      3. ith_ka — Расчётное значение теплового тока короткого замыкания, [кА].
    • res_line_sc — Таблица с результатми расчёта по линиям электрпередачи. Показывает максимальный ток по линиям.
    • res_trafo_sc — Таблица с результатми расчёта по трансформаторам. Показывает максимальный ток.

Топологический анализ сети

pandapower предоставляет возможность исследования графа с использованием библиотеки Python NetworkX[11], предоставляя возможность переводить сети pandapower в графики NetworkX. Когда сеть транслируется в абстрактный граф, все анализы графов, реализованные в библиотеке NetworkX, могут использоваться для анализа структуры сети. Затем можно, например, найти подключенные компоненты или циклы в графе и перенести результаты в pandapower. Длина линии может быть преобразована как вес ребра на графе, так что можно найти кратчайший путь между двумя шинами или измерить расстояния между шинами в сети. Перевод сети в граф также можно настроить в зависимости от варианта использования. Например, строки с отключенными выключателями по умолчанию не передаются в графы, так как между этими узлами нет электрического соединения. Кроме того, pandapower также предоставляет некоторые предопределенные алгоритмы для решения общих проблем исследования графа в электрических сетях, таких как поиск всех неиспользуемых шин или поиск гальванически подключенных шин.

Алгоритмы топологического анализа, включённые в pandapower:

  1. calc_distance_to_bus — Алгоритм расчёта кратчайшего расстояние между шиной источника и всеми подключенными к ней шинами.
  2. connected_component — Находит все шины в графике NetworkX, которые подключены к определенной шине.
  3. connected_components — Находит все связанные острова в электрической сети.
  4. unsupplied_buses — Находит все шины не подключенные к базисному узлу (внешней сети).
Описание интерфейса функций
pandapower.topology.calc_distance_to_bus(net, bus, respect_switches=True, nogobuses=None, notravbuses=None)
  1. Входные аргументы:
    • net (pandapowerNet) — Анализируемая электрчиеская сеть.
    • bus (integer) — Индекс в таблице bus стартовой шины.
    • respect_switches (boolean, True) — Опционально. Если значение True, то Рассматриваются только влюченные ветви.
  2. Выходные аргументы
    • dist — Возвращает pandas series которая содержит все расстояния от стартовой шины до всех подключенных шин.
pandapower.topology.connected_component(mg, bus, notravbuses=[])
  1. Входные аргументы
    • mg (NetworkX graph) — NetworkX граф или MultiGraph, который представляет электрическую сеть.
    • notravbuses (set) — Опционально. Индексы линий, которые не учитыаются при анализе.
  2. Выходные аргументы
    • cc (generator) — Возвращает генератор, который содержит все группы узлов соединённых между собой.
pandapower.topology.connected_components(mg, notravbuses=set([]))
pandapower.topology.unsupplied_buses(net, mg=None, in_service_only=False, slacks=None, respect_switches=True)
  1. Входные аргументы
    • net (pandapowerNet) — Электрчиеская сеть.
    • mg (NetworkX graph) — Опционально. Граф NetworkX представляющий электрическую сеть.
    • in_service_only (boolean, False) — Опционально. Учитываются только включенные узлы.
    • slacks (set, None) — Опционально. Список узлов, которые считаются базисными узлами. Если нет, то учитываются только узлы отмеченные как внешняя сеть ext_grid.
    • respect_switches (boolean, True) — Опционально. Как рассматривать выключатели, только в случае отсутствия графа NetworkX в переменной mg.
  2. Выходные аргументы
    • ub (set) — Возвращает pandas series которая содержит все неподключенные шины к базисному узлу.

Список использованных источников

  1. A. Scheidler, L. Thurner, and M. Braun, "Heuristic optimisation for automated distribution system planning in network integration studies, " IET Renewable Power Generation, vol. 12, no. 5, pp. 530—538, April 2018.
  2. J.-H. Menke, J. Hegemann, S. Gehler, and M. Braun, "Heuristic monitoring method for sparsely measured distribution grids, " International Journal of Electrical Power & Energy Systems, vol. 95
  3. H. Wang, M. Kraiczy, S. Wende-von Berg et al., "Reactive power coordination on strategies with distributed generators in distribution networks, " in . 1st International Conference on Large-Scale Grid Integration of Renewable Energy in India, September 2017
  4. W. McKinney, "pandas: a foundational python library for data analysis and statistics, " Python for High Performance and Scientific Computing, 2011.
  5. Оффициальный сайт pandapower.
  6. "IEEE recommended practice for industrial and commercial power systems analysis (brown book), " IEEE Std 399—1997, Aug 1998.
  7. S. K. Lam, A. Pitrou, and S. Seibert, "Numba: a LLVM-based Python JIT compiler, " 2015.
  8. J.-H. Teng, "A direct approach for distribution system load flow solutions, " IEEE Transactions on Power Delivery, vol. 18, no. 3, pp. 882—887, July 2003.
  9. 9,0 9,1 A. Abur and A. Exposito, ´ Power System State Estimation: Theory and Implementation, ser. Power Engineering (Willis). CRC Press, 2004.
  10. "IEC 60909-0:2016: Short-circuit currents in three-phase a.c. systems — part 0: Calculation of currents, " International Standard, 2016.
  11. A. A. Hagberg, D. A. Schult, and P. J. Swart, «Exploring network structure, dynamics, and function using NetworkX,» in Proceedings of the 7th Python in Science Conference (SciPy2008), Pasadena, CA USA, Aug. 2008, pp. 11-15.