-
Notifications
You must be signed in to change notification settings - Fork 0
/
interface.h
35 lines (28 loc) · 1.62 KB
/
interface.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#ifndef INTERFACE_H
#define INTERFACE_H
#include "pb.h"
#include "grid.h"
// vector operation
double getdotprod(double *v, double *w, int thedim);
void normalize(double *v, double *w, int thedim);
void getcrossprod(double *v, double *w, double *z);
void getunitcrossprod(double *v, double *w, double *z);
void project(double *w, double *normal, double *v, int dim);
// interface info
char getinterfaceinfo(double &alpha, double *tangent, double *normal, double ***S,
int *index, int rstar, int sstar, GridData &grid);
char getinterfaceinfo(double &alpha, double *tangent, double *normal, double ***S,
int *index1, int *index2, GridData &grid);
char getinterfaceinfo(double &alpha, double *tangent1, double *tangent2, double *normal,
double &sigma, double **Dn, double *Dsigma, double &jumpfe,
double ***S, int *index1, int *index2, PBData &pb, GridData &grid);
void getinterfaceinfo(double *tangent1, double *tangent2, double &sigma, double **Dn,
double *Dsigma, double &jumpfe, int *index, int rstar, int sstar,
double alpha, double ***S, PBData &pb, GridData &grid);
void getinterfaceinfo(double *tangent1, double *tangent2, double &tau, double &sigma,
double **Dn, double *Dsigma, double &jumpfe, double &aehere,
double &aethere, int *index, int rstar, int sstar, double alpha,
double ***a, double ***S, PBData &pb, GridData &grid);
// check with exact radius for motion
void checkwithexact(double ***S, double radius, GridData &grid);
#endif