Peano
Loading...
Searching...
No Matches
toolbox::finiteelements::BSplinesStencilFactory Class Reference

Stencil Factory. More...

#include <BSplinesStencilFactory.h>

Static Public Member Functions

static tarch::la::Vector< 3, double > get1DMassStencilP1 ()
 
static tarch::la::Vector< 5, double > get1DMassStencilP2 ()
 
static tarch::la::Vector< 7, double > get1DMassStencilP3 ()
 
static tarch::la::Vector< 9, double > get1DMassStencilP4 ()
 
static tarch::la::Vector< 11, double > get1DMassStencilP5 ()
 
static tarch::la::Vector< 13, double > get1DMassStencilP6 ()
 
static tarch::la::Vector< 15, double > get1DMassStencilP7 ()
 
static tarch::la::Vector< 17, double > get1DMassStencilP8 ()
 
static tarch::la::Vector< 3, double > get1DMassStencilP1 (int elementOfSupport)
 A stencil of order p decomposes into 2p stencils among its support.
 
static tarch::la::Vector< 5, double > get1DMassStencilP2 (int elementOfSupport)
 Spans 1.5 elements in each direction, i.e.
 
static tarch::la::Vector< 7, double > get1DMassStencilP3 (int elementOfSupport)
 Spans 2 elements in each direction.
 
static tarch::la::Vector< 9, double > get1DMassStencilP4 (int elementOfSupport)
 Spans 2.5 elements in each direction, i.e.
 
static tarch::la::Vector< 3, double > get1DLaplaceStencilP1 ()
 Stencil is not scaled at all with any mesh width.
 
static tarch::la::Vector< 5, double > get1DLaplaceStencilP2 ()
 
static tarch::la::Vector< 7, double > get1DLaplaceStencilP3 ()
 
static tarch::la::Vector< 9, double > get1DLaplaceStencilP4 ()
 
static tarch::la::Vector< 11, double > get1DLaplaceStencilP5 ()
 
static tarch::la::Vector< 13, double > get1DLaplaceStencilP6 ()
 
static tarch::la::Vector< 15, double > get1DLaplaceStencilP7 ()
 
static tarch::la::Vector< 17, double > get1DLaplaceStencilP8 ()
 
static tarch::la::Vector< 3, double > get1DLaplaceStencilP1 (int elementOfSupport)
 
static tarch::la::Vector< 5, double > get1DLaplaceStencilP2 (int elementOfSupport)
 
static tarch::la::Vector< 7, double > get1DLaplaceStencilP3 (int elementOfSupport)
 
static tarch::la::Vector< 9, double > get1DLaplaceStencilP4 (int elementOfSupport)
 
static tarch::la::Vector< ThreePowerD, double > getLaplacianStencilP1 (const tarch::la::Vector< Dimensions, double > &scaling=1.0)
 
static tarch::la::Vector< FivePowerD, double > getLaplacianStencilP2 (const tarch::la::Vector< Dimensions, double > &scaling=1.0)
 
static tarch::la::Vector< SevenPowerD, double > getLaplacianStencilP3 (const tarch::la::Vector< Dimensions, double > &scaling=1.0)
 
static tarch::la::Vector< NinePowerD, double > getLaplacianStencilP4 (const tarch::la::Vector< Dimensions, double > &scaling=1.0)
 
static tarch::la::Vector< ThreePowerD, double > getMassStencilP1 ()
 
static tarch::la::Vector< FivePowerD, double > getMassStencilP2 ()
 
static tarch::la::Vector< SevenPowerD, double > getMassStencilP3 ()
 
static tarch::la::Vector< NinePowerD, double > getMassStencilP4 ()
 
template<int p, int N>
static tarch::la::Matrix< N *N, N *N, double > getElementWiseAssemblyMatrix (tarch::la::Vector< 2 *p+1, double > stencilX[N], tarch::la::Vector< 2 *p+1, double > stencilY[N])
 N means NumberOfInfluencingVerticesAroundCurrentElementAlongEachAxis.
 
template<int p, int N>
static tarch::la::Matrix< N *N *N, N *N *N, double > getElementWiseAssemblyMatrix (tarch::la::Vector< 2 *p+1, double > stencilX[N], tarch::la::Vector< 2 *p+1, double > stencilY[N], tarch::la::Vector< 2 *p+1, double > stencilZ[N])
 

