estudo da simulação de fluidos com o método dpd

52
UNIVERSIDADE ESTADUAL DE CAMPINAS FACULDADE DE ENGENHARIA MECÂNICA DEPARTAMENTO DE MECÂNICA COMPUTACIONAL TRABALHO DE GRADUAÇÃO EM ENGENHARIA DE CONTROLE E AUTOMAÇÃO Daniel Scalioni Carvalho Estudo da simulação de fluidos com o método DPD Campinas / SP 2013

Upload: dangdat

Post on 09-Jan-2017

215 views

Category:

Documents


0 download

TRANSCRIPT

UNIVERSIDADE ESTADUAL DE CAMPINAS

FACULDADE DE ENGENHARIA MECÂNICA

DEPARTAMENTO DE MECÂNICA COMPUTACIONAL

TRABALHO DE GRADUAÇÃO EM ENGENHARIA DE CONTROLE E AUTOMAÇÃO

Daniel Scalioni Carvalho

Estudo da simulação de fluidos com o método DPD

Campinas / SP 2013

Daniel Scalioni Carvalho

Estudo da simulação de fluidos com o método DPD

Trabalho de Graduação apresentado como exigência parcial para obtenção do Diploma de Graduação em Engenharia de Controle e Automação da Universidade Estadual de Campinas.

Orientador: Prof. Dr. Luiz Otávio Saraiva Ferreira

Campinas / SP 2013

3

Agradecimentos

Primeiramente agradeço a Deus por ter me dado saúde, inteligência, paciência e

perseverança não só para finalizar este trabalho de graduação, mas também, por todo o

percurso acadêmico que realizei nesta tão almejada Universidade.

Minha mãe, Natalia Scalioni, e, meu pai, José C. Carvalho, que sempre me instigaram a

ter fome de conhecimento e a não me contentar com pouco, a não ser uma das melhores

universidades do país.

Agradeço minha noiva Débora C. Cantador que sempre esteve ao meu lado, me

apoiando em qualquer que seja a ocasião, tanto na vida da faculdade quanto fora dela. Sem

mencionar sua família que me apoiavam a cada passo mais duro que eu queria dar.

Os amigos da faculdade também foram essenciais, em especial minha cavalaria de

estudos, integrada por Leonardo Reis e Leonardo Junqueira, com algumas ajudas essenciais

de Conrado Miranda.

Sem se esquecer do grupo de pesquisas, liderados pelo professor Luiz Otávio Saraiva

Ferreira, que a qualquer dúvida ou problemas de software estavam ali prontos para

compartilhar suas experiências para que todos saíssem ganhando.

Mas ai vai um agradecimento especial ao professor, orientador e amigo que me

acompanhou por 3 anos, desde o dia em que bati à porta dele, como um novato, querendo

participar de uma iniciação científica.

E finalmente, agradeço a universidade que sempre me forneceu todos os recursos

necessários para a melhor formação que eu poderia ter.

4

Sumário

AGRADECIMENTOS ......................................................................................................... 3

RESUMO ..................................................................................................................... 4

1. INTRODUÇÃO ....................................................................................................... 5

2. FUNDAMENTAÇÃO TEÓRICA ..................................................................................... 7

3. MÉTODOS ......................................................................................................... 27

4. RESULTADOS E DISCUSSÕES ................................................................................... 32

5. TRABALHOS FUTUROS .......................................................................................... 41

6. CONCLUSÃO ....................................................................................................... 41

7. BIBLIOGRAFIA ..................................................................................................... 43

ANEXO A – ARQUIVO DE CONFIGURAÇÃO DO HOOMD-BLUE ................................................... 48

ANEXO B – PROGRAMA EM MATLAB ............................................................................... 50

Resumo

Este trabalho trata da validação do simulador Hoomd-blue na simulação de fluidos em

microcanais usando o método DPD (Dissipative Particle Dynamics). A diferença do Hoomd-

blue é a utilização intensiva de GPGPUs (General-Purpose Graphics Processing Units) na

aceleração do processamento dos cálculos massivos necessários em dinâmica de partículas.

O trabalho consiste em gerar um script de simulação que reproduz o deslocamento de um

fluido num tubo de seção quadrada, e assim, evidenciar, inicialmente, qualitativamente o

perfil parabólico de velocidades. Com isso, será possível obter o perfil de velocidades das

partículas ao longo de uma seção do tubo e compará-lo com resultados analíticos e da

própria literatura.

Palavras-chave: SIMULAÇÃO, DPD, DINÂMICA MOLECULAR, GPGPU, SISTEMAS DE

PARTÍCULAS.

5

1. Introdução

1.1. Apresentação

A miniaturização de dispositivos é um processo extremamente comum no âmbito da

eletrônica. Visa minimizar perdas em espaço físico, potência utilizada e principalmente de

recursos de manufatura, deixando-os mais atrativos para sua comercialização. Com esse

mesmo intuito, outros tipos de dispositivos estão sendo miniaturizados, e são

genericamente chamados de MEMS (Micro-Eletro-Mechanical Systems) [1].

O universo dos dispositivos MEMS é extremamente vasto, com aplicações nas áreas de

telecomunicações, automobilística, medicina, farmacêutica, química, etc. Nas áreas de

química e bioquímica, o interesse maior é em dispositivos microfluidicos tais como reatores

[2] [3] ou controladores de formação de gota [4], dentre outras aplicações [5].

Estes dispositivos são um subconjunto do MEMS chamados Lab-on-a-chip [6]. Esta

nova tecnologia representa uma revolução nos experimentos laboratoriais. Atualmente,

estas aplicações são as que mais usufruem das descobertas em microfluidica. O

desenvolvimento e aperfeiçoamento destes microlaboratórios se baseiam em simulações de

microfluidos. Existem vários métodos de simulação fluidica [7] [8], no entanto, foi nesta

década que os métodos de partículas [9] se tornaram mais acessíveis apresentando

importantes vantagens para microdispositivos.

A utilização de métodos de partículas era restrita devido ao longo tempo de

processamento requerido em computadores convencionais. No entanto, hoje é uma das

áreas que mais há pesquisas em métodos numéricos, pois, com o advento de processadores

massivamente paralelos, o tempo de execução reduziu-se a patamares competitivos com os

métodos convencionais. Estes processadores são as chamadas GPGPU [10] que, utilizando-se

do paradigma de processamento e programação paralelos, conseguem ter desempenhos

muito superiores que das CPUs a custos e consumo de energia muito menores.

Um dos problemas da comunidade científica na utilização de todo esse potencial é a

migração para este novo paradigma. Para resolver isso que o Hoomd-blue está sendo

desenvolvido. No seu estado de desenvolvimento atual o Hoomd-blue roda em uma única

GPU NVIDIA, e é programado na linguagem CUDA C. Seu desempenho é superior a um

6

simulador semelhante rodando em um cluster de CPUs com qualquer número de núcleos

maior que 32, quantidade, a partir da qual, os custos de comunicação pioram o

desempenho. Está também em desenvolvimento uma versão multi-GPU.

1.2. Motivação

O Hoomd-blue é utilizado no Laboratório de Simulações Multifísicas, dirigido pelo meu

orientador, Prof. Dr. Luiz Otávio Ferreira, para a simulação de flúidos em microcanais, com

potencial de aplicação em problemas das áreas médica [11], farmacêutica [5], química [12],

dentre outras.

Esse software está sendo utilizado para que o grupo ganhe experiência na modelagem

de problemas de microfluidica com o método DPD, enquanto um simulador dedicado está

sendo desenvolvido para execução em cluster de GPUs. Portanto é importante que os

resultados obtidos com o Hoomd-blue sejam validados, pois serão utilizados posteriormente

para validação do novo simulador.

1.3. Objetivos

1.3.1. Objetivo Geral

Validar o resultado gerado pelo software Hoomd-blue, utilizando o método DPD, na

simulação de um sistema fluidico no interior de um tubo retangular com base em literaturas

e resultados analíticos.

1.3.2. Objetivos Específicos

1. Configurar um ambiente para a utilização do software Hoomd-blue.

2. Programar o software para realizar a simulação proposta.

3. Avaliar a resposta gerada pelo software do perfil de velocidades do fluido

tomando-se como base soluções analíticas consagradas da literatura bem como

resultados oriundos de outros simuladores padrões na comunidade.

7

2. Fundamentação Teórica

2.1. Microfluidica

Fluido é uma substância que se deforma continuamente sob a aplicação de uma

tensão de cisalhamento (tangencial), não importa quão pequena ela seja [13]. No entanto,

esta definição é muito abrangente para os fluidos tratados neste trabalho. Microfluidica

envolve não só o fluido, mas também o trabalho de lidar com pequenos volumes, pequenos

tamanhos, baixo consumo de energia ou propriedades do fluido distintas das que,

normalmente, vemos nos fluidos macroscópicos.

A miniaturização leva a vários benefícios. Além dos benefícios encontrados quando se

miniaturiza componentes eletrônicos, como redução da perda de produtos, do custo e de

