public final class HelmholtzPolynomial extends Object
Constructor and Description |
---|
HelmholtzPolynomial(int degree,
int order)
Create a Helmholtz polynomial with given degree and order
|
Modifier and Type | Method and Description |
---|---|
protected void |
computeConstantCoefficients()
Calculate the constant coefficients of the polynomial as per
ph(m,m) = MathLib.sqrt(1 + 1/2m) * ph(m-1,m-1)
dpph(m+1,m) = MathLib.sqrt(2m+3) * ph(m,m)
alpha(l,m) = MathLib.sqrt( (2l+1)*(2l-1) / (l-m)*(l+m) ) for l >= m + 1
= MathLib.sqrt( (2l+1)*(2l-1) ) for l = m
The a(l,m) are represents as a unidimentional tab.
|
double |
computeHelmholtzPolynomial(Vector3D point)
Calculate the value of the polynomial in a given point.
|
double[][] |
getDpph()
Get the H'lm coefficients
|
double[][] |
getDsph()
Get the H''lm coefficients
|
double[][] |
getPh()
Get the Hlm coefficients
|
public HelmholtzPolynomial(int degree, int order)
degree
- max degreeorder
- max orderpublic double computeHelmholtzPolynomial(Vector3D point)
point
- the given pointprotected void computeConstantCoefficients()
ph(m,m) = MathLib.sqrt(1 + 1/2m) * ph(m-1,m-1) dpph(m+1,m) = MathLib.sqrt(2m+3) * ph(m,m) alpha(l,m) = MathLib.sqrt( (2l+1)*(2l-1) / (l-m)*(l+m) ) for l >= m + 1 = MathLib.sqrt( (2l+1)*(2l-1) ) for l = mThe a(l,m) are represents as a unidimentional tab. The dimension of this tab is:
(lmax * (lmax + 1) - ((lmax + 1) - (mmax + 1)) * ((lmax + 1) - (mmax + 1) + 1)) / 2For a pair l,m given, we have:
a(l, m) = aph(i)with i :
i = (lmax * (lmax + 1) - ((lmax + 1) - m) * ((lmax + 1) - m + 1)) / 2 + (l - m) + 1Initial conditions are :
ph(0,0) = 1.0 ph(1,1) = MathLib.sqrt(3)
public double[][] getPh()
public double[][] getDpph()
public double[][] getDsph()
Copyright © 2019 CNES. All rights reserved.