Solar Power Plant Real Time Simulation Visualization Requirements

  • Slides: 39
Download presentation
Solar Power Plant Real Time Simulation/ Visualization Requirements Capstone Project Fall 2009 Team #

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 Ø

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

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

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. ) (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

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

Project Specification v The system is a photo-realistic 3 D simulation of a concentrating

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

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

Applied Technologies

CUDA v NVIDIA CUDA is a parallel processing architecture. v CUDA leverages the parallel

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

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

CUDA (cont. ) v GPUs have a parallel "manycore" architecture, and each core can run thousands of threads simultaneously

Open. GL

Open. GL

Open GL v The Application Programming Interface (API ) to graphic hardware. v The

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

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

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

Open GL v Main libraries : provide functions Ø GLU ( Open. GL Utility

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

Open GL

Shading and Blocking

Shading and Blocking

Shading v Shading: the sunlight to a heliostat is blocked by another heliostat.

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

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

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 v Simple formula v Easy to understand program

Our algorithm (cont. ) Compute vertices of each heliostats v For each (representative) heliostat

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

Ray Tracing Light source Source: siggraph. org

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 (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

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

Ray Tracing in the Project Viewpoint Screen

Program Flow From file Plant configurations Heliostats’ center coordinates Sun position Using Cuda (one

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

Demo

Milestone Milestones

Milestone Milestones

Conclusion

Conclusion

Conclusion v Basic tasks: Ø Research Open. GL, CUDA, Ray tracing… Ø Apply Open.

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

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:

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