All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
daspk_integrator.h
1 /* Copyright (C) 2004-2006 Martin Förg
2 
3  * This library is free software; you can redistribute it and/or
4  * modify it under the terms of the GNU Lesser General Public
5  * License as published by the Free Software Foundation; either
6  * version 2.1 of the License, or (at your option) any later version.
7  *
8  * This library is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11  * Lesser General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public
14  * License along with this library; if not, write to the Free Software
15  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16 
17  *
18  * Contact:
19  * martin.o.foerg@googlemail.com
20  *
21  */
22 
23 // #ifndef _DASPK_INTEGRATOR_H_
24 // #define _DASPK_INTEGRATOR_H_
25 //
26 // #include "integrator.h"
27 //
28 // namespace MBSimIntegrator {
29 //
30 // /** \brief ODE-Integrator DASPK
31 // Integrator with root finding for ODEs.
32 // This integrator uses DASPK from http://www.netlib.org . */
33 // class DASPKIntegrator : public Integrator {
34 //
35 // private:
36 //
37 // static void res(double *t, double *z, double *zd, double *cj, double *delta, int *ires, double *rpar, int *ipar);
38 // static void fsv(int* zSize, double* t, double* z_, int* nsv, double* sv_);
39 //
40 // /** maximal step size */
41 // double dtMax;
42 // /** minimal step size */
43 // double dtMin;
44 // /** Absolute Toleranz */
45 // fmatvec::Vec aTol;
46 // /** Relative Toleranz */
47 // double rTol;
48 // /** step size for the first step */
49 // double dt0;
50 // /** maximum number of steps allowed during one call to the solver. (default 10000) */
51 // int maxSteps;
52 // /** use stiff (BDF) method */
53 // bool stiff;
54 // /** number of differential equations */
55 // static int zSize;
56 //
57 // public:
58 //
59 // DASPKIntegrator();
60 // ~DASPKIntegrator() {}
61 //
62 // void setMaximalStepSize(double dtMax_) {dtMax = dtMax_;}
63 // void setMinimalStepSize(double dtMin_) {dtMin = dtMin_;}
64 // void setRelativeTolerance(double rTol_) {rTol = rTol_;}
65 // void setAbsoluteTolerance(const fmatvec::Vec &aTol_) {aTol.resize() = aTol_;}
66 // void setAbsoluteTolerance(double aTol_) {aTol.resize() = fmatvec::Vec(1,fmatvec::INIT,aTol_);}
67 // void setInitialStepSize(double dt0_) {dt0 = dt0_;}
68 // void setmaxSteps(int maxSteps_) {maxSteps = maxSteps_;}
69 // void setStiff(bool flag) {stiff = flag;}
70 //
71 // void integrate(DynamicSystemSolver& system);
72 //
73 // virtual void initializeUsingXML(xercesc::DOMElement *element);
74 // };
75 //
76 // }
77 //
78 // #endif

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML