31.07.2014 Views

Implementing Finite Volume algorithms on GPUs - many-core.group ...

Implementing Finite Volume algorithms on GPUs - many-core.group ...

Implementing Finite Volume algorithms on GPUs - many-core.group ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Within shared memory<br />

Thread i − 1 Thread i Thread i + 1<br />

Initial u i−2 , u i−1 , u i u i−1 , u i , u i+1 u i , u i+1 , u i+2<br />

Rec<strong>on</strong>struct u L i−1 , u i−1, u R i−1 u L i , u i, u R i u L i+1 , u i+1, u R i+1<br />

Slope limit u L∗<br />

i−1 , u i−1, u R∗<br />

i−1 u L∗<br />

i , u i , u R∗<br />

i u L∗<br />

i+1 , u i+1, u R∗<br />

i+1<br />

Advance 1 2 ∆t uL i−1 , u i−1, u R i−1 u L i , u i, u R i u L i+1 , u i+1, u R i+1<br />

syncthreads()<br />

Solve R.P. f(u R i−2 , uL i−1 ) f(uR i−1 , uL i ) f(uR i , uL i+1 )<br />

syncthreads()<br />

Final Flux ∆t × (f i−2 − f i−1 ) ∆t × (f i−1 − f i ) ∆t × (f i − f i+1 )<br />

<str<strong>on</strong>g>Finite</str<strong>on</strong>g> <str<strong>on</strong>g>Volume</str<strong>on</strong>g> Methods<br />

Laboratory for Scientific<br />

Computing<br />

10 / 22

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!