Você está na página 1de 9

0534

GAT/{CODIGO}

GRUPO DE ESTUDO DE ANÁLISE E TÉCNICAS DE SISTEMAS DE POTÊNCIA - GAT

AUTOMATIZAÇÃO DE PROCESSOS E AMPLIAÇÃO DAS FUNCIONALIDADES DOS PROGRAMAS DE


ESTUDOS ELÉTRICOS DO CEPEL UTILIZANDO PYTHON

THOMAS MOREIRA CAMPELLO (1); BRUNO CANESSO GONÇALVES (2); LOAN TULLIO DE FRANK
WILLIANS DA SILVA (3); DJALMA MOSQUEIRA FALCÃO (2); GLAUCO NERY TARANTO (2); SERGIO LUIS
VARRICCHIO (1)
CENTRO DE PESQUISAS DE ENERGIA ELETRICA – CEPEL (1); UNIVERSIDADE FEDERAL DO RIO DE
JANEIRO (2); OPERADOR NACIONAL DO SISTEMA ELÉTRICO (3)

RESUMO

Este trabalho explora a utilização de scripts em Python com o intuito de automatizar etapas de preparação de dados
e simulações nos programas de estudos elétricos desenvolvidos pelo CEPEL, como o ANAREDE, ANATEM e
HarmZs. Essa abordagem visa aumentar a produtividade dos analistas, melhorar a qualidade dos estudos ao ampliar
o número de casos analisados e permitir a utilização dos programas do CEPEL como motor de cálculo para sua
aplicação em novos tipos de estudos e análises. O informe técnico apresenta como o Python pode ser usado
associado aos programas do CEPEL, além de mostrar exemplos práticos dessa utilização.

PALAVRAS-CHAVE: Automatização de estudos elétricos; Python; ANAREDE; ANATEM; HarmZs

1.0 INTRODUÇÃO

Os programas desenvolvidos pelo CEPEL, como o ANAREDE, ANAFAS, ANATEM e HarmZs, são amplamente
utilizados pelo setor elétrico brasileiro há bastante tempo, o que proporciona familiaridade e confiança em seus
resultados. Além disso, as bases de dados para todos os cenários de estudos elétricos do Sistema Interligado
Nacional (SIN) são disponibilizados nos formatos exigidos por eles.

Esses programas possuem uma série de ferramentas para realizar estudos de melhoria da confiabilidade e qualidade
de sistemas elétricos. Eles estão em completa consonância com os procedimentos de rede do ONS, para serem
utilizados em avaliações de empreendimentos de transmissão ou geração para que atendam requisitos técnicos
básicos ou para fornecer subsídios ao processo de solicitação de acesso à rede básica do SIN de agentes do setor
elétrico junto ao ONS.

Entretanto, esses tipos de estudos requerem uma série de processos que muitas vezes são repetitivos ou, ainda,
demandam a avaliação de diversos cenários que resultam no consumo de muito tempo do analista para preparar e
simular todos eles. Alguns dos programas do CEPEL possuem ferramentas e interfaces gráficas que tornam a
execução de determinados estudos completamente automatizada. Contudo, ainda existem etapas de preparação de
dados que normalmente são feitas manualmente, além de análises que poderiam empregar processos automatizados
para facilitar a visualização dos resultados, principalmente quando se tem um volume elevado de informações a ser
tratado nas etapas de pós-processamento dos estudos.

A criação de scripts que viabilizam a automatização das etapas de preparação de arquivos de entrada dos programas
e, até mesmo, de realização de um grande número de simulações é uma alternativa aos processos manuais que são
mais laboriosos. Tais scripts podem ser implementados em diferentes linguagens de programação como, por
exemplo, C/C++, MATLAB, Julia, Python, entre outras. Atualmente, por ser uma alternativa gratuita, possuir uma
ampla base de bibliotecas de código aberto e uma natureza pré-compilada, o Python apresenta-se como a opção
mais viável, facilitando o desenvolvimento de programas protótipos bem como comerciais.

Dentre os programas do CEPEL, apenas o ANATEM e o ANAT0 possuem interfaces DOS disponíveis aos usuários.
A falta de acesso a essa interface dificulta a comunicação entre o programa e outras ferramentas computacionais.

thomascampello_ext@cepel.br
2

Entretanto, todos eles permitem a execução em modo batch que, em conjunto com o Python, pode viabilizar a
realização dos estudos elétricos através de códigos externos com agilidade.

