SIMLIB/C++  3.07
Classes | Functions
SIMLIB/C++

Classes

class  simlib3::SimObject
 Base class for almost all SIMLIB classes. More...
 
class  simlib3::Link
 base class for all double-linked list items
item can be at single place only (identified by where() method)
used for Queue implementation More...
 
class  simlib3::Entity
 abstract base class for active entities (Process, Event) instances of derived classes provide Behavior() method implementation, execution can be scheduled in calendar More...
 
class  simlib3::Process
 Abstract base class for all simulation processesProcess behavior is specified by Behavior method and can be interrupted during execution by e.g. More...
 
class  simlib3::Event
 abstract base class for events Event behavior is simple function (can not be interrupted) More...
 
class  simlib3::Sampler
 objects of this class call global function periodically (typicaly used for output of continuous model) More...
 
class  simlib3::Stat
 class for statistical information gathering More...
 
class  simlib3::TStat
 time dependent statistic More...
 
class  simlib3::List
 list of Link* items, uses data from Link More...
 
class  simlib3::Queue
 priority queue More...
 
class  simlib3::Histogram
 histogram statistics More...
 
class  simlib3::Facility
 (SOL-like) facility Facility with exclusive access and service priority More...
 
class  simlib3::Store
 (SOL-like) store store capacity can be changed dynamically More...
 
class  simlib3::aBlock
 abstract base class for all blocksblocks/SimObject have not copy semantics (TODO: add move semantics) More...
 
class  simlib3::aContiBlock
 abstract base for continuous blocks with single output suitable for expression-tree building and evaluation More...
 
class  simlib3::Constant
 block: constant (value can not be changed) More...
 
class  simlib3::Variable
 block: variable (value can be changed) More...
 
class  simlib3::Parameter
 block: parameter (can not be changed during simulation run) More...
 
class  simlib3::Input
 continuous block connection (transparent reference) wrapper for pointer to objects of aContiBlock derived classes
(small object, without virtual methods)
It is used for referencing of continuous blocks in block-expressions. More...
 
class  simlib3::aContiBlock1
 base for continuous blocks with single input and algebraic loop check More...
 
struct  simlib3::Expression
 reference to block expression This block can be used as handle for block expression trees More...
 
class  simlib3::aContiBlock2
 base for continuous blocks with two inputs More...
 
class  simlib3::aContiBlock3
 base for continuous blocks vith three inputs and algebraic loop check More...
 
class  simlib3::Integrator
 block for numerical integration input is derivative, output is state More...
 
class  simlib3::Status
 State variables (memory) base for blocks with internal state (Relay, ...) More...
 
class  simlib3::Hyst
 nonlinear block - hysteresis More...
 
class  simlib3::Blash
 nonlinear block - backlash More...
 
class  simlib3::Relay
 Relay this implementation detects exact time of switch. More...
 
class  simlib3::Function1
 block parametrized by function with single argument More...
 
class  simlib3::Function2
 block parametrized by function with two arguments More...
 
class  simlib3::aCondition
 abstract base class for all state-condition blocks State event in combined model is executed at the time when the condition changes its boolean value More...
 
class  simlib3::ConditionUp
 detector of FALSE–>TRUE More...
 
class  simlib3::ConditionDown
 detector of TRUE–>FALSE More...
 
class  simlib3::Lim
 nonlinear block: limitation More...
 
class  simlib3::Insv
 nonlinear block: dead zone More...
 
class  simlib3::Qntzr
 nonlinear block: quantizer More...
 
class  simlib3::Frict
 nonlinear block: friction More...
 
class  simlib3::Rline
 nonlinear block: function defined by given table of values More...
 
class  simlib3::AlgLoop
 abstract base for algebraic loop solvers More...
 
class  simlib3::Iterations
 solve using iterations More...
 
class  simlib3::Bisect
 solve using bisection method More...
 
class  simlib3::RegulaFalsi
 solve using regula falsi method More...
 
class  simlib3::Newton
 solve using modified Newton's method More...
 
class  simlib3::Semaphore
 basic synchronization tool for processes simplified implementation More...
 
class  simlib3::Barrier
 synchronization tool for processes More...
 
struct  simlib3::SIMLIB_statistics_t
 internal statistics structure
contains basic statistics of simulator execution More...
 

Functions

void simlib3::SetMethod (const char *name)
 select the integration method More...
 
const char * simlib3::GetMethod (void)
 get the name of the method which is used More...
 
void simlib3::SetStarter (const char *name, const char *slave_name)
 set the method which will be used to start given multistep method More...
 
void simlib3::SetStarter (const char *slave_name)
 set the method which will be used to start currently used multistep method More...
 
const char * simlib3::GetStarter (const char *name)
 get the name of the method which is used to start given multistep method More...
 
const char * simlib3::GetStarter (void)
 get the name of the method which is used to start currently used multistep method More...
 
void simlib3::InstallBreak (void(*f)())
 InstallBreak — set function for checking if user breaks simulation. More...
 

Detailed Description

Function Documentation

◆ GetMethod()

const char* simlib3::GetMethod ( void  )
inline

get the name of the method which is used

Definition at line 1249 of file simlib.h.

References simlib3::IntegrationMethod::GetMethod().

◆ GetStarter() [1/2]

const char* simlib3::GetStarter ( const char *  name)
inline

get the name of the method which is used to start given multistep method

Definition at line 1270 of file simlib.h.

References simlib3::MultiStepMethod::GetStarter().

Referenced by simlib3::MultiStepMethod::IsSingleStep().

◆ GetStarter() [2/2]

const char* simlib3::GetStarter ( void  )
inline

get the name of the method which is used to start currently used multistep method

Definition at line 1278 of file simlib.h.

References simlib3::IntegrationMethod::GetMethod(), and simlib3::MultiStepMethod::GetStarter().

◆ InstallBreak()

void simlib3::InstallBreak ( void(*)()  f)

InstallBreak — set function for checking if user breaks simulation.

Parameters
fis called at each step of simulation f can call Stop() or Abort()

Definition at line 104 of file run.cc.

References simlib3::DEFINE_HOOK(), and INSTALL_HOOK.

Referenced by simlib3::Newton::Newton().

◆ SetMethod()

void simlib3::SetMethod ( const char *  name)
inline

select the integration method

Parameters
name"abm4", "euler", "fw", "rke"(default), "rkf3", "rkf5", "rkf8"

Definition at line 1242 of file simlib.h.

References simlib3::IntegrationMethod::SetMethod().

Referenced by simlib3::IntegrationMethod::IntegrationDone().

◆ SetStarter() [1/2]

void simlib3::SetStarter ( const char *  name,
const char *  slave_name 
)
inline

set the method which will be used to start given multistep method

Definition at line 1256 of file simlib.h.

References simlib3::MultiStepMethod::SetStarter().

Referenced by simlib3::MultiStepMethod::IsSingleStep().

◆ SetStarter() [2/2]

void simlib3::SetStarter ( const char *  slave_name)
inline

set the method which will be used to start currently used multistep method

Definition at line 1263 of file simlib.h.

References simlib3::IntegrationMethod::GetMethod(), and simlib3::MultiStepMethod::SetStarter().