my text is structured in three parts:
Part I) I give you some information about the context my principal questions refers to.
Part II) I will tell you what I believe to know about the Thomas Algorithm. If I am wrong in any regards, correct me please.
Part III) I will state my questions
On Part I / Background Information:
I want to simulate Joule-Heating. For this, I have two PDE-Systems.
The first one is the Laplace-equation. As a solution it delivers the electrical potential field.
The second PDE is the heat-diffusion equation for an instationary/time-dependent heating. I use the electrical potential field as the input/base for calculating the Joule-heating/heat-generation, i.e. the Joule-heating can be taken as given. It also means that the Joule-heating is the source-term in the heat-diffusion-equation. Based on the Joule-Heating and the Boundary conditions the algorithm computes the temperature field.
I use the Thomas Algorithm to solve the heat-diffusion-equation or rather the resulting temperature field/distribution over a 2D-geometry.
I use the Peaceman-Rachford scheme to split the Heat-Diffusion-Equation in two half-time steps.
On Part II / What do I believe to know about the Thomas Algorithm
It is a direct solver for linear equation systems (LES) with tridiagonal coefficient matrices. Direct means that - depending on the number of linear equations of the system - you can solve the LES with a fixed number of basis operations or rather you don't need to perform iterations over the solution vector. In case of the Thomas Algorithm the number of basic operations is of Order 0(N4), where N stand for the number of equations.
It is an exact solver, you can obtain exact solution provided that the PC does not have any round off errors.
You should be able to get a result after running your Thomas-Algorithm over your LES only ONCE, i.e. you don't need to iterate your solution over and over againg and therefore you don't need a convergence criterion.
On Part III / my Questions:
- When I apply the Thomas Algorithm to the heat-diffusion equation only ONCE I get a reasonable result for the temperature field. For some simulation parameters, I get instabilites in form of negative temperatures.
- When I apply the Thomas Algorithm, say 100 times, I also get a reasonable result for the temperature field but it qualitatively differs from the result described above.
Question 1) What is the correct use of the Thomas Algorithm? Should I let it run only ONCE or MULTIPLE times over the LES.
Question 2) In case I let the Thomas-Algorithm run mulitple times over the same LES, for which simulation time do I get a temperature field? Let us assume following scenario: I have a time step, for example, delta_t = 10 s and I let the Algorithm run n=100 times. Is the final simulation time 1000 s (10 s times 100 runs) or is the entire simulation time just 10 s in total with an iterated solution?
I hope that this topic is not to specific and that I can get into an exchange with someone who knows better than me.
Kind regards, Tom T.