Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

Aulas do Curso de Modelagem matemática IV da FGV-EMAp

Views: 2412
License: GPL3
Image: default
Kernel: SageMath 8.1

1ª Lista de Exercícios

Cinética Química

Neste exercícios vamos construir modelos, resolvê-los analitica e numéricamente, e discutir a estabilidade dos seus equilíbrios.

I. Considere a equação de produção e decaimento introduzida abaixo. Em biologia celular, é comum a produção por tempo limitado, de uma molécular como resposta a um estimulo nervoso ou hormonal.

dxdt=Iγx\frac{dx}{dt}= I - \gamma x
  1. Modifique o modelo de Produção e decaimento de forma que II seja positivo apenas entre os tempos t=4t=4 e t=10t=10. Dica: Use a função de Heaviside mostrada abaixo.

  2. Como você escreveria o modelo resultante em notação matemática?

  3. Resolva o modelo e discuta o seu equilíbrio.

  4. Verifique se o equilíbrio do modelo depende da sua condição inicial, x(0)

%display typeset
heaviside?
plot(heaviside(x-4),(x,0,10))
Image in a Jupyter notebook
plot(heaviside(x-4)-heaviside(x-10),(x,0,15))
Image in a Jupyter notebook
def fun(t,x): I = heaviside(t-4)-heaviside(t-10) return [I - 0.3*x[0]] T = ode_solver() T.algorithm = "rk8pd" T.function = fun T.ode_solve(y_0=[2],t_span=[0,15], num_points=100) #T.ode_solve?
T.plot_solution(i=0,interpolate=False, gridlines=true)
Image in a Jupyter notebook

II. Uma substância com meia-vida de um dia é produzida a uma taxa constante de 10μMh110μMh^{−1}. Suponha que a sua concentração seja denotada por C(t)C(t).

  1. Use uma equação diferencial para descrever a dinâmica deste processo. Usando o Sage encontre a solução deste modelo analíticamente.

  2. Se um inibidor for aplicado em t=0t=0, de forma que a substância não seja mais produzida. Encontre a solução C(t)C(t) e a use para mostrar the C(t)0C(t)→0 quando tt→∞

  3. Suponha agora que começando de C(0)=C0C(0)=C_0, aplica-se uma droga que inibe o decaimento da substância completamente, sem afetar a sua taxa de produção. Mostre que a substância se acumulará a uma taxa linear C(t)=C0+ktC(t)=C_0+kt e encontre o valor de kk.

var('C t k C0 I') C=function('C')(t) dCdt = diff(C,t)== I-k*C sol = desolve(dCdt,C,ivar=t, ics=[0,C0]) show(sol)
simplify(4*k*exp(-k*24)/k)
f(t) = sol(I=0,k=1/50,C0=4) plot (f,0,24)
Image in a Jupyter notebook

III. Imagine dois tanques de reação TT e UU, que se comunicam com fluxos k1=k2k_1=k_2 A substância AA é introduzida no tanque TT a uma taxa constante II e a substância BB é introduzida no tanque UU a um taxa constante JJ. A substância BB decai a uma taxa γ2\gamma_2 apenas no tanque TT enquanto que a substância AA decai a uma taxa γ1\gamma_1, apenas no tanque UU.

  1. Escreva um sistema de equações diferenciais descrevendo a evolução temporal das duas substâncias em cada um dos Tanques

  2. Resolva o sistema analíticamente, usando o Sage. e discuta os equilíbrios e sua estabilidade.

  3. Apresente a evolução da solução em um campo vetorial

  4. Resolva numericamente o sistema no Sage

  5. Assuma que I=sen(t)I=sen(t), encontre a nova solução do sistema e seu(s) equilibrio(s)

  6. Assuma que a produção JJ de BB é inibida pela concentração de AA no tanque UU, e vice-versa: AA produção II de AA é inibida pela Concentração de BB no tanque TT. Encontre a solução do sistema e analise os seus equilíbrios.

