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

NewtonIteration.h

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


Documentation automatically generated with Doxygen on 10 Sep 2004.