CAPD::DynSys Library
6.0.0
|
Class for rigorous integration of differential inclusions. More...
#include <capd/diffIncl/DiffInclusionCW.h>
Public Types | |
typedef DiffInclusion< MapT, DynSysT > | BaseClass |
typedef BaseClass::MultiMapType | MultiMapType |
typedef BaseClass::MapType | MapType |
typedef BaseClass::FunctionType | FunctionType |
typedef BaseClass::MatrixType | MatrixType |
typedef BaseClass::VectorType | VectorType |
typedef BaseClass::ScalarType | ScalarType |
typedef BaseClass::NormType | NormType |
typedef MatrixType::size_type | size_type |
typedef MapT::MapType | VectorFieldType |
typedef capd::dynsys::OdeSolver< typename MapT::MapType > | DynSysType |
typedef DynSysType::SolutionCurve | SolutionCurve |
typedef DynSysT::StepControlType | StepControlType |
Public Member Functions | |
DiffInclusionCW (MultiMapType &diffIncl, size_type order, NormType const &norm, ScalarType const &expErrorTolerance=capd::TypeTraits< ScalarType >::epsilon()) | |
VectorType | perturbations (const ScalarType &time, const VectorType &x) |
Bounds for perturbation of solution of selected ODE after one time step. More... | |
template<typename SetType > | |
void | operator() (SetType &set) |
This operator computes image of the set (in given representation) using set.move function, see capd/dynsys/Move.h for details This template together with SetTraits prevent usage of various types of jets with incompatible solvers. The user will get an exception at runtime with clear message instead of unreadable compiler error. More... | |
template<typename SetType > | |
void | operator() (SetType &set, SetType &result) |
Computes image of the set (in set's representation) and stores it in the result set. More... | |
virtual VectorType | enclosure (const ScalarType &t, const VectorType &x) |
eclosure of solution of diff. inclusion during one time step starting at x More... | |
virtual VectorType | diffInclusionEnclosure (const ScalarType &t, const VectorType &x) |
eclosure of solution of diff. inclusion during one time step starting at x More... | |
virtual VectorType | dynamicalSystemEnclosure (const ScalarType &t, const VectorType &x) |
eclosure of solution of selected ODE during one time step starting at x More... | |
ScalarType | getStep () const |
returns current time step More... | |
virtual VectorType | diffInclusionEnclosure (const ScalarType &t, const VectorType &x) |
eclosure of solution of diff. inclusion during one time step starting at x More... | |
virtual VectorType | dynamicalSystemEnclosure (const ScalarType &t, const VectorType &x) |
eclosure of solution of selected ODE during one time step starting at x More... | |
virtual VectorType | enclosure (const ScalarType &t, const VectorType &x) |
eclosure of solution of diff. inclusion during one time step starting at x More... | |
const MapType & | getVectorField () const |
returns RHS of a diff. inclusion More... | |
MapType & | getVectorField () |
returns RHS of a diff. inclusion More... | |
int | getOrder () const |
returns order of numerical method More... | |
void | setOrder (int newOrder) |
sets order of numerical method More... | |
ScalarType | getStep () const |
returns current time step More... | |
void | setStep (const ScalarType &newStep) |
sets currect time step More... | |
void | adjustTimeStep (const ScalarType &newStep) |
DynSysType & | getDynamicalSystem () |
returns dynamical system (numerical ODE integrator) More... | |
const DynSysType & | getDynamicalSystem () const |
returns dynamical system (numerical ODE integrator) More... | |
int | dimension () const |
const SolutionCurve & | getCurve () |
virtual ScalarType | getCoeffNorm (unsigned i, int degree) const |
void | clearCoefficients () |
ScalarType | computeNextTimeStep (const SetType &x, const ScalarType &maxStep) |
ScalarType | getFirstTimeStep (const SetType &x, const ScalarType &maxStep) |
void | turnOnStepControl () |
void | turnOffStepControl () |
void | onOffStepControl (bool _onOffStepControl) |
const StepControlType & | getStepControl () const |
void | setStepControl (const StepControlType &stepControl) |
bool | isStepChangeAllowed () const |
void | setAbsoluteTolerance (double tol) |
void | setRelativeTolerance (double tol) |
double | getAbsoluteTolerance () const |
double | getRelativeTolerance () const |
ScalarType | getMaxStep () const |
void | setMaxStep (ScalarType maxStep) |
Static Public Member Functions | |
static double | getEffectiveTolerance (Solver &solver, const SetType &s) |
Protected Attributes | |
ScalarType | m_errorTolerance |
error tolerance in the exp(A) computations More... | |
NormType * | m_norm |
norm used in perturbation estimations More... | |
MultiMapType & | m_diffIncl |
RHS of differential inclusion. More... | |
DynSysType | m_dynamicalSystem |
dynamical system of selected ODE (numerical integrator) More... | |
Class for rigorous integration of differential inclusions.
It uses Component Wise method to bound perturbations.
For more details on algorithm see:
T. Kapela, P. ZgliczyĆski, A Lohner-type algorithm for control systems and ordinary differential inclusions, Discrete and Continuous Dynamical Systems B, 11 (2009), 365-385.
Template arguments:
typedef DiffInclusion<MapT, DynSysT> capd::diffIncl::DiffInclusionCW< MapT, DynSysT >::BaseClass |
|
inherited |
typedef BaseClass::FunctionType capd::diffIncl::DiffInclusionCW< MapT, DynSysT >::FunctionType |
typedef BaseClass::MapType capd::diffIncl::DiffInclusionCW< MapT, DynSysT >::MapType |
typedef BaseClass::MatrixType capd::diffIncl::DiffInclusionCW< MapT, DynSysT >::MatrixType |
typedef BaseClass::MultiMapType capd::diffIncl::DiffInclusionCW< MapT, DynSysT >::MultiMapType |
typedef BaseClass::NormType capd::diffIncl::DiffInclusionCW< MapT, DynSysT >::NormType |
typedef BaseClass::ScalarType capd::diffIncl::DiffInclusionCW< MapT, DynSysT >::ScalarType |
typedef MatrixType::size_type capd::diffIncl::DiffInclusionCW< MapT, DynSysT >::size_type |
|
inherited |
|
inherited |
|
inherited |
typedef BaseClass::VectorType capd::diffIncl::DiffInclusionCW< MapT, DynSysT >::VectorType |
capd::diffIncl::DiffInclusionCW< MapT, DynSysT >::DiffInclusionCW | ( | MultiMapType & | diffIncl, |
size_type | order, | ||
NormType const & | norm, | ||
ScalarType const & | expErrorTolerance = capd::TypeTraits<ScalarType>::epsilon() |
||
) |
|
inlineinherited |
< sets time step but does not change step control settings (compare setStep)
|
inlineinherited |
|
inlineinherited |
|
inlinevirtualinherited |
eclosure of solution of diff. inclusion during one time step starting at x
Computes enclosure of image of given set for differential inclusion during whole time step.
|
inline |
eclosure of solution of diff. inclusion during one time step starting at x
Computes enclosure of image of given set for differential inclusion during whole time step.
|
inlineinherited |
|
inlinevirtualinherited |
eclosure of solution of selected ODE during one time step starting at x
|
inline |
eclosure of solution of selected ODE during one time step starting at x
|
inlinevirtualinherited |
eclosure of solution of diff. inclusion during one time step starting at x
|
inline |
eclosure of solution of diff. inclusion during one time step starting at x
|
inlineinherited |
|
inlinevirtualinherited |
|
inlineinherited |
|
inlineinherited |
returns dynamical system (numerical ODE integrator)
|
inlineinherited |
returns dynamical system (numerical ODE integrator)
|
inlinestaticinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
returns order of numerical method
|
inlineinherited |
|
inlineinherited |
returns current time step
|
inline |
returns current time step
|
inlineinherited |
|
inlineinherited |
returns RHS of a diff. inclusion
|
inlineinherited |
returns RHS of a diff. inclusion
|
inlineinherited |
|
inlineinherited |
|
inline |
This operator computes image of the set (in given representation) using set.move function, see capd/dynsys/Move.h for details This template together with SetTraits prevent usage of various types of jets with incompatible solvers. The user will get an exception at runtime with clear message instead of unreadable compiler error.
|
inline |
Computes image of the set (in set's representation) and stores it in the result set.
[in] | set | C^0 or C^1 set representing initial conditions |
[out] | result | on return contains image of the set |
DiffInclusionCW< MapT, DynSysT >::VectorType capd::diffIncl::DiffInclusionCW< MapT, DynSysT >::perturbations | ( | const ScalarType & | time, |
const VectorType & | x | ||
) |
Bounds for perturbation of solution of selected ODE after one time step.
We use Component Wise algorithm
x | set before the the step |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
sets order of numerical method
|
inlineinherited |
|
inlineinherited |
sets currect time step
sets time step but does not change step control settings (compare setStep)
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
protected |
RHS of differential inclusion.
|
protectedinherited |
dynamical system of selected ODE (numerical integrator)
|
protected |
error tolerance in the exp(A) computations
|
protected |
norm used in perturbation estimations