logo SourceForge
Sha Group — EM Plus
College of Information Science & Electronic Engineering, Zhejiang University

No one can stop the progress of science and technology. Thus, we launch sourceforge actions to share source codes for cutting-edge research. Please read the following remarks carefully!

>  All the source codes are only to be used by privates for academic research. Copyright of each program belongs to program developers shown below. Commercial use is not allowed.

>  Redistributions of these original programs are not allowed. However, redistributions of revised or updated programs are welcomed; and original program information and this website address should be offered.

>  Private user must send me an email with your personal information to use the source codes. The personal information is only used for statistics and will not be disclosed to the third-party.

>  Feedback is welcomed but the developers may not reply due to busy schedules.

>  The users are encouraged to cite original research works by the developers.  Although it is not compulsory, to give credit where credit is due.

>  Each program has an unzip password and you must send me an email to get the password.


Program Number "1":  Fast VIE-FFT Method for Modeling Optical Response of Nanostructures  (Updated Jan. 3, 2019)


Wei E.I. Sha (Zhejiang University, Email: weisha@zju.edu.cn)


The C/C++ program can simulate electromagnetic/optical response from arbitrary-shaped three-dimensional (3-D) nanostructures with lossy and dispersive materials, offering theoretical results of extinction cross section, absorption cross section, scattering pattern (radar cross section), near-field distribution, and material (electromagnetic) absorption. The full-wave frequency-domain solver is based on the biconjugate gradient stabilized (BICGSTAB) fast Fourier transform (FFT)-volume integral equation (VIE) algorithm, which is as fast as FFT accelerated discrete-dipole approximation (DDA) approach. Rectangular grids with roof-top basis functions are adopted. The metallic nanoparticle case and plasmonic solar cell case are shown in the source codes. MATLAB codes for postprocessing (data and grids) and benchmark (Mie series solution) are also included. The program employs Intel Math Kernel Library. Calculations at all frequency points are independent with each other and support parallel computing without data communication.


The C++ Compiler configuration for 64-bit version of Windows is given by

Additional Include Directories:  Intel Installed Path\MKL\Include; Intel Installed Path\MKL\Include\fftw
Additional Library Directories:  Intel Installed Path\lib\intel64; Intel Installed Path\mkl\em64t\lib
Additional Dependencies:  mkl_core.lib mkl_intel_lp64.lib mkl_sequential.lib


a.  Wei E.I. Sha, Wallace C.H. Choy, Yongpin P. Chen, and Weng Cho Chew, “Optical Design of Organic Solar Cell with Hybrid Plasmonic System,” OSA, Optics Express, vol. 19, no. 17, pp. 15908-15918, Aug. 2011.

b.  Wei E.I. Sha, Wallace C.H. Choy, Yang G. Liu, and Weng Cho Chew, “Near-Field Multiple Scattering Effects of Plasmonic Nanospheres Embedded into Thin-Film Organic Solar Cells,” AIP, Applied Physics Letters, vol. 99, no. 11, pp. 113304, Sep. 2011.  Supplementary Material