Skip to content

Commit 28b08d6

Browse files
committed
Adding tests
1 parent 6ce000b commit 28b08d6

2 files changed

Lines changed: 48 additions & 0 deletions

File tree

test/AutodiffTests.jl

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ using GridapDistributed
66
using PartitionedArrays
77
using SparseArrays
88
using ForwardDiff
9+
using Gridap.ODEs: TransientCellField, get_jacs
910

1011
function main_sf(distribute,parts)
1112
ranks = distribute(LinearIndices((prod(parts),)))
@@ -206,11 +207,54 @@ function skeleton_mf_different_fespace_trians(distribute,parts)
206207
end
207208
end
208209

210+
function main_transient_sf(distribute,parts)
211+
ranks = distribute(LinearIndices((prod(parts),)))
212+
213+
domain = (0,4,0,4)
214+
cells = (4,4)
215+
model = CartesianDiscreteModel(ranks,parts,domain,cells)
216+
217+
u((x,y),t) = (x+y)^k + 2*t
218+
u(t::Real) = x -> u(x,t)
219+
σ(∇u) = (1.0+∇u∇u)*∇u
220+
(∇du,∇u) = (2*∇u∇du)*∇u + (1.0+∇u∇u)*∇du
221+
f(t) = x -> ∂t(u)(t)(x) - divergence(y->σ((u(t),y)),x)
222+
223+
k = 1
224+
reffe = ReferenceFE(lagrangian,Float64,k)
225+
V = TestFESpace(model,reffe,dirichlet_tags="boundary")
226+
U = TransientTrialFESpace(V,u)
227+
228+
Ω = Triangulation(model)
229+
= Measure(Ω,2*k)
230+
r(t,u,v) = ( ∂t(u)v + (v)(u)) - v*f(t) )dΩ
231+
j_0(t,u,du,v) = ( (v)(dσ((du),(u))) )dΩ
232+
j_t(t,u,dut,v) = ( dutv )dΩ
233+
234+
op = TransientFEOperator(r,(j_0,j_t),U,V)
235+
op_AD = TransientFEOperator(r,U,V)
236+
237+
uh = interpolate(0.0,U(0.0))
238+
∂tuₕ = interpolate(0.0,U(0.0))
239+
uhₜ = TransientCellField(uh,(∂tuₕ,))
240+
241+
b = assemble_vector(v->r(1.0,uhₜ,v),V)
242+
A_0 = assemble_matrix((du,v)->j_0(1.0,uhₜ,du,v),U(1.0),V)
243+
A_t = assemble_matrix((dut,v)->j_t(1.0,uhₜ,dut,v),U(1.0),V)
244+
jac_0_AD = get_jacs(op_AD)[1]
245+
jac_t_AD = get_jacs(op_AD)[2]
246+
A_0_AD = assemble_matrix((du,v)->jac_0_AD(1.0,uhₜ,du,v),U(1.0),V)
247+
A_t_AD = assemble_matrix((dut,v)->jac_t_AD(1.0,uhₜ,dut,v),U(1.0),V)
248+
@test reduce(&,map(,partition(A_0),partition(A_0_AD)))
249+
@test reduce(&,map(,partition(A_t),partition(A_t_AD)))
250+
end
251+
209252
function main(distribute,parts)
210253
main_sf(distribute,parts)
211254
main_mf(distribute,parts)
212255
mf_different_fespace_trians(distribute,parts)
213256
skeleton_mf_different_fespace_trians(distribute,parts)
257+
main_transient_sf(distribute,parts)
214258
end
215259

216260
end

test/sequential/runtests.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,8 @@ end
4646
include("AdaptivityTests.jl")
4747
end
4848

49+
@time @testset "AutodiffTests" begin
50+
include("AutodiffTests.jl")
51+
end
52+
4953
end # module

0 commit comments

Comments
 (0)