# Alternative boundary conditions -- Thomas-algorithm

by Huibert
Tags: boundary conditions, matlab, thomas algorithm
P: 6
Hello,

I have to solve a diffusion equation:
MatrixL * Csim(:,i+1) = MatrixR * Csim(:,i) + BoundaryConditions
where Csim = concentration, j = location, i = time.

Boundary conditions are of type Dirichlet (Csim = 5 at j = 1, Csim = 0 at j = end). So I used:

MatrixL(1,:) = (1 0 0 . . 0)
MatrixR(1,:) = (0 0 0 . . 0)
BoundaryConditions(1) = (5)
so
Matrices, first line: (1 0 . 0) * Csim(:,i+1) = (0 0 . 0) * Csim(:,i) + 5
Matrices, last line: (. . 0 1) * Csim(:,i+1) = (. . 0 1) * Csim(:,i) + 0

--------------------------------------------------------------------------------

To solve this problem with the Thomas Algorithm, I have to write the equation as

MatrixL2*Csim(:,i+1)  = Csim(:,i)
So MatrixL2 = inv(MatrixR)*MatrixL

However, it is not possible to calculate inv(MatrixR) when MatrixR(1,:)= MatrixR(end,:)= 0

--------------------------------------------------------------------------------

So I tried to describe the boundary conditions in the folloing way :

Matrices, first line: (1 0 0 . .) * Csim(:,i+1) = (1 0 0 . .) * Csim(:,i)
Matrices, last line: (. . 0 0 1) * Csim(:,i+1) = (. . 0 0 1) * Csim(:,i)

But that cat won't jump. So could you please help me to find what's wrong with this?

--------------------------------------------------------------------------------

Because the problem is a littlebit complicated to explain, a longer description is in the attachment.
Attached Files
 Question.pdf (119.9 KB, 1 views)

 Related Discussions Aerospace Engineering 2 Advanced Physics Homework 0 Differential Equations 1 Differential Equations 9 Calculus & Beyond Homework 4