Table of Contents - University of Houston

Capstone 2010
Team-3
SRS
SOLAR THERMAL PLANT DESIGN AND
OPERATION SUITE OF TOOLS COMPUTATION
USING OPENCL
Spring-2010
Project Plan & Schedule
Instructor
Dr.Alfredo Perez Davilla
Mentor
Peter Armstrong
Project Team Members
Ramesh Pathuri
Manasa Ravi
Sunil Alasyam
Ravinder Rao Chikkaraju
University of Houston- Clear Lake
1|Page
Capstone 2010
Team-3
SRS
Table of Contents
1. Purpose……………………………………………………………………….3
2. Scope………………………………………………………………………….3
3. Abstract………………………………………………………………………3
4. System Overview……………………………………………………………..4
5. Definitions…………………………………………………………………….5
6. Functional Requirements…………………………………………………….6
7. Non-functional Requirements………………………………………………..7
8. Work Flow diagram…………………………………………………………..9
9. Use Case diagram……………………………………………………………..9
10. References……………………………………………………………………12
2|Page
Capstone 2010
Team-3
SRS
1. Purpose
A solar thermal power plant generates heat by using lenses and reflectors to concentrate the sun's
energy. These plants are unique because the heat is stored and the power is generated when it is
needed. They use a field of a few thousand mirrors to reflect the sun rays onto a receiver located
at the top of a tower. These mirrors are called heliostats. In the receiver a fluid is being heated by
the concentrated sunlight and then vapor is generated and sent into a regular turbine.
Fig 1: Represents the process how the electricity is produced from the solar thermal plant.
2. Scope
The purpose of this project is to develop a suite of software that can support the solar plant
designers as well as the plant operators. It mainly focuses on the development of a massively
parallel program using OpenCL that computes the shading and blocking of a field of heliostats in
real time.
3. Abstract
Solar Thermal power plants are used to generate electricity from the energy of the sun. They use
various methods to generate electricity, one method is a field of thousands of movable mirrors
called heliostats to reflect the sun rays onto a receiver located at the top of a tower. The mirrors
3|Page
Capstone 2010
Team-3
SRS
are rotated in an angle so that all the solar energy is reflected towards the receiver, which is then
converted into electricity. In the receiver, solar energy is used to heat the fluid and then
producing water vapor to be sent into a regular turbine.
The purpose of this project is to develop a suite of software that can support the solar plant
designers in computing the shading and blocking of a field of heliostats in real time. This
application will compute the area of the shaded and blocked portions of each heliostat at least
once per second. It produces a continuously updated 2D color contour map that represents the
overall efficiency of the heliostat field; the maximum number of contours shall be 256.
The application is using OpenCL to compute the shaded and blocked areas of a field of
heliostats. In this simulation, motion of the sun and heliostats must be accurately modeled and
updated faster-than-real-time. This application is making use of NVIDIA CUDA (Compute
Unified Device Architecture), a general-purpose parallel computing architecture, to satisfy the
time constraint above. CUDA takes advantage of the parallel compute engine in NVIDIA GPUs
to help solve complex computational problems in a much shorter time than a CPU does. The
application also computes the cosine effect for each heliostat and computes the shading and
blocking for a field of ~ 4000 heliostats in not more than one second.
4. System Overview
This project is implemented by creating a massively parallel application using OPENCL which
computes the shaded and blocked areas of a field of heliostats. The system will read the input in
the format of a file consists of identifier of a heliostat which is an integer (ID), south component
of the heliostat position which is a floating point number (S), east component of the heliostat
position which is a floating point number (E), zenith component of the heliostat position which is
a floating point number (Z) and a place holder R for future use, which is an integer.
The output of the file is a text file with white space separated values that provides the shaded and
blocked areas of the each heliostat along with its cosine effect. This application will display 2D
color contour map representing heliostat field with color bands indicating the overall efficiency
of the heliostats.
4|Page
Capstone 2010
Team-3
SRS
5. Definitions

Heliostat: A device, consisting of a mirror turned by clockwork,
to reflect the light of the sun in some fixed direction; now used with
some measuring device to continuously monitor the sun’s output.

Azimuth: An azimuth is an angular measurement in a spherical coordinate
system. The vector from an observer (origin) to a point of interest
is projected perpendicularly onto a reference plane; the angle between the
projected vector and the reference vector on the reference plane is called the
azimuth.

Altitude: The perpendicular distance from the base of a geometric figure to the
opposite vertex, parallel side, or parallel surface.

Shading: Relative darkness produced on a heliostat by the blocking out of light
by a neighbor heliostat in front of it.
Figure 1: Shading geometry

