```python #1 Loading functions and modules from fenics import * import matplotlib.pyplot as plt T = 2.0 num_steps = 20 dt = T/num_steps rho = 7500 Cp = 500 k = 50 alpha = k/(rho*Cp) ``` ```python #2 Create mesh and define function space nx = 0.008 ny = 0.003 mesh = RectangleMesh(Point(0,0),Point(nx,ny),30, 30,'left') V = FunctionSpace(mesh, 'Lagrange', 1) #Lagrange are triangular elements plot(mesh) plt.show() ``` ![png](output_1_0.png) ```python # Boundary conditions u0 = Constant(100) def boundary(x, on_boundary): return on_boundary bc = DirichletBC(V,u0, boundary) ``` ```python u_n = project(1, V) u = TrialFunction(V) v = TestFunction(V) f = Constant(0.0) F = u*v*dx + alpha*dt*dot(grad(u), grad(v))*dx-u_n*v*dx a, L = lhs(F), rhs(F) ``` Calling FFC just-in-time (JIT) compiler, this may take some time. ```python u = Function(V) t = 0 for n in range(num_steps): t += dt #u0.t = t solve(a == L, u, bc) c = plot(u,) plt.colorbar(c) plt.show() u_n.assign(u) ``` Calling FFC just-in-time (JIT) compiler, this may take some time. ![png](output_4_1.png) ![png](output_4_2.png) ![png](output_4_3.png) ![png](output_4_4.png) ![png](output_4_5.png) ![png](output_4_6.png) ![png](output_4_7.png) ![png](output_4_8.png) ![png](output_4_9.png) ![png](output_4_10.png) ![png](output_4_11.png) ![png](output_4_12.png) ![png](output_4_13.png) ![png](output_4_14.png) ![png](output_4_15.png) ![png](output_4_16.png) ![png](output_4_17.png) ![png](output_4_18.png) ![png](output_4_19.png) ![png](output_4_20.png) ```python 1E-7 ``` 1e-07 ```python 1e2 ``` 100.0 ```python 1E-7+1e2 ``` 100.0000001 ```python ```