STARS-H
Software for Testing Accuracy, Reliability and Scalability of Hierarchical computations

Set of kernels for electrodynamics problems. More...

Collaboration diagram for Kernels:

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...
 

Detailed Description

Set of kernels for electrodynamics problems.

Click on functions to view implemented equations.

Function Documentation

◆ starsh_eddata_block_cos_kernel_1d()

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!

Parameters
[in]nrowsNumber of rows of \( A \).
[in]ncolsNumber of columns of \( A \).
[in]irowArray of row indexes.
[in]icolArray of column indexes.
[in]row_dataPointer to physical data (STARSH_eddata object).
[in]col_dataPointer to physical data (STARSH_eddata object).
[out]resultPointer to memory of \( A \).
[in]ldLeading dimension of result.
See also
starsh_eddata_block_cos_kernel_1d(), starsh_eddata_block_cos_kernel_2d(), starsh_eddata_block_cos_kernel_3d(), starsh_eddata_block_cos_kernel_4d(), starsh_eddata_block_cos_kernel_nd().

◆ starsh_eddata_block_cos_kernel_1d_simd()

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.

Parameters
[in]nrowsNumber of rows of \( A \).
[in]ncolsNumber of columns of \( A \).
[in]irowArray of row indexes.
[in]icolArray of column indexes.
[in]row_dataPointer to physical data (STARSH_eddata object).
[in]col_dataPointer to physical data (STARSH_eddata object).
[out]resultPointer to memory of \( A \).
[in]ldLeading dimension of result.
See also
starsh_eddata_block_cos_kernel_1d_simd(), starsh_eddata_block_cos_kernel_2d_simd(), starsh_eddata_block_cos_kernel_3d_simd(), starsh_eddata_block_cos_kernel_4d_simd(), starsh_eddata_block_cos_kernel_nd_simd().

◆ starsh_eddata_block_cos_kernel_2d()

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!

Parameters
[in]nrowsNumber of rows of \( A \).
[in]ncolsNumber of columns of \( A \).
[in]irowArray of row indexes.
[in]icolArray of column indexes.
[in]row_dataPointer to physical data (STARSH_eddata object).
[in]col_dataPointer to physical data (STARSH_eddata object).
[out]resultPointer to memory of \( A \).
[in]ldLeading dimension of result.
See also
starsh_eddata_block_cos_kernel_1d(), starsh_eddata_block_cos_kernel_2d(), starsh_eddata_block_cos_kernel_3d(), starsh_eddata_block_cos_kernel_4d(), starsh_eddata_block_cos_kernel_nd().

◆ starsh_eddata_block_cos_kernel_2d_simd()

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.

Parameters
[in]nrowsNumber of rows of \( A \).
[in]ncolsNumber of columns of \( A \).
[in]irowArray of row indexes.
[in]icolArray of column indexes.
[in]row_dataPointer to physical data (STARSH_eddata object).
[in]col_dataPointer to physical data (STARSH_eddata object).
[out]resultPointer to memory of \( A \).
[in]ldLeading dimension of result.
See also
starsh_eddata_block_cos_kernel_1d_simd(), starsh_eddata_block_cos_kernel_2d_simd(), starsh_eddata_block_cos_kernel_3d_simd(), starsh_eddata_block_cos_kernel_4d_simd(), starsh_eddata_block_cos_kernel_nd_simd().

◆ starsh_eddata_block_cos_kernel_3d()

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!

Parameters
[in]nrowsNumber of rows of \( A \).
[in]ncolsNumber of columns of \( A \).
[in]irowArray of row indexes.
[in]icolArray of column indexes.
[in]row_dataPointer to physical data (STARSH_eddata object).
[in]col_dataPointer to physical data (STARSH_eddata object).
[out]resultPointer to memory of \( A \).
[in]ldLeading dimension of result.
See also
starsh_eddata_block_cos_kernel_1d(), starsh_eddata_block_cos_kernel_2d(), starsh_eddata_block_cos_kernel_3d(), starsh_eddata_block_cos_kernel_4d(), starsh_eddata_block_cos_kernel_nd().

◆ starsh_eddata_block_cos_kernel_3d_simd()

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.

Parameters
[in]nrowsNumber of rows of \( A \).
[in]ncolsNumber of columns of \( A \).
[in]irowArray of row indexes.
[in]icolArray of column indexes.
[in]row_dataPointer to physical data (STARSH_eddata object).
[in]col_dataPointer to physical data (STARSH_eddata object).
[out]resultPointer to memory of \( A \).
[in]ldLeading dimension of result.
See also
starsh_eddata_block_cos_kernel_1d_simd(), starsh_eddata_block_cos_kernel_2d_simd(), starsh_eddata_block_cos_kernel_3d_simd(), starsh_eddata_block_cos_kernel_4d_simd(), starsh_eddata_block_cos_kernel_nd_simd().

◆ starsh_eddata_block_cos_kernel_4d()

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!

Parameters
[in]nrowsNumber of rows of \( A \).
[in]ncolsNumber of columns of \( A \).
[in]irowArray of row indexes.
[in]icolArray of column indexes.
[in]row_dataPointer to physical data (STARSH_eddata object).
[in]col_dataPointer to physical data (STARSH_eddata object).
[out]resultPointer to memory of \( A \).
[in]ldLeading dimension of result.
See also
starsh_eddata_block_cos_kernel_1d(), starsh_eddata_block_cos_kernel_2d(), starsh_eddata_block_cos_kernel_3d(), starsh_eddata_block_cos_kernel_4d(), starsh_eddata_block_cos_kernel_nd().

◆ starsh_eddata_block_cos_kernel_4d_simd()

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.

Parameters
[in]nrowsNumber of rows of \( A \).
[in]ncolsNumber of columns of \( A \).
[in]irowArray of row indexes.
[in]icolArray of column indexes.
[in]row_dataPointer to physical data (STARSH_eddata object).
[in]col_dataPointer to physical data (STARSH_eddata object).
[out]resultPointer to memory of \( A \).
[in]ldLeading dimension of result.
See also
starsh_eddata_block_cos_kernel_1d_simd(), starsh_eddata_block_cos_kernel_2d_simd(), starsh_eddata_block_cos_kernel_3d_simd(), starsh_eddata_block_cos_kernel_4d_simd(), starsh_eddata_block_cos_kernel_nd_simd().

◆ starsh_eddata_block_cos_kernel_nd()

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!

Parameters
[in]nrowsNumber of rows of \( A \).
[in]ncolsNumber of columns of \( A \).
[in]irowArray of row indexes.
[in]icolArray of column indexes.
[in]row_dataPointer to physical data (STARSH_eddata object).
[in]col_dataPointer to physical data (STARSH_eddata object).
[out]resultPointer to memory of \( A \).
[in]ldLeading dimension of result.
See also
starsh_eddata_block_cos_kernel_1d(), starsh_eddata_block_cos_kernel_2d(), starsh_eddata_block_cos_kernel_3d(), starsh_eddata_block_cos_kernel_4d(), starsh_eddata_block_cos_kernel_nd().

◆ starsh_eddata_block_cos_kernel_nd_simd()

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.

Parameters
[in]nrowsNumber of rows of \( A \).
[in]ncolsNumber of columns of \( A \).
[in]irowArray of row indexes.
[in]icolArray of column indexes.
[in]row_dataPointer to physical data (STARSH_eddata object).
[in]col_dataPointer to physical data (STARSH_eddata object).
[out]resultPointer to memory of \( A \).
[in]ldLeading dimension of result.
See also
starsh_eddata_block_cos_kernel_1d_simd(), starsh_eddata_block_cos_kernel_2d_simd(), starsh_eddata_block_cos_kernel_3d_simd(), starsh_eddata_block_cos_kernel_4d_simd(), starsh_eddata_block_cos_kernel_nd_simd().

◆ starsh_eddata_block_sin_kernel_1d()

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!

Parameters
[in]nrowsNumber of rows of \( A \).
[in]ncolsNumber of columns of \( A \).
[in]irowArray of row indexes.
[in]icolArray of column indexes.
[in]row_dataPointer to physical data (STARSH_eddata object).
[in]col_dataPointer to physical data (STARSH_eddata object).
[out]resultPointer to memory of \( A \).
[in]ldLeading dimension of result.
See also
starsh_eddata_block_sin_kernel_1d(), starsh_eddata_block_sin_kernel_2d(), starsh_eddata_block_sin_kernel_3d(), starsh_eddata_block_sin_kernel_4d(), starsh_eddata_block_sin_kernel_nd().

◆ starsh_eddata_block_sin_kernel_1d_simd()

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.

Parameters
[in]nrowsNumber of rows of \( A \).
[in]ncolsNumber of columns of \( A \).
[in]irowArray of row indexes.
[in]icolArray of column indexes.
[in]row_dataPointer to physical data (STARSH_eddata object).
[in]col_dataPointer to physical data (STARSH_eddata object).
[out]resultPointer to memory of \( A \).
[in]ldLeading dimension of result.
See also
starsh_eddata_block_sin_kernel_1d_simd(), starsh_eddata_block_sin_kernel_2d_simd(), starsh_eddata_block_sin_kernel_3d_simd(), starsh_eddata_block_sin_kernel_4d_simd(), starsh_eddata_block_sin_kernel_nd_simd().

◆ starsh_eddata_block_sin_kernel_2d()

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!

Parameters
[in]nrowsNumber of rows of \( A \).
[in]ncolsNumber of columns of \( A \).
[in]irowArray of row indexes.
[in]icolArray of column indexes.
[in]row_dataPointer to physical data (STARSH_eddata object).
[in]col_dataPointer to physical data (STARSH_eddata object).
[out]resultPointer to memory of \( A \).
[in]ldLeading dimension of result.
See also
starsh_eddata_block_sin_kernel_1d(), starsh_eddata_block_sin_kernel_2d(), starsh_eddata_block_sin_kernel_3d(), starsh_eddata_block_sin_kernel_4d(), starsh_eddata_block_sin_kernel_nd().

◆ starsh_eddata_block_sin_kernel_2d_simd()

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.

Parameters
[in]nrowsNumber of rows of \( A \).
[in]ncolsNumber of columns of \( A \).
[in]irowArray of row indexes.
[in]icolArray of column indexes.
[in]row_dataPointer to physical data (STARSH_eddata object).
[in]col_dataPointer to physical data (STARSH_eddata object).
[out]resultPointer to memory of \( A \).
[in]ldLeading dimension of result.
See also
starsh_eddata_block_sin_kernel_1d_simd(), starsh_eddata_block_sin_kernel_2d_simd(), starsh_eddata_block_sin_kernel_3d_simd(), starsh_eddata_block_sin_kernel_4d_simd(), starsh_eddata_block_sin_kernel_nd_simd().

◆ starsh_eddata_block_sin_kernel_3d()

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!

Parameters
[in]nrowsNumber of rows of \( A \).
[in]ncolsNumber of columns of \( A \).
[in]irowArray of row indexes.
[in]icolArray of column indexes.
[in]row_dataPointer to physical data (STARSH_eddata object).
[in]col_dataPointer to physical data (STARSH_eddata object).
[out]resultPointer to memory of \( A \).
[in]ldLeading dimension of result.
See also
starsh_eddata_block_sin_kernel_1d(), starsh_eddata_block_sin_kernel_2d(), starsh_eddata_block_sin_kernel_3d(), starsh_eddata_block_sin_kernel_4d(), starsh_eddata_block_sin_kernel_nd().

