Thursday, October 28, 2010

Release of version 1.1.1 of Tonatiuh

We just released version 1.1.1 of Tonatiuh. This is a minor version of the program. The main characteristic of this release is that it incorporates the most recent versions of all of the program's supporting libraries: Qt, Simage, Coin, SoQt, Marble and Berlkeley DB.

As shown in Figure 1, this release is faster than version 1.0.0. Under Windows, it achieved a 14.1% reduction in the average time it needed to cast 6 million rays while simulating the optical behavior of NREL's Solar Furnace in the three computers in which the program was tested. Under Linux this average time reduction reached 15.6%.

From Tonatiuh Blog Figures

The release fixes several small program bugs and introduces both a new version of the Buie's sunshape plugin and a new version of the spherical rectangle plug-in. It also slightly changes the way the user can use Marble to select a given location on the Earth.

As always, if you find bugs in Tonatiuh or in any of its plug-ins, please, take the time to report those errors using the "Issues" tab in Tonatiuh's website at Googlecode. Furthermore, if you have suggestions on how to improve the program or increase its functionalities, please, let us know, either by adding comments to this post, or better by participating on the corresponding discussion of the Tonatiuh users group.

Best regards. Enjoy! 

Monday, August 2, 2010

Release of version 1.1.0 of Tonatiuh

We just released version 1.1.0 of Tonatiuh. This is a relatively major release of the program. It incorporates a signficant new feature to Tonatiuh: SCRIPTING.

From now on, you will be able to automatize some of the recurrent taks that you do with Tonatiuh by writting your own scripts. This new release of the program introduces scpripting just as a proof of concept, we will be expanding the scripting capabilities of Tonatiuh in future program releases.

In addition to scripting, this new release of the program, corrects several detected bugs, improves the general (circumsolar ratio) sunshape plugin, facilitates the storage of Tonatiuh results (photon maps), and makes it possible to inmediately open, within Tonatiuh, any Tonatiuh file just by cliking on the file -once the user associates, in the Operating System he or she is using, the Tonatiuh file extension with the Tonatiuh program.

As always, if you find bugs in Tonatiuh or in any of its plug-ins, please, take the time to report those errors using the "Issues" tab in Tonatiuh's website at Googlecode. Furthermore, if you have suggestions on how to improve the program or increase its functionalities, please, let us know, either by adding comments to this post, or better by participating on the corresponding discussion of the Tonatiuh users group.

Best regards. Enjoy!

Friday, July 9, 2010

OpenSolaris version of Tonatiuh 1.0.1

As indicated in a recent post, we have added OpenSolaris to the list of operating systems for which Tonatiuh is targeted.

If you are interesting in using Tonatiuh under OpenSolaris, please, do the following:

  1. Go to the "Downloads" section of the Tonatiuh website at Googlecode.com.
  2. Download the archive file "tonatiuh-opensolaris-1.0.1.tar.gz" in a computer running OpenSolaris and extract its content.
  3. Find the shell file "Tonatiuh.sh" and execute it.
We have been able to test the above procedure in only one PC running OpenSolaris. Thus, if the procedure works for you, please, let us know. If it does not work, please, also let us know, and if possible, please, provide us with the details of what went wrong, so that we can try to fix it.

Monday, July 5, 2010

Release of version 1.0.1 of Tonatiuh

We just released version 1.0.1 of Tonatiuh. This minor release:

  • Fixes some programming bugs that, when running Tonatiuh under the MAC OS X, resulted in the user not being able to maximize the program's main window, or in some plug-ins not being loaded.
  • Improves the implementation of the ShapeFlatDisk so that now when using this shape as the starting surface from which to cast solar photons into the solar concentrating systems, the origin of the photons are much more uniformly distributed upon the flat disk surface that under the previous implementation of the plug-in.
  • Includes two new shape plug-ins (ShapeSphericalRectangle, and ShapeBezierSurfaces).
  • Includes one new sunshape plug-in (SunshapeBuie).
In future posts, the functionality added by these new plug-ins will be presented, and the use of the plug-ing explained.

As always, if you find bugs in Tonatiuh or in any of its plug-ins, please, take the time to report those errors using the "Issues" tab in Tonatiuh's website at Googlecode.

Best regards. Enjoy!

Tonatiuh is available for OpenSolaris

During the last four weeks we were busy, not only improving Tonatiuh and fixing the bugs reported by the users, but also adding OpenSolaris -a unix-derived operating system (OS) promoted by Oracle- to the list of OS for which Tonatiuh is available.

