SphericalBase

class SphericalBase

Subclassed by SphericalHarmonics, SphericalMonomials, SphericalMonomialsRotated

Public Functions

virtual Vector ComputeSphericalBasis(double my, double phi, double r = 1.0) = 0

Computes all N basis functions at point (my, phi)

Parameters:
  • my – cos(theta) - spherical coordinate, -1 <= x <= 1

  • phi – spherical coordinate, 0 <= phi <= 2*pi

  • r – radius of sphere. Hardcoded to r=1 for spherical harmonics.

Returns:

vector of basis functions at point (my, phi) with size N

virtual Vector ComputeSphericalBasisKarthesian(double x, double y, double z) = 0

Computes all basis functions at point (x, y, z) on the unit sphere.

Parameters:

x, y, z – coordinates on unit sphere

Returns:

vector of basis functions at point (x,y,z) with size N

virtual unsigned GetBasisSize() = 0

Return size of complete Basisvector.

virtual unsigned GetCurrDegreeSize(unsigned currDegree) = 0

Return number of basis functions with degree equals to currDegree.

Parameters:

currDegree – must be smaller equals _LMaxDegree

virtual unsigned GetGlobalIndexBasis(int l_degree, int k_order) = 0

Computes global index of basis vector depending on order k and degree l.

Parameters:
  • l_degree – = degree of polynomials l = 0,1,2,3,…

  • k_order – = order of element of degree l. !ATTENTION. Requirements are different for monomials and harmonics!

Public Static Functions

static SphericalBase *Create(Config *settings)

Create a set of basis functions on the unit sphere defined in settings.

Parameters:

settings – pointer to the config object

Returns:

Pointer to the createt basis class

Protected Attributes

unsigned _LMaxDegree

maximal (polynomial) degree of the spherical basis (this is “L” in the comments)

unsigned _spatialDim

Spatial dimension of the unit sphere (projection) (1,2,3)