A automatização também permite utilizar os programas do CEPEL como máquinas de cálculo para outras aplicações,
ampliando suas funcionalidades. Um exemplo, que será mostrado ao longo deste trabalho, é a utilização do
ANAREDE e do ANATEM para estudos probabilísticos de Fluxo de Potência (FP) e de estabilidade eletromecânica
que, originalmente, não são abordagens disponíveis nestes programas.

Portanto, o objetivo deste Informe Técnico (IT) é demonstrar, através de diversos exemplos práticos, as
possibilidades que a utilização do Python em conjunto com os programas de estudos elétricos do CEPEL,
principalmente o ANAREDE, ANATEM e HarmZs, trazem para: 1) o aumento de produtividade do analista ao
possibilitar a automatização de algumas etapas de preparação de dados; 2) a melhoria na qualidade dos estudos ao
viabilizar o aumento do número de casos que serão analisados sem onerar o tempo demandado para execução; 3)
a ampliação dos tipos de estudos e de análises que são possíveis de se realizar ao permitir a utilização dos programas
do CEPEL como máquinas de cálculo para outras aplicações que não foram originalmente programadas. Por fim,
este trabalho também disponibilizará, de forma gratuita, os códigos em Python necessários para a realização das
tarefas citadas.

2.0 METODOLOGIA PROPOSTA PARA AUTOTIZAMAÇÃO

Entre os programas do CEPEL para estudos elétricos, apenas o ANATEM e o ANAT0 fornecem aos usuários acesso
ao seu executável DOS, possibilitando o desenvolvimento de programas externos que executem suas
funcionalidades. Para os demais programas, é necessário interagir com suas interfaces gráficas específicas, o que
dificulta este tipo de desenvolvimento.

Entretanto, tanto o ANAREDE quanto o ANAFAS e o HarmZs possuem modos de operação em batch, que permite
que o usuário forneça um único arquivo com uma série de instruções que serão executadas sem a necessidade de
interações diretas com o programa.

A forma mais usual de acessar o modo batch destes programas é por meio de suas próprias interfaces gráficas,
como mostrado na Figura 1(a) para o ANAREDE e na Figura 1(b) para o HarmZs. O usuário já pode ter carregado
um caso que possui o interesse de estudar e, então, carregar um segundo arquivo com instruções para modificar
esse caso (esses arquivos são comumente chamados de deck no contexto do ANAREDE). Também é possível
executar todas as operações por meio do modo batch utilizando arquivos de comando. No ANAREDE, por exemplo,
é possível abrir casos em [.PWF] ou [.SAV], fazer modificações e executar o FP, permitindo ao usuário habilitar, ou
não, todos os modos de controle que estão disponíveis na interface gráfica.

(a) (b)
Figura 1 – Botões e menus para acessar o modo batch das interfaces gráficas do (a) ANAREDE e do (b) HarmZs

Uma dificuldade para a utilização do modo batch dos programas, para realização das tarefas, reside na necessidade
de conhecimento da sintaxe de cada programa, uma vez que não é única para todos. Na Seção 3.0 serão indicados
alguns códigos de cada um dos programas para que seja facilitada a utilização do modo batch pelo leitor.

Deve-se destacar que o modo batch não é acessado apenas da forma mostrada na Figura 1, por mais que seja a
mais usual. Os arquivos de extensão [.PWF], no ANAREDE, e [.MBT], no HarmZs, podem ser configurados para
serem executados automaticamente pelo computador, sempre que forem abertos com seus programas associados.
3

Essa configuração permite que, ao dar um duplo clique em um desses arquivos, a interface gráfica seja aberta e
todos os códigos contidos no arquivo sejam executados de forma automática.

É com base nestas premissas que as automatizações mostradas neste IT se baseiam. Em suma, um código em
Python é implementado para criar arquivos de instruções ou para modificar o caso base, criando outros arquivos de
entrada com novos casos/cenários. A etapa seguinte consiste em executar, via Python, esses arquivos. O programa
é, então, carregado para executar as tarefas e gerar os arquivos de saída com os resultados das simulações. Por
fim, o script implementado encerra o programa que foi anteriormente aberto. Esse processo é repetido diversas vezes
até que todas as simulações tenham sido realizadas. A Figura 2 ilustra o fluxograma do script.

Não

Criação de novos
Execução do arquivo
Dado de entrada: arquivos de
Início

