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

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

 1#ifndef FRICTIONCONTACT3D_onecontact_nonsmooth_Newton_solvers_H
 2#define FRICTIONCONTACT3D_onecontact_nonsmooth_Newton_solvers_H
 3
 4
 5
 6#include "NumericsFwd.h"
 7#include "SiconosConfig.h"
 8
 9#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
10extern "C" {
11#endif
12
13typedef void (*computeNonsmoothFunction)(double*, double*, double, double*, double*, double*,
14                                         double*);
15
16
17void fc3d_onecontact_nonsmooth_Newton_solvers_initialize(FrictionContactProblem* problem,
18                                                         FrictionContactProblem* localproblem,
19                                                         SolverOptions* options);
20
21
22int fc3d_onecontact_nonsmooth_Newton_solvers_solve(FrictionContactProblem* localproblem,
23                                                   double*, SolverOptions* options);
24
25
26void fc3d_onecontact_nonsmooth_Newton_solvers_free(FrictionContactProblem* problem,
27                                                   FrictionContactProblem* localproblem,
28                                                   SolverOptions* localsolver_options);
29
30
31void fc3d_onecontact_nonsmooth_Newton_solvers_computeError(int dimension, double* velocity,
32                                                           double* reaction,
33                                                           double* output_error);
34
35
36void fc3d_onecontact_nonsmooth_Newton_AC_update(int number, FrictionContactProblem* problem,
37                                                FrictionContactProblem* localproblem,
38                                                double* reaction, SolverOptions* options);
39
40int fc3d_onecontact_nonsmooth_Newton_solvers_solve_direct(FrictionContactProblem* localproblem,
41                                                          double* R, SolverOptions* options);
42
43int fc3d_onecontact_nonsmooth_Newton_solvers_solve_damped(FrictionContactProblem* localproblem,
44                                                          double* R, SolverOptions* options);
45
46int fc3d_onecontact_nonsmooth_Newton_solvers_solve_hybrid(FrictionContactProblem* localproblem,
47                                                          double* local_reaction,
48                                                          SolverOptions* options);
49
50#if defined(__cplusplus) && !defined(BUILD_AS_CPP)
51}
52#endif
53
54#endif