forget() var('C_at C_au C_bt C_bu I J k_1 k_2 gamma_1 gamma_2 t') C_at = function('C_at')(t) C_au = function('C_au')(t) C_bt = function('C_bt')(t) C_bu = function('C_bu')(t) dcatdt = I-k_1*C_at + k_2*C_au dcaudt = k_1*C_at - gamma_1*C_au - k_2*C_au dcbtdt = k_2*C_bu - (k_1+gamma_2)*C_bt dcbudt = J-k_2*C_bu +k_1*C_bt #assume(k_2^2+2*k_1*k_2+2*gamma_1*k_2+k_1^2-2*gamma_1*k_1+gamma_1^2>0) #assume(k_1>0) #assume(k_2>0) #assume(gamma_1>0) #assume(gamma_2>0) #k_1=k2=0.1 #gamma_1=gamma_2=0.01 #I=J=1 sol = desolve_system([dcatdt,dcaudt,dcbtdt,dcbudt],[C_at,C_au,C_bt,C_bu],ivar=t, ics=[0,1,1,1,1]) show(sol)
forget() assumptions()
var('C_at C_au C_bt C_bu I J k_1 k_2 gamma_1 gamma_2') ss = solve([I-k_1*C_at + k_2*C_au,k_1*C_at - gamma_1*C_au - k_2*C_au, k_2*C_bu - (k_1+gamma_2)*C_bt, J-k_2*C_bu +k_1*C_bt],C_at,C_au,C_bt,C_bu) ss
jac = jacobian([I-k_1*C_at, k_1*C_at - gamma_1*C_au, k_2*C_bu - gamma_2*C_bt, J-k_2*C_bu],[C_at,C_au,C_bt,C_bu]) jac
jac.eigenvalues()
J=1 I=1 solAT = sol[0].rhs() solAU = sol[1].rhs() solBT = sol[2].rhs() solBU = sol[3].rhs() plot([solAT(I=1,k_1=0.5,gamma_1=1,gamma_2=1,k_2=1),solAU(I=1,gamma_1=1)],(t,0,10))#, color='red')
Image in a Jupyter notebook
plot([solBT(J=1,k_2=1,gamma_2=2), solBU(J=1,k_2=1,gamma_2=3,k_1=0.5)],(t,0,10))
Image in a Jupyter notebook
solBT,solBU(I=1,k_1=0.5)
def fun3(t,y, params): C_at,C_au,C_bt,C_bu = y k_1,k_2,gamma_1,gamma_2,I,J = params I = sin(t) return[I-k_1*C_at + k_2*C_au,k_1*C_at - gamma_1*C_au - k_2*C_au, k_2*C_bu - (k_1+gamma_2)*C_bt, J-k_2*C_bu +k_1*C_bt] show(fun3(0,[10,10,10,10],(1,1,1,1,.5,.5))) T = ode_solver() T.algorithm = "rk8pd" T.function = fun3 T.ode_solve(y_0=[10,10,10,10],t_span=[0,20],params=(1,1,1,1.5,2,2), num_points=100)
def plot_sol(sol): cat = list_plot([(i[0],i[1][0]) for i in sol],color='red', plotjoined=True, legend_label=r'$C_{AT}$', alpha=.8) cau = list_plot([(i[0],i[1][1]) for i in sol],color='blue', plotjoined=True, legend_label=r'$C_{AU}$', alpha=.8, axes_labels=["t","x"],)# marker='v')#, gridlines=True) cbt = list_plot([(i[0],i[1][2]) for i in sol],color='green', plotjoined=True, legend_label=r'$C_{BT}$', alpha=.8) cbu = list_plot([(i[0],i[1][3]) for i in sol],color='black', plotjoined=True, legend_label=r'$C_{BU}$', alpha=.8)#, gridlines=true) show(cat+cau+cbt+cbu) plot_sol(T.solution)
Image in a Jupyter notebook

Análise Dimensional e Adimensionalização