(ANAREDE, Terminou todos


[.PWF] ou [.MBT] do instruções e/ou n=0 n=n+1 Seleciona arquivo n
HarmZs, ANATEM os cenários?
caso original arquivos de casos
ou ANT0)
no Python

Sim

Análise dos
Novos casos modificados resultados obtidos
Arquivos de Novos arquivo [.PWF], Resultados obtidos em
convergidos em [.SAV]
Saída [.HZS] ou [.MBT] [.CSV] ou [.TXT]
no caso do ANAREDE
Fim

Figura 2 – Fluxograma para criação de cenários e de instruções para simulações no ANAREDE ou HarmZs

Deve-se destacar que, para cada simulação realizada de forma automatizada, o computador efetua a abertura da
interface gráfica do programa (ANAREDE ou HarmZs), a fim de poder executar as instruções e/ou casos. Ao final de
cada execução, o programa é finalizado. De maneira evidente, há uma significativa redução da eficiência
computacional neste processo. Contudo, mesmo com esta redução da eficiência, os ganhos de produtividade
mostram-se significativos. Além disso, é importante observar que, para o ANATEM, não é necessário realizar esse
procedimento, uma vez que os usuários têm acesso direto ao seu executável DOS, permitindo a execução direta das
instruções por meio de programas externos sem a necessidade de abrir sua interface gráfica.

3.0 PRINCIPAIS CÓDIGOS DE CADA PROGRAMA UTILIZADOS PARA AUTOMATIZAÇÃO

Os programas do CEPEL possuem arquivos para execução em modo batch que utilizam uma sintaxe própria. Essa
sintaxe possui comandos que servem tanto para carregar casos para a memória do computador quanto para
modificá-los ou executar métodos numéricos, como o FP no ANAREDE ou o Método do Lugar Geométrico (MLG)
para cálculo das máximas distorções harmônicas de tensão no HarmZs. Por fim, ainda existem comandos para salvar
os casos modificados e os resultados dos métodos que foram executados para análises posteriores por parte do
usuário. A seguir, a sintaxe utilizada em cada um dos programas será abordada detalhadamente.

3.1 ANAREDE

O ANAREDE possui dois tipos de arquivos de entrada. O primeiro é o arquivo [.PWF], que permite a inclusão de
comandos para o modo batch e que contém apenas as informações topológicas da rede. O segundo é o arquivo
histórico [.SAV], que guarda, além das informações topológicas da rede, as informações precisas de módulo e ângulo
das variáveis de tensão das barras e de fluxos nas Linhas de Transmissão (LT) em formato binário. Não é possível
carregar este arquivo em outro programa além do ANAREDE, diferente do [.PWF], que pode ser aberto em qualquer
editor de texto.

Para leitura de arquivos de dados de redes e para a escrita de relatórios de saída, utiliza-se o código ULOG. Quando
o ULOG é acompanhado do número 1, é feita a leitura de arquivos [.PWF]. Também pode ser utilizado o número 2
para criação ou abertura de arquivos [.SAV] e o 4, em conjunto com o código FILE, para criação de novos arquivos
de relatório. Um exemplo desses códigos é mostrado na Figura 3, onde um arquivo [.SAV] é criado usando o ULOG-
2. O código ARQV INIC indica que esse arquivo histórico será criado do zero, mesmo que já exista. Em seguida, o
ULOG-1 é usado para abrir um caso base do SIN, o ULOG-4 para criar um arquivo de relatório e mais dois ULOG-1
seguidos para abrir um arquivo com os códigos de tabeladores e o deck, arquivo que altera o caso base inicial.

O código EXLF é usado para executar o FP, seguido pelos códigos correspondentes aos métodos de cálculo e modos
de controle que serão considerados pelo programa, como TABE, que indica o uso dos tabeladores, e FILE, que
direciona os relatórios para o arquivo aberto com o ULOG-4.
4

O código ARQV salva o caso simulado no arquivo histórico ([.SAV]). Esse arquivo possui 20 posições de memória
para armazenar os casos salvos. A posição em que o caso será salvo é indicada na linha abaixo do código ARQV.

Para modificar dados de componentes elétricos em um caso carregado previamente na memória do computador,
existem duas formas: usando o Python para alterar diretamente um arquivo base [.PWF], ou criando um ou vários
casos decks que podem ser chamados pelo Python, dependendo da simulação desejada.

