Program listing for file numerics/src/FrictionContact/gfc3d_ipm.h#
Return to documentation for this file
1typedef long double float_type;
2
3
4
5float_type dnrm2l(const unsigned int n, const double* x);
6
7
8
9
10
11
12
13
14
15
16
17
18double getNewtonStepLength(const double* const x, const double* const dx,
19 const unsigned int vecSize, const unsigned int varsCount,
20 const double gamma);
21
22
23double getStepLength(const double* const x, const double* const dx, const unsigned int vecSize,
24 const unsigned int varsCount, const double gamma);
25
26
27void primalResidual(const double* velocity, NumericsMatrix* H, const double* globalVelocity,
28 const double* w, double* out, double* rnorm, const double tol);
29
30
31void dualResidual(NumericsMatrix* M, const double* globalVelocity, NumericsMatrix* H,
32 const double* reaction, const double* f, double* out, double* rnorm,
33 const double tol);
34
35
36
37
38
39
40
41
42
43
44double complemResidualNorm(const double* const velocity, const double* const reaction,
45 const unsigned int vecSize, const unsigned int varsCount);
46
47
48double complemResidualNorm_p(const double* const velocity, const double* const reaction,
49 const unsigned int vecSize, const unsigned int varsCount);
50
51
52
53double complemResidualNorm_p_F(NumericsMatrix* Qp, NumericsMatrix* Qpinv,
54 const double* const velocity, const double* const reaction,
55 const unsigned int vecSize, const unsigned int varsCount);
56
57
58double dualGap(NumericsMatrix* M, const double* f, const double* w,
59 const double* globalVelocity, const double* reaction, const unsigned int nd,
60 const unsigned int m);
61
62
63double relGap(NumericsMatrix* M, const double* f, const double* w,
64 const double* globalVelocity, const double* reaction, const unsigned int nd,
65 const unsigned int m, const double gapVal);
66
67
68void setErrorArray(double* error, const double pinfeas, const double dinfeas,
69 const double dualgap, const double complem, const double complem_p,
70 const double projerr);
71
72
73double norm2VecDiff(const double* vec1, const double* vec2, const unsigned int vecSize);