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