Solar Power Plant Real Time Simulation/ Visualization Requirements

advertisement
Capstone Project Fall 2009
Team # 6
October 8 2009
 Mentors from Tietronix company
 Michel Izygon
 Peter Armstrong
 Insia Iftiqhar
 Claus Nilsson
-
Michel.Izygon@tietronix.com
peter.armstrong-1@tietronix.com
Insia.Iftiqhar@tietronix.com
Claus.Nilsson@tietronix.com
 Team members:
 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)
 Project Description
 Project Specification
 Applied Technologies
 CUDA
 Open GL
 Issues
 Blocking and Shading
 Ray Tracing
 Project Demo
 Milestone
 Conclusion
 Reference
 Solar Thermal Plant is power plant by using
solar energy.
 It includes a thousand mirrors around a tower
to reflect the sun light to the receiver at the
top of the tower.
 It collects the sun’s energy to generate heat
that is used to run a turbine generator.
(Solar Thermal Energy form http://www.solar-thermal.com/images/image_players.jpg)
 The heliostats track the movement of the sun.
 The received energy is used to heat the fluid
inside the receiver. This process will generate
water vapor to run turbine generator.
 The capstone project will develop a photorealistic 3D simulation of a solar power plant.
 It will model the motion of the sun and
heliostats and will be updated in faster than real
time.
 The system is a photo-realistic 3D simulation
of a concentrating solar power plant using
Cuda and OpenGL.
 It tracks the movement of the sun.
 Heliostats will be represented as flat
rectangular mirrors.
 The tower will be models as a cylinder.
 It will show the shadows of heliostats upon
neighboring heliostats.
 The shadow of the tower will be casted.
 The system will maintain a graphical frame
rate at a minimum of 20 fames per second.
 It will allow users to control the simulation
date and time, the rate of change of time, the
camera position.
 NVIDIA CUDA is a parallel processing
architecture.
 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.
 Developer use C, C++ to program to the
CUDA architecture.
 CUDA architecture includes OpenCL[2] and
DirectCompute
 CUDA Features:
 CUDA driver is used for computing with fast data
transfer path between GPU and CPU
 CUDA driver interoperates with OpenGL and
DirectX graphics drivers
 It supports for Linux and Windows XP.
 GPUs have a
parallel "manycore"
architecture,
and each core
can run
thousands of
threads
simultaneously
 The Application Programming Interface (API )
to graphic hardware.
 The streamlined, hardware independent
interface.
 The standard for computer graphic
programming.
 Provides :
 Separation of interaction from rendering
 3D geometric objects.
 3D modeling transformations
 Viewing functions to create views of 3D scenes
using the idea of a virtual camera.
 High quality rendering of scenes.
 Display lists for creating graphic caches and
hierarchical models.
 The manipulation of images.
 Frame-buffer effects.
 Main libraries : provide functions
 GLU ( OpenGL Utility Library ) :
▪ More complex primitives.
 GLUT ( OpenGL Utility Toolkit ) :
▪ Managing windows on the display screen.
▪ Handling input events from mouse and
keyboard.
▪ Drawing 3D objects
▪ Tools for creating GUI
 Shading:
the sunlight
to a heliostat is
blocked by another
heliostat.
 Blocking:
the
reflection light beam
from one heliostat to
the receiver is blocked
by another heliostat.
 Complicated formula
 Time consuming
 Peter’s document
 Simple formula
 Easy to understand and program
Compute vertices of each
heliostats
 For each (representative)
heliostat

 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
Light source
Source: siggraph.org
Light source
Source: siggraph.org
Light source
Source: siggraph.org
 OpenGL supports
 Draw 3D model (heliostats, tower)
 Define virtual screen
 Define viewpoint (where eyes or camera locates)
 Use CUDA to process each pixel on the screen
Viewpoint
Screen
From file
Plant configurations
Heliostats’ center
coordinates
Sun position
Using Cuda (one thread for each
heliostat)
Vertices’ coordinates of each heliostat
3D Model using our
shading and blocking
algorithm
3D Model using ray
tracing
Render 3D model to
screen using OpenGL

Milestones
 Basic tasks:
 Research OpenGL, CUDA, Ray tracing…
 Apply OpenGL, CUDA to the project.
 Draw 3D objects : tower, heliostats …
 Apply changing time, changing direction of
heliostats .
 Processing tasks :
 Apply shading and blocking for heliostats.
 Simulate sun’s movement for the project.
 Optimize the algorithm for the project.



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
Download