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

 1#ifndef FRICTIONCONTACT3D_nonsmooth_Newton_AlartCurnier_H
 2#define FRICTIONCONTACT3D_nonsmooth_Newton_AlartCurnier_H
 3
 4
 5#include "NumericsFwd.h"
 6#include "SiconosConfig.h"
 7
 8#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
 9extern "C"
10{
11#endif
12
13
14  typedef void (*AlartCurnierFun3x3Ptr)(double* reaction,
15                                        double* velocity,
16                                        double mu,
17                                        double* rho,
18                                        double* F,
19                                        double* A,
20                                        double* B);
21  typedef struct
22  {
23    AlartCurnierFun3x3Ptr computeACFun3x3;
24  } AlartCurnierParams;
25
26
27  void nonsmoothEqnAlartCurnierFun(void* arg,
28                                   unsigned int problemSize,
29                                   double* reaction,
30                                   double* velocity,
31                                   double* mu,
32                                   double* rho,
33                                   double* result,
34                                   double* A,
35                                   double* B);
36
37
38  void fc3d_nonsmooth_Newton_AlartCurnier(
39    FrictionContactProblem* problem,
40    double *reaction,
41    double *velocity,
42    int *info,
43    SolverOptions *options);
44
45
46
47
48  void fc3d_AlartCurnierFunction(
49    unsigned int problemSize,
50    AlartCurnierFun3x3Ptr computeACFun3x3,
51    double *reaction3D,
52    double *velocity3D,
53    double *mu,
54    double *rho3D,
55    double *output_blocklist3,
56    double *output_blocklist3x3_1,
57    double *output_blocklist3x3_2);
58
59#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
60}
61#endif
62
63#endif