Developer Reference

Contents

?_commit_sph_p/?_commit_sph_np

Checks consistency and correctness of input data and initializes certain data structures required to solve the periodic/non-periodic Helmholtz problem on a sphere.

Syntax

void d_commit_sph_p
(
double*
f,
DFTI_DESCRIPTOR_HANDLE*
handle_s,
DFTI_DESCRIPTOR_HANDLE*
handle_c,
MKL_INT*
ipar,
double*
dpar,
MKL_INT*
stat
)
;
void s_commit_sph_p
(
float*
f,
DFTI_DESCRIPTOR_HANDLE*
handle_s,
DFTI_DESCRIPTOR_HANDLE*
handle_c,
MKL_INT*
ipar,
float*
spar,
MKL_INT*
stat
)
;
void d_commit_sph_np
(
double*
f,
DFTI_DESCRIPTOR_HANDLE*
handle,
MKL_INT*
ipar,
double*
dpar,
MKL_INT*
stat
)
;
void s_commit_sph_np
(
float*
f,
DFTI_DESCRIPTOR_HANDLE*
handle,
MKL_INT*
ipar,
float*
spar,
MKL_INT*
stat
)
;
Include Files
  • mkl.h
Input Parameters
f
double*
for
d_commit_sph_p/d_commit_sph_np
,
float*
for
s_commit_sph_p/s_commit_sph_np
.
Contains the right-hand side of the problem packed in a single vector. The size of the vector is (
np
+1)*(
nt
+1) and value of the right-hand side in the mesh point (
i, j
) is stored in
f
[
i+j
*(
np
+1)] .
Note that the array
f
may be altered by the routine. Save this vector to another memory location if you want to preserve it.
ipar
MKL_INT
array of size 128. Contains integer data to be used by the 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 the 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 the Fast Helmholtz Solver on a sphere (for details, refer to
dpar
and
spar
).
Output Parameters
f
Contains the right-hand side of the problem, possibly altered on output.
ipar
Contains integer data to be used by the Fast Helmholtz Solver on a sphere. Modified on output as explained in
ipar
.
dpar
Contains double-precision data to be used by the Fast Helmholtz Solver on a sphere. Modified on output as explained in
dpar
and
spar
.
spar
Contains single-precision data to be used by the Fast Helmholtz Solver on a sphere. Modified on output as explained in
dpar
and
spar
.
handle_s, handle_c, handle
DFTI_DESCRIPTOR_HANDLE*
. Data structures used by the
Intel® MKL
FFT interface (for details, refer toFFT Functions).
handle_s
and
handle_c
are used only in
?_commit_sph_p
and
handle
is used only in
?_commit_sph_np
.
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
?_commit_sph_p/?_commit_sph_np
routines check consistency and correctness of the parameters to be passed to the solver routines
?_sph_p/?_sph_np
, respectively. They also initialize certain data structures. The routine
?_commit_sph_p
initializes structures
handle_s
and
handle_c
, and
?_commit_sph_np
initializes
handle
. The routines also initialize the
ipar
array and
dpar
or
spar
array, depending upon the routine precision. Refer to Common Parameters to find out which particular array elements the
?_commit_sph_p/?_commit_sph_np
routines initialize and to what values these elements are initialized.
The routines perform only a basic check for correctness and consistency. If you are going to modify parameters of Poisson Solver routines, see Caveat on Parameter Modifications. Unlike
?_init_sph_p/?_init_sph_np
, you must call the
?_commit_sph_p/?_commit_sph_np
routines. Values of
np
and
nt
are passed to each of the routines with the
ipar
array.
Return Values
stat
= 1
The routine completed without errors but with warnings.
stat
= 0
The routine successfully completed the task.
stat
= -100
The routine stopped because an error in the input data was found or the data in the
dpar
,
spar
, or
ipar
array was altered by mistake.
stat
= -1000
The routine stopped because of an
Intel® MKL
FFT or TT interface error.
stat
= -10000
The routine stopped because the initialization failed to complete or the parameter
ipar
[0] was altered by mistake.
stat
= -99999
The routine failed to complete the task because of a 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