STARS-H
Software for Testing Accuracy, Reliability and Scalability of Hierarchical computations
starsh-electrodynamics.h File Reference
#include "starsh.h"
#include "starsh-particles.h"
Include dependency graph for starsh-electrodynamics.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  starsh_eddata
 Structure for electrodynamics problems. More...
 

Typedefs

typedef struct starsh_eddata STARSH_eddata
 Structure for electrodynamics problems.
 

Enumerations

enum  STARSH_ELECTRODYNAMICS_KERNEL { STARSH_ELECTRODYNAMICS_SIN = 1, STARSH_ELECTRODYNAMICS_COS = 2, STARSH_ELECTRODYNAMICS_SIN_SIMD = 11, STARSH_ELECTRODYNAMICS_COS_SIMD = 12 }
 List of built-in kernels for starsh_eddata_get_kernel(). More...
 
enum  STARSH_ELECTRODYNAMICS_PARAM { STARSH_ELECTRODYNAMICS_NDIM = 1, STARSH_ELECTRODYNAMICS_K = 2, STARSH_ELECTRODYNAMICS_DIAG = 3, STARSH_ELECTRODYNAMICS_PLACE = 4 }
 List of parameters for starsh_application(). More...
 

Functions

int starsh_eddata_new (STARSH_eddata **data, STARSH_int count, int ndim)
 Allocate memory for STARSH_eddata object. More...
 
int starsh_eddata_init (STARSH_eddata **data, STARSH_int count, int ndim, double *point, double k, double diag)
 Initialize STARSH_eddata object by given data. More...
 
int starsh_eddata_generate (STARSH_eddata **data, STARSH_int count, int ndim, double k, double diag, enum STARSH_PARTICLES_PLACEMENT place)
 Generate STARSH_ssdata object by given distribution. More...
 
int starsh_eddata_generate_va (STARSH_eddata **data, STARSH_int count, va_list args)
 Generate STARSH_eddata object with incomplete set of parameters. More...
 
int starsh_eddata_generate_el (STARSH_eddata **data, STARSH_int count,...)
 Generate STARSH_eddata object with incomplete set of parameters. More...
 
int starsh_eddata_get_kernel (STARSH_kernel **kernel, STARSH_eddata *data, enum STARSH_ELECTRODYNAMICS_KERNEL type)
 Get kernel for electrodynamics problem. More...
 
void starsh_eddata_free (STARSH_eddata *data)
 Free memory of STARSH_eddata object. 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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...
 

Detailed Description

STARS-H is a software package, provided by King Abdullah University of Science and Technology (KAUST)

Version
0.3.0
Author
Aleksandr Mikhalev
Date
2017-11-07