Hello all:
After some enlightening conversations with Roy, I am going to be
implementing a predictor/corrector AdaptiveTimeSolver class that does
the following:
1) An explicit solve (just an EulerSolver step with theta=0) yields the
"predictor" which is stored.
2) The explicit solve solution is used as the starting iterate for a
full nonlinear implicit solve , which is done to the user's tolerances
or maximum step count.
3) The implicit solution is compared with the copy of the explicit
solution to get an error estimate and adapt the time step.
The tentative algorithm for this, unless anyone has any better ideas is:
1) the structure of the class data will be exactly the same as
AdaptiveTimeSolver except a vector will be added for the explicit
solution storage. My understanding is that using clone() will result in
dynamic memory allocation everytime, even though this might not be
necessary (in the case that the mesh has not changed since the previous
solve).
2) the core_time_solver (EulerSolver) will be run with theta=0 and
max_iterations=1 to generate the predictor solution, which will be copied.
3) theta will be restored to its previous value and max_iterations=N-1
and the implicit solution will be found (Roy pointed out that we just
don't touch system.solution and all will be fine)
4) the error will then be determined as is done currently in
AdaptiveTimeSolver, I'll literally just cut and paste the code.
I'll be working on this over the weekend, and will surely need help
since I'm quite new to C++ and the FEM...
--
Nasser Mohieddin Abukhdeir
Graduate Student (Materials Modeling Research Group)
McGill University - Department of Chemical Engineering
http://webpages.mcgill.ca/students/nabukh/web/
http://mmrg.chemeng.mcgill.ca/
-------------------------------------------------------------------------
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