Q5) A pressão de poros u ao longo de uma estaca pode ser modelada por:
u=\gamma_{w} z\left(1-e^{-\lambda u}\right)
onde:
\gamma_{w}=9.81 \mathrm{kN} / \mathrm{m}^{3}, \quad z=18 \mathrm{~m}, \quad \lambda=0.035 \mathrm{kPa}^{-1}
  • Escreva o problema na forma u=g(u).
  • Verifique numericamente a convergência.
  • Determine u usando o Método do Ponto Fixo.
  • Implemente o método em MATLAB.

Passo 1

O enunciado dá a equação da pressão de poros ao longo da estaca e pede quatro coisas:
  • Escrever o problema na forma de ponto fixo u=g(u).
  • Verificar numericamente a convergência do método do ponto fixo.
  • Determinar numericamente u usando o Método do Ponto Fixo.
  • Implementar o método em MATLAB.
Dados fornecidos (peguei estes valores do enunciado):
  • \gamma_{w}=9{,}81\\ \mathrm{kN/m^{3}}.
  • z=18\\ \mathrm{m}.
  • \lambda=0{,}035\\ \mathrm{kPa^{-1}}.
Observação de unidades: \gamma_w z tem unidades \mathrm{kN/m^{2}}=\mathrm{kPa}, então toda a pressão abaixo será expressa em \mathrm{kPa}.

Passo 2

Colocar a equação na forma u=g(u).
A equação dada é
u=\gamma_{w} z\left(1-e^{-\lambda u}\right).
Logo a forma de ponto fixo é simplesmente definir
g(u)=\gamma_{w} z\left(1-e^{-\lambda u}\right).
Com os valores numéricos:
\gamma_{w} z = 9{,}81\times18 = 176{,}58\\ \mathrm{kPa},
portanto
\boxed{\,g(u)=176{,}58\left(1-e^{-0{,}035\,u}\right)\,.}

Passo 3

Análise das soluções e existência de pontos fixos (ideia para saber o que o método encontra).
Defina a função de diferença
h(u)=g(u)-u.
Observações simples:
  • h(0)=g(0)-0=176{,}58(1-e^{0})=0. Logo u=0 é um ponto fixo (solução trivial).
  • Calcule h(1)=g(1)-1. Usando g(1)=176{,}58(1-e^{-0{,}035})\approx6{,}08, obtemos h(1)\approx5{,}08>0.
  • Calcule h(176{,}58)=g(176{,}58)-176{,}58=176{,}58(1-e^{-0{,}035\cdot176{,}58})-176{,}58\approx-0{,}37<0.
Como h é contínua, existe pelo menos uma raíz positiva u>1 tal que h(u)=0. Assim existem pelo menos dois pontos fixos: u=0 e um u^*>0 (não trivial). O objetivo prático é encontrar o ponto fixo não nulo.

Passo 4

Condição teórica de convergência local para o método do ponto fixo e verificação numérica.
Para o esquema u_{n+1}=g(u_n), uma condição suficiente para convergência local é que |g'(u^*)|<1 no ponto fixo u^* (contracção local). Vamos derivar g:
g'(u)=\gamma_{w} z\;\lambda\;e^{-\lambda u}.
Substituindo os valores:
g'(u)=176{,}58\times0{,}035\;e^{-0{,}035u}=6{,}1803\;e^{-0{,}035u}.
Avaliações importantes:
  • Em u=0: g'(0)=6{,}1803>1. Portanto u=0 não é um ponto atraente localmente (é instável para a iteração: se começar exatamente em 0 fica em 0, mas pequenas perturbações tendem a afastar-se).
  • A equação g'(u)=1 dá o limiar em que a derivada passa de maior que 1 para menor que 1:
6{,}1803\;e^{-0{,}035u}=1 \quad\Rightarrow\quad e^{-0{,}035u}=\frac{1}{6{,}1803}\approx0{,}1617.
Tomando logaritmo,
u_c=-\frac{1}{0{,}035}\ln(0{,}1617)\approx52{,}0\\ \mathrm{kPa}.
Logo para u>u_c tem-se |g'(u)|<1, isto é, g é localmente contraente para pressões acima de cerca de 52\\ \mathrm{kPa}.
Como a solução não-trivial u^* que esperávamos fica bem maior que 52\\ \mathrm{kPa} (veremos numericamente), então no entorno de u^* a condição |g'(u^*)|<1 vale e o método do ponto fixo convergirá localmente. Vamos também calcular g'(u^*) depois de achar u^* para confirmar numericamente que é pequeno.
Resumo numérico da verificação de convergência:
  • Há dois pontos fixos: u=0 (instável) e um u^*>52\\ \mathrm{kPa} que é localmente atraente.
  • Portanto, com escolha adequada de chute inicial (por exemplo u_0 não exatamente zero, tipicamente u_0>0 ou melhor u_0\gtrsim 10 ou 100), a iteração converge para a solução não trivual.

Passo 5

