diff --git a/src/demos/irrlicht/demo_IRR_visualize_collision.cpp b/src/demos/irrlicht/demo_IRR_visualize_collision.cpp
index 022d906c7..fc04cba6b 100644
--- a/src/demos/irrlicht/demo_IRR_visualize_collision.cpp
+++ b/src/demos/irrlicht/demo_IRR_visualize_collision.cpp
@@ -17,6 +17,8 @@
#include "chrono/collision/bullet/ChCollisionSystemBullet.h"
#include "chrono/physics/ChSystemNSC.h"
+#include "chrono/physics/ChSystemSMC.h"
+#include "chrono/physics/ChLoadContainer.h"
#include "chrono/physics/ChBodyEasy.h"
#include "chrono/core/ChTimer.h"
#include "chrono/core/ChRealtimeStep.h"
@@ -59,10 +61,13 @@ int main(int argc, char* argv[]) {
std::cout << "Copyright (c) 2017 projectchrono.org\nChrono version: " << CHRONO_VERSION << std::endl; // Create the Chrono system, bodies, and collison shapes
- ChSystemNSC sys;
+ ChSystemSMC sys;
+ //ChSystemNSC sys;
sys.SetCollisionSystemType(csys_type);
+ sys.SetGravitationalAcceleration(ChVector3d(0, 0, 0));
- auto mat = chrono_types::make_shared<ChContactMaterialNSC>();
+ auto mat = chrono_types::make_shared<ChContactMaterialSMC>();
+ //auto mat = chrono_types::make_shared<ChContactMaterialNSC>();
auto ground = chrono_types::make_shared<ChBodyEasyBox>(10, 3, 10, 100, mat);
ground->SetFixed(true);
@@ -95,6 +100,14 @@ int main(int argc, char* argv[]) {
mesh->GetVisualShape(0)->SetColor(ChColor(0.2f, 0.3f, 0.6f));
sys.AddBody(mesh);
+ auto load_container = chrono_types::make_shared<ChLoadContainer>();
+ for (auto obj : sys.GetBodies()) {
+ auto custom_loader = chrono_types::make_shared<ChLoaderGravity>(obj);
+ auto custom_load = chrono_types::make_shared<ChLoad>(custom_loader);
+ load_container->Add(custom_load);
+ }
+ sys.Add(load_container);
+
// Create the Irrlicht visualization system
auto vis = chrono_types::make_shared<ChVisualSystemIrrlicht>();
vis->AttachSystem(&sys);