Discrete Dipole Scattering C++ code (DDscat.C++) is a C++ version of the Fortran code DDSCAT for calculating scattering and absorption of light by irregular particles and periodic arrangement of irregular particles.
Current C++ version of the code is C++ porting of Fortran DDSCAT.
The Fortran code has been jointly developed by
and hosts at
The C++ code was developed by
Current version of the code is DDscat.C++ 7.3.1.
The C++ code follows as closely as possible to the Fortran versions, starting from DDSCAT 7.3.0. Versions of C++ are marked likewise the Fortran ones, but ++ is added to the end of name string. Namely, C++ version of Fortran code 7.3.1 is DDscat.C++ 7.3.1.
Not always it is possible to map Fortran features to C++, that is why DDscat.C++ uses C++ features preferably.
DDscat.C++ is a branch of Open Source project DDSCAT.
DDscat.C++ is subject to the GNU General Public License. You may copy, distribute, and/or modify the software identified as under this agreement. If you distribute copies of this software, you must give the recipients all the rights that you have.
It also means that manipulations with the DDscat.C++ are explained in Fortran version User guide. Please, refer to that documents first. New features and C++ specific issues are explained in DDscat.C++ User guide which we will refer to as 'User guide ++'.
DDscat.C++ 7.3.1 is publicly available. The DDscat.C++ 7.3.1 is then considered to be the standard version of DDscat.C++. If you choose to use it, please send email to Choliy.Vasyl(at)gmail.com ''registering'' as a user; registered users of DDscat.C++ will be notified when updates to the code are made.
The DDscat.C++ was written as a teacher-and-student project in IT-and-physics with the intention to be useful only on the basis of Fortran code. We made a serious efforts to make the C++ code free of errors. Anyway, please, let us know if you have troubles using DDscat.C++, or if you catch some bugs in it or in User guide++.
If you use DDscat.C++ in you work, pleace, make the citation of the article
The code package contains:
The package doesn't contain any extra binary files inside. Third party xml libraries should be added by user.
The code uses the plugin paradigm. It means that the code consists of components with strictly defined communication protocol and lightweight replacement.
The code consist of:
Some features of DDscat.C++.
Downloading the DDscat 7.3.1++ Code and Documentation
Users may download Delivery package from my personal page
User guide of DDscat.C++ is in Doc subfolder of main code tree or here:
Compiling and building DDscat.C++
We made the serious efforts to make the code compilable at the famous platforms. These are Windows (2000 and later), Linux (Ubuntu 10), Mac (OS X.10.5 and later). Main development was done under Qt 4.7.4 at Windows XP. Please, read DDscat.C++ User guide to start using the code.
Project owner wish to thanks to Bruce Draine and Piotr Flatau for their warm attitude to DDscat.C++.