So-Bogus
A c++ sparse block matrix library aimed at Second Order cone problems
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
Second Order

Table of Contents

Note
This module is released under the terms of the GNU General Public License version 2

Basics

To use the library,

#include <bogus/Extra/SecondOrder.impl.hpp>

The Second Order module provide tools for dealing with Second Order Cone complementarity problems. Combining it with the GaussSeidel implementation from the BlockSolvers module yields efficient solvers for Coulomb friction and SOCQP problems.

The only user-facing class of this module is SOCLaw, which can be used as the first argument of GaussSeidel::solve(). It basically implements the algorithms described in the appendices of DDB11 .

As such, the user interested in those implementations may want to look at

Experimenting with these different algorithm for solving the 1-contact problem may be done by specifying the local_soc_solver::Strategy template argument of the SOCLaw class.