Program listing for file numerics/src/FrictionContact/Friction_cst.h#
Return to documentation for this file
1#ifndef FRICTION_CST_H
2#define FRICTION_CST_H
3
4
5enum FRICTION_SOLVER
6{
7
8 SICONOS_FRICTION_2D_NSGS = 400,
9 SICONOS_FRICTION_2D_CPG = 402,
10 SICONOS_FRICTION_2D_LEMKE = 404,
11 SICONOS_FRICTION_2D_ENUM = 405,
12
13
14
15
16 SICONOS_FRICTION_3D_NSGS = 500,
17
18 SICONOS_FRICTION_3D_NSGSV = 501,
19
20 SICONOS_FRICTION_3D_PROX = 502,
21
22 SICONOS_FRICTION_3D_TFP = 503,
23
24 SICONOS_FRICTION_3D_NSN_AC = 504,
25
26 SICONOS_FRICTION_3D_DSFP = 505,
27
28 SICONOS_FRICTION_3D_VI_FPP = 506,
29
30 SICONOS_FRICTION_3D_VI_EG = 507,
31
32 SICONOS_FRICTION_3D_HP = 508,
33
34 SICONOS_FRICTION_3D_NCPGlockerFBFixedPoint = 510,
35
36 SICONOS_FRICTION_3D_FPP = 511,
37
38 SICONOS_FRICTION_3D_EG = 512,
39
40 SICONOS_FRICTION_3D_NSN_FB = 513,
41
42 SICONOS_FRICTION_3D_GAMS_PATH = 514,
43
44 SICONOS_FRICTION_3D_GAMS_PATHVI = 515,
45
46 SICONOS_FRICTION_3D_ACLMFP = 516,
47
48 SICONOS_FRICTION_3D_SOCLCP = 517,
49
50 SICONOS_FRICTION_3D_GAMS_LCP_PATH = 518,
51
52 SICONOS_FRICTION_3D_GAMS_LCP_PATHVI = 519,
53
54 SICONOS_FRICTION_3D_NSN_NM = 520,
55 SICONOS_FRICTION_3D_NSN_AC_TEST = 521,
56
57 SICONOS_FRICTION_3D_PFP = 522,
58
59 SICONOS_FRICTION_3D_ADMM = 523,
60
61
62
63
64 SICONOS_FRICTION_3D_ONECONTACT_NSN= 550,
65
66 SICONOS_FRICTION_3D_ONECONTACT_NSN_GP = 551,
67
68 SICONOS_FRICTION_3D_ONECONTACT_ProjectionOnCone = 552,
69
70 SICONOS_FRICTION_3D_ONECONTACT_ProjectionOnConeWithLocalIteration = 553,
71 SICONOS_FRICTION_3D_ONECONTACT_ProjectionOnConeWithRegularization = 554,
72 SICONOS_FRICTION_3D_ONECONTACT_ProjectionOnConeWithDiagonalization = 555,
73 SICONOS_FRICTION_3D_ONECONTACT_ProjectionOnCone_velocity = 558,
74
75
76 SICONOS_FRICTION_3D_NCPGlockerFBPATH = 556,
77
78 SICONOS_FRICTION_3D_NCPGlockerFBNewton = 561,
79 SICONOS_FRICTION_3D_ONECONTACT_QUARTIC = 562,
80 SICONOS_FRICTION_3D_ONECONTACT_QUARTIC_NU = 563,
81 SICONOS_FRICTION_3D_ONECONTACT_ProjectionOnCylinder = 557,
82 SICONOS_FRICTION_3D_ONECONTACT_ProjectionOnCylinderWithLocalIteration = 564,
83 SICONOS_FRICTION_3D_ONECONTACT_NSN_GP_HYBRID = 565,
84 SICONOS_FRICTION_3D_VI_FPP_Cylinder = 566,
85 SICONOS_FRICTION_3D_CONVEXQP_PG_CYLINDER = 567,
86
87
88 SICONOS_GLOBAL_FRICTION_3D_NSGS_WR = 600,
89 SICONOS_GLOBAL_FRICTION_3D_NSGSV_WR = 601,
90 SICONOS_GLOBAL_FRICTION_3D_PROX_WR = 602,
91 SICONOS_GLOBAL_FRICTION_3D_DSFP_WR = 603,
92 SICONOS_GLOBAL_FRICTION_3D_TFP_WR = 604,
93 SICONOS_GLOBAL_FRICTION_3D_NSGS = 605,
94 SICONOS_GLOBAL_FRICTION_3D_NSN_AC_WR = 606,
95 SICONOS_GLOBAL_FRICTION_3D_NSN_AC = 607,
96 SICONOS_GLOBAL_FRICTION_3D_GAMS_PATH = 608,
97 SICONOS_GLOBAL_FRICTION_3D_GAMS_PATHVI = 609,
98
99 SICONOS_GLOBAL_FRICTION_3D_VI_FPP = 610,
100
101 SICONOS_GLOBAL_FRICTION_3D_VI_EG = 611,
102 SICONOS_GLOBAL_FRICTION_3D_ACLMFP = 612,
103 SICONOS_GLOBAL_FRICTION_3D_ADMM = 613,
104 SICONOS_GLOBAL_FRICTION_3D_ADMM_WR = 614,
105 SICONOS_GLOBAL_FRICTION_3D_IPM = 615,
106
107
108
109 SICONOS_ROLLING_FRICTION_3D_NSGS = 3000,
110 SICONOS_ROLLING_FRICTION_3D_ONECONTACT_ProjectionOnCone= 3001,
111 SICONOS_ROLLING_FRICTION_3D_ONECONTACT_ProjectionOnConeWithLocalIteration = 3002,
112 SICONOS_ROLLING_FRICTION_3D_ADMM = 3003,
113
114
115 SICONOS_ROLLING_FRICTION_2D_NSGS = 4000,
116 SICONOS_ROLLING_FRICTION_2D_ONECONTACT_ProjectionOnCone= 4001,
117 SICONOS_ROLLING_FRICTION_2D_ONECONTACT_ProjectionOnConeWithLocalIteration = 4002,
118
119
120 SICONOS_GLOBAL_ROLLING_FRICTION_3D_NSGS_WR = 5000,
121 SICONOS_GLOBAL_ROLLING_FRICTION_3D_IPM = 5001
122
123};
124
125
126
127extern const char* const SICONOS_FRICTION_2D_NSGS_STR ;
128extern const char* const SICONOS_FRICTION_2D_CPG_STR ;
129extern const char* const SICONOS_FRICTION_2D_LEMKE_STR ;
130extern const char* const SICONOS_FRICTION_2D_ENUM_STR ;
131
132extern const char* const SICONOS_FRICTION_3D_NSGS_STR ;
133extern const char* const SICONOS_FRICTION_3D_NSGSV_STR ;
134extern const char* const SICONOS_FRICTION_3D_PROX_STR;
135extern const char* const SICONOS_FRICTION_3D_TFP_STR ;
136extern const char* const SICONOS_FRICTION_3D_PFP_STR ;
137extern const char* const SICONOS_FRICTION_3D_NSN_AC_STR ;
138extern const char* const SICONOS_FRICTION_3D_NSN_AC_TEST_STR ;
139extern const char* const SICONOS_FRICTION_3D_NSN_FB_STR ;
140extern const char* const SICONOS_FRICTION_3D_NSN_NM_STR ;
141extern const char* const SICONOS_FRICTION_3D_DSFP_STR ;
142extern const char* const SICONOS_FRICTION_3D_VI_EG_STR ;
143extern const char* const SICONOS_FRICTION_3D_VI_FPP_STR ;
144extern const char* const SICONOS_FRICTION_3D_EG_STR ;
145extern const char* const SICONOS_FRICTION_3D_FPP_STR ;
146extern const char* const SICONOS_FRICTION_3D_HP_STR ;
147extern const char* const SICONOS_FRICTION_3D_NCPGlockerFBFixedPoint_STR;
148extern const char* const SICONOS_FRICTION_3D_ONECONTACT_NSN_STR;
149extern const char* const SICONOS_FRICTION_3D_ONECONTACT_NSN_GP_STR;
150extern const char* const SICONOS_FRICTION_3D_ONECONTACT_NSN_GP_HYBRID_STR;
151extern const char* const SICONOS_FRICTION_3D_NCPGlockerFBNewton_STR;
152extern const char* const SICONOS_FRICTION_3D_ONECONTACT_ProjectionOnConeWithDiagonalization_STR;
153extern const char* const SICONOS_FRICTION_3D_ONECONTACT_ProjectionOnCone_STR;
154extern const char* const SICONOS_FRICTION_3D_ONECONTACT_ProjectionOnConeWithLocalIteration_STR;
155extern const char* const SICONOS_FRICTION_3D_ONECONTACT_ProjectionOnConeWithRegularization_STR;
156extern const char* const SICONOS_FRICTION_3D_NCPGlockerFBPATH_STR;
157extern const char* const SICONOS_FRICTION_3D_ONECONTACT_ProjectionOnCylinder_STR;
158extern const char* const SICONOS_FRICTION_3D_ONECONTACT_ProjectionOnCylinderWithLocalIteration_STR;
159extern const char* const SICONOS_FRICTION_3D_ONECONTACT_ProjectionOnCone_velocity_STR;
160extern const char* const SICONOS_FRICTION_3D_CONVEXQP_PG_CYLINDER_STR;
161extern const char* const SICONOS_FRICTION_3D_VI_FPP_Cylinder_STR;
162extern const char* const SICONOS_FRICTION_3D_GAMS_PATH_STR;
163extern const char* const SICONOS_FRICTION_3D_GAMS_PATHVI_STR;
164extern const char* const SICONOS_FRICTION_3D_GAMS_LCP_PATH_STR;
165extern const char* const SICONOS_FRICTION_3D_GAMS_LCP_PATHVI_STR;
166extern const char* const SICONOS_FRICTION_3D_SOCLCP_STR;
167extern const char* const SICONOS_FRICTION_3D_ACLMFP_STR;
168extern const char* const SICONOS_FRICTION_3D_ADMM_STR;
169extern const char* const SICONOS_GLOBAL_FRICTION_3D_NSGS_WR_STR ;
170extern const char* const SICONOS_GLOBAL_FRICTION_3D_NSGSV_WR_STR ;
171extern const char* const SICONOS_GLOBAL_FRICTION_3D_PROX_WR_STR ;
172extern const char* const SICONOS_GLOBAL_FRICTION_3D_DSFP_WR_STR ;
173extern const char* const SICONOS_GLOBAL_FRICTION_3D_TFP_WR_STR ;
174extern const char* const SICONOS_GLOBAL_FRICTION_3D_NSGS_STR ;
175extern const char* const SICONOS_GLOBAL_FRICTION_3D_NSN_AC_WR_STR ;
176extern const char* const SICONOS_GLOBAL_FRICTION_3D_NSN_AC_STR;
177extern const char* const SICONOS_GLOBAL_FRICTION_3D_GAMS_PATH_STR;
178extern const char* const SICONOS_GLOBAL_FRICTION_3D_GAMS_PATHVI_STR;
179extern const char* const SICONOS_GLOBAL_FRICTION_3D_VI_FPP_STR;
180extern const char* const SICONOS_GLOBAL_FRICTION_3D_VI_EG_STR;
181extern const char* const SICONOS_GLOBAL_FRICTION_3D_ACLMFP_STR;
182extern const char* const SICONOS_GLOBAL_FRICTION_3D_ADMM_STR;
183extern const char* const SICONOS_GLOBAL_FRICTION_3D_ADMM_WR_STR;
184extern const char* const SICONOS_GLOBAL_FRICTION_3D_IPM_STR;
185extern const char* const SICONOS_FRICTION_3D_ONECONTACT_QUARTIC_STR ;
186extern const char* const SICONOS_FRICTION_3D_ONECONTACT_QUARTIC_NU_STR ;
187
188
189extern const char* const SICONOS_ROLLING_FRICTION_3D_NSGS_STR ;
190extern const char* const SICONOS_ROLLING_FRICTION_3D_ONECONTACT_ProjectionOnCone_STR;
191extern const char* const SICONOS_ROLLING_FRICTION_3D_ONECONTACT_ProjectionOnConeWithLocalIteration_STR;
192extern const char* const SICONOS_ROLLING_FRICTION_3D_ADMM_STR ;
193
194extern const char* const SICONOS_ROLLING_FRICTION_2D_NSGS_STR ;
195extern const char* const SICONOS_ROLLING_FRICTION_2D_ONECONTACT_ProjectionOnCone_STR;
196extern const char* const SICONOS_ROLLING_FRICTION_2D_ONECONTACT_ProjectionOnConeWithLocalIteration_STR;
197
198extern const char* const SICONOS_GLOBAL_ROLLING_FRICTION_3D_NSGS_WR_STR ;
199extern const char* const SICONOS_GLOBAL_ROLLING_FRICTION_3D_IPM_STR ;
200
201enum SICONOS_FRICTION_3D_IPARAM
202{
203
204 SICONOS_FRICTION_3D_IPARAM_INTERNAL_ERROR_STRATEGY =2,
205
206 SICONOS_FRICTION_3D_IPARAM_RESCALING =3,
207
208 SICONOS_FRICTION_3D_IPARAM_RESCALING_CONE =4,
209
210 SICONOS_FRICTION_3D_CURRENT_CONTACT_NUMBER =5,
211
212 SICONOS_FRICTION_3D_IPARAM_ERROR_EVALUATION = 7,
213
214 SICONOS_FRICTION_3D_IPARAM_ERROR_EVALUATION_FREQUENCY = 8,
215 SICONOS_FRICTION_3D_NUMBER_OF_CONTACTS = 17,
216};
217
218enum SICONOS_FRICTION_INTERNAL_ERROR_STRATEGY
219{
220 SICONOS_FRICTION_3D_INTERNAL_ERROR_STRATEGY_ADAPTIVE =0,
221 SICONOS_FRICTION_3D_INTERNAL_ERROR_STRATEGY_GIVEN_VALUE =1,
222 SICONOS_FRICTION_3D_INTERNAL_ERROR_STRATEGY_ADAPTIVE_N_CONTACT =2
223};
224
225enum SICONOS_FRICTION_3D_RESCALING_ENUM
226{
227 SICONOS_FRICTION_3D_RESCALING_NO =0,
228 SICONOS_FRICTION_3D_RESCALING_SCALAR=1,
229 SICONOS_FRICTION_3D_RESCALING_BALANCING_M=2,
230 SICONOS_FRICTION_3D_RESCALING_BALANCING_MH=3,
231 SICONOS_FRICTION_3D_RESCALING_BALANCING_MHHT=4
232};
233
234enum SICONOS_FRICTION_3D_RESCALING_CONE_ENUM
235{
236 SICONOS_FRICTION_3D_RESCALING_CONE_NO =0,
237 SICONOS_FRICTION_3D_RESCALING_CONE_YES=1
238};
239
240enum SICONOS_FRICTION_3D_DPARAM
241{
242
243 SICONOS_FRICTION_3D_DPARAM_INTERNAL_ERROR_RATIO = 2
244};
245
246
247enum SICONOS_FRICTION_3D_NSGS_IPARAM
248{
249
250 SICONOS_FRICTION_3D_NSGS_RELAXATION=4,
251
252 SICONOS_FRICTION_3D_NSGS_SHUFFLE=5,
253
254 SICONOS_FRICTION_3D_NSGS_SHUFFLE_SEED=6,
255
256 SICONOS_FRICTION_3D_NSGS_FREEZING_CONTACT =19,
257
258 SICONOS_FRICTION_3D_NSGS_FILTER_LOCAL_SOLUTION =14,
259};
260enum SICONOS_FRICTION_3D_NSGS_DPARAM
261{
262
263 SICONOS_FRICTION_3D_NSGS_RELAXATION_VALUE=8,
264};
265
266
267enum SICONOS_FRICTION_3D_NSGS_LOCALSOLVER_IPARAM
268{
269 SICONOS_FRICTION_3D_NSGS_LOCALSOLVER_IPARAM_USE_TRIVIAL_SOLUTION=10
270};
271
272enum SICONOS_FRICTION_3D_NSGS_LOCALSOLVER_USE_TRIVIAL_SOLUTION
273{
274 SICONOS_FRICTION_3D_NSGS_LOCALSOLVER_USE_TRIVIAL_SOLUTION_FALSE=0,
275 SICONOS_FRICTION_3D_NSGS_LOCALSOLVER_USE_TRIVIAL_SOLUTION_TRUE=1
276};
277
278enum SICONOS_FRICTION_3D_NSGS_ERROR_EVALUATION_ENUM
279{
280
281 SICONOS_FRICTION_3D_NSGS_ERROR_EVALUATION_FULL = 0,
282
283 SICONOS_FRICTION_3D_NSGS_ERROR_EVALUATION_LIGHT = 1,
284
285 SICONOS_FRICTION_3D_NSGS_ERROR_EVALUATION_LIGHT_WITH_FULL_FINAL = 2,
286
287 SICONOS_FRICTION_3D_NSGS_ERROR_EVALUATION_ADAPTIVE =3,
288};
289enum SICONOS_FRICTION_3D_NSGS_SHUFFLE_ENUM
290{
291 SICONOS_FRICTION_3D_NSGS_SHUFFLE_FALSE=0,
292 SICONOS_FRICTION_3D_NSGS_SHUFFLE_TRUE=1,
293 SICONOS_FRICTION_3D_NSGS_SHUFFLE_TRUE_EACH_LOOP=2
294};
295
296enum SICONOS_FRICTION_3D_NSGS_RELAXATION_ENUM
297{
298 SICONOS_FRICTION_3D_NSGS_RELAXATION_FALSE,
299 SICONOS_FRICTION_3D_NSGS_RELAXATION_TRUE
300};
301enum SICONOS_FRICTION_3D_NSGS_FILTER_LOCAL_SOLUTION_ENUM
302{
303
304 SICONOS_FRICTION_3D_NSGS_FILTER_LOCAL_SOLUTION_FALSE =0,
305 SICONOS_FRICTION_3D_NSGS_FILTER_LOCAL_SOLUTION_TRUE =1
306};
307
308enum SICONOS_FRICTION_3D_NSN_IPARAM
309{
310
311 SICONOS_FRICTION_3D_NSN_RHO_STRATEGY = 9,
312
313 SICONOS_FRICTION_3D_NSN_FORMULATION = 10,
314
315 SICONOS_FRICTION_3D_NSN_LINESEARCH = 11,
316
317 SICONOS_FRICTION_3D_NSN_LINESEARCH_MAX_ITER = 12,
318
319 SICONOS_FRICTION_3D_NSN_LINEAR_SOLVER = 13,
320
321 SICONOS_FRICTION_3D_NSN_HYBRID_STRATEGY = 14,
322
323 SICONOS_FRICTION_3D_NSN_HYBRID_MAX_LOOP = 15,
324
325 SICONOS_FRICTION_3D_NSN_HYBRID_MAX_ITER = 16,
326
327 SICONOS_FRICTION_3D_NSN_MEMORY_ALLOCATED= 17,
328
329 SICONOS_FRICTION_3D_NSN_MPI_COM= 18
330
331};
332
333enum SICONOS_FC3D_NSN_LINEAR_SOLVER
334 {
335 SICONOS_FRICTION_3D_NSN_USE_CSLUSOL = 0,
336 SICONOS_FRICTION_3D_NSN_USE_MUMPS = 1
337 };
338
339enum SICONOS_FRICTION_3D_NSN_DPARAM
340{
341
342 SICONOS_FRICTION_3D_NSN_RHO = 3,
343};
344
345
346enum SICONOS_FRICTION_3D_NSN_RHO_STRATEGY_ENUM
347{
348
349 SICONOS_FRICTION_3D_NSN_FORMULATION_RHO_STRATEGY_CONSTANT = 0,
350
351 SICONOS_FRICTION_3D_NSN_FORMULATION_RHO_STRATEGY_SPECTRAL_NORM =1,
352
353 SICONOS_FRICTION_3D_NSN_FORMULATION_RHO_STRATEGY_SPLIT_SPECTRAL_NORM_COND = 2,
354
355 SICONOS_FRICTION_3D_NSN_FORMULATION_RHO_STRATEGY_SPLIT_SPECTRAL_NORM =3,
356
357 SICONOS_FRICTION_3D_NSN_FORMULATION_RHO_STRATEGY_ADAPTIVE =4,
358};
359
360
361enum SICONOS_FRICTION_3D_NSN_FORMULATION_ENUM
362{
363 SICONOS_FRICTION_3D_NSN_FORMULATION_ALARTCURNIER_STD =0,
364 SICONOS_FRICTION_3D_NSN_FORMULATION_JEANMOREAU_STD = 1,
365 SICONOS_FRICTION_3D_NSN_FORMULATION_ALARTCURNIER_GENERATED =2,
366 SICONOS_FRICTION_3D_NSN_FORMULATION_JEANMOREAU_GENERATED =3,
367 SICONOS_FRICTION_3D_NSN_FORMULATION_NULL = 4 ,
368};
369
370
371enum SICONOS_FRICTION_3D_NSN_LINESEARCH_ENUM
372{
373 SICONOS_FRICTION_3D_NSN_LINESEARCH_GOLDSTEINPRICE = 0 ,
374 SICONOS_FRICTION_3D_NSN_LINESEARCH_ARMIJO = 1,
375 SICONOS_FRICTION_3D_NSN_LINESEARCH_NO=-1,
376};
377
378enum SICONOS_FRICTION_3D_NSN_HYBRID_ENUM
379{
380
381 SICONOS_FRICTION_3D_NSN_HYBRID_STRATEGY_NO = 0,
382
383 SICONOS_FRICTION_3D_NSN_HYBRID_STRATEGY_PLI_NSN_LOOP = 1,
384
385 SICONOS_FRICTION_3D_NSN_HYBRID_STRATEGY_NSN_AND_PLI_NSN_LOOP = 2,
386
387 SICONOS_FRICTION_3D_NSN_HYBRID_STRATEGY_VI_EG_NSN =3
388};
389
390
391
392enum SICONOS_FRICTION_3D_PROXIMAL_IPARAM
393{
394
395 SICONOS_FRICTION_3D_FP_ERROR_STRATEGY = 2,
396
397 SICONOS_FRICTION_3D_PROXIMAL_IPARAM_CUMULATIVE_ITER_DONE = 6,
398
399 SICONOS_FRICTION_3D_PROXIMAL_IPARAM_RELAXATION = 8,
400
401 SICONOS_FRICTION_3D_PROXIMAL_IPARAM_STRATEGY = 9,
402};
403
404
405enum SICONOS_FRICTION_3D_PROXIMAL_DPARAM
406{
407
408 SICONOS_FRICTION_3D_PROXIMAL_DPARAM_ALPHA =3,
409 SICONOS_FRICTION_3D_PROXIMAL_DPARAM_SIGMA =4,
410 SICONOS_FRICTION_3D_PROXIMAL_DPARAM_NU =5,
411 SICONOS_FRICTION_3D_PROXIMAL_DPARAM_RELAXATION =8,
412
413};
414
415enum SICONOS_FRICTION_3D_PROXIMAL
416{
417
418 SICONOS_FRICTION_3D_PROXIMAL_PROX = 0,
419
420
421 SICONOS_FRICTION_3D_PROXIMAL_REGULARIZATION = 1
422
423};
424
425enum SICONOS_FRICTION_3D_ADMM_IPARAM_ENUM
426{
427
428 SICONOS_FRICTION_3D_ADMM_IPARAM_RHO_STRATEGY = 9,
429
430 SICONOS_FRICTION_3D_ADMM_IPARAM_INITIAL_RHO = 10,
431
432 SICONOS_FRICTION_3D_ADMM_IPARAM_ACCELERATION= 11,
433
434 SICONOS_FRICTION_3D_ADMM_IPARAM_SYMMETRY= 12,
435
436 SICONOS_FRICTION_3D_ADMM_IPARAM_SPARSE_STORAGE= 13,
437
438 SICONOS_FRICTION_3D_ADMM_IPARAM_GET_PROBLEM_INFO= 14,
439 SICONOS_FRICTION_3D_ADMM_IPARAM_UPDATE_S= 15,
440 SICONOS_FRICTION_3D_ADMM_IPARAM_FULL_H= 17
441};
442
443enum SICONOS_FRICTION_3D_ADMM_DPARAM_ENUM
444{
445
446 SICONOS_FRICTION_3D_ADMM_RHO = 3,
447
448 SICONOS_FRICTION_3D_ADMM_RESTART_ETA = 4,
449
450 SICONOS_FRICTION_3D_ADMM_BALANCING_RESIDUAL_TAU = 5,
451
452 SICONOS_FRICTION_3D_ADMM_BALANCING_RESIDUAL_PHI = 6
453};
454
455enum SICONOS_FRICTION_3D_ADMM_ACCELERATION_ENUM
456{
457 SICONOS_FRICTION_3D_ADMM_NO_ACCELERATION= 0,
458 SICONOS_FRICTION_3D_ADMM_ACCELERATION= 1,
459 SICONOS_FRICTION_3D_ADMM_ACCELERATION_AND_RESTART= 2
460};
461
462enum SICONOS_FRICTION_3D_ADMM_SYMMETRY_ENUM
463{
464
465 SICONOS_FRICTION_3D_ADMM_CHECK_SYMMETRY= 0,
466
467 SICONOS_FRICTION_3D_ADMM_FORCED_SYMMETRY= 1,
468
469 SICONOS_FRICTION_3D_ADMM_FORCED_ASYMMETRY= 2,
470
471 SICONOS_FRICTION_3D_ADMM_SYMMETRIZE= 3,
472
473 SICONOS_FRICTION_3D_ADMM_ASSUME_SYMMETRY= 4
474};
475
476enum SICONOS_FRICTION_3D_ADMM_STORAGE_ENUM
477{
478 SICONOS_FRICTION_3D_ADMM_KEEP_STORAGE= 0,
479 SICONOS_FRICTION_3D_ADMM_FORCED_SPARSE_STORAGE= 1
480};
481
482enum SICONOS_FRICTION_3D_ADMM_GET_PROBLEM_INFO_ENUM
483{
484 SICONOS_FRICTION_3D_ADMM_GET_PROBLEM_INFO_NO= 0,
485 SICONOS_FRICTION_3D_ADMM_GET_PROBLEM_INFO_YES= 1
486};
487
488enum SICONOS_FRICTION_3D_ADMM_UPDATE_S_ENUM
489{
490 SICONOS_FRICTION_3D_ADMM_UPDATE_S_YES= 0,
491 SICONOS_FRICTION_3D_ADMM_UPDATE_S_NO= 1
492};
493
494enum SICONOS_FRICTION_3D_ADMM_FULL_H_ENUM
495{
496 SICONOS_FRICTION_3D_ADMM_FULL_H_NO= 0,
497 SICONOS_FRICTION_3D_ADMM_FULL_H_YES= 1
498};
499
500enum SICONOS_FRICTION_3D_ADMM_RHO_STRATEGY_ENUM
501{
502
503 SICONOS_FRICTION_3D_ADMM_RHO_STRATEGY_CONSTANT = 0,
504
505 SICONOS_FRICTION_3D_ADMM_RHO_STRATEGY_RESIDUAL_BALANCING =2,
506
507 SICONOS_FRICTION_3D_ADMM_RHO_STRATEGY_SCALED_RESIDUAL_BALANCING =3
508};
509
510enum SICONOS_FRICTION_3D_ADMM_INITIAL_RHO_ENUM
511{
512
513 SICONOS_FRICTION_3D_ADMM_INITIAL_RHO_GIVEN = 0,
514
515 SICONOS_FRICTION_3D_ADMM_INITIAL_RHO_NORM_INF =1,
516
517 SICONOS_FRICTION_3D_ADMM_INITIAL_RHO_EIGENVALUES =2
518};
519
520enum SICONOS_FRICTION_3D_IPM_IPARAM_ENUM
521{
522
523 SICONOS_FRICTION_3D_IPM_IPARAM_NESTEROV_TODD_SCALING= 11,
524
525 SICONOS_FRICTION_3D_IPM_IPARAM_SPARSE_STORAGE= 12,
526
527 SICONOS_FRICTION_3D_IPM_IPARAM_GET_PROBLEM_INFO= 13,
528
529 SICONOS_FRICTION_3D_IPM_IPARAM_ITERATES_MATLAB_FILE= 14,
530
531 SICONOS_FRICTION_3D_IPM_IPARAM_REDUCED_SYSTEM= 15,
532
533 SICONOS_FRICTION_3D_IPM_IPARAM_FINISH_WITHOUT_SCALING= 16,
534
535 SICONOS_FRICTION_3D_IPM_IPARAM_UPDATE_S = 17,
536
537 SICONOS_FRICTION_3D_IPM_IPARAM_NESTEROV_TODD_SCALING_METHOD = 18,
538
539 SICONOS_FRICTION_3D_IPM_IPARAM_REDUCED_SYSTEM_METHOD = 19,
540
541 SICONOS_FRICTION_3D_IPM_IPARAM_LS_FORM = 10,
542
543 SICONOS_FRICTION_3D_IPM_IPARAM_REFINEMENT = 9,
544
545 SICONOS_FRICTION_3D_IPM_IPARAM_CHOLESKY = 8,
546
547 SICONOS_FRICTION_3D_IPM_IPARAM_ITERATES_PYTHON_FILE= 7,
548};
549
550enum SICONOS_FRICTION_3D_IPM_DPARAM_ENUM
551{
552
553 SICONOS_FRICTION_3D_IPM_SIGMA_PARAMETER_1 = 7,
554 SICONOS_FRICTION_3D_IPM_SIGMA_PARAMETER_2 = 8,
555 SICONOS_FRICTION_3D_IPM_SIGMA_PARAMETER_3 = 9,
556
557
558 SICONOS_FRICTION_3D_IPM_GAMMA_PARAMETER_1 = 10,
559 SICONOS_FRICTION_3D_IPM_GAMMA_PARAMETER_2 = 11,
560};
561
562enum SICONOS_FRICTION_3D_IPM_STORAGE_ENUM
563{
564 SICONOS_FRICTION_3D_IPM_KEEP_STORAGE= 0,
565 SICONOS_FRICTION_3D_IPM_FORCED_SPARSE_STORAGE= 1
566};
567
568enum SICONOS_FRICTION_3D_IPM_GET_PROBLEM_INFO_ENUM
569{
570 SICONOS_FRICTION_3D_IPM_GET_PROBLEM_INFO_NO= 0,
571 SICONOS_FRICTION_3D_IPM_GET_PROBLEM_INFO_YES= 1
572};
573
574enum SICONOS_FRICTION_3D_IPM_NESTEROV_TODD_SCALING_METHOD_ENUM
575{
576 SICONOS_FRICTION_3D_IPM_NESTEROV_TODD_SCALING_WITH_QP = 0,
577 SICONOS_FRICTION_3D_IPM_NESTEROV_TODD_SCALING_WITH_F = 1
578};
579
580enum SICONOS_FRICTION_3D_IPM_IPARAM_REDUCED_SYSTEM_METHOD_ENUM
581{
582 SICONOS_FRICTION_3D_IPM_IPARAM_REDUCED_SYSTEM_WITH_QP2 = 0,
583 SICONOS_FRICTION_3D_IPM_IPARAM_REDUCED_SYSTEM_WITH_QPH = 1
584};
585enum SICONOS_FRICTION_3D_IPM_IPARAM_LS_FORM_ENUM
586{
587 SICONOS_FRICTION_3D_IPM_IPARAM_LS_3X3_NOSCAL = 0,
588 SICONOS_FRICTION_3D_IPM_IPARAM_LS_3X3_QP2 = 1,
589 SICONOS_FRICTION_3D_IPM_IPARAM_LS_3X3_QPH = 2,
590 SICONOS_FRICTION_3D_IPM_IPARAM_LS_2X2_QP2 = 3,
591 SICONOS_FRICTION_3D_IPM_IPARAM_LS_2X2_QPH = 4,
592 SICONOS_FRICTION_3D_IPM_IPARAM_LS_1X1_QPH = 5,
593 SICONOS_FRICTION_3D_IPM_IPARAM_LS_1X1_JQJ = 6,
594 SICONOS_FRICTION_3D_IPM_IPARAM_LS_2X2_JQJ = 10,
595 SICONOS_FRICTION_3D_IPM_IPARAM_LS_2X2_invPH = 11,
596 SICONOS_FRICTION_3D_IPM_IPARAM_LS_3X3_JQinv = 12,
597};
598
599enum SICONOS_FRICTION_3D_IPM_IPARAM_FINISH_WITHOUT_SCALING_ENUM
600{
601 SICONOS_FRICTION_3D_IPM_IPARAM_FINISH_WITHOUT_SCALING_NO = 0,
602 SICONOS_FRICTION_3D_IPM_IPARAM_FINISH_WITHOUT_SCALING_YES = 1
603};
604
605enum SICONOS_FRICTION_3D_IPM_IPARAM_REFINEMENT_ENUM
606{
607 SICONOS_FRICTION_3D_IPM_IPARAM_REFINEMENT_NO = 0,
608 SICONOS_FRICTION_3D_IPM_IPARAM_REFINEMENT_YES = 1,
609 SICONOS_FRICTION_3D_IPM_IPARAM_REFINEMENT_AFTER = 2
610};
611
612enum SICONOS_FRICTION_3D_IPM_IPARAM_CHOLESKY_ENUM
613{
614 SICONOS_FRICTION_3D_IPM_IPARAM_CHOLESKY_NO = 0,
615 SICONOS_FRICTION_3D_IPM_IPARAM_CHOLESKY_YES = 1
616};
617#endif