{"id":19132423,"url":"https://github.com/taichi-dev/mpm_3d_exercise","last_synced_at":"2025-09-08T17:32:49.706Z","repository":{"id":77491646,"uuid":"568416659","full_name":"taichi-dev/mpm_3d_exercise","owner":"taichi-dev","description":null,"archived":false,"fork":false,"pushed_at":"2023-11-20T11:04:12.000Z","size":11,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-11-09T06:18:34.335Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/taichi-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-20T13:23:29.000Z","updated_at":"2023-11-23T06:49:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"76d3700c-a4dc-4642-bb9f-b2c298b91a02","html_url":"https://github.com/taichi-dev/mpm_3d_exercise","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taichi-dev%2Fmpm_3d_exercise","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taichi-dev%2Fmpm_3d_exercise/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taichi-dev%2Fmpm_3d_exercise/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taichi-dev%2Fmpm_3d_exercise/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/taichi-dev","download_url":"https://codeload.github.com/taichi-dev/mpm_3d_exercise/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232332273,"owners_count":18506877,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T06:18:11.832Z","updated_at":"2025-01-03T11:41:42.399Z","avatar_url":"https://github.com/taichi-dev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MPM 3D\nThe starter code for a 3D material point method simulation demo written in Taichi. This would be a good exercise for you to get used to **continuum simulations**.\n\n\n\nhttps://user-images.githubusercontent.com/2309174/202906099-92c06d35-2e24-4be1-8adb-1354764d74bf.mp4\n\n\n\n\u003e To implement your own version, click the \"Use this template\" button on this page and simply modify the `mpm_3d_starter.py` script.\n\n## Installation\nMake sure your `pip` is up-to-date:\n\n```bash\n$ pip3 install pip --upgrade\n```\n\nAssume you have a Python 3 environment, to install Taichi:\n\n```bash\n$ pip3 install -U taichi\n```\n\nTo run the demo:\n\n```bash\n$ python mpm_3d_starter.py\n```\n\n## TODOs\nThe main simulation step `substep` function is intentionally left blank. You shall fill it in with proper code include the P2G, GridOp, and G2P steps. A 2D reference implementation is provided at `mpm99.py`.\n\n\n## Extra credits are for the extras\nThere are plenty of room for hacking! We suggest a few of them for you to start with:\n- Higher resolution simulations utilizing sparse data structures\n- More sophisticated boundary handling and better scenes\n- Better particle initialization with arbitrary shapes\n- Faster P2G step without floating point atomic operations (integers are fine)\n- Higher order time integration methods\n- Implicit time integration methods\n- Supporting more material models\n- Reducing the numerical adhesion/friction/fracture artifacts\n- etc.\n\n## Show your work\nWe encourage you to continue developing on this repo and share your work with our community members. To notify us about your work, make sure you use this repo as a template.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaichi-dev%2Fmpm_3d_exercise","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftaichi-dev%2Fmpm_3d_exercise","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaichi-dev%2Fmpm_3d_exercise/lists"}