A equação de estado de van der Walls modela a relação entre a pressão P , o volume v e a temperatura T de um gás através da função:
\left(P+\frac{a}{v^{2}}\right)(v-b)=R \cdot T
em que \mathrm{R}=8.314(\mathrm{~J} / \mathrm{mol} . \mathrm{K}) é a constante universal dos gases, a e b são parâmetros característicos de cada gás. Para determinado gás, os valores de P , v e T estão no quadro a seguir:
Estados físicos: 1 2
T(\mathrm{~K}) 300 600
V(\mathrm{~m} 3 / \mathrm{kmol}) 0.5 0.2
P(\mathrm{kPa}) 6235.10 49881.50
Com essa função, aplicamos os dois valores do quadro e geramos o sistema de duas equações não lineares a seguir:
\left\{\begin{array}{l} f_{1}(a, b)=\left(P_{1}+\frac{a}{V_{1}^{2}}\right)\left(V_{1}-b\right)-R \cdot T_{1}=0 \\\ f_{2}(a, b)=\left(P_{2}+\frac{a}{V_{2}^{2}}\right)\left(V_{2}-b\right)-R \cdot T_{2}=0 \end{array}\right.
Monte um algoritmo que determine os 2 parâmetros a e b desse gás, com critério de parada \sum_{j=1}^{n}\left|\Delta x_{j}\right|<10^{-14}, usando o método de Newton com derivadas numéricas, a partir da solução inicial \left(\mathrm{a}^{(0)}, \mathrm{b}^{(0)}\right)=(0.2,0.2).

Passo 1

O enunciado nos dá a equação de van der Waals
\bigl(P+\tfrac{a}{v^{2}}\bigr)\,(v-b)=R\,T
e dois estados medidos (P_{1},V_{1},T_{1})\) e \((P_{2},V_{2},T_{2})\). Queremos encontrar os parâmetros \(a\) e \(b\) que satisfazem o sistema não\text{‐}linear \[\begin{cases} f_{1}(a,b)=\Bigl(P_{1}+\frac{a}{V_{1}^{2}}\Bigr)\,(V_{1}-b)-R\,T_{1}=0,\\\ f_{2}(a,b)=\Bigl(P_{2}+\frac{a}{V_{2}^{2}}\Bigr)\,(V_{2}-b)-R\,T_{2}=0, \end{cases}
usando o método de Newton para sistemas, com derivadas numéricas e critério de parada
\sum_{j=1}^{2}|\Delta x_{j}|<10^{-14}\], a partir de \((a^{(0)},b^{(0)})=(0,2,\;0,2).

Passo 2

Definimos o vetor de incógnitas
x = \begin{pmatrix}a\b\end{pmatrix},
e a função
F(x)=\begin{pmatrix}f_{1}(a,b)\f_{2}(a,b)\end{pmatrix}.
O método de Newton atualiza
x^{(k+1)} = x^{(k)} - \bigl[J_F(x^{(k)})\bigr]^{-1}\,F\bigl(x^{(k)}\bigr),
onde J_F é a matriz Jacobiana de F.

Passo 3

Como não temos derivadas analíticas, aproximamos cada entrada do Jacobiano por diferenças centrais. Para um passo h>0 pequeno (por exemplo h=10^{-6}), fazemos, para i=1,2 e j=1,2,
\frac{\partial f_{i}}{\partial x_{j}}(x)\approx \frac{f_{i}\bigl(x + h\,e_{j}\bigr)\;-\;f_{i}\bigl(x - h\,e_{j}\bigr)}{2\,h},
onde e_{1}=(1,0)^{T} e e_{2}=(0,1)^{T}.

Passo 4

Em cada iteração k, com x^{(k)}=(a^{(k)},b^{(k)}):
1. Calcular F\bigl(x^{(k)}\bigr).
2. Aproximar J_F\bigl(x^{(k)}\bigr) por diferenças centrais usando h.
3. Resolver o sistema linear
J_F\bigl(x^{(k)}\bigr)\,\Delta x^{(k)} = F\bigl(x^{(k)}\bigr)
para \Delta x^{(k)}.
4. Atualizar
x^{(k+1)} = x^{(k)} - \Delta x^{(k)}.

Passo 5

Critério de parada: calcular
\sum_{j=1}^{2}\bigl|\Delta x_{j}^{(k)}\bigr|
e, se for menor que 10^{-14}, interromper o loop.

Passo 6

Pseudocódigo completo:
\begin{aligned} &\text{inicialize }x^{(0)}=(0{,}2,\,0{,}2),\;h=10^{-6},\;\varepsilon=10^{-14},\;k=0;\\\ &\text{while true do}\\\ &\quad \text{calcule }F\bigl(x^{(k)}\bigr)=(f_{1},f_{2})^{T};\\\ &\quad \text{para }j=1,2\text{ faça}\\\ &\quad\quad x_{+}=x^{(k)}+h\,e_{j},\quad x_{-}=x^{(k)}-h\,e_{j};\\\ &\quad\quad \text{calcule }f_{i}(x_{+}),\,f_{i}(x_{-})\text{ para }i=1,2;\\\ &\quad\quad J_{ij}=\bigl[f_{i}(x_{+})-f_{i}(x_{-})\bigr]/(2h);\\\ &\quad \text{fim para}\\\ &\quad \text{resolva }J\,\Delta x^{(k)} = F\bigl(x^{(k)}\bigr);\\\ &\quad \text{se }\sum_{j=1}^{2}|\Delta x_{j}^{(k)}|<\varepsilon\text{ então}\\\ &\quad\quad \text{pare e retorne }x^{(k)};\\\ &\quad \text{senão }x^{(k+1)}=x^{(k)}-\Delta x^{(k)},\;k\leftarrow k+1;\\\ &\text{fim while} \end{aligned}çãã

Resposta

O algoritmo de Newton com derivadas numéricas acima determina os valores de a e b do gás com o critério de parada \sum_{j=1}^{2}|\Delta x_{j}|<10^{-14}, partindo de (a^{(0)},b^{(0)})=(0{,}2,0{,}2).

Exercícios relacionados