Skip to main content

A set of reusable functions to integrate Incremental Potential Contact (IPC) into a simulation.

Project description

IPC Toolkit

PyPI PyPI - Downloads GitHub Repo stars License

Description

IPC Toolkit is a set of reusable functions to integrate Incremental Potential Contact (IPC) into a simulation.

Features

  • IPC barrier function and its derivatives and adaptive barrier stiffness algorithm
  • Broad-phase and narrow-phase continuous collision detection (CCD)
  • Distance computation and derivatives between edges in 2D and triangles in 3D
  • Distance barrier potential and its derivatives
  • Smooth and lagged dissipative friction potential and its derivatives

Limitations

This is not a full simulation library. As such it does not include any physics or solvers. For a full simulation implementation, we recommend PolyFEM (a finite element library) or Rigid IPC (rigid-body dynamics) both of which utilize the IPC Toolkit.

Installation

To install the latest release, you can use pip:

pip install ipctk

If you wish to install the current development code, you can compile the library from scratch. Either clone the repo manually or use git+ with pip:

pip install git+https://github.com/ipc-sim/ipc-toolkit

Help/Documentation

  • A tutorial on how to use the toolkit can be found here.
  • A function reference can be found here.

Contributing

This project is open to contributors! Contributions can come in the form of feature requests, bug fixes, documentation, tutorials, and the like. We highly recommend filing an Issue first before submitting a Pull Request.

Simply fork this repository and make a Pull Request! We would appreciate:

  • Implementation of new features
  • Bug Reports
  • Documentation
  • Testing

Citation

If you use the IPC Toolkit in your project, please consider citing our work:

