Modelo de Turing: mudanças entre as edições
Sem resumo de edição |
|||
(28 revisões intermediárias por 2 usuários não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
==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> | ||
<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 | 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}( | <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}( | <math>D_u \omega^2 + D_v \omega^2 > \text{Tr}(J)</math> | ||
Se o sistema fosse originalmente estável, isto é, <math>\text{Tr}( | 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}( | <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}( | <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> | <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}( | <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> | |||
<math> a | 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 | |||
<math>a \rho D_u + d D_v > 2 \sqrt{\rho D_u^2 \text{det}(J)}</math> | |||
<math>a \rho + d > 2 \sqrt{\rho \text{det}(J)}</math> | |||
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 | |
---|---|
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 | |
---|---|
É 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
Referências
- ↑ https://en.wikipedia.org/wiki/Turing_pattern
- ↑ 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 - ↑ J. Jost, "Partial Differential Equations", 3ed, p.140. Springer Science+Business Media, New York, 2013.
- ↑ 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
- ↑ https://fiscomp.if.ufrgs.br/index.php/Gnuplot