Modelo de Turing: mudanças entre as edições

De Física Computacional
Ir para navegação Ir para pesquisar
Sem resumo de edição
 
(28 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
'''EM CONSTRUÇÃO'''
==Equações de Turing==
==Equações de Turing==


Linha 67: Linha 65:
<math>0 < (a - D_u \omega^2)(d - D_v \omega^2) - bc</math>
<math>0 < (a - D_u \omega^2)(d - D_v \omega^2) - bc</math>


e com essa desigualdade é fácil checar quais valores dos parâmetros <math>a</math>, <math>b,/math>, <math>c</math> e <math>d</math> e dos coeficientes de difusão <math>D_u</math> e <math>D_v</math> formarão padrões de Turing.


<math>0 > a - D_u \omega^2 + d - D_v \omega^2 </math>
<math>0 > a - D_u \omega^2 + d - D_v \omega^2 </math>




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




<math>a D_v \omega^2 + d D_u \omega^2 - D_u D_v \omega^4 < \text{det}(A)</math>
<math>a D_v \omega^2 + d D_u \omega^2 - D_u D_v \omega^4 < \text{det}(J)</math>


<math>D_u \omega^2 + D_v \omega^2 > \text{Tr}(A)</math>
<math>D_u \omega^2 + D_v \omega^2 > \text{Tr}(J)</math>




Se o sistema fosse originalmente estável, isto é, <math>\text{Tr}(A) < 0</math> e <math>\text{det}(A) > 0</math> a segunda desigualdade é sempre verdade, mas a primeira não. Podemos ver que a desigualdade pode ser violada se
Se o sistema fosse originalmente estável, isto é, <math>\text{Tr}(J) < 0</math> e <math>\text{det}(J) > 0</math> a segunda desigualdade é sempre verdade, mas a primeira não. Podemos ver que a desigualdade pode ser violada se




<math>g(z) = - D_u D_v z^2  + (a D_v + d D_u)z - \text{det}(A)</math>  
<math>g(z) = - D_u D_v z^2  + (a D_v + d D_u)z - \text{det}(J)</math>  




Linha 90: Linha 86:




<math>g(z) = - D_u D_v \left(z - \frac{a D_v + d D_u}{2D_u D_v} \right)^2 + \left( \frac{(a D_v + d D_u)^2}{4D_u D_v} \right) - \text{det}(A)</math>
<math>g(z) = - D_u D_v \left(z - \frac{a D_v + d D_u}{2D_u D_v} \right)^2 + \left( \frac{(a D_v + d D_u)^2}{4D_u D_v} \right) - \text{det}(J)</math>




Linha 96: Linha 92:




<math> \left( \frac{(a D_v + d D_u)^2}{4D_u D_v} \right) - \text{det}(A) > 0</math>
<math> \frac{(a D_v + d D_u)^2}{4D_u D_v} - \text{det}(J) > 0</math>




Linha 102: Linha 98:




<math>g(0) =  - \text{det}(A) > 0</math>
<math>g(0) =  - \text{det}(J) > 0</math>
 
 
Podemos ver que a opção (2) nunca pode ser obtida, pois o modelo é inicialmente estável e <math>\text{det}(J) > 0</math>, assim a única opção para que a difusão desestabilize o sistema é quando
 


<math> a D_v + d D_u > 2 \sqrt{D_u D_v \text{det}(J)}</math>


Podemos ver que a opção (2) nunca pode ser obtida, pois o modelo é inicialmente estável e <math>\text{det}(A) > 0</math>, assim a única opção para que a difusão desestabilize o sistema é quando




<math> a D_v + d D_u > 2 \sqrt{D_u D_v \text{det}(A)}</math>
e com essa desigualdade é fácil checar quais valores dos parâmetros <math>a</math>, <math>b</math>, <math>c</math> e <math>d</math> e dos coeficientes de difusão <math>D_u</math> e <math>D_v</math> formarão padrões de Turing.


== Implementação ==
== Implementação ==
Linha 152: Linha 152:


== Resultados e Discussão==
== Resultados e Discussão==
Na rede <math>100 \times  100</math> escolhendo <math>(a, b, c, d) = (1, -1, 2, -1.5)</math> e <math>(D_u, D_v) = (10^{-4}, 6 \times 10^{-4})</math>, podemos verificar se a desigualdade é respeitada.
<math>a D_v + d D_u = 4.5 \times 10^{-4}</math>
<math>2\sqrt{D_u D_v \text{det}(J)} \approx 3.464 \times 10^{-4}</math>
A desigualdade é sim respeitada. Abaixo podemos ver a simulação das concentrações de <math>u</math> e de <math>v</math>.
{| class="wikitable" style="text-align: center;"
!colspan="2"|Modelo Turing com <math>(a, b, c, d) = (1, -1, 2, -1.5)</math> e <math>(D_u, D_v) = (10^{-4}, 6 \times 10^{-4})</math>
|-
|[[Arquivo:u_uuu1.gif|thumb|upright=4|none|alt=Alt text|Simulação do Modelo de Turing da concentração de <math>u</math>.|500px]]
|[[Arquivo:v_vvv1.gif|thumb|upright=4|none|alt=Alt text|Simulação do Modelo de Turing da concentração de <math>v</math>.|500px]]
|-
|}
Quanto mais amarelo maior a densidade, assim como quanto mais roxo menor a densidade. Outra escolha de constantes é <math>(a, b, c, d) = (0.5, -1, 0.75, -1;)</math> e <math>(D_u, D_v) = (10^{-4} , 10^{-3})</math>. Verificando que a desigualdade é respeitada:
<math>a D_v + d D_u = 4 \times 10^{-4}</math>
<math>2\sqrt{D_u D_v \text{det}(J)} \approx 3.162 \times 10^{-4}</math>
Novamente respeitamos a desigualdade. Na rede <math>100 \times  100 </math> obtemos a  seguinte simulação das concentrações de <math>u</math> e de <math>v</math>.
{| class="wikitable" style="text-align: center;"
!colspan="2"|Modelo de Turing com <math>(a, b, c, d) = (0.5, -1, 0.75, -1;)</math> e <math>(D_u, D_v) = (10^{-4} , 10^{-3})</math>
|-
|[[Arquivo:u2.gif|thumb|upright=4|none|alt=Alt text|Simulação do Modelo de Turing da concentração de <math>u</math>.|500px]]
|[[Arquivo:v2.gif|thumb|upright=4|none|alt=Alt text|Simulação do Modelo de Turing da concentração de <math>v</math>.|500px]]
|-
|}
É 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. Diferentes conjuntos das constantes e dos coeficientes de difusão formam diferentes padrões.
Podemos estudar também a estudar a razão crítica dos coeficientes de difusão, onde o sistema passa a formar padrões. Definindo um novo parâmetro <math>\rho = D_v/D_u</math> podemos rearranjar a desigualdade necessária  para formar padrões da forma


Abaixo podemos visualizar uma simulação das concentrações de <math>u</math> e de <math>v</math> na rede <math>100 \times  100</math> com <math>(a, b, c, d) = (0.5, -1, 0.75, -1;)</math> e <math>(D_u, D_v) = (0.0001 , 0.001)</math>


<math>a \rho D_u + d D_v > 2 \sqrt{\rho D_u^2 \text{det}(J)}</math>


[[Arquivo:u2.gif|thumb|upright=4|none|alt=Alt text|Simulação do Modelo de Turing da concentração de <math>u</math>.]]
<math>a \rho + d  > 2 \sqrt{\rho \text{det}(J)}</math>
[[Arquivo:v2.gif|thumb|upright=4|none|alt=Alt text|Simulação do Modelo de Turing da concentração de <math>v</math>.]]


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.
 
Por exemplo, aplicando isso para um conjunto de constantes que simulamos <math>(a, b, c, d) = (1, -1, 2, -1.5)</math> chegaremos a
 
 
<math>\rho - 1.5 > 2 \sqrt{0.5 \rho}</math>
 
<math>\rho > 4.5</math>
 
 
Isso significa que a difusão de <math>v</math> deve ser quase cinco vezes maior que a difusão de <math>u</math> para  gerar os padrões. A difusão de <math>u</math> age mais localmente enquanto a de <math>v</math> age em áreas maiores. Uma transição de fase é observada perto de <math>\rho = 4.5</math>. Essa transição de fase entre homogenização e formação de padrões é chamada de Bifurcação de Turing <ref name=tur_paper> A. M. Turing, “The chemical basis of morphogenesis,”Philosophical Transactions ofthe Royal Society of London. Series B, Biological Sciences, vol. 237, no. 641, pp.37–72, 1952</ref>.
 
==Conclusão==
Partindo das equações diferenciais que caracterizam o modelo de Turing, analisamos os pontos de estabilidade no caso específico <math>D_u=D_v=0</math> e no caso mais geral, utilizando os autovalores da matriz  <math>\left(J - D \omega^2\right)\Bigg|_{f = f_{eq}}</math>. Com isso, foi obtido uma equação que determina se os parâmetros desejados formarão padrões de Turing. Descrevemos a implementação de um algoritmo que aplica o método FTCS para encontrar soluções numericamente. Para alguns parâmetros selecionados, foram feitas simulações do modelo para a concentração de <math>u</math> e <math>v</math>, nas quais notou-se a formação de padrões que dependem dos parâmetros. Acima, foram deixados os programas computacionais utilizados na resolução numérica do método de Turing.


== Programas Utilizados ==
== Programas Utilizados ==
Linha 190: Linha 242:


[[  Simulação do Modelo de Turing ]]
[[  Simulação do Modelo de Turing ]]


== Referências ==
== Referências ==


<references/>
<references/>

Edição atual tal como às 16h19min de 26 de novembro de 2020

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. 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

Na rede escolhendo e , podemos verificar se a desigualdade é respeitada.



A desigualdade é sim respeitada. Abaixo podemos ver a simulação das concentrações de e de .

Modelo Turing com e
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. Outra escolha de constantes é e . Verificando que a desigualdade é respeitada:



Novamente respeitamos a desigualdade. Na rede obtemos a seguinte simulação das concentrações de e de .

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


É 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. Diferentes conjuntos das constantes e dos coeficientes de difusão formam diferentes padrões.

Podemos estudar também a estudar a razão crítica dos coeficientes de difusão, onde o sistema passa a formar padrões. Definindo um novo parâmetro podemos rearranjar a desigualdade necessária para formar padrões da forma



Por exemplo, aplicando isso para um conjunto de constantes que simulamos chegaremos a



Isso significa que a difusão de deve ser quase cinco vezes maior que a difusão de para gerar os padrões. A difusão de age mais localmente enquanto a de age em áreas maiores. Uma transição de fase é observada perto de . Essa transição de fase entre homogenização e formação de padrões é chamada de Bifurcação de Turing [4].

Conclusão

Partindo das equações diferenciais que caracterizam o modelo de Turing, analisamos os pontos de estabilidade no caso específico e no caso mais geral, utilizando os autovalores da matriz . Com isso, foi obtido uma equação que determina se os parâmetros desejados formarão padrões de Turing. Descrevemos a implementação de um algoritmo que aplica o método FTCS para encontrar soluções numericamente. Para alguns parâmetros selecionados, foram feitas simulações do modelo para a concentração de e , nas quais notou-se a formação de padrões que dependem dos parâmetros. Acima, foram deixados os programas computacionais utilizados na resolução numérica do método de Turing.

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 [5] 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. A. M. Turing, “The chemical basis of morphogenesis,”Philosophical Transactions ofthe Royal Society of London. Series B, Biological Sciences, vol. 237, no. 641, pp.37–72, 1952
  5. https://fiscomp.if.ufrgs.br/index.php/Gnuplot