gfc3d_Solvers (functions)


siconos.numerics.gfc3d_ACLMFixedPoint(GlobalFrictionContactProblem *problem, array_like (np.float64, 1D)reaction, array_like (np.float64, 1D)velocity, array_like (np.float64, 1D)globalVelocity, int *info, SolverOptions *options) → None[source]

Solver based on the fixed-point iteration proposed by Cadoux for friction- contact 3D problem.

Parameters:
  • problem – the friction-contact 3D problem to solve
  • velocity – global vector (n), in-out parameter
  • reaction – global vector (n), in-out parameters
  • globalVelocity – global vector (m), in-out parameters
  • info – return 0 if the solution is found
  • options – the solver options : iparam[0] : Maximum iteration number iparam[4] ; local strategy dparam[0] : tolerance dparam[2] : localtolerance dparam[1] : (out) error

siconos.numerics.gfc3d_ACLMFixedPoint_setDefaultSolverOptions(SolverOptions *options) → int[source]

siconos.numerics.gfc3d_ADMM(GlobalFrictionContactProblem *problem, array_like (np.float64, 1D)reaction, array_like (np.float64, 1D)velocity, array_like (np.float64, 1D)globalVelocity, int *info, SolverOptions *options) → None[source]

siconos.numerics.gfc3d_ADMM_free(GlobalFrictionContactProblem *problem, SolverOptions *options) → None[source]

siconos.numerics.gfc3d_ADMM_init(GlobalFrictionContactProblem *problem, SolverOptions *options) → None[source]

siconos.numerics.gfc3d_ADMM_setDefaultSolverOptions(SolverOptions *options) → int[source]

siconos.numerics.gfc3d_AVI_gams_path(GlobalFrictionContactProblem *problem, array_like (np.float64, 1D)reaction, array_like (np.float64, 1D)velocity, int *info, SolverOptions *options) → None[source]

solver using PATH (via GAMS) for friction-contact 3D problem based on an AVI reformulation

Parameters:
  • problem – the friction-contact 3D problem to solve
  • velocity – global vector (n), in-out parameter
  • reaction – global vector (n), in-out parameters
  • info – return 0 if the solution is found
  • options – the solver options

siconos.numerics.gfc3d_AVI_gams_pathvi(GlobalFrictionContactProblem *problem, array_like (np.float64, 1D)reaction, array_like (np.float64, 1D)velocity, int *info, SolverOptions *options) → None[source]

solver using PATHVI (via GAMS) for friction-contact 3D problem based on an AVI reformulation

Parameters:
  • problem – the friction-contact 3D problem to solve
  • velocity – global vector (n), in-out parameter
  • reaction – global vector (n), in-out parameters
  • info – return 0 if the solution is found
  • options – the solver options

siconos.numerics.gfc3d_DeSaxceFixedPoint_setDefaultSolverOptions(SolverOptions *options) → int[source]

siconos.numerics.gfc3d_DeSaxceFixedPoint_wr(GlobalFrictionContactProblem *problem, array_like (np.float64, 1D)reaction, array_like (np.float64, 1D)velocity, array_like (np.float64, 1D)globalVelocity, int *info, SolverOptions *options) → None[source]

Fixed Point iteration on De Saxe formulation solver with reformulation for friction-contact 3D problem.

Parameters:
  • problem – the friction-contact 3D problem to solve
  • velocity – global vector (n), in-out parameter
  • reaction – global vector (n), in-out parameters
  • globalVelocity – global vector (m), in-out parameters
  • info – return 0 if the solution is found
  • options – the solver options : iparam[0] : Maximum iteration number dparam[0] : tolerance dparam[2] : localtolerance dparam[1] : (out) error

siconos.numerics.gfc3d_TrescaFixedPoint_setDefaultSolverOptions(SolverOptions *options) → int[source]

siconos.numerics.gfc3d_TrescaFixedPoint_wr(GlobalFrictionContactProblem *problem, array_like (np.float64, 1D)reaction, array_like (np.float64, 1D)velocity, array_like (np.float64, 1D)globalVelocity, int *info, SolverOptions *options) → None[source]

Fied Point iteration on Tresca Friction Cylinder with reformulation for friction-contact 3D problem.

Parameters:
  • problem – the friction-contact 3D problem to solve
  • velocity – global vector (n), in-out parameter
  • reaction – global vector (n), in-out parameters
  • globalVelocity – global vector (m), in-out parameters
  • info – return 0 if the solution is found
  • options – the solver options : iparam[0] : Maximum iteration number dparam[0] : tolerance dparam[2] : localtolerance dparam[1] : (out) error

siconos.numerics.gfc3d_VI_ExtraGradient(GlobalFrictionContactProblem *problem, array_like (np.float64, 1D)reaction, array_like (np.float64, 1D)velocity, array_like (np.float64, 1D)globalVelocity, int *info, SolverOptions *options) → None[source]

siconos.numerics.gfc3d_VI_ExtraGradient_setDefaultSolverOptions(SolverOptions *options) → int[source]

siconos.numerics.gfc3d_VI_FixedPointProjection(GlobalFrictionContactProblem *problem, array_like (np.float64, 1D)reaction, array_like (np.float64, 1D)velocity, array_like (np.float64, 1D)globalVelocity, int *info, SolverOptions *options) → None[source]

siconos.numerics.gfc3d_VI_FixedPointProjection_setDefaultSolverOptions(SolverOptions *options) → int[source]

siconos.numerics.gfc3d_admm_wr(GlobalFrictionContactProblem *problem, array_like (np.float64, 1D)reaction, array_like (np.float64, 1D)velocity, array_like (np.float64, 1D)globalVelocity, int *info, SolverOptions *options) → None[source]