energia consumida, existem também: facilidade do controle de temperatura, uma vez que

pequenos volumes facilitam a difusão de calor; rapidez e precisão em reações químicas

devido à grande superfície de contato se comparado ao pequeno volume; e a utilização do

fluxo laminar contínuo em microcanais viabilizando novos métodos para realização de

procedimentos químicos [14].

Estes novos comportamentos em micro escala se devem ao baixo número de Reynolds

(Equação 1) que tende ao predomínio dos efeitos viscosos na dinâmica do fluido. Esta

propriedade é a mais importante para a determinação do regime de escoamento do fluido.

Nos casos em que o número de Reynolds é grande, a camada limite se desprende mais

facilmente fazendo com que o fluxo turbulento predomine, gerando flutuações caóticas nas

velocidades das partículas e aumentando a queda de pressão se comparado ao fluxo

laminar.

Equação 1 - Equação do número de Reynolds leva em consideração a densidade , a velocidade V, o comprimento característico do canal L e da viscosidade do fluido .

A seguir, exemplos de fluxos predominantemente laminares em comparação a um

fluxo turbulento.

8

Figura 1 - Numero de Raynolds variando de 1 a 100 gerando fluxos laminares.

Figura 2 - Numero de Re = 104.

Para um fluxo em um tubo de seção circular o número de Reynolds crítico, limiar ao

regime laminar para o turbulento, é de aproximadamente 2.300 [15].

Figura 3 – Simulação de escoamento laminar.

Figura 4 – Simulação de escoamento turbulento.

Fonte: NVIDIA. [7]

Considerando estas propriedades, a previsão do comportamento de fluidos em regime

laminar é muito mais segura do que em regime turbulento. Logo, simulações de dispositivos

9

microfluidicos são ferramentas confiáveis para desenvolvimentos e otimizações de novos

instrumentos tecnológicos.

No entanto, o trabalho com pequenas dimensões não tem somente vantagens. Esse

comportamento bem determinado pode ser considerado somente para sistemas

monofásicos, e suas simulações perdem confiabilidade à medida que o sistema passa a ser

mais complexo. A união de diferentes fases leva a dinâmicas ainda mais complexas como os

vórtices oriundos de forças centrífugas, chamados vórtices de Dean. Estes vórtices são muito

comuns em canais complexos, como microreatores químicos (Figura 5), mas também

aparecem em sistemas simples, como escoamentos de gotas por dentro de microcanais

(Figura 6).

Figura 5 – Exemplo de um microreator.

Fonte: Chemical Engeneering Science. [16]

Figura 6 – Uma gota de água passando por dentro de um

tubo

Fonte: Dynamics of microfluidic droplets. [17]

Portanto, a pesar de sistemas microfluidicos serem bem mais comportados que

sistemas turbulentos, os simuladores de microdispositivos têm um longo trabalho para

abranger todas essas dinâmicas. Um dos métodos de simulação que vem sendo muito

estudado e aperfeiçoado é o método DPD [18].

2.2. Método de Partículas Fluidicas (MPF)

Há diversos tipos de métodos de microsimulação [9], sejam eles baseados em malhas

computacionais, como o método CFD (Computational Fluid Dynamics) [19] [20], métodos

baseados em superfícies, como o método meshless Volume of Fluid [21], métodos híbridos,

como o SPH (Smoothed Particle Hydrodynamics) [22], ou mesmo métodos baseados em

partículas, como SDPD (Smoothed Dissipative Particle Dynamics) [23] e MD (Molecular

Dynamics) [24].

10

Figura 7 - Simulação de recirculação

em CFD.

Fonte: Biomech Model Mechanobiol [20]

Figura 8 - Simulação da

hidrodinâmica do peixe com método meshless.

Fonte: 16º POSMEC [21]

Figura 9 - Simulação SPH da quebra de

uma barragem.

Fonte: Tese Doutorado PUC/RJ [22]

Figura 10 – Simulação de um polímero em SDPD.

Fonte: IOPScience. [23]

Figura 11 - Membrana química simulada por MD.

Fonte: Journal of Physical Chemistry [24].

Cada um desses métodos de simulação possui diferentes nichos de abrangência.

Alguns possuem melhores resultados para simulações em larga escala, como moldagem de

metal líquido e dinâmica de ondas nas praias, outros modelam melhor iteração entre

partículas atômicas e propriedades físicas predominantes no ambiente microscópico.

De acordo com [18], há duas abordagens a se considerar para saber qual método

utilizar. A abordagem macro-microscópico e a abordagem micro-macroscópico.

Na primeira abordagem o estudo inicia-se com as equações de Navier-Stokes (Equação

2) para simulações de fluidos com grandes escalas de viscosidade, de densidade e de tempo.

A medida com que essas propriedades diminuem, outros métodos devem ser considerados,

passando por CFD, SPH e SDPD.

Equação 2 - Equação classica de Navier-Stokes para fluidos incompressíveis, na qual ρ é a densidade do fluido e η a viscosidade, v o vetor velocidade, g o vetor aceleração de campo e P a pressão no fluido.

11

Na segunda abordagem as simulações tentam determinar grosseiramente a dinâmica

detalhada do sistema e conforme ele aumenta em tamanho, propriedades microscópicas

são retiradas por não serem tão influenciáveis no sistema, e assim os métodos vão se

alterando do MD às equações de Langevin (Equação 3) [25].

Equação 3 - Equação de Langevin, na qual, além da força externa Fi, o coeficiente de atrito e forças aleatórias R influenciam na aceleração da partícula.

O método DPD proposto por (Steiner, Thomas (2009) [18]) leva em consideração essas

duas abordagem e indica um método mais robusto da representação realística de problemas

microfluidicos.

2.2.1. Método DPD

O método DPD que foi originado por Hoogerbrugge e Koelman tinha muitas limitações

como a não representação de fluidos complexos como polímeros e fluidos coloidais. O

método original foi baseado no método LGA (Lattice Gas Automata) [26] e em poucos anos

teve várias aplicações em mecânica estatística.

2.2.1.1. Equações de Movimento

A dinâmica do fluido é representada com iterações entre pares de partículas fluidicas.

Esta dinâmica é regida pela 2ª Lei de Newton.

Equação 4 - Equação de movimento de Newton.

A força associada ao movimento das partículas pode ser subdividida em quatro forças

distintas.

Equação 5 – Forças presentes na simulação do método DPD.

12

A primeira é a força conservativa (Equação 6), atribuída ao potencial suave que pode

ser aproximado pelo efeito da pressão entre diferentes partículas. Por ter esse potencial

suave, pode se considerar um tempo de integração grande no momento da simulação,

muito maior que no caso de MD.

{

( )

Equação 6 - Força conservativa da partícula fluidica.

Esta força atua até certa distância ente as partículas, chamada de raio de corte (rc). O

parâmetro define a magnitude da força entre partículas de diferentes grupos. A função

determina a influência do raio de corte entre as partículas e o vetor a

direção normal da colisão entre as partículas. A figura a seguir explicita a atuação da força

conservativa em magnitude e direção.

Figura 12 - a) Função de magnitude da força conservativa dependente da distância entre as partículas. b) Exemplificação de uma colisão entre partículas fluidicas e suas respectivas velocidades no momento do choque.

Fonte: Microfluid Nanofluid (2009) [27].

A segunda é a força dissipativa (Equação 7), oriunda das forças de atrito entre as

partículas, tem como objetivo diminui a quantidade de movimento relativo das partículas.

13

{

( )

Equação 7 - Força dissipativa.

Nesta equação tem-se que é o coeficiente de amortecimento que governa o

resfriamento do sistema. O produto escalar é a componente da velocidade

relativa da partícula na direção da colisão, melhor visualizada na Figura 12. E a função de

ponderação será descrita mais adiante, pois depende do teorema da flutuação-

dissipação que deve ser respeitado através das forças dissipativas e aleatórias.

A terceira é a força aleatória, que é estocástica e obedece à distribuição Normal [27]

tendendo a caotizar o sistema. Esta força é responsável pelo movimento Browniano das

partículas, ou seja, o movimento aleatório determinante para o aquecimento do sistema.

{

( )

Equação 8 - Força aleatória.

O coeficiente determina a amplitude da variável aleatória . Essas duas últimas

forças, FD e FR, influenciam diretamente na viscosidade do fluido e agem de forma a deixar o

sistema em uma temperatura T.

A última força é a força externa que pode ser exemplificada pela força da gravidade.

A variável aleatória de é quem insere a distribuição Gaussiana na equação da força,

e desta forma faz com que a esperança da força aleatória entre duas partículas seja sempre

zero. Juntamente com a escolha de um valor constante para o coeficiente de amortecimento

, estas propriedades satisfazem o teorema de flutuação-dissipação que determina os

outros parâmetros das forças, e ( ) ( )

( ), na qual é

a constante de Boltzmann.

Com estas assertivas pode-se dizer, por saber-se que o sistema obedece à 3ª Lei de

Newton e que o número e o momento das partículas permanecerão constantes, que o

14

sistema é hidrodinâmico [18]. Deste modo podem ser determinados os parâmetros físicos

como pressão e densidade.

2.2.1.2. Abrangendo rotações

Com o intuito de ampliar o âmbito de sistemas que podem ser simulados pelo método

DPD, este foi melhorado para que abrangesse também sistemas que dependem do

momento rotacional das partículas. Logo passou a representar não somente uma força

no sentido da normal da colisão, mas também uma combinação desta com a força de

cisalhamento perpendicular à normal da colisão.

Figura 13 - a) Forças dissipativas normais. b) Forças dissipativas perpendiculares.

