SphericalBase

class SphericalBase

Subclassed by SphericalHarmonics, SphericalMonomials

Public Functions

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

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

Return

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

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.

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

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

Return

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

Parameters
  • xyz: coordinates on unit sphere

unsigned GetBasisSize() = 0

Return size of complete Basisvector.

unsigned GetCurrDegreeSize(unsigned currDegree) = 0

Return number of basis functions with degree equals to currDegree.

Parameters
  • currDegree: must be smaller equals _LMaxDegree

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

SphericalBase *Create(Config *settings)

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

Return

Pointer to the createt basis class

Parameters
  • settings: pointer to the config object

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)