◆ starsh_eddata_block_sin_kernel_3d_simd()

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.

Parameters
[in]nrowsNumber of rows of \( A \).
[in]ncolsNumber of columns of \( A \).
[in]irowArray of row indexes.
[in]icolArray of column indexes.
[in]row_dataPointer to physical data (STARSH_eddata object).
[in]col_dataPointer to physical data (STARSH_eddata object).
[out]resultPointer to memory of \( A \).
[in]ldLeading dimension of result.
See also
starsh_eddata_block_sin_kernel_1d_simd(), starsh_eddata_block_sin_kernel_2d_simd(), starsh_eddata_block_sin_kernel_3d_simd(), starsh_eddata_block_sin_kernel_4d_simd(), starsh_eddata_block_sin_kernel_nd_simd().

◆ starsh_eddata_block_sin_kernel_4d()

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!

Parameters
[in]nrowsNumber of rows of \( A \).
[in]ncolsNumber of columns of \( A \).
[in]irowArray of row indexes.
[in]icolArray of column indexes.
[in]row_dataPointer to physical data (STARSH_eddata object).
[in]col_dataPointer to physical data (STARSH_eddata object).
[out]resultPointer to memory of \( A \).
[in]ldLeading dimension of result.
See also
starsh_eddata_block_sin_kernel_1d(), starsh_eddata_block_sin_kernel_2d(), starsh_eddata_block_sin_kernel_3d(), starsh_eddata_block_sin_kernel_4d(), starsh_eddata_block_sin_kernel_nd().

◆ starsh_eddata_block_sin_kernel_4d_simd()

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.

Parameters
[in]nrowsNumber of rows of \( A \).
[in]ncolsNumber of columns of \( A \).
[in]irowArray of row indexes.
[in]icolArray of column indexes.
[in]row_dataPointer to physical data (STARSH_eddata object).
[in]col_dataPointer to physical data (STARSH_eddata object).
[out]resultPointer to memory of \( A \).
[in]ldLeading dimension of result.
See also
starsh_eddata_block_sin_kernel_1d_simd(), starsh_eddata_block_sin_kernel_2d_simd(), starsh_eddata_block_sin_kernel_3d_simd(), starsh_eddata_block_sin_kernel_4d_simd(), starsh_eddata_block_sin_kernel_nd_simd().

◆ starsh_eddata_block_sin_kernel_nd()

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!

Parameters
[in]nrowsNumber of rows of \( A \).
[in]ncolsNumber of columns of \( A \).
[in]irowArray of row indexes.
[in]icolArray of column indexes.
[in]row_dataPointer to physical data (STARSH_eddata object).
[in]col_dataPointer to physical data (STARSH_eddata object).
[out]resultPointer to memory of \( A \).
[in]ldLeading dimension of result.
See also
starsh_eddata_block_sin_kernel_1d(), starsh_eddata_block_sin_kernel_2d(), starsh_eddata_block_sin_kernel_3d(), starsh_eddata_block_sin_kernel_4d(), starsh_eddata_block_sin_kernel_nd().

◆ starsh_eddata_block_sin_kernel_nd_simd()

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.

Parameters
[in]nrowsNumber of rows of \( A \).
[in]ncolsNumber of columns of \( A \).
[in]irowArray of row indexes.
[in]icolArray of column indexes.
[in]row_dataPointer to physical data (STARSH_eddata object).
[in]col_dataPointer to physical data (STARSH_eddata object).
[out]resultPointer to memory of \( A \).
[in]ldLeading dimension of result.
See also
starsh_eddata_block_sin_kernel_1d_simd(), starsh_eddata_block_sin_kernel_2d_simd(), starsh_eddata_block_sin_kernel_3d_simd(), starsh_eddata_block_sin_kernel_4d_simd(), starsh_eddata_block_sin_kernel_nd_simd().