STARS-H
Software for Testing Accuracy, Reliability and Scalability of Hierarchical computations
|
Set of kernels for electrodynamics problems. More...
Functions | |
void | starsh_eddata_block_sin_kernel_nd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Helmholtz sin for n-dimensional electrodynamics problem. More... | |
void | starsh_eddata_block_sin_kernel_nd_simd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Helmholtz cos for n-dimensional electrodynamics problem. More... | |
void | starsh_eddata_block_sin_kernel_1d (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Helmholtz sin for 1-dimensional electrodynamics problem. More... | |
void | starsh_eddata_block_sin_kernel_1d_simd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Helmholtz cos for 1-dimensional electrodynamics problem. More... | |
void | starsh_eddata_block_sin_kernel_2d (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Helmholtz sin for 2-dimensional electrodynamics problem. More... | |
void | starsh_eddata_block_sin_kernel_2d_simd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Helmholtz cos for 2-dimensional electrodynamics problem. More... | |
void | starsh_eddata_block_sin_kernel_3d (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Helmholtz sin for 3-dimensional electrodynamics problem. More... | |
void | starsh_eddata_block_sin_kernel_3d_simd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Helmholtz cos for 3-dimensional electrodynamics problem. More... | |
void | starsh_eddata_block_sin_kernel_4d (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Helmholtz sin for 4-dimensional electrodynamics problem. More... | |
void | starsh_eddata_block_sin_kernel_4d_simd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Helmholtz cos for 4-dimensional electrodynamics problem. More... | |
void | starsh_eddata_block_cos_kernel_nd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Helmholtz cos for n-dimensional electrodynamics problem. More... | |
void | starsh_eddata_block_cos_kernel_nd_simd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Helmholtz cos for n-dimensional electrodynamics problem. More... | |
void | starsh_eddata_block_cos_kernel_1d (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Helmholtz cos for 1-dimensional electrodynamics problem. More... | |
void | starsh_eddata_block_cos_kernel_1d_simd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Helmholtz cos for 1-dimensional electrodynamics problem. More... | |
void | starsh_eddata_block_cos_kernel_2d (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Helmholtz cos for 2-dimensional electrodynamics problem. More... | |
void | starsh_eddata_block_cos_kernel_2d_simd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Helmholtz cos for 2-dimensional electrodynamics problem. More... | |
void | starsh_eddata_block_cos_kernel_3d (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Helmholtz cos for 3-dimensional electrodynamics problem. More... | |
void | starsh_eddata_block_cos_kernel_3d_simd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Helmholtz cos for 3-dimensional electrodynamics problem. More... | |
void | starsh_eddata_block_cos_kernel_4d (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Helmholtz cos for 4-dimensional electrodynamics problem. More... | |
void | starsh_eddata_block_cos_kernel_4d_simd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld) |
Helmholtz cos for 4-dimensional electrodynamics problem. More... | |
Set of kernels for electrodynamics problems.
Click on functions to view implemented equations.
void starsh_eddata_block_cos_kernel_1d | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Helmholtz cos for 1-dimensional electrodynamics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{cos(k r_{ij})}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points and \( k \) is a wave number. No memory is allocated in this function!
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_eddata object). |
[in] | col_data | Pointer to physical data (STARSH_eddata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_eddata_block_cos_kernel_1d_simd | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Helmholtz cos for 1-dimensional electrodynamics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{cos(k r_{ij})}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points and \( k \) is a wave number. No memory is allocated in this function!
Uses SIMD instructions.
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_eddata object). |
[in] | col_data | Pointer to physical data (STARSH_eddata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_eddata_block_cos_kernel_2d | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Helmholtz cos for 2-dimensional electrodynamics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{cos(k r_{ij})}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points and \( k \) is a wave number. No memory is allocated in this function!
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_eddata object). |
[in] | col_data | Pointer to physical data (STARSH_eddata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_eddata_block_cos_kernel_2d_simd | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Helmholtz cos for 2-dimensional electrodynamics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{cos(k r_{ij})}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points and \( k \) is a wave number. No memory is allocated in this function!
Uses SIMD instructions.
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_eddata object). |
[in] | col_data | Pointer to physical data (STARSH_eddata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_eddata_block_cos_kernel_3d | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Helmholtz cos for 3-dimensional electrodynamics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{cos(k r_{ij})}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points and \( k \) is a wave number. No memory is allocated in this function!
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_eddata object). |
[in] | col_data | Pointer to physical data (STARSH_eddata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_eddata_block_cos_kernel_3d_simd | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Helmholtz cos for 3-dimensional electrodynamics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{cos(k r_{ij})}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points and \( k \) is a wave number. No memory is allocated in this function!
Uses SIMD instructions.
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_eddata object). |
[in] | col_data | Pointer to physical data (STARSH_eddata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_eddata_block_cos_kernel_4d | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Helmholtz cos for 4-dimensional electrodynamics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{cos(k r_{ij})}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points and \( k \) is a wave number. No memory is allocated in this function!
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_eddata object). |
[in] | col_data | Pointer to physical data (STARSH_eddata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_eddata_block_cos_kernel_4d_simd | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Helmholtz cos for 4-dimensional electrodynamics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{cos(k r_{ij})}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points and \( k \) is a wave number. No memory is allocated in this function!
Uses SIMD instructions.
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_eddata object). |
[in] | col_data | Pointer to physical data (STARSH_eddata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_eddata_block_cos_kernel_nd | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Helmholtz cos for n-dimensional electrodynamics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{cos(k r_{ij})}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points and \( k \) is a wave number. No memory is allocated in this function!
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_eddata object). |
[in] | col_data | Pointer to physical data (STARSH_eddata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_eddata_block_cos_kernel_nd_simd | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Helmholtz cos for n-dimensional electrodynamics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{cos(k r_{ij})}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points and \( k \) is a wave number. No memory is allocated in this function!
Uses SIMD instructions.
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_eddata object). |
[in] | col_data | Pointer to physical data (STARSH_eddata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_eddata_block_sin_kernel_1d | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Helmholtz sin for 1-dimensional electrodynamics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{sin(k r_{ij})}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points and \( k \) is a wave number. No memory is allocated in this function!
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_eddata object). |
[in] | col_data | Pointer to physical data (STARSH_eddata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_eddata_block_sin_kernel_1d_simd | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Helmholtz cos for 1-dimensional electrodynamics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{sin(k r_{ij})}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points and \( k \) is a wave number. No memory is allocated in this function!
Uses SIMD instructions.
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_eddata object). |
[in] | col_data | Pointer to physical data (STARSH_eddata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_eddata_block_sin_kernel_2d | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Helmholtz sin for 2-dimensional electrodynamics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{sin(k r_{ij})}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points and \( k \) is a wave number. No memory is allocated in this function!
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_eddata object). |
[in] | col_data | Pointer to physical data (STARSH_eddata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_eddata_block_sin_kernel_2d_simd | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Helmholtz cos for 2-dimensional electrodynamics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{sin(k r_{ij})}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points and \( k \) is a wave number. No memory is allocated in this function!
Uses SIMD instructions.
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_eddata object). |
[in] | col_data | Pointer to physical data (STARSH_eddata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_eddata_block_sin_kernel_3d | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Helmholtz sin for 3-dimensional electrodynamics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{sin(k r_{ij})}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points and \( k \) is a wave number. No memory is allocated in this function!
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_eddata object). |
[in] | col_data | Pointer to physical data (STARSH_eddata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_eddata_block_sin_kernel_3d_simd | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Helmholtz cos for 3-dimensional electrodynamics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{sin(k r_{ij})}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points and \( k \) is a wave number. No memory is allocated in this function!
Uses SIMD instructions.
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_eddata object). |
[in] | col_data | Pointer to physical data (STARSH_eddata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_eddata_block_sin_kernel_4d | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Helmholtz sin for 4-dimensional electrodynamics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{sin(k r_{ij})}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points and \( k \) is a wave number. No memory is allocated in this function!
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_eddata object). |
[in] | col_data | Pointer to physical data (STARSH_eddata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_eddata_block_sin_kernel_4d_simd | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Helmholtz cos for 4-dimensional electrodynamics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{sin(k r_{ij})}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points and \( k \) is a wave number. No memory is allocated in this function!
Uses SIMD instructions.
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_eddata object). |
[in] | col_data | Pointer to physical data (STARSH_eddata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_eddata_block_sin_kernel_nd | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Helmholtz sin for n-dimensional electrodynamics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{sin(k r_{ij})}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points and \( k \) is a wave number. No memory is allocated in this function!
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_eddata object). |
[in] | col_data | Pointer to physical data (STARSH_eddata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |
void starsh_eddata_block_sin_kernel_nd_simd | ( | int | nrows, |
int | ncols, | ||
STARSH_int * | irow, | ||
STARSH_int * | icol, | ||
void * | row_data, | ||
void * | col_data, | ||
void * | result, | ||
int | ld | ||
) |
Helmholtz cos for n-dimensional electrodynamics problem.
Fills matrix \( A \) with values
\[ A_{ij} = \frac{sin(k r_{ij})}{r_{ij}}, \]
\( r_{ij} \) is a distance between \(i\)-th and \(j\)-th spatial points and \( k \) is a wave number. No memory is allocated in this function!
Uses SIMD instructions.
[in] | nrows | Number of rows of \( A \). |
[in] | ncols | Number of columns of \( A \). |
[in] | irow | Array of row indexes. |
[in] | icol | Array of column indexes. |
[in] | row_data | Pointer to physical data (STARSH_eddata object). |
[in] | col_data | Pointer to physical data (STARSH_eddata object). |
[out] | result | Pointer to memory of \( A \). |
[in] | ld | Leading dimension of result . |