@@ -6,7 +6,6 @@ using GridapDistributed
66using PartitionedArrays
77using SparseArrays
88using ForwardDiff
9- using Gridap. ODEs: TransientCellField, get_jacs
109
1110function main_sf (distribute,parts)
1211 ranks = distribute (LinearIndices ((prod (parts),)))
@@ -207,54 +206,11 @@ function skeleton_mf_different_fespace_trians(distribute,parts)
207206 end
208207end
209208
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- dσ (∇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- dΩ = 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) = ∫ ( dut⋅ v )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-
252209function main (distribute,parts)
253210 main_sf (distribute,parts)
254211 main_mf (distribute,parts)
255212 mf_different_fespace_trians (distribute,parts)
256213 skeleton_mf_different_fespace_trians (distribute,parts)
257- main_transient_sf (distribute,parts)
258214end
259215
260216end
0 commit comments