Opened 16 years ago

Closed 15 years ago

#39 closed defect (fixed)

Criação de matriz identidade

Reported by: Rodolfo Rodrigues Owned by: Rafael de Pelegrini Soares
Priority: major Milestone:
Component: EMSO Version: 0.9.50
Keywords: Cc:

Description

Em alguns modelos necessito de informações de propriedades físicas de componentes puros, para tanto, ao meu ver, uma alternativa seria informar um vetor linha de uma matriz identidade como a fração de composição (z).

Não tenho experiência com funções externas, então, pretendo criar um rotina no próprio modelo. Tentei o trecho abaixo mas que resultou em um erro de excussão do EMSO:

# Identity matrix
for i in [1:NComp]	
   for j in [1:NComp]		
      if (i equal j) then
         z(i,j) = 1;
      else
         z(i,j) = 0;
      end
   end
end

Creio que o erro ocorre quando uso o mesmo índice dos comandos em laço (for) no condicional (if).

Se alguém tiver alguma sujestão ou maneira diferente para implementar o mesmo, a ajuda será bem-vinda!

Na seqüência estou anexando um arquivo que estou usando para testes com esta funcionalidade.

Attachments (3)

standard_gibbs_energy.mso (1.3 KB) - added by Rodolfo Rodrigues 16 years ago.
identity_matrix.mso (703 bytes) - added by Rodolfo Rodrigues 15 years ago.
standard_gibbs_energy.2.mso (967 bytes) - added by Rafael de Pelegrini Soares 15 years ago.
Arquivo com chamada de Gibbs de formação para componentes puros

Download all attachments as: .zip

Change History (15)

Changed 16 years ago by Rodolfo Rodrigues

Attachment: standard_gibbs_energy.mso added

comment:1 Changed 16 years ago by Rafael de Pelegrini Soares

Acredito que neste caso em particular é melhor investir na disponibilização desta propriedade na forma de uma propriedade de componente puro. Exatamente como já acontece com propriedades como temperatura crítica, peso molecular, etc.

Que outros cálculos pretendes fazer na sequencia da construção deste modelo?

comment:2 in reply to:  1 ; Changed 16 years ago by Rodolfo Rodrigues

Replying to rafael:

Acredito que neste caso em particular é melhor investir na disponibilização desta propriedade na forma de uma propriedade de componente puro. Exatamente como já acontece com propriedades como temperatura crítica, peso molecular, etc.

Que outros cálculos pretendes fazer na sequencia da construção deste modelo?

No meu caso em particular somente a Energia Livre de Gibbs. Usarei para 2 modelos dos reatores simplificados.

comment:3 in reply to:  2 Changed 16 years ago by Rafael de Pelegrini Soares

Replying to rodolfo:

No meu caso em particular somente a Energia Livre de Gibbs. Usarei para 2 modelos dos reatores simplificados.

Ok, mais algumas questões, seu modelo necessita de:

  • G como uma função da temperatura?
  • Apenas G de gás ideal?

Pergunto isto pq estes pontos alteram totalmente uma possível implementação direta no VRTherm.

comment:4 Changed 16 years ago by Rodolfo Rodrigues

A primeira opção. Necessito de G para um componente puro a uma pressão no estado padrão (1 bar ou 1 atm, não sei qual que está sendo usada no VRTherm) em uma dada temperatura.

comment:5 Changed 15 years ago by Rodolfo Rodrigues

