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 codecov 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://github.com/ipc-sim/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.3.0.tar.gz (175.2 kB view details)

Uploaded Source

Built Distributions

ipctk-1.3.0-cp312-cp312-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.12 Windows x86-64

ipctk-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

ipctk-1.3.0-cp312-cp312-macosx_11_0_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12 macOS 11.0+ x86-64

ipctk-1.3.0-cp312-cp312-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

ipctk-1.3.0-cp311-cp311-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.11 Windows x86-64

ipctk-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

ipctk-1.3.0-cp311-cp311-macosx_11_0_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11 macOS 11.0+ x86-64

ipctk-1.3.0-cp311-cp311-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

ipctk-1.3.0-cp310-cp310-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.10 Windows x86-64

ipctk-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

ipctk-1.3.0-cp310-cp310-macosx_11_0_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10 macOS 11.0+ x86-64

ipctk-1.3.0-cp310-cp310-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

ipctk-1.3.0-cp39-cp39-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.9 Windows x86-64

ipctk-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

ipctk-1.3.0-cp39-cp39-macosx_11_0_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9 macOS 11.0+ x86-64

ipctk-1.3.0-cp39-cp39-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

ipctk-1.3.0-cp38-cp38-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.8 Windows x86-64

ipctk-1.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

ipctk-1.3.0-cp38-cp38-macosx_11_0_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.8 macOS 11.0+ x86-64

ipctk-1.3.0-cp38-cp38-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for ipctk-1.3.0.tar.gz
Algorithm Hash digest
SHA256 14358680e8510df805861d6c7272907dc611dc062251b49ef063af491c69e9c4
MD5 15f2284b7e4f3682bafe59ddcbae6b17
BLAKE2b-256 3c2bbff1c4361d131fdb1708c355f4b05e5ddddfb1b29ef92c2a4ad7eb8ae270

See more details on using hashes here.

File details

Details for the file ipctk-1.3.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ipctk-1.3.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.9

File hashes

Hashes for ipctk-1.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 57b47f0c11622bda24cb87ed93a31de34a1591810727da6873e9dbebf52ec8d0
MD5 b68d6d36a51f7312727dfead2da3198a
BLAKE2b-256 c7722ddee86446f6b5d7c6a19f86451bc06a01bb2fd99bf1d86f35505328f4ff

See more details on using hashes here.

File details

Details for the file ipctk-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ipctk-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3d950689c95ff5e39b1244d15bf7c7e7e802a8dc0b9de564c4c8da979815b443
MD5 23bd469676d4ae811e7819e555cadd0d
BLAKE2b-256 65c13c11c6cb9d67655e602f8958eb66fe51ec4a5acdc7ca67b522390fcdb75a

See more details on using hashes here.

File details

Details for the file ipctk-1.3.0-cp312-cp312-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for ipctk-1.3.0-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 754af3b94e73c46904f2f2c2267058bbe1b6d1f33db74dd540a34b0423d1da25
MD5 b07803a3de9669faa0e5b3c23b117bf0
BLAKE2b-256 e1ac84ecfe64ebd789486374d6f7b02cf512abb9c8e0b631456de603775f56ac

See more details on using hashes here.

File details

Details for the file ipctk-1.3.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ipctk-1.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7b5610de76453cc84b1157e4c8ffb05450c781dc0b6371af4bca8e1d63a7b01a
MD5 7d686079b7ec347f6b3cafcce8ca6a20
BLAKE2b-256 a477269e02b79f9ef8691b91abd01b25d59d321ac94c435c3fd8b9987762d748

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ipctk-1.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f945c061551f653be656eb74b47b0547bea0c36a8f43e5e2f1475822184a0e10
MD5 5215a4f62a26cf8c4a18c0ba95bf7d88
BLAKE2b-256 cec7e8db85e7c7cd7854dcf28366857817f101cdd5b245d766c7623cadd05130

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3ec48c62ce2f33f139957a718df2a839ccf9fd0377159ba965f270835d4f8db4
MD5 51946739512d8449e154a27ecf502c43
BLAKE2b-256 08f62cc56be0a26909f98b40490123eee2aa8539356abfe368a61ace13dbaa4a

See more details on using hashes here.

File details

Details for the file ipctk-1.3.0-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for ipctk-1.3.0-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 adca47860bb3017f3f4e56421c17fc05fc26c4f2bb27933979420f2efddbb90d
MD5 7c456719b5b57c5273a871fb7325fdea
BLAKE2b-256 e8608f2a4f33500c3f985c181d0d45194c58e7e33b9d4af49b4095dd341bebca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d2f3715d3b1850a4a24f36b3a1c9e6e3f3651a975c6dae05f52568cfd66540a5
MD5 4dabe24bbffa9df90f2e1e208d39fedf
BLAKE2b-256 58c1c754d5087906921aece3e215e6a2dd2c19dc2a2c8de3a5c0bda69bf00d03

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ipctk-1.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a3a2bbb1b65febb0777b12ec9bc175f5e359e063d4e44924ba61e8ab1943e18a
MD5 6010fad4771b92c6b34d2a361ebd59a0
BLAKE2b-256 2a9c44e64faf0819d34f57cfc5627441557d227e4a08b0a86d9eaabaa4e54ca4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fdf14cddf4f215f4dc07cac44b77f71de62305b22654492df1698f122bddfdfb
MD5 b918297b3a9fc0b83c788ec0fcdf2f46
BLAKE2b-256 d0b0f4e8653bef7ddc11d560411c94875d206e380ea177439412479666e6f0b1

See more details on using hashes here.

File details

Details for the file ipctk-1.3.0-cp310-cp310-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for ipctk-1.3.0-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 5fcfd30bd8c8578e76ad787a1cb0fde003262c9dfb55929fdb5f1c1f24a809a9
MD5 5a9f0901bcfff469b67a7deb61a04262
BLAKE2b-256 822310bc0d311564cf0641b861c80d8d939f6427fa4066c6cc6e4ead5a5d7fca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 62e194f33daaad72923cf48f0e2e19f67522dfcff09d3f284c3b77eb403c42f1
MD5 ddf513ec183ed95fe47cd6380ec735f4
BLAKE2b-256 6b026248185fca7513765bcc2a6e784824ad434a617d952e2470f2ec6d388a49

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ipctk-1.3.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 64722e3137368ae584255594534b1c6a7f30a9c86c5968c6bc5a19a31425f0b3
MD5 dd3236ecaca1fe352c5a73bc0bcaf409
BLAKE2b-256 53ee98cef132dd53a3b3abfde6b73aabffbbf6b1ac7e20ae676b07fdac259c46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 069e28ad46d8f6dd9730f92474798778cf7d237771be188b408435f426e92872
MD5 ce1858098d96fdeb2ac8ff1ba3a6a17f
BLAKE2b-256 e77f7fa2c4298a93243e1b256bc55b08706e78d46621703dc0ff036e6022ce35

See more details on using hashes here.

File details

Details for the file ipctk-1.3.0-cp39-cp39-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for ipctk-1.3.0-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 9e73bb1fff8b858945b89156b85890aa628574eb4ad062b0d6951dab375e2dfa
MD5 34199391853b34214792758992b8d6f3
BLAKE2b-256 9aa6cc9b6d6bfb858f987066327e17028a776f294f5f3e07aaad1fd3460a5fde

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.3.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d3c2e65a353bc02e4f0d3994b54700cab9d22a6c8b51216fcb2d7a89e369bb0e
MD5 f2c951277d15eb67e78f7ac9f959cbed
BLAKE2b-256 5fa7077f7d045ea606fc47efd032c7b95d27b21dd461fd95bcd3eca20a04d85f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ipctk-1.3.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 605b953daa50781ff0b8720c9f0d93e076b9a64aee466f8ee002e5c02d379144
MD5 ed54587d075d4217ca402791893f86b1
BLAKE2b-256 d19d27f523459ba5b0e0d6bd60e6ff2f875e9271bcb88e0bb4f3c061e884c837

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ab48aa485b2f83c529c2696736dc2a174c66eea371e7bf0f5448f1ce981d958e
MD5 7b31a246eea6b4e8c77df9a5592f9093
BLAKE2b-256 1b2d8b96f2f6c169a88b1fc83894e46dabe5a538bbccc37af0bd2be7e9a6a8ab

See more details on using hashes here.

File details

Details for the file ipctk-1.3.0-cp38-cp38-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for ipctk-1.3.0-cp38-cp38-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 5ba344e0a2fcb3f7a2db8e5bc27c803a03c97e293d5cd3cb535caad50c1ba8ee
MD5 00960adcda6cf9128c24ff71256fe6cb
BLAKE2b-256 9dff48f9b99be0f441a977e64aecdb2c599b3737592198404a73243f509244dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.3.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e4b66eeedda582b680622e4f088c3fca0fd5a84aa3f9378f3ea2e071eb628109
MD5 8db14376735cfb482b650b96abee27a0
BLAKE2b-256 d1edc9e0cc7cabcd190bf69c1f00f947d5543f09233f18a27f81561c02094a8b

See more details on using hashes here.

Supported by

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