Blocking: The light reflected from each representative heliostat is intercepted by
a neighbor heliostat. The interception is nothing but blocking.
5|Page
Capstone 2010
Team-3
SRS
Figure 2: Blocking geometry
6. Functional Requirements
1. We will read a text file of heliostat positions which are positioned in South-EastZenith (SEZ) Cartesian coordinate system. The file will be in the format of
ID,S,E,Z,R.ID is the identifier of the heliostat(an integer),S is the south component of
the heliostat position(Floating point number),E is the east component of the heliostat
position( floating point number),Z is the zenith component of heliostat
position(floating point number), and R is a place holder(integer).
2. The application will allow the user to set the heliostat width and height, the pedestal
height, receiver radius, and tower focal height in meters. .
3. The application will allow user to set the north latitude, east longitude in degrees and
sea level elevation in meters for the site. The origin of the field will coincide with
these coordinates.
6|Page
Capstone 2010
Team-3
SRS
4. The application will allow the user to set year, month, day, hour, minute and second in
Universal Coordinated Time (UTC).
5. The application will compute sun position at the date and time entered by using
algorithm from the paper “An Algorithm for the Shading and Blocking Computations
of a Field of Heliostats Arranged in a Grid Layout”.
6. The application will numerically display the azimuth and elevation of the sun.
7. The application will compute the shading and blocking of each heliostat by using the
algorithm from the paper “An Algorithm for the Shading and Blocking Computations
of a Field of Heliostats Arranged in a Grid Layout”.
8. For each heliostat the application will compute
a. 1 – S/A
b. 1 – B/A
c. 1 – (S+B)/A
Where S equals the shaded area of the heliostat, B equals the blocked area of the
heliostat, and A equals the physical area of the heliostat.
9. The application will compute the cosine effect for each heliostat, which is the dot
product of the heliostat normal vector and the vector from the heliostat to the sun.
10. The application will write the following results for each heliostat to a text file, in the
order: ID, cosine_effect, 1 – B/A, 1 – S/A, 1 – (S+B)/A.
11. The application will be written in OpenCL and parallelized to the maximum extent
possible.
7. Non-Functional Requirements
1. The application will complete the shading and blocking computations for a field of
4000 heliostats in not more than one second.
2. The application will render a 2D contour map of the heliostat field. The area between
contour lines will be colored as follows:
a. Cosine effect: white (high) to dark blue (low).
b. 1 – B/A: white (high) to dark red (low).
c. 1 – S/A: white (high) to dark green (low).
7|Page
Capstone 2010
Team-3
SRS
d. 1 – (S + B)/A: white (high) to black (low).
Contour Map: A map that shows the configuration of a surface by means of contour lines drawn
at regular intervals of elevation (contour intervals) above a reference level. The below figure is a
sample contour map which shows the contour lines with the variations of four colors: white, light
blue, whitish-blue and dark blue.
3. The application will allow the user to select the number of levels (contour) represented
in the contour map. The minimum number of contours shall be one and the maximum
number of contours will be 256.
4. The project final report will include objective test results.
5. The source code will be submitted to Tietronix before mentor feedback is provided to
the instructor.
8|Page
Capstone 2010
Team-3
SRS
8. Work Flow diagram
TEXT FILE
2D CONTOUR MAPS
TOWER HEIGHT
SPECIFICATIONS
(ID S E Z R)
SUN POSITION UNIT
CALCULATE SHADING
AND BLOCKING AREAS
MAIN
PROGRAM
UNIVERSAL
COORDINATED TIME
DISPLAY THE AZIMUTH AND
ELEVATION OF THE SUN
9. Use Case Diagram:
A use case diagram in the Unified Modeling Language (UML) is a type of behavioral diagram
defined by and created from a Use-case analysis. Its purpose is to present a graphical overview
of the functionality provided by a system in terms of actors, their goals (represented as use
cases), and any dependencies between those use cases.
The main purpose of a use case diagram is to show what system functions are performed for
which actor. Roles of the actors in the system can be depicted.
The use case ‘heliostat placement information’ describes the position of heliostat it is located.
The use case ‘year and time’ describes the information about the date and time at which the user
want to calculate the shading and blocking. The use cases like ‘sun position’ and ‘azimuth and
elevation of sun’ is computed by the information entered by the user.
The use case ‘heliostat measurements’ tells about the height and width of the heliostat. The use
case ‘tower focal height’ tells about the height of the tower. The use case ‘pedestal height and
9|Page
Capstone 2010
Team-3
SRS
receiver radius’ describes the details of the receiver. ‘Origin of the field’ describes the north
latitude, east longitude and sea level elevation (in meters).
USECASE
PRE-CONDITION
POST-CONDITION
Heliostat Placement
Information
The format of the text file
should be ID S E Z R
Heliostats are represented as
single-faceted polygons
Year and Time
System is loading
Stored in the program
Azimuth and elevation of
the sun.
Based on Heliostat Position
Displays the calculations.
Heliostat measurements
The measurement should be
in meters
Used for shading and
blocking of each heliostat
Tower Focal Height
The measurement should be
in meters
Used for calculating
blocking part of heliostat
Pedestal Height and
Receiver radius
The measurement should be
in meters
Used for calculating
blocking part of heliostat
Origin of the field
Based on Heliostat
Placement Information
Used for further purpose
10 | P a g e
Capstone 2010
Team-3
SRS
11 | P a g e
Capstone 2010
Team-3
SRS
10. References
1. Peter Armstrong. An Annotated Algorithm for Shading and Blocking Computations of
a Field of Heliostats Arranged in a Grid Layout. Available from Tietronix Software,
Inc.; received February 4 2010.
2. http://www.khronos.org/opencl/
3. http://www.khronos.org/developers/library/overview/opencl_overview.pdf
4. http://www.nvidia.com/object/cuda_opencl_new.html
5. http://2.bp.blogspot.com/_0A8DCf9FR68/Sk4bWJI54hI/AAAAAAAAAL4/zY57Ug
UhoA0/s400/solar-1.jpg
12 | P a g e