public class EllipticIntegral
extends java.lang.Object
| Constructor and Description |
|---|
EllipticIntegral() |
| Modifier and Type | Method and Description |
|---|---|
static double |
formFactorD(double s)
Evaluates the value of the "form factor" which is an analytic means for
approximating the Carlson elliptic integral RD(x,y,z).
|
static void |
main(java.lang.String[] args)
Testing Driver
|
static double |
RD(double x,
double y,
double z)
Compute and return the Carlson Elliptic integral RD(x,y,z).
|
static double |
symmetricRDr(double r,
double z)
Axis-symmetric Carlson elliptic integral RD(z,r,r)
(permuted arguments)
Compute and return the Carlson elliptic integral for the
"axis-symmetric" situation where x = y = r.
|
static double |
symmetricRDz(double r,
double z)
Axis-symmetric Carlson elliptic integral RD(r,r,z)
Compute and return the Carlson elliptic integral for the
"axis-symmetric" situation where x = y = r.
|
public static double RD(double x,
double y,
double z)
x - real number > 0y - real number > 0z - real number > 0public static double symmetricRDz(double r,
double z)
throws java.lang.IllegalArgumentException
EllipticIntegral.formFactorD() function.
The definition for symmetricRDz(r,z) is given by the following
RDz(r,z) := (3/2)Integral_dt{ 1.0/( (t+r)*(t+z)^3/2 ) }
= (3/ (r*z^1/2))*formFactorD( (z/r)^1/2 )
where the integral is from zero to infinity.
NOTE:
Depending upon the algorithm used to compute the
Math.acos() and ElementaryFunction.acosh()
functions it may actually be faster to use the function
EllipticIntegral.RD(r,r,z).r - real number > 0 (i.e., radius)z - real number > 0 (i.e., length)java.lang.IllegalArgumentException - argument less than zeroRD(double, double, double)public static double symmetricRDr(double r,
double z)
throws java.lang.IllegalArgumentException
EllipticIntegral.formFactorD() function.
The definition for symmetricRDr(z,r) is given by the following
RDr(r,z) := (3/2)Integral_dt{ 1.0/( (t+z)^1/2*(t+r)^2 ) }
= (1/2)*(3/(r*z^1/2) - *RD(r,r,z)
where the integral is from zero to infinity.
NOTE:
Depending upon the algorithm used to compute the
Math.acos() and ElementaryFunction.acosh()
functions it may actually be faster to use the function
EllipticIntegral.RD(r,r,z).r - real number > 0 (i.e., radius)z - real number > 0 (i.e., length)java.lang.IllegalArgumentException - argument less than zeroRD(double, double, double),
symmetricRDz(double, double)public static double formFactorD(double s)
s - a real number in the interval (0,inf)public static void main(java.lang.String[] args)