23
Universidade Federal do Rio de Janeiro Coordenação dos Programas de Pós-graduação em Engenharia Programa de Engenharia Química Introdução ao OpenFOAM Aluno: William Clem Soares Orientador: Paulo L. C. Lage Junho/2008

Curso Introdutório OpenFOAM parte 1

Embed Size (px)

DESCRIPTION

Curso introdutório do OpenFOAM, ministrado no PEQ/COPPE/UFRJ primeira parte

Citation preview

Page 1: Curso Introdutório OpenFOAM  parte 1

Universidade Federal do Rio de JaneiroCoordenação dos Programas de Pós-graduação

em EngenhariaPrograma de Engenharia Química

Introdução ao OpenFOAM

Aluno:William Clem Soares

Orientador: Paulo L. C. Lage

Junho/2008

Page 2: Curso Introdutório OpenFOAM  parte 1

Estrutura da Apresentação

Introdução ao ambiente linux

Introdução ao OpenFOAM

Rodando casos

Analisando a convergência de malha

Page 3: Curso Introdutório OpenFOAM  parte 1

Introdução ao ambiente linux

Sistema Operacional de código aberto

Tipos: UBUNTU, KUBUNTU, KURUMIM, SUSE, etc.

Conhecendo o ambiente

Comandos de linha importantes para esse curso- ls : listagem do diretório.- cp origem destino : copiar arquivos.- mv origem destino : mover ou renomear arquivos.- rm arquiv o: deletar arquivos. - cd diretório : abre um diretório - mkdir diretório :cria um diretório - tar -xzvf arquivo.tar.gz : extrai arquivos compactados

Page 4: Curso Introdutório OpenFOAM  parte 1

Introdução:O OpenFOAM (Field Operation And Manipulation) é um pacote CFD gratuito de código livre estruturado para operar e manipular campos tensoriais aplicado à fluidodinâmica computacional.

A tecnologia do OpenFOAM é baseada em um conjunto eficiente e flexível de módulos escritos em C++ que são usados com o intuito de construir:

SolverRealizar tarefas de pré e pós-processamentoBibliotecas de expansão usadas pelos solvers e utilitários, tal como uma biblioteca de modelos físicos

O OpenFOAM

Page 5: Curso Introdutório OpenFOAM  parte 1

OpenFOAM

Figura 1: Visão geral da estrutura do OpenFOAM

Page 6: Curso Introdutório OpenFOAM  parte 1

O FoamX

A etapa de pré-processamento pode ser feita através do Foam X.

FoamX é uma ferramenta JAVA GUI que administra casos do OpenFOAM e edita arquivos. A função do FoamX é executar comando de linha. Vamos ignorar o seu uso neste curso!

Executando o FoamX : basta digitar FoamX no terminal

LEMBRETE:O Linux é case sensitive. Cuidado ao digitar no terminal.

Page 7: Curso Introdutório OpenFOAM  parte 1

OpenFOAM

Estrutura de diretórios e arquivos de uma simulação.

Diretório com os arquivos de configuração da simulação

arquivos com as variáveis de campo (U, p, T, etc). O nome do diretório é o instante de tempo atual.

arquivos de estrutura da malha (cells, faces, points) e as condições de contorno

arquivos com as propriedades físicas, termodinâmicas, de turbulência, etc.

Arquivos de configuração da simulação:controlDict – controle de tempo de simulação, passo de tempo, I/O de arquivos, etc;fvSolution – métodos de solução do sistema linear;fvSchemes – metodologias de discretização/interpolação dos termos das equações.

Page 8: Curso Introdutório OpenFOAM  parte 1

Funções de interpolação.Diferenças centrais, upwind , QUICK, TVD, MUSCL, etc.

Métodos de solução de sistemas lineares.Gauss-Seidel, AMG (algebraic multi grid) e variantes do gradiente conjugado (ICCG, DCG, BICCG e BDCG).

Discretização no tempo.Euler explícito, implícito e Crank-Nicholson.

Métodos de acoplamento pressão velocidade.SIMPLE e PISO.

Page 9: Curso Introdutório OpenFOAM  parte 1

Facilidade de operar e manipular os campos.Notação

Matemática

template Field<Type>

<Type> pode representar os templates scalar, vector e

tensor.

scalarField phi;vectorField u, v;tensorField T;

mag(u);u & v;fvc::div(T);fvc::laplacian(phi);fvc::grad(u).T();

Implementaçãono OpenFOAM

Page 10: Curso Introdutório OpenFOAM  parte 1

OpenFOAM

Representação de EDP’s com variáveis de campo.

solve(fvm::ddt(rho,u)+ fvm::div(phi,u)- fvm::laplacian(mu,u)==- fvc::grad(p));

Variáveis de campos alocadas em uma malha (centro, superfície e nós dos volumes de controle).

Discretização por volumes finitos.

Construção (fvm) e solução do sistema linear (solve).

Page 11: Curso Introdutório OpenFOAM  parte 1

Pré-processamento

Definição: Consiste na modelagem física de um problema de escoamento com a estruturação destas informações de forma que o solver possa usá-las. A modelagem física envolve as seguintes informações:

