A first example setup - CST-Modelling-Tools/fluxtracer GitHub Wiki

INTRODUCTION

For this first example, we will use FluxTracer to investigate and analyze the distribution of the concentrated solar radiation around the focal point of a simple parabolic dish. The entire process requires the following three steps:

Set-up the test case in Tonatiuh or Tonatiuh++ in order to obtain the required rays for post processing

Set-up and run FluxTracer which is fed with the ray output from the previous step

Post-process the results of FluxTracer.

image

STEP 1: Running Tonatiuh++

The test case under consideration as is set-up in Tonatiuh++, shown in Figure 1, consists of a parabolic dish having a diameter of 10m, the focal length is located at 6.0454798 m at the Y-axis with maximum rim angle at φmax =1/4*(π-2θs)=0.78307rad. The sun source is modeled in Tonatiuh++ as a ‘’pill-box’’ shape with the sun half angle set to 4.65 mrad, while the irradiance is set to 1000W/m2. The sun position is set at an azimuth of a 0.0o and elevation of 90.0o, i.e. the sun rays are cast normal to the reflective surface of the dish.

FluxTracer's main idea is to analyze the distribution of the concentrated solar radiation at a predetermined spatial position within the radiant field of a CSP plant. Thus, in FluxTracer, in the absence of a receiver at the focal point or at any other spatial position within the radiant field, the user needs to add a virtual surface at an adequate distance above of the focal point, in order to enable the rays to pass through the focal point and stop on this virtual surface. Virtual here means that the plane's optical properties are treated so as to allow the rays to pass freely from the light source surface (i.e. the sun) to the heliostat field without changing any of their characteristics, but the reflected rays form the heliostat to the virtual plane are stopped on the latter as shown in Figure 1. The absence of a receiver in the ray-tracing simulations and the addition of the virtual plane, allows obtaining rays from Tonatiuh or Tonatiuh++ which are independent of the receiver size and dimensions.

image

For this example, we want to investigate the radiant field around the focal point of the dish, thus the virtual surface, is placed parallel to the ground and centered in the vertical axis, 8 meters above the focal line. The size of the surface is 10x10 m. After setting the sun properties in Tonatiuh++ as discussed above, the user can perform the ray tracing simulation saving the ray segments between the dish and the virtual surface. This can be done by using Tonatiuh's and Tonatiuh++'s ray export as shown in the Figure 2 below. More comprehensive information related to Tonatiuh++ can be found by pressing here. This will navigate you to the corresponding Tonatiuh++ dedicated space.

image

In the ray tracing pop-up window, set the number of rays to 100.000.000, select file as output, set the output ray directory, set 10.000.000 as photons per file and the choose the Format tab. Here select all surfaces, choose global coordinates and press OK. Tonatiuh++ will now run and export the rays in the specified directory. Tonatiuh++ will create several files and save approximately 10.000.000 per file. Figure 3 shows an example of the output ray folder.

image

STAGE 2: Running FluxTracer

For this particular test case, we will use the voxel traversal and point analysis functionalities. As per Figure 4, set-up the input ray path, the output results path and select the voxel traversal and point analysis functionalities. This can be done by copying the relevant command lines from the list of available functionalities (lines 15-33). The corresponding command lines have to be pasted after the Rays folder line (line 4) as shown below. For this example, the voxel traversal functionality is pasted in line 6 while the point analysis functionality is pasted in line 7.

image

For the voxel traversal functionality, the user needs to add the following information:

<VoxelTraversal cornerMin="-0.055, -0.055, 5.97" cornerMax="0.055, 0.055, 6.12" dimensions="120, 120, 120" output="VoxelTraversal.vtk"/>

This means that a bounding box of (X,Y,Z) = (0.11x0.11x0.15) m will be used around the focal point, fixed at equally spaced distances along Y and X axis around the focal line. The bounding box is spaced using 120 voxels in each dimension. Figure 5 exemplifies the inputs used for the ray voxel traversal. The output file will be called VoxelTraversal and the form of the output for this functionality is a vtk form

image

The point analysis functionality in FluxTracer is called SphericalReceiverVoxelized as shown below. For the point analysis functionality, the user needs to add the following information:

<SphericalReceiverVoxelized center="0, 0 , 6.0454798" cornerMin="-0.055, -0.055, 5.97" cornerMax="0.055, 0.055, 6.12" dimensions="90, 90, 90" output="SphericalReceiver.vtk"/>

This means that a bounding box of (X,Y,Z) = (0.11x0.11x0.15) m will be used around the focal point (0,0,6.0454798), fixed at equally spaced distances along Y and X axis around the focal line. The bounding box is spaced using 90 voxels in each dimension. Figure 5 exemplifies the inputs used for the point analysis functionality. The output file will be called SphericalReceiver and the form of the output for this functionality is a vtk form. After the above are set, run FluxTracer. The program will run and the progress can be monitored through the Qt's application output window as shown in the video below. It can be seen that FluxTracer goes through the ray data within the folder and performs both calculations (voxel traversal and point analysis) simultaneously. At the end, it saves the two corresponding vtk files for post-processing, VoxelTraversal.vtk , SphericalReceiver.vtk.

image

STAGE 3: Post-Processing.

For post-processing of the FluxTracer output, any post-processing tool can be used since the output is in a universal vtk file format. In this case, Paraview is used since is an open access tool. The two files can be loaded and interactively visualized in Paraview. The following video shows how to load the voxel traversal vtk in Paraview with the script:

Spherical_Receiver_Post_process

What the results above show is the radiant energy distribution in GW/m3 generated by the dish around the focal point. The user can further post-process the results as they wish. The same approach can be used for visualizing the results of the Point analysis using the generated spherical receiver vtk file. Since the point analysis provides information regarding the minimum distances of the rays to a point of interest defined by the user, this type of analysis can be used to get an idea of the minimum region that should be analyzed around the point of interest to get insight on the distribution of radiant energy around that point. If the point of interest defined by the user is the focal point of the solar concentrator being analyzed, this type of analysis could provide insight on how to define a sensible region for the radiant density analysis or insight on what should be the dimensions and shape of a receiver to capture a given fraction of all the solar energy sent by the solar concentrator to the receiver. It could also facilitate the resolution of specific receiver related optimization problems without the need to run several times the Monte Carlo ray tracer or of generating new sets of rays. The following video shows how to load the spherical receiver vtk in Paraview with the script:

Voxel_Traversal_Post_process

The results of the point analysis shown in the video provide the geometry of the optimal collector convex geometry that will intersect 100% of the rays reflected by the dish.