gridap / gridap/Gridap.jl

Bug in compute_face_nodes() for CartesianDiscreteModels

Open
#873 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Julia
Stars
879
Forks
119
Avg merge
6d 3h
Merged PRs (30d)
4

Description

Not very important, but `compute_face_nodes` fails for `CartesianDiscreteModels`.

Code to reproduce:

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

Error:
```julia
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`).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.