comparison test/testSbpOperators.jl @ 622:f799678357df feature/volume_and_boundary_operators

Move comment
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Wed, 16 Dec 2020 16:47:17 +0100
parents 60d7c1752cfa
children 316dbfd31d35
comparison
equal deleted inserted replaced
621:60d7c1752cfa 622:f799678357df
151 Dₓₓ isa TensorMapping{2,2} 151 Dₓₓ isa TensorMapping{2,2}
152 end 152 end
153 end 153 end
154 154
155 @testset "Accuracy" begin 155 @testset "Accuracy" begin
156
157 @testset "1D" begin 156 @testset "1D" begin
158 v0 = evalOn(g_1D,x->0.) 157 v0 = evalOn(g_1D,x->0.)
159 monomials = () 158 monomials = ()
160 maxOrder = 4; 159 maxOrder = 4;
161 for i = 0:maxOrder-1 160 for i = 0:maxOrder-1
187 @test Dₓₓ*monomials[4] ≈ monomials[2] atol = 5e-10 186 @test Dₓₓ*monomials[4] ≈ monomials[2] atol = 5e-10
188 @test Dₓₓ*evalOn(g_1D,x -> sin(x)) ≈ evalOn(g_1D,x -> -sin(x)) rtol = 5e-4 norm = l2 187 @test Dₓₓ*evalOn(g_1D,x -> sin(x)) ≈ evalOn(g_1D,x -> -sin(x)) rtol = 5e-4 norm = l2
189 end 188 end
190 end 189 end
191 190
192 #TODO: Error when reading second order stencil!
193 @testset "2D" begin 191 @testset "2D" begin
194 binomials = () 192 binomials = ()
195 maxOrder = 4; 193 maxOrder = 4;
196 for i = 0:maxOrder-1 194 for i = 0:maxOrder-1
197 f_i(x,y) = 1/factorial(i)*y^i + x^i 195 f_i(x,y) = 1/factorial(i)*y^i + x^i
198 binomials = (binomials...,evalOn(g_2D,f_i)) 196 binomials = (binomials...,evalOn(g_2D,f_i))
199 end 197 end
200 l2(v) = sqrt(prod(spacing(g_2D))*sum(v.^2)); 198 l2(v) = sqrt(prod(spacing(g_2D))*sum(v.^2));
199
200 #TODO: Error when reading second order stencil!
201 # @testset "2nd order" begin 201 # @testset "2nd order" begin
202 # op = read_D2_operator(sbp_operators_path()*"standard_diagonal.toml"; order=2) 202 # op = read_D2_operator(sbp_operators_path()*"standard_diagonal.toml"; order=2)
203 # Dyy = SecondDerivative(g_2D,op.innerStencil,op.closureStencils,2) 203 # Dyy = SecondDerivative(g_2D,op.innerStencil,op.closureStencils,2)
204 # @test Dyy*binomials[1] ≈ evalOn(g_2D,(x,y)->0.) atol = 5e-12 204 # @test Dyy*binomials[1] ≈ evalOn(g_2D,(x,y)->0.) atol = 5e-12
205 # @test Dyy*binomials[2] ≈ evalOn(g_2D,(x,y)->0.) atol = 5e-12 205 # @test Dyy*binomials[2] ≈ evalOn(g_2D,(x,y)->0.) atol = 5e-12