# Different interpolations in Ferrite.jl

**URL:** <https://discourse.julialang.org/t/different-interpolations-in-ferrite-jl/67913>\
**Category:** Numerics\
**Tags:** question\
**Created:** [September 9, 2021, 7:24am UTC](https://discourse.julialang.org/t/different-interpolations-in-ferrite-jl/67913 "2021-09-09T07:24:19Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![bcsj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bcsj/32/18526_2.png) [@bcsj](https://discourse.julialang.org/u/bcsj)\
**Post date:** [September 9, 2021, 7:24am UTC](https://discourse.julialang.org/t/different-interpolations-in-ferrite-jl/67913/1 "2021-09-09T07:24:19Z")

</div>

In Ferrite.jl when initializing `CellValues` like `CellScalarValues` or `CellVectorValues` one supplies a quadrature rule along with a function interpolation. According to the [documentation](https://ferrite-fem.github.io/Ferrite.jl/dev/reference/fevalues/#Ferrite.CellValues) there is an optional argument `geom_interpolation` “_which is used to interpolate the geometry_”, but what does that actually mean? Where mathematically does this extra interpolation enter?

It is used for example in the [incompressible elasticity](https://kristofferc.github.io/JuAFEM.jl/dev/examples/incompressible_elasticity/) example, where for the function u the function interpolation is 2nd order Lagrange polynomials, but the geometry interpolation is 1st order Lagrange.

---

<div class="post-metadata">

**Author:** ![fredrikekre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fredrikekre/32/1688_2.png) [@fredrikekre](https://discourse.julialang.org/u/fredrikekre)\
**Post date:** [September 9, 2021, 7:57am UTC](https://discourse.julialang.org/t/different-interpolations-in-ferrite-jl/67913/2 "2021-09-09T07:57:37Z")

</div>

The geometric interpolation is used for the mapping between a reference element in \boldsymbol{\xi} coordinates to the real element in \boldsymbol{x} coordinates. In particular the mapping is used to transform derivatives of shape functions N from \frac{dN}{d\boldsymbol{\xi}} to \frac{dN}{d\boldsymbol{x}}.

Allowing for different interpolations for the approximated function and the geometry interpolation let’s you implement sub- and super-parametric elements. In the example you link to the reason is that a linear mesh is used (e.g. only nodes in the element corners) but we still want a quadratic interpolation for one of the fields.

---

<div class="post-metadata">

**Author:** ![bcsj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bcsj/32/18526_2.png) [@bcsj](https://discourse.julialang.org/u/bcsj)\
**Post date:** [September 9, 2021, 8:09am UTC](https://discourse.julialang.org/t/different-interpolations-in-ferrite-jl/67913/3 "2021-09-09T08:09:14Z")

</div>

I see, you wouldn’t happen to be able to refer me to a resource where I can read more about this particular concept? The Google-jungle is not being super useful to me with this.

NB. There seem to be a few missing latex commands in your message.

---

<div class="post-metadata">

**Author:** ![fredrikekre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fredrikekre/32/1688_2.png) [@fredrikekre](https://discourse.julialang.org/u/fredrikekre)\
**Post date:** [September 9, 2021, 8:24am UTC](https://discourse.julialang.org/t/different-interpolations-in-ferrite-jl/67913/4 "2021-09-09T08:24:03Z")

</div>

You should be able to find this in any introductory FEM book (keywords could be isoparametric mapping, reference element or something like that). [Slide 1-6 here](https://www.byggmek.lth.se/fileadmin/byggnadsmekanik/education/courses/optional/VSMN30/chptr_19_Isoparametric_elements.pdf) uses the same terminology as in Ferrite.jl at least.

> [@bcsj](#):
>
> NB. There seem to be a few missing latex commands in your message.

Looks good to me, maybe you have JavaScript disabled or something? This is what I see:

![Screenshot from 2021-09-09 10-22-50](https://global.discourse-cdn.com/julialang/original/3X/9/9/99e37843d445bfe9a85af380e8e827a3d86add63.png)

---

<div class="post-metadata">

**Author:** ![bcsj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bcsj/32/18526_2.png) [@bcsj](https://discourse.julialang.org/u/bcsj)\
**Post date:** [September 9, 2021, 8:25am UTC](https://discourse.julialang.org/t/different-interpolations-in-ferrite-jl/67913/5 "2021-09-09T08:25:21Z")

</div>

Thanks

Strange, this is what I see

 ![image](https://global.discourse-cdn.com/julialang/original/3X/0/9/092da3458c2abda189737117c49a12544756670b.png)
