[Trilinos-Users] How to use Amesos with newton-raphson
Neal Parsons
nparsons at umich.edu
Wed Jul 18 13:08:29 MDT 2007
I am trying to find out how to use Trilinos and Amesos/KLU with the
nonlinear solver in NOX. I've already implemented code using the
didasko/examples/nox/ex1 as a template. It uses a newton nonlinear
solver with AztecOO's linear solver at its base, and I implemented
custom functions to compute J and F. I still don't have a good grasp
on what Aztec's solver does and how it's different from 'direct'
solvers, but at least now I know it's different. As I wrote last week,
a big problem we had with Aztec was that it spends a lot of time doing
memory allocation/free and who knows what else, and there was no easy
way I could find to reduce that overhead. In the case of small
systems, the overhead was overwhelming and slowed down the solver by a
factor of at least 2 times. Also, I had responses explaining that
Aztec is only worth using for very large systems, and that's not my
main focus right now.
So now I'm trying Amesos/KLU as some of the users group members
suggested. I've been able to get Amesos working, but only to solve
linear systems. I don't know if it matters whether I use the very
simple newton-raphson algorithm in spice and call amesos/klu from
within that, or if Trilinos (nox? Nox/loca?) has a better
newton-raphson algorithm. Furthermore, I haven't seen any examples in
the Trilinos distribution that show how to use Amesos for a non-linear
solution. I think that there must be a way to tie it in with NOX, and
to define computeF and ComputeJacobian as I did with my aztec based
project... but I haven't figured out how to do it.
Further confusing things, in the XYCE math formulation article, the
authors claim that the voltage limiting code in circuit simulators
prevent some of the enhancements to newton-raphson (or altogether
different nonlinear strategies) from working. And so even if I get
Amesos working with an enhanced nonlinear solver, I'm suspicious that
the effort will be wasted.
If anyone has any suggestions... let them fly!
Thanks,
Neal Parsons
More information about the Trilinos-Users
mailing list