[PT-BR] CAVS - adsorption evaluation

6 minute read


Versão atual: 2.01



O que é o CAVS - adsorption evaluation ?

O CAVS é uma interface gráfica de usuário (gratuita) desenvolvida para realizar a análise estatística e ajuste de modelos a dados experimentais obtidos para o processo de adsorção/dessorção em batelada e em modo contínuo.

cat

Download

O link para download está no site institucional do PPGEAL.

Tutoriais

Alguns tutoriais estão disponíveis no nosso canal no YouTube.

Motivação

O principal motivo do desenvolvimento do CAVS foi os artigos publicados questionando a forma que muitos trabalhos estavam sendo conduzidos na área de adsorção. Utilizar equações erradas, linearização das equações, abuso do uso do coeficiente de correlação (R2) e falta de embasamento estatístico eram os principais problemas apontados nestes artigos críticos.

Além disto, muitos pesquisadores acabam utilizando programas comerciais (que geralmente são muito caros) para ajustar modelos aos dados reais. E esta é uma barreira muito grande para muitos pesquisadores, eu incluso.

Prioridades

O principal foco do programa foi a eficiência e experiência de usuário. Ele tinha de ser simples, ou seja, os comandos e escolhas deveriam estar claras e evidentes. O ajuste deveria acontecer de forma rápida, mas que abrangesse com facilidade uma grande variedade de dados, o que foi um desafio e tanto.

Conteúdo

Além de cálculos básicos relacionados ao fenômeno (alguns não tão básicos assim), o software tem no total 27 modelos prontos para avaliar dados de adsorção e dessorção, tanto em batelada (cinéticas e isotermas) como em leito fixo.

Batelada:

  • Cinéticas de adsorção: 7 modelos
  • Cinéticas de dessorção: 5 modelos
  • Isotermas de adsorção: 10 modelos

Leito fixo

  • Adsorção: 5 modelos


Exemplo do resultado final de cada página do CAVS

cat

Outputs

Como resultado da regressão, o usuário recebe:

  • O valor dos parâmetros estimados para o modelo;
  • O desvio padrão dos parâmetros estimados para o modelo;
  • A correlação par a par entre os modelos;
  • O resultado de 5 testes aplicados para verificar se o ajuste foi estatisticamente adequado (alpha = 5%);
  • 7 medidas da qualidade do ajuste;
  • Qual foi considerada a provável melhor representação experimental, baseado em critérios de informação;


Exemplo de output visual do CAVS

cat

Exemplo de output numérico do CAVS - Dados exportados em .xlsx

cat

Design

O design final não ficou muito elegante. O primeiro framework que tentei utilizar para gerar o GUI foi o Kivy, mas este tem muitos detalhes complexos que inviabilizariam o desenvolvimento. Este certamente ficaria com um design bastante elegante, tendo a possiblidade de exportar para dispositivos mobiles. Mas isto demandaria muito tempo, e por isso optei pelo Tkinter, obtendo um design não muito elegante, mas eficiente.

História

O CAVS inicialmente começou com um pequeno código de regressão escrito em MATLAB. Esse script necessitava muitas alterações para cada modelo ajusto, e então eu percebi a necessidade de deixar a rotina mais maleável (no sentido de acesso para outros pesquisadores), só que mais rígida no sentido

2014

  • No dia 22/07 (meu aniversário 🎂) foi primeiro dia em que eu falei para alguém (meus orientadores de Doutorado) a ideia de fazer um programa para avaliar dados de adsorção. Nesta época eu tinha algum conhecimento de lógica de programação e um pouco de FORTRAN. Entretanto, eu já tinha um bom conhecimento sobre adsorção, que foi tema da minha dissertação de mestrado.

2015

  • Neste ano começamos a desenvolver a rotina de ajuste de modelos, mas em MATLAB. A rotina base quem escreveu foi meu co-orientador Fernando. A rotina estimava os parâmetros do modelo que devia conter dois parâmetros, bem como já analisava o resultado dos modelos quanto a teoria do experimento bem feito. Minha tarefa neste momento era implementar outros modelos e adicionar o calculo da matriz de correlação. Hoje eu sei que isto é algo bem simples, mas eu perdi muitas noites de sono com isso!

2016

  • Nada significativo foi desenvolvido neste ano.

  • Curiosidade: A versão final contempla diversas referências a indústria POP. Filmes (Harry Potter), séries (How I met Your Mother), animes (Cavaleiros do Zodíaco) e músicas (Andre Matos) são referenciados. Mas dificilmente você irá perceber, embora elas “popem”” na sua cara o tempo todo.

