Visible to Intel only — GUID: GUID-42929E64-A695-4D2B-A2BE-85DAD3F9E6FC
Visible to Intel only — GUID: GUID-42929E64-A695-4D2B-A2BE-85DAD3F9E6FC
dpar and spar
Arrays dpar and spar are the same except in the data precision:
- dpar
-
Holds data needed for double-precision Fast Helmholtz Solver computations.
- For the Cartesian solver, double array of size 5*nx/2+7 in the 2D case or 5*(nx+ny)/2+9 in the 3D case; initialized in the d_init_Helmholtz_2D/d_init_Helmholtz_3D and d_commit_Helmholtz_2D/d_commit_Helmholtz_3D routines.
- For the spherical solver, double array of size 5*np/2+nt+10; initialized in the d_init_sph_p/d_init_sph_np and d_commit_sph_p/d_commit_sph_np routines.
- spar
-
Holds data needed for single-precision Fast Helmholtz Solver computations.
- For the Cartesian solver, float array of size 5*nx/2+7 in the 2D case or 5*(nx+ny)/2+9 in the 3D case; initialized in the s_init_Helmholtz_2D/s_init_Helmholtz_3D and s_commit_Helmholtz_2D/s_commit_Helmholtz_3D routines.
- For the spherical solver, float array of size 5*np/2+nt+10; initialized in the s_init_sph_p/s_init_sph_np and s_commit_sph_p/s_commit_sph_np routines.
Because dpar and spar have similar elements in each position, the elements are described together in Table "Elements of the dpar and spar Arrays":
Index |
Description |
---|---|
1 |
In the Cartesian case, contains the length of the interval along the x-axis right after a call to the ?_init_Helmholtz_2D/?_init_Helmholtz_3D routine or the mesh size hx in the x direction (for details, see Poisson Solver Implementation) after a call to the ?_commit_Helmholtz_2D/?_commit_Helmholtz_3D routine. In the spherical case, contains the length of the interval along the φ-axis right after a call to the ?_init_sph_p/?_init_sph_np routine or the mesh size hφ in the φ direction (for details, see Poisson Solver Implementation) after a call to the ?_commit_sph_p/?_commit_sph_np routine. |
2 |
In the Cartesian case, contains the length of the interval along the y-axis right after a call to the ?_init_Helmholtz_2D/?_init_Helmholtz_3D routine or the mesh size hy in the y direction (for details, see Poisson Solver Implementation) after a call to the ?_commit_Helmholtz_2D/?_commit_Helmholtz_3D routine. In the spherical case, contains the length of the interval along the θ-axis right after a call to the ?_init_sph_p/?_init_sph_np routine or the mesh size hθ in the θ direction (for details, see Poisson Solver Implementation) after a call to the ?_commit_sph_p/?_commit_sph_np routine. |
3 |
In the Cartesian case, contains the length of the interval along the z-axis right after a call to the ?_init_Helmholtz_2D/?_init_Helmholtz_3D routine or the mesh size hz in the z direction (for details, see Poisson Solver Implementation) after a call to the ?_commit_Helmholtz_2D/?_commit_Helmholtz_3D routine. In the Cartesian solver, this parameter is used only in the 3D case. In the spherical solver, contains the coordinate of the leftmost boundary along the θ-axis after a call to the ?_init_sph_p/?_init_sph_np routine. |
4 |
Contains the value of the coefficient q after a call to the ?_init_Helmholtz_2D/?_init_Helmholtz_3D/?_init_sph_p/?_init_sph_np routine. |
5 |
Contains the tolerance parameter after a call to the ?_init_Helmholtz_2D/?_init_Helmholtz_3D/?_init_sph_p/?_init_sph_np routine.
The default value for this parameter is 1.0E-10 in case of double-precision computations or 1.0E-4 in case of single-precision computations. You can increase the value of the tolerance, for instance, to avoid the warnings that may appear. |
ipar(16) through ipar(17) |
In the Cartesian case, contain the spectrum of the one-dimensional (1D) problem along the x-axis after a call to the ?_commit_Helmholtz_2D/?_commit_Helmholtz_3D routine. In the spherical case, contains the spectrum of the 1D problem along the φ-axis after a call to the ?_commit_sph_p/?_commit_sph_np routine. |
ipar(18) through ipar(19) |
In the Cartesian case, contain the spectrum of the 1D problem along the y-axis after a call to the ?_commit_Helmholtz_3D routine. These elements are used only in the 3D case. In the spherical case, contains the spherical weights after a call to the ?_commit_sph_p/?_commit_sph_np routine. |
ipar(20) through ipar(21) |
Take the values of the (staggered) sine/cosine in the mesh points:
|
ipar(22) through ipar(23) |
Take the values of the (staggered) sine/cosine in the mesh points:
These elements are not used in the 2D Cartesian case and in the non-periodic spherical case. |
ipar(26) through ipar(27) |
Take the values of the (staggered) sine/cosine in the mesh points along the x-axis after a call to the ?_commit_Helmholtz_2D/?_commit_Helmholtz_3D routine. These elements are used only in the periodic Cartesian case. |
ipar(28) through ipar(29)-1 |
Take the values of the (staggered) sine/cosine in the mesh points along the x-axis after a call to the ?_commit_Helmholtz_3D routine. These elements are used only in the periodic 3D Cartesian case. |
You may define the array size depending upon the type of the problem to solve.