program PROG3_CFD ! Difusão de Calor Bidimensional Permanente com Geração de Calor ! Versão original 1.0 (27 Out 08) ! Versão atual 1.0 (27 Out 08) ! Última alteração = 29 Out 08 ! Autor: Carlos Henrique Marchi (Curitiba, DEMEC/UFPR) ! MODELO MATEMÁTICO (equação diferencial): ! d2T/dx2 + d2T/dy2 + qg/k = 0 ! T = temperatura (incógnita e variável primária) (C) ! x = coordenada espacial na direção horizontal (m) ! y = coordenada espacial na direção vertical (m) ! qg = taxa de geração de calor por unidade de volume (W/m3) ! k = condutividade térmica (W/m.K) ! Condições de contorno (C.C.) do tipo Dirichlet (T prescrita) ! Variáveis de interesse: ! Média da temperatura: Tm (C) ! Taxa de transferência de calor em x=Lx: qe (W) ! Taxa de transferência de calor em y=Ly: qn (W) ! Média da norma l1 do erro numérico de T: Em (C/nó) ! Solução analítica disponível para: ! T(0,y) = T(Lx,y) = T(x,0) = qg = 0; ! T(x,Ly) = sen(pi*x/Lx), ! onde pi é uma constante matemática e k deve ser constante. ! Origem do sistema de coordenadas: canto inferior esquerdo; ! x aumenta da esquerda para direita; ! y aumenta de baixo para cima. ! MODELO NUMÉRICO ! Método numérico: volumes finitos ! Malha bidimensional uniforme por direção ! Solver: Gauss-Seidel ! Precisão: dupla ! Linguagem Fortran 90 ! Aplicativo usado: Microsoft Developer Studio, Fortran PowerStation 4.0 ! Tipo de projeto: Console Application ! N = número total de volumes de controle reais ! Tipos de aproximação numérica: ! Termos difusivos (dT/dx e dT/dy): CDS-2 ! Termo fonte (qg): integração pela regra do retângulo ! Tm: integração pela regra do retângulo ! qe e qn: CDS-2 com volume fictício e regra do retângulo ! Aplicação das condições de contorno com volumes fictícios ! Volumes fictícios na direção x: i=1 e i=Nx ! Volumes fictícios na direção y: j=1 e j=Ny ! Volumes reais na direção x: i=2 a Nx-1 ! Volumes reais na direção y: j=2 a Ny-1 ! Origem do sistema de numeração dos índices i e j: canto inferior esquerdo; ! i aumenta da esquerda para direita; ! j aumenta de baixo para cima. ! Chute inicial de T = valor nulo ! Os perfis de T são corretos apenas quando se entra com número ! ímpar de volumes em cada direção ! Sistema de equações: ap(P)*T(P) = aw(P)*T(P-1) + ae(P)*T(P+1) ! + as(P)*T(P-nx) + an(P)*T(P+nx) + b(P) ! onde P = (j-1)*nx + i ! A solução numérica pode ser obtida para quaisquer valores usados ! no arquivo de dados; e quaisquer condições de contorno, desde que ! elas sejam adaptadas dentro do programa-fonte, que está configurado para: ! T(0,y) = T(Lx,y) = T(x,0) = 0 e T(x,Ly) = sen(pi*x/Lx). ! Devido ao solver usado, a solução numérica é iterativa. ! ARQUIVOS envolvidos no programa (extensão a prog3_cfd_): ! fonte.f90 = programa-fonte ! dados.txt = arquivo de dados do programa ! Tx.dat = dados para o gráfico de T(x) em y=Ly/2 ! Ty.dat = dados para o gráfico de T(y) em x=Lx/2 ! i.dat = dados para o gráfico das iterações ! Tx.gnu = arquivo de comandos para o Wgnuplot gerar gráfico de T(x) ! Ty.gnu = arquivo de comandos para o Wgnuplot gerar gráfico de T(y) ! I.gnu = arquivo de comandos para o Wgnuplot gerar gráfico de iterações ! Outros arquivos ! "caso" = saída principal do programa ! leia-me_prog3_cfd.txt = dados básicos sobre o programa ! Notepad.exe = editor de arquivos de dados e resultados ! Wgnuplot.exe = programa gerador de gráfico ! -----------------------------------------------------------------------------