FMI Library: part of JModelica.org
Macros | Typedefs | Enumerations | Functions

Macros

#define FMI2_ME_CAPABILITIES(H)
 List of capability flags for ModelExchange. More...
 
#define FMI2_CS_CAPABILITIES(H)
 List of capability flags for CoSimulation. More...
 
#define FMI2_SI_BASE_UNITS(H)   H(kg) H(m) H(s) H(A) H(K) H(mol) H(cd) H(rad)
 List of SI base units used in Unit defitions. More...
 

Typedefs

typedef enum fmi2_variable_naming_convension_enu_t fmi2_variable_naming_convension_enu_t
 Naming convention for the variables in XML file. More...
 
typedef enum fmi2_fmu_kind_enu_t fmi2_fmu_kind_enu_t
 FMU 2.0 kinds. More...
 
typedef enum fmi2_variability_enu_t fmi2_variability_enu_t
 Variability property for variables. More...
 
typedef enum fmi2_causality_enu_t fmi2_causality_enu_t
 Causality property for variables. More...
 
typedef enum fmi2_initial_enu_t fmi2_initial_enu_t
 Initial property for variables. More...
 
typedef enum fmi2_variable_alias_kind_enu_t fmi2_variable_alias_kind_enu_t
 Alias property for variables. More...
 
typedef enum fmi2_base_type_enu_t fmi2_base_type_enu_t
 Base types used in type definitions. More...
 
typedef enum fmi2_capabilities_enu_t fmi2_capabilities_enu_t
 Capability flags for ModelExchange and CoSimulation. More...
 
typedef enum fmi2_SI_base_units_enu_t fmi2_SI_base_units_enu_t
 SI base units used in Unit defitions. More...
 
typedef enum fmi2_dependency_factor_kind_enu_t fmi2_dependency_factor_kind_enu_t
 Dependency factor kinds are used as part of ModelStructure definition. More...
 

Enumerations

enum  fmi2_variable_naming_convension_enu_t { fmi2_naming_enu_flat, fmi2_naming_enu_structured, fmi2_naming_enu_unknown }
 Naming convention for the variables in XML file. More...
 
enum  fmi2_fmu_kind_enu_t { fmi2_fmu_kind_unknown = 0, fmi2_fmu_kind_me = 1, fmi2_fmu_kind_cs = 2, fmi2_fmu_kind_me_and_cs = 3 }
 FMU 2.0 kinds. More...
 
enum  fmi2_variability_enu_t {
  fmi2_variability_enu_constant = 0, fmi2_variability_enu_fixed = 1, fmi2_variability_enu_tunable = 2, fmi2_variability_enu_discrete = 3,
  fmi2_variability_enu_continuous = 4, fmi2_variability_enu_unknown = 5
}
 Variability property for variables. More...
 
enum  fmi2_causality_enu_t {
  fmi2_causality_enu_parameter = 0, fmi2_causality_enu_calculated_parameter = 1, fmi2_causality_enu_input = 2, fmi2_causality_enu_output = 3,
  fmi2_causality_enu_local = 4, fmi2_causality_enu_independent = 5, fmi2_causality_enu_unknown = 6
}
 Causality property for variables. More...
 
enum  fmi2_initial_enu_t { fmi2_initial_enu_exact, fmi2_initial_enu_approx, fmi2_initial_enu_calculated, fmi2_initial_enu_unknown }
 Initial property for variables. More...
 
enum  fmi2_variable_alias_kind_enu_t { fmi2_variable_is_not_alias = 0, fmi2_variable_is_alias = 1 }
 Alias property for variables. More...
 
enum  fmi2_base_type_enu_t {
  fmi2_base_type_real, fmi2_base_type_int, fmi2_base_type_bool, fmi2_base_type_str,
  fmi2_base_type_enum
}
 Base types used in type definitions. More...
 
enum  fmi2_capabilities_enu_t { fmi2_capabilities_Num }
 Capability flags for ModelExchange and CoSimulation. More...
 
enum  fmi2_SI_base_units_enu_t { fmi2_SI_base_units_Num }
 SI base units used in Unit defitions. More...
 
enum  fmi2_dependency_factor_kind_enu_t {
  fmi2_dependency_factor_kind_dependent = 0, fmi2_dependency_factor_kind_constant, fmi2_dependency_factor_kind_fixed, fmi2_dependency_factor_kind_tunable,
  fmi2_dependency_factor_kind_discrete, fmi2_dependency_factor_kind_num
}
 Dependency factor kinds are used as part of ModelStructure definition. More...
 

Functions

FMILIB_EXPORT const charfmi2_naming_convention_to_string (fmi2_variable_naming_convension_enu_t convention)
 Convert a fmi2_variable_naming_convension_enu_t constant into string. More...
 
FMILIB_EXPORT const charfmi2_fmu_kind_to_string (fmi2_fmu_kind_enu_t kind)
 Convert a fmi2_fmu_kind_enu_t constant into string. More...
 
FMILIB_EXPORT const charfmi2_variability_to_string (fmi2_variability_enu_t v)
 Convert a fmi2_variability_enu_t constant into string. More...
 
FMILIB_EXPORT const charfmi2_causality_to_string (fmi2_causality_enu_t c)
 Convert a fmi2_causality_enu_t constant into string. More...
 
FMILIB_EXPORT const charfmi2_initial_to_string (fmi2_initial_enu_t c)
 Convert a fmi2_initial_enu_t constant into string. More...
 
FMILIB_EXPORT fmi2_initial_enu_t fmi2_get_default_initial (fmi2_variability_enu_t v, fmi2_causality_enu_t c)
 Get default initial attribute value for the given variability and causality combination. More...
 
FMILIB_EXPORT fmi2_initial_enu_t fmi2_get_valid_initial (fmi2_variability_enu_t v, fmi2_causality_enu_t c, fmi2_initial_enu_t i)
 Check if the combination of variability, causality and initial is valid. More...
 
FMILIB_EXPORT const charfmi2_base_type_to_string (fmi2_base_type_enu_t bt)
 Convert base type constant to string. More...
 
FMILIB_EXPORT const charfmi2_capability_to_string (fmi2_capabilities_enu_t id)
 Convert capability flag to a string. More...
 
FMILIB_EXPORT const charfmi2_SI_base_unit_to_string (fmi2_SI_base_units_enu_t id)
 Convert SI base unit ID a string. More...
 
FMILIB_EXPORT size_t fmi2_SI_base_unit_exp_to_string (const int exp[fmi2_SI_base_units_Num], size_t bufSize, char buf[])
 Convert a list of SI base unit exponents (corresponding to the IDs from fmi2_SI_base_units_enu_t) to a string of the form kg*m^2/s^2. Prints '-' if all the exponents are zero. More...
 
FMILIB_EXPORT const charfmi2_dependency_factor_kind_to_string (fmi2_dependency_factor_kind_enu_t fc)
 Convert dependency factor kind constant to string. More...
 

Detailed Description

Macro Definition Documentation

#define FMI2_ME_CAPABILITIES (   H)
Value:
H(needsExecutionTool) \
H(completedIntegratorStepNotNeeded) \
H(canBeInstantiatedOnlyOncePerProcess) \
H(canNotUseMemoryManagementFunctions) \
H(canGetAndSetFMUstate) \
H(canSerializeFMUstate) \
H(providesDirectionalDerivatives)\
H(completedEventIterationIsProvided)

List of capability flags for ModelExchange.

Definition at line 134 of file fmi2_enums.h.

#define FMI2_CS_CAPABILITIES (   H)
Value:
H(needsExecutionTool) \
H(canHandleVariableCommunicationStepSize) \
H(canInterpolateInputs) \
H(maxOutputDerivativeOrder) \
H(canRunAsynchronuously) \
H(canBeInstantiatedOnlyOncePerProcess) \
H(canNotUseMemoryManagementFunctions) \
H(canGetAndSetFMUstate) \
H(canSerializeFMUstate) \
H(providesDirectionalDerivatives)

List of capability flags for CoSimulation.

Definition at line 145 of file fmi2_enums.h.

#define FMI2_SI_BASE_UNITS (   H)    H(kg) H(m) H(s) H(A) H(K) H(mol) H(cd) H(rad)

List of SI base units used in Unit defitions.

Definition at line 173 of file fmi2_enums.h.

Typedef Documentation

Naming convention for the variables in XML file.

FMU 2.0 kinds.

Variability property for variables.

Causality property for variables.

Initial property for variables.

Alias property for variables.

Base types used in type definitions.

Capability flags for ModelExchange and CoSimulation.

SI base units used in Unit defitions.

Dependency factor kinds are used as part of ModelStructure definition.

Enumeration Type Documentation

Naming convention for the variables in XML file.

Enumerator
fmi2_naming_enu_flat 
fmi2_naming_enu_structured 
fmi2_naming_enu_unknown 

Definition at line 38 of file fmi2_enums.h.

FMU 2.0 kinds.

Enumerator
fmi2_fmu_kind_unknown 
fmi2_fmu_kind_me 
fmi2_fmu_kind_cs 
fmi2_fmu_kind_me_and_cs 

Definition at line 49 of file fmi2_enums.h.

Variability property for variables.

Enumerator
fmi2_variability_enu_constant 
fmi2_variability_enu_fixed 
fmi2_variability_enu_tunable 
fmi2_variability_enu_discrete 
fmi2_variability_enu_continuous 
fmi2_variability_enu_unknown 

Definition at line 61 of file fmi2_enums.h.

Causality property for variables.

Enumerator
fmi2_causality_enu_parameter 
fmi2_causality_enu_calculated_parameter 
fmi2_causality_enu_input 
fmi2_causality_enu_output 
fmi2_causality_enu_local 
fmi2_causality_enu_independent 
fmi2_causality_enu_unknown 

Definition at line 74 of file fmi2_enums.h.

Initial property for variables.

Enumerator
fmi2_initial_enu_exact 
fmi2_initial_enu_approx 
fmi2_initial_enu_calculated 
fmi2_initial_enu_unknown 

Definition at line 88 of file fmi2_enums.h.

Alias property for variables.

Enumerator
fmi2_variable_is_not_alias 
fmi2_variable_is_alias 

Definition at line 112 of file fmi2_enums.h.

Base types used in type definitions.

Enumerator
fmi2_base_type_real 
fmi2_base_type_int 
fmi2_base_type_bool 
fmi2_base_type_str 
fmi2_base_type_enum 

Definition at line 118 of file fmi2_enums.h.

Capability flags for ModelExchange and CoSimulation.

Enumerator
fmi2_capabilities_Num 

Definition at line 158 of file fmi2_enums.h.

SI base units used in Unit defitions.

Enumerator
fmi2_SI_base_units_Num 

Definition at line 177 of file fmi2_enums.h.

Dependency factor kinds are used as part of ModelStructure definition.

Enumerator
fmi2_dependency_factor_kind_dependent 
fmi2_dependency_factor_kind_constant 
fmi2_dependency_factor_kind_fixed 
fmi2_dependency_factor_kind_tunable 
fmi2_dependency_factor_kind_discrete 
fmi2_dependency_factor_kind_num 

Definition at line 201 of file fmi2_enums.h.

Function Documentation

FMILIB_EXPORT const char* fmi2_naming_convention_to_string ( fmi2_variable_naming_convension_enu_t  convention)

Convert a fmi2_variable_naming_convension_enu_t constant into string.

FMILIB_EXPORT const char* fmi2_fmu_kind_to_string ( fmi2_fmu_kind_enu_t  kind)

Convert a fmi2_fmu_kind_enu_t constant into string.

FMILIB_EXPORT const char* fmi2_variability_to_string ( fmi2_variability_enu_t  v)

Convert a fmi2_variability_enu_t constant into string.

FMILIB_EXPORT const char* fmi2_causality_to_string ( fmi2_causality_enu_t  c)

Convert a fmi2_causality_enu_t constant into string.

FMILIB_EXPORT const char* fmi2_initial_to_string ( fmi2_initial_enu_t  c)

Convert a fmi2_initial_enu_t constant into string.

Get default initial attribute value for the given variability and causality combination.

Returns
The default initial attribute or fmi2_initial_enu_unknown if combination of causality and variability is not valid.

Check if the combination of variability, causality and initial is valid.

Returns
Same initial as submitted if the combination is valid. Otherwise, same as fmi2_get_default_initial.
FMILIB_EXPORT const char* fmi2_base_type_to_string ( fmi2_base_type_enu_t  bt)

Convert base type constant to string.

Parameters
btBase type identifier.
Returns
Corresponding base type name.
FMILIB_EXPORT const char* fmi2_capability_to_string ( fmi2_capabilities_enu_t  id)

Convert capability flag to a string.

Parameters
idCapability flag ID.
Returns
Name of the flag or Unknown if the id is out of range.
FMILIB_EXPORT const char* fmi2_SI_base_unit_to_string ( fmi2_SI_base_units_enu_t  id)

Convert SI base unit ID a string.

Parameters
idSI base unit ID.
Returns
Name of the base unit or "unknown" if the id is out of range.
FMILIB_EXPORT size_t fmi2_SI_base_unit_exp_to_string ( const int  exp[fmi2_SI_base_units_Num],
size_t  bufSize,
char  buf[] 
)

Convert a list of SI base unit exponents (corresponding to the IDs from fmi2_SI_base_units_enu_t) to a string of the form kg*m^2/s^2. Prints '-' if all the exponents are zero.

Parameters
expAn array of SI base units exponents.
bufSizeSize of the buffer to store the string.
bufBuffer to store the string
Returns
Required size of the buffer to store the string. This most likely be under [8*fmi2_SI_base_units_Num]. If the return value is larger or equal than bufSize than the string could not be fitted in the buffer.
FMILIB_EXPORT const char* fmi2_dependency_factor_kind_to_string ( fmi2_dependency_factor_kind_enu_t  fc)

Convert dependency factor kind constant to string.

Parameters
fcDependency factor kind identifier.
Returns
Corresponding factor kind as string.