GPU-Based Monte Carlo Ray Tracing Simulation for Solar...

45
GPU-based Monte Carlo Ray Tracing Simulation For Solar Power Plants GTC 2012 Michel Izygon, Ph.D., Claus Nilsson, Ngoc Vu, Peter Armstrong Tietronix Software www.tietronix.com T I e t r o n I x

Transcript of GPU-Based Monte Carlo Ray Tracing Simulation for Solar...

Page 1: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

GPU-based Monte Carlo Ray

Tracing Simulation For Solar

Power Plants GTC 2012

Michel Izygon, Ph.D., Claus Nilsson, Ngoc Vu, Peter Armstrong

Tietronix Software www.tietronix.com

T I e t r o n I x

Page 2: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Tietronix Software

Headquartered in Houston, TX

Main Activities:

Software Development for NASA JSC

• Onboard and Mission Control Center

• Simulation systems

Medical Device Software

3D Graphics for Simulation, Training, Education

Solar Energy Engineering Software and Services

• TieSOL suite of software

2

T I e t r o n I x

Page 3: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Concentrated Solar Power Concentrated Solar Power systems use mirrors to concentrate sunlight onto a

small receiver. The concentrated light heats a fluid (molten salt or water), which

drives a steam turbine connected to an electrical power generator.

Multiple projects are being developed in the southwest (Nevada, California,

Arizona), as well as in the rest of the world (Spain, India, China, South Africa,

Australia, Morocco, Saudi Arabia, Egypt,…)

Major players:

Manufacturing/Suppliers: Schott, St Gobain, Flabeg, ABB, Alstom,

Technology Providers: BrightSource Energy, SolarReserve, Abengoa, Sener, Areva,

Siemens, eSolar, Acciona, …

Engineering Construction: Bechtel, ACS Cobra,…

Utilities: Pacific Gas and Electric, South California Edison, Nevada Power, SDG&E,

Funding: NRG, Google, DoE

3

T I e t r o n I x

Page 5: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

How does it work?

HOW THE SOLAR TOWER WORKS:

1. The solar tower is 115m (377ft) tall

and surrounded by 600 steel

reflectors (heliostats). They track

the sun and direct its rays to a heat

exchanger (receiver) at the top of

the tower

2. The receiver converts concentrated

solar energy from the heliostats into

steam

3. Steam is stored in tanks and used

to drive turbines that will produce

enough electricity for up to 6,000

homes

5

T I e t r o n I x

Page 6: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Generating Electricity

6

T I e t r o n I x

Page 7: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Heliostat

7

T I e t r o n I x

Page 8: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Solar Two (1)

8

T I e t r o n I x

Page 9: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Solar Two (2)

9

T I e t r o n I x

Page 10: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Solar Two (3)

10

T I e t r o n I x

Page 11: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Next Generation Solar Thermal

Bright Source Concept

Abengoa Plants

T I e t r o n I x

11

Page 12: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Problem Statement Software for Central Receiver System

First generation: Mirval, Helios, Rcell, Delsol …

Second Generation: Soltrace, WinDelsol, Hflcal, Nspoc, ..

Always constrained by processing power

i.e., use Hermite Coefficients, Convolution, …

Ray Tracing usually considered too slow to be used for optimization or for

very large systems

Current / future Central Receiver Systems

Much larger systems (many thousands mirrors)

Need better tools for design, optimization, operations

=> Needs for next generation software that uses

State-of-the-Art Computing Model.

12

T I e t r o n I x

Page 13: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Requirements

Provide accurate shading and blocking percentages

Calculate the incident flux on the receiver

Calculate efficiencies of all optical losses

Compute fast enough to enable large range of design parameters assessment/trade-offs

Model all potential optical effects such as sun shape, facets focusing, facets canting, mirror tracking errors, mirror surface errors, pedestal alignment errors, atmospheric attenuation, ….

13

T I e t r o n I x

Page 14: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Solar Ray Tracing Engine

What it is:

Customized Ray Tracer

Highly specialized for CSP

Double precision

Fast

14

T I e t r o n I x

Page 15: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Simple Overview

15

T I e t r o n I x

1. Generate sun ray

2. Trace ray from

sun to mirror

3. Reflect ray

4. Trace ray from

mirror to receiver

5. Calculate the flux

map

Page 16: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Shading and Blocking

Definitions:

Shading occurs at low sun angles when

a heliostat casts its shadow on a

heliostat located behind it. Therefore,

not all the incident solar flux is reaching

the reflector.

Blocking occurs when a heliostat in

front of another heliostat blocks the

