00001
00002
00003
00004
00005 #ifndef INCLUDED_HOINIT_H
00006 #define INCLUDED_HOINIT_H
00007
00008
00009 #include "taylctrl.h"
00010 #include "initencl.h"
00011 #include "messgs.h"
00012
00013
00023 class HOE : public INIT_ENCL
00024 {
00025
00026 public:
00027
00035 HOE( int max_order = TAYLOR_CTRL::GetMaxOrder() );
00036
00040 bool Validate( INTERVAL_VECTOR & Y,
00041 INTERVAL_VECTOR & LocErr,
00042 double & h,
00043 int order,
00044 PtrODENumeric ODE,
00045 PtrODESolver Solver );
00046
00048 void Init( PtrODENumeric ODE );
00049
00050
00051 private:
00052
00054 void ResizeSpace( int N );
00055
00057 VECTOR PrevLocErr;
00058
00060 INTERVAL_VECTOR U, P, Y, V;
00061
00063 double hPrev;
00064
00065 };
00066
00067
00068 inline HOE :: HOE( int max_order )
00069 : INIT_ENCL( max_order, MSG_HOE_METHOD )
00070 {
00071 assert( max_order>0 && max_order<=TAYLOR_CTRL::GetMaxOrder() );
00072 }
00073
00074
00075 #endif