A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Trabalho Computacional Transferência de Energia e Massa Guillaume Riflet, Dúvidas: Página:

Apresentações semelhantes


Apresentação em tema: "Trabalho Computacional Transferência de Energia e Massa Guillaume Riflet, Dúvidas: Página:"— Transcrição da apresentação:

1 Trabalho Computacional Transferência de Energia e Massa Guillaume Riflet, Dúvidas: Página: https://fenix.ist.utl.pt/homepage/ist146730

2 Metodologia de resolução Ler o enunciado do problema Conceber uma solução computacional Partir o problema e a solução em problemas mais pequenos (fazer um diagrama) Resolver as peças do problema, uma de cada vez

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

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

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

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

7 Algoritmos - esquema numérico implícito no tempo implícito A BC Ti Call Thomas(A,B,C,Ti) 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. Processing / Factory/ Engine Processing / Factory/ Engine i = 2,..., N-1 i = 1 Boundary i = N Boundary

8 Algoritmos – ciclos no código Processing / Factory/ Engine Processing / Factory/ Engine For l = 1 to T... For i = 1 to N... Next... Next 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 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 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 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 / 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 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 Processing / Factory/ Engine enunciado Upwind U>0, Imp Faces centradas, Imp

16 Novas variáveis de processamento para advecção Processing / Factory/ Engine 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 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 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 Processing / Factory/ Engine Processing / Factory/ Engine Output 1.Identificar o processamento / escrever o(s) algoritmo(s) 2.Identificar as variáveis necessárias para o processamento 3.Pensar na inicialização das variáveis e na selecção dos algoritmos 4.Pensar no input fornecido pelo utilizador para a resolução do problema e pensar na interface com o utilizador 5.Pensar no output da solução, na sua apresentação (tabelas e gráficos)

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

21 Input – interface com o utilizador. Variáveis Input 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 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 e Userforms Input 1.Input - Tipo que engloba as variáveis de entrada fornecidas pelo utilizador. 2.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. 3.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. 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. 1.writeOutput - Subrotina que escreve a concentração do traçador no canal numa tabela. (disponível na página do projecto de tem-vba). 2.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). 3.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


Carregar ppt "Trabalho Computacional Transferência de Energia e Massa Guillaume Riflet, Dúvidas: Página:"

Apresentações semelhantes


Anúncios Google