Dez Anos de Experiência com OpenDSS: O Guia Que Eu Gostaria de Ter Tido

No final deste ano de 2024, completam-se 10 anos que utilizo o OpenDSS quase diariamente, tanto para meus próprios estudos, quanto para atender aos projetos em que estou envolvido ou para ensinar a ferramenta. Ah, não posso esquecer que também fiz muitos vídeos para o meu canal do YouTube sobre o OpenDSS.

Desde 2021, comecei a ensinar o OpenDSS de forma mais estruturada e a ter mais contato com os alunos dos cursos que ministro. Isso me fez parar e pensar em como eu deveria ensinar cada detalhe do OpenDSS de forma a potencializar o entendimento dos alunos. Um desses pontos é a ordem que acredito ser a mais eficiente e lógica para a maioria dos iniciantes seguir.

Se eu fosse aprender o OpenDSS hoje, considerando todo o material existente, eu seguiria a seguinte ordem:

Uma visão rápida sobre o OpenDSS

Você pode ter uma visão rápida sobre o OpenDSS na seguinte página. Além disso, sugiro que você acesse a documentação online.

Os objetivos de aprendizado nessa etapa são:

  1. Fazer o download e instalação da ferramenta

  2. Compreender os modelos básicos do OpenDSS, como as barras, PD elements e PC elements

  3. A sintaxe do OpenDSS

  4. Organizar o modelo em diferentes arquivos

No capítulo 2 do meu TCC, "C:\Program Files\OpenDSS\Examples\Paulo_Example\Report\TrabalhoFormatura-PauloRadatz.pdf", eu comento um pouco mais sobre Barras, Nós, Terminais, PDs e PCs.

Os dois principais modos de simulação do OpenDSS

Neste item, eu focaria em entender os dois principais modos de simulação do OpenDSS: a simulação estática e a simulação temporal, usando a versão Standalone (opendss.exe) do OpenDSS. Nesse momento, eu não me preocuparia com a questão da modelagem; usaria um alimentador teste nessa fase. Os objetivos de aprendizado nessa etapa são:

  1. Utilizar a interface gráfica da versão Standalone do OpenDSS para rodar os comandos, configurar as simulações e visualizar os resultados

  2. Compreender os resultados que as simulações fornecem

  3. Compreender as diferenças de como configurar as duas simulações, como obter resultados e as diferenças entre os resultados

Para te ajudar nessa etapa, eu tenho uma playlist no YouTube onde apresento esses dois modos de simulação e alguns conceitos mais básicos para você conseguir começar com o OpenDSS.

Outros modos de simulação no OpenDSS

Você pode ir para o próximo item caso não esteja interessado em outros modos de simulação, como por exemplo, estudos de curto-circuito que usam o modo FaultStudy ou o elemento Fault no modo Snapshot, estudo harmônico usando o modo harmonics, ou o estudo de transitórios eletromecânicos ou de controle de inversores usando o modo Dynamics.

Para estudos de curto-circuito, eu tenho uma simples playlist no YouTube que pode te ajudar a entender esse tópico no OpenDSS.

Controlando o OpenDSS por meio de uma linguagem de programação

Você acreditaria se eu te contasse que uso a versão standalone do OpenDSS raramente? Eu uso essa versão em 3 situações:

  1. Realizar os meus vídeos no YouTube

  2. Confirmar se meu código em Python+OpenDSS está retornando valores corretos

  3. Verificar se o modelo da rede está sem problemas

Uma sugestão que acredito que pode mudar sua carreira profissional é aprender Python para controlar o OpenDSS. Isso porque o Python não vai servir apenas como grande auxílio para controlar o OpenDSS, mas também para você realizar outras tarefas. Python é a General-purpose programming language que mais cresce no mundo.

Existem duas formas de você usar uma linguagem de programação para controlar o OpenDSS: uma é por meio da versão COM do OpenDSS e outra é por meio da versão DLL do OpenDSS. Atualmente, eu não utilizo mais a versão COM do OpenDSS por algumas razões que surgiram durante minha trajetória com o OpenDSS. Eu uso o Python para controlar a versão DirectDLL do OpenDSS. Eu criei um pacote em Python chamado py-dss-interface que é responsável por me fornecer acesso ao OpenDSS.

Eu tenho uma playlist sobre como usar o py-dss-interface; nessa playlist, estou usando a versão 1 da ferramenta. Para você conseguir seguir os vídeos e utilizar a versão mais recente, versão 2, sugiro que você assista a essa outra playlist.

Além disso, temos exemplos usando o py-dss-interface em um repositório do meu GitHub.

Caso você tenha que usar o MATLAB, você pode assistir à seguinte playlist.

Por fim, caso você use Python e pretenda começar a usá-lo, eu tenho o curso (Python Sem Mistérios: Instalação, Ambientes Virtuais e Gerenciamento de Projetos) onde apresento os principais conceitos para você gerenciar projetos em Python.

Modelagem dos Elementos do OpenDSS

O OpenDSS separa seus elementos em diferentes categorias: PD Elements, PC Elements, Controls, General, Meters e Others.

Eu recomendo você começar pelos principais elementos que são:

  1. Others

    1. Circuit (Vsource)

  2. PD Elements

    1. Lines

    2. Transformers

    3. Capacitors

  3. PC Elements

    1. Loads

Após entender os elementos mencionados anteriormente, eu focaria em entender os elementos Energymeter e Monitor que são da categoria Meters, em seguida os RegControl e CapControl que são elementos de Control, depois os elementos Generator, PVSystem e Storage junto com os InvControl e StorageController e, por fim, os elementos de proteção, como o Fuse, Recloser, Relay e SwtControl.

Você pode encontrar materiais sobre alguns desses elementos nessa página.

Algoritmos internos do OpenDSS

Neste item, você pode explorar os algoritmos internos do OpenDSS. Vou listar 3:

  1. LoadAllocation: Esse algoritmo realiza o ajuste de demanda alterando o nível de carga para satisfazer medições em pontos do circuito.

  2. Reliability: Esse algoritmo calcula o DEC e FEC.

  3. FeederReduction: Esse algoritmo realiza redução do alimentador considerando diferentes opções definidas pelo usuário.


Recursos de Aprendizado Adicionais

Caso você se interesse em aprender esses tópicos em detalhes, mas não queira fazer isso sozinho utilizando o conteúdo que compartilhei para algumas partes e sozinho para outras, eu tenho os cursos que ministro por meio do PECE-Poli que têm o objetivo de cobrir esses tópicos em detalhes. Nós oferecemos os cursos anualmente, curso 1 e curso 2.

As vantagens de participar do curso são:

  1. As aulas são ao vivo

  2. Oportunidade de interagir comigo

  3. Certificado USP

  4. Acesso a um material estruturado

Se você quiser saber mais sobre o curso, você pode acessar essa página e ler sobre as versões anteriores.

Além disso, para quem preferir uma orientação mais direcionada em pontos específicos, ofereço a opção de agendar uma conversa de até 30 minutos para ajudar com dúvidas pontuais. Caso tenha interesse, é só me contatar! :)