gridap / GridapEmbedded.jl

Embedded finite element methods in Julia
Other
42 stars 14 forks source link

Moment fitting with simplices #74

Open pmartorell opened 11 months ago

pmartorell commented 11 months ago

Dear @ericneiva ,

the moment fitting machinery is not working for simplex background meshes.

Since the JacobiPolynomialBasis are a tensor product, the following line tries to invert a rectangular matrix.

https://github.com/gridap/GridapEmbedded.jl/blob/4cf152de7a4d624b2cfad1e382c4ab5f38b839d7/src/MomentFittedQuadratures/MomentFittedQuadratures.jl#L322

I guess that we should use pinv instead. What do you think?

Here a MWE:

using GridapEmbedded
using GridapEmbedded.LevelSetCutters
using GridapEmbedded.Interfaces
using Gridap
using Gridap.ReferenceFEs
geo = sphere(0.5,x0=Point(0.0,0.0))
domain = (-1,1,-1,1)
partition = (5,5)
model = CartesianDiscreteModel(domain,partition) |> simplexify
cutgeo = cut(model,geo)
act = Triangulation(cutgeo,ACTIVE)
Measure(act,Quadrature(momentfitted,cutgeo,2))