David,
I plan on doing some work that will improve performance of FEA simulations in Chrono (related to the frequency of Jacobian updates and factorizations).
Having said that, you should try using a sparse direct solver with your Chrono model. While you can use one of the solvers in Eigen (Sparse_QR or Sparse_LU – which are already options in the code you attached), I suggest you get the Intel MKL libraries and use the Pardiso solver in there (turn on ENABLE_MODUE_PARDISO_MKL during CMake configuration of Chrono). Look for example at demo_FEA_cablesMKL which solves a similar problem using the Pardiso solver.
--Radu
--
You received this message because you are subscribed to the Google Groups "ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
projectchron...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/projectchrono/2920668d-0033-4dd3-aea1-9c65a5e3191bn%40googlegroups.com.
Hi David,
I am on vacation so I cannot check your code, but it looks quite strange to me that you need so much CPU time for a simple chain with springs. Probably there are other bottlenecks to investigate.
By the way, even if there is explicit RK4 in Chrono, I do not encourage to use it because its implementation is mostly for comparison with other methods, but it lacks some optimizations. My suggestion is that you use one of these
implicit methods: HHT or Euler implicit linearized (the default one), or Euler implicit. Note that HHT has more CPU overhead respect to Euler , and you should use HHT only if you dessire low numerical damping.
As usual, the time step of implicit methods should be large enough to compensate their higher per-timestep CPU overhead respect to implicit methods.
Best regards
A. Tasora
To view this discussion on the web visit https://groups.google.com/d/msgid/projectchrono/77cb6c65-050c-448d-8360-c1c705dfbe1an%40googlegroups.com.