{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "# Analise Dimensional\n", "\n", "Uma parte importante da validação de qualquer modelo, é a chamada análise dimensional. Devido à sua natureza de taxa de variação, ODEs de primeira ordem devem ter unidade de velocidade, ou seja $Grandeza / tempo$, isto é, assumindo que a variável independente seja o tempo.\n", "\n", "\n", "\n", "Agora precisamos de um modelo para analisar.\n", "\n", "**Exemplo: Modelo Predador-Presa**\n", "\n", "$$\\frac{dx}{dt}= r_1 x(1-\\frac{x}{K}) - A\\frac{xy}{D+x}$$\n", "\n", "$$\\frac{dy}{dt} = r_2 y (1-\\frac{y}{qx})$$\n", "\n", "onde $x(t)$ é a população da presa, $y(t)$ a do predador, e $r_i$, $K$, $A$, $D$ e $q$ são constantes. Agora vamos tentar entender as unidades de nosso modelo. Vamos assumir a grandeza Massa (M) para nossas populações e T para o tempo, naturalmente. Em seguida podemos substituir cada símbolo nas equações por sua unidade:\n", "\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%display typeset" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}-r_{1} x {\\left(\\frac{x}{K} - 1\\right)} - \\frac{A x y}{D + x}$$" ], "text/plain": [ "-r1*x*(x/K - 1) - A*x*y/(D + x)" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "var('M T x y A D K r1')\n", "f(x) = r1*x*(1-x/K)-A*(x*y/(D+x))\n", "f(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Agora substituímos as variáveis por suas dimensões:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}-\\frac{1}{2} \\, A M$$" ], "text/plain": [ "-1/2*A*M" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# r1 é uma taxa, logo 1/T\n", "# Para poder ser somado a X, D tem que ter a mesma unidade\n", "# Capacidade de suporte (K) é também unidade de massa\n", "fd = expand(f(x)).substitute(x=M,K=M,D=M,y=M,r1=1/T)\n", "fd" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Agora resolvemos para A e encontramos a dimensão de $A$ que é $1/T$. Isto é como deve ser pois o lado esquerdo da equação, $\\frac{dx}{dt}$ tem dimensão $M/T$ " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left[A = -\\frac{2}{T}\\right]$$" ], "text/plain": [ "[A == -2/T]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solve(-A*M/2-M/T,A)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\left[r_{1} = \\frac{1}{T}\\right]$$" ], "text/plain": [ "[r1 == (1/T)]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solve(r1*M*1-M/T,r1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## Adimensionalizando um Sistema de Equações\n", "\n", "Uma ferramenta muito útil na simplificação de modelos é a adimensionalização. Neste processo, propomos substituições de variáveis e outras manipulações algébricas com a intenção de tornar adimensionais as variáveis do modelo e neste processo, frequentemente reduzimos também o número de parâmetros no modelo.\n", "\n", "Vamos começar com um exemplo simples com uma única equação diferencial.\n", "### Crescimento Logístico\n", "\n", "O modelo de crescimento logístico é um modelo de crescimento auto-limitado, onde a taxa de crescimento depende da densidade. Seja $r \\gt 0$ a taxa de crescimento intrínseco em unidades $T^{-1}$ e $K \\gt 0$ a capacidade de suporte, com as mesmas unidades de N. O modelo Logístico fica então:\n", "\n", "$$\\frac{dN}{dt}=r N \\left(1-\\frac{N}{K}\\right)$$\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\frac{\\partial}{\\partial t}N\\left(t\\right) = -r {\\left(\\frac{N\\left(t\\right)}{K} - 1\\right)} N\\left(t\\right)$$" ], "text/plain": [ "diff(N(t), t) == -r*(N(t)/K - 1)*N(t)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "var('N r K t')\n", "N = function('N')(t)\n", "dndt = diff(N,t) == r*N*(1-N/K)\n", "dndt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dividindo ambos os lados da equação por K, obtemos:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\frac{\\frac{\\partial}{\\partial t}N\\left(t\\right)}{K} = -\\frac{r {\\left(\\frac{N\\left(t\\right)}{K} - 1\\right)} N\\left(t\\right)}{K}$$" ], "text/plain": [ "diff(N(t), t)/K == -r*(N(t)/K - 1)*N(t)/K" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dndt/K" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Podemos ver que N sempre aparece na forma $N/K$. Podemos simplificar o modelo e reduzir o número de parâmetros tratando esta quantidade com uma nova variável: $$y(t)=N(t)/K$$" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/latex": [ "$$\\newcommand{\\Bold}[1]{\\mathbf{#1}}\\frac{\\partial}{\\partial t}y\\left(t\\right) = -r {\\left(y\\left(t\\right) - 1\\right)} y\\left(t\\right)$$" ], "text/plain": [ "diff(y(t), t) == -r*(y(t) - 1)*y(t)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "var('y')\n", "y = function('y')(t)\n", "dydt = diff(y,t) == r*y*(1-y)\n", "dydt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "Note que $y$, por definição, é adimensional. agora resta apenas uma quantidade dimensional no modelo: $r (T^{-1})$. Podemos então introduzir uma nova variável $s=r t$. Chegamos então a $$\\frac{dy}{ds}=y(1-y)$$\n", "\n", "Agora temos um modelo completamente adimensional e sem nenhum parâmetro livre. Como podemos obter a solução de N(t), a partir da solução Y(s)?\n", "\n", "Simples: $N(t) = K y(s) = K y(rt)$\n", "### Produção-Decaimento\n", "\n", "$$\\frac{dx}{dt}= I - \\gamma x$$\n", "\n", "Neste caso primeiro rearranjamos a equação como $$\\frac{dx}{dt}=\\gamma \\left(\\frac{I}{\\gamma}-x \\right)$$\n", "\n", "Agora fica evidente que $I/\\gamma$ tem a mesma unidade de $x$. Agora podemos definir as seguintes variáveis adimensionais: $x^*=\\frac{x}{I/\\gamma}$, e $t^*=\\frac{t}{1/\\gamma}$.\n", "\n", "se substituirmos $x$ e $t$ por estas novas variáveis obtemos:\n", "\n", "$$\\frac{d(I/\\gamma)x^*}{d(1/\\gamma)t^*}=\\gamma \\left(\\frac{I}{\\gamma}-\\frac{I}{\\gamma}x^* \\right)$$\n", "\n", "Como $I/\\gamma$ é uma constante que aparece como um fator comum a todos os termos, desde que $\\gamma$ e $I$ sejam diferentes de 0, podemos cancelá-los em ambos os lados da equação. Agora basta multiplicar ambos os lados por $1/\\gamma$ e obtemos:\n", "\n", "$$\\frac{dx^*}{dt^*}=1-x^*$$\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## Combinando Análise dimensional com Adimensionalização\n", "### Modelo de Dimerização\n", "\n", "Considere a seguinte reação química:\n", "\n", "$$A+A \\leftrightarrows^{k_2}_{k_1} C$$\n", "\n", "$$\\frac{dA}{dt}=-2 k_1 A^2 + 2 k_2 C$$\n", "\n", "$$\\frac{dC}{dt}=k_1 A^2 -k_2 C$$\n", "\n", "**1º passo: Análise dimensional**\n", "\n", "Vamos examinar as dimensões presentes neste sistema. a partir de agora vamos usar $[\\,]$ para denotar \"a dimensão de\" :\n", "\n", "A concentração de uma molécula em solução representa número de moléculas por volume, logo: $[A_0]=L^{-3}$, $[A]=L^{-3}$, $[C]=L^{-3}$. \n", "\n", "A constante $k_2$ são taxas, e como já vimos, têm dimensão $T^{-1}$. Por fim, a variável tempo: $[t]=T$. \n", "\n", "Em uma equação bem construida cada termo deve possuir as mesmas dimensões, uma vez que não podemos comparar \"bananas\" com \"laranjas\" e muito menos somá-las. Portanto para a primeira equação diferencial temos:\n", "\n", "$$[dA/dt] = [A]/[t]= L^{-3} T^{-1}$$\n", "\n", "Para o termo $k_1A^2$ temos:\n", "\n", "$$[k_1A^2] = [k_1][A]^2 = [k_1] L^{-6}$$\n", "\n", "como, pela equação anterior,\n", "\n", "$$ [k_1] L^{-6} = L^{-3} T^{-1}$$\n", "\n", "temos que:\n", "\n", "$$[k_1] = L^3 T^{-1}$$\n", "\n", "**2º passo: Adimensionalização**\n", "\n", "Vamos começar pela substituição da variável $t$ por uma nova variável independente adimensional. Vamos fazer isso por meio da divisão por uma combinação adequada de parâmetros.\n", "\n", "$$t^*=\\frac{t}{1/k_2} = k_2 t$$\n", "\n", "Outra combinação de parâmetros poderia ter sido utilizada, como por exemplo, $(A_0k_1)^{-1}$. \n", "\n", "Para as concentrações, um boa escolha para concentrações adimensionais seria: $$a^*=\\frac{A}{A_0}$$ e $$c^*=\\frac{C}{C_0}$$\n", "\n", "**3º passo: Re-escrever as equações em termos das novas variáveis**\n", "\n", "As variáveis dimensionais originais, $C$, $A$ e $t$ se relaccionam com suas contrapartidas adimensionais da seguinte forma: $$C=C_0 c^*,$$ $$A=A_0 a^*, $$ $$t=\\frac{t^*}{k_2}.$$\n", "\n", "As condições iniciais podem ser reescritas como:\n", "\n", "em $t^*=0$, $a^*=1$ e $c^*=0$.\n", "\n", "Substituindo as formas adimensionais no modelo e simplificando, obtemos:\n", "\n", "$$k_2 A_0\\frac{da^*}{dt^*} = -2 k_1 A_0^2(a^*)^2 + 2k_2A_0c^*$$\n", "\n", "Como já vimos, é melhor simplificar as equações, reduzindo um dos coeficientes a 1. Podemos conseguir isso dividindo ambos os lados da equação acima por $k_2 A_0$:\n", "\n", "$$\\frac{da^*}{dt^*}=-2\\phi (a^*)^2 + 2c^*,$$\n", "\n", "agora temos um novo parâmetro $\\phi =\\frac{k_1 A_0}{k_2}$\n", "\n", "Substituindo na equação de $C$ obtemos:\n", "\n", "$$\\frac{dc^*}{dt^*}=\\phi(a^*)^2 - c^*$$\n", "\n", "deixando os $*$ de fora, nossas equações ficam:\n", "\n", "$$\\frac{da}{dt}= -2\\phi a^2 + 2c,\\,\\,a(0)=1,$$\n", "\n", "$$\\frac{dc}{dt}= \\phi a^2 -c, \\,\\,\\, c(0)=0$$\n", "\n", "Neste novo modelo, o único parâmetro $\\phi$ é adimensional:\n", "\n", "$$[\\phi] = \\frac{[k_1][A_0]}{k_2} = \\frac{L^3 T^{-1}\\cdot L^{-3}}{T^{-1}}=L^0 T^0$$\n", "**4o passo: Interpretando os parâmetros adimensionais**\n", "\n", "\n", "Nem sempre os parâmetros adimensionais são apenas um preço a pagar, em termos de interpretabilidade, por equações mais simples. Também podem nos dar interpretações próprias que nos ajudem a interpretar a dinâmica do sistema. Vamos tentar interpretar $\\phi$.\n", "\n", "\n", "No equilíbrio, $K_1 A^2 -k_2C = 0$, logo,\n", "$$\\frac{k_1 A}{k_2}=\\frac{C_{eq}}{A_{eq}}$$\n", "Vemos que $\\phi$ é a razão das duas concentrações no equilíbrio.\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "def plot_sol(sol):\n", " a=list_plot([(i[0],i[1][0]) for i in sol],color='red', plotjoined=True, legend_label='a', alpha=.8)\n", " c=list_plot([(i[0],i[1][1]) for i in sol],color='blue', plotjoined=True, legend_label='c', alpha=.8, axes_labels=[\"t\",\"y\"], gridlines=True)\n", " r = list_plot([(i[0],i[1][1]/(i[1][0])^2) for i in sol],color='green', plotjoined=True, legend_label='c/a', alpha=.8, axes_labels=[\"t\",\"y\"], gridlines=True)\n", " a.legend()\n", " c.legend()\n", " r.legend()\n", " show(c+a+r)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "def fun(t,y):\n", " a,c = y\n", " phi = 1.8\n", " return [-2*phi*a^2 + 2*c,\n", " phi*a^2 -c]" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "T = ode_solver()\n", "T.algorithm='rk8pd'\n", "T.function = fun\n", "y0=[1,0]\n", "T.ode_solve(t_span=[0,10],y_0=y0, num_points=100)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "Graphics object consisting of 3 graphics primitives" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_sol(T.solution)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.7999999999999998" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "T.solution[-1][1][1]/T.solution[-1][1][0]^2" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "SageMath 9.3", "language": "sage", "name": "sagemath" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.2" } }, "nbformat": 4, "nbformat_minor": 2 }