|
SIMLIB/C++
3.07
|
Abstract base class for integration methods with status auxiliary memories. More...
#include <simlib.h>


Classes | |
| class | StatusMemory |
Public Member Functions | |
| StatusMethod (const char *name) | |
| initialization More... | |
| virtual | ~StatusMethod () |
| virtual void | TurnOff (void) override |
| turn off integration method: flush memories etc... More... | |
| virtual bool | PrepareStep (void) override |
| prepare object for integration step More... | |
| virtual void | StatusResize (size_t size) |
| resize status memories to the given size More... | |
Public Member Functions inherited from simlib3::SingleStepMethod | |
| SingleStepMethod (const char *name) | |
| virtual bool | IsSingleStep (void) override |
| void | SetStartMode (bool start_mode) |
| bool | IsStartMode (void) |
Public Member Functions inherited from simlib3::IntegrationMethod | |
| IntegrationMethod (const char *name) | |
| register method to list of methods and name it More... | |
| virtual | ~IntegrationMethod () |
| destroy integration method (remove from list) More... | |
| virtual void | Integrate (void)=0 |
| virtual void | Resize (size_t size) |
| resize all the memories to the given size More... | |
Protected Types | |
| typedef StatusContainer::iterator | StatusIterator |
Protected Types inherited from simlib3::IntegrationMethod | |
| typedef IntegratorContainer::iterator | Iterator |
Static Protected Member Functions | |
| static StatusIterator | FirstStatus (void) |
| static StatusIterator | LastStatus (void) |
| static void | StoreState (Memory &di, Memory &si, StatusMemory &xi) |
| store state of integrators and status variables More... | |
| static void | RestoreState (double dthlf, Memory &di, Memory &si, StatusMemory &xi) |
| restore state of integrators and status variables More... | |
| static void | GoToState (Memory &di, Memory &si, StatusMemory &xi) |
| move startpoint to given state More... | |
Static Protected Member Functions inherited from simlib3::IntegrationMethod | |
| static Iterator | FirstIntegrator (void) |
| static Iterator | LastIntegrator (void) |
| static bool | StateCond (void) |
| check on changes of state conditions More... | |
| static IntegrationMethod * | SearchMethod (const char *name) |
| search method in the list of registrated methods More... | |
Private Member Functions | |
| StatusMethod (const StatusMethod &)=delete | |
Private Attributes | |
| size_t | PrevStatusNum |
| std::list< Memory * > | StatusMList |
Static Private Attributes | |
| static std::list< Memory * > * | PtrStatusMList |
Friends | |
| class | EULER |
| class | RKE |
| class | StatusMemory |
Additional Inherited Members | |
Static Public Member Functions inherited from simlib3::IntegrationMethod | |
| static void | StepSim (void) |
| step of numerical integration method More... | |
| static void | IntegrationDone (void) |
| static void | SetMethod (const char *name) |
| set method which will be used More... | |
| static const char * | GetMethod (void) |
| static void | InitStep (double step_frag) |
| initialize step More... | |
| static void | FunCall (double step_frag) |
| static void | SetOptStep (double opt_step) |
| static void | SetStepSize (double step_size) |
| static bool | IsConditionFlag (void) |
| static int | GetErrNo (void) |
| static void | SetErrNo (int num) |
Static Protected Attributes inherited from simlib3::IntegrationMethod | |
| static bool | IsEndStepEvent =false |
Abstract base class for integration methods with status auxiliary memories.
|
protected |
|
privatedelete |
|
explicit |
initialization
Definition at line 517 of file numint.cc.
References Dprintf, PtrStatusMList, and StatusMList.
|
inlinevirtual |
|
inlinestaticprotected |
Definition at line 1194 of file simlib.h.
References simlib3::StatusContainer::Begin().
|
staticprotected |
move startpoint to given state
Definition at line 622 of file numint.cc.
References simlib3::abm4, simlib3::IntegratorContainer::Begin(), simlib3::StatusContainer::Begin(), simlib3::IntegrationMethod::CurrentMethodPtr, simlib3::IntegratorContainer::End(), simlib3::StatusContainer::End(), simlib3::euler, simlib3::fw, simlib3::IntegrationMethod::IsEndStepEvent, simlib3::IntegrationMethod::MthLstPtr, simlib3::IntegrationMethod::Memory::page_size, simlib3::IntegrationMethod::PtrMList, PtrStatusMList, simlib3::rke, simlib3::rkf3, simlib3::rkf5, and simlib3::rkf8.
Referenced by simlib3::EULER::Integrate(), and simlib3::RKE::Integrate().
|
inlinestaticprotected |
Definition at line 1197 of file simlib.h.
References simlib3::StatusContainer::End().
|
overridevirtual |
prepare object for integration step
Reimplemented from simlib3::IntegrationMethod.
Definition at line 539 of file numint.cc.
References Dprintf, simlib3::IntegrationMethod::PrepareStep(), PrevStatusNum, simlib3::StatusContainer::Size(), and StatusResize().
|
staticprotected |
restore state of integrators and status variables
Definition at line 594 of file numint.cc.
References _SetTime, simlib3::IntegratorContainer::Begin(), simlib3::StatusContainer::Begin(), simlib3::IntegratorContainer::End(), simlib3::StatusContainer::End(), simlib3::IntegrationMethod::IsEndStepEvent, simlib3::SIMLIB_StepStartTime, and simlib3::Time.
Referenced by simlib3::EULER::Integrate(), and simlib3::RKE::Integrate().
|
virtual |
resize status memories to the given size
Definition at line 557 of file numint.cc.
References Dprintf, and StatusMList.
Referenced by PrepareStep(), and TurnOff().
|
staticprotected |
store state of integrators and status variables
Definition at line 570 of file numint.cc.
References simlib3::IntegratorContainer::Begin(), simlib3::StatusContainer::Begin(), simlib3::IntegratorContainer::End(), and simlib3::StatusContainer::End().
Referenced by simlib3::EULER::Integrate(), and simlib3::RKE::Integrate().
|
overridevirtual |
turn off integration method: flush memories etc...
Reimplemented from simlib3::IntegrationMethod.
Definition at line 528 of file numint.cc.
References Dprintf, PrevStatusNum, StatusResize(), and simlib3::IntegrationMethod::TurnOff().
|
friend |
|
private |
Definition at line 1189 of file simlib.h.
Referenced by PrepareStep(), and TurnOff().
|
staticprivate |
Definition at line 1191 of file simlib.h.
Referenced by GoToState(), and StatusMethod().
|
private |
Definition at line 1190 of file simlib.h.
Referenced by StatusMethod(), and StatusResize().
1.8.13