All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
theta_time_stepping_ssc_integrator.h
1 /* Copyright (C) 2004-2012 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: jan.p.clauberg@googlemail.com
18  */
19 
20 #ifndef _THETA_TIME_STEPPING_SSC_INTEGRATOR_H_
21 #define _THETA_TIME_STEPPING_SSC_INTEGRATOR_H_
22 
23 #include "integrator.h"
24 
25 namespace MBSimIntegrator {
26 
32  public:
37 
42 
43  /* INHERITED INTERFACE OF INTEGRATOR */
44  void integrate(DynamicSystemSolver& system);
45  virtual void initializeUsingXML(xercesc::DOMElement *element);
46  /***************************************************/
47 
48  /* GETTER / SETTER */
49  void setStepSize(double dt_) { dt = dt_; }
50  void setTheta(double theta_ ) { theta = theta_; }
51  void setDriftCompensation(bool dc) { driftCompensation = dc; }
52  /***************************************************/
53 
60  void update(DynamicSystemSolver& system, const fmatvec::Vec& z, double t);
61 
66  void preIntegrate(DynamicSystemSolver& system);
67 
74  void subIntegrate(DynamicSystemSolver& system, double tStop);
79  void postIntegrate(DynamicSystemSolver& system);
80 
81  private:
85  double dt;
86 
90  double theta;
91 
95  double t, tPlot;
96 
100  int iter,step, integrationSteps, maxIter, sumIter;
101 
105  double s0, time;
106 
110  int stepPlot;
111 
115  fmatvec::Vec z, q, u, x;
116 
120  std::ofstream integPlot;
121 
126  };
127 
128 }
129 
130 #endif /* _THETA_TIME_STEPPING_SSC_INTEGRATOR_H_ */
131 
void postIntegrate(DynamicSystemSolver &system)
postintegration steps
Definition: theta_time_stepping_ssc_integrator.cc:146
virtual ~ThetaTimeSteppingSSCIntegrator()
destructor
Definition: theta_time_stepping_ssc_integrator.h:41
int stepPlot
plot step difference
Definition: theta_time_stepping_ssc_integrator.h:110
void update(DynamicSystemSolver &system, const fmatvec::Vec &z, double t)
update of dynamic system necessary values concerning theta time stepping integrator ...
Definition: theta_time_stepping_ssc_integrator.cc:39
fmatvec::Vec z
state, position, velocity, order coordinate of dynamical system
Definition: theta_time_stepping_ssc_integrator.h:115
double t
time and plot time
Definition: theta_time_stepping_ssc_integrator.h:95
void preIntegrate(DynamicSystemSolver &system)
preintegration steps
Definition: theta_time_stepping_ssc_integrator.cc:68
bool driftCompensation
flag for drift compensation
Definition: theta_time_stepping_ssc_integrator.h:125
ThetaTimeSteppingSSCIntegrator()
constructor
Definition: theta_time_stepping_ssc_integrator.cc:37
int iter
iteration counter for constraints, plots, integration, maximum constraints, cummulation constraint ...
Definition: theta_time_stepping_ssc_integrator.h:100
Definition: theta_time_stepping_ssc_integrator.h:31
virtual void initializeUsingXML(xercesc::DOMElement *element)
initialize integrator
Definition: theta_time_stepping_ssc_integrator.cc:167
std::ofstream integPlot
file stream for integration information
Definition: theta_time_stepping_ssc_integrator.h:120
double s0
computing time counter
Definition: theta_time_stepping_ssc_integrator.h:105
void subIntegrate(DynamicSystemSolver &system, double tStop)
integration steps
Definition: theta_time_stepping_ssc_integrator.cc:99
double theta
convex combination parameter between explicit (0) and implicit (1) Euler scheme
Definition: theta_time_stepping_ssc_integrator.h:90
integrator-interface for dynamic systems
Definition: integrator.h:40
static DynamicSystemSolver * system
dynamic system
Definition: solver.h:65
double dt
step size
Definition: theta_time_stepping_ssc_integrator.h:85

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML