Modelo de Gray-Scott: mudanças entre as edições

De Física Computacional
Ir para navegação Ir para pesquisar
Wallec (discussão | contribs)
Wallec (discussão | contribs)
Linha 211: Linha 211:




Uma explicação possível para as discrepâncias observadas é o tamanho do grid e a aplicação das condições iniciais. Possivelmente, Sayama usou um grid de tamanho par, como <math>100 x 100</math>, por exemplo, e escolheu dois ou quatro pontos no centro da matriz como condição inicial. Como se trata da simulação de um sistema não linear, os resultados são muito sensíveis às condições iniciais. Além disso, observamos uma forte dependência dos padrões formados em relação à resolução espacial, <math>\Delta h</math>.
Uma explicação possível para as discrepâncias observadas é o tamanho do grid e a aplicação das condições iniciais. Possivelmente, Sayama usou um grid de tamanho par, como <math>100 \times 100</math>, por exemplo, e escolheu dois ou quatro pontos no centro da matriz como condição inicial. Como se trata da simulação de um sistema não linear, os resultados são muito sensíveis às condições iniciais. Além disso, observamos uma forte dependência dos padrões formados em relação à resolução espacial, <math>\Delta h</math>.


== Programa ==
== Programa ==

Edição das 16h35min de 26 de fevereiro de 2022

Introdução

Descrição do Modelo

O modelo de Gray-Scott descreve uma reação autocatalítica. Sejam duas substâncias químicas cujas concentrações em um dado ponto do espaço são dadas pelas variáveis u e v, a reação pode ser representada como

u+2v3v

Isso significa que uma molécula da substância u é transformada em uma molécula da substância v por meio da ação de outras duas moléculas da substância v, ou seja, v é um catalisador de sua própria produção (daí o termo autocatálise). Além dessa reação, ambas substâncias se difundem pelo meio (por isso esse modelo pertence à classe mais geral de modelos reativos-difusivos) e, portanto, as concentrações u e v mudam com o tempo e diferem em cada ponto. Por simplicidade, assume-se que a reação reversa (i.e., 3vu+2v) não ocorre.

O comportamento geral do sistema pode ser descrito pelas equações abaixo:

ut=uv2+F(1u)+Du2uvt=uv2(F+k)v+Dv2v(1)

A primeira das equações acima pode ser interpretada da seguinte forma. Em um dado ponto, a variação na concentração u aumenta proporcionalmente ao laplaciano de u naquele ponto, i.e., quando a concentração u na vizinhança desse ponto é alta; e proporcionalmente à taxa F de reposição de u (taxa de alimentação, ou feed rate). A concentração u diminui com o termo reativo uv2, que representa a reação u+2v3v.

De outro lado, na segunda das equações acima, a concentração v aumenta com o termo reativo uv2 e também proporcionalmente ao laplaciano de v naquele ponto, mas diminui com a remoção de v a uma taxa F+k, mais rápida, portanto, do que a reposição de u.

F e k são os parâmetros do modelo, juntamente com os coeficientes de difusão Du e Dv.

O sistema pode ser imaginado como consistindo em duas substâncias u e v, envoltas por uma membrana semipermeável e imersas em um meio em que essas mesmas duas substâncias estão presentes. A membrana permite a entrada da substância u, mas não da substância v, e permite a saída da substância v, mas não da substância u.[1]

Análise de estabilidade

Nota: A análise em toda esta seção pressupõe sempre que os parâmetros e coeficientes de difusão são positivos.

Soluções estacionárias sem difusão

O modelo de Gray-Scott depende dos parâmetros F,k e dos coeficientes de difusão Du,Dv das espécies químicas. Ignorando em um primeiro momento os termos de difusão, percebe-se que, por inspeção, o sistema possui uma solução estacionária em (u*,v*)=(1,0) para quaisquer valores dos parâmetros. Esse ponto, no entanto, não é a única solução estacionária do sistema; para encontrar as outras, é necessário impor u/t=v/t=0 nas equações do sistema. Fazendo isso e dispensando os termos de difusão (Du=Dv=0), obtém-se o seguinte sistema de equações:

uv2+F(1u)=0uv2(F+k)v=0(2)

Somando essas duas equações, relacionamos as variáveis u e v:

F(1u)(F+k)v=0u=1γv(3)

onde definiu-se o parâmetro auxiliar γ=F+kF.

Substituindo u na segunda equação do sistema (2) (e reescrevendo F+k=γF), ficamos com:

(1γv)v2γFv=0γv3+v2γFv=0(4)

Evidentemente, v=0 é solução dessa equação, implicando em u=1, como já havíamos inspecionado. Alternativamente, considerando v0, podemos dividir (4) por v, ficando com γv2+vγF=0. Resolvendo esta equação quadrática, obtemos duas novas soluções estacionárias para v:

v±=12γ(1±14γ2F)

Disso, pela relação (3), temos que os valores correspondentes para u são:

u=12(114γ2F)

É necessário apontar que, para que as duas últimas soluções (não-triviais) existam — isto é, sejam números reais — o fator dentro da raiz quadrada tem de ser positivo ( 14γ2F0 ). Por consequência:

4γ2F14(F+kF)2F1F4(F+k)2, para que existam as soluções não-triviais.

Nesse caso, então, há três soluções estacionárias (ui*,vi*) do sistema:[2]

u0*=1v0*=0u1*=12(1+14γ2F)v1*=12γ(114γ2F)(5)u2*=12(114γ2F)v2*=12γ(1+14γ2F)

Estabilidade dos estados estacionários (sem difusão)

Para avaliar a estabilidade das soluções acima, faz-se necessário obter a matriz Jacobiana dos termos de reação, Ri(u,v). Explicitamente, analisando o sistema (1) de equações, temos que R1(u,v)=uv2+F(1u) e R2(u,v)=uv2(F+k)v. A matriz Jacobiana do sistema é então dada por:

JR(u,v)=[uR1vR1uR2vR2]=[v2F2uvv22uv(F+k)](6)

Analisemos a estabilidade para os três pares (ui*,vi*) de soluções estacionárias:

  • Para (u0*,v0*)=(1,0):
JR(u0*,v0*)=[F00(F+k)](7)
Por essa ser uma matriz diagonal, os autovalores λi são justamente as entradas das diagonais; ou seja, λ1=F e λ2=(F+k). Uma vez que F e k são parâmetros positivos, os dois autovalores são reais e negativos, e portanto o ponto (u0*,v0*) é sempre estável.
  • Para (u1,2*,v1,2*)=(12(1±14γ2F),12γ(114γ2F)), podemos utilizar uma estratégia que simplifica as contas. Em particular, nota-se que os dois pontos obedecem à segunda equação do sistema (2) com v0. Desse modo, se dividirmos tal equação por v, percebemos que ambos os pontos obedecem a:
ui*vi*(F+k)=0(8)
Dessa equação, podemos calcular as entradas da segunda coluna da matriz jacobiana com facilidade:
2ui*vi*=2(F+k)
2ui*vi*(F+k)=(F+k)
Assim, a matriz jacobiana desses pontos fica:
JR(ui*,vi*)=[(vi*)2F2(F+k)(vi*)2(F+k)],i=1,2(9)
Sabemos que o produto dos autovalores dessa matriz é igual ao seu determinante. Calculando-o, obtém-se:
Δi:=det(JR(ui*,vi*))=(F+k)[(vi*)2F](10)
Dividindo por F(F+k):[2]
ΔiF(F+k)=(vi*)2F1=[114(γF)22(γF)]21=[114a22a]21
onde se definiu a=γF (observação: este é o γ definido no Gros[2]). Nota-se que a condição de existência a21/4 para os dois pontos não-triviais é equivalente a F4(F+k)2. Expandindo os termos, é possível mostrar que a expressão acima pode ser reescrita como:
ΔiF(F+k)=14a22a2(14a21)(11)
  • Para o caso i=1 (sinal negativo em (11)), temos a cota superior 14a2<1. Portanto, Δ1<0 para todo a que satisfaça a condição de existência. Como o determinante é negativo, sabemos que os autovalores são reais (comentário: como as entradas da matriz são reais, se os autovalores fossem complexos, seriam também conjugados, de modo que o produto deles fosse igual ao módulo ao quadrado de qualquer um, que seria um valor positivo). Ademais, como seu produto é negativo, eles têm sinais opostos; isto é, um deles é positivo, de modo que o ponto (u1*,v1*) nunca seja estável. Depreendemos desse raciocínio que o determinante da matriz jacobiana de entradas reais ser positivo é uma condição necessária para que haja estabilidade do ponto.
  • Já para i=2 (sinal positivo em (11)), temos sempre que Δ2>0. Para verificar a estabilidade, temos que agora calcular o traço da matriz jacobiana, pois o traço é a soma dos autovalores: se os autovalores são reais, eles têm o mesmo sinal por seu determinante ser positivo, de modo que o traço compartilhe o sinal com os dois autovalores; se os autovalores λi são complexos, eles serão conjugados e o traço será Tr(JR)=2Re(λi), de modo que a parte real dos autovalores tenha o mesmo sinal do traço. Assim, basta que o traço seja negativo para que o ponto seja estável, e que seja positivo para que seja instável.
