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.1.tar.gz (147.6 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.1-cp311-cp311-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.11Windows x86-64

ipctk-1.1.1-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.1-cp311-cp311-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.14+ x86-64

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

Uploaded CPython 3.10Windows x86-64

ipctk-1.1.1-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.1-cp310-cp310-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.10macOS 10.14+ x86-64

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

Uploaded CPython 3.9Windows x86-64

ipctk-1.1.1-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.1-cp39-cp39-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

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

Uploaded CPython 3.9macOS 10.14+ x86-64

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

Uploaded CPython 3.8Windows x86-64

ipctk-1.1.1-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.1-cp38-cp38-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

ipctk-1.1.1-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.1.tar.gz.

File metadata

  • Download URL: ipctk-1.1.1.tar.gz
  • Upload date:
  • Size: 147.6 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.1.tar.gz
Algorithm Hash digest
SHA256 2a1e18005cd67e5c979617258409f2b6de1f19464214f69c98f42cb7c091d0c3
MD5 fce35d23914c430eaa014928800a555d
BLAKE2b-256 a5ae89f6518d0ebd44b6e1f539601b1e9cd5964de78a84958f407b3da4c81d18

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ipctk-1.1.1-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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1e6aab769958daa50c3682ceaa7896e396c0d53feb1921e56d627aad05c9a361
MD5 65af6c7c18d731268298b27dc5c9f51f
BLAKE2b-256 53b767313f6a9b4831e0d2ef4af3c46b323b1c0f6151e0aef6eb08ec14355a27

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ff842fed320a40dc3db5638638239d270b3e510212b38f4a9bb6e3395fa0c5a3
MD5 62aaf23fe65e0e36f5ab97d8b534fdb4
BLAKE2b-256 01e03a58244b68fc0656b008eab90cd957b2cd341dc28ec62552f1c1b45963c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f5f0d43d57bd4b64bb6adc10c322b7471f9f22e916be06bf37ce6f76047022bf
MD5 bec7c2d224874aefe14b7cbf7e77da24
BLAKE2b-256 567de85a37caa6873626bdfcc705f08012a265b7cf1cf362614de0e3e8119879

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.1.1-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 c8df1cf14d6e82766e99755dd0b5b28055011c7d212b16199b2ada3b666c186f
MD5 482d99ba1bcaa256b51b3c891014ca86
BLAKE2b-256 3efa2c88c539f8ea3d0ff5353ab0b2a175eac5a0546f2dbc79405065f79bf590

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ipctk-1.1.1-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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 06b3554ce07d2b0a4c9d91bb56709012a96774935d5f2d0680133833e06cd071
MD5 5bbfc1b73f83051567f48fe49836bc99
BLAKE2b-256 09a472172ee184c938d6570a9147d4dc28ad1ece85df6137e226c2d44517f27b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d870a6830c73d2331922e8e4cf7919506576a9630d59fef82fa11f16b10e6e77
MD5 a463f67ba18705324dae97cf95adc58a
BLAKE2b-256 4215467a4fb32d5c8bea74a4e4fdafe337af8acfd95df6ac16fc2dff40858a76

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.1.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 12b8fe9559f0c179e7a2608ee645b52fa1a7bbf98be152593ba71083624a0310
MD5 f52a1e6ac52e8c009c49fec624f07df8
BLAKE2b-256 810ae1f2c602143d8df895828c7914a8bbee49d9253142914b8bbbad8c17036a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.1.1-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 47b8a5780c9ee23f28baba7dc6bc06c69988838515dad992fb00ebec748eed46
MD5 d28a9bd0d15928e84e243fcb7121db54
BLAKE2b-256 d7b00ea116f2be37c78ed9fa1a0741940c3d32ac245f302041e705fd0cec2561

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ipctk-1.1.1-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.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7dbf2493493b74fc3619d405259f2e892236c11d7912124035883b124b3b8851
MD5 95ae55c740790a14e6ed44b95999355d
BLAKE2b-256 ca22205e201ec37f4aaa492c78432317e08e5520c3c15085906a78fbe4ee0b86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 69507784a3cf46fe067d51d9692fd2a104208623e7eb71dbf2a33856cea26002
MD5 1d2f434c4d5dfc01a66e5dfc039e6e80
BLAKE2b-256 9560f162ed35881d8128c352901d308fe08f903efac4bf44f94892b6411dd686

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.1.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8dded261d2f6091e84e85e8d21c516b021f0a23e44688c5a7ef241d29291085d
MD5 5f74406f9c25dbc3e2518d01c28353e9
BLAKE2b-256 e0328153eb5926d06631c1d03353a23d8094fb1b28df7c3b5326c72534c58a8b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.1.1-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 1252fcc453c36e46ad80daa79bd820ad8e17c8423634e8b367f0980067555fef
MD5 b0b740890e414c9a5363ccf5fb15f17d
BLAKE2b-256 d4bfe8bf705d7882cd64586711bba03a3c69d454ad0dd428c5ac5b989f05a17a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ipctk-1.1.1-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.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 1c3774ecd0339d2498ad8fdc0bbc5cf1d0b56db00d491e247605d24a42bbe36a
MD5 8d8d79d005875547ce639021202db265
BLAKE2b-256 b97aa631f5cdd30941f4f157fa2f472640db284c3e56d1fb9f6bfc41c62890f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cddce688b4ac80807c9297740f849ef54c6ee6abaff351b9c5ee73d98ac43451
MD5 9049ec5645a7f66ea7e7d4c41032367c
BLAKE2b-256 a200be01ae2f9ad85faa577b045587f0505cd44054ddc5e1cf9f700f048242a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.1.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 44791076827a8a7b65e6a81cc261540d8a0ab2f7c176ecbd6c19fe9eac3983b0
MD5 7b9fb2ab90a084d60e9e47699416e94a
BLAKE2b-256 667503e27939daedb47b0ea7462d47225b8ca87cd38e49af5915553e68fb7122

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.1.1-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 251de4549ec21ae25415ff26a9dd144368463c5cf1708f93d76741c76ce9ef8d
MD5 ce8a9f5ffc2cf1ff2f88d61b4f4db788
BLAKE2b-256 2e6383f1cf0b63c4ec77861f6ea9335b9e8cc1f0f460a63dd687acc86c9d2967

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