|
|
-
-
- ```python
- #1 Loading functions and modules
- from fenics import *
- import matplotlib.pyplot as plt
- T = 0.1
- 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)
- ```
-
-
- ```python
- vtkfile = File('solution/solution.pvd')
- 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()
- ####
- vtkfile << (u, t)
- u_n.assign(u)
- ```
-
-
- ```python
- 1E-13
- ```
-
-
-
-
- 1e-13
-
-
-
-
- ```python
- 1e2
- ```
-
-
-
-
- 100.0
-
-
-
-
- ```python
- 1E-13+1e2
- ```
-
-
-
-
- 100.0000000000001
-
-
-
- # Boundary conditions
-
-
- ```python
- #1 Loading functions and modules
- from fenics import *
- import matplotlib.pyplot as plt
- T = 4
- num_steps = 200
- 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),8, 8,'left')
- V = FunctionSpace(mesh, 'Lagrange', 1) #Lagrange are triangular elements
- plot(mesh)
- plt.show()
-
-
- ```
-
-
- ![png](output_10_0.png)
-
-
-
- ```python
- #Boundary Conditions
- tol = 1E-14
-
- def BC1(x, on_boundary):
- return on_boundary and abs(x[0]-nx) < tol
-
- def BC2(x, on_boundary):
- return on_boundary and abs(x[0]-0) < tol
-
- bc1=DirichletBC(V,Constant(25),BC1)
- bc2=DirichletBC(V,Constant(800),BC2)
- bc=(bc1,bc2)
- ```
-
-
- ```python
- u_n = project(25, 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)
- ```
-
-
- ```python
- vtkfile = File('solution/solution2.pvd')
- u = Function(V)
- t = 0
- for n in range(num_steps):
- t += dt
- #u0.t = t
- solve(a == L, u, bc)
- vtkfile << (u, t)
- #c = plot(u,)
- #plt.colorbar(c)
- #plt.show()
- u_n.assign(u)
- ```
-
-
- ```python
-
- ```
|