Detailed Description

Stencil Factory.

Many components in the Peano framework switch from a stencil notation to element-wise assembly matrices. This class provides some operations to construct the stencils. To convert these stencil into element-wise assembly matrices, use the class ElementMatrix.

Author
Tobias Weinzierl

Definition at line 28 of file BSplinesStencilFactory.h.

Member Function Documentation

◆ get1DLaplaceStencilP1() [1/2]

static tarch::la::Vector< 3, double > toolbox::finiteelements::BSplinesStencilFactory::get1DLaplaceStencilP1 ( )
static

Stencil is not scaled at all with any mesh width.

Returns
\( [-1, 2, -1] \)

◆ get1DLaplaceStencilP1() [2/2]

static tarch::la::Vector< 3, double > toolbox::finiteelements::BSplinesStencilFactory::get1DLaplaceStencilP1 ( int elementOfSupport)
static

◆ get1DLaplaceStencilP2() [1/2]

static tarch::la::Vector< 5, double > toolbox::finiteelements::BSplinesStencilFactory::get1DLaplaceStencilP2 ( )
static

◆ get1DLaplaceStencilP2() [2/2]

static tarch::la::Vector< 5, double > toolbox::finiteelements::BSplinesStencilFactory::get1DLaplaceStencilP2 ( int elementOfSupport)
static

◆ get1DLaplaceStencilP3() [1/2]

static tarch::la::Vector< 7, double > toolbox::finiteelements::BSplinesStencilFactory::get1DLaplaceStencilP3 ( )
static

◆ get1DLaplaceStencilP3() [2/2]

static tarch::la::Vector< 7, double > toolbox::finiteelements::BSplinesStencilFactory::get1DLaplaceStencilP3 ( int elementOfSupport)
static

◆ get1DLaplaceStencilP4() [1/2]

static tarch::la::Vector< 9, double > toolbox::finiteelements::BSplinesStencilFactory::get1DLaplaceStencilP4 ( )
static

◆ get1DLaplaceStencilP4() [2/2]

static tarch::la::Vector< 9, double > toolbox::finiteelements::BSplinesStencilFactory::get1DLaplaceStencilP4 ( int elementOfSupport)
static

◆ get1DLaplaceStencilP5()

static tarch::la::Vector< 11, double > toolbox::finiteelements::BSplinesStencilFactory::get1DLaplaceStencilP5 ( )
static

◆ get1DLaplaceStencilP6()

static tarch::la::Vector< 13, double > toolbox::finiteelements::BSplinesStencilFactory::get1DLaplaceStencilP6 ( )
static

◆ get1DLaplaceStencilP7()

static tarch::la::Vector< 15, double > toolbox::finiteelements::BSplinesStencilFactory::get1DLaplaceStencilP7 ( )
static

◆ get1DLaplaceStencilP8()

static tarch::la::Vector< 17, double > toolbox::finiteelements::BSplinesStencilFactory::get1DLaplaceStencilP8 ( )
static

◆ get1DMassStencilP1() [1/2]

static tarch::la::Vector< 3, double > toolbox::finiteelements::BSplinesStencilFactory::get1DMassStencilP1 ( )
static
Returns
\( [\frac{1}{6}, \frac{2}{3}, \frac{1}{6}] \)

◆ get1DMassStencilP1() [2/2]

static tarch::la::Vector< 3, double > toolbox::finiteelements::BSplinesStencilFactory::get1DMassStencilP1 ( int elementOfSupport)
static

A stencil of order p decomposes into 2p stencils among its support.

With the present operation, you can access individual substencils.

◆ get1DMassStencilP2() [1/2]

static tarch::la::Vector< 5, double > toolbox::finiteelements::BSplinesStencilFactory::get1DMassStencilP2 ( )
static

◆ get1DMassStencilP2() [2/2]

static tarch::la::Vector< 5, double > toolbox::finiteelements::BSplinesStencilFactory::get1DMassStencilP2 ( int elementOfSupport)
static

Spans 1.5 elements in each direction, i.e.

4 in total.

◆ get1DMassStencilP3() [1/2]

static tarch::la::Vector< 7, double > toolbox::finiteelements::BSplinesStencilFactory::get1DMassStencilP3 ( )
static

◆ get1DMassStencilP3() [2/2]

static tarch::la::Vector< 7, double > toolbox::finiteelements::BSplinesStencilFactory::get1DMassStencilP3 ( int elementOfSupport)
static

Spans 2 elements in each direction.

◆ get1DMassStencilP4() [1/2]

static tarch::la::Vector< 9, double > toolbox::finiteelements::BSplinesStencilFactory::get1DMassStencilP4 ( )
static

◆ get1DMassStencilP4() [2/2]

static tarch::la::Vector< 9, double > toolbox::finiteelements::BSplinesStencilFactory::get1DMassStencilP4 ( int elementOfSupport)
static

Spans 2.5 elements in each direction, i.e.

6 in total.

◆ get1DMassStencilP5()

static tarch::la::Vector< 11, double > toolbox::finiteelements::BSplinesStencilFactory::get1DMassStencilP5 ( )
static

◆ get1DMassStencilP6()

static tarch::la::Vector< 13, double > toolbox::finiteelements::BSplinesStencilFactory::get1DMassStencilP6 ( )
static

◆ get1DMassStencilP7()

static tarch::la::Vector< 15, double > toolbox::finiteelements::BSplinesStencilFactory::get1DMassStencilP7 ( )
static

◆ get1DMassStencilP8()

static tarch::la::Vector< 17, double > toolbox::finiteelements::BSplinesStencilFactory::get1DMassStencilP8 ( )
static

◆ getElementWiseAssemblyMatrix() [1/2]

template<int p, int N>
static tarch::la::Matrix< N *N, N *N, double > toolbox::finiteelements::BSplinesStencilFactory::getElementWiseAssemblyMatrix ( tarch::la::Vector< 2 *p+1, double > stencilX[N],
tarch::la::Vector< 2 *p+1, double > stencilY[N] )
static

N means NumberOfInfluencingVerticesAroundCurrentElementAlongEachAxis.

p | N

1 | 2 2 | 4 3 | 4 4 | 6

◆ getElementWiseAssemblyMatrix() [2/2]

template<int p, int N>
static tarch::la::Matrix< N *N *N, N *N *N, double > toolbox::finiteelements::BSplinesStencilFactory::getElementWiseAssemblyMatrix ( tarch::la::Vector< 2 *p+1, double > stencilX[N],
tarch::la::Vector< 2 *p+1, double > stencilY[N],
tarch::la::Vector< 2 *p+1, double > stencilZ[N] )
static

◆ getLaplacianStencilP1()

static tarch::la::Vector< ThreePowerD, double > toolbox::finiteelements::BSplinesStencilFactory::getLaplacianStencilP1 ( const tarch::la::Vector< Dimensions, double > & scaling = 1.0)
static

◆ getLaplacianStencilP2()

static tarch::la::Vector< FivePowerD, double > toolbox::finiteelements::BSplinesStencilFactory::getLaplacianStencilP2 ( const tarch::la::Vector< Dimensions, double > & scaling = 1.0)
static

◆ getLaplacianStencilP3()

static tarch::la::Vector< SevenPowerD, double > toolbox::finiteelements::BSplinesStencilFactory::getLaplacianStencilP3 ( const tarch::la::Vector< Dimensions, double > & scaling = 1.0)
static

◆ getLaplacianStencilP4()

static tarch::la::Vector< NinePowerD, double > toolbox::finiteelements::BSplinesStencilFactory::getLaplacianStencilP4 ( const tarch::la::Vector< Dimensions, double > & scaling = 1.0)
static

◆ getMassStencilP1()

static tarch::la::Vector< ThreePowerD, double > toolbox::finiteelements::BSplinesStencilFactory::getMassStencilP1 ( )
static

◆ getMassStencilP2()

static tarch::la::Vector< FivePowerD, double > toolbox::finiteelements::BSplinesStencilFactory::getMassStencilP2 ( )
static

◆ getMassStencilP3()

static tarch::la::Vector< SevenPowerD, double > toolbox::finiteelements::BSplinesStencilFactory::getMassStencilP3 ( )
static

◆ getMassStencilP4()

static tarch::la::Vector< NinePowerD, double > toolbox::finiteelements::BSplinesStencilFactory::getMassStencilP4 ( )
static

The documentation for this class was generated from the following file: