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

Go to the source code of this file.

Typedefs

typedef STARSH_particles STARSH_esdata
 Electrostatics problem reuses structure for particles.
 

Enumerations

enum  STARSH_ELECTROSTATICS_KERNEL { STARSH_ELECTROSTATICS_COULOMB_POTENTIAL = 1, STARSH_ELECTROSTATICS_COULOMB_POTENTIAL_SIMD = 2 }
 List of built-in kernels for starsh_esdata_get_kernel(). More...
 
enum  STARSH_ELECTROSTATICS_PARAM { STARSH_ELECTROSTATICS_NDIM = 1, STARSH_ELECTROSTATICS_PLACE = 2 }
 List of parameters for starsh_application(). More...
 

Functions

int starsh_esdata_new (STARSH_esdata **data, STARSH_int count, int ndim)
 Allocate memory for STARSH_esdata object. More...
 
int starsh_esdata_init (STARSH_esdata **data, STARSH_int count, int ndim, double *point)
 Initialize STARSH_esdata object by given data. More...
 
int starsh_esdata_generate (STARSH_esdata **data, STARSH_int count, int ndim, enum STARSH_PARTICLES_PLACEMENT place)
 Generate STARSH_esdata object by given distribution. More...
 
int starsh_esdata_generate_va (STARSH_esdata **data, STARSH_int count, va_list args)
 Generate STARSH_esdata object with incomplete set of parameters. More...
 
int starsh_esdata_generate_el (STARSH_esdata **data, STARSH_int count,...)
 Generate STARSH_esdata object with incomplete set of parameters. More...
 
int starsh_esdata_get_kernel (STARSH_kernel **kernel, STARSH_esdata *data, enum STARSH_ELECTROSTATICS_KERNEL type)
 Get kernel for electrostatics problem. More...
 
void starsh_esdata_free (STARSH_esdata *data)
 Free memory of STARSH_esdata object. More...
 
void starsh_esdata_block_coulomb_potential_kernel_1d (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld)
 Coulomb potential for 1-dimensional electrostatics problem. More...
 
void starsh_esdata_block_coulomb_potential_kernel_2d (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld)
 Coulomb potential for 2-dimensional electrostatics problem. More...
 
void starsh_esdata_block_coulomb_potential_kernel_3d (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld)
 Coulomb potential for 3-dimensional electrostatics problem. More...
 
void starsh_esdata_block_coulomb_potential_kernel_4d (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld)
 Coulomb potential for 4-dimensional electrostatics problem. More...
 
void starsh_esdata_block_coulomb_potential_kernel_nd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld)
 Coulomb potential for n-dimensional electrostatics problem. More...
 
void starsh_esdata_block_coulomb_potential_kernel_1d_simd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld)
 Coulomb potential for 1-dimensional electrostatics problem. More...
 
void starsh_esdata_block_coulomb_potential_kernel_2d_simd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld)
 Coulomb potential for 2-dimensional electrostatics problem. More...
 
void starsh_esdata_block_coulomb_potential_kernel_3d_simd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld)
 Coulomb potential for 3-dimensional electrostatics problem. More...
 
void starsh_esdata_block_coulomb_potential_kernel_4d_simd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld)
 Coulomb potential for 4-dimensional electrostatics problem. More...
 
void starsh_esdata_block_coulomb_potential_kernel_nd_simd (int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int ld)
 Coulomb potential for n-dimensional electrostatics 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