CFD Online Logo CFD Online URL
Home > Forums > Main CFD Forum

looking for a Fortran Subroutine!

Register Blogs Members List Search Today's Posts Mark Forums Read

LinkBack Thread Tools Display Modes
Old   October 1, 1999, 10:12
Default looking for a Fortran Subroutine!
Posts: n/a
Dear colleagues, I have numerical problems.

The ADI algorithm allows us to solve a tridiagonal matrix system where f(i,j) is a scalar fonction with known coefficients AD(i,j), AU(i+1,j), AL(i-1,j) and RES(i,j) so that we can find the modification df(i,j) of f(i,j). This is quite good approach for 2D flow problems. Here is my question:

Is there some algorithm for 3D flows? f(i,j,k) is the function defined at point (i,j,k) with coefficients A(i,j-1,k+1) A(i,j,k+1) A(i,j+1,k+1) A(i,j-1,k) A(i,j,k) A(i,j+1,k) A(i,j-1,k-1) A(i,j,k-1) A(i,j+1,k-1) and RES(i,j,k) that allow me to find modification df(i,j,k) of f(i,j,k)????

I am expecting help from your specialists!
  Reply With Quote

Old   October 2, 1999, 10:41
Default Re: looking for a Fortran Subroutine!
Sergei Chernyshenko
Posts: n/a
Hi, Vincent.

You question is not exactly clear. Do you call the Thomas technique used for solving tridiagonal matrix the ADI algorithm? Or do you imply that you would like to have an extension of the Thomas technique for the case of a matrix with five non-zero diagonals, two of which are at large distance from the central three diagonals?

In ADI, as I was taught, we use Thomas method in one direction, say, i, at one step, and in another direction, say, j, at another step. That is why it is called alternation direction. Or is it all just because of my not knowing English abbreviations for those methods?

Or do you mean that you are time-stepping (or 'supersonically' space-stepping) in j in your 2D case and in i in your 3D case? Anyway, below are some hints. Just translate them from my idea that we are talking about an elliptic problem to whatever necessary.

Sure, you can use Thomas method in i, then j, then k directions, but I do remember that there can be some problems with stability.

As for the five-diagonal case, no, there is no method which would be comparable to Thomas technique. What there is is more complicated, slower, and requires more memory. Strictly speaking the Thomas technique is the Gauss elimination applied to a tridiagonal matrix. If you do Gauss elimination for that five-diagonal case, all the space between the diagonals becomes filled with non-zeros, resulting in the loss of efficiency. No way around, except some specific matrices.

Yours Sergei
  Reply With Quote


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
Fortran Subroutine Error sergiorbrett CFX 12 September 3, 2012 07:40
Fortran subroutine (Perl not found) CFX 0 June 20, 2008 09:59
error on CFX compile fortran subroutine billpeace CFX 0 May 18, 2006 04:44
FORTRAN Subroutine Neser25 CFX 3 October 20, 2005 14:55
Fortran subroutine Thomas CFX 10 March 18, 2005 08:42

All times are GMT -4. The time now is 01:10.