Na Figura 4, é mostrado um exemplo de deck para alteração do despacho potência ativa de barras de geração no
SIN. O código M, na sexta coluna, indica que o dado será utilizado para modificação do que já está carregado em
memória. Se fosse E, por exemplo, indicaria a eliminação das barras. Essas manipulações podem ser feitas para os
dados de qualquer componente, como barras, LTs, transformadores e até para a ordem de potência de um elo HVDC.

Figura 3 – Exemplo de utilização de ULOG para leitura Figura 4 – Exemplo de deck para ajuste do despacho
e criação de novos arquivos com casos convergidos de geração de potência ativa

Para obter resultados do ANAREDE em relatórios de texto para análise posterior, uma alternativa mais simples é a
utilização de tabeladores. Os códigos DBTB e DFTB medem, respectivamente, o módulo da tensão de uma barra e
o fluxo de potência ativa e reativa em um circuito. Adicionalmente, as potências ativa e reativa injetadas no sistema
por uma barra de geração são medidas, respectivamente, pelos códigos DPGE e DQGE. Na Figura 5, há um exemplo
da utilização de cada um dos tabeladores, onde os números apresentados são barras do sistema. No caso do DFTB,
é necessário fornecer o número do circuito e um sinal, sendo o valor padrão do programa igual a "=". Porém, também
pode ser usado "+" ou "-" para somar ou subtrair o valor medido ao do fluxo do circuito que está na linha seguinte.

A Figura 6 mostra um exemplo de relatório de saída do DBTB. Os demais códigos de tabeladores apresentam
relatórios similares.

Figura 5 – Exemplo de utilização dos tabeladores Figura 6 – Exemplo de relatório de saída do


DBTB, DFTB, DPGE e DQGE ANAREDE quando se utiliza os tabeladores

Normalmente, um código em Python é utilizado para sintetizar todos os resultados obtidos, principalmente quando
são executados muitos casos automaticamente. Para facilitar o pós-processamento desses relatórios de resultados,
é recomendado desativar os relatórios de convergência e monitoramento de violações de tensão, como mostrado na
Figura 5, usando o código DOPC seguido dos códigos RCVG e RMON com a letra D para desligá-los. Caso seja
necessário ativá-los, deve-se substituir o D por L.
5

3.2 HarmZs

O HarmZs possui dois tipos de arquivos de entrada: [.HZS], que contém os dados elétricos do sistema estudado, e
[.MBT], usado para executar o modo batch do programa [1]. Ao contrário do ANAREDE, ambos podem ser abertos
em qualquer editor de texto e não possuem formatação por coluna fixa, permitindo que o usuário forneça os dados
com a precisão desejada, sem a preocupação de estar limitado por um número previamente definido de caracteres.
Contudo, é necessário que a ordem dos dados fornecidos seja respeitada.

No modo batch do HarmZs, o comando "ABRIR" carrega um arquivo [.HZS] na memória do computador. Após o
carregamento, é possível editar os dados da rede, adicionando, removendo ou modificando os que já estão presentes
na memória, de forma semelhante ao ANAREDE.

Para realização de traçados gráficos, existem os comandos PLOT_RESP, PLOT_DIST e PLOT_CORR que são
utilizados para respostas em frequência (RFs), distorções de tensão nas barras e correntes de penetração nos
diversos componentes da rede elétrica, respectivamente. As curvas geradas por esses códigos podem ser
exportados para arquivos formatados para leitura no Excel ou MATLAB, utilizando os comandos "EXCEL" ou
"MATLAB" seguidos do endereço no qual o arquivo deverá ser criado. Para as distorções de tensão, existe a
possibilidade de serem exportadas usando o código EX_DIST. Na Figura 7 e Figura 8 são mostrados exemplos da
utilização dos códigos PLOT_RESP e EX_DIST.

Existem outros códigos muito utilizados no HarmZs, como o "PLANORX", que calcula as admitâncias do SIN vistas
do Ponto de Acoplamento Comum (PAC) com um novo empreendimento. Estas admitâncias compõem uma etapa
do MLG [2, 3], amplamente utilizado nos estudos de impacto harmônico desses novos empreendimentos (p. ex.
complexos eólicos e solares). No entanto, o HarmZs já automatiza esses estudos, eliminando a necessidade de sua
utilização em conjunto com um programa externo.

Figura 7 – Exemplo de cálculo de RF Figura 8 – Exemplo de cálculo de distorção harmônica

3.3 ANATEM

