File numerics/src/FrictionContact/rolling_fc3d_projection.h#
Go to the source code of this file
Typedef and functions declarations related to projection solver for 3 dimension frictional contact problems.
Each solver must have 4 functions in its interface:
initialize: link global static variables to the considered problem (M,q,…)
update: link/fill the local variables corresponding to sub-blocks of the full problem, for a specific contact
solve: solve the local problem
free We consider a “global” (ie for several contacts) problem, used to initialize the static global variables. Then a “local” (ie for one contact => size = 3) problem is built (update function) and solved (solve function).
Two different storages are available for M: dense and sparse block.
Functions
-
void rolling_fc3d_projection_update(int number, RollingFrictionContactProblem *problem, RollingFrictionContactProblem *localproblem, double *reaction, SolverOptions *options)#
Update friction-contact 3D projection solver: formalize local problem for one contact.
- Parameters:
number – (position in global matrix) of the considered contact
problem – : the global problem to solve
localproblem – : the local problem to initialize
reaction – (only the block corresponding to the current contact will be modified, the rest is used to formalize the local problem)
options –
-
void rolling_fc3d_projection_initialize(RollingFrictionContactProblem *problem, RollingFrictionContactProblem *localproblem)#
-
void rolling_fc3d_projection_free(RollingFrictionContactProblem *problem, RollingFrictionContactProblem *localproblem, SolverOptions *localsolver_options)#
-
int rolling_fc3d_projectionOnCone_solve(RollingFrictionContactProblem *localproblem, double *reaction, SolverOptions *options)#
-
int rolling_fc3d_projectionOnCone_setDefaultSolverOptions(SolverOptions *options)#
-
int rolling_fc3d_projectionOnConeWithLocalIteration_solve(RollingFrictionContactProblem *localproblem, double *reaction, SolverOptions *options)#
solve friction-contact 3D problem with projection on the Cone with local iteration up to convergence of the local problem
- Parameters:
localproblem – : the local problem to initialize
reaction –
options –
- Returns:
0 if successfull
-
void rolling_fc3d_projectionOnConeWithLocalIteration_free(RollingFrictionContactProblem *problem, RollingFrictionContactProblem *localproblem, SolverOptions *localsolver_options)#
-
void rolling_fc3d_projectionOnConeWithLocalIteration_initialize(RollingFrictionContactProblem *problem, RollingFrictionContactProblem *localproblem, SolverOptions *localsolver_options)#
-
int rolling_fc3d_projectionOnConeWithLocalIteration_setDefaultSolverOptions(SolverOptions *options)#