Posts

Encontro de WebLogs Científicos

O Laboratório de Divulgação Científica é um blog que agrega um banco de dados com o endereço de blogs abordando temas científicos diversos. Inclusive, o Notas em CFD está na lista de blogs. Com o intuito de aumentar a divulgação da ciência (e dos blogs) no Brasil, está programado para os dias 11 e 12 de setembro de 2008 o I EWCLiPo - Encontro de WebLogs Científicos em Língua Portuguesa . O local do encontro será no Departamento de Física e Matemática (DFM) da Faculdade de Filosofia Ciências e Letras (FFCLRP) da USP Ribeirão Preto. Até o momento os temas propostos para as mesas redondas: O futuro da blogosfera científica. A questão da qualidade dos blogs científicos. Divulgar ciência: para que(m)? Os palestrantes confirmados foram: Cássio Leandro Dal Ri Barbosa (UNIVAP), do blog Observatório (Portal G1). Duílio Braz Jr. (ANGLO) do blog Física na Veia . Ildeu Moreira de Castro (MCT). Leandro Tessler (UNICAMP), do blog Cultura Científica . Lúcia Malla, do blog Uma Malla pelo mundo . Ma...

Bugs difíceis de achar

Image
Saiu um artigo na Wired News sobre os piores bugs da história . Entre eles estão a explosão de um oleoduto soviético em plena guerra-fria (como se não bastasse chernobyl), o primeiro worm da Internet (que se aproveita de um buffer overflow da função gets ) e o famoso erro de divisão em ponto flutuante do Pentium: um erro de cálculo de cerca de 0,006% que causou um prejuízo de 457 milhões de dólares para a Intel. Mas o que achei mais legal, apesar de não estar na lista, estava relacionado com o Mariner 1 , primeira espaçonave de um programa da NASA para pesquisar Marte, Vênus e Mercúrio em võos automatizados. O Mariner 1 não chegou a sair de órbita, pois houve uma falha na antena de comunicação entre módulos e um bug no programa do computador de bordo. Falava-se que o bug havia sido gerado ao trocar uma vírgula por um ponto em um loop escrito em FORTRAN. Apesar de não ter sido esse o causador da falha do computador da nave do projeto Mariner, ele existiu de fato em outro pro...

A condição de não- escorregamento

Image
Você já deve ter usado ou ouvido falar da condição de não-escorregamento , tradução de no-slip . Esta é uma condição física, onde um fluido em contato com uma superfície sólida possui velocidade nula em relação à superfície. Em outras palavras, a velocidade do fluido em contato com um contorno sólido é a mesma do contorno. Conceitualmente, as moléculas do fluido se prendem à superfície pela qual este escoa. Mas, Luiz F., do que você está falando afinal? Ok, vamos ver isso na prática? Neste vídeo, um fluido traçador é injetado no fundo de um canal onde água está escoando e forma uma camada que fica estagnada devido a condição de não-escorregamento. Conforme o traçador escoa para longe do fundo do canal percebe-se claramente o movimento da água. Note que o traçador fica estagnado no canal até que um gradiente de velocidade significante seja criado próximo ao fundo usando uma espátula (ou colher, ou pázinha, ou um treco ). Matematicamente, pode-se então dizer que: onde u é a velocidad...

Participe da Enquete no Notas em CFD

Image
Olá, O Notas em CFD está disponibilizando uma enquete para conhecer melhor seu leitor e que tipo de informação está sendo procurada. Nós temos várias idéias sobre diversos assuntos, mas queremos saber o que você leitor gostaria de encontrar aqui. No lado direito do blog (no alto da página) você encontrará a enquete com a pergunta "Qual assunto você gostaria que fosse mais abordado no blog? " e as seguintes opções: Conceitos básicos - Está começando a aprender CFD e quer mais informações? Métodos numéricos - Que tal analisarmos melhor a formulação dos métodos numéricos aplicados em CFD? Estudo de casos - Vamos analisar um caso e resolvê-lo? Programas CFD - Análise e dicas de uso de programas CFD. Curiosidades - Notícias e curiosidades sobre os trabalhos usando CFD no mundo. Se você já votou, obrigado pela participação. Se não, o que está esperando?? Participe!

