VTK
vtkRungeKutta2.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkRungeKutta2.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
28 #ifndef __vtkRungeKutta2_h
29 #define __vtkRungeKutta2_h
30 
32 
34 {
35 public:
37 
39  static vtkRungeKutta2 *New();
40 
42 
48  virtual int ComputeNextStep(double* xprev, double* xnext, double t,
49  double& delT, double maxError, double& error)
50  {
51  double minStep = delT;
52  double maxStep = delT;
53  double delTActual;
54  return this->ComputeNextStep(xprev, 0, xnext, t, delT, delTActual,
55  minStep, maxStep, maxError, error);
56  }
57  virtual int ComputeNextStep(double* xprev, double* dxprev, double* xnext,
58  double t, double& delT,
59  double maxError, double& error)
60  {
61  double minStep = delT;
62  double maxStep = delT;
63  double delTActual;
64  return this->ComputeNextStep(xprev, dxprev, xnext, t, delT, delTActual,
65  minStep, maxStep, maxError, error);
66  }
67  virtual int ComputeNextStep(double* xprev, double* xnext,
68  double t, double& delT, double& delTActual,
69  double minStep, double maxStep,
70  double maxError, double& error)
71  {
72  return this->ComputeNextStep(xprev, 0, xnext, t, delT, delTActual,
73  minStep, maxStep, maxError, error);
74  }
75  virtual int ComputeNextStep(double* xprev, double* dxprev, double* xnext,
76  double t, double& delT, double& delTActual,
77  double minStep, double maxStep,
78  double maxError, double& error);
80 
81 protected:
83  ~vtkRungeKutta2();
84 private:
85  vtkRungeKutta2(const vtkRungeKutta2&); // Not implemented.
86  void operator=(const vtkRungeKutta2&); // Not implemented.
87 };
88 
89 #endif
90 
91 
92 
93 
94 
95 
96 
97 
virtual int ComputeNextStep(double *xprev, double *xnext, double t, double &delT, double maxError, double &error)
Integrate an initial value problem using 2nd order Runge-Kutta method.
#define VTK_COMMON_EXPORT
virtual int ComputeNextStep(double *xprev, double *xnext, double t, double &delT, double &delTActual, double minStep, double maxStep, double maxError, double &error)
static vtkObject * New()
virtual int ComputeNextStep(double *xprev, double *dxprev, double *xnext, double t, double &delT, double maxError, double &error)
virtual int ComputeNextStep(double *xprev, double *xnext, double t, double &delT, double maxError, double &error)
Integrate a set of ordinary differential equations (initial value problem) in time.