Seleção dos fenômenos Físico ou QuímicoDefinição das propriedades do fluido como viscosidade, densidade, condutividade, coeficiente de trasferência de massa, etc.Especificações das condições de contorno

Page 12: Curso Introdutório OpenFOAM  parte 1

O caso cavity

Figura 2: Barra infinita sendo arrastada com velocidade constante de 1 m/s na direção x. A geometria desse caso é bidimensional.

O domínio cavity

Page 13: Curso Introdutório OpenFOAM  parte 1

Geração de malhas

O OpenFoam resolve malhas 3-D por definição. O problemas proposto é 2-D. Resolve-se esse problema determinando para uma das dimensões uma condição de contorno especial conhecida como empty.Abrindo o arquivo onde vamos fazer as manipulações para a geração do domínio e a criação da malha:

Caminho: /home/william/OpenFOAM/will-1.4.1/run/tutorials/icoFoam/cavity/constant/polyMesh ----->blockMeshDict.

Page 14: Curso Introdutório OpenFOAM  parte 1

Figura 3: Estrutura do bloco de malha para o caso cavity

Criando a malha: para criar malhas no OpenFOAM é necessário digitar no terminal o comando de linha blockMesh.

Para o caso cavity digite:blockMesh . cavity

Rodando a malha

Page 15: Curso Introdutório OpenFOAM  parte 1

Visualizando a malha:

A gente vai usar como visualizador de malhas e geometrias o paraView usando o comando de linha paraFoam.

Para o caso cavity digite no terminal:paraFoam . cavity

Figura 4: malha estruturado caso cavity

Page 16: Curso Introdutório OpenFOAM  parte 1

Determinando as propriedades físicas

Uma vez que a malha foi gerada agora se faz necessário especificar os dados necessário para a solução do problema pelo solver.Propriedades físicas:Caminho: /home/william/OpenFOAM/will-1.4.1/run/tutorials/icoFoam/cavity/constant -------> transportProperties OBS: A dimensão é escrita no SI, neste caso a ordem assumida pelo OpenFOAM para a representação é [kg m s K A mol cd]. Assumindo um Re= 10, temos que d = 0.1 m e | U | = 1 ms-1.Então a viscosidade cinemática (m2s-1) é 0.1 e é representada assim no arquivo transportProperties:nu nu [0 2 -1 0 0 0 0] 0.01

Page 17: Curso Introdutório OpenFOAM  parte 1

Controle da simulação

Dados de input relacionados com o controle do tempo, leitura e escrita de arquivos de solução são feito no arquivo controlDict.Caminho: /home/william/OpenFOAM/will-1.4.1/run/tutorials/icoFoam/cavity/system -------> controlDict.

Número de Courant é um importante parâmetro para controle do passo de tempo da simulação Co = dt. | U | dx

Page 18: Curso Introdutório OpenFOAM  parte 1

O solver

O usuário deve especificar a escolha dos métodos de discretização no arquivo fvSchemes e a especificação da solução do sistema linear , a tolerância e outros controles de algoritmos são feitos no arquivo fvSolution.

Caminho para o fvSolution: /home/william/OpenFOAM/will-1.4.1/run/tutorials/icoFoam/cavity/system--------> fvSolution

Caminho para o fvSchemes: /home/william/OpenFOAM/will-1.4.1/run/tutorials/icoFoam/cavity/system--------> fvSchemes

Page 19: Curso Introdutório OpenFOAM  parte 1

Etapa de processamento

O comando que executa o solução do problema assume o nome da pasta do problema. Por exemplo, o caso cavity está na pasta icoFoam, então para rodar o caso é só digitar no terminal:icoFoam . cavitySupondo o caso damBreak (veremos mais adiante), este está localizado na pasta interFoam então para rodar o caso damBreak é só criar a malha usando blockMesh . dambreak e depois executar no terminal o comandointerFoam . damBreak

Page 20: Curso Introdutório OpenFOAM  parte 1

Etapa de pós-processamento

A etapa de pós processamento consiste na visualização do resultado usando o paraView. Para visualizar o caso basta digitar no terminal:

paraFoam . cavity- Aprendendo a usar o paraFoam- Animação no paraFoam

Page 21: Curso Introdutório OpenFOAM  parte 1

Vector Plot

Passo a passo:1) Verificar se está em “evidência” (highlighted ) o cavity.foam no seletion window. 2) Filter-----> cell center ----->accept3) Filter-----> glyph Scale Mode -> Data scaling offScale Factor -> 0.005

Accept

Page 22: Curso Introdutório OpenFOAM  parte 1

Streamline Plot

obs: o usuário deve DESATIVAR os módulos rodados na etapa anterior.

Passo a passo:

1) Filter-----> Extract PartSelecionar somente Internal meshAccept

Page 23: Curso Introdutório OpenFOAM  parte 1

Streamline Plot (cont.)

2) Filter -----> Stream tracer Seed -> line Pt1 (0,05 ; 0 ; 0,005)Pt2 (0,05 ; 0,1 ; 0,005)Max propagation -> lengh -> 0.5Int. Step Len -> cell lengh -> 0.01Accept3)Filter -> TubeNum Sides -> 20Radius -> 0.0003Radius Factor ->10Accept