File numerics/src/GenericMechanical/GenericMechanical_Solvers.h

Go to the source code of this file

Subroutines for the resolution of contact problems.


int gmp_compute_error(GenericMechanicalProblem *pGMP, double *reaction, double *velocity, double tol, SolverOptions *options, double *err)
int gmp_driver(GenericMechanicalProblem *problem, double *reaction, double *velocity, SolverOptions *options)

General interface to solvers for friction-contact 3D problem.

result (0 if successful otherwise 1).
  • problem: the structure which handles the generic mechanical problem
  • reaction: global vector (n)
  • velocity: global vector (n)
  • options: structure used to define the solver(s) and their parameters option->iparam[0]:nb max of iterations option->iparam[1]:0 without ‘LS’ 1 with. option->iparam[2]:0 GS block after block, 1 eliminate the equalities, 2 only one equality block, 3 solve the GMP as a MLCP. option->iparam[3]: output, number of GS it. options->dparam[0]: tolerance

void gmp_gauss_seidel(GenericMechanicalProblem *pGMP, double *reaction, double *velocity, int *info, SolverOptions *options)
int gmp_get_nb_dwork(GenericMechanicalProblem *problem, SolverOptions *options)
void gmp_setDefaultSolverOptions(SolverOptions *options, int id)
int gmp_working_memory_alloc(GenericMechanicalProblem *problem, SolverOptions *options)
void gmp_working_memory_free(GenericMechanicalProblem *problem, SolverOptions *options)