1 / 23

Trabalho Computacional Transferência de Energia e Massa

Trabalho Computacional Transferência de Energia e Massa. Guillaume Riflet ,. Dúvidas: guillaume.riflet@ist.utl.pt Ext:3430 Página : https://fenix.ist.utl.pt/homepage/ist146730. Metodologia de resolução. Ler o enunciado do problema Conceber uma solução computacional

kenda
Download Presentation

Trabalho Computacional Transferência de Energia e Massa

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Trabalho Computacional Transferência de Energia e Massa GuillaumeRiflet, • Dúvidas: guillaume.riflet@ist.utl.pt Ext:3430 • Página: https://fenix.ist.utl.pt/homepage/ist146730

  2. Metodologia de resolução • Ler o enunciado do problema • Conceberumasoluçãocomputacional • Partir o problema e a soluçãoemproblemas mais pequenos(fazerumdiagrama) • Resolver as peças do problema, uma de cadavez

  3. Diagrama por blocos genérico dum problema computacional Input Identificar o processamento / escrever o(s) algoritmo(s) Identificar as variáveis necessárias para o processamento Pensar na inicialização das variáveis e na selecção dos algoritmos Pensar no input fornecido pelo utilizador para a resolução do problema e pensar na interface com o utilizador Pensar no output da solução, na sua apresentação (tabelas e gráficos) Processing /Factory/ Engine Output

  4. Diagrama por blocos genérico dum problema computacional • Variables initialization 2 • Algorithm selection • User given input / User-Interface (UI) Input Single or continuous input? Processing /Factory/ Engine • Processing variables 1 • Algorithms Single or continuous output? • Product(s) 3 • Tables • Graphics Output

  5. Identificação dos Algoritmos Processing /Factory/ Engine • Processing variables 1 • Algorithms enunciado explicito implicito

  6. Algoritmos e Variáveis - esquema numérico explícito no tempo Processing /Factory/ Engine explicito i = 2, ..., N-1 i = 1  Boundary i = N  Boundary

  7. Algoritmos - esquema numérico implícito no tempo Processing /Factory/ Engine implícito i = 2, ..., N-1 Ti A B C i = 1  Boundary i = N  Boundary Sistema matricial (n equações a n incógnitas) e tridiagonal. Resolução por eliminação de Gauss ou algoritmo semelhante. Neste caso usa-se o eficiente algoritmo de Thomas. Call Thomas(A,B,C,Ti)

  8. Algoritmos – ciclos no código Processing /Factory/ Engine For l = 1 to T ... For i = 1 to N ... Next ... Next Ciclo no tempo Ciclo no espaço

  9. Variáveis de processamento Processing /Factory/ Engine • N – tamanho do array da barra ou do canal • i – índice de célula do canal indo de 1 até N • Ctdt(1 to N) - array da Concentração ou Temperatura em t + dt • Ct(1 to N) – array Concentração ou Temperatura em t • t – índice de tempo indo de 1 até L • T – número total de iterações no tempo • Dif– coeficiente de difusão • Sk – coeficiente de decaimento • A(1 to N), B(1 to N), C(1 to N) e Ti(1 to N) – arrays de entrada do algoritmo de Thomas. Resultado escrito em Ti. • CL e CU – Concentração nas fronteiras abertas do canal. Os valores em algumas variáveis têm que ser deduzidos a partir dos dados de entrada do utilizador e do enunciado

  10. Exercício I Processing /Factory/ Engine • Recorrendo às variáveis acima definidas, implemente um programa em VBA que resolva o método explícito da equação da difusão duma propriedade num fluido numa barra unidimensional utilizando arrays. Inicialize todas as variáveis no código. Resolva até à aula seguinte. • TPC – Tente alterar o codigo em i = 1 e em i = N de forma a selar as fronteiras. Se não conseguir, simplesmente mude o valor nas condições de fronteira, corra o programa e comente os resultados.

  11. Exercício I – Solução tpc TPC – Tente alterar o codigo em i = 1 e em i = N de forma a selar as fronteiras. Se não conseguir, simplesmente mude o valor nas condições de fronteira, corra o programa e comente os resultados. A melhor forma de selar a fronteira aberta ao transporte de propriedades da água é de eliminar o termo de fluxo difusivo da equação na face com a fronteira aberta. Em particular, apenas para a equação da difusão, também se pode impôr um gradiente nulo na fronteira aberta: CL = C(1) e CU = C(N). Essa é outra forma de preservar a massa dentro do domínio. A forma adequada de verificação que a massa é preservada consiste em anular o termo de decaimento e em integrar a massa total da propriedade no canal. A integração tem que se manter constante ao longo do tempo.

  12. Exercício II Processing /Factory/ Engine Agora resolva utilizando o método implícito. Use a subrotina fornecida com o algoritmo de Thomas. Adicionalmente, implemente um método de cálculo da massa da propriedade no canal e faça outputs temporários para uma tabela de excel. TPC – Outputs para tabela e fazer graficos (manualmente) para comparar o metodo explicito com o metodo implicito. Output

  13. Identificação dos Algoritmos de Advecção Processing /Factory/ Engine • Processing variables 1 • Algorithms enunciado Upwind U>0, Exp Faces centradas, Exp

  14. Identificação dos Algoritmos de Advecção Processing /Factory/ Engine enunciado Upwind U>0, Imp Faces centradas, Imp

  15. Refactoring dos Algoritmos de Advecção e de Difusão Processing /Factory/ Engine enunciado Upwind U>0, Imp Faces centradas, Imp

  16. Novas variáveis de processamento para advecção Processing /Factory/ Engine • Cr – Número de Courant Os valores em algumas variáveis têm que ser deduzidos a partir dos dados de entrada do utilizador e do enunciado

  17. Exercício III Processing /Factory/ Engine Adicione ao exercício anterior uma advecção com o método Upwind para U constante no canal e positivo. E se U for negativo? Qual o comportamento do método?

  18. Exercício IIIb Processing /Factory/ Engine Repense o esquema Upwind para que U possa ser positivo e negativo. Se não conseguir, resolva dois esquemas, um para U positivo e outro para U negativo, e utilize um “if”.

  19. Diagrama por blocos genérico dum problema computacional Input Identificar o processamento / escrever o(s) algoritmo(s) Identificar as variáveis necessárias para o processamento Pensar na inicialização das variáveis e na selecção dos algoritmos Pensar no input fornecido pelo utilizador para a resolução do problema e pensar na interface com o utilizador Pensar no output da solução, na sua apresentação (tabelas e gráficos) Processing /Factory/ Engine Output

  20. Diagrama por blocos genérico dum problema computacional • Variables initialization 2 • Algorithm selection • User given input / User-Interface (UI) Input Single or continuous input? Processing /Factory/ Engine • Processing variables 1 • Algorithms Single or continuous output? • Product(s) 3 • Tables • Graphics Output

  21. Input – interface com o utilizador. Variáveis • L - Comprimento do canal (m) • Dx - Resolução espacial (m) • Tp - Tempo de corrida da simulação (s) • Dt - Resolução temporal (s) • PI - Posição inicial do traçador (m) • CI - Concentração inicial do traçador (kg/m^3) • K - Coeficiente de difusividade do traçador (m^2/s) • CL, CU - Valor imposto nas fronteiras a montante e a jusante do escoamento. • U - Velocidade média uniforme do escoamento (m/s) • isDir - Tipo de condição de fronteira (Dirichelet/Neumann) • isOpen - Tipo de fronteira (aberta/fechada) • isExp - Tipo de discretização temporal (explícito/implícito) • isUp - Tipo de discretização para advecção (upwind/diferenças centrais) • Noutputs - Frequência de escrita dos resultados OU número total de instantes a escrever na tabela de excel Input Pensar em dar um feedback ao utilizador indicando se as parametrizações seleccionadas são consistentes (ex: Cr e Dif não violam critérios de estabilidade)

  22. Input – interface com o utilizador. Subrotinas eUserforms Input - Tipo que engloba as variáveis de entrada fornecidas pelo utilizador. ReadInput - Subrotina que lê os dados fornecidos pelo utilizador e que os guarda numa variável do tipo de entrada. Pode ser programado usando uma userform, mas também pode ser programado lendo directamente valores duma tabela de excel. InterfaceInPr - Subrotina de interface que recebe um tipo de entrada e um tipo de propriedade como argumentos. A subrotina deve inicializar os campos do tipo propriedade a partir dos campos do tipo entrada. Input Pensar em dar um feedback ao utilizador indicando se as parametrizações seleccionadas são consistentes (ex: Cr e Dif não violam critérios de estabilidade)

  23. Output – Resultados. • writeOutput - Subrotina que escreve a concentração do traçador no canal numa tabela. (disponível na página do projecto de tem-vba). • Plot - Subrotina que desenha uma curva da concentração em função da posição no canal para cada instante escrito na tabela de excel. (disponível na página do projecto de tem-vba). • Clear - Subrotina que apaga a tabela de excel e todos os gráficos de excel. (disponível na página do projecto de tem-vba). Output

More Related