iat-cener / tonatiuh

A Monte Carlo ray tracer for the optical simulation of solar concentrating systems
http://iat-cener.github.io/tonatiuh/
GNU General Public License v3.0
54 stars 14 forks source link

Flux analysis on a solar furnace #78

Open BrandonvanB opened 7 years ago

BrandonvanB commented 7 years ago

I am currently working on a simulation for a three stage solar furnace facility consisting of a Heliostat, Parabolic dish primary concentrator and a flat plate Lambertian receiver. I am doing a comparitive study to validate the results obtained with other ray tracing programmes such as TracePro, however, the results I obtain from Tonatiuh's flux mapping tool do not correspond with TracePro's results with the same inputs.

If you could give me any information on how the built in flux tool determines the heat flux profile over a surface, it would be much appreciated. Have studies been performed to determine errors between Tonatiuh and other ray tracing software packages?

I have attached images of my Tonatiuh and TracePro simulation results. The only difference between the two simulations is the definition of the sunshape. For the Tonatiuh simulation, I used the buie sunshape model and Guassian sunshape for the Tonatiuh and Tracepro simulations respectively.

tracepro_results

tonatiuhfluxmap

ilescener commented 7 years ago

Dear BrandonvanB,

I am sure you can probably find in the literature quite a lot of articles where some ray-tracings software are compared. For example, this one (http://scitation.aip.org/content/aip/proceeding/aipcp/10.1063/1.4949041;jsessionid=4nqDzqfHDX4neogYY29wKOuQ.x-aip-live-03) can be useful. Although Tonatiuh has enhanced his functionalities since that paper was written.

About the procedure to calculate the flux distribution inside the flux map tool, it follows the next steps:

  1. It is considered that a simulation with enough number of rays have been performed.
  2. The receiver surface, in this case the flat plate, is divided in a rectangular grid with the dimensions specified by the user (by default is 20x20).
  3. For each cell of the grid, the flux is calculated as the number of rays which have hit inside it multiplied by the power per ray and divided by the area of each cell.
  4. After that, the scale color is assigned and the image shown.

If the system you are simulating have been created correctly, the flux distribution should be the same or very similar to TracePro (I'm not sure how much can be the influence of different sunshape, but you should bear in mind it). Apart of that, note that if the grid divisions are not suitable, the flux distribution may seem to be wrong. Take a look of the next three flux distributions, all of them are the result of the same system and the same simulation. The first one have been calculated with a very low number of divisions, consequently the cells are too big in comparison of the total area where the rays are hitting and we can't see how the flux distribution is. The second images is considered good, the flux distribution is perfectly clear and it is possible to follow his evolution from low values to big values. And finally, the third case shows a flux distribution with a very high and totally excessive number of divisions, it seems to be odd because to achieve a good convergence is necessary to simulate more rays.

tonatiuhfd

I must say that once a simulated is done, changing the divisions is always allowed and do not need to re-simulate the system to create the flux distribution.

Kind regards Iñigo

BrandonvanB commented 7 years ago

Thank you for the reply. Could you also give me any information on how the heliostat tracking functions works as I would like to simulation the performance of the solar furnace with different sun positions and would like to make use of the heliostat tracking function. If you could give me information on the following aspects of this feature:

On Tue, Jul 19, 2016 at 9:43 AM, ilescener notifications@github.com wrote:

Dear BrandonvanB,

I am sure you can probably find in the literature quite a lot of articles where some ray-tracings software are compared. For example, this one ( http://scitation.aip.org/content/aip/proceeding/aipcp/10.1063/1.4949041;jsessionid=4nqDzqfHDX4neogYY29wKOuQ.x-aip-live-03) can be useful. Although Tonatiuh has enhanced his functionalities since that paper was written.

About the procedure to calculate the flux distribution inside the flux map tool, it follows the next steps:

  1. It is considered that a simulation with enough number of rays have been performed.
  2. The receiver surface, in this case the flat plate, is divided in a rectangular grid with the dimensions specified by the user (by default is 20x20).
  3. For each cell of the grid, the flux is calculated as the number of rays which have hit inside it multiplied by the power per ray and divided by the area of each cell.
  4. After that, the scale color is assigned and the image shown.

If the system you are simulating have been created correctly, the flux distribution should be the same or very similar to TracePro (I'm not sure how much can be the influence of different sunshape, but you should bear in mind it). Apart of that, note that if the grid divisions are not suitable, the flux distribution may seem to be wrong. Take a look of the next three flux distributions, all of them are the result of the same system and the same simulation. The first one have been calculated with a very low number of divisions, consequently the cells are too big in comparison of the total area where the rays are hitting and we can't see how the flux distribution is. The second images is considered good, the flux distribution is perfectly clear and it is possible to follow his evolution from low values to big values. And finally, the third case shows a flux distribution with a very high and totally excessive number of divisions, it seems to be odd because to achieve a good convergence is necessary to simulate more rays.

[image: tonatiuhfd] https://cloud.githubusercontent.com/assets/15195244/16941818/bc47c91a-4d92-11e6-8c01-77cbc8288be4.png

I must say that once a simulated is done, changing the divisions is always allowed and do not need to re-simulate the system to create the flux distribution.

Kind regards Iñigo

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/iat-cener/tonatiuh/issues/78#issuecomment-233555617, or mute the thread https://github.com/notifications/unsubscribe-auth/ASbongQ40Q018mr6AgGd-DELyJ8oxW3Jks5qXIASgaJpZM4JOt5W .

Graduate Student: Group for Solar Energy and Thermodynamics (GSET) Mechanical Engineering University of KwaZulu-Natal South Africa Cell: 072 566 5278

ilescener commented 7 years ago

Tonatiuh has a set of nodes to make the tracking and automatically rotate the helisotats or the system according to the sun positions. Each one has different features and have been created for different kind of tracking, these nodes are the following: sin titulo The only thing, and very important, you have to take into account when you use this kind of nodes is that the tracking node always need a free "Group node" as a parent. This is because the tracking node changes the rotation values of the parent node. Take a look of the following example. Imagine there is a system with a receiver and one heliostat, this heliostat is always aiming at the receiver, so it means that it needs to have implemented a tracking system. The node tree should be something like this. sin titulo2 Realize that the node called "Heliostat1" is used to translate the heliostat at the wished position while the node called "TrackingSystem" is the free node where the tracker is going to act.

I hope this answer help you to implement the tracking system.

Iñigo

BrandonvanB commented 7 years ago

Thank you for all your help. Your software has become a useful assest to my research group!

On Wed, Jul 20, 2016 at 9:14 AM, ilescener notifications@github.com wrote:

Tonatiuh has a set of nodes to make the tracking and automatically rotate the helisotats or the system according to the sun positions. Each one has different features and have been created for different kind of tracking, these nodes are the following: [image: sin titulo] https://cloud.githubusercontent.com/assets/15195244/16977688/f29aa6ca-4e57-11e6-99cd-2ad2dc5b4e8e.png The only thing, and very important, you have to take into account when you use this kind of nodes is that the tracking node always need a free "Group node" as a parent. This is because the tracking node changes the rotation values of the parent node. Take a look of the following example. Imagine there is a system with a receiver and one heliostat, this heliostat is always aiming at the receiver, so it means that it needs to have implemented a tracking system. The node tree should be something like this. [image: sin titulo2] https://cloud.githubusercontent.com/assets/15195244/16977902/3d54c550-4e59-11e6-885d-421e1f2438dd.png Realize that the node called "Heliostat1" is used to translate the heliostat at the wished position while the node called "TrackingSystem" is the free node where the tracker is going to act.

I hope this answer help you to implement the tracking system.

Iñigo

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/iat-cener/tonatiuh/issues/78#issuecomment-233862378, or mute the thread https://github.com/notifications/unsubscribe-auth/ASbonkCsK-rfR9Sz0iP-9BFEjXRC7rysks5qXcrOgaJpZM4JOt5W .

Graduate Student: Group for Solar Energy and Thermodynamics (GSET) Mechanical Engineering University of KwaZulu-Natal South Africa Cell: 072 566 5278