![]() |
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.