projectchrono / chrono

High-performance C++ library for multiphysics and multibody dynamics simulations
http://projectchrono.org
BSD 3-Clause "New" or "Revised" License
2.2k stars 461 forks source link

Certain fsi demos are not compatible with latest version of Chrono #476

Closed mtroemner closed 8 months ago

mtroemner commented 8 months ago

Certain fsi demos are not compatible with latest version of Chrono. For example, in the dam break demo, the user encounters the below errors. These are trivial to fix but may prove confusing to a new user starting off with the demos. Suggest reviewing demos to confirm they all work properly.

error: 'class chrono::fsi::ChSystemFsi' has no member named 'AddBoxContainerBCE'; did you mean 'AddContainerBCE'?
   75 |     sysFSI.AddBoxContainerBCE(ground,                                         //
      |            ^~~~~~~~~~~~~~~~~~
      |            AddContainerBCE
error: missing template arguments before 'timer'
  162 |     ChTimer timer;
      |             ^~~~~
rserban commented 8 months ago

I believe the inconsistency is somewhere on your side. The two "issues" you mention suggest you are using an older version of the Chrono code. Indeed, AddContainerBCE was obsoleted (and replaced with AddBoxContainer) and ChTimer was changed from a template class a while ago. See:

Mismatches like you suggest would be immediately flagged by the continuous integration builds (triggered on each push to the repository).

When you say "latest version of Chrono", what do you mean? What version of the Chrono libraries do you use? You seem to be using the latest code for the demos, but older code of the Chrono libraries.

mtroemner commented 8 months ago

You are absolutely correct, and a blunder on my side. I referenced a Singularity build with an older version of Chrono to attempt to run the latest demos pulled from GitHub. Referencing the correct build, the demo does run as expected.