Como foi dito, o ANATEM possui apenas um tipo de arquivo de simulação, com extensão [.STB], que pode ser editado
em qualquer editor de texto. Ainda, fornece ao usuário acesso direto ao executável em DOS, permitindo que sejam
feitas simulações sem a necessidade da abertura da interface gráfica do programa. Dessa forma, o usuário pode
utilizar o script em Python para criar os arquivos [.STB] e, em seguida executa-lo via Python, como é mostrado na
Figura 9.

Figura 9 – Código base em Python para executar arquivos


[.STB] no ANATEM.

Figura 10 – Exemplo de código para rodar


ANAT0 via interface gráfica do ANAREDE.
6

3.4 ANAT0

O ANAT0 também oferece ao usuário o acesso ao seu executável em DOS, podendo ser acessado de forma direta.
Entretanto, também é possível chamar o ANAT0 a partir da interface gráfica do ANAREDE. Essa interface facilita a
utilização do programa pelo Python, além de permitir que, numa mesma execução do ANAREDE, seja feita a
execução do fluxo de potência e a utilização do ANAT0 para gerar o arquivo de entrada para o ANATEM.

A utilização direta do ANAT0 via executável DOS é feita de forma semelhante ao ANATEM. A sua interface com o
ANAREDE é chamada via código de execução EXT0, que é seguido de códigos auxiliares e dos caminhos para todos
os arquivos necessários para que ele seja utilizado. Na Figura 10 é mostrado um exemplo de um arquivo [.PWF] com
os códigos necessários para que o ANAT0 que foi criado para que seja utilizado como base para que o Python o
altere e crie diversos outros arquivos semelhantes, que apontem para diversos cenários.

3.5 Utilização do Python em conjunto com os programas do CEPEL

O Python desempenha duas funções nesta metodologia de automatização: manipulação de arquivos para
modificação e criação dos arquivos [.PWF], [.MBT], [.STB] e outros; e a execução dos arquivos manipulados.

Para a primeira função, é necessário conhecimento em programação, da sintaxe de Python e da formatação de cada
arquivo que vai ser alterado. Nos exemplos da Seção 4.0, o usuário só precisa aprender a criar cópias do arquivo do
caso base, encontrar o campo a ser alterado nas cópias e criar e escrever novos [.PWF] com todos os comandos de
desejados. Apenas na Subseção 4.3, conhecimentos estatísticos são necessários para pré-processar os dados de
entrada e, após os cálculos, modificar e criar os arquivos que serão executados.

Para a segunda função, é recomendado utilizar a biblioteca OS do Python, que permite executar e fechar programas,
além de ler, escrever e manipular arquivos, tudo de forma rápida e fácil. Ao executar um arquivo, o computador emula
um duplo clique. Por isso, a configuração adequada, previamente realizada, é necessária para que o computador
execute o programa correto para a execução do arquivo.

A Figura 11 mostra um exemplo de código para executar e finalizar o ANAREDE. No início o código identifica a pasta
de trabalho atual e abre o arquivo do caso base. A seguir é feita a manipulação deste arquivo para gerar arquivos
[.PWF] (etapa não detalhada na figura). Por fim, roda-se o ANAREDE, em série, para cada [.PWF] criado. Ao final de
cada execução, o programa é finalizado. Para identificar o final da execução, o Python busca pelo arquivo FIM.TXT,
que é configurado no [.PWF] para cria-lo quando terminar todos os comandos desejados pelo usuário.

Figura 11 – Código base em Python para executar arquivos [.PWF] no ANAREDE.


4.0 EXEMPLOS DE APLICAÇÕES

A seguir, são apresentados exemplos da aplicação da automatização proposta neste IT. Não é o objetivo deste IT
fazer uma explanação profunda dos conceitos básicos das aplicações, apenas mostrar o que é possível fazer com a
metodologia proposta.

A primeira aplicação, a mais simples, tem como objetivo a modificação automática de um conjunto de casos. O código
em Python correspondente pode ser encontrado em [4]. As três aplicações subsequentes foram desenvolvidas no
contexto do Projeto de P&D da ANEEL, com apoio da State Grid Brazil Holding, e executadas pela COPPE/UFRJ.
7

4.1 Modificações do SIN em um conjunto de casos base