reflected flux on its way to the receiver.

16

T I e t r o n I x

Page 17: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Shading and Blocking cont.

Requirement: “Provide

accurate shading and

blocking percentages”

Solution: Target rays

uniformly across all

mirrors.

17

T I e t r o n I x

Page 18: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Flux Map

Requirement: “Calculate the

incident flux on the receiver”

Solution:

Each ray has a Power value

Losses are subtracted from the

Power value as the ray travels

through the system.

18

T I e t r o n I x

Receiver’s flux map

Ray impacts on receiver

Page 19: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Efficiencies

Requirement: “Calculate efficiencies”

Solution: Each ray has a

Power value

State, e.g.

• Is alive or dead

• Has been reflected

• Has hit receiver

19

T I e t r o n I x

Page 20: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Specialization

Specialization = speed

Non-recursive

Very simple objects

Limited planes

Limited cylinders

No acceleration structure

Intersection objects are found prior to ray tracing

20

T I e t r o n I x

Page 21: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Limited Planes

Used for mirrors and some receiver types

Consist of:

3D normal

Width and height

Center position

Smaller memory footprint

64 bytes vs. 192 bytes for triangles (d.p.)

21

T I e t r o n I x

Page 22: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Limited Cylinders

Used for cylindrical receivers

Consists of:

3D center

Height

Radius

Always aligned with vertical axis

22

T I e t r o n I x

Page 23: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Intersections

Each heliostat has two lists:

Potential shading object

Potential blocking object

Fixed number of neighbors

Neighbor search partially reusable

23

T I e t r o n I x

Page 24: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Random Number Generator

Pseudorandom numbers need

Uniform distribution

Normal (or Gaussian) distribution

Uniform distribution RNGs

Rand48 from Molecular Dynamics simulation framework (MDGPU)

CURAND library from NVIDIA CUDA Toolkit

Normal distribution RNG

Box-Muller transformation

24

T I e t r o n I x

Page 25: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Random Number Generator

25

T I e t r o n I x

Rand48 CURAND

Algorithm Linear Congruential

Generator (LCG)

XORWOW

(xor-shift family)

Period 248 2192

Performance

(ms/100 million double-

precision numbers)

200 30

Inline generation

support NO YES

(*) Generated on GTX 570

Page 26: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Random Number Generator

Block generation Cost device memory

Global state can be deleted after block generation

Inline generation Increase registers used in kernel

Global state remains in memory for multiple kernels

TieSOL uses block generation for uniform distribution random numbers and uses inline generation for normal distribution random numbers

26

T I e t r o n I x

Page 27: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

BLOCK GENERATION Method GPU time (ms) %GPU time

Accumulate_Rays_to_Heliostats 203.146 62.93

Trace_Rays 92.609 19.53

Generate_Rays 39.759 8.36

Accumulate_Rays_to_FluxNodes 15.099 3.03

generate_seed_pseudo 12.959 2.71

gen_sequenced 2.175 0.45

Orient_Field 0.108 0.02

Initialize_Field 0.023 0

Find_Shaders_and_Blockers 0.023 0

Initialize_Facets 0.019 0

Total 365.921

Performance boost 33%

INLINE GENERATION Method GPU time (ms) %GPU time

Accumulate_Rays_to_Heliostats 203.032 35.94

Trace_Rays 142.243 25.18

Generate_Rays 131.434 23.27

Accumulate_Rays_to_FluxNodes 65.994 11.68

Init_RNG 0.637 0.11

Orient_Field 0.107 0.01

Initialize_Field 0.023 0

Find_Shaders_and_Blockers 0.023 0

Initialize_Facets 0.020 0

543.5138

27

T I e t r o n I x

(*) 10 million rays simulated and 50 million random numbers generated on GTX 570

Random Number Generator

Page 28: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Random Number Generator

28

T I e t r o n I x

Sun shape model

Page 29: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Effect of Circumsolar Radiation

Two distinct regions exist when

examining a single sun shape profile :

the distribution within the solar disc, and

that of the circumsolar region.

The solar disc profile is created from the

processes of solar limb darkening,

atmospheric extinction and atmospheric

scattering,

The circumsolar region is simply

created from the small angle scattering

of the incoming beam off large particles

in the troposphere

29

T I e t r o n I x

Page 30: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Sun Shape Model Simulation

Sun shape model: function of sun brightness on sun disc versus sun angle

TieSOL: More rays in an area of

sun disc means more brightness

Use cumulative distribution function to generate rays on sun disc

T I e t r o n I x

30

Page 31: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Sun Shape Model Simulation

