File numerics/src/FrictionContact/fc2d_Solvers.h#
Go to the source code of this file
Subroutines for the resolution of contact problems with friction (2-dimensional case).
Functions
-
void fc2d_cpg(FrictionContactProblem *problem, double *reaction, double *velocity, int *info, SolverOptions *options)#
cpg (conjugated projected gradient) solver for global contact problems with friction (2D)
- Parameters:
problem – [in] the friction-contact problem
reaction – [out] vector
velocity – [out] vector
info – [inout] termination value
options – [inout] structure for options
-
void fc2d_nsgs_dense(FrictionContactProblem *problem, double *reaction, double *velocity, int *info, SolverOptions *options)#
Non Linear Gauss Seidel solver (dense) for global contact problem with friction in 2D case.
- Parameters:
problem – [in] the friction-contact problem
reaction – [out] vector
velocity – [out] vector
info – [inout] termination value
options – [inout] structure
-
void fc2d_nsgs(FrictionContactProblem *problem, double *z, double *w, int *info, SolverOptions *options)#
Non Linear Gauss Seidel solver (sbm) for global contact problem with friction in 2D case.
- Parameters:
problem – [in] the friction-contact problem
reaction – [out] vector
velocity – [out] vector
info – [inout] termination value
options – [inout] structure
-
void fc2d_projc(double xi[], int *n, int statusi[], double p[], double fric[], double *reaction, int *status)#
fc2d_projc is a specific projection operator related to CPG (conjugated projected gradient) algorithm for global contact problem with friction.
- Parameters:
xi – [in] the intermediate iterate which goes to be projected (projc1).
n – [in] the dimension of the system.
statusi – [in] a vector which contains the initial status.
p – [in] a vector which contains the components of the descent direction.
fric – [in] a vector which contains the friction coefficient.
reaction – [out] the corrected iterate.
status – [out] the new status.
-
void fc2d_projf(int etat[], int *n, double y[], double fric[], double projf1[])#
fc2d_projf is a specific projection operator related to CPG (conjugated projected gradient) algorithm for global contact problem with friction.
- Parameters:
etat – [in] parameter which represents the status vector.
n – [in] parameter which represents the dimension of the system.
y – [in] parameter which contains the components of the residue or descent direction vector.
fric – [in] parameter which contains the friction coefficient.
projf1 – [out] parameter which contains the projected residue or descent direction.
-
void fc2d_lexicolemke(FrictionContactProblem *problem, double *reaction, double *velocity, int *info, SolverOptions *options)#
fc2d_lexicolemke is a Lemke solver for frictionContact2D problems.
- Parameters:
problem – [in] structure that represents the fc2d (M, q…)
reaction – [inout] a n-vector of doubles which contains the initial solution and returns the solution of the problem.
velocity – [inout] a n-vector of doubles which returns the solution of the problem.
options –
-
int fc2d_tolcp(FrictionContactProblem *problem, LinearComplementarityProblem *lcp_problem)#
This function transform a FrictionContactProblem (2D) into a LinearComplementarityProblem.
- Parameters:
problem – [in] A pointer to a FrictionContactProblem to transform
lcp_problem – [out] A pointer to a LinearComplementarity_problem resulting from the reformulation
-
void fc2d_enum(FrictionContactProblem *problem, double *reaction, double *velocity, int *info, SolverOptions *options)#
fc2d_enum solver for frictionContact2D problems.
- Parameters:
problem – [in] structure that represents the fc2d (M, q…)
reaction – [inout] a n-vector of doubles which contains the initial solution and returns the solution of the problem.
velocity – [inout] a n-vector of doubles which returns the solution of the problem.
options –
-
void fc2d_nsgs_set_default(SolverOptions *options)#