?_commit_sph_p/?_commit_sph_np
?_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*ford_commit_sph_p/d_commit_sph_np,float*fors_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 inf[i+j*(np+1)] .Note that the arrayfmay be altered by the routine. Save this vector to another memory location if you want to preserve it.
- ipar
- MKL_INTarray of size 128. Contains integer data to be used by the Fast Helmholtz Solver on a sphere (for details, refer toipar).
- dpar
- doublearray 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 todparandspar).
- spar
- floatarray 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 todparandspar).
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 inipar.
- dpar
- Contains double-precision data to be used by the Fast Helmholtz Solver on a sphere. Modified on output as explained indparandspar.
- spar
- Contains single-precision data to be used by the Fast Helmholtz Solver on a sphere. Modified on output as explained indparandspar.
- handle_s, handle_c, handle
- DFTI_DESCRIPTOR_HANDLE*. Data structures used by theFFT interface (for details, refer toFFT Functions).Intel® oneAPI Math Kernel Libraryhandle_sandhandle_care used only in?_commit_sph_pandhandleis used only in?_commit_sph_np.
- stat
- MKL_INT*. Routine completion status, which is also written toipar[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 thedpar,spar, oripararray was altered by mistake.
- stat= -1000
- The routine stopped because of anFFT or TT interface error.Intel® oneAPI Math Kernel Library
- stat= -10000
- The routine stopped because the initialization failed to complete or the parameteripar[0] was altered by mistake.
- stat= -99999
- The routine failed to complete the task because of a fatal error.