@software{ipc_toolkit,
  author = {Zachary Ferguson and others},
  title = {{IPC Toolkit}},
  url = {https://ipc-sim.github.io/ipc-toolkit/},
  year = {2020},
}

Additionally, you can cite the original IPC paper:

@article{Li2020IPC,
    author = {Minchen Li and Zachary Ferguson and Teseo Schneider and Timothy Langlois and
        Denis Zorin and Daniele Panozzo and Chenfanfu Jiang and Danny M. Kaufman},
    title = {Incremental Potential Contact: Intersection- and Inversion-free Large Deformation Dynamics},
    journal = {ACM Trans. Graph. (SIGGRAPH)},
    year = {2020},
    volume = {39},
    number = {4},
    articleno = {49}
}

License

MIT License © 2020, the IPC-Sim organization (See LICENSE.txt for details)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ipctk-1.1.0.tar.gz (147.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ipctk-1.1.0-cp311-cp311-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.11Windows x86-64

ipctk-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

ipctk-1.1.0-cp311-cp311-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

ipctk-1.1.0-cp311-cp311-macosx_10_14_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11macOS 10.14+ x86-64

ipctk-1.1.0-cp310-cp310-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.10Windows x86-64

ipctk-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

ipctk-1.1.0-cp310-cp310-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

ipctk-1.1.0-cp310-cp310-macosx_10_14_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10macOS 10.14+ x86-64

ipctk-1.1.0-cp39-cp39-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.9Windows x86-64

ipctk-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

ipctk-1.1.0-cp39-cp39-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

ipctk-1.1.0-cp39-cp39-macosx_10_14_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.9macOS 10.14+ x86-64

ipctk-1.1.0-cp38-cp38-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.8Windows x86-64

ipctk-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

ipctk-1.1.0-cp38-cp38-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

ipctk-1.1.0-cp38-cp38-macosx_10_14_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.8macOS 10.14+ x86-64

File details

Details for the file ipctk-1.1.0.tar.gz.

File metadata

  • Download URL: ipctk-1.1.0.tar.gz
  • Upload date:
  • Size: 147.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.4

File hashes

Hashes for ipctk-1.1.0.tar.gz
Algorithm Hash digest
SHA256 3ff04e57f95bd1c19f8020e5f29f9a665d2823ba31f2ca1494165514c6bd9cb8
MD5 4250e1737d35bc0a34bf89ea7e185eed
BLAKE2b-256 eeae5800c165a54bfb2b0403f2809352df34ef9355f80f58922030b40907f148

See more details on using hashes here.

File details

Details for the file ipctk-1.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: ipctk-1.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.4

File hashes

Hashes for ipctk-1.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 65616e5faff67b12e0af27d66cd050da51bb1e5bbb0805503eb39dff61330994
MD5 d62a85ae5c148588c5ccdd50e01b31a2
BLAKE2b-256 3c0f8de8233d63c6ffc5d3371764f6f05174ced330006174c028b1120881e0d1

See more details on using hashes here.

File details

Details for the file ipctk-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ipctk-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 220632e6baa2166d70e8f80991da8352e9cfdb139b0e6b4a4e2d1dddd7b2afc5
MD5 ee295adaf7ca6c7481bb3f0d662b073d
BLAKE2b-256 2557d30a1a582dc82516992b3ba1a02375dcce12dad626e61701780627e71edc

See more details on using hashes here.

File details

Details for the file ipctk-1.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ipctk-1.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fb4f1bf8def6027cf094194cae5b81df3337f3ddb04d757f238762c83c16291b
MD5 42bc1883034edfcdb1db3dcc4f4278f6
BLAKE2b-256 964b054b9e4114c147852edf902236a9788d9eb7c56ae4a076ed84b36544714c

See more details on using hashes here.

File details

Details for the file ipctk-1.1.0-cp311-cp311-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for ipctk-1.1.0-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 f9cb3eb13685fe3912633e8182de96dbbbd73690271ccabd219413392033319f
MD5 486c5a6e9cb06f27311116cd2b8efb95
BLAKE2b-256 7c7f3f935542e5e8cbfe4bb72af185652a8845ccaff72ebc2e3b1a9f4030ae13

See more details on using hashes here.

File details

Details for the file ipctk-1.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: ipctk-1.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.4

File hashes

Hashes for ipctk-1.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d4a088d8c48593f053b48aec5db3fb9e5d90db181975365ba25695fa66fbdd28
MD5 12ed456889eb4278e8abd462acee7c40
BLAKE2b-256 231f1313c86a15871bafbcb0ad45f06bf0a148f39d48a4571a24ca9670928e5f

See more details on using hashes here.

File details

Details for the file ipctk-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ipctk-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 94a68ce47407e75633582bc4baea0499dfd23ea721365f11ff3dede25e854a5f
MD5 3a616c7baf871b73a65f1eb95daac007
BLAKE2b-256 18331c8fb5aa34d8d19ab11bd5b07cd4310f8f9b841e1d05ff9628f14100e5ca

See more details on using hashes here.

File details

Details for the file ipctk-1.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ipctk-1.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 90e96d128475f8a9a1c486765654cf266ce74939f04c3f0f410ae56280869cb5
MD5 201a9ea1146c6fbc35f67ef55420d198
BLAKE2b-256 c0ecd34557fdb3c61a35fd88305cb44d9ac7d2e57fd16184f85412da7a825156

See more details on using hashes here.

File details

Details for the file ipctk-1.1.0-cp310-cp310-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for ipctk-1.1.0-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 9236c0c6132e7c9343d10f17151344df86637d263bf0245629e142980e8c3a8c
MD5 18b051097e40a8ba06e2149e6a3e7555
BLAKE2b-256 267c84da7510ec9d7ebfa92cf258366bcb187cfb4fe8775bfd5790515d5c167c

See more details on using hashes here.

File details

Details for the file ipctk-1.1.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: ipctk-1.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.4

File hashes

Hashes for ipctk-1.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 de6408db4e20a417a9ee25aded953489c25a4193d03b4c21b21565bd88d1a9bc
MD5 86d9f91238d2d95be24fdbc18ac1d68d
BLAKE2b-256 b0e6849a74def43ce062ec2fe2f65b14d945843abf8818c61ca6be177f4ac255

See more details on using hashes here.

File details

Details for the file ipctk-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ipctk-1.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f5f059820e347ea74fc235cef3be9282e682b891f3a17b494bd2cf72212d6b64
MD5 ae0efde78847e5d2aa8fbc3f8eef2934
BLAKE2b-256 7b0d76a21cfe0b9cce0c684bca30629ac689b2f3533f4d1bea0ef3675f90ed9c

See more details on using hashes here.

File details

Details for the file ipctk-1.1.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ipctk-1.1.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a7f5f5ce2238038ea66f33b9aebbe811d67043718b1bb86a54292cba0fc178dd
MD5 c3a42226ca1145ea02aee3f1c5b1fdf0
BLAKE2b-256 d14e238c5abfc3e2c4caf82d2e62d2befc912f8c4f7890e13823cd73e312cc29

See more details on using hashes here.

File details

Details for the file ipctk-1.1.0-cp39-cp39-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for ipctk-1.1.0-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 01ca9102bf1a3ff64ba6e01dcabfb0ab63957a1d31d2d8cddb04c875c9431a7a
MD5 74931ce3bddac79af95eddceded99248
BLAKE2b-256 0847edb323e4d60fbbd9961be596788d8031f1d68edf2bf366f222ba9e0209db

See more details on using hashes here.

File details

Details for the file ipctk-1.1.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: ipctk-1.1.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.4

File hashes

Hashes for ipctk-1.1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 72eecf36080dd82f2437ebdc5b955476f1d25babef1042c4aef8c3e39a475664
MD5 20f5c420a08cda75a8c5e7a26e24e0fd
BLAKE2b-256 8b33377d2b368da0d1b620df171d9a3865231e334e299d272fe06cf39cdc41aa

See more details on using hashes here.

File details

Details for the file ipctk-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ipctk-1.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1bd57a87a4ac512a1b0ce05b92d5672f034766f20417e4f0cdb20f741dbb9b82
MD5 6487c908ad2f1a8cf036d390697dd863
BLAKE2b-256 77b1c89ccd8d0bd7e657ed3051875c66348030f05c257c19c7d369946111cfe0

See more details on using hashes here.

File details

Details for the file ipctk-1.1.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ipctk-1.1.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 66bf5a6b17a2d06209c339b69ace28f697fd83eb7ba7c07b15ecf81a4951ca83
MD5 e2686a1997354e6a00836fd82867545b
BLAKE2b-256 99490a546b0a39ff2688f342b621c3305b600e1665de4fd6d0090a8ed3a0052a

See more details on using hashes here.

File details

Details for the file ipctk-1.1.0-cp38-cp38-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for ipctk-1.1.0-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 1a75d0453908aaa6ce76bb201a69174c42a406b619a6cf3af94624470726ffdd
MD5 5d9d3422c82809e61f71a31cc403899d
BLAKE2b-256 8b96f137ffa43ea4ae6bc24c53db6178b5171d74e3654e0eaaabcb89e407d951

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page