Dentre os programas de estudos elétricos do CEPEL, o ANAREDE é utilizado direta ou indiretamente por todos os
demais programas. Ao realizar estudos no HarmZs, por exemplo, é comum utilizar um conjunto de casos do PAR,
que abrange diferentes cenários do SIN para diversos anos e patamares de carga. O HarmZs já faz de forma
automática as simulações considerando esse extenso conjunto de casos. Porém, se o estudo necessita que haja
uma modificação desses casos do PAR, essa modificação deve ser feita no ANAREDE, que é feita de forma manual.

Com a metodologia demonstrada neste IT, a partir de um deck criado manualmente para modificar os casos do
ANAREDE e, através de um código em Python, é possível montar de forma automática o PWF com as instruções de
abertura de todos os casos, execução do arquivo deck, execução do FP e gravação do novo caso convergido em
outro arquivo histórico. Com isso, um processo que poderia levar algumas horas ou dias de trabalho repetitivo é
substituído por uma atividade que leva alguns minutos para ser realizado.

Para exemplificar, foi selecionado um conjunto de 33 casos que contempla os anos de 2024 a 2028 e todos os
patamares de carga disponíveis. Simulando um estudo de parecer de acesso, foi montado um deck manualmente
para incluir uma modificação na rede básica que precisa ser considerada e foi feito um código em Python para realizar
essa tarefa de forma automática. Este código é executado em aproximadamente 50 segundos em um notebook com
processador Intel Core I7-10750H 2.6GHz e 16 Gb de memória RAM. O código desenvolvido para esse exemplo
está disponível em [4].

4.2 Verificação da presença de Fluxo Circulante no SIN dependendo da localização de uma subestação conversora
de um elo HVDC

O fenômeno do Fluxo Circulante (FC) ocorre quando LTs de corrente alternada (CA) e Elos HVDC são construídas
em paralelo em um sistema elétrico e pode causar ineficiências operativas e aumento das perdas elétricas. Este
fenômeno é mais bem detalhado em [5, 6, 7].

O Elo de Graça Aranha-Silvânia, que conecta o Nordeste ao Centro-Oeste, está sendo construído no SIN e pode
causar o FC, dependendo do cenário de operação. Portanto, foi estudado se a localização da subestação retificadora
(Graça Aranha) influencia a presença do FC.

Para isso, foi alterada a barra de conexão do terminal retificador do Elo HVDC e realizado simulações em três
cenários diferentes, todos referentes ao Plano Decenal de Expansão (PDE) de 2029: Norte Seco com carga leve,
Norte Seco com alteração do despacho para ter a máxima geração eólica esperada, e Norte Úmido com carga média.
Também foi variada a ordem de potência do elo em três valores diferentes:800 MW, 2500 MW e 4000 MW.

Foi testada a mudança do terminal retificador para todas as 96 barras de 500 kV do Nordeste. No total, foram
analisados 864 cenários, automatizando as simulações iniciais para filtrar os casos de maior interesse, que deveriam
ser analisados com mais atenção.

O arquivo [.PWF] dos casos base foram utilizados como entrada no código em Python. O código modifica esses
arquivos, alterando a barra de conexão da retificadora, gerando assim os 96 casos modificados. Em seguida, para
cada caso, o código monta um arquivo [.PWF] que será executado pelo ANAREDE. Esse arquivo contém os
comandos para carregar o caso modificado, executar o FP e gravar o caso em um arquivo histórico. Esse processo
é repetido, alterando a ordem de potência do elo, simulando e gravando os casos no arquivo histórico. O diagrama
de processos é similar à Figura 2. Estas simulações levaram, aproximadamente, 40 minutos para serem executadas.

Também foi feito um código em Python para compilar os resultados obtidos. Foi concluído que o FC deixa de ser
gerado quando o terminal retificador está em uma das 9 apresentadas na Tabela 1. Ressalta-se, no entanto, que
este estudo focou apenas na ocorrência do FC, sem considerar aspecto estocástico da geração eólica, o critério de
confiabilidade N-1, aspectos dinâmicos, etc. Porém é interessante salientar que, se o estudo fosse realizado de forma
manual, provavelmente seriam escolhidas um número restrito de barras para serem testadas e dificilmente essa
conclusão não seria obtida.
8

Python Leitura do sistema original

Geração de dados
Tabela 1 – Barras candidatas para retificador de Elo randomizados para análise
probabilística
Arquivos de Saída
HVDC que não geram FC.
Geração de novos cenários • Arquivos PWF
Número da
Nome da Barra Estado
barra Execução do estudo de • Arquivos SAV
500 PAF4---BA500 Bahia
ANAREDE Fluxo de Potência • Arquivos de Relatório

