Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more β
Top 23 C++ Simulation Projects
-
Bullet
Bullet Physics SDK: real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
JoltPhysics
A multi core friendly rigid body physics and collision detection library, written in C++, suitable for games and VR applications.
-
The-Powder-Toy
Written in C++ and using SDL, The Powder Toy is a desktop version of the classic 'falling sand' physics sandbox, it simulates air pressure and velocity as well as heat.
-
FluidX3D
The fastest and most memory efficient lattice Boltzmann CFD software, running on all GPUs via OpenCL.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
OpenCat
An open source quadruped robot pet framework for developing Boston Dynamics-style four-legged robots that are perfect for STEM, coding & robotics education, IoT robotics applications, AI-enhanced robotics application services, research, and DIY robotics kit development.
-
sumo
Eclipse SUMO is an open source, highly portable, microscopic and continuous traffic simulation package designed to handle large networks. It allows for intermodal simulation including pedestrians and comes with a large set of tools for scenario creation.
-
CHRONO
High-performance C++ library for multiphysics and multibody dynamics simulations (by projectchrono)
-
Blender-FLIP-Fluids
The FLIP Fluids addon is a tool that helps you set up, run, and render high quality liquid fluid effects all within Blender, the free and open source 3D creation suite.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
OpenRCT2 - Roller Coster Tycoon 2 clone. C++, SDL2, OpenGL
For typical game physics engines... not that much. Math libraries like Eigen or Blaze use lots of template metaprogramming techniques under the hood that can help when you're doing large batched matrix multiplications (since it can remove temporary allocations at compile-time and can also fuse operations efficiently, as well as applying various SIMD optimizations), but it doesn't really help when you need lots of small operations (with mat3 / mat4 / vec3 / quat / etc.). Typical game physics engines tend to use iterative algorithms for their solvers (Gauss-Seidel, PBD, etc...) instead of batched "matrix"-oriented ones, so you'll get less benefits out of Eigen / Blaze compared to what you typically see in deep learning / scientific computing workloads.
The codebases I've seen in many game physics engines seem to all roll their own math libraries for these stuff, or even just use SIMD (SSE / AVX) intrinsics directly. Examples: PhysX (https://github.com/NVIDIA-Omniverse/PhysX), Box2D (https://github.com/erincatto/box2d), Bullet (https://github.com/bulletphysics/bullet3)...
Well, it's a good video but... Hacker News?
On the related topic, you know how in Ford Mustang the engine noise is simulated so the engine would sound like a pre-emission-standards V8 even if it runs on just four? How about a similar thing for a motorcycle? You put on your noise-canceling head phones, and the phones emit a "noise-canceled" rev of an engine you choose. You can enjoy the sound of a Harley on a moped. And! Since it's your headphones only, you wouldn't even bother the public.
I think there is a startup potential on it somewhere. And the technology is here too: https://github.com/ange-yaghi/engine-sim
OpenTTD - Open source simulation game based upon Transport Tycoon Deluxe. C++, SDL2
The Power Toy - Physics Sandbox. C++, SDL2
We have the APIs through OpenCat(https://github.com/PetoiCamp/OpenCat). You can control every servo movement via coding.
Project mention: Robotics Simulation - Bridging the Gap Between Virtual and Real Worlds | dev.to | 2023-09-28Open Robotics Resources - Provides guides and documentation for robotics simulation.
Hopsan https://liu.se/en/research/hopsan and Project Chrono https://projectchrono.org/ may be good Simulink alternatives.
If all else fails, you may want to consider a premium addon like FLIP Fluids, which in my experience feels more stable than the default fluid sim, though it may be a bit costly. Consider trying the demo.
The idea is to write a C++ model that that produces cycle accurate outputs of the branch predictor, core pipeline, queues, memory latency, cache hierarchy, prefetch behaviour, etc. Transistor level accuracy isn't needed as long as the resulting cycle timings are identical or near identical. The improvement in workload runtime compared to a Verilog simulation is precisely because they aren't trying to model every transistor, but just the important parameters which effect performance.
Let's take a simple example: Instead of modeling a 64-bit adder in all its gory transistor level detail, you can just have the model return the correct data after 1 "cycle" or whatever your ALU latency is. As long as that cycle latency is the same as the real hardware, you'll get an accurate performance number.
What's particularly useful about these models is they enable much easier and faster state space exploration to see how a circuit would perform, well before going ahead with the Verilog implementation, which relatively speaking can take circuit designers ages. "How much faster would my CPU be if it had a 20% larger register file" can be answered in a day or two before getting a circuit designer to go try and implement such a thing.
If you want an open source example, take a look at the gem5 project (https://www.gem5.org). It's not quite as sophisticated as the proprietary models used in industry, but it's a used widely in academia and open source hardware design and is a great place to start.
C++ Simulation related posts
-
Torax is a differentiable tokamak core transport simulator
-
Stunt Rally β a free rally racing game with editor
-
The-Powder-Toy VS Sandboxels - a user suggested alternative
2 projects | 1 Feb 2024 -
Noise limit: yes
-
Looking for specific pre-Microsoft Havok Physics SDK version (2013, 2014)
-
Software for Mechanism Analysis
-
How to Ride like a Cop [video]
-
A note from our sponsor - InfluxDB
www.influxdata.com | 11 May 2024
Index
What are some of the best open-source Simulation projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | OpenRCT2 | 12,962 |
2 | Bullet | 11,978 |
3 | engine-sim | 8,499 |
4 | OpenTTD | 5,958 |
5 | JoltPhysics | 5,627 |
6 | The-Powder-Toy | 4,351 |
7 | FluidX3D | 3,210 |
8 | OpenCat | 3,129 |
9 | webots | 3,029 |
10 | sumo | 2,282 |
11 | AntSimulator | 2,204 |
12 | lammps | 2,052 |
13 | CHRONO | 2,055 |
14 | unrealcv | 1,835 |
15 | Blender-FLIP-Fluids | 1,606 |
16 | moose | 1,579 |
17 | pioneer | 1,568 |
18 | SPlisHSPlasH | 1,497 |
19 | reactphysics3d | 1,435 |
20 | gem5 | 1,424 |
21 | openmm | 1,389 |
22 | jsbsim | 1,221 |
23 | OpenLoco | 1,150 |
Sponsored