Estou precisando usar esta funcionalidade para forçar o uso do pacote de propriedades físicas para componentes puros. O sistema ainda não está reconhecendo corretamente a implementação. (Relacionado com o Ticket #70)

Changed 15 years ago by Rodolfo Rodrigues

Attachment: identity_matrix.mso added

comment:6 Changed 15 years ago by Rafael de Pelegrini Soares

Olá,

Adicionei um novo arquivo em anexo. A versão de desenvolvimento do VRTherm implementa novas funções:

Se for algo assim que estas precisando, me avise que te passo a nova DLL.

Changed 15 years ago by Rafael de Pelegrini Soares

Attachment: standard_gibbs_energy.2.mso added

Arquivo com chamada de Gibbs de formação para componentes puros

comment:7 Changed 15 years ago by Rodolfo Rodrigues

Rafael,

As rotinas estão OK, mas estou precisando de algo como 'IdealGasGibbsOfFormation?(T)', ou seja, a energia de Gibbs no estado padrão para uma temperatura T dada.

Seria possível disponibilizar algo do tipo numa futura DLL do VRTherm?

Estou num ponto de encerrar uma versão preliminar dos modelos de reatores simplificados, dos quais, o modelo equilíbrio (que necessita de um 'IdealGasGibbsOfFormation?(T)') será utilizado numa abordagem simplificada da modelagem do gaseificador da minha dissertação.

E uma outra pergunta, o que houve com 'VapourGibbsFreeEnergy?(T,P,z)'? Estou recebendo uma mensagem de erro de que a rotina não está sendo encontrada.

Abraço

comment:8 Changed 15 years ago by Rafael de Pelegrini Soares

Olá Rodolfo,

Precisas da energia livre de gibbs, como se fosse um gás ideal de cada componente puro para uma dada T? Mais especificamente qual a expressão que precisa ser implementada? IdealGasGibbsOfFormation?(T) = IdealGasGibbsOfFormation?(25 degC) + ?

Sobre a função 'VapourGibbsFreeEnergy?(T,P,z)' parece ter havido um acidente, estará dvolta logo.

Me passe a expressão que é necessária implementar que analisamos o caso rapidamente.

Um abraço!

comment:9 in reply to:  8 Changed 15 years ago by Rodolfo Rodrigues

Replying to rafael:

Olá Rodolfo,

Precisas da energia livre de gibbs, como se fosse um gás ideal de cada componente puro para uma dada T? Mais especificamente qual a expressão que precisa ser implementada? IdealGasGibbsOfFormation?(T) = IdealGasGibbsOfFormation?(25 degC) + ?

Sobre a função 'VapourGibbsFreeEnergy?(T,P,z)' parece ter havido um acidente, estará dvolta logo.

Me passe a expressão que é necessária implementar que analisamos o caso rapidamente.

Um abraço!

A expressão em questão é:

latex-math( -RT\ln(K_j) = \sum_{i}\nu_{i,j}G_i^0 )?

De forma que, a partir de um temperatura T e Gi0 (dado para uma pressão fixa e temperatura T) obtém-se a constante de equilíbrio Kj. Onde vi,j são os coeficientes estequiométricas e R, a constante dos gases.

comment:10 Changed 15 years ago by Rafael de Pelegrini Soares

Olá, o que estou dizendo é: qual é a expressão de que define o Gi0 que precisas em função do gás ideal a 25C?

comment:11 in reply to:  10 Changed 15 years ago by Rodolfo Rodrigues

Replying to rafael:

Olá, o que estou dizendo é: qual é a expressão de que define o Gio que precisas em função do gás ideal a 25C?

Rafael,

Desculpe. A expressão de dependência de Gio com T é dada por:

latex-math( \frac{d}{dT}\left (\frac{G_{i}^{o}}{RT}\right ) = \frac{-H_{i}^{o}}{RT^2} )?

De forma que uma expressão final integrada e reescrita em termos de propriedades padrões (G0,io, H0,io e CP,io) e de T, é dada pela equação abaixo (equação 15.20 de Smith, Van Ness e Abbott (2000), ou equação 4-352 de Perry et al. (1999)):

Error: Failed to load processor latex-math
No macro or processor named 'latex-math' found

E uma sugestão seria diferenciar as 2 funções da seguinte forma:

Obrigado

comment:12 Changed 15 years ago by Rafael de Pelegrini Soares

Resolution: fixed
Status: newclosed

Solução adicionada no VRTherm, após testes deve ser disponibilizada para download.

Note: See TracTickets for help on using tickets.