File numerics/src/FrictionContact/fc3d_nonsmooth_Newton_solvers.h#

Go to the source code of this file

Non Smooth Newton Solvers for FC3D […].

Typedefs

typedef void (*fc3d_nonsmooth_Newton_solversFunPtr)(void *data, unsigned int problem_size, double *reaction, double *velocity, double *mu, double *rho, double *F, double *A, double *B)#

The nonsmooth function signature.

[…]

typedef void (*FrictionContactNSFun3x3Ptr)(double *reaction, double *velocity, double mu, double *rho, double *F, double *A, double *B)#

The nonsmooth function signature for a 3x3 block.

Functions

void fc3d_nonsmooth_Newton_solvers_solve(fc3d_nonsmooth_Newton_solvers *equation, double *reaction, double *velocity, int *info, SolverOptions *options)#

Solve the equation.

The only implemented method is a nonsmooth Newton method with a Goldstein Price or a FBLSA line search. Linear solver choice and line search are specified in SolverOptions parameter.

Parameters:
  • equation – the nonsmooth equation.

  • reaction – the reaction guess as input and the solution as output.

  • velocity – the velocity guess as input and the solution as output.

  • info – the return info. 0 success, 1 failure.

  • options – the SolverOptions parameter.

void computeAWpB(double *A, NumericsMatrix *W, double *B, NumericsMatrix *AWpB)#
struct fc3d_nonsmooth_Newton_solvers#
#include <fc3d_nonsmooth_Newton_solvers.h>

The nonsmooth equation structure.

[…]

Public Members

FrictionContactProblem *problem#
void *data#
fc3d_nonsmooth_Newton_solversFunPtr function#