All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
time_stepping_integrator.h
1 /* Copyright (C) 2004-2014 MBSim Development Team
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  * Contact: martin.o.foerg@googlemail.com
18  */
19 
20 #ifndef _TIME_STEPPING_INTEGRATOR_H_
21 #define _TIME_STEPPING_INTEGRATOR_H_
22 
23 #include "integrator.h"
24 
25 namespace MBSimIntegrator {
26 
33  public:
38 
43 
44  void preIntegrate(MBSim::DynamicSystemSolver& system);
45  void subIntegrate(MBSim::DynamicSystemSolver& system, double tStop);
46  void postIntegrate(MBSim::DynamicSystemSolver& system);
47 
48  /* INHERITED INTERFACE OF INTEGRATOR */
50  virtual void initializeUsingXML(xercesc::DOMElement *element);
51  /***************************************************/
52 
53  /* GETTER / SETTER */
54  void setStepSize(double dt_) { dt = dt_; }
55  void setDriftCompensation(bool dc) { driftCompensation = dc; }
56  /***************************************************/
57 
58  private:
62  double dt;
63 
67  double tPlot;
68 
72  int step, integrationSteps, maxIter, sumIter;
73 
77  double s0, time;
78 
82  int stepPlot;
83 
87  std::ofstream integPlot;
88 
93  };
94 
95 }
96 
97 #endif /* _TIME_STEPPING_INTEGRATOR_H_ */
double dt
step size
Definition: time_stepping_integrator.h:62
Definition: time_stepping_integrator.h:32
TimeSteppingIntegrator()
constructor
Definition: time_stepping_integrator.cc:45
std::ofstream integPlot
file stream for integration information
Definition: time_stepping_integrator.h:87
solver interface for modelling and simulation of dynamic systems
Definition: dynamic_system_solver.h:48
virtual void integrate(MBSim::DynamicSystemSolver &system)
start the integration
Definition: time_stepping_integrator.cc:139
virtual ~TimeSteppingIntegrator()
destructor
Definition: time_stepping_integrator.h:42
double tPlot
time and plot time
Definition: time_stepping_integrator.h:67
int stepPlot
plot step difference
Definition: time_stepping_integrator.h:82
bool driftCompensation
flag for drift compensation
Definition: time_stepping_integrator.h:92
double s0
computing time counter
Definition: time_stepping_integrator.h:77
integrator-interface for dynamic systems
Definition: integrator.h:40
virtual void initializeUsingXML(xercesc::DOMElement *element)
initialize integrator
Definition: time_stepping_integrator.cc:146
static DynamicSystemSolver * system
dynamic system
Definition: solver.h:65
int step
iteration counter for constraints, plots, integration, maximum constraints, cummulation constraint ...
Definition: time_stepping_integrator.h:72

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML