← projetos

projeto

fuelCellPem — Simulador de Célula a Combustível PEM

com Juan Felipe Vásquez Uribe

em Freelancer

fuelCellPem — Simulador de Célula a Combustível PEM

Um app desktop que mostra, hora a hora, como uma célula a combustível PEM se comporta ao longo de um dia de uso.

O que é

Aplicativo desktop que simula uma célula a combustível PEM (Proton Exchange Membrane) ao longo de 24 horas. O usuário informa as características do stack e um perfil de carga diário, e o app mostra de forma interativa quanto hidrogênio é consumido, quanta água é produzida, quanto calor é gerado, qual a eficiência da célula e quanta energia ela entrega — com totais diários, mensais e anuais.

É a evolução natural do Electrolysis App: enquanto aquele simula a produção de hidrogênio, este simula o caminho inverso, transformando hidrogênio de volta em eletricidade.

Como funciona

O usuário configura os parâmetros do stack e desenha o perfil de uso arrastando as barras diretamente no gráfico (ou digitando o valor exato), com atalhos prontos para perfis típicos, como 24 horas contínuas ou apenas as horas de sol. A cada mudança, o app recalcula a operação hora a hora a partir do modelo físico da célula e atualiza gráficos, médias e totais em tempo real. Os campos de entrada validam os valores digitados e avisam quando algo é inválido, e a interface oferece desfazer/refazer, importação e exportação das entradas em JSON e exportação dos resultados completos em PDF.

O modelo foi portado de um notebook Python de referência e validado contra ele de forma sistemática: um conjunto de testes automatizados compara as saídas do app com as do notebook em uma ampla variedade de cenários, incluindo casos extremos e entradas absurdas, garantindo que nada quebre ou produza resultados inválidos.

Stack técnica

  • C# / .NET com Avalonia UI (desktop multiplataforma)
  • Gráficos interativos e exportação de relatórios em PDF
  • xUnit para testes automatizados (incluindo testes da interface em modo headless)
  • Python + SciPy para gerar os dados de referência usados na validação
  • Git e GitHub Actions para integração contínua e publicação de releases

Destaques técnicos

  • Migração fiel de um modelo científico de Python para C#, com paridade verificada contra a implementação original
  • Validação em larga escala contra a referência, cobrindo grandes combinações de parâmetros
  • Robustez de entrada: aceita vírgula ou ponto como separador decimal, rejeita valores inválidos e protege contra estouro numérico e laços infinitos
  • Importação e exportação de JSON com tratamento de erros (arquivo inválido, bloqueado ou grande demais) sem derrubar o app
  • Interface editável por arraste, com desfazer/refazer e exportação de relatório em PDF
  • Código organizado em camadas: modelo físico, dados, interface e testes
  • Pipeline de CI que compila, testa e publica releases automaticamente

Este site usa cookies essenciais (tema, preferências) e, com sua permissão, cookies de análise (Google Analytics) para entender como o site é usado. saiba mais