STARS-H
Software for Testing Accuracy, Reliability and Scalability of Hierarchical computations
starsh-rbf.h
Go to the documentation of this file.
1 
14 #ifndef __STARSH_RBF_H__
15 #define __STARSH_RBF_H__
16 
25 // Add definitions for size_t, va_list, STARSH_kernel and STARSH_particles
26 #include "starsh.h"
27 #include "starsh-particles.h"
28 
29 typedef struct starsh_mddata
31 {
34  //char dtype;
36  double reg;
38  int kernel;
39  int numobj;
40  int isreg;
41  double rad;
42  double denst;
43  int mesh_points;
44  int mordering;
46 
47 void starsh_generate_3d_virus(int nrows, int ncols,
48  STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data,
49  void *result, int lda);
50 void starsh_generate_3d_virus_rhs(STARSH_int mesh_points, double *A);
51 void starsh_generate_3d_cube(int nrows, int ncols,
52  STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data,
53  void *result, int lda);
54 void starsh_generate_3d_virus_rhs(STARSH_int mesh_points, double *A);
55 int starsh_generate_3d_rbf_mesh_coordinates_virus(STARSH_mddata **data, char *file_name, STARSH_int mesh_points, int ndim,
56  int kernel, int numobj, int isreg, double reg, double rad, double denst, int mordering);
57 int starsh_generate_3d_rbf_mesh_coordinates_cube(STARSH_mddata **data, STARSH_int mesh_points, int ndim, int kernel,
58  int isreg, double reg, double rad, int mordering);
60 
61 /* RBF Kernels headers */
62 double Gaussian(double x);
63 double Expon(double x);
64 double Maternc1(double x);
65 double Maternc2(double x);
66 double QUAD(double x);
67 double InvQUAD(double x);
68 double InvMQUAD(double x);
69 double TPS(double x);
70 double Wendland(double x);
71 double CTPS(double x);
72 double diff(double*x, double*y);
73 void cube(double* v, int index, double L, int n);
74 
75 
76 #endif // __STARSH_RBF__H__
ssize_t STARSH_int
STARSH signed integer to support more, than MAX_INT rows/columns.
Definition: starsh.h:64
double InvMQUAD(double x)
Definition: kernels_rbf.c:75
STARSH_particles particles
Particles.
Definition: starsh-rbf.h:32
double CTPS(double x)
Definition: kernels_rbf.c:102
double Gaussian(double x)
Definition: kernels_rbf.c:29
double Maternc2(double x)
Definition: kernels_rbf.c:51
void starsh_generate_3d_virus_rhs(STARSH_int mesh_points, double *A)
Definition: virus.c:100
Structure for mesh deformation problems.
Definition: starsh-rbf.h:29
#define ndim
Replace variable ndim with static integer value.
Definition: kernel_sin_1d.c:28
void starsh_generate_3d_cube(int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int lda)
Definition: cube.c:37
int starsh_generate_3d_rbf_mesh_coordinates_virus(STARSH_mddata **data, char *file_name, STARSH_int mesh_points, int ndim, int kernel, int numobj, int isreg, double reg, double rad, double denst, int mordering)
Definition: mesh_rbf.c:219
void starsh_generate_3d_virus(int nrows, int ncols, STARSH_int *irow, STARSH_int *icol, void *row_data, void *col_data, void *result, int lda)
Definition: virus.c:41
double Maternc1(double x)
Definition: kernels_rbf.c:44
int starsh_generate_3d_rbf_mesh_coordinates_cube(STARSH_mddata **data, STARSH_int mesh_points, int ndim, int kernel, int isreg, double reg, double rad, int mordering)
Definition: mesh_rbf.c:288
double InvQUAD(double x)
Definition: kernels_rbf.c:67
double reg
Noise and regularization parameter.
Definition: starsh-rbf.h:36
void starsh_mddata_free(STARSH_mddata *data)
Free memory of STARSH_mddata object.
Definition: mesh_rbf.c:336
double TPS(double x)
Definition: kernels_rbf.c:83
double diff(double *x, double *y)
Definition: kernels_rbf.c:115
double QUAD(double x)
Definition: kernels_rbf.c:59
double Expon(double x)
Definition: kernels_rbf.c:37
void cube(double *v, int index, double L, int n)
Definition: kernels_rbf.c:130
double Wendland(double x)
Definition: kernels_rbf.c:91
Structure for general N-body problems.
Definition: starsh-particles.h:36
struct starsh_mddata STARSH_mddata
Structure for mesh deformation problems.