helics  3.0.1
Namespaces | Enumerations
helics_definitions.hpp File Reference

base helics enumerations for C++ API's, a namespace wrapper for the definitions defined in helics_enums.h More...

#include "helics/helics_enums.h"

Go to the source code of this file.

Namespaces

 helics
 the main namespace for the helics co-simulation library User functions will be in the helics namespace with internal functions possible in a lower level namespace
 
 defs
 

Enumerations

enum  helics::defs::Flags : int32_t {
  helics::defs::OBSERVER = HELICS_FLAG_OBSERVER, helics::defs::UNINTERRUPTIBLE = HELICS_FLAG_UNINTERRUPTIBLE, helics::defs::INTERRUPTIBLE = HELICS_FLAG_INTERRUPTIBLE, helics::defs::SLOW_RESPONDING = HELICS_FLAG_SLOW_RESPONDING,
  helics::defs::TERMINATE_ON_ERROR = HELICS_FLAG_TERMINATE_ON_ERROR, helics::defs::SOURCE_ONLY = HELICS_FLAG_SOURCE_ONLY, helics::defs::ONLY_TRANSMIT_ON_CHANGE = HELICS_FLAG_ONLY_TRANSMIT_ON_CHANGE, helics::defs::ONLY_UPDATE_ON_CHANGE = HELICS_FLAG_ONLY_UPDATE_ON_CHANGE,
  helics::defs::WAIT_FOR_CURRENT_TIME_UPDATE = HELICS_FLAG_WAIT_FOR_CURRENT_TIME_UPDATE, helics::defs::RESTRICTIVE_TIME_POLICY = HELICS_FLAG_RESTRICTIVE_TIME_POLICY, helics::defs::ROLLBACK = HELICS_FLAG_ROLLBACK, helics::defs::FORWARD_COMPUTE = HELICS_FLAG_FORWARD_COMPUTE,
  helics::defs::REALTIME = HELICS_FLAG_REALTIME, helics::defs::SINGLE_THREAD_FEDERATE = HELICS_FLAG_SINGLE_THREAD_FEDERATE, helics::defs::DELAY_INIT_ENTRY = HELICS_FLAG_DELAY_INIT_ENTRY, helics::defs::ENABLE_INIT_ENTRY = HELICS_FLAG_ENABLE_INIT_ENTRY,
  helics::defs::IGNORE_TIME_MISMATCH_WARNINGS = HELICS_FLAG_IGNORE_TIME_MISMATCH_WARNINGS, helics::defs::FORCE_LOGGING_FLUSH = HELICS_FLAG_FORCE_LOGGING_FLUSH, helics::defs::DEBUGGING = HELICS_FLAG_DEBUGGING, helics::defs::DUMPLOG = HELICS_FLAG_DUMPLOG,
  helics::defs::CONNECTIONS_REQUIRED = HELICS_HANDLE_OPTION_CONNECTION_REQUIRED, helics::defs::CONNECTIONS_OPTIONAL = HELICS_HANDLE_OPTION_CONNECTION_OPTIONAL, helics::defs::STRICT_INPUT_TYPE_CHECKING = HELICS_HANDLE_OPTION_STRICT_TYPE_CHECKING, helics::defs::STRICT_CONFIG_CHECKING = HELICS_FLAG_STRICT_CONFIG_CHECKING,
  helics::defs::IGNORE_INPUT_UNIT_MISMATCH = HELICS_HANDLE_OPTION_IGNORE_UNIT_MISMATCH, helics::defs::EVENT_TRIGGERED = HELICS_FLAG_EVENT_TRIGGERED, helics::defs::PROFILING = HELICS_FLAG_PROFILING, helics::defs::PROFILING_MARKER = HELICS_FLAG_PROFILING_MARKER,
  helics::defs::LOCAL_PROFILING_CAPTURE = HELICS_FLAG_LOCAL_PROFILING_CAPTURE
}
 
enum  helics::defs::Errors : int32_t {
  helics::defs::OK = HELICS_OK, helics::defs::REGISTRATION_FAILURE = HELICS_ERROR_REGISTRATION_FAILURE, helics::defs::CONNECTION_FAILURE = HELICS_ERROR_CONNECTION_FAILURE, helics::defs::INVALID_OBJECT = HELICS_ERROR_INVALID_OBJECT,
  helics::defs::INVALID_ARGUMENT = HELICS_ERROR_INVALID_ARGUMENT, helics::defs::DISCARD = HELICS_ERROR_DISCARD, helics::defs::SYSTEM_FAILURE = HELICS_ERROR_SYSTEM_FAILURE, helics::defs::WARNING = HELICS_WARNING,
  helics::defs::INVALID_STATE_TRANSITION = HELICS_ERROR_INVALID_STATE_TRANSITION, helics::defs::INVALID_FUNCTION_CALL = HELICS_ERROR_INVALID_FUNCTION_CALL, helics::defs::EXECUTION_FAILURE = HELICS_ERROR_EXECUTION_FAILURE, helics::defs::OTHER = HELICS_ERROR_OTHER
}
 
enum  helics::defs::Properties : int32_t {
  TIME_DELTA = HELICS_PROPERTY_TIME_DELTA, PERIOD = HELICS_PROPERTY_TIME_PERIOD, OFFSET = HELICS_PROPERTY_TIME_OFFSET, RT_LAG = HELICS_PROPERTY_TIME_RT_LAG,
  RT_LEAD = HELICS_PROPERTY_TIME_RT_LEAD, RT_TOLERANCE = HELICS_PROPERTY_TIME_RT_TOLERANCE, GRANT_TIMEOUT = HELICS_PROPERTY_TIME_GRANT_TIMEOUT, INPUT_DELAY = HELICS_PROPERTY_TIME_INPUT_DELAY,
  OUTPUT_DELAY = HELICS_PROPERTY_TIME_OUTPUT_DELAY, MAX_ITERATIONS = HELICS_PROPERTY_INT_MAX_ITERATIONS, LOG_LEVEL = HELICS_PROPERTY_INT_LOG_LEVEL, FILE_LOG_LEVEL = HELICS_PROPERTY_INT_FILE_LOG_LEVEL,
  CONSOLE_LOG_LEVEL = HELICS_PROPERTY_INT_CONSOLE_LOG_LEVEL
}
 
enum  helics::defs::Options : int32_t {
  CONNECTION_REQUIRED = HELICS_HANDLE_OPTION_CONNECTION_REQUIRED, CONNECTION_OPTIONAL = HELICS_HANDLE_OPTION_CONNECTION_OPTIONAL, SINGLE_CONNECTION_ONLY = HELICS_HANDLE_OPTION_SINGLE_CONNECTION_ONLY, MULTIPLE_CONNECTIONS_ALLOWED = HELICS_HANDLE_OPTION_MULTIPLE_CONNECTIONS_ALLOWED,
  HANDLE_ONLY_TRANSMIT_ON_CHANGE = HELICS_HANDLE_OPTION_ONLY_TRANSMIT_ON_CHANGE, HANDLE_ONLY_UPDATE_ON_CHANGE = HELICS_HANDLE_OPTION_ONLY_UPDATE_ON_CHANGE, BUFFER_DATA = HELICS_HANDLE_OPTION_BUFFER_DATA, IGNORE_INTERRUPTS = HELICS_HANDLE_OPTION_IGNORE_INTERRUPTS,
  STRICT_TYPE_CHECKING = HELICS_HANDLE_OPTION_STRICT_TYPE_CHECKING, IGNORE_UNIT_MISMATCH = HELICS_HANDLE_OPTION_IGNORE_UNIT_MISMATCH, MULTI_INPUT_HANDLING_METHOD = HELICS_HANDLE_OPTION_MULTI_INPUT_HANDLING_METHOD, INPUT_PRIORITY_LOCATION = HELICS_HANDLE_OPTION_INPUT_PRIORITY_LOCATION,
  CLEAR_PRIORITY_LIST = HELICS_HANDLE_OPTION_CLEAR_PRIORITY_LIST, CONNECTIONS = HELICS_HANDLE_OPTION_CONNECTIONS
}
 

Detailed Description

base helics enumerations for C++ API's, a namespace wrapper for the definitions defined in helics_enums.h

Enumeration Type Documentation

◆ Errors

enum helics::defs::Errors : int32_t

potential errors that might be generated by a helics federate/core/broker

Enumerator
OK 

the function executed successfully

REGISTRATION_FAILURE 

registration has failed

CONNECTION_FAILURE 

the operation to connect has failed

INVALID_OBJECT 

indicator that the object used was not a valid object

INVALID_ARGUMENT 

the parameter passed was invalid and unable to be used

DISCARD 

the input was discarded and not used for some reason

SYSTEM_FAILURE 

the federate has terminated unexpectedly and the call cannot be completed

WARNING 

the function issued a warning of some kind

INVALID_STATE_TRANSITION 

error issued when an invalid state transition occurred

INVALID_FUNCTION_CALL 

the call made was invalid in the present state of the calling object

EXECUTION_FAILURE 

the function execution has failed

OTHER 

the function produced a helics error of some other type

◆ Flags

enum helics::defs::Flags : int32_t

flags that can be used to set different options for a federate

Enumerator
OBSERVER 

flag indicating that a federate is observe only

UNINTERRUPTIBLE 

flag indicating that a federate can only return requested times

INTERRUPTIBLE 

flag indicating that a federate can be interrupted

SLOW_RESPONDING 

flag specifying that a federate may be slow to respond to pings If the federate goes offline there is no good way to detect it so use with caution

TERMINATE_ON_ERROR 

flag specifying that a federate encountering an internal error should cause and abort for the entire co-simulation

SOURCE_ONLY 

flag indicating that a federate/interface is a signal generator only

ONLY_TRANSMIT_ON_CHANGE 

flag indicating a federate/interface should only transmit values if they have changed(binary equivalence)

ONLY_UPDATE_ON_CHANGE 

flag indicating a federate/interface should only trigger an update if a value has changed (binary equivalence)

WAIT_FOR_CURRENT_TIME_UPDATE 

flag indicating a federate should only grant time if all other federates have already passed the requested time

RESTRICTIVE_TIME_POLICY 

flag indicating a federate should only operate on a restrictive time policy which means no second order projections and potentially very slow time advancement on gap conditions. Should only be used in selective circumstances

ROLLBACK 

flag indicating that a federate has rollback capability

FORWARD_COMPUTE 

flag indicating that a federate performs forward computation and does internal rollback

REALTIME 

flag indicating that a federate needs to run in real time

SINGLE_THREAD_FEDERATE 

flag indicating that the federate will only interact on a single thread

DELAY_INIT_ENTRY 

used to delay a core from entering initialization mode even if it would otherwise be ready

ENABLE_INIT_ENTRY 

used to clear the HELICS_DELAY_INIT_ENTRY flag in cores

IGNORE_TIME_MISMATCH_WARNINGS 

used to not display warnings on mismatched requested times

FORCE_LOGGING_FLUSH 

force logging flush

DEBUGGING 

user debugging mode

DUMPLOG 

dump the logs to a file at the end

CONNECTIONS_REQUIRED 

make all connections required

CONNECTIONS_OPTIONAL 

make all connections optional

STRICT_INPUT_TYPE_CHECKING 

make all inputs have strict type checking

STRICT_CONFIG_CHECKING 

be strict about config files

IGNORE_INPUT_UNIT_MISMATCH 

ignore mismatching units

EVENT_TRIGGERED 

flag indicating that a federate can only return requested times

PROFILING 

flag indicating that profiling should be active

PROFILING_MARKER 

trigger for a profiling marker

LOCAL_PROFILING_CAPTURE 

flag indicating that profiling should captured to federate log file

◆ Options

enum helics::defs::Options : int32_t

options for handles

◆ Properties

enum helics::defs::Properties : int32_t

integer and time properties that can be set for federates