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

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

 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