Modelo de Turing

De Física Computacional
Ir para navegação Ir para pesquisar
A versão imprimível não é mais suportada e pode ter erros de renderização. Atualize os favoritos do seu navegador e use a função de impressão padrão do navegador.

EM CONSTRUÇÃO

Equações de Turing

Simulações computacionais que envolvem equações diferenciais parciais (EDP's) são usualmente modeladas através da discretização das variáveis espaciais e temporais. Algumas dessas equações descrevem comportamentos difusivos no sistema, sendo chamadas de equações de difusão. Tais equações envolvem variáveis de estado que apresentam variações temporal e espacial e coeficientes de difusão no sistema, além de outros parâmetros que influenciam na evolução dos estados. Dentro desse ramo de equações, encontra-se o Modelo de Turing, desenvolvido por Alan Turing, que utiliza como base a concentração de espécies em um sistema, avaliando sua reação, difusão e variação espacial e temporal. São muitas as aplicações do modelo, principalmente em ramos como biologia e química, envolvendo problemas com formação de padrões[1]. A seguir, descrevemos sua formulação matemática.

Sejam e as concentrações das espécies que serão analisadas. Sejam e parâmetros e e constantes. Os coeficientes de difusão são e , cada um associado a uma das concentrações[2]. O Modelo de Turing é dado pelas EDP's



Note que certa parte de cada equação depende apenas dos parâmetros e das concentrações. Podemos, portanto, utilizar funções de variáveis e para descrever o sistema[3], de modo que


Estabilidade e Instabilidade no Modelo de Turing

Pontos de Equilíbrio

Vimos que o modelo de Turing depende de parâmetros , de constantes e e dos coeficientes de difusão.

Afirmação: Se , temos ( como o único ponto de equilíbrio.

Demonstração: Mostraremos que é ponto de equilíbrio. De fato, ao aplicarmos esse ponto na equação do modelo de Turing, temos



para mostrar que é único, suponha que existem dois pontos de equilíbrio, a saber, e . Vemos que, como as equações diferenciais em cada ponto fixo são iguais a zero, temos




Consequentemente, devemos ter


.


Do mesmo modo, . Portanto, o ponto de equilíbrio é único nessas circunstâncias.

Estabilidade de Sistemas Reativos-Difusivos

Para estudarmos a estabilidade dos sistemas reativos-difusivos precisamos encontrar os autovalores da matriz[2]



Onde é a matriz jacobiana dos termos de reação, é a matriz diagonal dos termos de difusão e é o parâmetro que determina a frequência espacial das perturbações. A prova dessa afirmação pode ser encontrada nas referências. Aplicando isso ao modelo de Turing obtemos



Para esta matriz ser estável precisamos que o determinante dessa matriz seja positivo e o traço seja negativo. Obtemos então




Podemos ver que em ambas desigualdades aparecerá o Determinante e o Traço da matriz dos coeficientes de reação. Denotaremos essa matriz por . Reescrevendo então obtemos



Se o sistema fosse originalmente estável, isto é, e a segunda desigualdade é sempre verdade, mas a primeira não. Podemos ver que a desigualdade pode ser violada se



tomar valores positivos para algum (Onde ). Podemos reescrever da forma



Vamos então analisar duas opções onde podemos ter : (1) o ponto mais alto da função fica no lado positivo do eixo ou (2) o ponto mais alto da função fica no no lado negativo do eixo . Na primeira opção (1) a única condição é que o máximo da função seja acima do eixo , logo teremos



Se o máximo da função estiver no lado negativo de , opção (2), a condição é que o ponto que interceptar deve ser positivo, podemos escrever isso da forma



Podemos ver que a opção (2) nunca pode ser obtida, pois o modelo é inicialmente estável e , assim a única opção para que a difusão desestabilize o sistema é quando



e com essa desigualdade é fácil checar quais valores dos parâmetros , , e e dos coeficientes de difusão e formarão padrões de Turing.

Implementação

Para resolver numericamente as equações de Turing iremos utilizar o método FTCS (Forward Time Central Space). O método FTCS é o mais simples e consiste em discretizar a derivada em de forma não simetrizada. Obtemos as seguintes discretizações para uma função genérica




Onde é o vetor posição, que neste trabalho utilizamos apenas duas dimensões, .

Podemos discretizar as equações de Turing diretamente com o método FTCS. Talvez o único problema seja o laplaciano, porém basta escrever da forma



Assim podemos utilizar a discretização simetrizada e obter



Ao tomarmos , que faremos aqui, podemos simplificar a discretização do laplaciano para


Então obtemos que as equações de Turing discretizadas pelo método FTCS, em notação discreta, são dadas por



Onde e são os índices espaciais e é o índice temporal.

Utilizamos uma rede quadrada de tamanho com condições de contorno periódicas. O sistema inicia próximo do equilibrio e então é aplicado um pequeno ruído para começar a difusão. O ruído é muito importante, sem ele o sistema ficaria sempre no equilíbrio. O ruído também deve ser pequeno suficiente para quebrar o estado inicial, mas não grande suficiente para causar instabilidades numéricas na simulação. O ruído utilizado aqui consiste em números aleatórios no intervalo . Tomamos .

Resultados e Discussão

Abaixo podemos visualizar uma simulação das concentrações de e de na rede com e , que respeita a desigualdade necessária para formar os padrões.


Alt text
Simulação do Modelo de Turing da concentração de .
Alt text
Simulação do Modelo de Turing da concentração de .

Quanto mais amarelo maior a densidade, assim como quanto mais roxo menor a densidade. É possível ver que o sistema rapidamente forma um padrão, onde existem algum aglomerados com maior densidade e diversos pontos onde existe baixa densidade.

Outra simulação das concentrações de e de na rede . Agora e , que também respeita a desigualdade necessária para formar os padrões.

Alt text
Simulação do Modelo de Turing da concentração de .
Alt text
Simulação do Modelo de Turing da concentração de .

Programas Utilizados

Programas na linguagem C. Para utilizar os programas, abra o terminal e compile da forma

$ gcc prog.c -lm

Onde prog.c é o programa que deseja utilizar. E execute da seguinte maneira

$ ./a.out PARAMETROS

onde o segundo termo são os parâmetros do sistema, argumento dos programas. Dentro dos programas tem um exemplo de execução. O programa da simulação possuei uma diretiva de compilação para visualização do sistema ao decorrer da execução. Para utilizar é necessário ter o gnuplot [4] instalado e compilar da forma

$ gcc -DGNU prog.c -lm

e então executar da maneira

$ ./a.out PARAMETROS | gnuplot

Estabilidade das Constantes

Simulação do Modelo de Turing

Referências

  1. https://en.wikipedia.org/wiki/Turing_pattern
  2. 2,0 2,1 H. Sayama, "Introduction to the Modeling and Analysis of Complex Systems", p. 260. Open SUNY Textbooks, Geneseo, NY, 2015. Erro de citação: Etiqueta inválida <ref>; Nome "Sayama260" definido várias vezes com conteúdo diferente
  3. J. Jost, "Partial Differential Equations", 3ed, p.140. Springer Science+Business Media, New York, 2013.
  4. https://fiscomp.if.ufrgs.br/index.php/Gnuplot