SIMLIB/C++  3.07
Classes | Public Member Functions | Protected Types | Static Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
simlib3::StatusMethod Class Reference

Abstract base class for integration methods with status auxiliary memories. More...

#include <simlib.h>

Inheritance diagram for simlib3::StatusMethod:
Inheritance graph
[legend]
Collaboration diagram for simlib3::StatusMethod:
Collaboration graph
[legend]

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 IntegrationMethodSearchMethod (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
 

Detailed Description

Abstract base class for integration methods with status auxiliary memories.

Definition at line 1186 of file simlib.h.

Member Typedef Documentation

◆ StatusIterator

Definition at line 1193 of file simlib.h.

Constructor & Destructor Documentation

◆ StatusMethod() [1/2]

simlib3::StatusMethod::StatusMethod ( const StatusMethod )
privatedelete

◆ StatusMethod() [2/2]

simlib3::StatusMethod::StatusMethod ( const char *  name)
explicit

initialization

Definition at line 517 of file numint.cc.

References Dprintf, PtrStatusMList, and StatusMList.

◆ ~StatusMethod()

virtual simlib3::StatusMethod::~StatusMethod ( )
inlinevirtual

Definition at line 1228 of file simlib.h.

Member Function Documentation

◆ FirstStatus()

static StatusIterator simlib3::StatusMethod::FirstStatus ( void  )
inlinestaticprotected

Definition at line 1194 of file simlib.h.

References simlib3::StatusContainer::Begin().

◆ GoToState()

void simlib3::StatusMethod::GoToState ( Memory di,
Memory si,
StatusMemory xi 
)
staticprotected

◆ LastStatus()

static StatusIterator simlib3::StatusMethod::LastStatus ( void  )
inlinestaticprotected

Definition at line 1197 of file simlib.h.

References simlib3::StatusContainer::End().

◆ PrepareStep()

bool simlib3::StatusMethod::PrepareStep ( void  )
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().

◆ RestoreState()

void simlib3::StatusMethod::RestoreState ( double  dthlf,
Memory di,
Memory si,
StatusMemory xi 
)
staticprotected

◆ StatusResize()

void simlib3::StatusMethod::StatusResize ( size_t  size)
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().

◆ StoreState()

void simlib3::StatusMethod::StoreState ( Memory di,
Memory si,
StatusMemory xi 
)
staticprotected

◆ TurnOff()

void simlib3::StatusMethod::TurnOff ( void  )
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().

Friends And Related Function Documentation

◆ EULER

friend class EULER
friend

Definition at line 1202 of file simlib.h.

◆ RKE

friend class RKE
friend

Definition at line 1203 of file simlib.h.

◆ StatusMemory

friend class StatusMemory
friend

Definition at line 1216 of file simlib.h.

Member Data Documentation

◆ PrevStatusNum

size_t simlib3::StatusMethod::PrevStatusNum
private

Definition at line 1189 of file simlib.h.

Referenced by PrepareStep(), and TurnOff().

◆ PtrStatusMList

std::list< IntegrationMethod::Memory * > * simlib3::StatusMethod::PtrStatusMList
staticprivate

Definition at line 1191 of file simlib.h.

Referenced by GoToState(), and StatusMethod().

◆ StatusMList

std::list<Memory*> simlib3::StatusMethod::StatusMList
private

Definition at line 1190 of file simlib.h.

Referenced by StatusMethod(), and StatusResize().


The documentation for this class was generated from the following files: