Program listing for file numerics/src/FrictionContact/fc3d_onecontact_nonsmooth_Newton_solvers.h#
Return to documentation for this file
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