Types in FMI Import/Core .jl
FMIBase.FMU
— TypeFMU
The abstract type for FMUs (FMI 2 & 3).
FMIBase.FMUInstance
— TypeFMUInstance
An instance of a FMU. This was called component
in FMI2, but was corrected to instance
in FMI3.
FMIBase.FMUSolution
— TypeThe mutable struct representing a specific Solution of a FMI2 FMU.
FMIBase.FMUEvent
— TypeContainer for event related information.
FMIBase.FMUSnapshot
— TypeToDo
FMIBase.FMUExecutionConfiguration
— TypeA mutable struct representing the excution configuration of a FMU. For FMUs that have issues with calls like fmi2Reset
or fmi2FreeInstance
, this is pretty useful.
FMIBase.FMULogLevel
— TypeLog levels for non-standard printing of infos, warnings and errors.
FMIBase.FMUInputFunction
— TypeFMUInputFunction(inputFunction, vrs)
Struct container for inplace input functions for FMUs.
Arguments
inputFunction
: The input function (inplace) that gets called when new inputs are needed, must match one of the patterns described under Input function patterns.vrs::AbstractVector
: A vector of value refernces to be set by the input function
Input function patterns
Available input patterns are [c
: current component, u
: current state ,t
: current time, returning array of values to be passed to fmi2SetReal(..., inputValueReferences, inputFunction(...))
or fmi3SetFloat64
]:
inputFunction(t::Real, u::AbstractVector{<:Real})
inputFunction(c::Union{FMUInstance, Nothing}, t::Real, u::AbstractVector{<:Real})
inputFunction(c::Union{FMUInstance, Nothing}, x::AbstractVector{<:Real}, u::AbstractVector{<:Real})
inputFunction(x::AbstractVector{<:Real}, t::Real, u::AbstractVector{<:Real})
inputFunction(c::Union{FMUInstance, Nothing}, x::AbstractVector{<:Real}, t::Real, u::AbstractVector{<:Real})