(PROBLEMA COMPUTACIONAL) Um cano cilíndrico de 1 cm de espessura, centrado no eixo z, possui raio interno " a " e raio externo " b ". Sabendo que a densidade de fluxo elétrico se comporta da seguinte forma:
\boldsymbol{D}=\left\{\begin{array}{cc} 0, & \rho<a \\\ \frac{3}{2 \pi \rho} \frac{\left(\rho^{2}-a^{2}\right)}{\left(b^{2}-a^{2}\right)}, & a \leq \rho \leq b \\\ \frac{3}{2 \pi \rho}, & \rho>b \end{array}\right.
a. Escreva um programa que calcule de forma ITERATIVA o valor de " a " de tal forma que a densidade de fluxo elétrico máxima entre os raios " a " e " b " seja 10 \mathrm{C} / \mathrm{m}^{2}.
b. Construa o gráfico de como a densidade de fluxo elétrico varia desde a origem até uma distância radial de 20 cm .

Passo 1

O enunciado descreve um tubo cilíndrico com espessura de 1 cm, ou seja, raio interno a\) e externo \[b = a + 0,01\quad(\text{em metros}).
A densidade de fluxo elétrico, em coordenadas cilíndricas, é dada por
D(\rho)= \begin{cases} 0, & \rho < a,\\[6pt] \dfrac{3}{2\pi\,\rho}\,\dfrac{\rho^2 - a^2}{\,b^2 - a^2\,}, & a \le \rho \le b,\\[8pt] \dfrac{3}{2\pi\,\rho}, & \rho > b. \end{cases}
Precisamos achar, de forma iterativa, o valor de a\] tal que a densidade máxima em \(\rho\in[a,b] seja 10\\ \mathrm{C/m^2}. Também vamos plotar D(\rho) de \rho=0 até 0,20 m.]

Passo 2

Para a\le\rho\le b vale
D(\rho)=\frac{3}{2\pi\,\rho}\,\frac{\rho^2 - a^2}{b^2 - a^2}.
Calculando a derivada em relação a \rho, mostra-se que D'(\rho)>0 nesse intervalo, logo D(\rho) é crescente e seu valor máximo ocorre em \rho=b. Assim
\max_{a\le\rho\le b}D(\rho)=D(b) =\frac{3}{2\pi\,b}.

Passo 3

Queremos impor
D(b)=10 \quad\Longrightarrow\quad \frac{3}{2\pi\,b}=10,
sabendo que b=a+0,01. Definimos a função
g(a)=\frac{3}{2\pi\,(a+0,01)} - 10
e buscamos a tal que g(a)=0.

Passo 4

Usamos o método da bisseção para resolver iterativamente g(a)=0:
  • Escolhemos intervalo inicial a_{\min}=0, a_{\max}=0{,}2.
  • Calculamos a_{\rm mid}=(a_{\min}+a_{\max})/2 e g_{\rm mid}=g(a_{\rm mid}).
  • Se |g_{\rm mid}|<\varepsilon (por ex. \varepsilon=10^{-6}), paramos;
    senão, substituímos o ponto de extremidade cujo valor de g tem mesmo sinal que g_{\rm mid}, mantendo o outro extremo fixo.
  • Repetimos até convergir.

Passo 5

Exemplo de implementação em Python:
import math

tol \(=1\)e-6
\[a_low =0.0 a_high =0.2\]
def g(a):
 b = a \(+0.01\)
 return 3/(2*math.pi*b) - 10

while True:
 \(a_mid =0.5\)*(\(a_low\) + \(a_high\))
 \(g_mid\) = g(\(a_mid\))
 if abs(\(g_mid\)) < tol:
 break
 if g(\(a_low\))*\(g_mid\) < 0:
 \(a_high\) = \(a_mid\)
 else:
 \(a_low\) = \(a_mid\)

a = \(a_mid\)
print("a =", a, "m")

Passo 6

Rodando esse código obtém-se
a \approx 0{,}03775\\ \mathrm{m}\quad(\approx 3{,}775\\ \mathrm{cm}).
Para a parte (b), grafique D(\rho) de \rho=0 até 0,20 m usando:
import numpy as np
import matplotlib.pyplot as plt

a \(=0.03775\)
b = a \(+0.01\)
rho = np.linspace(0, 0.2, 1000)
D = np.\(zeros_like\)(rho)

mask\(1=\) rho < a
mask\(2=\) (rho >= a) & (rho <= b)
mask\(3=\) rho > b

D[mask1] \(=0\)
D[mask2] = (3/(2*np.pi*rho[mask2])) * ((rho[mask2]**2 - a**2)/(b**2 - a**2))
D[mask3] \(=3\)/(2*np.pi*rho[mask3])

plt.plot(rho, D)
plt.xlabel('ρ (m)')
plt.ylabel('D (C/m²)')
plt.axvline(a, color='r', linestyle='--')
plt.axvline(b, color='r', linestyle='--')
plt.title('Variação de D(ρ) de 0 a 0,20 m')
plt.show()

Resposta

O raio interno que atende \max_{\rho\in[a,b]}D(\rho)=10\\ \mathrm{C/m^2} é
\boxed{a\approx0{,}03775\\ \mathrm{m}.}
O gráfico de D(\rho) de 0 a 0,20 m foi construído conforme o código acima.

Exercícios relacionados