Liberado o código fonte do CFX, FLUENT e PHOENICS

Em uma manobra inédita e conjunta, todos os pacotes CFD comerciais liberaram gratuitamente seus códigos fonte na internet. Ao verificar que seus pacotes CFD não fornecem um completo entendimento da modelagem e implementação numérica devido a falta de acesso a seus códigos, as empresas responsáveis se juntaram e entraram em acordo para liberar completamente o código fonte de seus softwares . Assim, o código fonte do CFX, FLUENT e PHOENICS está disponível de forma gratuita na internet (você pode baixar os códigos aqui ) e pode ser compilado em seu próprio computador. Diversos sistemas operacionais são suportados (Windows, Linux, MacOS, FreeBSD, DOS, etc). Além disso, vários flags , não disponíveis na versão comercial pré-compilada, podem ser ativados. Pelo visto, um flag para otimizar a execução do programa conseguiu ganhos de 110% na execução do PHOENICS e 210% no CFX ! Faltam os testes usando o FLUENT... Os códigos estão reunidos em um mesmo site e o download é realizado mediante um...

Linguagem de Programação no OpenFOAM III

Image
Este post é o último de uma seqüência que mostra conceitos e detalhes da linguagem de programação no OpenFOAM. Agora, por fim, vamos analisar uma biblioteca ( header ) usada em todos os códigos dos solvers do OpenFOAM, o fvCFD.H . Na declaração (ou uso) deste último, várias outras bibliotecas são definidas e fornecem acesso a vários comandos, operadores, funções, etc. implementados nas classes e templates do OpenFOAM. Vamos ao post! Estruturas das bibliotecas no OpenFOAM Como já foi mencionado, com base na programação orientada a objetos, as classes e template s podem encapsular tipos e operações sobre variáveis. Os arquivos que contém as classes são chamados de bibliotecas (ou headers ) com extensão *.H . As classes devem ser declaradas no início do código para que seja possível usar e acessar os comandos presentes na mesma. A principal biblioteca do OpenFOAM é a fvCFD.H , usada para acessar várias outras bibliotecas importantes para o funcionamento do código. Sendo assim, qualqu...

Feliz Páscoa!

Image
Antes que eu me esqueça, a equipe do Notas em CFD deseja a todos uma Feliz Páscoa ! Tomara que neste feriado seja finalmente possível descansar um pouco a cabeça. E depois a gente volta...

Começando a programar em C++

Resposta às dúvidas mais frequentes. 1. Quero me converter para o lado poderoso da força, mas essa história de C e C++ me confunde. O que é o quê? A linguagem C foi criada no início dos anos 70 para ser usada na programação do UNIX. Cansados de fazer tudo em Assembly , os programadores resolveram criar uma linguagem que fosse estruturada e que permitisse programação low-level ao mesmo tempo. Assim nasceu a linguagem C. /* Isso está em C */ #include stdio.h > #include string.h > int main() { int a = 15; int b = 20; char buffer[128]; /* uma string é um array (ou vetor) de bytes terminado por ASCII zero */ strcpy(buffer, "A variável [a] é "); if (a > b) strcat(buffer, "maior"); else strcat(buffer, "igual ou menor "); strcat(buffer, " que a variável [b]\r\n"); printf(buffer); return 0; } O C++ é uma evolução da linguagem C, e foi criada por Bjarne Stroustrup . Nessa evolução foi adicionado à linguagem C o conc...

O mundo em 64 bits

Image
A maior vantagem dos processadores de 64 bits em relação aos seu primos de 32 bits é o suporte para grande quantidade de memória . Na teoria, um processador de 64 bits pode alocar exabytes (bilhões de bilhões de bytes ) de memória RAM, enquanto os chips com 32 bits podem alocar no máximo 8 GB de RAM (usando componentes de hardware especiais - nunca vi ninguém com sistema 32 bits com mais de 2 GB de RAM). Além disso, as aplicações de 64 bits podem realizar operações de ponto flutuante (operações matemáticas envolvendo números reais) mais rápido que as aplicações específicas para 32 bits. Também necessária para renderização 3D e animações, as operações em ponto flutuante são tão importantes para a análises científicas que os FLOPS ( floating-point operations per second ) são usados para medir a performance de supercomputadores. A habilidade dos chips de 64 bits em processar operações de ponto flutuante mais rápida e com maior precisão (quase o dobro de casas decimais) que seus paren...

