Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]
## [0.20.6] - 2026-04-29

### Fixed

- Strengthen compute_facet_owners(...) so that the owner of a facet does not depend on how the cells shared by a facet are listed in the mesh data structure, but on the (local or global) cell identifiers of the cells sharing the facet. Since PR[#1291](https://github.com/gridap/Gridap.jl/pull/1291).

## [0.20.5] - 2026-04-28

Comment thread
amartinhuertas marked this conversation as resolved.
### Fixed
Expand Down
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "Gridap"
uuid = "56d4f2e9-7ea1-5844-9cf6-b9c51ca7ce8e"
authors = ["Santiago Badia <santiago.badia@monash.edu>", "Francesc Verdugo <f.verdugo.rojano@vu.nl>", "Alberto F. Martin <alberto.f.martin@anu.edu.au>"]
version = "0.20.5"
version = "0.20.6"

[deps]
AbstractTrees = "1520ce14-60c1-5f80-bbc7-55ef81b5835c"
Expand Down
14 changes: 11 additions & 3 deletions src/FESpaces/Pullbacks.jl
Original file line number Diff line number Diff line change
Expand Up @@ -188,17 +188,25 @@ function evaluate!(cache,k::NormalSignMap,reffe,facet_own_dofs,cell)
return Diagonal(dof_sign)
end

function compute_facet_owners(model::DiscreteModel{Dc}) where {Dc}
function compute_facet_owners(model::DiscreteModel{Dc}, local_to_global::Function=identity) where {Dc}
Comment thread
amartinhuertas marked this conversation as resolved.
Outdated
topo = get_grid_topology(model)
facet_to_cell = get_faces(topo, Dc-1, Dc)

nfacets = num_faces(topo, Dc-1)
owners = Vector{Int32}(undef, nfacets)
for facet in 1:nfacets
facet_cells = view(facet_to_cell, facet)
owners[facet] = first(facet_cells)
max_gid=-1
max_lid=-1
for cell in facet_cells
gid = local_to_global(cell)
if gid > max_gid
max_gid = gid
max_lid = cell
end
Comment thread
amartinhuertas marked this conversation as resolved.
Outdated
Comment thread
amartinhuertas marked this conversation as resolved.
Outdated
end
owners[facet] = max_lid
Comment thread
amartinhuertas marked this conversation as resolved.
Outdated
end

return owners
end

Expand Down
Loading