?_sph_p/?_sph_np
?_sph_p/?_sph_np
Computes the solution of the spherical Helmholtz problem specified by the parameters.
Syntax
void d_sph_p
(
double*
f,
DFTI_DESCRIPTOR_HANDLE*
handle_s,
DFTI_DESCRIPTOR_HANDLE*
handle_c,
MKL_INT*
ipar,
double*
dpar,
MKL_INT*
stat
)
;
void s_sph_p
(
float*
f,
DFTI_DESCRIPTOR_HANDLE*
handle_s,
DFTI_DESCRIPTOR_HANDLE*
handle_c,
MKL_INT*
ipar,
float*
spar,
MKL_INT*
stat
)
;
void d_sph_np
(
double*
f,
DFTI_DESCRIPTOR_HANDLE*
handle,
MKL_INT*
ipar,
double*
dpar,
MKL_INT*
stat
)
;
void s_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_sph_p/d_sph_np,float*fors_sph_p/s_sph_np.Contains the right-hand side of the problem packed in a single vector and modified by the appropriate?_commit_sph_p/?_commit_sph_nproutine. Note that an attempt to substitute the original right-hand side vector, which was passed to the?_commit_sph_p/?_commit_sph_nproutine, at this point results in an incorrect solution.The size of the vector is (np+1)*(nt+1) and the value of the modified right-hand side in the mesh point (i, j) is stored inf[i+j*(np+1)] .
- handle_s, handle_c, handle
- DFTI_DESCRIPTOR_HANDLE*. Data structures used byFFT interface (for details, refer toFFT Functions).Intel® oneAPI Math Kernel Libraryhandle_sandhandle_care used only in?_sph_pandhandleis used only in?_sph_np.
- 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
- 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 todparandspar).
Output Parameters
- f
- On output, contains the approximate solution to the problem packed the same way as the right-hand side of the problem was packed on input.
- handle_s, handle_c, handle
- Data structures used by theFFT interface.Intel® oneAPI Math Kernel Library
- 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.
- 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
sph_p/sph_np
routines compute the approximate solution on a sphere of the Helmholtz problem defined in the previous calls to the corresponding initialization and commit routines. The solution is computed according to the formulas given in Poisson Solver Implementation. The f
parameter, which initially holds the packed vector of the right-hand side of the problem, is replaced by the computed solution packed in the same way. 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= -2
- The routine stopped because division by zero occurred. It usually happens if the data in thedparorspararray was altered by mistake.
- stat= -3
- The routine stopped because the memory was insufficient to complete the computations.
- 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.