Linguagem de Programação no OpenFOAM II

Image
Neste post, vamos ver como os conceitos de orientação a objetos ajudam na interpretação de propriedades físicas pelo OpenFOAM. Interpretação da Linguagem pelo OpenFOAM A vantagem do uso da linguagem matemática é a eficiência em expressar conceitos abstratos. Por exemplo, no escoamento de um fluido, o termo "campo de velocidade" possui um significado mesmo sem qualquer menção à natureza do escoamento ou qualquer dado específico de velocidade. O termo encapsula a idéia de movimento com direção e magnitude e a relação com outras propriedades físicas. Na matemática, pode-se representar o campo de velocidades por um único símbolo, por exemplo, u , e expressar certos conceitos usando símbolos, por exemplo, o campo de magnitude de velocidade como | u |. Assim, se torna possível expressar conceitos complexos com extrema clareza. As equações da mecânica do contínuo são usualmente apresentadas como equações diferenciais parciais em 3 dimensões no espaço e com variação no tempo. Esta...

OpenFOAM e 64 bits

Este post responde a um comentário muito relevante do Délio sobre a instalação do OpenFOAM em sistemas 64 bits, os arquivos .bashrc no Linux e o uso do foamInstallationTest. Veja a pergunta do Délio no post da instalação do OpenFOAM e a sua resposta está colocada abaixo. Olá Délio, Agradeço muito pelo seu comentário. O objetivo desse blog é aumentar mesmo a interação entre os usuários de CFD. Bem, como você é novo no Linux, vou comentar antes sobre o arquivo .bashrc . O arquivo .bashrc que está no seu diretório HOME é lido toda a vez que você entra no Linux. E relido sempre que você entra no terminal. Então veja a sequência de fatos... Você entra no terminal e a linha de configuração do OpenFOAM, . $HOME/OpenFOAM/OpenFOAM-1.4.1/.OpenFOAM-1.4.1/bashrc é lida e executa o arquivo bashrc do OpenFOAM. Esse arquivo fornece ao sistema todas as configurações necessárias para executar o OpenFOAM. Beleza! Só que esse arquivo não diz se o sistema é 32 ou 64 bits.... (Na minha opinião, isso é me...

No limite da Fluidodinâmica

Image
Em trabalhos recentes existe grande interesse em explorar as interações entre líquidos e superfícies. Estes estudos possuem aplicações que vão da produção de superfícies altamente repelentes a água a tecidos anti-mofo e muito mais. O completo entendimento sobre o que acontece em uma superfície e como isso influencia as propriedades no seio do líquido é uma tarefa desafiadora devido aos limites de escala envolvidos no processo. Veja a cavitação como exemplo: quando as hélices de um navio giram suficientemente rápido, a pressão ao longo do caminho das hélices cai substancialmente permitindo que o gás dissolvido na água forme bolhas. Estas bolhas reduzem a eficiência da hélice, geram muito barulho (muito ruim se o objetivo é se manter quieto) e causa erosão na hélice. As bolhas normalmente se formam em uma escala nanométrica e crescem rapidamente a escalas micro ou milimétricas antes de colapsarem conforme a pressão volta ao normal. Assim, para entender a cavitação deve-se lidar com fenôm...

Linguagem de Programação no OpenFOAM I

Uma das dificuldades inerentes aos novos desenvolvedores são referentes aos conceitos e a sintaxe básica de programação no OpenFOAM, sejam eles leigos em programação ou não. Uma boa fonte para o leitor interessado é estudar C++ pelos livros do Deitel (as edições anteriores possuem versão em português) e do Yang (ótimos exemplos aplicados a métodos numéricos). Gosto muito desse último. Atualmente, as únicas fontes sobre programação no OpenFOAM estão em seus manuais ( User's Guide e Programmer's Guide ). Porém, ao meu ver, estes não são suficientes para que o usuário iniciante seja capaz de escrever seu próprio solver , sendo necessário um certo esforço para estudar os códigos existentes, a estrutura e o funcionamento dos algoritmos implementados. Em uma seqüência de 3 posts, vou tentar passar os conceitos básicos sobre orientação a objetos (com ênfase e aplicações em C++) e a minha experiência no aprendizado da linguagem do OpenFOAM, evitando entrar em detalhes sobre sintaxe...

CFD em Esportes - Quebra de recordes

Complementando um post anterior . Uma rapidinha... Novamente, simulações CFD foram usadas para analisar as causas do arrasto na pele e, assim, projetar uma roupa especial com o intuito de reduzi-lo. Outro ponto interessante é que as simulações também são usadas no treinamento dos atletas, mostrando até os efeitos causados pela posição dos dedos na performance do nado. Recentemente, saiu o anúncio de mais um avanço na tecnologia de roupas de natação, a Speedo LZR Racer swimsuit . Na semana em que foi lançada, três recordes mundiais já foram quebrados. Esta nova roupa reduz a arrasto em 5% em relação a roupa projetada no ano passado (o que é um avanço significativo). Bem, o preço dessa belezinha gira em torno de 320 libras (mais ou menos 1200 reais - sem contar os impostos de importação). Enquanto o preço não baixa, acho que vou continuar a quebrar os meus próprios recordes usando apenas minha touquinha de borracha de 15 reais. Veja a notícia completa aqui . Ps. Devia cobrar pela propag...

OpenFOAM como Ferramenta CFD

Image
Para resolver um problema CFD é necessário passar pelas seguintes etapas: a geração de geometria e malha, um pré-processamento (organiza as informações do problema), a solução numérica que resolve as equações e o pós-processamento para mostrar os resultados simulados em forma gráfica. A seqüência aborda as capacidades básicas do OpenFOAM como uma ferramenta CFD. Maiores detalhes podem ser encontrados no guia de usuário ( User's Guide ) e no guia do programador ( Programmer's Guide ) que acompanham o software (presentes no diretório OpenFOAM- versao /doc/Guides-a4 ). Estrutura de Arquivos da Simulação Cada caso a ser simulado no OpenFOAM segue uma estrutura de diretórios que contém os arquivos que configuram o mesmo. Estes arquivos possuem as informações necessárias para simular o caso, como a descrição da geometria, detalhes da malha e condições de contorno, parâmetros sobre os métodos numéricos, assim como as propriedades físicas do problema. A estrutura de diretórios pode ser...

Exercício para você

Ok, ok... É a última de hoje! Calcule a função vorticidade do aparato demonstrado no vídeo em anexo. Brincadeira! Mas o chafariz (se é que se pode dizer isso) ficou muito legal, não? Veja mais aqui .

Uma visão geral do pacote CFD OpenFOAM

Resolvi postar aqui a série de artigos que eu escrevi sobre o OpenFOAM e estavam sendo colocadas no CFD-Brasil . Introdução Sem dúvida alguma, os pacotes CFD facilitam a análise de uma ampla faixa de condições de escoamento. A importância dos pacotes CFD têm crescido muito nos últimos anos devido à confiabilidade e à rapidez dos resultados assim obtidos e à economia frente a testes experimentais. Este fato se deve aos avanços em termos de modelagem dos fenômenos físicos, das técnicas numéricas para solucionar o problema e da capacidade computacional. Como consequência, além da facilidade de uso, a atualização das técnicas presentes nos códigos CFD e o desenvolvimento de novas metodologias numéricas e modelos físicos devem sempre ser pontos cruciais em CFD. Desta forma, é interessante que o usuário possa interagir intimamente com o pacote, possibilitando a extensão do código para aprimorar a ferramenta ou mesmo implementar novas formas de solucionar um problema específico. D...