Posts

Showing posts from March, 2008

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 à linguage

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