Very soon the instructions to develop and build Tonatiuh for OpenSolaris, using Oracle's C++ compiler, will be added to the wiki of the main Tonatiuh website.

From Tonatiuh Blog Figures


Being able to use Oracle's standard C++ compiler to make Tonatiuh available for OpenSolaris will help us to ensure that we are developing the program in standard C++, and that we are not introducing compiler-specific dependencies in our code.

With this new addition, the number of OS for which Tonatiuh is available reaches four:
  • Windows (XP, Vista, and 7),
  • Mac OS X,
  • Linux (Ubuntu, Kubuntu, Open SuSE), and
  • OpenSolaris.

Sunday, May 30, 2010

Release of version 1.0.0 of Tonatiuh

We just released version 1.0.0 of Tonatiuh. This new release presents significant advances over previous ones. From a user point of view, the most important feature of the new release is the parallel computing capabilities.

Tonatiuh release 1.0.0 is able to detect the number of available processors in the computer it is running and adjust the number of parallel running threads it uses to execute the ray tracing loop accordingly.

The introduction of these parallel processing capabilities resulted in dramatic cuts in the time needed to execute the ray tracing loop. As shown in the Table, the number of seconds needed to trace 6 million rays over the geometry of the NREL Solar Furnace and the sun position configuration defined in the file “SolarFurnace_normal.tnh” that can be found in the Downloads section of the Tonatiuh website at Google code decreased from an average of 129 seconds under Windows and 70 seconds under Linux to an average of 26 seconds under Windows (79.9% decrease) and 21 seconds under Linux (69.4% decrease).

From Tonatiuh Blog Figures

Obviously, the reductions are the more significant the greater the number of available processors in the computer. This is proven by the fact that the larger decreases in the ray tracing loop execution time shown in the above table correspond to the computer labeled PC2, which is the only Quad-Core machine of all the computers used in the comparison –the other computer are Dual-Core machines.

Parallelization is not, however, the only relevant feature of Tonatiuh release 1.0.0. The new release uses the latest Qt, Simage, Coin, SoQt and Marble libraries. It uses Qt version 4.6.2, Simage version 1.7.0, Coin version 3.1.3, SoQt version 1.5.0, and Mable version 0.8. In addition, for the Windows version, the MinGW compiler was updated to make it able to use gcc version 4.5.

The code of the new Tonatiuh release underwent important architectural changes with respect to the previous one in order to implement parallelization. Furthermore, it was reviewed to eliminate redundancies, simplify the architecture, and achieve additional performance gains. The SceneModel class was simplified and the InstanceNode and the PhotonMapDefault classes were improved and speed up by selectively replacing the use of QList classes by the use of QVector classes, among other things.

Monday, March 29, 2010

Performance comparison of Tonatiuh releases 0.9.4 and 0.9.5

One way to quantify the advances in performance obtained with every new release of Tonatiuh is to compare the time each release of the program takes in tracing the same number of rays throughout the same solar concentrating geometry and sun position configuration.

We decided to do this by measuring the time each new release of the program takes in tracing 6 million rays over the geometry of the NREL Solar Furnace and the sun position configuration defined in the file “SolarFurnace_normal.tnh” that can be found in the Downloads section of the Tonatiuh website at Google code.

Since the execution time of a program strongly depends on the computational capabilities of the computer in which the program is run (i.e., the CPU type, the frequency of its clock, the amount of RAM available, etc.), and in the operating system used, we have selected a sample of three computers in which to measure the time each new release of Tonatiuh takes in casting 6 million rays over the NREL solar Furnace configuration previously mentioned, under both Windows 7 and Kubuntu 9.10.

The results of the comparison between the current release of Tonatiuh (version 0.9.5) and the previous one (version 0.9.5) are shown in the following figure.

From Tonatiuh Blog Figures


From these results the following conclusions can be drawn:
  • The two releases of Tonatiuh run almost two times faster under Linux than under Windows. This may be due to a difference in the quality of the executable code generated by the Windows C++ compiler (MinGW) and the Linux C++ compiler (GCC).
  • Since neither of the two releases make use of parallel computing capabilities within their ray tracing loop they run faster in the computers operating at the higher frequency rates.
  • The increase in ray casting performance of release 0.9.5 with respect to the previous release of Tonatiuh is substantial. In casting 6 million rays towards the NREL Solar Furnace, it takes of the order of 18.5% less time under Windows 7, and of the order of 6.7 % less time under Linux, than Tonatiuh release 0.9.4.