Da mesma forma como na equação do movimento linear, o movimento angular é

regido pela Lei de Newton-Euler.

Equação 9 - Equação de euler do movimento de rotação, sendo que

é um fator referente ao contato de

partículas de diferentes tamanhos e é a inércia da partícula fluidica.

Com o incremento desta componente na força dissipativa, a força aleatória deve se

modificar para que o teorema de flutuação-dissipação ainda valha e para que o sistema se

mantenha na mesma temperatura. Portanto, as novas equações das forças dissipativas e

aleatória são:

15

( )( )

( )( ) ( )

Equação 10 - Equação da força dissipativa com dinâmica rotacional.

√ (

√ [

] )

Equação 11 - Equação da força aleatória para suprir a nova força dissipativa.

Sendo que e

são as componentes simétricas e assimétricas,

respectivamente, da matriz de ruído da distribuição Gaussiana.

O método DPD também foi aprimorado para tratar fluidos multifásicos e corpos

rígidos. O leitor encontrará maiores detalhes nas referências bibliográficas.

2.3. Programação paralela e GPU Computing

Na ultima década, as empresas fabricantes de processadores mudaram o conceito no

desenvolvimento de seus produtos. Pode-se observar que as gerações recentes de

processadores não possuem maiores frequência de operação que as gerações passadas, mas

sim, maior número de cores independentes. Esta mudança de pensamento foi oriunda de

dois motivos: o exagerado aquecimento e consumo de energia necessários para a

implementação de um novo processador com frequência ainda maior; e o surgimento

promissor dos processadores gráfico de propósito geral, as GPGPUs, com dezenas ou

centenas de processadores independentes.

Os processadores gráficos primários eram destinados à simples transferência de dados

para o monitor, avançando, nas versões posteriores, para o processamento de

transformações geométricas e iluminação. A revolução se iniciou na terceira geração de

GPUs, que com o processamento paralelo de texturas proporcionou um método rudimentar

de programação em suas arquiteturas paralelas [28]. Nas arquiteturas mais novas, as GPUs

evoluíram para unidades de processamento gráfico de propósito geral, as quais ganharam

linguagens de programação de alto nível [29] e algumas famílias de GPUs foram

desenvolvidas exclusivamente para este motivo, como é o caso da família TESLA [30].

16

Figura 14 - Evolução desde 2003 da largura de banda das memórias comparando-se CPUs e GPUs

Fonte: NVIDIA. [30]

Figura 15 - Evolução desde 2003 da taxa de processamento de diferentes tipos de GPU comparada à de CPUs.

Fonte: NVIDIA. [30]

O surgimento das linguagens de programação, que ainda estão em desenvolvimento,

como é o caso do CUDA e do OpenCL, ocasionou um grande impacto na comunidade de

desenvolvimento de softwares [31]. Criando-se o conceito de GPU Computing, que é o

emprego de placas gráficas modernas para processamento de aplicações altamente

paralelizáveis e com grande volume de dados [28].

Figura 16 – Separação das linguagens para GPUs em diferentes níveis de programação.

Fonte: GPU Programming Strategies. [29]

17

Além das linguagens, várias técnicas de programação estão em estudo para tornar

estas ferramentas ainda mais potentes. O OpenCL é uma linguagem open source que foi

criada recentemente pelo Khronos Group [32], para ser um ambiente de programação de

processamento paralelo voltado à sistemas híbridos, sejam eles constituídos de CPUs, GPUs

ou ambos. A linguagem CUDA foi criada pela NVIDIA [33], e é a mais estabelecida no

mercado por possuir vários recursos e alta performance, mas é exclusiva de suas próprias

GPUs.

A programação paralela está expandindo sua abrangência para todas as áreas da

computação, desde o projeto de hardwares, como os novos chips da INTEL, até em sites com

aceleração via GPGPU devido às linguagens como WebGL e WebCL. Logo, o paralelismo de

informações ou de tarefas tornou-se o futuro da computação [34], como é o caso do

desenvolvimento do Hoomd-blue [35] e outras aplicações em simulação de partículas [36].

2.4. Medição de Propriedades em Simulações Computacionais

A utilização de simulações computacionais normalmente está relacionada com

soluções numéricas de problemas dificilmente resolvidos analiticamente. Para que a

resposta vinda do computador seja estável e de acordo com a realidade é preciso que os

erros provenientes da simulação sejam minorados.

Esses erros são oriundos da discretização, no tempo e/ou no espaço, do problema e do

erro numérico devido à limitação na representação dos números inerente a todo

computador.

Visando contornar esse problema, há duas abordagens que podem ser executadas.

Quando se consegue um modelo matemático relativamente fiel, o número de subdivisões

necessárias no domínio pode ser reduzido deixando a cargo do modelo a correta

representação do sistema, ou então, pode-se subdividir o sistema tentando abranger até a

menor física relevante e deixar o modelo como sendo mais simplista, fazendo com que o

poder computacional seja o limitante na evolução do sistema. A abordagem dos programas

de simulação tem partido para a segunda opção levando a um nível microscópico o cálculo

da física das partículas.

18

No entanto, as propriedades físicas do fluido que se deseja obter, como a temperatura

e densidade, não são definidas na escala da simulação, mas sim em uma escala

macroscópica. Para avaliar essas propriedades são utilizados métodos estatísticos que a

partir dos estados de cada partícula determinam o estado macroscópico do sistema. Esse

problema é abrangido pela Teoria Cinética dos Gases.

A Teoria Cinética dos Gases iniciou-se em 1738 com a definição de que a pressão de

um gás ideal se deve as colisões dadas pelas partículas que o constituem na superfície do

volume que o abriga.

Assim, entre muitas propriedades, como energia cinética, temperatura, momento

vetor e outros, a distribuição da velocidade das partículas em um ambiente estático pode ser

determinada pela Lei de Distribuição das Velocidades Moleculares (distribuição de

velocidade de Maxwell-Boltzman). Dada pela Equação 12.

[

]

Equação 12 – Distribuição de velocidades em uma única direção.

Isso mostra que a média das velocidades devido à agitação das moléculas, em uma

determinada temperatura, é zero. Ou seja, a velocidade das partículas é puramente

aleatória e seu desvio padrão, nas três dimensões, pode ser determinado pela Equação 13.

Equação 13 – Desvio padrão de uma determinada velocidade nas partículas submetidas a uma temperatura.

2.4.1. Filtro de Velocidades

Para um sistema cujas partículas possuem velocidade relativamente baixa, tem-se a

necessidade de reduzir esse fenômeno de aleatoriedade da energia cinética das partículas

devido à temperatura. Neste caso é possível utilizar um filtro, igualmente feito em filtragem

19

de imagens, o qual a velocidade do fluido em certo ponto pode ser obtida pela média das

velocidades das partículas ao redor.

Esta técnica é utilizada em filtragem de imagens para remover ruídos pontuais da

imagem. Como mostrado na figura a seguir.

Figura 17 – Imagem com ruidos chamados “Salt and

Pepper” Noise.

Fonte: Lode's Computer Graphics Tutorial - Image Filtering. [37]

Figura 18 – Imagem após a aplicação do filtro de média.

Fonte: Lode's Computer Graphics Tutorial - Image Filtering. [37]

Este filtro é realizado pela convolução dos dados de entrada com uma função, que no

caso é a função de média. Esta operação é sistematizada da seguinte forma:

Equação 14 – Operação de convolução, na qual h é a função de saída, f a função de entrada e g a função filtro.

Figura 19 – Sistema de blocos da convolução.

Fonte: Machine Vision – Capitulo 4, pg 116. [38]

A convolução de duas funções contínuas é determinada pela seguinte fórmula.

20

∫ ∫

Equação 15 – Função de convolução de funções contínuas.

No entanto, em imagens é mais comum utilizar a formulação discreta, já que o espaço

é discretizado em pixels.

[ ] [ ] [ ] ∑∑ [ ] [ ]

Equação 16 – Equação discreta da convolução.

Exemplificando, admita-se uma imagem com ruídos. Cada pixel (P) da imagem será

convoluido com uma matriz de convolução (A) para a eliminação do ruído. Esta operação é

realizada da seguinte forma.

Figura 20 – Exemplo de convolução discreta em figuras.

Fonte: Machine Vision – Capitulo 4, pg 117. [38]

A imagem mostra o pixel (h[i,j]) sendo atualizado pela convolução de sua matriz P

(f[i,j]) pela matriz de convolução A (g[i,j]).