IV. Considere o seguinte modelo de crescimento populacional: dN/dt=rNdN/dt=rN, onde N(0)=N0>0N(0)=N_0>0 e r>0r>0. Neste modelo rr é a taxa de crescimento e N0N_0 é a população inicial. Lembre-se que a solução deste modelo é N(t)=N0ertN(t)=N_0 e^{rt}.

  1. Re-escale este modelo em unidades da população inicial, ou seja, defina y(t)=N(t)/N0y(t)=N(t)/N_0. Qual a equação resultante e quais as condições iniciais correspondentes?

  2. Quais as unidades de rr?

  3. Qual o "tempo de duplicação" desta população? isto é o tempo ττ para o qual y(τ)=yN0y(τ)=yN_0.

  4. Mostre que é possivel definir um tempo adimensional ss tal que o modelo se transforme em dy/ds=ydy/ds=y, y(0)=1y(0)=1.

Solução:

Como N0N_0 é uma constante, temos que y(t)=N(t)N0y(t) = \frac{N(t)}{N_0} representa apenas uma mudança de escala do modelo. Temos, portanto, que N(t)=N0y(t)N(t) = N_0y(t) e a equação original se transforma em:

d(N0y(t))dt=r(N0y(t))\frac{d(N_0y(t))}{dt} = r (N_0y(t))N0dy(t)dt=rN0y(t).N_0 \frac{dy(t)}{dt} = rN_0y(t) .

Se N00N_0 \neq 0, temos

dydt=ry(t).\frac{dy}{dt} = ry(t) .

Como y(t)=N(t)N0y(t) = \frac{N(t)}{N_0}, segue que

y(0)=N(0)N0=N0N0=1y(0) = \frac{N(0)}{N_0} = \frac{N_0}{N_0} = 1

e, consequentemente, y(t)=erty(t) = e^{rt} .

Para que o modelo seja coerente, é necessário que a expressão rN(t)rN(t) tenha unidade MT\frac{M}{T}. Como [N(t)]=M[N(t)] = M, segue que [r]=T1[r] = T^{-1}.

Para encontrarmos o "tempo de duplicação" da população, fazemos:

y(τ)=2y0y(\tau) = 2y_0y(τ)=2y(\tau) = 2erτ=2e^{r\tau} = 2rτ=log2r\tau = \log{2}τ=log2r.\tau = \frac{ \log 2}{r} .

V - Considere a seguinte equação para o crescimento de uma única espécie de organismo:

dPdt=vPK+PμP\frac{dP}{dt}=\frac{v P}{K+P}-\mu P

  1. Interprete o que estas equações estão dizendo
  2. defina x=P/Qx=P / Q e s=t/τs=t/\tau onde QQ, τ\tau são escalas a serem escolhidas. Converta a equação para uma forma adimensional em termos destas novas escalas.
  3. Qual seria uma escolha razoável para QQ? e para τ\tau?

Solução:

var('P t v mu K Q tau s alpha M') f(P) = v*(P/(K+P)) - mu*P f(P)
fd = expand(f(P)).substitute(P=M,K=M) fd

Como a expressão acima deve ter dimensão M/TM/T, segue que μ\mu tem unidade T1T^-1 e vv tem unidade M/TM/T.

  1. Defina x=P/Qx=P / Q e s=t/τs=t/\tau onde QQ, τ\tau são escalas a serem escolhidas. Converta a equação para uma forma adimensional em termos destas novas escalas.

eq = P/t == v*P/(K+P) - mu*P eq
eq = eq.subs(P=x*Q, t=tau*s) eq

Agora multiplicamos ambos os lados da equação por τ/Qτ/Q:

eq = eq.multiply_both_sides(tau/Q) show(eq) show(html("Expandindo o lado direito...<br>")) eq.expand()
Expandindo o lado direito...

Agora precisamos escolher as escalas de QQ e tt. Eles precisam ser definidos como operações entre parâmetros existentes. Note que na equação original vv tem unidade M/tM/t para manter o equilíbrio dimensional. como QQ tem unidades MM, ou massa, as alternativas para sua escala são: Q=KQ=K ou Q=v/μQ=v/μ. Já τ\tau tem unidades de tempo então pode assumir as seguintes escalas: K/vK/v ou 1/μ1/\mu