No caso, temos que Tr(JR(u2*,v2*))=k(v2*)2. Esse traço é negativo quando (v2*)2>k e positivo quando (v2*)2<k; ou seja, (u2*,v2*) é estável quando v2*>k e instável quando v2*<k (lembrando que v2*>0 para todo F e k). Desse modo, pode-se caracterizar uma transição de estabilidade quando v2*=k.
Utilizando simultaneamente as equações (3) e (8), obtemos:[2]
F+kv2*=u2*=1γv2*=1F+kFv2*(F+k)F+(v2*)2F=v2*
Substituindo v2*=k, obteremos ao final:
(F+k)2=Fk(12)

Estabilidade dos estados estacionários (com difusão)

Precisamos agora analisar a estabilidade dos pontos estacionários na presença de difusão, como prescreve o sistema de equações (1), que descreve o modelo. Para isso, é necessário levar em consideração, para cada um dos estados de equilíbrio, os autovalores da matriz (JRDω2)|(ui*,vi*), em que D é a matriz diagonal cujas entradas são Du e Dv:[3]

D=[Du00Dv]

Se escrevermos, genericamente, que JR(ui*,vi*)=[abcd], teremos a seguinte matriz jacobiana de reação-difusão:

(JRDω2)|(ui*,vi*)=[aDuω2bcdDvω2]

Como já detalhado acima, para que o ponto seja estável, tal matriz tem que ter a parte real de todos os seus autovalores negativa, de modo que seu determinante seja positivo (det(JRDω2)>0) e seu traço negativo (Tr(JRDω2)<0).[4] Impondo tais condições à matriz acima, obteremos, após manipulações:[3]

aDvω2+dDuω2DuDvω4<det(JR)(13)Duω2+Dvω2>Tr(JR)(14)

Se o traço é negativo, vemos que a segunda equação é imediatamente satisfeita, pois o lado esquerdo é positivo em qualquer situação.[3]

  • Para o ponto (u0*,v0*), utilizamos a matriz (7), obtendo as seguintes desigualdades:
FDvω2(F+k)Duω2DuDvω4<F(F+k)Duω2+Dvω2>2Fk
Que são, evidentemente, satisfeitas, por análise simples de sinais de cada lado. Portanto, conclui-se que o ponto (u0*,v0*) é sempre estável, inclusive na presença de difusão.
Esse é um resultado, à primeira vista, surpreendente. Em geral, o surgimento de padrões complexos e não homogêneos em sistemas reativos-difusivos está relacionado à desestabilização de um ou mais estados de equilíbrio homogêneo causada pela introdução dos coeficientes de difusão (conhecida como instabilidade de Turing).[5] Entretanto, no caso do modelo de Gray-Scott, o surgimento de padrões complexos e não homogêneos não decorre da instabilidade de Turing, uma vez que o surgimento de padrões não-triviais neste modelo ocorre mesmo quando apenas o estado de equilíbrio trivial (u0*,v0*)=(1,0) existir.[6]

Implementação

Será usado o método FTCS (Foward Time Central Space) para integrar as equações do modelo. Como existem explicações do método em toda literatura e em outras entradas da Wiki (ver, por exemplo, Modelo de Turing), a explicação aqui será sucinta.

