Skip to content

Commit 27bcf29

Browse files
committed
generalizes testdx/dy/dz and testgridpoints
1 parent b230c36 commit 27bcf29

File tree

2 files changed

+21
-39
lines changed

2 files changed

+21
-39
lines changed

test/runtests.jl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ for dev in devices
4949
# Test 1D grid
5050
g₁ = OneDGrid(dev, nx, Lx)
5151
@test testnx(g₁, nx)
52-
@test testdx(g₁)
52+
@test testdx(dev, g₁)
5353
@test testdk(g₁)
5454
@test testx(g₁)
5555
@test testk(g₁)
@@ -61,16 +61,16 @@ for dev in devices
6161
g₂ = TwoDGrid(dev, nx, Lx, ny, Ly)
6262
@test testnx(g₂, nx)
6363
@test testny(g₂, ny)
64-
@test testdx(g₂)
65-
@test testdy(g₂)
64+
@test testdx(dev, g₂)
65+
@test testdy(dev, g₂)
6666
@test testdk(g₂)
6767
@test testdl(g₂)
6868
@test testx(g₂)
6969
@test testy(g₂)
7070
@test testk(g₂)
7171
@test testkr(g₂)
7272
@test testl(g₂)
73-
@test testgridpoints(g₂)
73+
@test testgridpoints(dev, g₂)
7474
@test testdealias(g₂)
7575
@test testmakefilter(dev, g₂)
7676

@@ -79,9 +79,9 @@ for dev in devices
7979
@test testnx(g₃, nx)
8080
@test testny(g₃, ny)
8181
@test testnz(g₃, nz)
82-
@test testdx(g₃)
83-
@test testdy(g₃)
84-
@test testdz(g₃)
82+
@test testdx(dev, g₃)
83+
@test testdy(dev, g₃)
84+
@test testdz(dev, g₃)
8585
@test testdk(g₃)
8686
@test testdl(g₃)
8787
@test testdm(g₃)
@@ -92,7 +92,7 @@ for dev in devices
9292
@test testkr(g₃)
9393
@test testl(g₃)
9494
@test testm(g₃)
95-
@test testgridpoints(g₃)
95+
@test testgridpoints(dev, g₃)
9696
@test testdealias(g₃)
9797
@test testmakefilter(dev, g₃)
9898

test/test_grid.jl

Lines changed: 13 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -3,39 +3,21 @@ testny(g, ny) = isapprox(g.ny, ny)
33
testnz(g, nz) = isapprox(g.nz, nz)
44

55
# Physical grid tests
6-
function testdx(g::Union{OneDGrid{T,<:Array}, TwoDGrid{T,<:Array}, ThreeDGrid{T,<:Array}}) where T
6+
function testdx(dev, g::Union{OneDGrid{T}, TwoDGrid{T}, ThreeDGrid{T}}) where T
77
dxgrid = @. g.x[2:end] - g.x[1:end-1]
8-
dxones = g.dx*ones(T, size(dxgrid))
8+
dxones = ArrayType(dev)(g.dx*ones(T, size(dxgrid)))
99
isapprox(dxgrid, dxones)
1010
end
1111

12-
function testdy(g::Union{TwoDGrid{T,<:Array}, ThreeDGrid{T,<:Array}}) where T
12+
function testdy(dev, g::Union{TwoDGrid{T}, ThreeDGrid{T}}) where T
1313
dygrid = @. g.y[2:end] - g.y[1:end-1]
14-
dyones = g.dy*ones(T, size(dygrid))
14+
dyones = ArrayType(dev)(g.dy*ones(T, size(dygrid)))
1515
isapprox(dygrid, dyones)
1616
end
1717

18-
function testdz(g::ThreeDGrid{T,<:Array}) where T
18+
function testdz(dev, g::ThreeDGrid{T}) where T
1919
dzgrid = @. g.z[2:end] - g.z[1:end-1]
20-
dzones = g.dz*ones(T, size(dzgrid))
21-
isapprox(dzgrid, dzones)
22-
end
23-
24-
function testdx(g::Union{OneDGrid{T,<:CuArray}, TwoDGrid{T,<:CuArray}, ThreeDGrid{T,<:CuArray}}) where T
25-
dxgrid = @. g.x[2:end] - g.x[1:end-1]
26-
dxones = CuArray(g.dx*ones(T, size(dxgrid)))
27-
isapprox(dxgrid, dxones)
28-
end
29-
30-
function testdy(g::Union{TwoDGrid{T,<:CuArray}, ThreeDGrid{T,<:CuArray}}) where T
31-
dygrid = @. g.y[2:end] - g.y[1:end-1]
32-
dyones = CuArray(g.dy*ones(T, size(dygrid)))
33-
isapprox(dygrid, dyones)
34-
end
35-
36-
function testdz(g::ThreeDGrid{T,<:CuArray}) where T
37-
dzgrid = @. g.z[2:end] - g.z[1:end-1]
38-
dzones = CuArray(g.dz*ones(T, size(dzgrid)))
20+
dzones = ArrayType(dev)(g.dz*ones(T, size(dzgrid)))
3921
isapprox(dzgrid, dzones)
4022
end
4123

@@ -65,23 +47,23 @@ testl(g::Union{TwoDGrid, ThreeDGrid}) = testwavenumberalignment(g.l, g.ny)
6547
testm(g::ThreeDGrid) = testwavenumberalignment(g.m, g.nz)
6648
testkr(g) = isapprox(cat(g.k[1:g.nkr-1], abs(g.k[g.nkr]), dims=1), g.kr)
6749

68-
function testgridpoints(g::TwoDGrid{T}) where T
50+
function testgridpoints(dev::Device, g::TwoDGrid{T}) where T
6951
X, Y = gridpoints(g)
7052
dXgrid = @. X[2:end, :] - X[1:end-1, :]
7153
dYgrid = @. Y[:, 2:end] - Y[:, 1:end-1]
72-
dXones = g.dx*ones(T, size(dXgrid))
73-
dYones = g.dy*ones(T, size(dYgrid))
54+
dXones = ArrayType(dev)(g.dx*ones(T, size(dXgrid)))
55+
dYones = ArrayType(dev)(g.dy*ones(T, size(dYgrid)))
7456
isapprox(dXgrid, dXones) && isapprox(dYgrid, dYones)
7557
end
7658

77-
function testgridpoints(g::ThreeDGrid{T}) where T
59+
function testgridpoints(dev::Device, g::ThreeDGrid{T}) where T
7860
X, Y, Z = gridpoints(g)
7961
dXgrid = @. X[2:end, :, :] - X[1:end-1, :, :]
8062
dYgrid = @. Y[:, 2:end, :] - Y[:, 1:end-1, :]
8163
dZgrid = @. Z[:, :, 2:end] - Z[:, :, 1:end-1]
82-
dXones = g.dx*ones(T, size(dXgrid))
83-
dYones = g.dy*ones(T, size(dYgrid))
84-
dZones = g.dz*ones(T, size(dZgrid))
64+
dXones = ArrayType(dev)(g.dx*ones(T, size(dXgrid)))
65+
dYones = ArrayType(dev)(g.dy*ones(T, size(dYgrid)))
66+
dZones = ArrayType(dev)(g.dz*ones(T, size(dZgrid)))
8567
isapprox(dXgrid, dXones) && isapprox(dYgrid, dYones) && isapprox(dZgrid, dZones)
8668
end
8769

0 commit comments

Comments
 (0)