Re: NEC-LIST: compute time & RAM allocation

From: Paul Carlier <pcarlier_at_email.domain.hidden>
Date: Thu, 31 Jul 2008 17:06:23 -0400

Hi Billy,

The RAM requirement is dependent on square of the number of segments. For
single precision, one matrix element requires 8 bytes and for double, 16
bytes. Therefore, working backwards, 2GB RAM can handle 256k matrix
elements for SP and 128k elements for DP. So as the matrix is square, we
can take the square root of these numbers to determine the maximum number of
segments. In this case, we have 16k and 11.3k segments respectively.

You talk of 70k wires. With at least one segment being required for each
wire, you should not be able to run this with 2GB of RAM unless you are
taking advantage of a high degree of symmetry in the model. The OS can, of
course swap to disk, but this makes the execution times untenable.

You would need to allow a small amount or RAM for the operating system and
the other program variables, but I reckon on about 15.7k and 11k segments
respectively for an Intel PC running Windows 2000 or later. The computation
time is obviously machine dependent, but the inversion time, which is most
of it, does vary as the cube of the number of segments. You can determine
the approximate times for a test run. If you use the replace the matrix
solving routines in NEC with the Intel optimised ones in the Intel Math
Kernel Library (this requires the Intel Visual Fortran compiler as well),
then the execution times are improved by a factor of about 8. In any case,
you will need to increase the array variable sizes over those in the NEC
code as supplied, and recompile. You may also need to increase some of the
format sizes otherwise you will see asterisks instead of segment numbers in
some of the output if you exceed 9999 segments, depending on which version
of NEC you have.

Also, bear in mind that is you want to exceed 2GB, you need a 64 PC running
a 64 bit version of Windows (or other OS). If you need any further advise
on these matters, please ask and I will see if I can help.

Regards,

Paul Carlier
FanField Ltd
Oxley House Cottage
Tolleshunt d'Arcy
Essex
CM9 8EN
UK
+44 1621 810095
www.fanfield.co.uk

 -----Original Message-----
From: nec-list-bounces+pcarlier=fanfield.co.uk_at_robomod.net
[mailto:nec-list-bounces+pcarlier=fanfield.co.uk_at_robomod.net] On Behalf Of
William Robbins
Sent: 30 July 2008 18:32
To: nec-list_at_robomod.net
Subject: NEC-LIST: compute time & RAM allocation

Hi-
Is there a way to calculate computation time and/or memory
requirements in advance of simulation? I'm particularly interested in
the requirements for electrically small geometries of variable extent,
near earth-ground, and using the Sommerfeld-Norton approximation.

Backstory:
  After discovering that NEC simulations fail when wires overlap, I
wrote a script that creates my desired input geometry from up to 100k
wires. Ultimately, I'm interested in simulating the affect on antenna
response due to the addition of a ground screen. Some of the possible
candidates for ground screens have dimensions well below the
definition of electrically small; that is, the grid spacings are much
less than 0.1*wavelength. I've read a bit of the NEC manual, and I
realize that the approximations made by NEC are less accurate in this
regime. (My thinking is that inaccurate simulation yields more
information than no simulations.)
  The problem that I'm having is that I don't completely understand the
memory and time requirements for the method of moments calculations.
As I understand it, time for LU decomposition should go like
(segments)^3. Since the number of segments is large -- the number of
segments is large even if the wires aren't split into smaller segments
for matrix inversion-- I would expect this matrix inversion to be the
dominant time requirement. However, there appears to be some larger
effect due to the extent of the geometry. For example, an antenna over
a square ground screen with sides of 3m, composed of about 70k wires,
takes several times 10^3 minutes, using 2GB of RAM for the duration of
the simulation. For the same grid spacing, a screen larger in extent
by a factor of ten simulates in less than eight minutes, and uses tiny
amounts of memory. For calculating time of computation and memory
allocation, I'd really like to get some information on the finer
details of NEC, and it's benchmark testing.

thanks in advance
-Billy Robbins

-----------------------------------------------
W.J. Robbins
Naval Research Lab., Code 7655
4555 Overlook Avenue, SW
Washington, DC 20375
Tel. + 202.404.7196
Cell. + 805.624.6744
Fac. + 202.767.0497
Skype: wjrobbins2

--
The NEC-List mailing list
NEC-List_at_robomod.net
http://www.robomod.net/mailman/listinfo/nec-list
-- 
The NEC-List mailing list
NEC-List_at_robomod.net
http://www.robomod.net/mailman/listinfo/nec-list
Received on Thu Jul 31 2008 - 21:06:22 EDT

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