O método consiste em discretizar a derivada parcial em relação ao tempo para frente e discretizar as derivadas parciais de segunda ordem em relação ao espaço centralmente. Para uma função f(x,y,t):


ftf(x,y,t+Δt)f(x,y,t)Δt


2fx2f(x+Δx,y,t)2f(x,y,t)+f(xΔx,y,t)Δx2


2fy2f(x,y+Δy,t)2f(x,y,t)+f(x,yΔy,t)Δy2


A partir das duas últimas equações acima é fácil mostrar que o laplaciano em duas dimensões, como será usado no presente trabalho, pode ser escrito como


2f(x,y,t)f(x+Δx,y,t)2f(x,y,t)+f(xΔx,y,t)Δx2+f(x,y+Δy,t)2f(x,y,t)+f(x,yΔy,t)Δy2


Fazendo Δx=Δy=Δh, pode-se simplificar a discretização do laplaciano para


2f(x,y,t)=f(x+Δh,y,t)+f(xΔh,y,t)+f(x,y+Δh,t)+f(x,yΔh,t)4f(x,y,t)Δh2


Usando a notação f(x±Δh,y±Δh,t±Δt)fi±1,j±1n±1 é possível então escrever as equações do modelo de forma discretizada:


ui,jn+1=ui,jn+[ui,jn(vi,jn)2+F(1ui,jn)+Duui+1,jn+ui1,jn+ui,j+1n+ui,j1n4ui,jnΔh2]Δt

vi,jn+1=vi,jn+[ui,jn(vi,jn)2(F+k)vi,jn+Dvvi+1,jn+vi1,jn+vi,j+1n+vi,j1n4vi,jnΔh2]Δt


Utilizou-se uma rede quadrada de tamanho 69×69. O estado do inicial do sistema é aquele em que todos os pontos estão no estado de equilíbrio estável trivial (u,v)=(1,0), exceto o ponto central, em que é introduzida uma perturbação com (u,v)=(0,1). Foram usadas condições de fronteira conforme a Figura 1.

  • Figura 1 - Grid para exemplificar as condições de fronteira usadas na simulação.
  • Cada elemento na matriz tem quatro vizinhos que são denominados por U (Up), D (Down), L (Left), R (Right). Na Figura 1, o elemento 1, possui os vizinhos U=D=5, R=L=6; o elemento 2 possui como vizinhos U=1, R=L=9 e D=10; o elemento 3 tem vizinhos U=D=7, R=1 e L=8; e, finalmente, os vizinhos de 4 são U=3, D=12, L=11 e R=2.

    Essas condições de fronteira e a condição inicial explicada acima buscam reproduzir as mesmas condições usadas na simulação de Sayama.[7]

    Resultados e discussão

    As simulações abaixo reproduzem duas condições simuladas por Sayama.[7]

    Simulações do Modelo de Gray-Scott para a concentração u, com
    Alt text
    Concentração de u para (F,k)=(0.015,0.055), de t=0 até t=2000.
    Alt text
    Concentração de u para (F,k)=(0.02,0.05), de t=0 até t=2000.

    Em geral, todas as simulações apresentaram boa concordância qualitativa com os padrões simulados por Sayama,[7] entretanto, as imagens não são isomorficamente equivalentes. Seguem abaixo alguns exemplos:

  • Figura 2

  • Uma explicação possível para as discrepâncias observadas é o tamanho do grid e a aplicação das condições iniciais. Possivelmente, Sayama usou um grid de tamanho par, como 100×100, por exemplo, e escolheu dois ou quatro pontos no centro da matriz como condição inicial. Como se trata da simulação de um sistema não linear, os resultados são muito sensíveis às condições iniciais. Além disso, observamos uma forte dependência dos padrões formados em relação à resolução espacial, Δh.

    Programa

    Simulação do Modelo de Gray-Scott


    Referências

    Bibliografia

    • C. Gros, "Complex and Adaptive Dynamical Systems". Springer-Verlag, Berlim, 2015.
    • H. Sayama, "Introduction to the Modeling and Analysis of Complex Systems". Open SUNY Textbooks, Geneseo, NY, 2015.