You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use interpolations in the reference space. We have encountered some other issues in the past when combining AgFEM + interpolations in the physical space.
The serendipity extension is only needed for the fluid space.
using Gridap
using GridapEmbedded
𝒯 =CartesianDiscreteModel((0,1,0,1),(8,8)) |> simplexify
# Embedded geometry
R =0.25
C =Point(0.5,0.5)
solid_geo =disk(R,x0=C,name="solid")
fluid_geo =!(solid_geo,name="fluid")
𝒯c =cut(𝒯,union(fluid_geo,solid_geo))
# Triangulations
Ω =Interior(𝒯)
Ωc =Interior(𝒯c)
Ωs_act =Triangulation(𝒯c,ACTIVE,solid_geo)
Ωf_act =Triangulation(𝒯c,ACTIVE,fluid_geo)
Ωs =Triangulation(𝒯c,PHYSICAL,solid_geo)
Ωf =Triangulation(𝒯c,PHYSICAL,fluid_geo)
Γi =EmbeddedBoundary(𝒯c,fluid_geo,solid_geo)
dΓi =Measure(Γi,2)
# AgFEM
strategy =AggregateAllCutCells()
agg_f =aggregate(strategy,𝒯c,fluid_geo)
agg_s =aggregate(strategy,𝒯c,solid_geo)
Tv = VectorValue{2,Float64}
k =2
reffe_std =ReferenceFE(lagrangian,Tv,k)
reffe_ser =ReferenceFE(lagrangian,Tv,k,space=:S)
Vf_std =FESpace(Ωf_act,reffe_std)
Vs_std =FESpace(Ωs_act,reffe_std)
Vf_ser =FESpace(Ωf_act,reffe_ser)
Vf =AgFEMSpace(Vf_std,agg_f,Vf_ser)
Vs =AgFEMSpace(Vs_std,agg_s)
Uf =TrialFESpace(Vf)
Us =TrialFESpace(Vs)
uf =FEFunction(Uf,rand(num_free_dofs(Uf)))
us =FEFunction(Us,rand(num_free_dofs(Us)))
val =∑(∫(uf-us)dΓi)
Hi @fverdugo ,
The following code reproduces the error that I get when integrating over embedded interfaces:
The text was updated successfully, but these errors were encountered: