1using Test, LibCEED, LinearAlgebra, StaticArrays 2 3include("buildmats.jl") 4 5@testset "LibCEED Development Tests" begin 6 @testset "Basis" begin 7 c = Ceed() 8 dim = 2 9 ncomp = 1 10 p1 = 4 11 q1 = 4 12 qref1 = Array{Float64}(undef, dim, q1) 13 qweight1 = Array{Float64}(undef, q1) 14 interp1, div1 = build_mats_hdiv(qref1, qweight1) 15 b1 = create_hdiv_basis(c, QUAD, ncomp, p1, q1, interp1, div1, qref1, qweight1) 16 17 u1 = ones(Float64, p1) 18 v1 = apply(b1, u1) 19 20 for i = 1:q1 21 @test v1[i] ≈ -1.0 22 @test v1[q1+i] ≈ 1.0 23 end 24 25 p2 = 3 26 q2 = 4 27 qref2 = Array{Float64}(undef, dim, q2) 28 qweight2 = Array{Float64}(undef, q2) 29 interp2, curl2 = build_mats_hcurl(qref2, qweight2) 30 b2 = create_hcurl_basis(c, TRIANGLE, ncomp, p2, q2, interp2, curl2, qref2, qweight2) 31 32 u2 = [1.0, 2.0, 1.0] 33 v2 = apply(b2, u2) 34 35 for i = 1:q2 36 @test v2[i] ≈ 1.0 37 end 38 39 u2[1] = -1.0 40 u2[2] = 1.0 41 u2[3] = 2.0 42 v2 = apply(b2, u2) 43 44 for i = 1:q2 45 @test v2[q2+i] ≈ 1.0 46 end 47 end 48end 49