Solar Power Plant Real Time Simulation Visualization Requirements











![CUDA (cont. ) v CUDA architecture includes Open. CL[2] and Direct. Compute v CUDA CUDA (cont. ) v CUDA architecture includes Open. CL[2] and Direct. Compute v CUDA](https://slidetodoc.com/presentation_image_h/1bbdc37308c0018e0b35226839622b75/image-12.jpg)



























- Slides: 39
Solar Power Plant Real Time Simulation/ Visualization Requirements Capstone Project Fall 2009 Team # 6 October 8 2009
GENERAL PROJECT AND TEAM INFORMATION v Mentors from Tietronix company Ø Michel Izygon Ø Peter Armstrong Ø Insia Iftiqhar Ø Claus Nilsson v Team members: - Michel. Izygon@tietronix. com peter. armstrong-1@tietronix. com Insia. Iftiqhar@tietronix. com Claus. Nilsson@tietronix. com Ø Ngoc Vu (Team leader, Researcher, Developer) Ø Hai Tran (Researcher, Algorithm , PR, Documentation Composer) Ø Hai Nguyen (Researcher, Website admin, Developer) Ø Tuan Le (Researcher, Developer, Documentation Composer)
Table of contents v Project Description v Project Specification v Applied Technologies Ø CUDA Ø Open GL v Issues Ø Blocking and Shading Ø Ray Tracing v Project Demo v Milestone v Conclusion v Reference
Project Description v Solar Thermal Plant is power plant by using solar energy. v It includes a thousand mirrors around a tower to reflect the sun light to the receiver at the top of the tower. v It collects the sun’s energy to generate heat that is used to run a turbine generator.
Project Description (cont. ) (Solar Thermal Energy form http: //www. solar-thermal. com/images/image_players. jpg)
Project Description (cont. ) v The heliostats track the movement of the sun. v The received energy is used to heat the fluid inside the receiver. This process will generate water vapor to run turbine generator. v The capstone project will develop a photorealistic 3 D simulation of a solar power plant. v It will model the motion of the sun and heliostats and will be updated in faster than real time.
Project Specification
Project Specification v The system is a photo-realistic 3 D simulation of a concentrating solar power plant using Cuda and Open. GL. v It tracks the movement of the sun. v Heliostats will be represented as flat rectangular mirrors. v The tower will be models as a cylinder.
Project Specification v It will show the shadows of heliostats upon neighboring heliostats. v The shadow of the tower will be casted. v The system will maintain a graphical frame rate at a minimum of 20 fames per second. v It will allow users to control the simulation date and time, the rate of change of time, the camera position.
Applied Technologies
CUDA v NVIDIA CUDA is a parallel processing architecture. v CUDA leverages the parallel compute engine in NVIDIA graphic processing units (GPUs) to solve complex computational problems in such a much shorter time on CPU. v Developer use C, C++ to program to the CUDA architecture.
CUDA (cont. ) v CUDA architecture includes Open. CL[2] and Direct. Compute v CUDA Features: Ø CUDA driver is used for computing with fast data transfer path between GPU and CPU Ø CUDA driver interoperates with Open. GL and Direct. X graphics drivers Ø It supports for Linux and Windows XP.
CUDA (cont. ) v GPUs have a parallel "manycore" architecture, and each core can run thousands of threads simultaneously
Open. GL
Open GL v The Application Programming Interface (API ) to graphic hardware. v The streamlined, hardware independent interface. v The standard for computer graphic programming.
Open GL v Provides : Ø Separation of interaction from rendering Ø 3 D geometric objects. Ø 3 D modeling transformations Ø Viewing functions to create views of 3 D scenes using the idea of a virtual camera.
Open GL v High quality rendering of scenes. v Display lists for creating graphic caches and hierarchical models. v The manipulation of images. v Frame-buffer effects.
Open GL
Open GL v Main libraries : provide functions Ø GLU ( Open. GL Utility Library ) : ▪ More complex primitives. Ø GLUT ( Open. GL Utility Toolkit ) : ▪ Managing windows on the display screen. ▪ Handling input events from mouse and keyboard. ▪ Drawing 3 D objects ▪ Tools for creating GUI
Open GL
Shading and Blocking
Shading v Shading: the sunlight to a heliostat is blocked by another heliostat.
Blocking v Blocking: the reflection light beam from one heliostat to the receiver is blocked by another heliostat.
Old shading and blocking Algorithm v Complicated formula v Time consuming v Peter’s document
Our algorithm v Simple formula v Easy to understand program
Our algorithm (cont. ) Compute vertices of each heliostats v For each (representative) heliostat v Ø Find its neighbors Ø Eliminate don’t-care neighbors § For each do-care neighbor • Project it to the plane that contains the representative heliostat (just four vertices of the neighbor heliostats are projected) • Indicate if a vertex is inside the representative heliostat • Indicate the shading/blocking region • Go to next neighbor Ø Go to next heliostat
Ray Tracing
Ray Tracing Light source Source: siggraph. org
Ray Tracing (cont. ) Light source Source: siggraph. org
Ray Tracing (cont. ) Light source Source: siggraph. org
Ray Tracing in the Project v Open. GL supports Ø Draw 3 D model (heliostats, tower) Ø Define virtual screen Ø Define viewpoint (where eyes or camera locates) v Use CUDA to process each pixel on the screen
Ray Tracing in the Project Viewpoint Screen
Program Flow From file Plant configurations Heliostats’ center coordinates Sun position Using Cuda (one thread for each heliostat) Vertices’ coordinates of each heliostat 3 D Model using our shading and blocking algorithm 3 D Model using ray tracing Render 3 D model to screen using Open. GL
Demo
Milestone Milestones
Conclusion
Conclusion v Basic tasks: Ø Research Open. GL, CUDA, Ray tracing… Ø Apply Open. GL, CUDA to the project. Ø Draw 3 D objects : tower, heliostats … Ø Apply changing time, changing direction of heliostats.
Conclusion v Processing tasks : Ø Apply shading and blocking for heliostats. Ø Simulate sun’s movement for the project. Ø Optimize the algorithm for the project.
Reference Parallel processing with CUDA http: //www. nvidia. com/docs/IO/55972/22040 1_Reprint. pdf CUDA Zone http: //www. nvidia. com/object/cuda_what_is. html An algorithm for shading and blocking computations of a field of heliostats arranged in a grid layout - Peter Amstrong, Tietronix Software, Inc