Descrição prática do Método do Ponto Fixo e escolha de parâmetros.
Algoritmo:
u_{n+1}=g(u_n)=176{,}58\left(1-e^{-0{,}035\,u_n}\right).
Critério de parada típico (que vou usar aqui):
  • tolerância absoluta: |u_{n+1}-u_n|<\text{tol} com \text{tol}=10^{-6}\\ \mathrm{kPa},
  • ou número máximo de iterações, por segurança (por exemplo 200).
Observações sobre escolha de u_0:
  • Se u_0=0 a iteração fica em 0 (solução trivial).
  • Se u_0 for um pequeno valor positivo (ex.: u_0=1) a iteração rapidamente cresce e tende para a solução não-nula (isso mostra que 0 é instável).
  • Um chute razoável e simples é u_0=100\\ \mathrm{kPa} ou u_0=10\\ \mathrm{kPa}. Vou usar u_0=100\\ \mathrm{kPa} porque acelera a convergência para a solução u^*.

Passo 6

Execução manual (iteração numérica) do ponto fixo até convergência — mostro as primeiras iterações com arredondamento adequado para aprender a manobra:
Fórmula usada a cada passo:
u_{n+1}=176{,}58\left(1-e^{-0{,}035\,u_n}\right).
Tomando u_0=100:
  • u_1=176{,}58\left(1-e^{-0{,}035\cdot100}\right) =176{,}58\left(1-e^{-3{,}5}\right) \approx176{,}58\cdot0{,}9698026 \approx171{,}2799\\ \mathrm{kPa}.
  • u_2=176{,}58\left(1-e^{-0{,}035\cdot171{,}2799}\right) \approx176{,}58\left(1-e^{-5{,}9948}\right) \approx176{,}58\cdot0{,}9974915 \approx176{,}1400\\ \mathrm{kPa}.
  • u_3=176{,}58\left(1-e^{-0{,}035\cdot176{,}1400}\right) \approx176{,}58\left(1-e^{-6{,}1649}\right) \approx176{,}58\cdot0{,}9979014 \approx176{,}2090\\ \mathrm{kPa}.
  • u_4=176{,}58\left(1-e^{-0{,}035\cdot176{,}2090}\right) \approx176{,}58\left(1-e^{-6{,}1673}\right) \approx176{,}58\cdot0{,}9979051 \approx176{,}2104\\ \mathrm{kPa}.
  • u_5 já difere de u_4 em menos de 10^{-6} (diferença da ordem 10^{-4} ou menor nos passos finais). Calculando mais algumas iterações com precisão padrão, a sequência converge para
u^{*}\approx176{,}2105\\ \mathrm{kPa}.
Cálculo de g' no ponto fixo (verificação final da contração local):
g'(u^*)=6{,}1803\;e^{-0{,}035\cdot176{,}2105}\approx6{,}1803\cdot0{,}002095\approx0{,}01295\ll1.
Portanto a convergência local é fortemente garantida ( |g'(u^*)|\approx0{,}013).
Interpretação prática: o método do ponto fixo converge para u^*\approx176{,}2105\\ \mathrm{kPa} desde muitos chutes iniciais positivos (exceto o exatamente 0, que é uma solução trivial e instável para iterações).

Passo 7

Implementação MATLAB (exemplo de código comentado). Este código realiza a iteração do ponto fixo com tolerância e devolve a solução.
% fixed_point_poros.m
% Método do Ponto Fixo para u = gamma_w * z * (1 - exp(-lambda * u))

function [u, iter] = fixed_point_poros(u0, tol, maxiter)
    if nargin < 1, u0 = 100; end        % chute inicial (kPa)
    if nargin < 2, tol = 1e-6; end
    if nargin < 3, maxiter = 200; end

    gamma_w = 9.81;        % kN/m^3
    z = 18;                % m
    lambda = 0.035;        % kPa^{-1}
    C = gamma_w * z;       % 176.58 kPa

    u_old = u0;
    for iter = 1:maxiter
        u_new = C * (1 - exp(-lambda * u_old));
        if abs(u_new - u_old) < tol
            u = u_new;
            return
        end
        u_old = u_new;
    end
    % Se chegar aqui, não convergiu dentro de maxiter
    warning('Não convergiu em %d iterações', maxiter);
    u = u_old;
end
Exemplo de uso no MATLAB:
[u, iter] = fixed_point_poros(100, 1e-6, 200);
fprintf('u = %.6f kPa em %d iterações\n', u, iter);
Comentário prático sobre o código:
  • O valor de entrada padrão u_0=100\\ \mathrm{kPa} funciona bem. Chutes pequenos positivos também tendem a convergir, mas u_0=0 fica preso na solução trivial 0.
  • O código calcula C=\gamma_w z em \mathrm{kPa}.
  • Ao final pode-se também calcular g'(u) para checar |g'(u)|<1.

Resposta

g(u)=176{,}58\left(1-e^{-0{,}035\,u}\right)\n
Convergência: existem dois pontos fixos u=0 (instável) e u^{*}\approx176{,}2105\\ \mathrm{kPa} (localmente atraente; |g'(u^{*})|\approx0{,}013<1).\n
u\approx176{,}2105\\ \mathrm{kPa}

Exercícios relacionados