From: Roy S. <roy...@ic...> - 2009-03-10 18:47:35
|
On Tue, 10 Mar 2009, Derek Gaston wrote: > Doing a full transpose is what I would suggest. It will be less error prone > and easier to debug. We can figure out later if we can take some shortcuts. > > In Epetra I believe you use an Epetra_RowMatrixTransposer to create a > transpose. See here: > http://trilinos.sandia.gov/packages/docs/dev/packages/epetra/doc/html/classEpetra__RowMatrixTransposer.html#z431_0 > > At any rate... just getting it going with Petsc will suffice for now. As > long as we're doing a full transpose I'm confident we can make it happen with > Trilinos. Sounds good - full transpose it is. > I'm in the same boat myself... having grown a similar but completely > incompatible non-linear solver framework in house.... Yeah. How'd that happen again? ;-) You could have gotten some of your features for free (including those finite differenced Jacobians) just by building on top of FEMSystem, and the new features you've added seem to be things I'm going to want to shoehorn into FEMSystem myself eventually anyways. >> "You're never going to be able to" would probably be going too far, >> but "never going to want to" is probably right. > > Hmmm.... I don't know how to take the derivative of a solve with respect to a > variable... are you saying you actually think that's possible? Now that I > say that... I guess it's similar to getting sensitivities from an adjoint > solve! Interesting... Exactly. In fact, if you're doing the multiscale solves in libMesh then with any luck we might be able to get your derivatives for you "for free". If you're doing molecular dynamics or some such it's probably harder but certainly not impossible; ask Paul. > This is sounding pretty promising! I'm already smelling the papers that will > be written! Absolutely! --- Roy |