Curso Introdutório OpenFOAM parte 1

October 28, 2018 | Author: Luiz Fernando L R Silva | Category: Linux, System Of Linear Equations, Library (Computing), Physics, Physics & Mathematics
Share Embed Donate


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

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF