G+Smo  24.08.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gsL2Projection< T > Struct Template Reference

Detailed Description

template<class T>
struct gismo::gsL2Projection< T >

Class that performs an L2 projection.

Template Parameters
Tcoefficient type

Static Public Member Functions

static T projectFunction (const gsMultiBasis< T > &basis, const gsFunctionSet< T > &source, const gsMultiPatch< T > &geometry, gsMatrix< T > &result)
 Projects a function on a basis. More...
 
static T projectFunction (const gsMultiBasis< T > &basis, const gsFunctionSet< T > &source, const gsMultiPatch< T > &geometry, gsMultiPatch< T > &result)
 Projects a function on a basis. More...
 
static T projectFunction (const gsMultiBasis< T > &intbasis, const gsMappedBasis< 2, T > &basis, const gsFunctionSet< T > &source, const gsMultiPatch< T > &geometry, gsMatrix< T > &result)
 Projects a function on a basis. More...
 
static T projectGeometry (const gsBasis< T > &basis, const gsGeometry< T > &geometry, gsMatrix< T > &result)
 Projects a source geometry onto basis and returns it in result. More...
 
static T projectGeometry (const gsMultiBasis< T > &basis, const gsFunctionSet< T > &geometry, gsMatrix< T > &result)
 Projects a source geometry onto basis and returns it in result. More...
 
static T projectGeometry (const gsMultiBasis< T > &basis, const gsFunctionSet< T > &geometry, gsMultiPatch< T > &result)
 Projects a source geometry onto basis and returns it in result. More...
 
static T projectGeometry (const gsMultiBasis< T > &intbasis, const gsMappedBasis< 2, T > &basis, const gsFunctionSet< T > &geometry, gsMatrix< T > &result)
 Projects a source geometry onto basis and returns it in result. More...
 
static T projectGeometryBoundaries (const gsMultiBasis< T > &basis, const gsMultiPatch< T > &geometry, gsMultiPatch< T > &result)
 Projects a source geometry onto basis and returns it in result. Fixes the boundaries. More...
 
static T projectGeometryPenalty (const gsMultiBasis< T > &basis, const gsMultiPatch< T > &geometry, gsMultiPatch< T > &result, T penalty=1e3)
 Projects a source geometry onto basis and returns it in result. Penalizes interfaces and boundaries. More...
 

Member Function Documentation

T projectFunction ( const gsMultiBasis< T > &  basis,
const gsFunctionSet< T > &  source,
const gsMultiPatch< T > &  geometry,
gsMatrix< T > &  result 
)
static

Projects a function on a basis.

Parameters
[in]basisThe basis to project on
[in]sourceThe source function
[in]geometryThe geometry to evaluate the function on
resultThe coefficients of the function
Returns
The L2 error of the projection
T projectFunction ( const gsMultiBasis< T > &  basis,
const gsFunctionSet< T > &  source,
const gsMultiPatch< T > &  geometry,
gsMultiPatch< T > &  result 
)
static

Projects a function on a basis.

Parameters
[in]basisThe basis to project on
[in]sourceThe source function
[in]geometryThe geometry to evaluate the function on
resultThe function as a multipatch
Returns
The L2 error of the projection
T projectFunction ( const gsMultiBasis< T > &  intbasis,
const gsMappedBasis< 2, T > &  basis,
const gsFunctionSet< T > &  source,
const gsMultiPatch< T > &  geometry,
gsMatrix< T > &  result 
)
static

Projects a function on a basis.

Parameters
[in]intbasisThe basis used for quadrature
[in]basisThe basis to project on
[in]sourceThe source function
[in]geometryThe geometry to evaluate the function on
resultThe function as a multipatch
Returns
The L2 error of the projection
T projectGeometry ( const gsBasis< T > &  basis,
const gsGeometry< T > &  geometry,
gsMatrix< T > &  result 
)
static

Projects a source geometry onto basis and returns it in result.

Parameters
[in]basisThe basis to project on
[in]geometryThe geometry
resultThe coefficients of the new geometry on basis
Returns
The L2 error of the projection
T projectGeometry ( const gsMultiBasis< T > &  basis,
const gsFunctionSet< T > &  geometry,
gsMatrix< T > &  result 
)
static

Projects a source geometry onto basis and returns it in result.

Parameters
[in]basisThe basis to project on
[in]geometryThe geometry
resultThe coefficients of the new geometry on basis
Returns
The L2 error of the projection
T projectGeometry ( const gsMultiBasis< T > &  basis,
const gsFunctionSet< T > &  geometry,
gsMultiPatch< T > &  result 
)
static

Projects a source geometry onto basis and returns it in result.

Parameters
[in]basisThe basis to project on
[in]geometryThe geometry
resultThe new geometry
Returns
The L2 error of the projection
T projectGeometry ( const gsMultiBasis< T > &  intbasis,
const gsMappedBasis< 2, T > &  basis,
const gsFunctionSet< T > &  geometry,
gsMatrix< T > &  result 
)
static

Projects a source geometry onto basis and returns it in result.

Parameters
[in]intbasisThe basis used for quadrature
[in]basisThe mapped basis to project on
[in]geometryThe geometry
resultThe coefficients of the new geometry on basis
Returns
The L2 error of the projection
T projectGeometryBoundaries ( const gsMultiBasis< T > &  basis,
const gsMultiPatch< T > &  geometry,
gsMultiPatch< T > &  result 
)
static

Projects a source geometry onto basis and returns it in result. Fixes the boundaries.

Parameters
[in]basisThe basis to project on
[in]geometryThe geometry
resultThe coefficients of the new geometry on basis
Returns
The L2 error of the projection
T projectGeometryPenalty ( const gsMultiBasis< T > &  basis,
const gsMultiPatch< T > &  geometry,
gsMultiPatch< T > &  result,
penalty = 1e3 
)
static

Projects a source geometry onto basis and returns it in result. Penalizes interfaces and boundaries.

Parameters
[in]basisThe basis to project on
[in]geometryThe geometry
resultThe coefficients of the new geometry on basis
[in]penaltyThe penalty factor
Returns
The L2 error of the projection