Ascent  0.1.1
An open source architecture for time-based simulations.
asc::Simulator Class Reference

Public Member Functions

 Simulator (size_t sim)
 
bool setError (const std::string &description)
 
bool run (const double dt, const double tend)
 
bool run ()
 
bool sample ()
 
bool sample (double sdt)
 
bool event (double t_event)
 
void directErase (bool b)
 
void setup (const double dt)
 
void init ()
 
void update ()
 
void postcalc ()
 
void check ()
 
void report ()
 
void reset ()
 
void tracker ()
 
void createFiles ()
 
void propagateStates ()
 
void updateClock ()
 
void adaptiveCalc ()
 
void changeTimeStep ()
 
void recursiveDelete (const size_t n_prev)
 
void deleteModules ()
 
void integrationTolerance (double tolerance)
 
void addStopper (std::shared_ptr< Module > &module)
 
template<typename T >
void addStopper (Link< T > &module)
 
template<typename T , typename... Trest>
void addStopper (Link< T > &first, Trest &...rest)
 
void runStoppers ()
 

Public Attributes

ChaiEngine chai
 
bool track_time = false
 
std::vector< double > t_hist
 
bool error = false
 
std::vector< std::string > error_descriptions
 
bool print_errors = true
 
bool stop_simulation = false
 
const size_t sim
 
module_map modules
 
module_map inits
 
module_map updates
 
module_map postcalcs
 
module_map checks
 
module_map reports
 
module_map resets
 
module_map propagate
 
module_map trackers
 
Phase phase = Phase::setup
 
bool time_advanced = false
 
std::vector< std::shared_ptr< Module > > to_delete
 
std::unique_ptr< Stateintegrator
 
Stepper stepper
 
bool tick0 = true
 
double EPS = 1e-8
 
bool tickfirst = true
 
bool ticklast = false
 
double dtp {}
 
double dt {}
 
double dt_change {}
 
bool change_dt = false
 
double t {}
 
double t1 {}
 
double tend {}
 
size_t kpass {}
 
bool integrator_initialized = false
 
std::vector< std::shared_ptr< Stopper > > stoppers
 

Static Public Attributes

static std::map< std::string, std::shared_ptr< Module > > tracking
 

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