Ok - I've committed ex19 (just made a couple of small changes). Thanks Norbert! I also committed your small diff so it runs fine in parallel with NOX.
Roy - not to worry about it borking out on you when you run the examples in parallel... we're only going to put not_implemented() into the NOX implementation.... so if you're not compiling libMesh against Trilinos you won't hit this at all. Ex19 runs just fine with PetsC. Actually - now that I think about it I might go modify ex19 a bit so that you can run it either in matrix free or with some preconditioning based on the jacobian by passing a parameter.... I'll go do that now. Derek On Oct 17, 2008, at 6:39 AM, Norbert Stoop wrote: > Derek Gaston wrote: > >>> Ok, I'll do that as soon as I have made some more tests. >> >> As long as you're making tests... can you turn that LaplaceYoung >> example >> into a _real_example (just clean it up a bit). We really need to get >> that thing committed so that people have something to look at for >> how to >> use the NonlinearSolver classes. > > Attached is a cleaned up version of it. The biggest change is that I > removed the compute_matvec function which is not used anyway. Is that > okay?. There is a lot of redundant code for the element and quadrature > setup etc., but I think for the moment this is tolerable... :-) > Feel free to make any changes to it. > > nox.patch is for fixing the matrix-free parallel NOX solver - not > really > worth a patch, just the two lines for closing the vectors in computeF. > > A patch for Jacobian support will follow... How should we deal with > its > current limitation to single process execution? Should we default to > use > the Jacobian when run on a single CPU and fall back to MF when run in > parallel? Or just throw a not_implemented for parallel execution? > > Norbert > <ex19.tar.gz>Index: trilinos_nox_nonlinear_solver.C > =================================================================== > --- trilinos_nox_nonlinear_solver.C (revision 3104) > +++ trilinos_nox_nonlinear_solver.C (working copy) > @@ -96,6 +96,8 @@ > if( _solver->residual == NULL ) > return false; > _solver->residual (*sys.current_local_solution.get(), R); > + R.close(); > + X_global.close(); > return true; > } > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge > Build the coolest Linux based applications with Moblin SDK & win > great prizes > Grand prize is a trip for two to an Open Source event anywhere in > the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/_______________________________________________ > Libmesh-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/libmesh-devel ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Libmesh-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-devel
