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

Reply via email to