siconos.numerics.gfc3d_admm_wr_setDefaultSolverOptions(SolverOptions *options) → int[source]

siconos.numerics.gfc3d_checkTrivialCaseGlobal(int dim, array_like (np.float64, 1D)q, array_like (np.float64, 1D)velocity, array_like (np.float64, 1D)reaction, array_like (np.float64, 1D)globalVelocity, SolverOptions *options) → int[source]

Check for trivial solution in the friction-contact 3D problem.

Parameters:
  • dim – of the problem
  • q – global vector (n)
  • velocity – global vector (n), in-out parameter
  • reaction – global vector (n), in-out parameters
  • globalVelocity – the velocity in global coordinates
  • options – the pointer to the array of options to set
Returns:

int =0 if a trivial solution has been found, else = -1


siconos.numerics.gfc3d_nonsmooth_Newton_AlartCurnier(GlobalFrictionContactProblem *problem, array_like (np.float64, 1D)reaction, array_like (np.float64, 1D)velocity, array_like (np.float64, 1D)globalVelocity, int *info, SolverOptions *options) → None[source]

siconos.numerics.gfc3d_nonsmooth_Newton_AlartCurnier_wr(GlobalFrictionContactProblem *problem, array_like (np.float64, 1D)reaction, array_like (np.float64, 1D)velocity, array_like (np.float64, 1D)globalVelocity, int *info, SolverOptions *options) → None[source]

siconos.numerics.gfc3d_nonsmooth_Newton_AlartCurnier_wr_setDefaultSolverOptions(SolverOptions *options) → int[source]

siconos.numerics.gfc3d_nsgs(GlobalFrictionContactProblem *problem, array_like (np.float64, 1D)reaction, array_like (np.float64, 1D)velocity, array_like (np.float64, 1D)globalVelocity, int *info, SolverOptions *options) → None[source]

Non-Smooth Gauss Seidel solver for friction-contact 3D problem.

Parameters:
  • problem – the friction-contact 3D problem to solve
  • velocity – global vector (n), in-out parameter
  • reaction – global vector (n), in-out parameters
  • globalVelocity – global vector (m), in-out parameters
  • info – return 0 if the solution is found
  • options – the solver options : iparam[0] : Maximum iteration number iparam[4] ; local strategy dparam[0] : tolerance dparam[2] : localtolerance dparam[1] : (out) error

siconos.numerics.gfc3d_nsgs_velocity_wr(GlobalFrictionContactProblem *problem, array_like (np.float64, 1D)reaction, array_like (np.float64, 1D)velocity, array_like (np.float64, 1D)globalVelocity, int *info, SolverOptions *options) → None[source]

Non-Smooth Gauss Seidel solver for friction-contact 3D problem with iteration on velocities.

Parameters:
  • problem – the friction-contact 3D problem to solve
  • velocity – global vector (n), in-out parameter
  • reaction – global vector (n), in-out parameters
  • globalVelocity – global vector (m), in-out parameters
  • info – return 0 if the solution is found
  • options – the solver options : iparam[0] : Maximum iteration number dparam[0] : tolerance dparam[2] : localtolerance dparam[1] : (out) error

siconos.numerics.gfc3d_nsgs_velocity_wr_setDefaultSolverOptions(SolverOptions *options) → int[source]

siconos.numerics.gfc3d_nsgs_wr(GlobalFrictionContactProblem *problem, array_like (np.float64, 1D)reaction, array_like (np.float64, 1D)velocity, array_like (np.float64, 1D)globalVelocity, int *info, SolverOptions *options) → None[source]

Non-Smooth Gauss Seidel solver with reformulation for friction-contact 3D problem.

Parameters:
  • problem – the friction-contact 3D problem to solve
  • velocity – global vector (n), in-out parameter
  • reaction – global vector (n), in-out parameters
  • globalVelocity – global vector (m), in-out parameters
  • info – return 0 if the solution is found
  • options – the solver options : iparam[0] : Maximum iteration number iparam[4] : localsolver choice 0: projection on Cone, 1: Newton/AlartCurnier, 2: projection on Cone with local iteration, 2: projection on Disk with diagonalization, dparam[0] : tolerance dparam[2] : localtolerance dparam[1] : (out) error

siconos.numerics.gfc3d_nsgs_wr_setDefaultSolverOptions(SolverOptions *options) → int[source]

siconos.numerics.gfc3d_proximal_wr(GlobalFrictionContactProblem *problem, array_like (np.float64, 1D)reaction, array_like (np.float64, 1D)velocity, array_like (np.float64, 1D)globalVelocity, int *info, SolverOptions *options) → None[source]

Proximal point solver with reformulation for friction-contact 3D problem.

Parameters:
  • problem – the friction-contact 3D problem to solve
  • velocity – global vector (n), in-out parameter
  • reaction – global vector (n), in-out parameters
  • globalVelocity – global vector (m), in-out parameters
  • info – return 0 if the solution is found
  • options – the solver options : iparam[0] : Maximum iteration number iparam[4] : localsolver choice 0: projection on Cone, 1: Newton/AlartCurnier, 2: projection on Cone with local iteration, 2: projection on Disk with diagonalization, dparam[0] : tolerance dparam[2] : localtolerance dparam[1] : (out) error

siconos.numerics.gfc3d_proximal_wr_setDefaultSolverOptions(SolverOptions *options) → int[source]

siconos.numerics.gfc3d_setDefaultSolverOptions(SolverOptions *options, int solverId) → int[source]

set the default solver parameters and perform memory allocation for gfc3d

Parameters:
  • options – the pointer to the array of options to set
  • solverId – int identifier of the solver

siconos.numerics.gfc3d_set_internalsolver_tolerance(GlobalFrictionContactProblem *problem, SolverOptions *options, SolverOptions *internalsolver_options, double error) → None[source]