Skip to content

Bug in compute_face_nodes() for CartesianDiscreteModels #873

Open
@JordiManyer

Description

@JordiManyer

Not very important, but compute_face_nodes fails for CartesianDiscreteModels.

Code to reproduce:

D = 2
domain = Tuple(repeat([0,1],D))
cmodel = CartesianDiscreteModel(domain,Tuple(fill(2,D)))
compute_face_nodes(cmodel)

Error:

julia> compute_face_nodes(cmodel)
ERROR: MethodError: no method matching append_tables_globally(::Gridap.Arrays.Table{Int32, Vector{Int32}, Vector{Int32}}, ::Gridap.Arrays.Table{Int32, Vector{Int32}, Vector{Int32}}, ::Gridap.Geometry.CartesianCellNodes{2})
Closest candidates are:
  append_tables_globally(::Gridap.Arrays.Table{T, Vd, Vp}...) where {T, Vd, Vp} at ~/Documents/Gridap.jl/src/Arrays/Tables.jl:231
Stacktrace:
 [1] compute_face_nodes(model::CartesianDiscreteModel{2, Float64, typeof(identity)})
   @ Gridap.Geometry ~/Documents/Gridap.jl/src/Geometry/DiscreteModels.jl:180
 [2] top-level scope
   @ REPL[29]:1

The issue is that append_tables_globally expects only Tables, while compute_face_nodes(cmodel,Dc) returns a Gridap.Geometry.CartesianCellNodes (which is also <: AbstractVector{<:Vector{T}} but not a Table).

Metadata

Metadata

Assignees

No one assigned

    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