Professional Documents
Culture Documents
C&S 9.2-A - Jupyter Notebook
C&S 9.2-A - Jupyter Notebook
C&S 9.2-A - Jupyter Notebook
T = Yfuncvec[0]
rQr = Yfuncvec[1]
if r > 0:
Qr = rQr / r
else:
Qr = 0
dTdr = 0 - (Qr / K)
drQrdr = ((I/(3.14*R1**2))**2)*r/(1.4*1e5*math.exp(0.0035*T))
[0.0, 0.0]
[300, 0]
yini=np.zeros(21)
f=np.zeros(21)
yini[0]=300
yini[1]=315
y0 = [yini[0],0]
k=0
print(' y dy/dt dy/dt dy/dt ')
soln=ODEfun(tspan[0],y0)
print(' {:7.4f} {:7.2f} {:7.2f} \n'.format(y0[0],soln[0],soln[1]))
sol=solve_ivp(ODEfun,tspan,y0)
f[k] = sol.y[0,-1]
print(' Trial y0 f(0) Temp.')
print(' {:d} {:8.3f} {:8.4f} {:6.4f}'.format(k+1, yini[k], f[k], sol.y[0,-1]))
k=1
y0 = [yini[k],0]
sol=solve_ivp(ODEfun,tspan,y0)
f[k] = sol.y[0,-1]-T1
print(' {:d} {:8.3f} {:8.4f} {:6.4f}'.format(k+1, yini[k], f[k], sol.y[0,-1]))
err=np.abs(f[k])
In [36]: num=30
teval=np.linspace(tspan[0],tspan[1],num)
sol=solve_ivp(ODEfun,tspan,y0,t_eval=teval)
print(' Summary of Results\n')
print('\nSolution ')
print(' r T Qr ')
print(' (m) (K) (W/m2) ')
Qr=np.zeros(num)
row=0
for row in range(num):
rQr=sol.y[1][row]
r=sol.t[row]
if r>0:
Qr[row] = rQr / (r)
else:
Qr[row]=0
Summary of Results
Solution
r T Qr
In [38]: plt.figure(figsize=(10,12))
plt.subplot (2,1,1)
plt.plot(sol.t,sol.y[0],'r',label='T',dashes=[3, 2],linewidth=0.8)
plt.subplot (2,1,2)
plt.plot(sol.t,Qr,'b',label='Flux',dashes=[6, 3])
plt.title(' Heat flux profile')
plt.xlabel('Radius (m)')
plt.ylabel('Heat flux (W/m2)')
plt.legend()