/FastImp

FastImp is a wideband impedance extraction program for 3D geometries

Primary LanguageC

==================================================================================

  FastImp

==================================================================================

FastImp is a wideband impedance extraction program for 3D geometries originally developed at M.I.T. on Unix platform.
It can perform Magneto-Quasi-Static (MQS), Electro-Magneto-Quasi-Static (EMQS) and full-wave analysis
of complicated 3D structures from zero frequency to at least tens of Giga Hertz. 

For pre-compiled binaries, support, consultancy and additional information please visit http://www.fastfieldsolvers.com/
Access to the download pages is free, and you may access anonymously if you want.

The source code is released under MIT license, however FastImp uses also the following libraries, that are covered by
other licenses. In particular, please note that FFTW is distributed under GPL, and this affects also FastImp as a whole.
For the exact license details, please check the information contained with the sources.

- FTTW, http://www.fftw.org/ : Fast Fourier Transform library from M.I.T., distributed under the GNU GPL

- CLapack, http://www.netlib.org/clapack/ : Linear Algebra Package from University of Tennessee and others,
                                            distributed under the modified BSD licence 

  - BLAS/CBLAS, www.netlib.org/blas : Basic Linear Algebra Subprograms from University of Tennessee and others, used by CLapack.
                                      Normally available as machine-optimized library, and distributed as free software
                                      (no specific license). If missing, you can use the ATLAS (Automatically Tuned Linear
                                      Algebra Software) implementation of BLAS, distributed from
                                      http://math-atlas.sourceforge.net/, under a modified BSD license.

- SuperLU, http://crd-legacy.lbl.gov/~xiaoye/SuperLU/ : SuperNodal LU, from Berkeley Labs, distributed under a free 
                                                        Berkeley license. Uses CBLAS, see above.

- TNT, http://math.nist.gov/tnt/ : Template Numerical Toolkit from Nist. Not copyrighted and in the public domain.

A copy of the licenses, to the best of our knowledge and understanding, is reported in the "License" folder.

---------------------------
How-to-compile instructions
---------------------------

FastImp currently compiles for *nix and for Windows using CygWin.

FastImp has two main components:

-  a wideband surface integral formulation, under the subdirectory "fastImp"

-  a fast integral equation solver, called pfft++, under the subdirectory "pfft++"

You don't need to download and compile the libraries used by FastImp and listed above (FTTW, CLapack, BLAS, SuperLU, TNT)
as separate source packages, but in case your operating system already contains a distribution of that library, which
could be optimized for your hardware, you may be able to use that. This is true, in particular, for the BLAS library.

The main makefile is under the subdirectory "fastImp". It contains the commands to compile the source
code in both fastImp and pfft++. To compile, simply type:

cd fastImp
make

At the end of the compilation, you will find the executable "fastimp" into a sub-directory
under "fastImp/bin". The name of this sub-directory is automatically generated by fastImp/util/config.guess.
This name is a combination of your computer type and the operating system type. For example, 
if you use a desktop x86 PC with Linux as the operating system, this sub-directory would be called ix86-linux.

FastImp was originally developed on Redhat Linux 7.2 with GNU gcc/g++ 2.96 as its compilers and GNU make as its builder.
The present version has been fixed to compile with:
- Linux, GNU gcc/g++ 4.1 and GNU make
- Windows, CygWin 6.1 with gcc/g++ 6.4.0 and GNU make 4.2.1