Alternative boundary conditions -- Thomas-algorithm
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...
ah, found it indeed..
the 'value' was calculated by interpolation of a series in an other file, which first column not started at 0 but at 10. Therefore that values were not right, and apparently that gave some problems.
Thanks a lot for your help!
Sorry for irregular posting. I've to do different courses at the moment...
Indeed the end of the matrix is shown. As far as I can see, the values on the diagonal can not be zero, because I defined ML as:
ML = diag(one * 1.0192,0) + diag(one_1 * -0.0096,-1)+ diag(one_1 * <value>,1)...
Thanks for the effort you took to find this out!
As is seen in TriDiag2, the values far from the main diagonal decrease most. The values of the elements on the three diagonals -1, 0 and 1 are not too small.
Perhaps now I do a stupid suggestion, but would it be possible to only calculate...
I tried to invert a non-symmetrical tri-diagonal matrix 'ML' in Matlab, and multiply it with matrix 'MR': y = inv(ML)*MR.
size(ML) = 1001 x 1001
Below the end of the matrix is shown, to give an idea of the magnitude of the values:
-0.0096 1.0192 -0.0096 0 0...
1. I try to model (MatLab) the convective transport of material trough the soil
2. The equation I use is: d(Th*C) / d(t) = - q * d(C) / d(z).
Th = soil moisture content,
C = concentration,
t = time,
q = flow velocity of groundwater,
z = depth.
Parameters
time = 20 h
dt = 0.2 h...