Developer Reference

  • 2021.1
  • 12/04/2020
  • Public Content
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® oneAPI Math Kernel Library
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® oneAPI Math Kernel Library
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

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