Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

Revision e6a5a459d621f53e75dc45e40ada7c6a5501efba authored by Jie Li on 19 December 2018, 21:55:53 UTC, committed by Jie Li on 19 December 2018, 21:55:53 UTC
Added bogus-interface
0 parent
  • Files
  • Changes
  • 2b52593
  • /
  • interface
  • /
  • README.md
Raw File Download

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • revision
  • directory
  • content
revision badge
swh:1:rev:e6a5a459d621f53e75dc45e40ada7c6a5501efba
directory badge
swh:1:dir:7b6bf5493efcef1d7c07a324406a4cc64d2348a1
content badge
swh:1:cnt:cdcc955e16ee92ba783ed60e37734b27e4469c46

This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.

  • revision
  • directory
  • content
(requires biblatex-software package)
Generating citation ...
(requires biblatex-software package)
Generating citation ...
(requires biblatex-software package)
Generating citation ...
README.md
# About
ArgusInterface is a thin layer between cloth dynamics codes and  so-bogus
Coulomb friction solver.
It also provide a way to export friction problems, and a corresponding
loader application for offline testing of the solver algorithms.

# Dependencies

Building this software requires CMake and a C++98 compiler, and has
only been tested on GNU/Linux with recent versions of `g++`.

Other dependencies are:

  - [Eigen][1] and [So-bogus][2], which are already included in this archive
  - [boost\_serialization][3]

So-bogus is provided as a git submodule of argus' repository, so no further installation should be required. (Maybe `git submodule update`).

# Compiling 
Standard CMake procedure:

	> mkdir build
	> cd build
	> cmake ../interface
	> make
	> [make install]

Install path may be specified with the `cmake -DCMAKE_INSTALL_PREFIX=[...]` switch.

# Algorithms

ArgusInterface currently provides 4 algorithms for solving the friction problems:

 - NodalContact corresponds to the algorithm described in our SCA 2015 poster, 
   that is, a primal SOCQP minimization inside a Cadoux fixed-point loop. 
   This only works for mesh-cloth contacts that coincide with the cloth vertices.
 - AlternatingMinimization correspond to a variant of ADMM implemented in bogus as DualAMA:
   Minimization of (.5 z M^(-1) z ) under the constraint that r is in the friction cone and z = H'r.
   Its main advantage is to require only multiplications by the stiffness matrix M, 
   while being able to handle arbitrary contact configurations. 
   However, precise tuning of the step sizes is necessary to obtain satifying covergence. 
   There is probably a lot of room for improvement.
 - DualProjectedGradient corresponds to a dual SOCQP minimization inside a Cadoux fixed-point loop.
   The dual (Delassus) operator W = H M^(-1) H' is not explicitly assembled, 
   which means that a linear solve is performed at each iteration of the projected gradient
   (or projected gradient descent) algorithm. 
   Several variants are implemented, e.g. with Nesterov acceleration. 
 - DualGaussSeidel corresponds to a standard Gauss-Seidel algorithm on the dual formulation,
   as e.g. in our 2011 Sig Asia paper. The (dense) W matrix is computed, which is severely expensive.


  [1]: http://eigen.tuxfamily.org     "Eigen, template library for linear algebra"
  [2]: http://gdaviet.fr/code/bogus   "So-bogus, Coulomb friction solver"
  [3]: http://www.boost.org/doc/libs/release/libs/serialization/ "Boost serialization library"
The diff you're trying to view is too large. Only the first 1000 changed files have been loaded.
Showing with 0 additions and 0 deletions (0 / 0 diffs computed)
swh spinner

Computing file changes ...

back to top

Software Heritage — Copyright (C) 2015–2026, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Content policy— Contact— JavaScript license information— Web API