Program listing for file numerics/src/FrictionContact/gfc3d_ipm.h

Program listing for file numerics/src/FrictionContact/gfc3d_ipm.h#

 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
18
19double getNewtonStepLength(const double * const x, const double * const dx,
20                                  const unsigned int vecSize, const unsigned int varsCount, const double gamma);
21
22
23
24double getStepLength(const double * const x, const double * const dx, const unsigned int vecSize,
25                            const unsigned int varsCount, const double gamma);
26
27
28
29void primalResidual(const double * velocity, NumericsMatrix * H, const double * globalVelocity, const double * w,
30                double * out, double * rnorm, const double tol);
31
32
33
34void dualResidual(NumericsMatrix * M, const double * globalVelocity, NumericsMatrix * H, const double * reaction, const double * f,
35              double * out, double * rnorm, const double tol);
36
37
38
39
40
41
42
43
44
45
46
47
48
49double complemResidualNorm(const double * const velocity, const double * const reaction,
50                                  const unsigned int vecSize, const unsigned int varsCount);
51
52
53
54double complemResidualNorm_p(const double * const velocity, const double * const reaction,
55                                    const unsigned int vecSize, const unsigned int varsCount);
56
57
58
59
60double complemResidualNorm_p_F(NumericsMatrix * Qp, NumericsMatrix * Qpinv,
61                                  const double * const velocity, const double * const reaction,
62                                  const unsigned int vecSize, const unsigned int varsCount);
63
64
65
66double dualGap(NumericsMatrix * M, const double * f, const double * w, const double * globalVelocity, const double * reaction, const unsigned int nd, const unsigned int m);
67
68
69
70double relGap(NumericsMatrix * M, const double * f, const double * w, const double * globalVelocity, const double * reaction, const unsigned int nd, const unsigned int m, const double gapVal);
71
72
73
74void setErrorArray(double * error, const double pinfeas, const double dinfeas,
75               const double dualgap, const double complem, const double complem_p, const double projerr);
76
77
78
79double norm2VecDiff (const double * vec1, const double * vec2, const unsigned int vecSize);