00001
00002
00003
00004
00005 #ifndef GONALGORITHM_H
00006 #define GONALGORITHM_H
00007
00008 #include "Solver.h"
00009
00010 class Data;
00011 class Variables;
00012 class ProblemFormulation;
00013
00014
00020 class GondzioSolver : public Solver
00021 {
00022 protected:
00023
00026 int printlevel;
00027
00032 double tsig;
00033
00035 int maximum_correctors;
00036
00038 int NumberGondzioCorrections;
00039
00041 double StepFactor0, StepFactor1, AcceptTol, beta_min, beta_max;
00042
00044 Variables *corrector_step, *step;
00045
00047 Residuals *corrector_resid;
00048
00049 ProblemFormulation * factory;
00050
00051 public:
00052
00053 GondzioSolver( ProblemFormulation * of, Data * prob );
00054
00055 virtual ~GondzioSolver();
00056
00057 virtual int solve( Data *prob, Variables *iterate, Residuals * resid );
00058
00060 virtual void reset_parameters() {};
00061
00062 virtual void defaultMonitor( Data * data, Variables * vars,
00063 Residuals * resids,
00064 double alpha, double sigma,
00065 int i, double mu,
00066 int status_code,
00067 int level ) ;
00068
00069 };
00070
00071 #endif