For this purpose blender user usually use Rigid Body simulation. Here is a cookbook for a cube segmented into 10x10x10 (1000 parts). Yes it is process intensive and this is just one cube. The most calculation takes Constraints.
Create a Cube
- Select a Cube
- Assign Array Modifier > Count=10 > X=1
- Assign Array Modifier > Count=10 > Y=1
- Assign Array Modifier > Count=10 > Z=1
Search for operators:
- Convert to Mesh
- Separate by Loose Parts
- Origin to Geometry
- Move to Collection > New
Create a floor
Add a Plane and search for operators
- Transform Scale
- Apply Scale
Create a simulation
With Cubes selected, search for operators:
- Active (Rigid Body)
- Change collision shape > Box
- Connect (Rigid Body)
With Plane selected, search for operators:
- Passive (Rigid Body)
- Change collision shape > Box
You can also try version of Blender with Fracture Modifier, that is much comfortable to work with, especially with constraints, but I didnt find grid cuts.