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
© Copyright 2026 Paperzz