Developer Reference

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

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804