Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #if !defined (octave_DASSL_h)
00024 #define octave_DASSL_h 1
00025
00026 #include <cfloat>
00027
00028 #include "DASSL-opts.h"
00029 #include "lo-math.h"
00030
00031 class
00032 OCTAVE_API
00033 DASSL : public DAE, public DASSL_options
00034 {
00035 public:
00036
00037 DASSL (void)
00038 : DAE (), DASSL_options (), initialized (false), liw (0), lrw (0),
00039 info (), iwork (), rwork (), abs_tol (), rel_tol () { }
00040
00041 DASSL (const ColumnVector& s, double tm, DAEFunc& f)
00042 : DAE (s, tm, f), DASSL_options (), initialized (false), liw (0),
00043 lrw (0), info (), iwork (), rwork (), abs_tol (), rel_tol () { }
00044
00045 DASSL (const ColumnVector& s, const ColumnVector& deriv,
00046 double tm, DAEFunc& f)
00047 : DAE (s, deriv, tm, f), DASSL_options (), initialized (false),
00048 liw (0), lrw (0), info (), iwork (), rwork (), abs_tol (),
00049 rel_tol () { }
00050
00051 ~DASSL (void) { }
00052
00053 ColumnVector do_integrate (double t);
00054
00055 Matrix do_integrate (const ColumnVector& tout);
00056
00057 Matrix do_integrate (const ColumnVector& tout, const ColumnVector& tcrit);
00058
00059 Matrix integrate (const ColumnVector& tout, Matrix& xdot_out);
00060
00061 Matrix integrate (const ColumnVector& tout, Matrix& xdot_out,
00062 const ColumnVector& tcrit);
00063
00064 std::string error_message (void) const;
00065
00066 private:
00067
00068 bool initialized;
00069
00070 octave_idx_type liw;
00071 octave_idx_type lrw;
00072
00073 Array<octave_idx_type> info;
00074 Array<octave_idx_type> iwork;
00075
00076 Array<double> rwork;
00077
00078 Array<double> abs_tol;
00079 Array<double> rel_tol;
00080 };
00081
00082 #endif