helics  3.5.2
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::REENTRANT = HELICS_FLAG_REENTRANT , 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 , helics::defs::CALLBACK_FEDERATE = HELICS_FLAG_CALLBACK_FEDERATE , helics::defs::ALLOW_REMOTE_CONTROL = HELICS_FLAG_ALLOW_REMOTE_CONTROL ,
  helics::defs::DISABLE_REMOTE_CONTROL = HELICS_FLAG_DISABLE_REMOTE_CONTROL , helics::defs::USE_JSON_SERIALIZATION = HELICS_FLAG_USE_JSON_SERIALIZATION , helics::defs::AUTOMATED_TIME_REQUEST = HELICS_FLAG_AUTOMATED_TIME_REQUEST
}
 
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 , CURRENT_ITERATION = HELICS_PROPERTY_INT_CURRENT_ITERATION , MAX_ITERATIONS = HELICS_PROPERTY_INT_MAX_ITERATIONS , LOG_LEVEL = HELICS_PROPERTY_INT_LOG_LEVEL ,
  STOPTIME = HELICS_PROPERTY_TIME_STOPTIME , FILE_LOG_LEVEL = HELICS_PROPERTY_INT_FILE_LOG_LEVEL , CONSOLE_LOG_LEVEL = HELICS_PROPERTY_INT_CONSOLE_LOG_LEVEL , LOG_BUFFER = HELICS_PROPERTY_INT_LOG_BUFFER ,
  INDEX_GROUP = HELICS_PROPERTY_INT_INDEX_GROUP
}
 
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 , RECONNECTABLE = HELICS_HANDLE_OPTION_RECONNECTABLE ,
  RECEIVE_ONLY = HELICS_HANDLE_OPTION_RECEIVE_ONLY , SEND_ONLY = HELICS_HANDLE_OPTION_SOURCE_ONLY , 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 , TIME_RESTRICTED = HELICS_HANDLE_OPTION_TIME_RESTRICTED
}
 

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

REENTRANT 

flag indicating that a federate is observe only

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

CALLBACK_FEDERATE 

flag indicating the federate is a callback federate

ALLOW_REMOTE_CONTROL 

flag indicating that the federate/core/broker should allow remote commands affecting operations

DISABLE_REMOTE_CONTROL 

flag indicating that the federate/core/broker should NOT allow remote commands affecting operations

USE_JSON_SERIALIZATION 

flag indicating that a federate should use json serialization

AUTOMATED_TIME_REQUEST 

flag indicating that a federate should have an automated time request

◆ 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