Simulators¶
Continuous, discrete and hybrid simulation.
In namespace simulators
:
Continuous¶
In namespace continuous
:
Problem¶
#include<hysj/simulators/continuous/problem.hpp>
-
struct variables¶
-
-
std::vector<mathematics::expression_ids> dependent¶
-
std::vector<mathematics::expression_ids> dependent¶
-
struct problem¶
-
-
mathematics::equation_ids equations¶
-
mathematics::logical_expression_ids constraints¶
-
mathematics::equation_ids equations¶
Constraint Automaton¶
#include<hysj/simulators/continuous/constraint_automaton.hpp>
-
struct constraint_automaton¶
-
type state¶
-
type symbol¶
-
type symbols¶
-
type graph¶
-
mathematics::equation_ids equations¶
-
type state¶
-
constraint_automaton make_constraint_automaton(const problem&)¶
-
constraint_automaton::state start(const constraint_automaton&, const constraint_automaton::symbols&)¶
-
constraint_automaton::state advance(const constraint_automaton&, const constraint_automaton::state&, const constraint_automaton::symbol&)¶
-
bool is_active(const constraint_automaton&, const constraint_automaton::state&)¶
-
coroutines::builtin::generator<natural> active(const constraint_automaton&, const constraint_automaton::state&);¶
Solution¶
#include<hysj/simulators/continuous.hpp>
-
enum class event¶
-
enumerator init¶
-
enumerator start¶
-
enumerator step¶
-
enumerator stop¶
-
enumerator root¶
-
enumerator constraint¶
-
enumerator fail¶
-
enumerator init¶
-
struct tolerance¶
-
-
absolute_type absolute¶
-
absolute_type absolute¶
-
struct state¶
-
-
struct solution¶
-
constraint_automaton &constraints() const¶
-
constraint_automaton &constraints() const¶
Discrete¶
#include<hysj/simulators/discrete.hpp>
In namespace discrete
:
Automaton¶
#include<hysj/simulators/discrete/automaton.hpp>
-
struct partial_automaton¶
-
-
using location_map_type = std::unordered_map<location, graphs::builtin::vertex_id, location_hasher>¶
-
graph_type graph¶
-
location_map_type location_map¶
-
using location_map_type = std::unordered_map<location, graphs::builtin::vertex_id, location_hasher>¶
Problem¶
#include<hysj/simulators/discrete/problem.hpp>
-
struct problem¶
-
-
make_symbols_type make_symbols¶
-
make_target_type make_target¶
-
is_immediate_type is_immediate¶
-
make_symbols_type make_symbols¶
Solution¶
#include<hysj/simulators/discrete.hpp>
-
struct config¶
-
struct state¶
-
partial_automaton automaton¶
-
partial_automaton automaton¶
-
struct solution¶
-
Hybrid¶
#include<hysj/simulators/hybrid.hpp>
In namespace hybrid
:
-
struct config¶
-
-
continuous::config continuous¶
-
continuous::config continuous¶
-
struct valuation¶
-
-
continuous::config continuous¶
-
continuous::config continuous¶
-
using action = std::vector<std::pair<continuous::variable_index, mathematics::expression_id>>;¶
-
using actions = std::vector<action>¶
-
struct continuous_problem¶
-
using make_equations_type = std::function<mathematics::equation_ids(mathematics::program&, const discrete::location&)>¶
-
using make_constraint_type = std::function<mathematics::logical_expression_id(mathematics::program&, const discrete::location&, const discrete::symbol&)>¶
-
make_equations_type make_equations¶
-
make_constraint_type make_constraint¶
-
using make_equations_type = std::function<mathematics::equation_ids(mathematics::program&, const discrete::location&)>¶
-
struct problem¶
-
using make_action_type = std::function<action(mathematics::program&, const discrete::location&, const discrete::symbol&)>¶
-
continuous_problem continuous¶
-
make_action_type make_action¶
-
using make_action_type = std::function<action(mathematics::program&, const discrete::location&, const discrete::symbol&)>¶
-
struct solution¶
-
-
continuous::solution &continuous() const¶
-
continuous::solution &continuous() const¶