Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

AdaptiveIterationLevel2.h

Go to the documentation of this file.
00001 // Copyright (C) 2004 Johan Jansson.
00002 // Licensed under the GNU GPL Version 2.
00003 //
00004 // Modified by Anders Logg, 2004.
00005 
00006 #ifndef __ADAPTIVE_ITERATION_LEVEL_2_H
00007 #define __ADAPTIVE_ITERATION_LEVEL_2_H
00008 
00009 #include <dolfin/Iteration.h>
00010 
00011 namespace dolfin
00012 {
00013 
00016 
00017   class AdaptiveIterationLevel2 : public Iteration
00018   {
00019   public:
00020     
00021     AdaptiveIterationLevel2(Solution& u, RHS& f, FixedPointIteration& fixpoint,
00022                             unsigned int maxiter, real maxdiv, real maxconv, real tol,
00023                             unsigned int depth);
00024     
00025     ~AdaptiveIterationLevel2();
00026     
00027     State state() const;
00028 
00029     void start(ElementGroupList& groups);
00030     void start(ElementGroup& group);
00031     void start(Element& element);
00032 
00033     void update(ElementGroupList& groups, Increments& d);
00034     void update(ElementGroup& group, Increments& d);
00035     void update(Element& element, Increments& d);
00036     
00037     void stabilize(ElementGroupList& groups, const Increments& d, unsigned int n);
00038     void stabilize(ElementGroup& group, const Increments& d, unsigned int n);
00039     void stabilize(Element& element, const Increments& d, unsigned int n);
00040     
00041     bool converged(ElementGroupList& groups, const Increments& d, unsigned int n);
00042     bool converged(ElementGroup& group, const Increments& d, unsigned int n);
00043     bool converged(Element& element, const Increments& d, unsigned int n);
00044 
00045     bool diverged(ElementGroupList& groups, const Increments& d, unsigned int n, State& newstate);
00046     bool diverged(ElementGroup& group, const Increments& d, unsigned int n, State& newstate);
00047     bool diverged(Element& element, const Increments& d, unsigned int n, State& newstate);
00048 
00049     void report() const;
00050 
00051   };
00052 
00053 }
00054 
00055 #endif


Documentation automatically generated with Doxygen on 10 Sep 2004.