Program listing for file numerics/src/FrictionContact/GlobalRollingFrictionContactProblem.h#
Return to documentation for this file
1#ifndef GLOBALROLLINGFRICTIONCONTACTPROBLEM_H
2#define GLOBALROLLINGFRICTIONCONTACTPROBLEM_H
3
4
5
6#include "NumericsFwd.h"
7#include "SiconosConfig.h"
8
9#include <stdio.h>
10
11
12struct GlobalRollingFrictionContactProblem {
13
14 int dimension;
15
16 int numberOfContacts;
17
18 NumericsMatrix *M;
19
20 NumericsMatrix *H;
21
22 double *q;
23
24 double *b;
25
26 double *mu;
27
28 double *mu_r;
29};
30
31#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
32extern "C" {
33#endif
34
35
36GlobalRollingFrictionContactProblem *
37globalRollingFrictionContactProblem_new(void);
38
39
40GlobalRollingFrictionContactProblem *
41globalRollingFrictionContactProblem_new_with_data(int dim, int nc,
42 NumericsMatrix *M, double *q,
43 double *mu, double *mu_r);
44
45
46void globalRollingFrictionContactProblem_free(
47 GlobalRollingFrictionContactProblem *problem);
48
49
50void globalRollingFrictionContact_display(
51 GlobalRollingFrictionContactProblem *problem);
52
53
54int globalRollingFrictionContact_printInFile(
55 GlobalRollingFrictionContactProblem *problem, FILE *file);
56
57
58int globalRollingFrictionContact_printInFilename(
59 GlobalRollingFrictionContactProblem *problem, char *filename);
60
61
62GlobalRollingFrictionContactProblem *
63globalRollingFrictionContact_newFromFile(FILE *file);
64
65
66GlobalRollingFrictionContactProblem *
67globalRollingFrictionContact_new_from_filename(const char *filename);
68
69
70int globalRollingFrictionContact_computeGlobalVelocity(
71 GlobalRollingFrictionContactProblem *problem, double *reaction,
72 double *globalVelocity);
73
74
75RollingFrictionContactProblem *
76globalRollingFrictionContact_reformulation_RollingFrictionContact(
77 GlobalRollingFrictionContactProblem *problem);
78
79#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
80}
81#endif
82
83#endif