Developer Reference

  • 2021.1
  • 12/04/2020
  • Public Content
Contents

?_init_sph_p/?_init_sph_np

Initializes basic data structures of the periodic and non-periodic Fast Helmholtz Solver on a sphere.

Syntax

void
d_init_sph_p
(
const
double
*
ap
,
const
double
*
at
,
const
double
*
bp
,
const
double
*
bt
,
const
MKL_INT
*
np
,
const
MKL_INT
*nt
,
const
double
*
q
,
MKL_INT
*
ipar
,
double
*
dpar
,
MKL_INT
*
stat
);
void
s_init_sph_p
(
const
float
*
ap
,
const
float
*
at
,
const
float
*
bp
,
const
float
*
bt
,
const
MKL_INT
*
np
,
const
MKL_INT
*
nt
,
const
float
*
q
,
MKL_INT
*
ipar
,
float
*
spar
,
MKL_INT
*
stat
);
void
d_init_sph_np
(
const
double
*
ap
,
const
double
*
at
,
const
double
*
bp
,
const
double
*
bt
,
const
MKL_INT
*
np
,
const
MKL_INT
*nt
,
const
double
*
q
,
MKL_INT
*
ipar
,
double
*
dpar
,
MKL_INT
*
stat
);
void
s_init_sph_np
(
const
float
*
ap
,
const
float
*
at
,
const
float
*
bp
,
const
float
*
bt
,
const
MKL_INT
*
np
,
const
MKL_INT
*
nt
,
const
float
*
q
,
MKL_INT
*
ipar
,
float
*
spar
,
MKL_INT
*
stat
);
Include Files
  • mkl.h
Input Parameters
ap
double*
for
d_init_sph_p/d_init_sph_np
,
float*
for
s_init_sph_p/s_init_sph_np
.
The coordinate (angle) of the leftmost boundary of the domain along the φ-axis.
bp
double*
for
d_init_sph_p/d_init_sph_np
,
float*
for
s_init_sph_p/s_init_sph_np
.
The coordinate (angle) of the rightmost boundary of the domain along the φ-axis.
at
double*
for
d_init_sph_p/d_init_sph_np
,
float*
for
s_init_sph_p/s_init_sph_np
.
The coordinate (angle) of the leftmost boundary of the domain along the θ-axis.
bt
double*
for
d_init_sph_p/d_init_sph_np
,
float*
for
s_init_sph_p/s_init_sph_np
.
The coordinate (angle) of the rightmost boundary of the domain along the θ-axis.
np
MKL_INT*
. The number of mesh intervals along the φ-axis. Must be even in the periodic case.
nt
MKL_INT*
. The number of mesh intervals along the θ-axis.
q
double*
for
d_init_sph_p/d_init_sph_np
,
float*
for
s_init_sph_p/s_init_sph_np
.
The constant Helmholtz coefficient. To solve the Poisson problem, set the value of
q
to 0.
Output Parameters
ipar
MKL_INT
array of size 128. Contains integer data to be used by Fast Helmholtz Solver on a sphere (for details, refer to
ipar
).
dpar
double
array of size 5*
np
/2+
nt
+10. Contains double-precision data to be used by Fast Helmholtz Solver on a sphere (for details, refer to
dpar
and
spar
).
spar
float
array of size 5*
np
/2+
nt
+10. Contains single-precision data to be used by Fast Helmholtz Solver on a sphere (for details, refer to
dpar
and
spar
).
stat
MKL_INT*
. Routine completion status, which is also written to
ipar[0]
. Continue to call other Poisson Solver routines only if the status is 0.
Description
The
?_init_sph_p/?_init_sph_np
routines initialize basic data structures for Poisson Solver computations. All routines invoked after a call to a
?_init_Helmholtz_2D/?_init_Helmholtz_3D
routine use values of the
ipar
,
dpar
, and
spar
array parameters returned by the routine. A detailed description of the array parameters can be found in Common Parameters.
Data structures initialized and created by periodic flavors of the routine cannot be used by non-periodic flavors of any Poisson Solver routines for Helmholtz Solver on a sphere, and vice versa.
You can skip calls to these routines in your code. However, see Caveat on Parameter Modifications for information on initializing the data structures.
Return Values
stat
= 0
The routine successfully completed the task. In general, to proceed with computations, the routine should complete with this
stat
value.
stat
= -99999
The routine failed to complete the task because of fatal error.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.