2017

  • Inicio do desenvolvimento da Interface gráfica de usuário (GUI) em MATLAB. A escolha pelo MATLAB foi simplesmente devido ao fato do algoritmo estar pronto nesta linguagem. Esse foi um erro grave, pois nesta época eu não fazia ideia de como seria o processo de distribuição do programa. Pelo MATLAB ser um software pago, eu deveria não ter cogitado essa opção. Mas por ingenuidade e falta de atenção deixei passar este detalhe.

  • Em 2017 temos o primeiro aceite em uma revista cientifica. A publicação aconteceu apenas em 2018. Mas esta é uma publicação onde apenas utilizamos a rotina adaptada para dados de sorção de umidade. Entretanto, foi durante o desenvolvimento desse algoritmo que implementei boa parte das equações de goodness of the fit.

  • Curiosidade: O nome, CAVS é uma abreviação do sobrenome dos autores (Canteli, Argenta, Voll e Scheer). E sim, esse nome foi por pura falta de criatividade. Mas a autora Argenta foi incluída (e foi de excelente ajuda) no desenvolvimento do software ao longo do projeto. Antes disso, o software se chamava apenas CVS.

2018

  • Primeiro semestre: busca por informações sobre o licenciamento que a universidade tinha quanto ao MATLAB. Resumindo, a licença válida não abrangia o módulo necessário para gerar o GUI. Mas a universidade estava adquirindo uma nova versão, e foi socilitado para incluir este módulo na compra.

  • Curiosidade: O inicialmente era relacionado com algo relacionado aos cavaleiros do zodíaco, manga que fez (ainda faz) sucesso. Na versão em MATLAB, cada página tinha o nome de algum cavaleiro de ouro. A ideia inicial era que o programa teria 12 páginas, então 12 cavaleiros de outro. Entretanto, ao longo do projeto o tamanho foi aumentando e foi necessário incluir alguns cavaleiros de prata, alguns de bronze, e um general marina.

  • Defesa: na defesa de Doutorado foi a primeira vez que oficialmente foi dito algo quanto ao desenvolvimento do software. Meus amigos próximos já conheciam ele, alguns até tinham utilizado, mas apenas meus orientadores estavam a par do trabalho dentre os membros do colegiado.

2019

  • Janeiro: Começo meus estudos em Python.

  • Fevereiro: Como não havia nenhum tipo de retorno da Universidade quanto a aquisição de uma licença de MATLAB, comecei a aprender como gerar um GUI com Python. Inicialmente comecei a utilizar a biblioteca Kivy, mas na época me pareceu uma biblioteca complexa. Por isso, optei por utilizar o Tkinter.

  • Primeiro semestre: Sai a licença do MATLAB para a UFPR. Infelizmente, com a licença adquirida eu não poderia publicar o CAVS. Então, foquei na adaptação do CAVS para Python.

  • Maio: Adaptação pronta, com uma versão finalizada e 100% funcional.

  • 16/Maio: Entro formalmente em contato com a Agência de Inovação UFPR para solicitar o registro do software no Instituto Nacional de Propriedade Intelectual (INPI).

  • 30/Maio: Primeira leva de tutoriais publicados no YouTube.

  • 04/Julho: A documentação para o pedido de registro de software é entregue na Agencia de Inovação da UFPR.

  • 16/Julho: É concedido o Registro de programa de Computador “CAVS - adsorption evaluation” sob o número de processo BR512019001440-5.

  • Julho: Inicio do pedido junto a UFPR para poder distribuir o software gratuitamente (licença não remunerada).

  • Agosto: Procuradoria federal recusou o pedido de distribuição gratuita por considerar não usual. Nova tentativa.

  • Setembro: Nova recusa junto a Procuradoria Federal. É solicitado uma manifestação do corpo docente da universidade (do departamento no qual estava lotado) quanto ao pedido de distribuição gratuita.

  • 01/Novembro: Aprovado pelo colegiado do programa de pós graduação quanto a distribuição gratuita do CAVS.

  • Curiosidade: Existem algumas páginas escondidas na versão final. Existe uma poesia, agradecimentos especiais, uma mapa do software e talvez outras páginas.

  • 13/Novembro: Documentação pronta! A saga do registro do software está finalizado!

2020

  • Janeiro: Nova leva de tutoriais liberado no YouTube.


cat

  • Fevereiro: Versão 2.0 do CAVS liberada nas redes sociais do software! É de graça e é para todos!

  • Agosto: Versão 2.01 liberada. Esta versão corrige pequenos bugs de sintaxe.