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

AdaptiveIterationLevel1.h

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


Documentation automatically generated with Doxygen on 10 Sep 2004.