504 XINGO--SE500 Sergipe Cálculo do número de


505 L.GONZ-PE500 Pernambuco ANAT0 máquinas de cada usina do
SIN
• Arquivos DMAQ

544 CGRD3--PB500 Paraíba


Execução do estudo • Arquivos STB
584 CAMAC4-BA500 Bahia ANATEM dinâmico • Arquivos PLT
588 IBICOA-BA500 Bahia
589 SAPEAC-BA500 Bahia Análise probabilística

11594 IGAPO3-BA500 Bahia


11612 POCOE3-BA500 Bahia Figura 12 – Diagrama do uso do ANAREDE, ANAT0 e
ANATEM em conjunto do Python para estudo
probabilístico.

4.3 Estudo probabilístico para análise do impacto da inserção de geração intermitente no SIN

Ao contrário da geração convencional (hídrica ou térmica), a geração eólica e solar são influenciadas pelas condições
climáticas, apresentando variações rápidas e significativa. Estudos determinísticos analisam cenários prováveis, mas
não quantificam o risco, nem consideram uma ampla gama de situações. Já os estudos probabilísticos atribuem
probabilidades aos eventos, fornecendo resultados estatísticos e permitindo uma avaliação realista e abrangente do
sistema elétrico. Essa abordagem exige uma quantidade maior dados de entrada e análises computacionais
complexas, mas oferece resultados amplos e completos para eventuais tomadas de decisão. O método mais utilizado
é a Simulação de Monte Carlo [8], que gera amostras aleatórias dos parâmetros de entrada para produzir as variáveis
de saída correspondentes.

Neste estudo, é incorporado dois softwares do CEPEL, o ANAREDE e o ANATEM, inicialmente projetados para
estudos determinísticos. Também é usado o ANAT0 para calcular as quantidades de máquinas em operação para
cada unidade geradora do sistema, usado como dado de entrada para o ANATEM. O diagrama geral do código em
Python é apresentado na Figura 12.

O objetivo foi avaliar o comportamento do SIN mediante o aumento da geração eólica no Nordeste, considerando
dados medidos dos ventos e da carga disponibilizados pelo ONS e pela EPE. Na Figura 13 é mostrado o
comportamento do fluxo de potência ativa na interligação Norte-Nordeste como exemplo de resultado. Neste estudo
foram simulados 3000 casos, levando aproximadamente 2 horas no ANAREDE e 5 horas no ANATEM.

Os resultados mostram que, para os casos simulados, pode haver uma variação de até 15% no fluxo nas
interconexões, considerando o comportamento dos ventos e da carga no Nordeste nesta análise. O fluxo de potência
ativa do cenário base nas interconexões é representado pela linha vertical pontilhada da figura.

Python Tratamento dos dados


da rede para sequência
positiva e zero
Arquivos de Saída
Arquivos texto com
Cálculo das Respostas
HarmZs em Frequência
dados das curvas
calculadas

Conversão das Respostas em


Arquivo de entrada para
Frequência de sequência para
o PSCAD
dados de fases (abc)

Figura 14 – Diagrama do uso do HarmZs em conjunto do


Figura 13 – Potência ativa na interconexão Python para construção de FDNEs no PSCAD.
Norte-Nordeste.

4.4 Construção de equivalentes de redes dependentes da frequência para o PSCAD

Em [9], foi apresentada uma metodologia eficiente para sintetizar Equivalentes de Rede Dependentes da Frequência
(FDNEs) para o programa PSCAD usando o HarmZs. Esses FDNEs são criados a partir das RFs das barras de
fronteira da área que será substituída pelo equivalente. Essa síntese e o cálculo das RFs são etapas trabalhosas dos
9

estudos de transitórios eletromagnéticos em sistemas elétricos de grande porte. Este trabalho apresentou, como
principal contribuição, os procedimentos para realizar a conversão das RFs da rede de sequência positiva e zero,
computadas através do HarmZs de forma automática, para o formato padrão do arquivo de entrada que é usado no
PSCAD.

O diagrama com a estrutura do código em Python usado nesse trabalho é mostrado na Figura 14. O processo pode
ser dividido em três etapas: o tratamento dos dados da rede de sequência zero, adaptando-os ao formato do arquivo
de entrada do HarmZs; o cálculo das RFs, duas vezes, para sequência positiva e sequência zero; e o tratamento das
RFs, convertendo as impedâncias obtidas em sequência para coordenadas de fase abc. Note que o arquivo [.MBT]
que é criado pelo Python para ser executado no HarmZs é similar ao mostrado na Figura 7.

