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

Go to the source code of this file.

Data Structures

struct  starsh_mddata
 Structure for mesh deformation problems. More...
 

Typedefs

typedef struct starsh_mddata STARSH_mddata
 Structure for mesh deformation problems.
 

Functions

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)
 
void starsh_generate_3d_virus_rhs (STARSH_int mesh_points, double *A)
 
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)
 
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)
 
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)
 
void starsh_mddata_free (STARSH_mddata *data)
 Free memory of STARSH_mddata object. More...
 
double Gaussian (double x)
 
double Expon (double x)
 
double Maternc1 (double x)
 
double Maternc2 (double x)
 
double QUAD (double x)
 
double InvQUAD (double x)
 
double InvMQUAD (double x)
 
double TPS (double x)
 
double Wendland (double x)
 
double CTPS (double x)
 
double diff (double *x, double *y)
 
void cube (double *v, int index, double L, int n)
 

Detailed Description

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

Version
0.3.0 Rabab Alomairy
Author
Aleksandr Mikhalev
Date
2020-06-09

Function Documentation

◆ CTPS()

double CTPS ( double  x)

RBF Continuous Thin plate spline basis function

Parameters
[in]xEuclidean distance

◆ cube()

void cube ( double *  v,
int  index,
double  L,
int  n 
)

Computing cube Coordinates

Parameters
[in,out]vMesh Coordinates
[in]indexelement position
[in]Ledge length of cube
[in]noverall size of cube //TODO ask application pp

◆ diff()

double diff ( double *  x,
double *  y 
)

Computing Euclidean distance

Parameters
[in]xMesh Coordinates along x-axis
[in]yMesh Coordinates along y-axis

◆ Expon()

double Expon ( double  x)

RBF Exponential basis function

Parameters
[in]xEuclidean distance

◆ Gaussian()

double Gaussian ( double  x)

RBF Gaussian basis function

Parameters
[in]xEuclidean distance

◆ InvMQUAD()

double InvMQUAD ( double  x)

RBF Inverse Multi-Quadratic basis function

Parameters
[in]xEuclidean distance

◆ InvQUAD()

double InvQUAD ( double  x)

RBF Inverse Quadratic basis function

Parameters
[in]xEuclidean distance

◆ Maternc1()

double Maternc1 ( double  x)

RBF Maternc1 basis function

Parameters
[in]xEuclidean distance

◆ Maternc2()

double Maternc2 ( double  x)

RBF Maternc2 basis function

Parameters
[in]xEuclidean distance

◆ QUAD()

double QUAD ( double  x)

RBF Quadratic basis function

Parameters
[in]xEuclidean distance

◆ starsh_generate_3d_cube()

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 
)

Fills matrix \( A \) with values

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_mddata object).
[in]col_dataPointer to physical data (STARSH_mddata object).
[out]resultPointer to memory of \( A \).
[in]ldLeading dimension of result.

◆ starsh_generate_3d_rbf_mesh_coordinates_cube()

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 
)

It reads mesh pointd fron file

Parameters
[in,out]dataSTARSH_mddata mesh deformation
[in]meshpoints: number of mesh points
[in]ndimproblem dimension.
[in]kernel_typekernel (0:).
[in]isregit is either 0 or 1 if you want to add regularizer
[in]regregularization value
[in]radRBF scaling factor
[in]mordering0: no ordering, 1: Morton ordering.

◆ starsh_generate_3d_rbf_mesh_coordinates_virus()

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 
)

It reads mesh pointd fron file

Parameters
[in,out]dataSTARSH_mddata mesh deformation
[in]file_namepath to mesh file
[in]meshpoints: number of mesh points
[in]ndimproblem dimension.
[in]kernel_typekernel (0:).
[in]numobjhow many objects (e.g. number of viurese)
[in]isregit is either 0 or 1 if you want to add regularizer
[in]regregularization value
[in]radRBF scaling factor
[in]denstdensity scaling factor
[in]mordering0: no ordering, 1: Morton ordering.

◆ starsh_generate_3d_virus()

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 
)

Fills matrix \( A \) with values

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_mddata object).
[in]col_dataPointer to physical data (STARSH_mddata object).
[out]resultPointer to memory of \( A \).
[in]ldLeading dimension of result.

◆ starsh_generate_3d_virus_rhs()

void starsh_generate_3d_virus_rhs ( STARSH_int  mesh_points,
double *  A 
)

Fills matrix (RHS) \( A \) with values

Parameters
[in]ldTotal number of mesh points.
[in,out]ldPointer to memory of \( A \)..

◆ TPS()

double TPS ( double  x)

RBF Thin plate spline basis function

Parameters
[in]xEuclidean distance

◆ Wendland()

double Wendland ( double  x)

RBF Wendland basis function

Parameters
[in]xEuclidean distance