.png?part=0.1&view=1)
Maksim,
Let me start by saying that integrating a new linear solver in Chrono (or more generally within an implicit integrator) is not as simple as being able to solve a linear system once. This is certainly the case for an AMG-preconditioned iterative solver.
Currently, such a solver doesn’t fit well within the current framework. But if you really want to try it, you could hack it by deriving from ChDirectSolverLS. That class will give you the functions necessary to set up the problem matrix from the Chrono system descriptor (look at ChDirectSolverLS::Setup). Chrono uses the Eigen sparse matrix. You’ll have to make sure that is converted to the CSR (I believe) format used by AmgX; one thing you’ll need for that is compress the Eigen matrix (already done in ChDirectSolverLS::Setup).
For the solve phase, you’d ideally use a matrix-free approach. As far as I know, AmgX does not do this “out of the box”, but there may be a way to only provide an SPMV function.
--Radu

I don't 100% know how solvers work on the inside, so where can I take these values?
I understand that these values are arising from bodies and constraints, but I'm not 100% sure.
What do I need to input there?
Cheers,
Maksym Riabov
P.S. I'll add the two files that serve as logic, so you may take a look - maybe you'd say something.
--
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 visit
https://groups.google.com/d/msgid/projectchrono/f120fba4-b8ae-459b-8782-3b029c149ccdn%40googlegroups.com.