Curso Introdutório OpenFOAM parte 1
Short Description
Curso introdutório do OpenFOAM, ministrado no PEQ/COPPE/UFRJ primeira parte...
Description
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
Estrutura da Apresentação
Introdução ao ambiente linux Introdução ao OpenFOAM Rodando casos Analisando a convergência de malha
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 mkdir diretório :cria um diretório - tar -xzvf arquivo.tar.gz -xzvf arquivo.tar.gz : extrai arquivos compactados
O OpenFOAM
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: Solver Realizar tarefas de pré e pós-processamento Bibliotecas de expansão usadas pelos solvers e utilitários, tal como uma biblioteca de modelos físicos
OpenFOAM
Figura 1: Visão geral da estrutura do OpenFOAM
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.
OpenFOAM Estrutura de diretórios e arquivos de uma simulação. s imulaçã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 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.
arquivos com as propriedades físicas, termodinâmicas, de turbulência, etc. arquivos de estrutura da malha (cells, faces, points) e as condições de contorno
Funções de interpolação. Diferenças Diferenças centrais, upwind , 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.
Facilidade de operar e manipular os campos. Notação Matemática
Implementação no OpenFOAM
template Field 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();
OpenFOAM Representação de EDP ’s com variáveis de campo.
Variáveis de campos alocadas em uma malha (centro, superfície e nós dos volumes de controle). Discretização Discretização por volumes finitos. Construção (fvm) e solução do sistema linear ( solve).
solve ( fvm::ddt(rho,u) + fvm::div(phi,u) - fvm::laplacian(mu,u) == - fvc::grad(p) );
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ímico Definição das propriedades do fluido como viscosidade, densidade, condutividade, coeficiente de trasferência de massa, etc. Especificações das condições de contorno
O caso cavity
O domínio cavity
Figura 2: Barra infinita sendo arrastada com velocidade constante de 1 m/s na direção x. A geometria desse caso é bidimensional.
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 /home/william/OpenFOAM/will-1.4.1 /will-1.4.1 /run/tutorials/icoFoam/cavity/constant/polyMesh ----->blockMeshDict.
Rodando a malha
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
Figura 3: Estrutura do bloco de malha para o caso cavity
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
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/cavi /run/tutorials/icoFoam/cavity/constant ty/constant -------> transportProperties 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: transportProperties: nu nu [0 2 -1 0 0 0 0] 0.01
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/cavit /run/tutorials/icoFoam/cavity/system y/system -------> controlDict. Número de Courant é um importante parâmetro para controle do passo de tempo da simulação
Co = dt. | U | dx
O solver
O usuário deve especificar a escolha dos métodos de discretização 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/w /home/william/OpenFOAM/will-1.4.1 ill-1.4.1 /run/tutorials/icoFoam/cavit /run/tutorials/icoFoam/cavity/system--------> y/system--------> fvSolution Caminho para o fvSchemes: /home/william/OpenFOAM/w /home/william/OpenFOAM/will-1.4.1 ill-1.4.1 /run/tutorials/icoFoam/cavit /run/tutorials/icoFoam/cavity/system--------> y/system--------> fvSchemes
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 . cavity
Supondo 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 comando interFoam . damBreak
Etapa de pós-processamento 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
Vector Plot
Passo a passo: highlighted ) o cavity.foam no 1) Verificar se está em “evidência” ( highlighted ) seletion window. 2) Filter-----> cell center ----->accept 3) Filter-----> glyph Scale Mode -> Data scaling off Scale Factor -> 0.005
Accept
Streamline Plot
obs: o usuário deve DESATIVAR os módulos rodados na etapa anterior. Passo a passo:
1) Filter-----> Extract Part Selecionar somente Internal mesh Accept
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.5 Int. Step Len -> cell lengh -> 0.01 Accept 3)Filter -> Tube Num Sides -> 20 Radius -> 0.0003 Radius Factor ->10 Accept
View more...
Comments