31

T I e t r o n I x

Page 32: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Kuiper vs V.B.2

Kuiper V.B.2

32

-0.01

-0.005

0

0.005

0.01

-0.01 -0.005 0 0.005 0.01

-0.015

-0.01

-0.005

0

0.005

0.01

0.015

-0.015 -0.01 -0.005 0 0.005 0.01 0.015

T I e t r o n I x

Page 33: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Effect of Sunshape on flux

33

Point sun Kuiper V.B. 2

T I e t r o n I x

Page 34: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Mirror Surface Irregularity

Compute error for normal vector at each impact point The error is first broken

into 2 error components (X, Y)

Apply normal distribution on each component with given standard deviations

34

Hx

Hy

Ideal normal vector (I)

True normal vector (T)

H

T I e t r o n I x

Page 35: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Mirror Surface Irregularity

35

T I e t r o n I x

X: 1 Y:1 mRads

-8

-6

-4

-2

0

2

4

6

8

10

-6 -4 -2 0 2 4

X

Y

Page 36: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Surface Irregularity Images

36

X: 0 Y:0 mRads X: 1 Y:2 mRads X: 1 Y:5 mRads

T I e t r o n I x

Page 37: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Solar Plant Efficiency

37

T I e t r o n I x

Requirement: “Calculate efficiencies of all optical losses”

Page 38: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Performance Results

38

Results for:

TieSOL::CudaFlux

TieSOL::AnnualPerformance

Comparison between ASAP ray-tracing simulation and

TieSOL::CudaFluxLite

1 Million Rays

ASAP: 25 s

CudaFluxLite: 0.2 s

T I e t r o n I x

# rays # runs GTX 480 GTX 570 GTX 580 GTX 590 3 GTX 570

100 million 1 s 1.986 1.849 1.547 1.132 0.887

8 Million 365 mm:ss 17:42 14:52 12:20 8:50 5:25

Page 39: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Next Generation Code: TieSOL

Suite of code that leverages GPU technology

TieSOL::CudaFlux

• Ray Tracing software with extremely fast implementation on Nvidia CUDA

TieSOL::CudaFluxLite

• Heliostat Analysis

• Use Ray Tracing engine following Heliostat Flux map over day

TieSOL::Annual Performance

• Use Ray Tracing engine for multiple days per year

TieSOL:: CudaSAB

• Geometrical computation of S&B using combination of GPU and Multi-Core CPU capabilities

TieSOL::SkyFlux

• Computes the flux reflected by the mirrors in the sky, while the heliostats are in a standby mode.

TieSOL:: Solar 4D

• Graphical Simulation of Heliostat Field using GPU

39

T I e t r o n I x

Page 40: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

TieSOL::CudaFlux

CUDA based Monte Carlo Ray Tracing code

Extremely fast implementation: 50 - 80 Million rays < 1 s

Accounts for all the optical losses (Solar shape, S&B, Cos, Reflectivity, Pedestal Tilt, Random Errors in Heliostat tracking, canting, focusing, and on mirror surface, atmospheric attenuation, Spillage, Aiming Distribution)

Graphical User Interface provides ways to control the computation and get the results for whole field or section of it or for each heliostat

Heliostat geometry and configuration defined through GUI

Computes the flux map on cylindrical or flat plane receiver

40

T I e t r o n I x

Page 41: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

TieSOL::CudaFlux

41

T I e t r o n I x

Page 42: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

TieSOL:: Annual Performance Uses same Monte Carlo Ray Tracing engine as CUDAFlux

Computes Annual Performance through integration of results from number of date/time

User controls number of computations and get the results for Yearly Energy and for individual Date/Time

42

T I e t r o n I x

Page 43: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

TieSOL::CudaFluxLite

Uses same Monte Carlo Ray Tracing engine as CUDAFlux Compute optical losses

and flux map for single heliostat

Continuous flux computation over time

Allow user to compare heliostat flux for different conditions

43

T I e t r o n I x

Page 44: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

TieSOL::CudaFluxLite

44

T I e t r o n I x

Page 45: GPU-Based Monte Carlo Ray Tracing Simulation for Solar ...on-demand.gputechconf.com/.../S0321-GPU-Based-Monte-Carlo-Ray-… · GPU-based Monte Carlo Ray Tracing Simulation For ...

Conclusion

TieSOL suite of software provides toolset for CSP designers, analyst, operators

Extreme performance

Expand the range of trade offs studies

Computing on GPU for CSP is a disruptive innovation

Extending to other types of CSP systems

45

T I e t r o n I x