
276 Designing Scientific Applications on GPUs
d p s u r f d t [ j ] = − g ∗ e t a [ j ] − 0 . 5 ∗ ( dpdx ∗ dpdx − w∗w∗ ( 1 . 0 + ( d e ta x ∗
de tax ) ) ) ;
d e t a d t [ j ] = − de ta x ∗ dpdx + w∗ ( 1 . 0 + ( de ta x ∗ d eta x ) ) ;
50 i f ( g e n e r a t e | | a bs or b )
{
// Relaxation terms
v a l u e t y p e r e t a = v a l ue s <v a l u e t y p e > : : z e r o ( ) ;
v a l u e t y p e rp = v a l u es <va l u e t y p e > : : z e r o ( ) ;
55 f r e e s u r f a c e : : k e r n e l : : r h s r e l a x ( r e t a , rp , e t a [ j ] , p s u r f [ j
] , ( ( ( in t ) j ) −(i nt ) x s t a r t ) ∗ dx , ( xend−x s t a r t −1)∗ dx , t+dt
, dt , f a l s e , g