21

Neste caso temos uma acumulo de brilho (ou energia cinética no caso do estudo das

velocidades, i.e. no caso aqui abordado) na utilização deste método. Portanto, ao atualizar

uma posição h[i,j] é necessário normalizar o resultado. Esta normalização é realizada

dividindo-se o resultado (h[i,j]) pela soma das grandezas de g[i,j].

[

]

[

]

(a) (b)

Figura 21 – Exemplo de matriz de convolução normalizadas. a) uma matriz de convolução de 3x3 e em b) uma matriz de convolução 5x5.

É importante ressaltar que as matrizes de convolução devem ter uma célula central, a

qual influenciará diretamente no pixel examinado da imagem. Ou seja, as matrizes precisam

ser de dimensões ímpares.

2.5. Hoomd-blue

Hoomd-blue é um software open source, desenvolvido em CUDA C que usa

processadores gráficos (GPU) da NVIDIA para simulação de dinâmica de partículas.

Desenvolvido pelo departamento de engenharia química da universidade de Michigan e teve

sua primeira versão em 2009.

Desde lá, o programa obteve muitas contribuições e com isso cresceu rapidamente.

Atualmente, na versão 0.10.1 (momento em que este trabalho foi iniciado), possui

implementado, diversos métodos de partículas, várias condições de contorno, vários

métodos de integração, além de ser facilmente configurável por arquivos externos ao código

e exportar resultados tanto para análise quanto para a visualização da simulação. A seguir,

imagens dos sistemas que podem ser simulados no software.

22

Figura 22 - Slide de demonstração das possíveis dinâmicas que podem ser simuladas pelo Hoomd-blue.

Fonte: Slides Advancing GPU Molecular Dynamics. [39]

Alguns dos métodos de partículas contidos no software são: CGCMM, EAM (embedded

atom mthod), Gaussian, Lennard-Jones, Yukawa, além do DPD que será estudado neste

trabalho.

O projeto Hoomd-blue, tem a finalidade de facilitar o contato com a tecnologia da

simulação de dinâmica de partículas utilizando-se de processamento paralelo. Deste modo, a

comunidade interessada está alavancando suas pesquisas e desenvolvimentos, devido a sua

versatilidade na gama de opções de métodos para simulação, a sua velocidade com o uso do

processamento paralelo em GPUs e CPUs, e a sua facilidade, com modos de configurações

práticos.

Apesar das facilidades na execução de um sistema desejado, devido ao seu método

básico de configuração via Python script, o software também possui recursos avançados.

Com isso, tem-se a possibilidade de: implementação de plugins para uso de programação

adicional; utilização do software VMD para visualização da simulação online ou gravada em

arquivo XML; exportação de dados das posições das partículas para arquivo DCD para

posterior análise; além de outros recursos.

23

2.5.1. Método DPD no Hoomd-blue

A programação de um método de partículas é, basicamente, dividida em três etapas:

1) dada uma partícula do sistema, obter a lista de suas partículas vizinhas; 2) calcular as

forças oriundas da interação entre essas partículas; 3) realizar a dinâmica da força aplicada

às partículas através do tempo discretizado por meio de um método de integração.

A evolução do método DPD, no Hoomd-blue, foi concretizada com base no estudo

realizado por Phillips et al [40]. Neste estudo, o autor indica uma forma mais rápida,

utilizando GPUs, de obter números estocásticos para o cálculo das forças aleatórias.

Há três maneiras de simular o comportamento de partículas fluidicas, no software,

pelo método DPD. Uma forma é o método normal, semelhante ao mostrado na seção 2.2.1,

outro é excluindo-se a assertiva da natureza térmica e o ultimo, substituindo-se o cálculo da

força conservativa por um calculo que inclui a dinâmica entre partículas de Lennard Jones.

2.5.1.1. DPD Termostato (clássico)

Análogo ao método descrito por Steiner, o programa implementado utiliza-se das

equações de força conservativa, força dissipativa e força aleatória para o cálculo das forças

de contato entre duas partículas. A seguir, as equações exatas utilizadas pelo simulador

Hoomd-blue no método DPD.

( ) ( )

( )

( ) ( )( )

( ) √ √

( )

