int fc3d_Panagiotopoulos_FixedPoint_setDefaultSolverOptions(SolverOptions* options)
{

  numerics_printf("fc3d_Panagiotopoulos_FixedPoint_setDefaultSolverOptions", "set default options");

  options->solverId = SICONOS_FRICTION_3D_PFP;
  options->numberOfInternalSolvers = 1;
  options->isSet = 1;
  options->filterOn = 1;
  options->iSize = 8;
  options->dSize = 8;
  options->iparam = (int *)calloc(options->iSize, sizeof(int));
  options->dparam = (double *)calloc(options->dSize, sizeof(double));
  solver_options_nullify(options);

  options->iparam[SICONOS_IPARAM_MAX_ITER] = 1000;
  options->iparam[SICONOS_FRICTION_3D_IPARAM_INTERNAL_ERROR_STRATEGY] =  SICONOS_FRICTION_3D_INTERNAL_ERROR_STRATEGY_ADAPTIVE;
  options->dparam[SICONOS_DPARAM_TOL] = 1e-4;
  options->dparam[SICONOS_FRICTION_3D_DPARAM_INTERNAL_ERROR_RATIO] =10.0;



  options->numberOfInternalSolvers=2;
  options->internalSolvers = (SolverOptions *)malloc(options->numberOfInternalSolvers*sizeof(SolverOptions));

  linearComplementarity_pgs_setDefaultSolverOptions(&options->internalSolvers[0]);
  options->internalSolvers[0].iparam[SICONOS_IPARAM_MAX_ITER] =1000;

  convexQP_VI_solver_setDefaultSolverOptions(&options->internalSolvers[1]);
  options->internalSolvers[1].iparam[SICONOS_IPARAM_MAX_ITER] =1000;
  /* convexQP_ProjectedGradient_setDefaultSolverOptions(&options->internalSolvers[1]); */
  /* options->internalSolvers[1].iparam[SICONOS_IPARAM_MAX_ITER] =1000; */
 return 0;
}
Esempio n. 2
0
int mixedLinearComplementarity_pgs_SBM_setDefaultSolverOptions(MixedLinearComplementarityProblem* problem, SolverOptions* options)
{
  int i;
  if (verbose > 0)
  {
    printf("Set the Default SolverOptions for the MLCP_PGS_SBM Solver\n");
  }

  options->solverId = SICONOS_MLCP_PGS_SBM;
  options->numberOfInternalSolvers = 1;
  options->isSet = 1;
  options->filterOn = 1;
  options->iSize = 5;
  options->dSize = 5;
  options->iparam = (int *)malloc(options->iSize * sizeof(int));
  options->dparam = (double *)malloc(options->dSize * sizeof(double));
  options->dWork = NULL;
  null_SolverOptions(options);
  for (i = 0; i < 5; i++)
  {
    options->iparam[i] = 0;
    options->dparam[i] = 0.0;
  }
  options->iparam[0] = 1000;
  options->dparam[0] = 1e-6;
  options->internalSolvers = (SolverOptions*)malloc(options->numberOfInternalSolvers * sizeof(SolverOptions));

  linearComplementarity_pgs_setDefaultSolverOptions(options->internalSolvers);

  return 0;
}