Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
restrepo
GitHub Repository: restrepo/ComputationalMethods
Path: blob/master/material/Heat_tranfer_2D.py
934 views
1
import numpy as np
2
import matplotlib.pylab as plt
3
4
def Temp(x,y):
5
return x**3 + 3*x-1+y**2
6
7
def EPT( f,i, h=0.01,der=0 ):
8
suma = -3*f[i]+4*f[i+(-1)**der*1]-f[i+(-1)**der*2]
9
return suma/(2*h*(-1)**der)
10
11
def MPT( f,i, h = 0.01 ):
12
return (f[i+1]-f[i-1])/(2*h)
13
14
k = 1
15
X = np.linspace(1,10,100)
16
Y = np.linspace(0,50,100)
17
Tx = Temp(X,0)
18
Ty = Temp(0,Y)
19
20
Qx = np.zeros(len(X))
21
Qy = np.zeros(len(Y))
22
index_x = len(X)-1
23
index_y = len(Y)-1
24
25
Qx[0] = EPT( Tx,0 )
26
Qy[0] = EPT( Ty,0 )
27
i = np.arange( 1,index_x )
28
j = np.arange( 1,index_y )
29
Qx[1:-1] = MPT( Tx,i )
30
Qy[1:-1] = MPT( Ty,j )
31
Qx[-1] = EPT( Tx,index_x,der=1 )
32
Qy[-1] = EPT( Ty,index_y,der=1 )
33
34
Xm,Ym = plt.meshgrid(X,Y)
35
Qx,Qy = plt.meshgrid(Qx,Qy)
36
Q = k*np.sqrt(Qx**2+Qy**2)
37
plt.figure(figsize=(10,10))
38
plt.imshow(Q)
39
plt.colorbar(orientation="vertical",shrink=0.89)
40
plt.title("Color Map Density Flux Heat")
41
plt.show()
42