5.0 CONCLUSÕES

Neste IT foi demonstrada a viabilidade da automatização dos programas ANAREDE, HarmZs, ANATEM e ANAT0,
que são amplamente utilizados em estudos elétricos. Para a automação proposta, foram desenvolvidos códigos em
Python para, de forma automática, criar casos/cenários e executá-los com os programas do CEPEL.

Foram destacadas as principais funcionalidades tanto dos programas do CEPEL quanto do Python que permitem
essa integração. Além disso, foram fornecidos exemplos que ilustram a aplicação prática dessa metodologia.

Observou-se que os programas do CEPEL possuem uma limitação, uma vez que não oferecem acesso direto ao
executável DOS. No entanto, aproveitou-se o recurso de execução em modo batch desses programas, que é
acionado automaticamente ao abrir os arquivos de entrada, combinando-o com as capacidades do Python. Isso
permitiu a realização automatizada de um grande número de simulações e, o mais importante, possibilitou utilizar os
programas do CEPEL como motores de cálculo em contextos para os quais não foram inicialmente projetados. Essa
flexibilidade abre novas perspectivas para estudos mais abrangentes e desenvolvimento de novas linhas de
pesquisa.

6.0 REFERÊNCIAS

[1] C. O. Costa, S. L. Varricchio e F. C. Veliz, “Automatização Computacional de Estudos de Comportamento Harmônico,” em XI Simpósio
de Especialistas em Planejamento da Operação e Expansão Elétrica - SEPOPE, Belém, 2009.
[2] ONS - Operador Nacional do Sistema, “Instruções para Realização de Estudos e Medições de QEE Relacionados aos Acessos à Rede
Básica ou aos Barramentos de Fronteira com a Rede Básica para Parques Eólicos, Solares, Consumidores Livres e Distribuidoras -
REV. 03,” Rio de Janeiro, RJ, 2019.
[3] F. C. Veliz, S. L. Varricchio e C. O. Costa, “Metodologia para a Representação de Redes Elétricas por Polígonos de Admitâncias para
Estudos de Impacto Harmônico,” em XXII Seminário Nacional de Produção e Transmissão de Energia Elétrica - SNPTEE, Brasília, DF
, 2013.
[4] T. M. Campello. [Online]. Available: https://github.com/thomascampello/Python-CEPEL.
[5] G. N. Taranto, C. E. Pontes, T. M. Campello, V. A. Almeida, J. Graham, P. C. Esmeraldo and M. Schicong, "Power flow control for an
embedded HVDC link to integrate renewable energy in Brazil," Electric Power Systems Research, vol. 211, p. 108504, 2022.
[6] G. N. Taranto, C. E. Pontes, T. M. Campello, V. A. Almeida, J. Graham, P. C. Esmeraldo e M. Schicong, “Controle de Potência em Elos
CCAT Inseridos no Sistema Elétrico para Integração da Energia Renovável no Brasil,” em XV SEPOPE – Simpósio de Especialistas
em Planejamento da Operação e Expansão Elétrica, Foz do Iguaçu, 2022.
[7] R. Zymler, A. M. Silva, M. A. N. Silveira, P. S. Neves, L. F. F. M. Silva, A. R. Nunes, M. F. Silva e A. M. Cunha, “lanejamento da Operação
da Interligação Norte-Sudeste com os Elos CCAT Xingu - Estreito e Xingu - Terminal Rio,” em XXV SNPTEE – Seminário Nacional de
Produção e Transmissão de Energia Elétrica, Belo Horizonte, 2019.
[8] K. Hasan, R. Preece e J. Milanović, “Existing approaches and trends in uncertainty modelling and probabilistic stability analysis of power
systems with renewable generation,” Renewable and Sustainable Energy Reviews, vol. 101, p. 168–180, 2019.
[9] L. Silva, T. M. Campello, R. Dias, S. L. Varricchio e G. Taranto, “Cálculo de Equivalentes de Rede Dependentes da Frequência para
PSCAD/EMTDC Utilizando o Programa HarmZs,” em XIX Encontro Regional Ibero-Americano do CIGRE - ERIAC, Foz do Iguaçu, 2023.

Você também pode gostar