Gridap.jl icon indicating copy to clipboard operation
Gridap.jl copied to clipboard

Issue using MultiFieldFESpace on interface

Open nannaberre opened this issue 3 years ago • 2 comments

It seems that it is not possible to integrate over a interface when a space is defined on the same interface as a part of a MultiFieldFESpace (containing the two domains that define the interface + the interface).

model = DiscreteModelFromFile("models/elasticFlag.json") #from tutorials

Ω = Interior(model)
Ω_s = Interior(model,tags="solid")
Ω_f = Interior(model,tags="fluid")
dΩ_s = Measure(Ω_s,2)
dΩ_f = Measure(Ω_f,2)

Γ = Interface(Ω_f,Ω_s)
dΓ = Measure(Γ,2)

reffeᵤ = ReferenceFE(lagrangian,Float64,2)

Vf = TestFESpace( Ω_f,reffeᵤ,conformity=:H1)
Vs = TestFESpace( Ω_s, reffeᵤ, conformity=:H1)
V_Γ = TestFESpace(Γ,reffeᵤ, conformity=:H1)

Uf = TrialFESpace(Vf)
Us = TrialFESpace(Vs)
U_Γ = TrialFESpace(V_Γ)

Y = MultiFieldFESpace([Vs,Vf,V_Γ])
X = MultiFieldFESpace([Us,Uf,U_Γ])

a((us,uf,p),(vs,vf,q))= ∫(p*q)dΓ
l((vs,vf,q)) = 0 

op = AffineFEOperator(a,l,X,Y) 

A suggestion was to define the FE space on Gamma.plus, but that requires to also define the measure (d\Gamma) on Gamma.plus and therefore creates another problem if one needs to integrate with the minus field.

nannaberre avatar Feb 11 '22 12:02 nannaberre

I can reproduce the error.

fverdugo avatar Feb 13 '22 11:02 fverdugo

@nannaberre some update:

I have identified the cause of the problem, but there is no quick fix for this. This would require some work.

fverdugo avatar Feb 22 '22 11:02 fverdugo