( ) {(

)

Equação 17 - Equação do método DPD para cálculo da força entre partículas do software Hoomd-blue.

Pode-se notar a semelhança entre as equações. Considerando-se que o teorema de

flutuação-dissipação já está incluso, as diferenças estão no e no que foram

respectivamente nomeados anteriormente de e .

24

No script de configuração, a função a ser utilizada é pair.dpd cujos parâmetros são o

raio de corte , a temperatura do sistema , a magnitude da força conservativa e a

constante de amortecimento , podendo e serem diferentes para cada grupo de

partículas criado.

Esta função deve ser utilizada conjuntamente com o método de integração via

Velocity-Verlet, integrate.nve, que já abrange as necessidades termodinâmicas do método. A

utilização de outro método de integração leva o sistema à instabilidade.

2.5.1.2. DPD Conservativo

Este método se diferencia pela não utilização dos fatores oriundos da dinâmica

térmica para o cálculo da força entre as partículas. Portanto, os fatores e não são

utilizados.

A força conservativa é então calculada da seguinte maneira:

{

Equação 18 - Equação da força conservativa deste método DPD.

Deste modo, o sistema deixa as propriedades microscópicas de lado e passa a se

comportar com uma dinâmica macroscópica.

2.5.1.3. DPD com Lennard Jones

Neste método, a termodinâmica do sistema retorna, mas a força conservativa não é

dada pelo gráfico da Figura 12a, mas sim, dependente da função de Lennard Jones clássica,

para o potencial dessas interações entre partículas.

Tem-se então a seguinte alteração na equação de :

{ [(

)

(

)

]

Equação 19 - Equação da força conservativa utilizando potencial de Lennard Jones.

25

A implementação do método DPD utilizando-se do potencial de Lennard Jones, possui

uma diferente abordagem que facilita a parametrização do sistema de partículas que será

simulado [41].

Portanto, estas opções tornam o Hoomd-blue ainda mais abrangente, no entanto,

neste trabalho será utilizado o método DPD clássico.

2.6. Modelo matemático do perfil de velocidades

A hidrodinâmica proposta por Hagen-Poiseuille modela muito bem um fluxo

estacionário de um líquido no interior de um microcanal cilíndrico. Uma vez, que o modelo

depende de suposições garantidas por um microsistema, como, fluxo laminar, viscoso e

incompressível visto na seção 2.1.

A equação/lei proposta por eles é derivada da equação de Navier-Stokes, a qual em

um microtubo os termos não lineares são desprezados e o perfil de velocidades depende do

gradiente de pressão em uma lâmina frontal do líquido [42]. O perfil de velocidades é

oriundo da diferença de pressão entre os dois lados do tubo, e permanece parabólico,

devido às forças de atrito e à condição de não deslizamento nas paredes do tubo [43].

Figura 23 – Perfil de velocidade determinado pela equação de Hagen-Poiseuille para um microcanal.

Fonte: Journal of the American Chemical Society [43].

O perfil parabólico, para um fluido viscoso, incompressível e com escoamento

permanente, é determinado pela equação de Hagen-Poiseuille descrita a seguir:

Equação 20 - Equação de Hagen-Poiseuille do perfil de velocidade do fluxo em um microcanal. O qual é a viscosidade do líquido, o tamanho do tubo, e metade da espessura do tubo.

26

Esta equação foi utilizada por Gösch et. al. [44] para obter o perfil de velocidade em

um microcanal de seção retangular de 50x50 μm². Ele lembra que, deve-se garantir um

número de Reynolds (Equação 1) abaixo de 2000, e para isso foi admitida uma velocidade

máxima de V = 70 mm/s.

2.6.1. Diâmetro Hidráulico

Os experimentos são realizados comumente em tubos de seção cilíndrica, pois são os

mais utilizados, no entanto, no caso aqui descrito vamos utilizar um tubo de seção quadrada.

Para realizar a correlação entre um tubo de seção quadrada e um tubo cilíndrico

utiliza-se o diâmetro hidráulico para os cálculos das formulas que levam em consideração o

raio do tubo.

Deste modo tem-se a correlação dos seguintes tipos de seção do tubo com seus

respectivos diâmetros hidráulicos na Figura 24.

Figura 24 - Correlação do diâmetro hidráulico com diversos tipos de seção de tubo.

Com isso fechamos o ambiente físico e matemático que serão necessários na validação

do experimento realizado.

27

3. Métodos

3.1. Metodologia de validação do software

O software será validado com base na comprovação de um dos experimentos

realizados por Steiner [18] chamado The Gravitational Method, o qual se utiliza da equação

de Hagen-Poiseuille para comparar o perfil de velocidade de um determinado sistema

microfluidico.

Este experimento foi definido por 100.000 partículas no interior de um tubo de seção

quadrada que sofrem a ação de uma força externa constante , a qual determina o

gradiente de pressão do tubo gerando um perfil de velocidade. A estrutura do tubo é

constituída por partículas fixas, que geram a propriedade de não deslizamento necessário

para o método. A condição de contorno do tubo, no sentido do fluxo, é definida pelas

condições de Lees-Edwards, que periodizam o comprimento, fazendo com que as partículas

que saiam de um lado do tubo reentrem do outro lado. Deste modo, a conservação de

matéria, indispensável pelo método DPD, é alcançada.

3.2. Configuração do sistema proposto

O sistema, determinado para a validação da metodologia, será interpretado pelo

software Hoomd-blue, através de seu arquivo básico de configuração em linguagem Python

(Anexo A – Arquivo de Configuração do Hoomd-blue).

O sistema de partículas será composto por 3 tipos de partículas: as partículas do tipo

A, serão o fluido com a dinâmica regida pelo método DPD; as partículas do tipo B, serão fixas

e determinarão as paredes do tubo; e as partículas do tipo C, serão uma fatia do fluido para

melhor visualização do efeito de comprimento de entrada e ter uma noção do perfil de

velocidades.

O tubo quadrado terá tamanho de 13x13 partículas e comprimento de 39 partículas,

sendo que as partículas possuirão raio de 1 unidade de comprimento. Todas as partículas

serão dispostas uniformemente em um paralelepípedo cujas faces, superior e lateral, serão

do tipo B, e as do interior como partículas do tipo A, exceto, a fatia de partículas mais

próxima da face periódica que serão do tipo C.

28

A condição de contorno periódica já é, por default, realizada pelo software e não terá a

necessidade de ser configurada. As dinâmicas das partículas A e C serão geridas pelo método

DPD clássico com e . O coeficiente de amortecimento entre as partículas deve

ser determinado pela densidade e temperatura do sistema de acordo com a expressão de

flutuação-dissipação , mas no caso será adotado por não ser necessária

a correta representação de algum fluido específico e para que a simulação seja similar à

apresentada na literatura. O parâmetro de repulsão foi estudado com cautela por Steiner

e determinou um número relevante de que minimiza o erro relativo da viscosidade

do fluido simulado. A viscosidade do sistema pode ser obtida alterando-se os seguintes

parâmetros: amplitude da variável estocástica ; magnitude do parâmetro de repulsão entre

partículas ; e a densidade , que também determina a pressão do sistema através

equação . No caso do Hoomd-blue o parâmetro será calculado da seguinte

forma:

Equação 21 – Equação da densidade.

Sendo, no numerador, a somatória da massa de todas as partículas do tipo A e C, e, no

denominador, o volume do paralelepípedo em número de partículas incluindo-se a

porcentagem do espaçamento inicial entre elas.

O experimento de Steiner determina uma densidade de 5 para suas simulações. Deste

modo, o sistema foi alterado atribuindo-se um valor de massa às partículas de modo que o

fluido chegasse à mesma densidade.

O tempo será discretizado em passos de 0,002 unidades de tempo, que foi constatado

ser suficiente para se obter um preciso controle da temperatura do sistema. Inicialmente,

todas as partículas serão iniciadas automaticamente com velocidades estocásticas para

determinação da temperatura desejada.

29

Igualmente realizado no trabalho de validação, serão executadas quatro simulações.

Todas elas terão alteração somente na força de campo aplicada no fluido. Estas forças serão:

0,0253; 0,0355; 0,0480; 0,0600 [unidades de força].

Todas as simulações serão configuradas para executarem por 40.000 iterações.

Os dados das posições das partículas, a cada iteração, serão salvos pelo próprio

Hoomd-blue em arquivos “XML”, que serão trabalhados via MatLab para obtenção do perfil

de velocidade (Anexo B – Programa em MatLab).

3.3. Tratamento dos dados

Os dados obtidos de velocidade das partículas em uma fatia da seção do tubo serão

comparados com os resultados simulados e teóricos da validação da literatura.

No entanto, para melhor visualização, os dados serão filtrados utilizando-se a

convolução discretizada da velocidade das partículas com uma máscara de média para

minimizar o ruído gaussiano das velocidades devido à temperatura do sistema, como

indicado pela seção 2.4.

Como no método utilizado em imagens, os pontos utilizados para a descoberta da

velocidade do fluido serão os centros das células de uma malha alocada na seção transversal

do tubo a uma distância d do início.

Figura 25 - Malha no interior do tubo cujas celulas informarão os valores médios da velocidade do fluido na região em que está alocada.

Mas, a técnica que será utilizada não levará em conta outra matriz para a função de

convolução, mas sim realizará uma média das partículas com raio menor a uma distância

específica (raio de corte) do centro da célula a ser atualizada. Como ilustrado a seguir:

30

Figura 26 - Centro da célula com raio de corte definido.

Com o raio de corte definido, a velocidade do fluido na região da célula em questão

será calculada pela média das velocidades das partículas no interior do espaço determinado

pelo raio de corte. Desta forma, as partículas em vermelho serão consideradas no cálculo e

as partículas em verde serão desconsideradas.

Após a filtragem dos dados, a matriz das velocidades médias sofrerá uma interpolação

dos dados para minorar os problemas provindos da discretização em partículas do sistema.

Assim, os gráficos obtidos do perfil de velocidades serão comparados com os gráficos

presentes no trabalho de Steiner.

3.3.1. Programa de Tratamento

O sistema de tratamento de dados foi desenvolvido em MatLab, por ela ser uma

ferramenta própria para trabalhar com grande número de dados encadeados em forma de

tabela e por ter uma grande variedade de gráficos que melhor representam o problema.

Assim, a lógica utilizada pode ser dividida em quatro etapas. São elas: Importação,

Redução, Convolução e Exibição.

A etapa de importação resume-se a importar os arquivos XML gerados pelo programa

Hoomd-blue de forma a facilitar a manipulação dos dados no interior do programa de

tratamento.

Esta etapa foi basicamente realizada por pesquisa bibliográfica, já que arquivos XML

são utilizados em várias aplicações como arquivo padrão de disposição de dados. Assim,

utilizou-se o programa xml2struct desenvolvido por Wouter Falkena em 2010 [45].

31

Com os dados corretamente dispostos, o programa de determinação do perfil de

velocidades recebe os seguintes parâmetros.

Dados do XML já tratados.

Distância da origem na qual será inserida a malha de verificação.

Raio de corte.

Porcentagem de refinamento da malha se comparado à área total da

seção transversal do tubo.

Visando diminuir o número de partículas a serem verificados, a etapa de Redução

realiza duas eliminações na tabela de dados. Uma é no início do programa, visando diminuir

o sistema de partículas para as partículas que estão a uma distância rC (raio de corte) da face

onde a malha foi alocada.

Figura 27 - Primeira redução.

A outra redução é realizada em cada elemento da malha. Que ao iniciar o

processamento do elemento, o sistema de partículas é novamente reduzido às partículas

que estão somente a uma distância rC do centro da célula

Figura 28 - Segunda redução.

32

Com cada célula e seus respectivos sistemas locais de partículas, a etapa de

Convolução é realizada. Esta etapa é similar à convolução discreta em processamento de

imagens com uma malha de filtro mediano. No entanto, a malha é de tamanho alterável

conforme o número de partículas na proximidade da célula em execução.

Caso haja uma partícula no interior da região, a velocidade na direção do fluxo é

somada na “velocidade” da célula. Quando não houver mais partículas ao redor daquela

célula, o montante da velocidade é dividido pelo número de partículas que foram

consideradas. Esta operação visa normalizar a quantidade de movimento da operação de

convolução, conforme descrito na seção 2.4.1.

A última etapa é a de Exibição dos dados. Foram escolhidos dois gráficos para serem

exibidos que retratam o perfil de velocidade calculado pela malha. Um gráfico demonstra o

perfil de velocidades em três dimensões averiguando a sua forma geral, e o outro gráfico de

duas dimensões exibe o perfil de velocidade em uma linha transversal da malha.

Figura 29 - Seção do tubo de partículas denotando a linha transversal utilizada para obtenção do perfil de velocidade 2D.

Este último gráfico é o que será comparado com os gráficos determinados por Steiner.

4. Resultados e Discussões

4.1. Resultado qualitativo

A execução da simulação foi realizada pelo software em 10 segundos em um

computador com GPU NVIDIA GTX 560 Ti. As posições das partículas a cada período de 100

33

iterações foram exportadas também para um arquivo “DCD” para visualização pelo software

VMD [46].

A seguir imagens da execução do resultado do sistema pelo software VMD.

Figura 30 – Ilustração do tubo retangular em roza, partículas do tipo B, e o fluido em azul, partículas do tipo

A.

Figura 31 – Perfil do tubo com partículas fluidicas com fluxo na direção Z.

Figura 32 – O sistema com as paredes translucidas em sua posição inicial. As partículas em roxo são do tipo C.

Figura 33 – Sistema após 854 frames mostrando pela posição das partículas do tipo C o fluxo parabólico.

34

Figura 34 – No mesmo momento que a figura anterior, agora em perspectiva 3D, mostrando o fluxo parabólico em todas as faces do tubo.

As duas primeiras imagens exibem a configuração do tubo e das partículas em seu

interior. A terceira indica a posição inicial das partículas para comprovar sua evolução com o

tempo. As últimas mostram o perfil da posição das partículas no momento em que melhor

despontam o perfil de velocidade, denotando o perfil da região de entrada do tubo.

Este perfil pode ser mais bem visualizado na seguinte sequência de figuras. As

seguintes simulações já foram realizadas com a configuração indicada por Steiner. Os dados

coletados dessas simulações serão as utilizadas na validação do software.

Figura 35 - Sequência de formação do perfil de entrada na simulação com força de campo de 0,0253.

35

Figura 36 - Sequência de formação do perfil de entrada na simulação com força de campo de 0,0355.

Figura 37 - Sequência de formação do perfil de entrada na simulação com força de campo de 0,0480.

Figura 38 - Sequência de formação do perfil de entrada na simulação com força de campo de 0,0600.

4.2. Resultado quantitativo

Realizados os experimentos finais na configuração de Steiner, os dados foram

angariados e tratados pelo software MatLab.

A seguir os dados da literatura utilizando 4 campos de força diferentes.

36

Figura 39 - Perfil de velocidades obtidos por Steiner, pg 46 [18].

Este gráfico retrata uma das experiências realizadas por Steiner, que é a validação pelo

método gravitacional. Pode-se verificar que foram utilizadas quatro diferentes forças de

campo, sendo que, com o aumento das forças, há uma maior variação no perfil de

velocidades.

Os pontos triangulares do gráfico são as amostras de sua experiência, e a linha

contínua é a resposta analítica obtida pela função de Hagen-Poiseuille.

A seguir, os quatro gráficos deste experimento gerados pelo MatLab, um para cada

força de campo, exibindo os dados tratados provenientes das simulações realizadas no

Hoomd-blue.

37

Figura 40 - Resultado obtido com força de campo de 0,0253 unid. de força.

Estes são os dois gráficos obtidos na simulação com força de campo de 0,0253

unidades de força.

Inicialmente no gráfico em três dimensões é possível verificar o paraboloide formado

pela malha de velocidades indicando uma correta representação do perfil de velocidades. Na

parte abaixo do gráfico há curvas de nível que indicam um ponto de máximo no centro da

figura.

Verifica-se também que ao aproximar das bordas, as curvas de nível passam de

círculos para retângulos de cantos arredondados. Isso denota o diâmetro hidráulico do tubo

de seção retangular.

Um erro que pode ser averiguado é o pico de velocidade no ponto superior direito da

figura. Este pico pode ser proveniente da interpolação dos dados próximo à borda, gerando

outro ponto de inflexão. Mas também pode ser da própria simulação, que por ter poucas

partículas na seção transversal do tubo e pela baixa velocidade constatada, um ruído pode

ter interferido de forma significativa na interpolação.

Já o gráfico de duas dimensões tem perfil parabólico e velocidade máxima de 0,27

unidades de velocidade, ficando muito parecida com a velocidade máxima obtida, tanto no

experimento de Steiner, quanto na resposta analítica.

38

Pode-se notar também que nos cantos do perfil, as velocidades das partículas se

tornam negativas. Ou seja, há uma recirculação do fluido no local próximo à borda.

Este fenômeno é possível e é encontrado frequentemente em estudos de camada

limite, como pode ser observado na seguinte figura:

Figura 41 - Fluxo reverso, indicando velocidade negativa na proximidade da borda.

O próximo gráfico expõe os dados da simulação com força de campo de 0,0355

unidades de força.

Figura 42 - Resultado obtido com força de campo de 0,0355 unid. de força.

O gráfico em três dimensões tem as mesmas propriedades já comentadas da

simulação anterior, no entanto, não há mais o erro de velocidade na borda do tubo. Isso

pode ter ocorrido pois neste ponto a velocidade já é mais aparente.

39

Também é possível verificar uma acentuação nas curvas de nível que ficaram ainda

mais retangulares próximas à parede.

O gráfico em duas dimensões do perfil de velocidade também tem o perfil parabólico e

seu pico tem uma velocidade de 0,42. Neste caso a velocidade ficou um pouco distante do

obtido por Steiner, no entanto, o aumento da velocidade máxima com o aumento da força

de campo foi respeitada.

Observa-se, também, uma lateralização do valor máximo, o que ocasionou a diferença

das velocidades nas duas bordas. Uma possibilidade deste acontecimento, é um acúmulo de

partículas do lado esquerdo melhorando a estimativa da velocidade deste lado, em

detrimento à estimativa do outro lado.

A seguir o gráfico da simulação com força de campo de 0,048 unidades de força.

Figura 43 - Resultado obtido com força de campo de 0,0480 unid. de força.

Neste caso vemos uma simetria maior dos gráficos devido à alta velocidade relativa

das partículas do centro em relação às partículas periféricas.

No gráfico em três dimensões observa-se os mesmos pontos levantados no gráfico

anterior.

40

No gráfico em duas dimensões verifica-se a simetria tanto na centralização do ponto

de máximo da parábola, como das velocidades próximas à parede.

A velocidade máxima obtida foi de 0,51 unidades de velocidade retornando a

proximidade com os dados obtidos da literatura.

A seguir o gráfico da simulação realizada com força de campo de 0,06 unidades de

força.

Figura 44 - Resultado obtido com força de campo de 0,0600 unid. de força.

Pode-se verificar uma grande simetria nos dois gráficos. No entanto, ambos gráficos

possuem uma variação no lado esquerdo. Esta variação, nos dois gráficos, pode ter sido

resultada da mesma causa que também foi encontrada na primeira simulação. Esta causa é

muito provavelmente determinada pela escassez de partículas próximas aos cantos. Com

isso gera-se um erro maior na medição da velocidade que ocasiona esta inflexão presente

nestes dois gráficos.

O gráfico em duas dimensões, a pesar de sua pequena descentralização, confirma as

propriedades obtidas na simulação anterior.

A velocidade máxima obtida neste caso foi de 0,65 unidades de velocidade, ficando

razoavelmente próxima à velocidade obtida pela literatura.

41

É interessante também averiguar a seguinte figura da última simulação.

Figura 45 - Vista superior do grafico 3D da última simulação.

Pode-se evidenciar neste gráfico o diâmetro hidráulico do tubo e a transformação de

curvas de nível em círculos para retângulos.

5. Trabalhos Futuros

Um possível trabalho futuro é desenvolver um software próprio de simulação DPD

para ganhar know-how e contribuir para um software ainda maior que abranja todas as

simulações de partículas, deixando à caráter do usuário qual método escolher.

Além disso, o aprofundamento em técnicas de paralelização sejam elas por GPUs,

CPUs, hibridas ou em rede para tornar viável estes tipos de simulação alcançando patamares

em tempo real, independente de qual for o número de partículas no domínio.

6. Conclusão

Os resultados qualitativos atingiram os objetivos na execução do software Hoomd-blue

simulando um fluido escoando por dentro de um tubo de seção quadrada. A dinâmica do

fluido foi regida pelo método DPD, que após ajustes em seus parâmetros, salientou o perfil

de velocidade das partículas exibindo o perfil parabólico da posição das partículas roxas,

como o esperado.

42

A quantificação do perfil de velocidades foi satisfatória, sendo que o perfil parabólico

de velocidades foi respeitado em todas as simulações e a velocidade máxima obtida ficou

próxima à esperada observando os dados da literatura. Certamente o resultado das

simulações não culminaria em dados exatamente iguais ao da literatura, pois, o modo de

cálculo dos dois programas, considerando hardware e software, é diferente, além de que, a

aleatoriedade da velocidade determinada pela temperatura do sistema aumenta a

dificuldade de reprodução de igualdade de dados de duas simulações com os mesmos

parâmetros.

Em geral o estudo foi de grande proveito e os resultados obtidos foram os esperados.

Portanto, por meio deste trabalho, indico a utilização do software Hoomd-blue para a

validação de experimentos com simulação microfluidica.

43

7. Bibliografia

1. RIBAS, R. P. Microssistemas Integrados (MEMS). [S.l.]: [s.n.].

2. OJEA, R. B. Numerical and Experimental Analyses of Single And Two-Phase

Microfluidic Flows with Implications in Microreactors. Tarragona: [s.n.], 2011.

3. CHE, Z.; NGUYEN, N.-T.; WONG, T. N. Analysis of chaotic mixing in plugs moving in

meandering microchannels. PHYSICAL REVIEW E 84, 066309, 2011.

4. CHE, Z. et al. Numerical investigation of upstream pressure fluctuation during

growth and breakup of pendant drops. Chemical Engineering Science, 2011.

5. CHOI, S.-W.; ZHANG, Y.; XIA, Y. A Temperature-Sensitive Drug Release System

Based on Phase-Change Materials. Angew. Chem. Int., 49, 7904 –7908, 2010.

6. JÖNSSON, H. Microfluidics for lab-on-a-chip applications. [S.l.]: [s.n.].

7. PFAFF, T. et al. Scalable Fluid Simulation using Anisotropic Turbulence Particles.

NVIDIA. [S.l.]. 2010.

8. CLAVET, S.; BEAUDOIN, P.; POULIN, P. Particle-based Viscoelastic Fluid Simulation.

Eurographics/ACM SIGGRAPH Symposium on Computer Animation, 2005.

9. MEAKIN, P.; XU, Z. Dissipative Particle Dynamics and Other Particle Methods for

Multiphase Fluid Flow in Fractured and Porous Media. 6th International Conference on

CFD in Oil & Gas, Metallurgical and Process Industries. [S.l.]: [s.n.]. 2008.

10. OWENS, J. D. et al. A Survey of General-Purpose Computation on Graphics

Hardware. Computer Graphics Forum, 26(1):80–113, Março 2007.

11. FUJIOKA, H.; TAKAYAMA, S.; GROTBERG, J. B. Unsteady propagation of a liquid plug

in a liquid-lined straight tube. PHYSICS OF FLUIDS 20, 062104, 2008.

12. KREUTZERA, M. T. et al. Multiphase monolith reactors: Chemical reaction

engineering of segmented flowin microchannels. Chemical Engineering Science 60 5895

44

– 5916, 2005.

13. FOX, R. W.; MCDONALD, A. T.; PRITCHARD, P. J. Introdução à Mecânica dos

Fluidos. 6ª. ed. [S.l.]: LTC, 2006.

14. VAN DAM, R. M. Introduction to Microfluidics. In: VAN DAM, R. M. Solvent-

resistant elastomeric microfluidic devices and applications. [S.l.]: California Institute of

Technology, 2006. Cap. 2.

15. KARNIADAKIS, G. M.; BESKOK, A.; ALURU, N. Essentials of Fluidic Transport

Phenomena at Small Scales. In: KARNIADAKIS, G. M.; BESKOK, A.; ALURU, N. Microflows

and Nanoflows. [S.l.]: [s.n.], 2005. Cap. 2.

16. BOTHE, D.; LOJEWSKI, A.; WARNECKE, H.-J. Fully

resolvednumericalsimulationofreactivemixinginaT-shaped micromixer using parabolized

species equations. Chemical Engineering Science.

17. BAROUD, C. N.; GALLAIREB, F.; DANGLA, R. Dynamics of microfluidic droplets DOI:

10.1039/c001191f. Lab on a Chip, Janeiro 2010.

18. STEINER, T. Dissipative Particle Dynamics - Simulation of Microfluidic Systems

With Fluid Particle Methods on High Performance Computers. [S.l.]: Universität Freiburg

- Departament of Microsystems Engineering, v. V, 2009.

19. DEL FRARI, R. V. Malhas Computacionais para Simulação Numérica de

Escoamentos de Fluidos Entre Cilindros com Excentricidade. X Encontro Gaúcho de

Educação Matemática. Ijuí/RS: [s.n.]. 2009. p. 8.

20. FENG, R. et al. Viscous flow simulation in a stenosis model using discrete particle

dynamics: a comparison between DPD and CFD. Biomech Model Mechanobiol 11:119–

129, 2012.

21. ESTACIO, K. C.; FERREIRA, V. G.; NONATO, L. G. Um Método Meshless Para

Simulação de Escoamento de Fluidos em Cavidades de Moldes; Mangiavacchi,

45

Norberto. Uberlândia: Universidade Federal de Uberlândia, 2006.

22. NETO, A. P. Uma abordagem lagrangeana para simulação de escoamentos de

fluidos viscoplásticos e multifásicos. Rio de Janeiro: [s.n.], 2007.

23. LITVINOV, S.; HU, X. Y.; ADAMS, N. A. Numerical simulation of tethered DNA in

shear flow. JOURNAL OF PHYSICS: CONDENSED MATTER, 2011.

24. LIN, J.; NOVAK, B.; MOLDOVAN, D. Molecular Dynamics Simulation Study of the

Effect of DMSO on Structural and Permeation Properties of DMPC Lipid Bilayers. The

Journal of Physical Chemistry, 2011.

25. CARVALHO, J. D. C.; CANEPPELE, N.; FIGUEIREDO, C. M. Um novo método para

resolver a equação de Langevin aplicada à dispersão de poluentes atmosféricos em

regime de turbulência Gaussiana. ACTA Scientia, v. 5, n. 1, 2003.

26. ZHENGA, Z. et al. A dual-scale lattice gas automata model for gas–solid two-phase

flow in bubbling fluidized beds. Computers and Mathematics with Applications, 2011.

27. STEINER, T. et al. Simulation of advanced microfluidic systems with dissipative

particle dynamics. Microfluid Nanofluid 7:307–323, Janeiro 2009.

28. IKEDA, P. A. Um estudo do uso eficiente de programas em placas gráficas. São

Paulo/BR: [s.n.], 2011.

29. BRODTKORB, A. R.; HAGEN, T. R.; SÆTRA, M. L. GPU Programming Strategies and

Trends in GPU Computing. Journal of Parallel and Dritributed Programming, Oslo, 2012.

30. NVIDIA. NVIDIA CUDA C - Programming Guide. [S.l.]: [s.n.], v. Ver. 4.2, 2012.

31. KIRK, D.; HWU, W.-M. Programming Massively Parallel Processors: A Hands-on

Approach. 57p. Massachusetts: [s.n.], 2010.

32. KHRONOS GROUP. Khronos Group - Connecting Software to Silicon. The Khronos

Group Inc., 2012. Disponivel em: <http://www.khronos.org>. Acesso em: jun. 2012.

46

33. NVIDIA CORPORATION. Plataforma de Computação Paralela | CUDA | NVIDIA. Site

da NVIDIA Corporation, 2012. Disponivel em:

<http://www.nvidia.com.br/object/cuda_home_new_br.html>. Acesso em: jun. 2012.

34. OWENS, J. D. et al. GPU Computing. [S.l.]: IEEE, 2008.

35. THE GLOTZER GROUP. Highly Optimized Object-oriented Many-particle Dynamics

(Hoomd-blue). Hoomd-blue, 2011. Disponivel em: <http://codeblue.umich.edu/hoomd-

blue>. Acesso em: jun. 2012.

36. ANDERSON, J. A.; LORENZ, C. D.; TRAVESSET, A. General purpose molecular

dynamics simulations fully implemented on graphics processing units. Journal of

Computational Physics 227(10): 5342-5359, Maio 2008.

37. VANDEVENNE, L. Image Filtering. Lode's Computer Graphics Tutorial, 2004.

Disponivel em: <http://lodev.org/cgtutor/filtering.html>. Acesso em: 01 jun. 2013.

38. JAIN, R.; KASTURI, R.; SCHUNCK, B. G. Image Filtering. In: JAIN, R.; KASTURI, R.;

SCHUNCK, B. G. Machine Vision. [S.l.]: McGraw-Hill, Inc., 1995. Cap. 4, p. 112-139.

39. ANDERSON, J. A. et al. Advancing GPU Molecular Dynamics: Rigid Bodies in

Hoomd-blue. The Glotzer Group University of Michigan. [S.l.]. 2011.

40. PHILLIPS, C. L.; ANDERSON, J. A.; GLOTZER, S. C. Pseudo-random number

generation for Brownian Dynamics and Dissipative Particle Dynamics simulations on GPU

devices. Journal of Computational Physics 230(19): 7191-7201, Agosto 2011.

41. KAUKONEN, M. et al. Lennard-Jones Parameters for Small Diameter Carbon

Nanotubes and Water for Molecular Mechanics Simulations from van der Waals Density

Functional Calculations. Journal of Computational Chemistry, 2012. 652-659.

42. MORTENSEN, N. A.; OKKELS, F.; BRUUS, H. Reexamination of Hagen-Poiseuille flow:

Shape dependence of the hydraulic resistance in microchannels. Physical Review E 71,

057301, 2005.

47

43. WEI, B.; ROGERS, B. J.; WIRTH, M. J. Slip Flow in Colloidal Crystals for Ultraefficient

Chromatography. Journal of the American Chemical Society, Abril 2012.

44. GÖSCH, M. et al. Hydrodynamic Flow Profiling in Microchannel Structures by Single

Molecule Fluorescence Correlation Spectroscopy. Analytical Chemistry, vol. 72, No 14,

15 Julho 2000. 3260-3265.

45. FALKENA, W. File Exchange - xml2struct. MatLab Central, 2012. Disponivel em:

<http://www.mathworks.com/matlabcentral/fileexchange/28518-xml2struct>. Acesso

em: 15 jun. 2013.

46. HUMPHREY, W.; DALKE, A.; SCHULTEN, K. VMD - Visual Molecular Dynamics. J.

Molec. Graphics, 1996. 33-38.

48

Anexo A – Arquivo de Configuração do Hoomd-blue

A seguir, o arquivo de configuração do Hoomd-blue (método_DPD.hoomd) para que

ele simule o sistema corretamente como especificado. Este exemplo utiliza a força de campo

como 0,0253 uF.

From hoomd_script import *

import random

# -- Parametros para a construcao do paralelepipedo de particulas

a = 1.01 # Porcentagem de espacamento entre particulas

m = 13 # Numero de particulas na largura e altura do paralelepipedo

ld = 3 # Razao de aspecto (L/D)

# criando 12x12x39 particulas moveis e uma caixa de (13x13x39)*1,01 com 1%

de espaco vazio

system = init.create_empty(N=m*m*m*ld, box=(m*a, m*a, m*a*ld),

n_particle_types=3)

# alterando o tipo de particulas para a confeccao do tubo

lo = - m*a / 2.0;

for p in system.particles:

# dividindo as particulas em indices nas direcoes do sistema de

coordenadas

(i, j, k) = (p.tag % m, p.tag/m % m, p.tag/m**2 % (m*ld))

# distribuindo as particulas uniformemente em um paralelepipedo de

# 20x20x60 particulas com espacamento de 1,01 raio entre elas

p.position = (lo + i*a + a/2, lo + j*a + a/2, (lo*ld) + k*a + a/2)

# Ajustando a massa para elevar a densidade

p.mass = 5.151505

# Particulas inicialmente sao do tipo A

p.type = 'A'

# As particulas nas bordas sao do tipo B

if i==0 or i==(m-1) or j==0 or j==(m-1):

p.type = 'B'

# define uma fatia de particulas como sendo do tipo C

# para verificar o sentido do fluxo e se ele esta ocorrendo

if (i>0 and i<(m-1)) and (j>0 and j<(m-1)) and k>=0 and k<=1:

p.type = 'C'

# inicializando as velocidades das particulas para

# tenham distribuicao normal

random.seed(1234);

T = 1.0

px = py = pz = 0.0;

for p in system.particles:

mass = p.mass;

vx = random.gauss(0, T / mass)

vy = random.gauss(0, T / mass)

vz = random.gauss(0, T / mass)

p.velocity = (vx, vy, vz)

# somando o momento total do sistema

px += mass*vx;

49

py += mass*vy;

pz += mass*vz;

# computando a media

px /= m*m*m*ld;

py /= m*m*m*ld;

pz /= m*m*m*ld;

# subtraindo das particulas a media dos momentos para que a soma seja zero

no sistema

for p in system.particles:

mass = p.mass;

v = p.velocity;

# reduzindo a amplitude da aleatoriedade das particulas

p.velocity = ((v[0] - px/mass)*0.1, (v[1] - py/mass)*0.1, (v[2] -

pz/mass)*0.1);

# incluindo a dinamica do sistema pelo metodo DPD

dpd = pair.dpd(r_cut=1.0, T=1.0, seed=12345)

dpd.pair_coeff.set('A', 'A', A=25.0, gamma = 0.5)

dpd.pair_coeff.set('A', 'B', A=25.0, gamma = 0.5)

dpd.pair_coeff.set('A', 'C', A=25.0, gamma = 0.5)

dpd.pair_coeff.set('B', 'B', A=25.0, gamma = 0.5)

dpd.pair_coeff.set('B', 'C', A=25.0, gamma = 0.5)

dpd.pair_coeff.set('C', 'C', A=25.0, gamma = 0.5)

# separando em grupos os tipos A, B e C

groupA = group.type(name='groupA', type='A')

groupB = group.type(name='groupB', type='B')

groupC = group.type(name='groupC', type='C')

# incluindo a forca constante Fb em todas particulas fluidicas

force.constant(fx=0.0, fy=0, fz=0.0253, group=groupA)

force.constant(fx=0.0, fy=0, fz=0.0253, group=groupC)

# realizando a integracao de 0,002 pelo metodo Velocity-Verlet

integrate.mode_standard(dt=0.002)

integrate.nve(group=groupA)

integrate.nve(group=groupC)

# gerando arquivo de visualizacao online

xml = dump.xml(filename='dump_metodo_DPD.xml', vis=True)

# salvando em um arquivo .dcd as posicoes das particulas a cada 100

periodos

dump.dcd(filename='dump_metodo_DPD.dcd', period=100)

# salvando arquivos de log para verificacao do perfil de velocidade pelo

software MatLab

dump.xml(filename="atm/atoms_xml", period=1000, velocity=True,

position=True, type=True)

# configurando visualizacao online

analyze.imd(port=54321, period=500)

# executando 40.000 iteracoes nesta simulacao

run(4e4)

50

Anexo B – Programa em MatLab

Programa desenvolvido na plataforma MatLab com objetivo de gerar um gráfico do

perfil de velocidades de certas partículas, dado um arquivo XML que contém as posições e

velocidades das partículas em determinada iteração da simulação.

function [filtred_table] = plotPoiseuilleSurf (pos_z, porc_discret, r_cut,

particles_pos, particles_vel)

% Faz um filtro da media da velocidade das particulas para cada

% ponto discretizado desejado gerando a superficie de velocidades

% dos pontos discretizados.

% #### VARIAVEIS DE ENTRADA ####

% pos_z = integer (1) (posicao estcolhida em Z para verificacao do

perfil

% de velocidades de Poiseuille)

% porc_discret = float [0..1] (1) (porcentagem do tamanho do perfil do

tubo

% que sera utilizado como subdivisoes

do

% dominio)

% r_cut = float (1) (distancia maxima de influencia da velocidade das

% particulas na vizinhanca do ponto em que sera

% calculado a velocidade do fluido

% particles_pos = float (NumOfParticles x 3) (vetor posicao das

particulas

% no dominio)

% particles_vel = float (NumOfParticles x 3) (vetor velocidade de cada

% particula do dominio)

% #### INICIO DO PROGRAMA ####

% agregar as posicoes e as velocidades em uma matriz soh

sistema = [particles_pos,particles_vel];

% filtrar em Z as posicoes e velocidades de acordo com

% a posicao em Z que se deseja saber a superficie de

% Poiseuille e o raio de corte de influencia da

% velocidade das particulas

sistema = sistema(sistema(:,3)>-r_cut & sistema(:,3)<r_cut,:);

% cria tabela final de velocidades

hash_size = floor(1/porc_discret);

filtred_table = zeros(hash_size,hash_size);

% obtem os valores limites

largura_min = ceil(min(sistema(:,1)));

largura_max = floor(max(sistema(:,1)));

altura_min = ceil(min(sistema(:,2)));

altura_max = floor(max(sistema(:,2)));

step_x = (largura_max-largura_min)/hash_size;

step_y = (altura_max-altura_min)/hash_size;

% para cada passo em x e y oriundo da porcentagem de

% discretizacao

for i = 1:hash_size

for j = 1:hash_size

51

% filtrar em X e Y o dominio de acordo com a posicao

% atual de calculo e com o raio de corte

x = largura_min + step_x * (i-1) + step_x/2;

y = altura_min + step_y * (j-1) + step_y/2;

sistema_local = sistema(sistema(:,1)>x - r_cut &

sistema(:,1)<x + r_cut & sistema(:,2)>y-r_cut & sistema(:,2)<y + r_cut,:);

% zera variaveis internas

cont = 0;

soma_vel = 0;

% para cada particula no dominio

for p = 1:length(sistema_local(:,1))

% calculo da distancia da particula atual

dist = norm(sistema_local(p,1:3)-[x,y,pos_z]);

% verificar se a distancia do ponto ateh

% a particula eh igual ou menor que o raio de corte.

if (dist <= r_cut)

% Se verdadeiro, adiciona a velocidade em Z na

% variavel da posicao da particula

soma_vel = soma_vel + sistema_local(p,6);

% Acrescenta 1 no numero de particulas de influencia

cont = cont + 1;

end

end

if (cont>0)

% Finalizado, divide a reducao das velocidades pelo

% numero de particulas que influenciaram

filtred_table(i,j) = soma_vel/cont;

end

end

end

% Plota o grafico da tabela discretizada com o perfil de velocidades

em 3D

steps_width = largura_min+step_x/2:step_x:largura_max-step_x/2;

steps_height = altura_min+step_y/2:step_y:altura_max-step_y/2;

[X1,X2] = meshgrid(steps_width,steps_height);

f = polyFit2D(filtred_table(1:992,:),X1(1:992,:),X2(1:992,:),2,2);

Z = polyVal2D(f,X1(1:992,:),X2(1:992,:),2,2);

figure;

subplot(1,2,1);

surfc(X1(1:992,:),X2(1:992,:),Z,'LineStyle','none');

title('Perfil de velocidade 3D');

xlabel('largura');

ylabel('altura');

zlabel('velocidade do fluido');

hold all;

% Plota a curva de Hagen-Poiseuille na linha horizontal posicionada no

% centro da grid

subplot(1,2,2);

filtred_table_line = filtred_table(:,500);

f = polyfit(steps_width,filtred_table_line',2);

52

Z = polyval(f,steps_width);

plot(steps_width, Z);

title('Perfil de Hagen-Poiseuille');

xlabel('largura');

ylabel('velocidade do fluido');

hold off;

end