00001
00002
00003
00004
00005 #ifndef INCLUDED_CONSTSTEP_H
00006 #define INCLUDED_CONSTSTEP_H
00007
00008
00009 #include "stepctrl.h"
00010 #include "messgs.h"
00011
00012
00018 class CONST_STEP : public STEP_CTRL
00019 {
00020
00021 public:
00022
00028 CONST_STEP( double h );
00029
00031 double PredictFirstStep( const PtrODENumeric ODE,
00032 PtrDataRepr Data, int order );
00033
00035 bool PredictStep( double & hPred, double h,
00036 const PtrODENumeric ODE,
00037 const INTERVAL_VECTOR & LocErr,
00038 const INTERVAL_VECTOR & Ytight,
00039 int order );
00040
00041
00043 ~CONST_STEP(){};
00044
00046 void Init( const PtrODENumeric ODE ) { ; };
00047
00048 };
00049
00050
00051 inline CONST_STEP :: CONST_STEP( double h ) : STEP_CTRL( MSG_CONST_STEP )
00052 {
00053 assert( h != 0 );
00054 SetStepSize( h ) ;
00055 }
00056
00057
00058 inline double CONST_STEP :: PredictFirstStep( const PtrODENumeric ODE,
00059 PtrDataRepr Data, int order )
00060 {
00061 return GetStepSize();
00062 }
00063
00064
00065 inline bool CONST_STEP :: PredictStep( double & hPred, double h,
00066 const PtrODENumeric ODE,
00067 const INTERVAL_VECTOR & LocErr,
00068 const INTERVAL_VECTOR & Ytight,
00069 int order )
00070 {
00071 hPred = GetStepSize();
00072 return true;
00073 }
00074
00075
00076 #endif