67 a = 0.5*(gOld + aOld);
69 sum -= aux*(a*a - ga);
71 if (
mag(aOld - gOld) < SMALL)
84Foam::scalar
JacobiAmp(
const scalar u,
const scalar mIn)
86 static const label ITER = 25;
91 const scalar m =
mag(mIn);
109 for (
n = 0;
n < ITER;
n++)
111 if (
mag(a[
n] -
g[
n]) < SMALL)
117 a[
n+1] = 0.5*(a[
n] +
g[
n]);
119 c[
n+1] = 0.5*(a[
n] -
g[
n]);
126 amp = 0.5*(amp +
asin(c[
n]*
sin(amp)/a[
n]));
CGAL::Exact_predicates_exact_constructions_kernel K
const uniformDimensionedVectorField & g
A 1D vector of objects of type <T> with a fixed length <N>.
void JacobiSnCnDn(const scalar u, const scalar m, scalar &Sn, scalar &Cn, scalar &Dn)
void ellipticIntegralsKE(const scalar m, scalar &K, scalar &E)
Foam::scalar JacobiAmp(const scalar u, const scalar mIn)
constexpr scalar pi(M_PI)
Different types of constants.
dimensionedScalar asin(const dimensionedScalar &ds)
dimensionedScalar exp(const dimensionedScalar &ds)
dimensioned< Type > sum(const DimensionedField< Type, GeoMesh > &df)
dimensionedScalar sin(const dimensionedScalar &ds)
dimensionedScalar sqrt(const dimensionedScalar &ds)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
static scalar Sn(const scalar a, const scalar x)
dimensionedScalar atan(const dimensionedScalar &ds)
dimensionedScalar cos(const dimensionedScalar &ds)