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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.14+ x86-64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.10macOS 10.14+ x86-64

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9macOS 11.0+ ARM64

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

Uploaded CPython 3.9macOS 10.14+ x86-64

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

Uploaded CPython 3.8Windows x86-64

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

Uploaded CPython 3.8macOS 11.0+ ARM64

ipctk-1.0.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.0.0.tar.gz.

File metadata

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

File hashes

Hashes for ipctk-1.0.0.tar.gz
Algorithm Hash digest
SHA256 fb0cc91b57cda81c9ef3f11cf27d14146649c2895c7f6a63070b2dd4594359ae
MD5 5fc38900ce1ec3c93074a8cc5487773e
BLAKE2b-256 9c19ae27f26e6e5b3522f9037a9f37b11e386b20aa0b76749280ab50d8d5a38d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ipctk-1.0.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.2

File hashes

Hashes for ipctk-1.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 977e71d03c5692f294a9bc82be0bcd7c7316f87b9a9a60774cf9623af182a0d9
MD5 589b6e551dafd404a2db1dd658425709
BLAKE2b-256 289c6f9afdc6721a668275a1f13d65e769541b9c0ae045fecf3d6a99f4db7ca6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4f0a974578caf765fd13acbd8456d0f3b3a315ec13ef8c1e16f8e2a4a8e7219c
MD5 bf6386b1d5affb2574cf981b1d2afc93
BLAKE2b-256 30efafa46a7fd0695edc4054e4d6de34ec4d9c4d301d9b87f55cb41bb77c0972

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9640ab1a93513481c6ebee18ca0cbe3a4b4549a42c1c63d16e57e49f3f2baaf7
MD5 1960e325a089cb5e20ffa51f37e6aa16
BLAKE2b-256 ab4abb76d395ff03db079dfde83720013ce612c32414c1d87773a0f55587d524

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.0.0-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 5b3c7cecc586bc66dc27f23997e94073614878d84cd56895797b01df02841cd8
MD5 cf27fe246f95614eb4b8b42434811457
BLAKE2b-256 9a06a270cbe75f1339908187fe66167917c15f7e6ad86db805fc092ecdc8dcd5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ipctk-1.0.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.2

File hashes

Hashes for ipctk-1.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 69b19ca46e9a124669bfb4cc36ac78716c4ab1bbfe72dcdac35f582aeb1623c5
MD5 ca379c6b3eec11c085530fabc9f657bc
BLAKE2b-256 9df01793e8eec632f2146c5b4e55d8d5369daea54e8590eb509b450c6df6e619

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 28552d5656ec022f59e81e9facd024d2f809ed576952974152a0282270b4173d
MD5 727c0c603e44af367cc505fed9d39cd6
BLAKE2b-256 71792681023ca951a39cacc31d77020425f82c4333b095601572fbb88cb7abb6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1d76dd57d0520ef3e6ae8227cb158340cca0ef51e7767e8749f0cecacb53799f
MD5 72e10fca95870fd1389dc5d726c8a83f
BLAKE2b-256 9c7b1e771ddfa4b69941fc22736492b1d235ae390f6dc8486f0d6882abe4f9c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.0.0-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 fcd29a2ae579cf0eb2b0e5feb61d72512949b42cb43a7593bb28eca8d3cfc690
MD5 3db802942e73a0d29f3d99fd3cbac52f
BLAKE2b-256 5b1a2dd182e93e34b8ad26c6f0117b6b172fc4f50913341ca622129dd5748a49

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ipctk-1.0.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.2

File hashes

Hashes for ipctk-1.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 abb52beae9c4009e876655fee079f87caabfb24ae8dde11362da97061364d706
MD5 52da930dd6539dc113e1c6ede9c8c323
BLAKE2b-256 a4bc3f868b3d0eacb8ccf101aa192aa1ee2e23e85e0a80fb8f24f7b9cf9b3546

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9eb0a4c185b6849fb12db04c7d7863a9a279a8d9541352f665e6d9858dfcc3c8
MD5 c67bccda1a4678f4ed1786ff4c381f10
BLAKE2b-256 fe4bf7cc06527a66eb7426b2de337fec920a459e895f782febb75b0a8f68521f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.0.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b6174ee5948834f04e23762d5978a316466c22c79146993ba611a0f16959aa0d
MD5 63b901d7ba0d714d91834a2b83a6e693
BLAKE2b-256 3f8315b49d3fde2a792b46e642da188a5528d136f1746bcc927315bc7b37d65e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.0.0-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 ee00340d6e0f404348be2cce9dbbed943bde943bea1ff6ed0ee6d6f908119b1e
MD5 fee0b194bd24c4d6d3c7baf156e90c2f
BLAKE2b-256 3ab40acc747b87ca5181785e03beef379b3045eb67309eeac0664f1bb9748145

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ipctk-1.0.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.2

File hashes

Hashes for ipctk-1.0.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 36be5b2a6c4f76bfd17f9eae2011f7fb876f8a1ec8d98ab2fe430e6ad2dad617
MD5 540c830d4c5ef7afba89a793fc7dc7b7
BLAKE2b-256 f3673ffb4c1f1a8c7f3792715de0649ea80e39288bb4d8a60712bc2799e33636

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e10723ebf3969a83439c96b50d9b4676bfb62004944745307c163c4b4f704920
MD5 dee8db4f2effb69d406d0c545437f127
BLAKE2b-256 7350d3edd89ff7f2167c925f5d0a973c07d873a458463921a3c54f20c8480fea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.0.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5672fa58c7fa797bb6704e5233b74b249854e224507b95cc4bbf93a153ee978f
MD5 62cc9f2222fdbf1d7f091a84def3f132
BLAKE2b-256 a997a1107feb5c0ac5a5601371fcb8c4b75014e0e17e2e33e99c2fe5618b2d31

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipctk-1.0.0-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 068d112675e777c97e03fb7dde57c46d24128bccdd1e339aaf5f5a70ea02a4ce
MD5 992ee253092fe3e8248e8cd570bd565d
BLAKE2b-256 eeec4908ea7cf0033523c1acda7b3e3dd8e3d3869f34587dfca7f5ea93126b4b

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