-
Notifications
You must be signed in to change notification settings - Fork 0
/
ccim.h
84 lines (64 loc) · 4.4 KB
/
ccim.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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#ifndef CCIM_H
#define CCIM_H
#include "grid.h"
#include "pb.h"
#include "sparse.h"
#include "storage.h"
#include <vector>
char getsk2(int *sk2, int i, int j, int *index, double ***S, GridData &grid);
int getstatus5(double ***S, int *index, GridData &grid);
char yescim5D2(double ***D2ucoef, double *D2uxcoef, double *D2uxxcoef, int m, int n,
int *index, int mid, double ***S, GridData &grid);
char getcim5D2(double ***D2ucoef, double *D2uxcoef, double *D2uxxcoef, int m, int n,
int *index, int mid, double ***S, GridData &grid);
void getcim345D2u(double &u0, double ***u, double *uxcoef, double *uxxcoef,
double &jumpuxxcoef, char &perm, int m, int n, int *index, int rstar,
int sstar, int mid, double ***S, GridData &grid);
// without a
void getcim345jumpuxx(double &u0, double ***ucoef, double *uxcoef, double *uxxcoef,
int *index, int rstar, int sk, double alpha, int thesign,
double *normal, int mid, double *D1u, double ****D1ucoef,
double **D1uxcoef, double **D1uxxcoef, double ***D1jumpuxxcoef,
double **D2u, double *****D2ucoef, double ***D2uxcoef,
double ***D2uxxcoef, double **D2jumpuxxcoef, double &jumpD1u,
double ***jumpD1ucoef, double *jumpD1uxcoef,
double *jumpD1uxxcoef, double **jumpD1jumpuxxcoef, double ***S,
PBData &pb, GridData &grid);
// with a
void getcim345jumpuxx(double &u0, double ***ucoef, double *uxcoef, double *uxxcoef,
int *index, int rstar, int sk, double alpha, int thesign,
double *normal, int mid, double ***a, double *D1u,
double ****D1ucoef, double **D1uxcoef, double **D1uxxcoef,
double ***D1jumpuxxcoef, double **D2u, double *****D2ucoef,
double ***D2uxcoef, double ***D2uxxcoef, double **D2jumpuxxcoef,
double &jumpD1u, double ***jumpD1ucoef, double *jumpD1uxcoef,
double *jumpD1uxxcoef, double **jumpD1jumpuxxcoef, double ***S,
PBData &pb, GridData &grid);
void getcim345jumpux(double& u0, double ***ucoef, double *uxcoef, double *uxxcoef,
double **jumpuxxcoef, int *index, int rstar, int sk, double alpha,
int thesign, double *normal, double *tangent, int mid,
double ****D1ucoef, double **D1uxcoef, double **D1uxxcoef,
double ***D1jumpuxxcoef, double ***S, PBData &pb, GridData &grid);
void cim345(SparseElt2**** &A, double ***b, StorageStruct* &Dusmall, int &buildsize,
int *index, double ***a, int gamma[][2], double ***S, PBData &pb,
GridData &grid);
void getcim345D2udist(double &u0, double ***u, double *uxcoef, double *uxxcoef,
double &jumpuxxcoef, char &perm, int m, int n, int *index,
int rstar, int sstar, int mid, double ***S, GridData &grid);
void getcim345Du(double &uint, double *Du, int *index, int rstar, int sstar,
double ***u, double ***S, PBData &pb, GridData &grid);
void getcim345Du(double *u0, double ****ucoef, double **uxcoef, double **uxxcoef,
double ***jumpuxxcoef, int *index, int rstar, int sstar, double alpha,
double thesign, double **D2u, double *****D2ucoef, double ***D2uxcoef,
double ***D2uxxcoef, double **D2jumpuxxcoef, int mid, GridData &grid);
void linearsystemcim345(SparseElt2**** &A, double ***b, StorageStruct* &Dusmall,
int &smallsize, double ***a, double ***S, PBData &pb,
GridData &grid);
void addtostorage( StorageStruct* &Dusmall, int &buildsize,
int mid, int *index,int gamma[][2], double**alpha,
double* ux, double**** uxcoef,
double*** D1u,double*** *** D1ucoef, double**** D1uxcoef, double**** D1uxxcoef,
double** D2u, double***** D2ucoef, GridData &grid);
void cim345cond(SparseElt2**** &A, double ***b, StorageStruct* &Dusmall, int &buildsize, int *index, double ***a, int gamma[][2], double ***S, PBData &pb, GridData &grid);
char yescim5D2All(std::vector<double***> &D2ucoefvec, std::vector<double*> &D2uxcoefvec, std::vector<double*> &D2uxxcoefvec, std::vector<std::vector<int>> &offsetvec, int m, int n, int *index, int mid, double ***S, GridData &grid);
#endif