Visible to Intel only — GUID: GUID-0E6B858A-D5DC-47A9-BD48-E86DFDF58487
Visible to Intel only — GUID: GUID-0E6B858A-D5DC-47A9-BD48-E86DFDF58487
ipar
- ipar
-
MKL_INT array of size 128, holds integer data needed for Fast Helmholtz Solver (both for Cartesian and spherical coordinate systems). Its elements are described in Table "Elements of the ipar Array":
Initial values can be assigned to the array parameters by the appropriate ?_init_Helmholtz_2D/?_init_Helmholtz_3D/?_init_sph_p/?_init_sph_np and ?_commit_Helmholtz_2D/?_commit_Helmholtz_3D/?_commit_sph_p/?_commit_sph_np routines.
Index |
Description |
|||
---|---|---|---|---|
0 |
Contains status value of the last Poisson Solver routine called. In general, it should be 0 on exit from a routine to proceed with the Fast Helmholtz Solver. The element has no predefined values. This element can also be used to inform the ?_commit_Helmholtz_2D/?_commit_Helmholtz_3D/?_commit_sph_p/?_commit_sph_np routines of how the Commit step of the computation should be carried out (see Figure "Typical Order of Invoking Poisson Solver Routines"). A non-zero value of ipar[0] with decimal representation =100a+10b+c, where each of a, b, and c is equal to 0 or 9, indicates that some parts of the Commit step should be omitted.
Using ipar[0] you can adjust the routine to your needs and improve efficiency in solving multiple Helmholtz problems that differ only in the right-hand side. You must be cautious when using this method, because any misunderstanding of the commit process may cause incorrect results or program failure (see also Caveat on Parameter Modifications). |
|||
1 |
Contains error messaging options:
In case of errors, the stat parameter contains a non-zero value on exit from a routine regardless of the ipar[1] setting. |
|||
2 |
Contains warning messaging options:
In case of warnings, the stat parameter contains a non-zero value on exit from a routine regardless of the ipar[2] setting. |
|||
3 through 5 |
Internal parameters. |
|||
Parameters 6 through 11 are used only in the Cartesian case. |
||||
6 |
Takes this value:
|
|||
7 |
Takes this value:
|
|||
8 |
Takes this value:
|
|||
9 |
Takes this value:
|
|||
10 |
Takes this value:
|
|||
11 |
Takes this value:
|
|||
12 |
Takes the value of
|
|||
13 |
Takes the value of
|
|||
14 |
Takes the value of nz, the number of intervals along the z-axis. This parameter is used only in the 3D case (Cartesian). |
|||
15 through 22 |
Internal parameters which define the internal partitioning of the dpar/spar array. |
|||
The values of ipar[21] - ipar[119] are assigned regardless of the dimension of the problem for the Cartesian solver or of whether the solver on a sphere is periodic. |
||||
23 |
Contains message style options. Specifically:
|
|||
24 |
Contains the number of OpenMP threads to be used for computations in a multithreaded environment. The default value is 1 in the serial mode, and the result returned by the mkl_get_max_threads function otherwise. |
|||
25 through 28 |
Internal parameters which define the internal partitioning of the dpar/spar array. |
|||
25 |
Takes the value of ipar[18]+1, which specifies the internal partitioning of the dpar/spar array in the periodic Cartesian case. |
|||
26 |
Takes the value of ipar[23]+3*ipar[12]/4, which specifies the internal partitioning of the dpar/spar array in the periodic Cartesian case. |
|||
27 |
Takes the value of ipar[20]+1, which specifies the internal partitioning of the dpar/spar array in the periodic 3D Cartesian case. |
|||
28 |
Takes the value of ipar[25]+3*ipar[13]/4, which specifies the internal partitioning of the dpar/spar array in the periodic 3D Cartesian case. |
|||
29 through 39 |
Unused. |
|||
40 through 59 |
Contain the first twenty elements of the ipar array of the first Trigonometric Transform that the solver uses. (For details, see Common Parameters in the "Trigonometric Transform Routines" section.) |
|||
60 through 79 |
Contain the first twenty elements of the ipar array of the second Trigonometric Transform that the 3D Cartesian and periodic spherical solvers use. (For details, see Common Parameters in the "Trigonometric Transform Routines" section.) |
|||
80 through 99 |
Contain the first twenty elements of the ipar array of the third Trigonometric Transform that the solver uses in case of periodic boundary conditions along the x-axis. (For details, see Common Parameters in the "Trigonometric Transform Routines" section.) |
|||
100 through 119 |
Contain the first twenty elements of the ipar array of the fourth Trigonometric Transform used by periodic spherical solvers and 3D Cartesian solvers with periodic boundary conditions along the y-axis. (For details, see Common Parameters in the "Trigonometric Transform Routines" section.) |
|||
120 through 128 |
Internal parameters used by nonuniform 3D solvers. |
While you can declare the ipar array as MKL_INT ipar[120], for future compatibility you should declare ipar as MKL_INT ipar[128].