Skip to content

Error when evaluating fine-grid DoFs on coarse FEFunction or FEBasis #941

Open
@amartinhuertas

Description

@amartinhuertas

The following MWE:

using Gridap
using Gridap.ReferenceFEs
reffe=LagrangianRefFE(Float64,QUAD,1)
modelH=CartesianDiscreteModel((0,1,0,1),(1,1))
modelh=refine(modelH,2)
XH = TestFESpace(modelH,reffe)
Xh = TestFESpace(modelh,reffe)
xH = get_fe_basis(XH)
uH = zero(XH)
σh = Gridap.FESpaces.get_fe_dof_basis(Xh)
σh(xH) # Fails 
σh(uH) # Fails

produces the error below, and I think it should not. I did not take a careful look at the core of Gridap, but it seems there might be a missing change_domain ?

ERROR: 

A CellDof can only be evaluated on a CellField defined on the same Triangulation.

Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:35
 [2] macro expansion
   @ ~/git-repos/Gridap.jl/src/Helpers/Macros.jl:47 [inlined]
 [3] evaluate!(cache::Nothing, s::Gridap.CellData.CellDof{ReferenceDomain}, f::Gridap.FESpaces.SingleFieldFEFunction{Gridap.CellData.GenericCellField{ReferenceDomain}})
   @ Gridap.CellData ~/git-repos/Gridap.jl/src/CellData/CellDofs.jl:108
 [4] evaluate
   @ ~/git-repos/Gridap.jl/src/Arrays/Maps.jl:87 [inlined]
 [5] (::Gridap.CellData.CellDof{ReferenceDomain})(f::Gridap.FESpaces.SingleFieldFEFunction{Gridap.CellData.GenericCellField{ReferenceDomain}})
   @ Gridap.CellData ~/git-repos/Gridap.jl/src/CellData/CellDofs.jl:100
 [6] top-level scope
   @ ~/git-repos/Gridap.jl/mwe.jl:12

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions