Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: Interpolation reference docs #1149

Open
KnutAM opened this issue Feb 13, 2025 · 0 comments
Open

RFC: Interpolation reference docs #1149

KnutAM opened this issue Feb 13, 2025 · 0 comments

Comments

@KnutAM
Copy link
Member

KnutAM commented Feb 13, 2025

The current doc page for interpolations could need an overhaul, but I'm not sure what the best way to structure it, hence an issue first, before making a PR.

Currently, we list implemented interpolations under the docstring for the abstract Interpolation type, and then docstrings for the specific interpolations come further down.

The list of "implemented interpolations" is missing a few ones. One idea for a structure could be

An interpolation, `ip::Interpolation{reshape, order}`, describes the shape 
functions on the [refshape](@ref "AbstractRefShape"), with the 
[characteristic `order`](@ref Ferrite.getorder). An implemented interpolation 
is a subtype of either `ScalarInterpolation` or `VectorInterpolation`, 
depending on if the shape function is a scalar or a vector. All scalar 
interpolations, `ip::ScalarInterpolation`, can be vectorized by calling 
`ip^dim`, to get a `VectorizedInterpolation <: VectorInterpolation`. 

First, we describe the public functions associated with `Interpolation`s 
in general, before listing the implemented scalar and vector interpolations. 

## Applicable methods
getorder, getrefshape, etc. 

## `ScalarInterpolation`
A scalar ip ..., the following have been implemented in Ferrite.
```@docs
Lagrange
Serendipity
DiscontinuousLagrange
BubbleEnrichedLagrange
CrouzeixRaviart
RannacherTurek
```

## `VectorInterpolation`
A vector ip .... 
The most common vector interpolation is the vectorized interpolation,
```@docs
VectorizedInterpolation
```

However, also more advanced vector interpolations are available, these 
require so-called [non-identity mappings](@ref FEValues description)

### H(div) interpolations
A few notes about their properties
```@docs
RaviartThomas
BrezziDouglasMarini
```

### H(curl) interpolations
A few notes about their properties
```@docs
Nedelec
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant