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
-
virtual Vector ComputeSphericalBasis(double my, double phi, double r = 1.0) = 0