fc3d_Solvers (functions)


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

Fixed point solver for friction-contact 3D problem based on the ACLM.

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 : iparam[0] : Maximum iteration number The internal (local) solver must set by the SolverOptions options[1] : possible internal solvers is NSGS.

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

set the default solver parameters and perform memory allocation for ACLM

Parameters:options – the pointer to the array of options to set

siconos.numerics.fc3d_AVI_gams_path(FrictionContactProblem *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.fc3d_AVI_gams_pathvi(FrictionContactProblem *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.fc3d_ConvexQP_ProjectedGradient_Cylinder(FrictionContactProblem *problem, array_like (np.float64, 1D)reaction, array_like (np.float64, 1D)velocity, int *info, SolverOptions *options) → None[source]

Projected Gradient on Cylinder 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
  • info – return 0 if the solution is found
  • options – the solver options : iparam[0] : Maximum iteration number if dparam[3] >0 = rho if dparam[3] <= 0 then a line-search is performed. iparam[2] is the maximum number of iteration is the line–search. The internal (local) solver must set by the SolverOptions options->internalsolvers.

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

set the default solver parameters and perform memory allocation for NSGS

Parameters:options – the pointer to the array of options to set

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

Fixed Point solver for friction-contact 3D problem based on the De Saxce Formulation.

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 : iparam[0] : Maximum iteration number dparam[3] : rho . if dparam[3] >0 then rho=dparam[3] otherwise a computataion of rho is assumed.

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

set the default solver parameters and perform memory allocation for DSFP

Parameters:options – the pointer to the array of options to set

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

Extra Gradient solver for friction-contact 3D problem based on the De Saxce Formulation.

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 : iparam[0] : Maximum iteration number dparam[3] : rho >0

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

set the default solver parameters and perform memory allocation for EG

Parameters:options – the pointer to the array of options to set

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

Hyperplane Projection solver for friction-contact 3D problem based on the De Saxce Formulation.

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 : iparam[0] : Maximum iteration number dparam[3] : rho >0

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

set the default solver parameters and perform memory allocation for EG

Parameters:options – the pointer to the array of options to set

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

Fixed point solver for friction-contact 3D problem based on the Panagiotopoulos method based on an alternative technique between the normal problem and the tangential one.

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 : iparam[0] : Maximum iteration number The internal (local) solver must set by the SolverOptions options[1] : possible internal solvers is NSGS.

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

set the default solver parameters and perform memory allocation for PFP

Parameters:options – the pointer to the array of options to set

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

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

set the default solver parameters and perform memory allocation for SOCLCP

Parameters:options – the pointer to the array of options to set

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

Fixed point solver for friction-contact 3D problem based on the Tresca problem with fixed friction threshold.

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 : iparam[0] : Maximum iteration number The internal (local) solver must set by the SolverOptions options[1] : possible internal solvers is NSGS.

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

set the default solver parameters and perform memory allocation for TFP

Parameters:options – the pointer to the array of options to set

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

Extra Gradient solver (VI_EG) for friction-contact 3D problem based on a VI 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 : iparam[0] : Maximum iteration number dparam[3] : rho >0

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

set the default solver parameters and perform memory allocation for VI_EG

Parameters:options – the pointer to the array of options to set

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

Fixed Point solver for friction-contact 3D problem based on the VI 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 : iparam[0] : Maximum iteration number dparam[3] : rho . if dparam[3] >0 then rho=dparam[3] otherwise a computataion of rho is assumed.

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

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

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

set the default solver parameters and perform memory allocation for DSFP

Parameters:options – the pointer to the array of options to set

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

siconos.numerics.fc3d_admm_free(FrictionContactProblem *problem, SolverOptions *options) → None[source]

siconos.numerics.fc3d_admm_init(FrictionContactProblem *problem, SolverOptions *options) → None[source]

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

siconos.numerics.fc3d_checkTrivialCase(FrictionContactProblem *problem, array_like (np.float64, 1D)velocity, array_like (np.float64, 1D)reaction, SolverOptions *options) → int[source]

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

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

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


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

Fixed Point Projection solver for friction-contact 3D problem based on the De Saxce Formulation.

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 : iparam[0] : Maximum iteration number dparam[3] : rho . if dparam[3] >0 then rho=dparam[3] otherwise a computataion of rho is assumed.

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

set the default solver parameters and perform memory allocation for DSFP

Parameters:options – the pointer to the array of options to set

siconos.numerics.fc3d_lcp_gams_path(FrictionContactProblem *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.fc3d_lcp_gams_pathvi(FrictionContactProblem *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.fc3d_nonsmooth_Newton_AlartCurnier2(FrictionContactProblem *problem, array_like (np.float64, 1D)reaction, array_like (np.float64, 1D)velocity, int *info, SolverOptions *options) → None[source]

siconos.numerics.fc3d_nsgs(FrictionContactProblem *problem, array_like (np.float64, 1D)reaction, array_like (np.float64, 1D)velocity, 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
  • info – return 0 if the solution is found
  • options – the solver options : [in] iparam[0] : Maximum iteration number
  • iparam[SICONOS_FRICTION_3D_IPARAM_ERROR_EVALUATION (7)] ([in]) –
  • method (SICONOS_FRICTION_3D_NSGS_ERROR_EVALUATION_FULL (0) : Full error) –
  • with velocity computation (computation) –
  • (1) (SICONOS_FRICTION_3D_NSGS_SHUFFLE_TRUE) –
  • computation with incremental values on reaction verification of absolute (error) –
  • at the end SICONOS_FRICTION_3D_NSGS_ERROR_EVALUATION_LIGHT (2) (error) –
  • error computation (velocity not computed) (light) –
  • (3) (SICONOS_FRICTION_3D_NSGS_ERROR_EVALUATION_ADAPTIVE) –
  • the full erro evaluation. (of) –
  • iparam[SICONOS_FRICTION_3D_NSGS_FILTER_LOCAL_SOLUTION(14)] ([in]) –
  • if the local error is greater than 1.0 (solution) –
  • (0) the filter is not (SICONOS_FRICTION_3D_NSGS_FILTER_LOCAL_SOLUTION_FALSE) –
  • SICONOS_FRICTION_3D_NSGS_FILTER_LOCAL_SOLUTION_TRUE (1) the filter is (applied) –
  • applied
  • iparam[SICONOS_FRICTION_3D_NSGS_RELAXATION(4)] ([in]) –
  • (0) relaxation is not used, (SICONOS_FRICTION_3D_NSGS_RELAXATION_FALSE) –
  • (1) relaxation is used with parameter (SICONOS_FRICTION_3D_NSGS_RELAXATION_TRUE) –
  • dparam[8],
  • iparam[SICONOS_FRICTION_3D_NSGS_SHUFFLE(5)] ([in]) –
  • the loop SICONOS_FRICTION_3D_NSGS_SHUFFLE_FALSE (0) (in) –
  • (1)
  • (2) (SICONOS_FRICTION_3D_NSGS_SHUFFLE_TRUE_EACH_LOOP) –
  • iparam[SICONOS_FRICTION_3D_NSGS_SHUFFLE_SEED(6)] ([in]) –
  • in shuffling contacts (generator) –
  • iparam[SICONOS_IPARAM_ITER_DONE(1)] = iter number of performed iterations ([out]) –
  • iparam[8] = error computation frequency ([in]) –
  • dparam[SICONOS_DPARAM_TOL(0)] user tolerance on the loop [in] dparam[8] the ([in]) –
  • parameter omega [out] dparam[SICONOS_DPARAM_RESIDU(1)] reached error (relaxation) –
  • internal (local) solver must set by the SolverOptions options[1] (The) –

siconos.numerics.fc3d_nsgs_initialize_local_solver(SolverPtr *solve, UpdatePtr *update, FreeSolverNSGSPtr *freeSolver, ComputeErrorPtr *computeError, FrictionContactProblem *problem, FrictionContactProblem *localproblem, SolverOptions *options) → None[source]

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

set the default solver parameters and perform memory allocation for NSGS

Parameters:options – the pointer to the array of options to set

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

Non-Smooth Gauss Seidel in velocity 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
  • info – return 0 if the solution is found
  • options – the solver options : iparam[0] : Maximum iteration number The internal (local) solver must set by the SolverOptions options[1]

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

set the default solver parameters and perform memory allocation for NSGSV

Parameters:options – the pointer to the array of options to set

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

Proximal point 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
  • info – return 0 if the solution is found
  • options – the solver options : iparam[0] : Maximum iteration number The internal (local) solver must set by the SolverOptions options[1]

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

set the default solver parameters and perform memory allocation for PROX

Parameters:options – the pointer to the array of options to set

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

set the default solver parameters and perform memory allocation for fc3d

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

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