-
Notifications
You must be signed in to change notification settings - Fork 21
Open
Description
In #176 I encountered the following issue when trying to do operations between an FEFunction defined via a BoundaryTriangulation and another that is on the background model. Here is an MWE:
using Gridap
using GridapDistributed
using PartitionedArrays
np = (2,2)
ranks = with_debug() do distribute
distribute(LinearIndices((prod(np),)))
end
domain = (0,1,0,1)
partition = (5,5)
model = CartesianDiscreteModel(ranks,np,domain,partition)
Γ = BoundaryTriangulation(model)
V1 = FESpace(Γ,ReferenceFE(lagrangian,Float64,1))
V2 = FESpace(model,ReferenceFE(lagrangian,Float64,1))
uh1 = zero(V1);
uh2 = zero(V2);
uh1*uh2
This produces an unreachable error because _to_common_domain
fails to find a common domain even though it should. This appears to be because of the following: for DistributedTriangulations resulting from BoundaryTriangulation, we're in Case 4 of add_ghost_cells
, so we create a new create a new triangulation with the ghost cells. The issue then appears to be that the glue information is missing, so both cases of
is_change_possible(_trian_a,_trian_b)
is_change_possible(_trian_b,_trian_a)
return false.
Metadata
Metadata
Assignees
Labels
No labels