Program listing for file numerics/src/FrictionContact/gfc3d_Solvers.h#
Return to documentation for this file
1#ifndef GLOBALFRICTIONCONTACT3DSOLVERS_H
2#define GLOBALFRICTIONCONTACT3DSOLVERS_H
3
4
5
6#include "GlobalFrictionContactProblem.h"
7#include "SolverOptions.h"
8#include "Friction_cst.h"
9#include "gfc3d_nonsmooth_Newton_AlartCurnier.h"
10
11typedef void (*SolverGlobalPtr)(int, int, double*, int*, double*);
12typedef void (*PostSolverGlobalPtr)(int, double*);
13
14typedef void (*FreeSolverGlobalPtr)(GlobalFrictionContactProblem*);
15
16
17typedef void (* ComputeErrorGlobalPtr)(GlobalFrictionContactProblem* ,
18 double * , double *,
19 double* , double ,
20 SolverOptions * ,
21 double, double, double * );
22
23
24#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
25extern "C"
26{
27#endif
28
29 void gfc3d_set_internalsolver_tolerance(GlobalFrictionContactProblem* problem,
30 SolverOptions* options,
31 SolverOptions* internalsolver_options,
32 double error);
33
34
35
36 int gfc3d_checkTrivialCaseGlobal(int dim, double* q, double* velocity, double*reaction, double* globalVelocity, SolverOptions* options);
37
38
39 void gfc3d_nsgs_wr(GlobalFrictionContactProblem* problem, double *reaction , double *velocity, double* globalVelocity, int* info, SolverOptions* options);
40
41 void gfc3d_admm_wr(GlobalFrictionContactProblem* problem, double *reaction , double *velocity, double* globalVelocity, int* info, SolverOptions* options);
42
43 void gfc3d_nonsmooth_Newton_AlartCurnier_wr(GlobalFrictionContactProblem* problem, double *reaction , double *velocity, double* globalVelocity, int *info, SolverOptions* options);
44
45
46 void gfc3d_proximal_wr(GlobalFrictionContactProblem* problem, double *reaction , double *velocity, double* globalVelocity, int* info, SolverOptions* options);
47
48
49 void gfc3d_DeSaxceFixedPoint_wr(GlobalFrictionContactProblem* problem, double *reaction , double *velocity, double* globalVelocity, int* info, SolverOptions* options);
50
51
52 void gfc3d_TrescaFixedPoint_wr(GlobalFrictionContactProblem* problem, double *reaction , double *velocity, double* globalVelocity, int* info, SolverOptions* options);
53
54
55 void gfc3d_nsgs_velocity_wr(GlobalFrictionContactProblem* problem, double *reaction , double *velocity, double* globalVelocity, int *info, SolverOptions* options);
56
57
58 void gfc3d_nsgs(GlobalFrictionContactProblem* problem, double *reaction , double *velocity, double* globalVelocity, int* info, SolverOptions* options);
59
60
61 void gfc3d_ACLMFixedPoint(GlobalFrictionContactProblem* problem, double* reaction, double* velocity,
62 double* globalVelocity, int* info, SolverOptions* options);
63
64
65 void gfc3d_AVI_gams_path(GlobalFrictionContactProblem* problem, double *reaction,
66 double *velocity, int* info, SolverOptions* options);
67
68
69 void gfc3d_AVI_gams_pathvi(GlobalFrictionContactProblem* problem, double *reaction,
70 double *velocity, int* info, SolverOptions* options);
71
72
73 void gfc3d_nonsmooth_Newton_AlartCurnier(GlobalFrictionContactProblem* problem, double *reaction, double *velocity, double *globalVelocity, int *info, SolverOptions* options);
74
75 void gfc3d_VI_ExtraGradient(GlobalFrictionContactProblem* problem, double *reaction, double *velocity, double* globalVelocity, int* info, SolverOptions* options);
76
77 void gfc3d_VI_FixedPointProjection(GlobalFrictionContactProblem* problem, double *reaction, double *velocity, double* globalVelocity, int* info, SolverOptions* options);
78
79
80 void gfc3d_ADMM(GlobalFrictionContactProblem* problem, double* reaction,
81 double* velocity, double* globalVelocity,
82 int* info, SolverOptions* options);
83
84 void gfc3d_ADMM_init(GlobalFrictionContactProblem* problem, SolverOptions* options);
85
86 void gfc3d_ADMM_free(GlobalFrictionContactProblem* problem, SolverOptions* options);
87
88
89 void gfc3d_IPM(GlobalFrictionContactProblem* problem, double* reaction,
90 double* velocity, double* globalVelocity,
91 int* info, SolverOptions* options);
92
93 void gfc3d_IPM_init(GlobalFrictionContactProblem* problem, SolverOptions* options);
94
95 void gfc3d_IPM_free(GlobalFrictionContactProblem* problem, SolverOptions* options);
96
97 void gfc3d_ipm_set_default(SolverOptions* options);
98
99
100 void gfc3d_nsn_ac_set_default(SolverOptions* options);
101 void gfc3d_aclmfp_set_default(SolverOptions* options);
102 void gfc3d_admm_set_default(SolverOptions* options);
103
104
105
106#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
107}
108#endif
109
110#endif