Skip to content

RFC: Interpolation reference docs #1149

@KnutAM

Description

@KnutAM

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
```

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions