{"id":20449704,"url":"https://github.com/emmanuelmess/firstcollisiontimesteprarefiedgassimulator","last_synced_at":"2026-04-17T22:03:21.251Z","repository":{"id":92103283,"uuid":"521460034","full_name":"EmmanuelMess/FirstCollisionTimestepRarefiedGasSimulator","owner":"EmmanuelMess","description":"This simulator computes all possible intersections for a very small timestep for a particle model","archived":false,"fork":false,"pushed_at":"2023-01-09T04:44:58.000Z","size":1073,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-15T22:28:32.930Z","etag":null,"topics":["cpp20","cuda","simulator"],"latest_commit_sha":null,"homepage":"","language":"Cuda","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EmmanuelMess.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-08-05T01:01:01.000Z","updated_at":"2023-09-08T18:36:44.000Z","dependencies_parsed_at":"2023-04-24T11:47:19.780Z","dependency_job_id":null,"html_url":"https://github.com/EmmanuelMess/FirstCollisionTimestepRarefiedGasSimulator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmmanuelMess%2FFirstCollisionTimestepRarefiedGasSimulator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmmanuelMess%2FFirstCollisionTimestepRarefiedGasSimulator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmmanuelMess%2FFirstCollisionTimestepRarefiedGasSimulator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmmanuelMess%2FFirstCollisionTimestepRarefiedGasSimulator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EmmanuelMess","download_url":"https://codeload.github.com/EmmanuelMess/FirstCollisionTimestepRarefiedGasSimulator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241997710,"owners_count":20055155,"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":["cpp20","cuda","simulator"],"created_at":"2024-11-15T10:44:09.695Z","updated_at":"2025-12-05T06:04:41.291Z","avatar_url":"https://github.com/EmmanuelMess.png","language":"Cuda","funding_links":["https://www.patreon.com/emmanuelmess"],"categories":[],"sub_categories":[],"readme":"# First-collision timestep rarefied gas simulator\nThis simulator computes all possible intersections, then checks which of those possible intersections is soonest to\noccur, and does some checks, the simulator then runs for time for enough time for the collision to occur. Once the \nintersection occurs, the whole process runs again.\n\nThe idea is that CUDA allows this to go very fast, by computing a lot of data in parallel (all segments and\nintersections), this method of simulation is very presice as intesections are computed analitically, not \nin steps.\n\n## Architecture\n\nThe general arch is in [architecture.md](https://github.com/EmmanuelMess/FirstCollisionTimestepRarefiedGasSimulator/blob/master/architecture.md).\n\n# Image\n\n\u003cimg src=\"results.gif\"/\u003e\n\n# Some refrences and thanks\n\n* [Colliding balls](https://garethrees.org/2009/02/17/physics/): An explanation for the basic idea, but without much implementation info.\n* [EasyBMP](https://github.com/izanbf1803/EasyBMP): EasyBMP is an easy to use library to generate BMP images with a simple structure to prototype any project with image generation requirement.\n* [cuda-api-wrappers](https://github.com/eyalroz/cuda-api-wrappers): Thin, unified, C++-flavored wrappers for the CUDA APIs \n\n----\n\u003ca class=\"imgpatreon\" href=\"https://www.patreon.com/emmanuelmess\" target=\"_blank\"\u003e\n\u003cimg alt=\"Become a patreon\" src=\"https://user-images.githubusercontent.com/10991116/56376378-07065400-61de-11e9-9583-8ff2148aa41c.png\" width=150px\u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femmanuelmess%2Ffirstcollisiontimesteprarefiedgassimulator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femmanuelmess%2Ffirstcollisiontimesteprarefiedgassimulator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femmanuelmess%2Ffirstcollisiontimesteprarefiedgassimulator/lists"}