eq.expand().subs(Q=K, tau=1/mu).simplify()

Agora podemos notar que podemos combinar conjunto de parâmetros delimitado por colchetes abaixo, em um único parâmetro α:

[vKμ]xx+1\left[\frac{v}{K \mu}\right] \frac{x}{x+1}α=vKμ\alpha = \frac{v}{K \mu}
eq.expand().subs(Q=K, tau=1/mu).simplify().subs(v=K*mu*alpha)

Finalmente, obtemos uma versão adimensional simplificada do modelo: dxds=αxK(x+1)x\frac{dx}{ds}=\frac{\alpha x}{K(x+1)} -x

VI. A dinâmica da lagarta do pinheiro pode ser descrita pelo modelo proposto por Ludwig, Jones e Holling. Este inseto se reproduz e é predado por pássaros.

dBdt=rBB(1BKB)βB2α2+B2\frac{dB}{dt} = r_B B \left(1-\frac{B}{K_B}\right) - \beta \frac{B^2}{\alpha^2 + B^2}

  1. Explique o significado dos termos desta equação
  2. Re-escreva esta equação em forma adimensional. Há duas escolhas de escalas para a densidade de da lagarta e duas para o tempo.

Solução:

var('t B r_B K_B beta alpha')
B = function('B')(t) dBdt = diff(B,t) == r_B*B(1-(B/K_B)) - beta((B**2)/(alpha**2 + beta**2)) show(dBdt)
/usr/lib/python2.7/dist-packages/IPython/core/interactiveshell.py:2882: DeprecationWarning: Substitution using function-call syntax and unnamed arguments is deprecated and will be removed from a future release of Sage; you can use named arguments instead, like EXPR(x=..., y=...) See http://trac.sagemath.org/5930 for details. exec(code_obj, self.user_global_ns, self.user_ns)

O termo rBB(1BKB)r_B B \left(1-\frac{B}{K_B}\right) representa um crescimento logístico da população de lagartas (BB) com taxa intrínseca de crescimento igual a rBr_B e capacidade de suporte KBK_B, como vimos em sala. Já o termo βB2α2+B2\beta \frac{B^2}{\alpha^2 + B^2} reflete o efeito da predação realizada por pássaros à população de lagartas. Esse termo nos diz que existe um limite superior para a taxa de mortalidade provocada pela predação. Isso se deve ao fato de que o número de predadores é limitado por seu comportamento territorial e, além disso, eles possuem baixa capacidade de busca, o que significa dizer que uma grande população de lagartas não necessariamente implica em uma maior ocorrência de predação por parte dos pássaros. Evidentemente, o limite superior da predação é igual a β\beta.

Da equação acima, sabemos que [β]=MT[\beta] = \frac{M}{T}, [rB]=T1[r_B] = T^{-1} e [α]=M[\alpha] = M.

Vamos introduzir novos parâmetros μ=Bα\mu = \frac{B}{\alpha} e t=βtαt' = \frac{\beta t}{\alpha}. Perceba que isso implica que μ\mu e tt' são adimensionais. A equação original se transforma em:

d(αμ)d(αtβ)=rB(1αμKB)αβμα2(1+μ2)\frac{d(\alpha \mu)}{d(\frac{\alpha t'}{\beta})} = r_B(1 - \frac{\alpha \mu}{K_B}) - \frac{\alpha \beta \mu}{\alpha^2(1+\mu^2)}

e, consequentemente,

dμdt=αrBβ(1αμKB)μ1+μ2.\frac{d\mu}{d t'} = \frac{\alpha r_B}{\beta}(1-\frac{\alpha \mu}{K_B}) - \frac{\mu}{1+\mu^2} .

Agora, fazemos

R=αrBβ, Q=KBαR = \frac{\alpha r_B}{\beta}, \ Q = \frac{K_B}{\alpha}

e reescrevemos a equação como:

dμdt=R(1μQ)μ1+μ2.\frac{d\mu}{dt'} = R(1-\frac{\mu}{Q}) - \frac{\mu}{1+\mu^2} .