-
Notifications
You must be signed in to change notification settings - Fork 0
/
LineEdge.h
44 lines (40 loc) · 993 Bytes
/
LineEdge.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
#ifndef LINEEDGE_H
#define LINEEDGE_H
#include <cmath>
#include <vector>
#define UNIFORM -1
#define EXPREFINE0 0
#define EXPREFINE1 1
#define SINREFINE0 2
#define SINREFINE1 3
#define SINREFINE2 4
#define QUDREFINE0 5
#define QUDREFINE1 6
#define BOUNDARYLAYER0 7
#define BOUNDARYLAYER1 8
#define BOUNDARYLAYER2 9
#define BOUNDARYLAYER4 10
class LineEdge {
public:
LineEdge(double *p0, double *p1, int N, int refineType, double h0, double h1);
LineEdge(double *p0, double *p1, int N, int refineType, double h0, double q0,
int NBlayers0, double h1, double q1, int NBlayers1);
std::vector<double> Evaluate(double s);
double DiscreteStretch(double s, double h0, double h1);
double BuildDiscretes(double ds, double ds1);
int m_N;
private:
double *m_p0;
double *m_p1;
int m_refineType;
double m_g0;
double m_g1;
double m_h0;
double m_h1;
double m_q0;
double m_q1;
double m_nBLayers0;
double m_nBLayers1;
std::vector<double> m_discretes;
};
#endif