Re: NEC-LIST: A note on Sparse Iteration.

From: D. B. Miron <dbmiron_at_email.domain.hidden>
Date: Mon, 5 Nov 2001 08:36:32 -0600

Good day Jurgen,

>
> this only works well when Z is effectively diagonal dominant which
> is only the case when you have
> a) may short unconnected wires
> b) arrays of wiregrids
> c) helices as one segment comes very close to another one
>
> and additionally all segments should have the same length!
>
> it is not efficient for general 3D cases, complicated wire structures
> like meshed cars, ships, planes etc.
>
The case considered is 3-D, even with just the wire, since it is two coils
wrapped around an air toroid space. The segments are short and nearly
uniform in size. The dielectric core is modeled as cells in a compatible
coordinate system.
>
> if you compare "exact" (I take this to be LU factorization) and the
> iterative method you really have to be careful to compare
> a good LU and the iterative method. If you write un inefficient
> LU like the one that is in the usual NEC as it comes you
> end up with a poor "exact" time, and the iterative is often
> overestimated.
>
Since the matrix is symmetric, and I tried to save space and time, I derived
my own L*Diag*L^t algorithm from examining the results for the N=2,3,4 cases
and seeing the solution patterns develop. It is probably as inefficient as
the basic LU algorithm. However, the same algorithm is used, with indexing
changes for the nonzero band, in the iterative method, so I feel it's a
reasonably fair comparison.

I'm not a full-time electromagnetician. The original code I've been working
with was developed for a paying project in '98 which had a low budget and a
short time span. It is written and compiled in Borland C++ v.5, and is
probably inefficient compared to other languages and operating systems.
However, it represents the usual trade-off between getting a job done
(performance results) and the time spent in research and programming to get
the most efficient code. Since then, I have only worked on it in hobby
mode.
>
> 25 is a high number of iterations. Take a Krylov subspace
> method and precondition with D and you end up with
> only a couple of iterations, typically 5 or 6.
>
I've seen the name "Krylov" in some paper titles, but not read the papers.
If the transformation is not too hairy, or can be specialized for the banded
symmetric case, I should look at it. However, I think 25 iterations for
N=1700+ is not bad and the time improvement was certainly worth the small
effort.

Thanks for the "words" compliment.

Cheers! Und ein gut bier fur Sie!
Doug

-- 
The NEC-List mailing list <nec-list_at_gweep.ca>
http://www.gweep.ca/mailman/listinfo.cgi/nec-list
Received on Mon Nov 05 2001 - 09:37:39 EST

This archive was generated by hypermail 2.2.0 : Sat Oct 02 2010 - 00:10:41 EDT