diff --git a/src/Adaptivity/EdgeBasedRefinement.jl b/src/Adaptivity/EdgeBasedRefinement.jl index 7347a1356..83792c714 100644 --- a/src/Adaptivity/EdgeBasedRefinement.jl +++ b/src/Adaptivity/EdgeBasedRefinement.jl @@ -406,9 +406,10 @@ _has_interior_point(rr::RefinementRule,::RefinementRuleType) = false """ RefinementRule representing a non-refined cell. """ -function WhiteRefinementRule(p::Polytope) - ref_grid = UnstructuredDiscreteModel(UnstructuredGrid(LagrangianRefFE(Float64,p,1))) - return RefinementRule(WithoutRefinement(),p,ref_grid) +function WhiteRefinementRule(p::Polytope{D}) where {D} + partition = tfill(1,Val{D}()) + ref_grid = UnstructuredGrid(compute_reference_grid(p,partition)) + RefinementRule(WithoutRefinement(),p,ref_grid) end """ diff --git a/test/AdaptivityTests/RefinementRulesTests.jl b/test/AdaptivityTests/RefinementRulesTests.jl index 278180265..3e4e84556 100644 --- a/test/AdaptivityTests/RefinementRulesTests.jl +++ b/test/AdaptivityTests/RefinementRulesTests.jl @@ -22,6 +22,9 @@ for poly in polys rr_red = Adaptivity.RedRefinementRule(poly) Adaptivity.test_refinement_rule(rr_red) + rrules=[rr_generic, rr_white, rr_red] + @test isconcretetype(eltype(rrules)) + n_edges = num_faces(poly,1) for e in 1:n_edges rr_green = Adaptivity.GreenRefinementRule(poly,e)