# how to solve a 1d heat eqn with periodic BCs, u(0)=u(L) using implicit euler and finding the maximum error at Tend after comparing with the exact solution? obviously creating a finite difference matrix..i have done till finding the exact soln..

11 views (last 30 days)
TJ on 19 Nov 2016
Answered: Sebastian Kammer on 23 Nov 2016
L = 1; %length of the rod
n = 2;
nu = 1; % thermal diffusivity nu=1
Nx = 50; %length steps
Nt = 100; %time steps
Tend = 0.1;
mesh = linspace(0,L,Nx); %mesh size
dt = linspace(0,Tend,Nt); %time step interval
dx = mesh(2)-mesh(1); %length step interval
f = @(t,u) nu*(1/dx^2*A)*u;
lam = (n*pi/L)^2;
u(:,1) = sin(sqrt(lam)*mesh(1:Nx-1)); %initial condition
u_exact = exp^(-lam*t)*sin(sqrt(lam)*mesh(1:Nx-1));
Walter Roberson on 20 Nov 2016

Sebastian Kammer on 23 Nov 2016
For these types of computational problems, it is always a good idea to derive the mathematical equations first. This way you can split the problem into two parts:
1) Deriving the mathematical model.
2) Implementing your model in MATLAB.
I recommend that you first start with obtaining a clear form of the equations that you are trying to solve. It is important to understand the mathematics before you try to implement a code to solve a problem.
There are plenty of online course materials available regarding the solution of the 1-D heat equation using explicit and implicit methods. As an example consider the following slides:
Once you have a description of what equations you are trying to solve, people on this forum would be able to provide more useful recommendations.