#include "utl/RK5ODEIntegrator.h"
Public Member Functions | |
AdaptiveRK5Iterator (const double x0, const double dx0, const VectorType &y0, DerivativeFunctor &d, const double accuracy=1e-5, const ErrorScalingPolicy &errorScaling=DefaultRK5ErrorScaling()) | |
AdaptiveRK5Iterator (const double dx0, const RK5Iterator< DerivativeFunctor, VectorType > &rk5It, const double accuracy=1e-5, const ErrorScalingPolicy &errorScaling=DefaultRK5ErrorScaling()) | |
bool | Advance (const double dx) |
bool | Advance () |
void | ClearStatus () |
double | GetNextStepSize () const |
double | GetX () const |
VectorType & | GetY () |
const VectorType & | GetY () const |
const VectorType & | GetYError () const |
operator bool () const | |
AdaptiveRK5Iterator & | operator++ () |
AdaptiveRK5Iterator & | operator+= (const double dx) |
AdaptiveRK5Iterator & | operator-= (const double dx) |
Static Private Member Functions | |
static double | GetMaxScaledError (const unsigned int n, const VectorType &error, const VectorType &scaling) |
Private Attributes | |
double | fAccuracy |
const ErrorScalingPolicy & | fErrorScaling |
RK5Iterator< DerivativeFunctor, VectorType > | fIterator |
double | fNextStepSize |
Static Private Attributes | |
static const double | fPowerDown = -0.25 |
static const double | fPowerLawThreshold = 1.889568e-4 |
static const double | fPowerUp = -0.2 |
static const double | fSlightlyLess = 0.9 |
This iterator class will advance the solution from the current point maintaining the accuracy of the result. See class RK5ODEIntegrator for details.
Definition at line 191 of file RK5ODEIntegrator.h.
|
inline |
Definition at line 193 of file RK5ODEIntegrator.h.
|
inline |
Definition at line 205 of file RK5ODEIntegrator.h.
|
inline |
Definition at line 225 of file RK5ODEIntegrator.h.
References utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::fAccuracy, utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::fErrorScaling, utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::fIterator, utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::fNextStepSize, utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::fPowerDown, utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::fPowerLawThreshold, utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::fPowerUp, utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::fSlightlyLess, utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::GetMaxScaledError(), max, and std::pow().
|
inline |
Definition at line 262 of file RK5ODEIntegrator.h.
References utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::Advance(), and utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::fNextStepSize.
Referenced by utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::Advance(), utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::operator++(), utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::operator+=(), and utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::operator-=().
|
inline |
Definition at line 275 of file RK5ODEIntegrator.h.
References utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::fIterator.
|
inlinestaticprivate |
Definition at line 282 of file RK5ODEIntegrator.h.
References utl::abs(), and max.
Referenced by utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::Advance().
|
inline |
Definition at line 273 of file RK5ODEIntegrator.h.
References utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::fNextStepSize.
|
inline |
Definition at line 216 of file RK5ODEIntegrator.h.
References utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::fIterator.
Referenced by main(), and TestODEIntegrator::TestAdaptiveRK5().
|
inline |
Definition at line 218 of file RK5ODEIntegrator.h.
References utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::fIterator.
Referenced by main(), and TestODEIntegrator::TestAdaptiveRK5().
|
inline |
Definition at line 220 of file RK5ODEIntegrator.h.
References utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::fIterator.
|
inline |
Definition at line 222 of file RK5ODEIntegrator.h.
References utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::fIterator.
|
inlineexplicit |
Definition at line 277 of file RK5ODEIntegrator.h.
References utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::fIterator.
|
inline |
Definition at line 270 of file RK5ODEIntegrator.h.
References utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::Advance().
|
inline |
Definition at line 264 of file RK5ODEIntegrator.h.
References utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::Advance().
|
inline |
Definition at line 267 of file RK5ODEIntegrator.h.
References utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::Advance().
|
private |
Definition at line 296 of file RK5ODEIntegrator.h.
Referenced by utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::Advance().
|
private |
Definition at line 297 of file RK5ODEIntegrator.h.
Referenced by utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::Advance().
|
private |
Definition at line 294 of file RK5ODEIntegrator.h.
Referenced by utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::Advance(), utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::ClearStatus(), utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::GetX(), utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::GetY(), utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::GetYError(), and utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::operator bool().
|
private |
|
staticprivate |
Definition at line 300 of file RK5ODEIntegrator.h.
Referenced by utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::Advance().
|
staticprivate |
Definition at line 302 of file RK5ODEIntegrator.h.
Referenced by utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::Advance().
|
staticprivate |
Definition at line 299 of file RK5ODEIntegrator.h.
Referenced by utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::Advance().
|
staticprivate |
Definition at line 301 of file RK5ODEIntegrator.h.
Referenced by utl::AdaptiveRK5Iterator< DerivativeFunctor, VectorType, ErrorScalingPolicy >::Advance().