pub trait FmiInterfaceType: Sized {
// Required methods
fn model_identifier(&self) -> &str;
fn needs_execution_tool(&self) -> Option<bool>;
fn can_be_instantiated_only_once_per_process(&self) -> Option<bool>;
fn can_get_and_set_fmu_state(&self) -> Option<bool>;
fn can_serialize_fmu_state(&self) -> Option<bool>;
fn provides_directional_derivatives(&self) -> Option<bool>;
fn provides_adjoint_derivatives(&self) -> Option<bool>;
fn provides_per_element_dependencies(&self) -> Option<bool>;
}Expand description
A trait for FMI interface types (Model Exchange, Co-Simulation, Scheduled Execution) and versions
Required Methods§
Sourcefn model_identifier(&self) -> &str
fn model_identifier(&self) -> &str
Returns the model identifier
Sourcefn needs_execution_tool(&self) -> Option<bool>
fn needs_execution_tool(&self) -> Option<bool>
Returns true if the FMU needs an execution tool
Sourcefn can_be_instantiated_only_once_per_process(&self) -> Option<bool>
fn can_be_instantiated_only_once_per_process(&self) -> Option<bool>
Returns true if the FMU can be instantiated only once per process
Sourcefn can_get_and_set_fmu_state(&self) -> Option<bool>
fn can_get_and_set_fmu_state(&self) -> Option<bool>
Returns true if the FMU can get and set FMU state
Sourcefn can_serialize_fmu_state(&self) -> Option<bool>
fn can_serialize_fmu_state(&self) -> Option<bool>
Returns true if the FMU can serialize FMU state
Sourcefn provides_directional_derivatives(&self) -> Option<bool>
fn provides_directional_derivatives(&self) -> Option<bool>
Returns true if the FMU provides directional derivatives
Sourcefn provides_adjoint_derivatives(&self) -> Option<bool>
fn provides_adjoint_derivatives(&self) -> Option<bool>
Returns true if the FMU provides adjoint derivatives (only FMI 3.0)
Sourcefn provides_per_element_dependencies(&self) -> Option<bool>
fn provides_per_element_dependencies(&self) -> Option<bool>
Returns true if the FMU provides per element dependencies (only FMI 3.0)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.